From 7360923b2d857fbc62f557829ee75c55351df9d9 Mon Sep 17 00:00:00 2001 From: Richard O'Dwyer Date: Wed, 16 Oct 2019 22:45:53 +0100 Subject: [PATCH] rm unwanted files in git --- .tox/.package.lock | 0 .tox/log/.lock | 0 .tox/log/GLOB-0.log | 54 - .tox/py37-normal/bin/activate | 84 - .tox/py37-normal/bin/activate.csh | 55 - .tox/py37-normal/bin/activate.fish | 102 - .tox/py37-normal/bin/activate.ps1 | 60 - .tox/py37-normal/bin/activate.xsh | 46 - .tox/py37-normal/bin/activate_this.py | 46 - .tox/py37-normal/bin/chardetect | 8 - .tox/py37-normal/bin/easy_install | 10 - .tox/py37-normal/bin/easy_install-3.7 | 10 - .tox/py37-normal/bin/pip | 10 - .tox/py37-normal/bin/pip3 | 10 - .tox/py37-normal/bin/pip3.7 | 10 - .tox/py37-normal/bin/python | 1 - .tox/py37-normal/bin/python-config | 78 - .tox/py37-normal/bin/python3 | 1 - .tox/py37-normal/bin/python3.7 | Bin 16133488 -> 0 bytes .tox/py37-normal/bin/wheel | 10 - .tox/py37-normal/include/python3.7m | 1 - .tox/py37-normal/lib/python3.7/LICENSE.txt | 1 - .tox/py37-normal/lib/python3.7/__future__.py | 1 - .tox/py37-normal/lib/python3.7/_bootlocale.py | 1 - .../lib/python3.7/_collections_abc.py | 1 - .../lib/python3.7/_dummy_thread.py | 1 - .tox/py37-normal/lib/python3.7/_weakrefset.py | 1 - .tox/py37-normal/lib/python3.7/abc.py | 1 - .tox/py37-normal/lib/python3.7/base64.py | 1 - .tox/py37-normal/lib/python3.7/bisect.py | 1 - .tox/py37-normal/lib/python3.7/codecs.py | 1 - .tox/py37-normal/lib/python3.7/collections | 1 - .../python3.7/config-3.7m-x86_64-linux-gnu | 1 - .tox/py37-normal/lib/python3.7/copy.py | 1 - .tox/py37-normal/lib/python3.7/copyreg.py | 1 - .../lib/python3.7/distutils/__init__.py | 134 - .../lib/python3.7/distutils/distutils.cfg | 6 - .tox/py37-normal/lib/python3.7/encodings | 1 - .tox/py37-normal/lib/python3.7/enum.py | 1 - .tox/py37-normal/lib/python3.7/fnmatch.py | 1 - .tox/py37-normal/lib/python3.7/functools.py | 1 - .tox/py37-normal/lib/python3.7/genericpath.py | 1 - .tox/py37-normal/lib/python3.7/hashlib.py | 1 - .tox/py37-normal/lib/python3.7/heapq.py | 1 - .tox/py37-normal/lib/python3.7/hmac.py | 1 - .tox/py37-normal/lib/python3.7/imp.py | 1 - .tox/py37-normal/lib/python3.7/importlib | 1 - .tox/py37-normal/lib/python3.7/io.py | 1 - .tox/py37-normal/lib/python3.7/keyword.py | 1 - .tox/py37-normal/lib/python3.7/lib-dynload | 1 - .tox/py37-normal/lib/python3.7/linecache.py | 1 - .tox/py37-normal/lib/python3.7/locale.py | 1 - .../lib/python3.7/no-global-site-packages.txt | 0 .tox/py37-normal/lib/python3.7/ntpath.py | 1 - .tox/py37-normal/lib/python3.7/operator.py | 1 - .../py37-normal/lib/python3.7/orig-prefix.txt | 1 - .tox/py37-normal/lib/python3.7/os.py | 1 - .tox/py37-normal/lib/python3.7/posixpath.py | 1 - .tox/py37-normal/lib/python3.7/random.py | 1 - .tox/py37-normal/lib/python3.7/re.py | 1 - .tox/py37-normal/lib/python3.7/reprlib.py | 1 - .tox/py37-normal/lib/python3.7/rlcompleter.py | 1 - .tox/py37-normal/lib/python3.7/shutil.py | 1 - .../site-packages/Crypto/Cipher/AES.py | 115 - .../site-packages/Crypto/Cipher/ARC2.py | 130 - .../site-packages/Crypto/Cipher/ARC4.py | 120 - .../site-packages/Crypto/Cipher/Blowfish.py | 121 - .../site-packages/Crypto/Cipher/CAST.py | 123 - .../site-packages/Crypto/Cipher/DES.py | 118 - .../site-packages/Crypto/Cipher/DES3.py | 133 - .../site-packages/Crypto/Cipher/PKCS1_OAEP.py | 255 - .../site-packages/Crypto/Cipher/PKCS1_v1_5.py | 226 - .../site-packages/Crypto/Cipher/XOR.py | 86 - .../_AES.cpython-37m-x86_64-linux-gnu.so | Bin 44240 -> 0 bytes .../_ARC2.cpython-37m-x86_64-linux-gnu.so | Bin 27504 -> 0 bytes .../_ARC4.cpython-37m-x86_64-linux-gnu.so | Bin 18632 -> 0 bytes .../_Blowfish.cpython-37m-x86_64-linux-gnu.so | Bin 35984 -> 0 bytes .../_CAST.cpython-37m-x86_64-linux-gnu.so | Bin 35880 -> 0 bytes .../_DES.cpython-37m-x86_64-linux-gnu.so | Bin 65072 -> 0 bytes .../_DES3.cpython-37m-x86_64-linux-gnu.so | Bin 65072 -> 0 bytes .../_XOR.cpython-37m-x86_64-linux-gnu.so | Bin 18664 -> 0 bytes .../site-packages/Crypto/Cipher/__init__.py | 83 - .../site-packages/Crypto/Cipher/blockalgo.py | 296 - .../site-packages/Crypto/Hash/HMAC.py | 212 - .../site-packages/Crypto/Hash/MD2.py | 91 - .../site-packages/Crypto/Hash/MD4.py | 91 - .../site-packages/Crypto/Hash/MD5.py | 97 - .../site-packages/Crypto/Hash/RIPEMD.py | 94 - .../site-packages/Crypto/Hash/SHA.py | 98 - .../site-packages/Crypto/Hash/SHA224.py | 95 - .../site-packages/Crypto/Hash/SHA256.py | 95 - .../site-packages/Crypto/Hash/SHA384.py | 96 - .../site-packages/Crypto/Hash/SHA512.py | 95 - .../Hash/_MD2.cpython-37m-x86_64-linux-gnu.so | Bin 18992 -> 0 bytes .../Hash/_MD4.cpython-37m-x86_64-linux-gnu.so | Bin 19096 -> 0 bytes ..._RIPEMD160.cpython-37m-x86_64-linux-gnu.so | Bin 23432 -> 0 bytes .../_SHA224.cpython-37m-x86_64-linux-gnu.so | Bin 19032 -> 0 bytes .../_SHA256.cpython-37m-x86_64-linux-gnu.so | Bin 19032 -> 0 bytes .../_SHA384.cpython-37m-x86_64-linux-gnu.so | Bin 23128 -> 0 bytes .../_SHA512.cpython-37m-x86_64-linux-gnu.so | Bin 23128 -> 0 bytes .../site-packages/Crypto/Hash/__init__.py | 56 - .../site-packages/Crypto/Hash/hashalgo.py | 116 - .../Crypto/Protocol/AllOrNothing.py | 320 - .../site-packages/Crypto/Protocol/Chaffing.py | 245 - .../site-packages/Crypto/Protocol/KDF.py | 123 - .../site-packages/Crypto/Protocol/__init__.py | 41 - .../site-packages/Crypto/PublicKey/DSA.py | 379 - .../site-packages/Crypto/PublicKey/ElGamal.py | 373 - .../site-packages/Crypto/PublicKey/RSA.py | 719 -- .../site-packages/Crypto/PublicKey/_DSA.py | 115 - .../site-packages/Crypto/PublicKey/_RSA.py | 81 - .../Crypto/PublicKey/__init__.py | 41 - .../Crypto/PublicKey/_slowmath.py | 187 - .../site-packages/Crypto/PublicKey/pubkey.py | 240 - .../Random/Fortuna/FortunaAccumulator.py | 171 - .../Crypto/Random/Fortuna/FortunaGenerator.py | 132 - .../Crypto/Random/Fortuna/SHAd256.py | 98 - .../Crypto/Random/Fortuna/__init__.py | 0 .../Crypto/Random/OSRNG/__init__.py | 40 - .../Crypto/Random/OSRNG/fallback.py | 46 - .../Crypto/Random/OSRNG/posix.py | 86 - .../Crypto/Random/OSRNG/rng_base.py | 88 - .../Crypto/Random/_UserFriendlyRNG.py | 230 - .../site-packages/Crypto/Random/__init__.py | 43 - .../site-packages/Crypto/Random/random.py | 142 - .../Crypto/SelfTest/Cipher/__init__.py | 48 - .../Crypto/SelfTest/Cipher/common.py | 399 - .../Crypto/SelfTest/Cipher/test_AES.py | 1433 --- .../Crypto/SelfTest/Cipher/test_ARC2.py | 124 - .../Crypto/SelfTest/Cipher/test_ARC4.py | 81 - .../Crypto/SelfTest/Cipher/test_Blowfish.py | 113 - .../Crypto/SelfTest/Cipher/test_CAST.py | 57 - .../Crypto/SelfTest/Cipher/test_DES.py | 339 - .../Crypto/SelfTest/Cipher/test_DES3.py | 333 - .../Crypto/SelfTest/Cipher/test_XOR.py | 72 - .../Crypto/SelfTest/Cipher/test_pkcs1_15.py | 174 - .../Crypto/SelfTest/Cipher/test_pkcs1_oaep.py | 372 - .../Crypto/SelfTest/Hash/__init__.py | 52 - .../Crypto/SelfTest/Hash/common.py | 197 - .../Crypto/SelfTest/Hash/test_HMAC.py | 223 - .../Crypto/SelfTest/Hash/test_MD2.py | 64 - .../Crypto/SelfTest/Hash/test_MD4.py | 64 - .../Crypto/SelfTest/Hash/test_MD5.py | 64 - .../Crypto/SelfTest/Hash/test_RIPEMD.py | 73 - .../Crypto/SelfTest/Hash/test_SHA.py | 64 - .../Crypto/SelfTest/Hash/test_SHA224.py | 65 - .../Crypto/SelfTest/Hash/test_SHA256.py | 96 - .../Crypto/SelfTest/Hash/test_SHA384.py | 63 - .../Crypto/SelfTest/Hash/test_SHA512.py | 60 - .../Crypto/SelfTest/Protocol/__init__.py | 41 - .../SelfTest/Protocol/test_AllOrNothing.py | 76 - .../Crypto/SelfTest/Protocol/test_KDF.py | 98 - .../Crypto/SelfTest/Protocol/test_chaffing.py | 74 - .../Crypto/SelfTest/Protocol/test_rfc1751.py | 62 - .../Crypto/SelfTest/PublicKey/__init__.py | 44 - .../Crypto/SelfTest/PublicKey/test_DSA.py | 244 - .../Crypto/SelfTest/PublicKey/test_ElGamal.py | 210 - .../Crypto/SelfTest/PublicKey/test_RSA.py | 415 - .../SelfTest/PublicKey/test_importKey.py | 345 - .../SelfTest/Random/Fortuna/__init__.py | 44 - .../Random/Fortuna/test_FortunaAccumulator.py | 189 - .../Random/Fortuna/test_FortunaGenerator.py | 83 - .../SelfTest/Random/Fortuna/test_SHAd256.py | 55 - .../Crypto/SelfTest/Random/OSRNG/__init__.py | 49 - .../SelfTest/Random/OSRNG/test_fallback.py | 48 - .../SelfTest/Random/OSRNG/test_generic.py | 48 - .../Crypto/SelfTest/Random/OSRNG/test_nt.py | 48 - .../SelfTest/Random/OSRNG/test_posix.py | 48 - .../SelfTest/Random/OSRNG/test_winrandom.py | 48 - .../Crypto/SelfTest/Random/__init__.py | 43 - .../SelfTest/Random/test__UserFriendlyRNG.py | 171 - .../Crypto/SelfTest/Random/test_random.py | 171 - .../SelfTest/Random/test_rpoolcompat.py | 55 - .../Crypto/SelfTest/Signature/__init__.py | 40 - .../SelfTest/Signature/test_pkcs1_15.py | 219 - .../SelfTest/Signature/test_pkcs1_pss.py | 446 - .../Crypto/SelfTest/Util/__init__.py | 44 - .../Crypto/SelfTest/Util/test_Counter.py | 165 - .../Crypto/SelfTest/Util/test_asn1.py | 293 - .../Crypto/SelfTest/Util/test_number.py | 295 - .../Crypto/SelfTest/Util/test_winrandom.py | 48 - .../site-packages/Crypto/SelfTest/__init__.py | 92 - .../Crypto/SelfTest/st_common.py | 62 - .../Crypto/Signature/PKCS1_PSS.py | 355 - .../Crypto/Signature/PKCS1_v1_5.py | 236 - .../Crypto/Signature/__init__.py | 31 - .../site-packages/Crypto/Util/Counter.py | 127 - .../site-packages/Crypto/Util/RFC1751.py | 365 - .../site-packages/Crypto/Util/__init__.py | 37 - .../_counter.cpython-37m-x86_64-linux-gnu.so | Bin 23424 -> 0 bytes .../site-packages/Crypto/Util/_number_new.py | 119 - .../site-packages/Crypto/Util/asn1.py | 286 - .../site-packages/Crypto/Util/number.py | 1456 --- .../site-packages/Crypto/Util/py3compat.py | 107 - .../site-packages/Crypto/Util/randpool.py | 82 - .../strxor.cpython-37m-x86_64-linux-gnu.so | Bin 17288 -> 0 bytes .../site-packages/Crypto/Util/winrandom.py | 28 - .../site-packages/Crypto/__init__.py | 51 - .../site-packages/Crypto/pct_warnings.py | 60 - .../atomicwrites-1.3.0.dist-info/INSTALLER | 1 - .../atomicwrites-1.3.0.dist-info/METADATA | 144 - .../atomicwrites-1.3.0.dist-info/RECORD | 7 - .../atomicwrites-1.3.0.dist-info/WHEEL | 6 - .../top_level.txt | 1 - .../site-packages/atomicwrites/__init__.py | 216 - .../python3.7/site-packages/attr/__init__.py | 68 - .../python3.7/site-packages/attr/__init__.pyi | 278 - .../python3.7/site-packages/attr/_compat.py | 230 - .../python3.7/site-packages/attr/_config.py | 23 - .../python3.7/site-packages/attr/_funcs.py | 290 - .../lib/python3.7/site-packages/attr/_make.py | 2168 ----- .../site-packages/attr/_version_info.py | 85 - .../site-packages/attr/_version_info.pyi | 9 - .../site-packages/attr/converters.py | 78 - .../site-packages/attr/converters.pyi | 12 - .../site-packages/attr/exceptions.py | 74 - .../site-packages/attr/exceptions.pyi | 15 - .../python3.7/site-packages/attr/filters.py | 52 - .../python3.7/site-packages/attr/filters.pyi | 5 - .../lib/python3.7/site-packages/attr/py.typed | 0 .../site-packages/attr/validators.py | 378 - .../site-packages/attr/validators.pyi | 66 - .../attrs-19.3.0.dist-info/INSTALLER | 1 - .../attrs-19.3.0.dist-info/LICENSE | 21 - .../attrs-19.3.0.dist-info/METADATA | 229 - .../attrs-19.3.0.dist-info/RECORD | 33 - .../attrs-19.3.0.dist-info/WHEEL | 6 - .../attrs-19.3.0.dist-info/top_level.txt | 1 - .../DESCRIPTION.rst | 50 - .../certifi-2019.9.11.dist-info/INSTALLER | 1 - .../certifi-2019.9.11.dist-info/METADATA | 74 - .../certifi-2019.9.11.dist-info/RECORD | 14 - .../certifi-2019.9.11.dist-info/WHEEL | 6 - .../certifi-2019.9.11.dist-info/metadata.json | 1 - .../certifi-2019.9.11.dist-info/top_level.txt | 1 - .../site-packages/certifi/__init__.py | 3 - .../site-packages/certifi/__main__.py | 2 - .../site-packages/certifi/cacert.pem | 4558 --------- .../python3.7/site-packages/certifi/core.py | 15 - .../chardet-3.0.4.dist-info/DESCRIPTION.rst | 70 - .../chardet-3.0.4.dist-info/INSTALLER | 1 - .../chardet-3.0.4.dist-info/METADATA | 96 - .../chardet-3.0.4.dist-info/RECORD | 91 - .../chardet-3.0.4.dist-info/WHEEL | 6 - .../chardet-3.0.4.dist-info/entry_points.txt | 3 - .../chardet-3.0.4.dist-info/metadata.json | 1 - .../chardet-3.0.4.dist-info/top_level.txt | 1 - .../site-packages/chardet/__init__.py | 39 - .../site-packages/chardet/big5freq.py | 386 - .../site-packages/chardet/big5prober.py | 47 - .../site-packages/chardet/chardistribution.py | 233 - .../chardet/charsetgroupprober.py | 106 - .../site-packages/chardet/charsetprober.py | 145 - .../site-packages/chardet/cli/__init__.py | 1 - .../site-packages/chardet/cli/chardetect.py | 85 - .../chardet/codingstatemachine.py | 88 - .../python3.7/site-packages/chardet/compat.py | 34 - .../site-packages/chardet/cp949prober.py | 49 - .../python3.7/site-packages/chardet/enums.py | 76 - .../site-packages/chardet/escprober.py | 101 - .../python3.7/site-packages/chardet/escsm.py | 246 - .../site-packages/chardet/eucjpprober.py | 92 - .../site-packages/chardet/euckrfreq.py | 195 - .../site-packages/chardet/euckrprober.py | 47 - .../site-packages/chardet/euctwfreq.py | 387 - .../site-packages/chardet/euctwprober.py | 46 - .../site-packages/chardet/gb2312freq.py | 283 - .../site-packages/chardet/gb2312prober.py | 46 - .../site-packages/chardet/hebrewprober.py | 292 - .../site-packages/chardet/jisfreq.py | 325 - .../python3.7/site-packages/chardet/jpcntx.py | 233 - .../chardet/langbulgarianmodel.py | 228 - .../chardet/langcyrillicmodel.py | 333 - .../site-packages/chardet/langgreekmodel.py | 225 - .../site-packages/chardet/langhebrewmodel.py | 200 - .../chardet/langhungarianmodel.py | 225 - .../site-packages/chardet/langthaimodel.py | 199 - .../site-packages/chardet/langturkishmodel.py | 193 - .../site-packages/chardet/latin1prober.py | 145 - .../site-packages/chardet/mbcharsetprober.py | 91 - .../site-packages/chardet/mbcsgroupprober.py | 54 - .../python3.7/site-packages/chardet/mbcssm.py | 572 -- .../site-packages/chardet/sbcharsetprober.py | 132 - .../site-packages/chardet/sbcsgroupprober.py | 73 - .../site-packages/chardet/sjisprober.py | 92 - .../chardet/universaldetector.py | 286 - .../site-packages/chardet/utf8prober.py | 82 - .../site-packages/chardet/version.py | 9 - .../python3.7/site-packages/easy_install.py | 5 - .../idna-2.8.dist-info/INSTALLER | 1 - .../idna-2.8.dist-info/LICENSE.rst | 80 - .../site-packages/idna-2.8.dist-info/METADATA | 239 - .../site-packages/idna-2.8.dist-info/RECORD | 22 - .../site-packages/idna-2.8.dist-info/WHEEL | 6 - .../idna-2.8.dist-info/top_level.txt | 1 - .../python3.7/site-packages/idna/__init__.py | 2 - .../lib/python3.7/site-packages/idna/codec.py | 118 - .../python3.7/site-packages/idna/compat.py | 12 - .../lib/python3.7/site-packages/idna/core.py | 396 - .../python3.7/site-packages/idna/idnadata.py | 1979 ---- .../python3.7/site-packages/idna/intranges.py | 53 - .../site-packages/idna/package_data.py | 2 - .../python3.7/site-packages/idna/uts46data.py | 8205 ----------------- .../INSTALLER | 1 - .../importlib_metadata-0.23.dist-info/LICENSE | 13 - .../METADATA | 65 - .../importlib_metadata-0.23.dist-info/RECORD | 33 - .../importlib_metadata-0.23.dist-info/WHEEL | 6 - .../top_level.txt | 1 - .../importlib_metadata/__init__.py | 547 -- .../importlib_metadata/_compat.py | 100 - .../importlib_metadata/docs/__init__.py | 0 .../importlib_metadata/docs/changelog.rst | 189 - .../importlib_metadata/docs/conf.py | 182 - .../importlib_metadata/docs/index.rst | 53 - .../importlib_metadata/docs/using.rst | 259 - .../importlib_metadata/tests/__init__.py | 0 .../importlib_metadata/tests/data/__init__.py | 0 .../tests/data/example-21.12-py3-none-any.whl | Bin 1455 -> 0 bytes .../tests/data/example-21.12-py3.6.egg | Bin 1497 -> 0 bytes .../importlib_metadata/tests/fixtures.py | 200 - .../importlib_metadata/tests/test_api.py | 176 - .../tests/test_integration.py | 22 - .../importlib_metadata/tests/test_main.py | 191 - .../importlib_metadata/tests/test_zip.py | 70 - .../more_itertools-7.2.0.dist-info/INSTALLER | 1 - .../more_itertools-7.2.0.dist-info/LICENSE | 19 - .../more_itertools-7.2.0.dist-info/METADATA | 538 -- .../more_itertools-7.2.0.dist-info/RECORD | 18 - .../more_itertools-7.2.0.dist-info/WHEEL | 5 - .../top_level.txt | 1 - .../site-packages/more_itertools/__init__.py | 2 - .../site-packages/more_itertools/more.py | 2630 ------ .../site-packages/more_itertools/recipes.py | 571 -- .../more_itertools/tests/__init__.py | 0 .../more_itertools/tests/test_more.py | 2699 ------ .../more_itertools/tests/test_recipes.py | 605 -- .../packaging-19.2.dist-info/INSTALLER | 1 - .../packaging-19.2.dist-info/LICENSE | 3 - .../packaging-19.2.dist-info/LICENSE.APACHE | 177 - .../packaging-19.2.dist-info/LICENSE.BSD | 23 - .../packaging-19.2.dist-info/METADATA | 326 - .../packaging-19.2.dist-info/RECORD | 28 - .../packaging-19.2.dist-info/WHEEL | 6 - .../packaging-19.2.dist-info/top_level.txt | 1 - .../site-packages/packaging/__about__.py | 27 - .../site-packages/packaging/__init__.py | 26 - .../site-packages/packaging/_compat.py | 31 - .../site-packages/packaging/_structures.py | 68 - .../site-packages/packaging/markers.py | 296 - .../site-packages/packaging/requirements.py | 138 - .../site-packages/packaging/specifiers.py | 749 -- .../python3.7/site-packages/packaging/tags.py | 404 - .../site-packages/packaging/utils.py | 57 - .../site-packages/packaging/version.py | 420 - .../pip-19.3.dist-info/INSTALLER | 1 - .../pip-19.3.dist-info/LICENSE.txt | 20 - .../site-packages/pip-19.3.dist-info/METADATA | 81 - .../site-packages/pip-19.3.dist-info/RECORD | 670 -- .../site-packages/pip-19.3.dist-info/WHEEL | 6 - .../pip-19.3.dist-info/entry_points.txt | 5 - .../pip-19.3.dist-info/top_level.txt | 1 - .../python3.7/site-packages/pip/__init__.py | 1 - .../python3.7/site-packages/pip/__main__.py | 19 - .../site-packages/pip/_internal/__init__.py | 2 - .../site-packages/pip/_internal/build_env.py | 221 - .../site-packages/pip/_internal/cache.py | 253 - .../pip/_internal/cli/__init__.py | 4 - .../pip/_internal/cli/autocompletion.py | 155 - .../pip/_internal/cli/base_command.py | 193 - .../pip/_internal/cli/cmdoptions.py | 909 -- .../pip/_internal/cli/command_context.py | 29 - .../pip/_internal/cli/main_parser.py | 99 - .../site-packages/pip/_internal/cli/parser.py | 265 - .../pip/_internal/cli/req_command.py | 304 - .../pip/_internal/cli/status_codes.py | 8 - .../site-packages/pip/_internal/collector.py | 548 -- .../pip/_internal/commands/__init__.py | 114 - .../pip/_internal/commands/check.py | 45 - .../pip/_internal/commands/completion.py | 96 - .../pip/_internal/commands/configuration.py | 233 - .../pip/_internal/commands/debug.py | 115 - .../pip/_internal/commands/download.py | 156 - .../pip/_internal/commands/freeze.py | 103 - .../pip/_internal/commands/hash.py | 58 - .../pip/_internal/commands/help.py | 41 - .../pip/_internal/commands/install.py | 630 -- .../pip/_internal/commands/list.py | 313 - .../pip/_internal/commands/search.py | 145 - .../pip/_internal/commands/show.py | 180 - .../pip/_internal/commands/uninstall.py | 82 - .../pip/_internal/commands/wheel.py | 180 - .../pip/_internal/configuration.py | 422 - .../pip/_internal/distributions/__init__.py | 24 - .../pip/_internal/distributions/base.py | 36 - .../pip/_internal/distributions/installed.py | 18 - .../distributions/source/__init__.py | 0 .../_internal/distributions/source/legacy.py | 98 - .../pip/_internal/distributions/wheel.py | 20 - .../site-packages/pip/_internal/download.py | 578 -- .../site-packages/pip/_internal/exceptions.py | 308 - .../site-packages/pip/_internal/index.py | 992 -- .../pip/_internal/legacy_resolve.py | 460 - .../site-packages/pip/_internal/locations.py | 156 - .../site-packages/pip/_internal/main.py | 47 - .../pip/_internal/models/__init__.py | 2 - .../pip/_internal/models/candidate.py | 39 - .../pip/_internal/models/format_control.py | 82 - .../pip/_internal/models/index.py | 31 - .../pip/_internal/models/link.py | 227 - .../pip/_internal/models/search_scope.py | 116 - .../pip/_internal/models/selection_prefs.py | 47 - .../pip/_internal/models/target_python.py | 106 - .../pip/_internal/network/__init__.py | 2 - .../pip/_internal/network/auth.py | 298 - .../pip/_internal/network/cache.py | 75 - .../pip/_internal/network/session.py | 426 - .../pip/_internal/network/xmlrpc.py | 44 - .../pip/_internal/operations/__init__.py | 0 .../pip/_internal/operations/check.py | 163 - .../pip/_internal/operations/freeze.py | 259 - .../_internal/operations/generate_metadata.py | 136 - .../pip/_internal/operations/prepare.py | 295 - .../site-packages/pip/_internal/pep425tags.py | 449 - .../site-packages/pip/_internal/pyproject.py | 171 - .../pip/_internal/req/__init__.py | 82 - .../pip/_internal/req/constructors.py | 436 - .../pip/_internal/req/req_file.py | 403 - .../pip/_internal/req/req_install.py | 966 -- .../pip/_internal/req/req_set.py | 210 - .../pip/_internal/req/req_tracker.py | 98 - .../pip/_internal/req/req_uninstall.py | 644 -- .../pip/_internal/self_outdated_check.py | 244 - .../pip/_internal/utils/__init__.py | 0 .../pip/_internal/utils/appdirs.py | 276 - .../pip/_internal/utils/compat.py | 297 - .../pip/_internal/utils/deprecation.py | 104 - .../pip/_internal/utils/encoding.py | 42 - .../pip/_internal/utils/filesystem.py | 115 - .../pip/_internal/utils/filetypes.py | 16 - .../pip/_internal/utils/glibc.py | 123 - .../pip/_internal/utils/hashes.py | 133 - .../_internal/utils/inject_securetransport.py | 36 - .../pip/_internal/utils/logging.py | 398 - .../pip/_internal/utils/marker_files.py | 27 - .../site-packages/pip/_internal/utils/misc.py | 870 -- .../pip/_internal/utils/models.py | 42 - .../pip/_internal/utils/packaging.py | 94 - .../pip/_internal/utils/setuptools_build.py | 47 - .../pip/_internal/utils/subprocess.py | 278 - .../pip/_internal/utils/temp_dir.py | 172 - .../pip/_internal/utils/typing.py | 29 - .../site-packages/pip/_internal/utils/ui.py | 428 - .../pip/_internal/utils/unpacking.py | 272 - .../site-packages/pip/_internal/utils/urls.py | 54 - .../pip/_internal/utils/virtualenv.py | 34 - .../pip/_internal/vcs/__init__.py | 15 - .../site-packages/pip/_internal/vcs/bazaar.py | 120 - .../site-packages/pip/_internal/vcs/git.py | 372 - .../pip/_internal/vcs/mercurial.py | 155 - .../pip/_internal/vcs/subversion.py | 333 - .../pip/_internal/vcs/versioncontrol.py | 665 -- .../site-packages/pip/_internal/wheel.py | 1181 --- .../site-packages/pip/_vendor/__init__.py | 109 - .../site-packages/pip/_vendor/appdirs.py | 604 -- .../pip/_vendor/cachecontrol/__init__.py | 11 - .../pip/_vendor/cachecontrol/_cmd.py | 57 - .../pip/_vendor/cachecontrol/adapter.py | 133 - .../pip/_vendor/cachecontrol/cache.py | 39 - .../_vendor/cachecontrol/caches/__init__.py | 2 - .../_vendor/cachecontrol/caches/file_cache.py | 146 - .../cachecontrol/caches/redis_cache.py | 33 - .../pip/_vendor/cachecontrol/compat.py | 29 - .../pip/_vendor/cachecontrol/controller.py | 367 - .../pip/_vendor/cachecontrol/filewrapper.py | 80 - .../pip/_vendor/cachecontrol/heuristics.py | 135 - .../pip/_vendor/cachecontrol/serialize.py | 186 - .../pip/_vendor/cachecontrol/wrapper.py | 29 - .../pip/_vendor/certifi/__init__.py | 3 - .../pip/_vendor/certifi/__main__.py | 2 - .../pip/_vendor/certifi/cacert.pem | 4558 --------- .../site-packages/pip/_vendor/certifi/core.py | 15 - .../pip/_vendor/chardet/__init__.py | 39 - .../pip/_vendor/chardet/big5freq.py | 386 - .../pip/_vendor/chardet/big5prober.py | 47 - .../pip/_vendor/chardet/chardistribution.py | 233 - .../pip/_vendor/chardet/charsetgroupprober.py | 106 - .../pip/_vendor/chardet/charsetprober.py | 145 - .../pip/_vendor/chardet/cli/__init__.py | 1 - .../pip/_vendor/chardet/cli/chardetect.py | 85 - .../pip/_vendor/chardet/codingstatemachine.py | 88 - .../pip/_vendor/chardet/compat.py | 34 - .../pip/_vendor/chardet/cp949prober.py | 49 - .../pip/_vendor/chardet/enums.py | 76 - .../pip/_vendor/chardet/escprober.py | 101 - .../pip/_vendor/chardet/escsm.py | 246 - .../pip/_vendor/chardet/eucjpprober.py | 92 - .../pip/_vendor/chardet/euckrfreq.py | 195 - .../pip/_vendor/chardet/euckrprober.py | 47 - .../pip/_vendor/chardet/euctwfreq.py | 387 - .../pip/_vendor/chardet/euctwprober.py | 46 - .../pip/_vendor/chardet/gb2312freq.py | 283 - .../pip/_vendor/chardet/gb2312prober.py | 46 - .../pip/_vendor/chardet/hebrewprober.py | 292 - .../pip/_vendor/chardet/jisfreq.py | 325 - .../pip/_vendor/chardet/jpcntx.py | 233 - .../pip/_vendor/chardet/langbulgarianmodel.py | 228 - .../pip/_vendor/chardet/langcyrillicmodel.py | 333 - .../pip/_vendor/chardet/langgreekmodel.py | 225 - .../pip/_vendor/chardet/langhebrewmodel.py | 200 - .../pip/_vendor/chardet/langhungarianmodel.py | 225 - .../pip/_vendor/chardet/langthaimodel.py | 199 - .../pip/_vendor/chardet/langturkishmodel.py | 193 - .../pip/_vendor/chardet/latin1prober.py | 145 - .../pip/_vendor/chardet/mbcharsetprober.py | 91 - .../pip/_vendor/chardet/mbcsgroupprober.py | 54 - .../pip/_vendor/chardet/mbcssm.py | 572 -- .../pip/_vendor/chardet/sbcharsetprober.py | 132 - .../pip/_vendor/chardet/sbcsgroupprober.py | 73 - .../pip/_vendor/chardet/sjisprober.py | 92 - .../pip/_vendor/chardet/universaldetector.py | 286 - .../pip/_vendor/chardet/utf8prober.py | 82 - .../pip/_vendor/chardet/version.py | 9 - .../pip/_vendor/colorama/__init__.py | 6 - .../pip/_vendor/colorama/ansi.py | 102 - .../pip/_vendor/colorama/ansitowin32.py | 257 - .../pip/_vendor/colorama/initialise.py | 80 - .../pip/_vendor/colorama/win32.py | 152 - .../pip/_vendor/colorama/winterm.py | 169 - .../site-packages/pip/_vendor/contextlib2.py | 518 -- .../pip/_vendor/distlib/__init__.py | 23 - .../pip/_vendor/distlib/_backport/__init__.py | 6 - .../pip/_vendor/distlib/_backport/misc.py | 41 - .../pip/_vendor/distlib/_backport/shutil.py | 761 -- .../_vendor/distlib/_backport/sysconfig.cfg | 84 - .../_vendor/distlib/_backport/sysconfig.py | 788 -- .../pip/_vendor/distlib/_backport/tarfile.py | 2607 ------ .../pip/_vendor/distlib/compat.py | 1120 --- .../pip/_vendor/distlib/database.py | 1339 --- .../pip/_vendor/distlib/index.py | 516 -- .../pip/_vendor/distlib/locators.py | 1295 --- .../pip/_vendor/distlib/manifest.py | 393 - .../pip/_vendor/distlib/markers.py | 131 - .../pip/_vendor/distlib/metadata.py | 1096 --- .../pip/_vendor/distlib/resources.py | 355 - .../pip/_vendor/distlib/scripts.py | 403 - .../site-packages/pip/_vendor/distlib/t32.exe | Bin 92672 -> 0 bytes .../site-packages/pip/_vendor/distlib/t64.exe | Bin 102912 -> 0 bytes .../site-packages/pip/_vendor/distlib/util.py | 1760 ---- .../pip/_vendor/distlib/version.py | 736 -- .../site-packages/pip/_vendor/distlib/w32.exe | Bin 89088 -> 0 bytes .../site-packages/pip/_vendor/distlib/w64.exe | Bin 99840 -> 0 bytes .../pip/_vendor/distlib/wheel.py | 1004 -- .../site-packages/pip/_vendor/distro.py | 1216 --- .../pip/_vendor/html5lib/__init__.py | 35 - .../pip/_vendor/html5lib/_ihatexml.py | 288 - .../pip/_vendor/html5lib/_inputstream.py | 923 -- .../pip/_vendor/html5lib/_tokenizer.py | 1721 ---- .../pip/_vendor/html5lib/_trie/__init__.py | 14 - .../pip/_vendor/html5lib/_trie/_base.py | 40 - .../pip/_vendor/html5lib/_trie/datrie.py | 44 - .../pip/_vendor/html5lib/_trie/py.py | 67 - .../pip/_vendor/html5lib/_utils.py | 124 - .../pip/_vendor/html5lib/constants.py | 2947 ------ .../pip/_vendor/html5lib/filters/__init__.py | 0 .../filters/alphabeticalattributes.py | 29 - .../pip/_vendor/html5lib/filters/base.py | 12 - .../html5lib/filters/inject_meta_charset.py | 73 - .../pip/_vendor/html5lib/filters/lint.py | 93 - .../_vendor/html5lib/filters/optionaltags.py | 207 - .../pip/_vendor/html5lib/filters/sanitizer.py | 896 -- .../_vendor/html5lib/filters/whitespace.py | 38 - .../pip/_vendor/html5lib/html5parser.py | 2791 ------ .../pip/_vendor/html5lib/serializer.py | 409 - .../_vendor/html5lib/treeadapters/__init__.py | 30 - .../_vendor/html5lib/treeadapters/genshi.py | 54 - .../pip/_vendor/html5lib/treeadapters/sax.py | 50 - .../_vendor/html5lib/treebuilders/__init__.py | 88 - .../pip/_vendor/html5lib/treebuilders/base.py | 417 - .../pip/_vendor/html5lib/treebuilders/dom.py | 239 - .../_vendor/html5lib/treebuilders/etree.py | 340 - .../html5lib/treebuilders/etree_lxml.py | 366 - .../_vendor/html5lib/treewalkers/__init__.py | 154 - .../pip/_vendor/html5lib/treewalkers/base.py | 252 - .../pip/_vendor/html5lib/treewalkers/dom.py | 43 - .../pip/_vendor/html5lib/treewalkers/etree.py | 130 - .../html5lib/treewalkers/etree_lxml.py | 213 - .../_vendor/html5lib/treewalkers/genshi.py | 69 - .../pip/_vendor/idna/__init__.py | 2 - .../site-packages/pip/_vendor/idna/codec.py | 118 - .../site-packages/pip/_vendor/idna/compat.py | 12 - .../site-packages/pip/_vendor/idna/core.py | 396 - .../pip/_vendor/idna/idnadata.py | 1979 ---- .../pip/_vendor/idna/intranges.py | 53 - .../pip/_vendor/idna/package_data.py | 2 - .../pip/_vendor/idna/uts46data.py | 8205 ----------------- .../site-packages/pip/_vendor/ipaddress.py | 2419 ----- .../pip/_vendor/msgpack/__init__.py | 65 - .../pip/_vendor/msgpack/_version.py | 1 - .../pip/_vendor/msgpack/exceptions.py | 48 - .../pip/_vendor/msgpack/fallback.py | 1027 --- .../pip/_vendor/packaging/__about__.py | 27 - .../pip/_vendor/packaging/__init__.py | 26 - .../pip/_vendor/packaging/_compat.py | 31 - .../pip/_vendor/packaging/_structures.py | 68 - .../pip/_vendor/packaging/markers.py | 296 - .../pip/_vendor/packaging/requirements.py | 138 - .../pip/_vendor/packaging/specifiers.py | 749 -- .../pip/_vendor/packaging/tags.py | 404 - .../pip/_vendor/packaging/utils.py | 57 - .../pip/_vendor/packaging/version.py | 420 - .../pip/_vendor/pep517/__init__.py | 4 - .../pip/_vendor/pep517/_in_process.py | 257 - .../site-packages/pip/_vendor/pep517/build.py | 124 - .../site-packages/pip/_vendor/pep517/check.py | 203 - .../pip/_vendor/pep517/colorlog.py | 115 - .../pip/_vendor/pep517/compat.py | 34 - .../pip/_vendor/pep517/dirtools.py | 44 - .../pip/_vendor/pep517/envbuild.py | 167 - .../site-packages/pip/_vendor/pep517/meta.py | 92 - .../pip/_vendor/pep517/wrappers.py | 298 - .../pip/_vendor/pkg_resources/__init__.py | 3295 ------- .../pip/_vendor/pkg_resources/py31compat.py | 23 - .../pip/_vendor/progress/__init__.py | 177 - .../site-packages/pip/_vendor/progress/bar.py | 91 - .../pip/_vendor/progress/counter.py | 41 - .../pip/_vendor/progress/spinner.py | 43 - .../site-packages/pip/_vendor/pyparsing.py | 6894 -------------- .../pip/_vendor/pytoml/__init__.py | 4 - .../site-packages/pip/_vendor/pytoml/core.py | 13 - .../pip/_vendor/pytoml/parser.py | 342 - .../site-packages/pip/_vendor/pytoml/test.py | 30 - .../site-packages/pip/_vendor/pytoml/utils.py | 67 - .../pip/_vendor/pytoml/writer.py | 114 - .../pip/_vendor/requests/__init__.py | 133 - .../pip/_vendor/requests/__version__.py | 14 - .../pip/_vendor/requests/_internal_utils.py | 42 - .../pip/_vendor/requests/adapters.py | 533 -- .../site-packages/pip/_vendor/requests/api.py | 158 - .../pip/_vendor/requests/auth.py | 305 - .../pip/_vendor/requests/certs.py | 18 - .../pip/_vendor/requests/compat.py | 74 - .../pip/_vendor/requests/cookies.py | 549 -- .../pip/_vendor/requests/exceptions.py | 126 - .../pip/_vendor/requests/help.py | 119 - .../pip/_vendor/requests/hooks.py | 34 - .../pip/_vendor/requests/models.py | 953 -- .../pip/_vendor/requests/packages.py | 16 - .../pip/_vendor/requests/sessions.py | 770 -- .../pip/_vendor/requests/status_codes.py | 120 - .../pip/_vendor/requests/structures.py | 103 - .../pip/_vendor/requests/utils.py | 977 -- .../site-packages/pip/_vendor/retrying.py | 267 - .../site-packages/pip/_vendor/six.py | 952 -- .../pip/_vendor/urllib3/__init__.py | 86 - .../pip/_vendor/urllib3/_collections.py | 336 - .../pip/_vendor/urllib3/connection.py | 448 - .../pip/_vendor/urllib3/connectionpool.py | 1051 --- .../pip/_vendor/urllib3/contrib/__init__.py | 0 .../urllib3/contrib/_appengine_environ.py | 32 - .../contrib/_securetransport/__init__.py | 0 .../contrib/_securetransport/bindings.py | 492 - .../contrib/_securetransport/low_level.py | 328 - .../pip/_vendor/urllib3/contrib/appengine.py | 321 - .../pip/_vendor/urllib3/contrib/ntlmpool.py | 123 - .../pip/_vendor/urllib3/contrib/pyopenssl.py | 498 - .../urllib3/contrib/securetransport.py | 870 -- .../pip/_vendor/urllib3/contrib/socks.py | 210 - .../pip/_vendor/urllib3/exceptions.py | 255 - .../pip/_vendor/urllib3/fields.py | 273 - .../pip/_vendor/urllib3/filepost.py | 98 - .../pip/_vendor/urllib3/packages/__init__.py | 5 - .../urllib3/packages/backports/__init__.py | 0 .../urllib3/packages/backports/makefile.py | 52 - .../pip/_vendor/urllib3/packages/six.py | 1021 -- .../packages/ssl_match_hostname/__init__.py | 19 - .../ssl_match_hostname/_implementation.py | 162 - .../pip/_vendor/urllib3/poolmanager.py | 470 - .../pip/_vendor/urllib3/request.py | 171 - .../pip/_vendor/urllib3/response.py | 809 -- .../pip/_vendor/urllib3/util/__init__.py | 46 - .../pip/_vendor/urllib3/util/connection.py | 138 - .../pip/_vendor/urllib3/util/queue.py | 21 - .../pip/_vendor/urllib3/util/request.py | 135 - .../pip/_vendor/urllib3/util/response.py | 86 - .../pip/_vendor/urllib3/util/retry.py | 450 - .../pip/_vendor/urllib3/util/ssl_.py | 407 - .../pip/_vendor/urllib3/util/timeout.py | 258 - .../pip/_vendor/urllib3/util/url.py | 439 - .../pip/_vendor/urllib3/util/wait.py | 153 - .../pip/_vendor/webencodings/__init__.py | 342 - .../pip/_vendor/webencodings/labels.py | 231 - .../pip/_vendor/webencodings/mklabels.py | 59 - .../pip/_vendor/webencodings/tests.py | 153 - .../_vendor/webencodings/x_user_defined.py | 325 - .../site-packages/pkg_resources/__init__.py | 3295 ------- .../pkg_resources/_vendor/__init__.py | 0 .../pkg_resources/_vendor/appdirs.py | 608 -- .../_vendor/packaging/__about__.py | 21 - .../_vendor/packaging/__init__.py | 14 - .../_vendor/packaging/_compat.py | 30 - .../_vendor/packaging/_structures.py | 68 - .../_vendor/packaging/markers.py | 301 - .../_vendor/packaging/requirements.py | 127 - .../_vendor/packaging/specifiers.py | 774 -- .../pkg_resources/_vendor/packaging/utils.py | 14 - .../_vendor/packaging/version.py | 393 - .../pkg_resources/_vendor/pyparsing.py | 5742 ------------ .../pkg_resources/_vendor/six.py | 868 -- .../pkg_resources/extern/__init__.py | 73 - .../site-packages/pkg_resources/py31compat.py | 23 - .../pluggy-0.13.0.dist-info/INSTALLER | 1 - .../pluggy-0.13.0.dist-info/LICENSE | 21 - .../pluggy-0.13.0.dist-info/METADATA | 465 - .../pluggy-0.13.0.dist-info/RECORD | 18 - .../pluggy-0.13.0.dist-info/WHEEL | 6 - .../pluggy-0.13.0.dist-info/top_level.txt | 1 - .../site-packages/pluggy/__init__.py | 18 - .../site-packages/pluggy/_tracing.py | 62 - .../site-packages/pluggy/_version.py | 4 - .../python3.7/site-packages/pluggy/callers.py | 208 - .../python3.7/site-packages/pluggy/hooks.py | 359 - .../python3.7/site-packages/pluggy/manager.py | 392 - .../py-1.8.0.dist-info/INSTALLER | 1 - .../site-packages/py-1.8.0.dist-info/LICENSE | 19 - .../site-packages/py-1.8.0.dist-info/METADATA | 70 - .../site-packages/py-1.8.0.dist-info/RECORD | 76 - .../site-packages/py-1.8.0.dist-info/WHEEL | 6 - .../py-1.8.0.dist-info/top_level.txt | 1 - .../python3.7/site-packages/py/__init__.py | 156 - .../python3.7/site-packages/py/__metainfo.py | 2 - .../python3.7/site-packages/py/_builtin.py | 149 - .../site-packages/py/_code/__init__.py | 1 - .../site-packages/py/_code/_assertionnew.py | 322 - .../site-packages/py/_code/_assertionold.py | 556 -- .../site-packages/py/_code/_py2traceback.py | 79 - .../site-packages/py/_code/assertion.py | 90 - .../python3.7/site-packages/py/_code/code.py | 796 -- .../site-packages/py/_code/source.py | 410 - .../lib/python3.7/site-packages/py/_error.py | 91 - .../site-packages/py/_io/__init__.py | 1 - .../python3.7/site-packages/py/_io/capture.py | 371 - .../site-packages/py/_io/saferepr.py | 71 - .../site-packages/py/_io/terminalwriter.py | 421 - .../site-packages/py/_log/__init__.py | 2 - .../python3.7/site-packages/py/_log/log.py | 206 - .../site-packages/py/_log/warning.py | 79 - .../site-packages/py/_path/__init__.py | 1 - .../site-packages/py/_path/cacheutil.py | 114 - .../site-packages/py/_path/common.py | 453 - .../python3.7/site-packages/py/_path/local.py | 1027 --- .../site-packages/py/_path/svnurl.py | 380 - .../python3.7/site-packages/py/_path/svnwc.py | 1240 --- .../site-packages/py/_process/__init__.py | 1 - .../site-packages/py/_process/cmdexec.py | 49 - .../site-packages/py/_process/forkedfunc.py | 120 - .../site-packages/py/_process/killproc.py | 23 - .../lib/python3.7/site-packages/py/_std.py | 26 - .../py/_vendored_packages/__init__.py | 0 .../py/_vendored_packages/apipkg.py | 205 - .../py/_vendored_packages/iniconfig.py | 165 - .../python3.7/site-packages/py/_version.py | 4 - .../lib/python3.7/site-packages/py/_xmlgen.py | 255 - .../lib/python3.7/site-packages/py/test.py | 10 - .../pycrypto-2.6.1.dist-info/INSTALLER | 1 - .../pycrypto-2.6.1.dist-info/METADATA | 22 - .../pycrypto-2.6.1.dist-info/RECORD | 260 - .../pycrypto-2.6.1.dist-info/WHEEL | 5 - .../pycrypto-2.6.1.dist-info/top_level.txt | 1 - .../pyparsing-2.4.2.dist-info/DESCRIPTION.rst | 3 - .../pyparsing-2.4.2.dist-info/INSTALLER | 1 - .../pyparsing-2.4.2.dist-info/LICENSE.txt | 18 - .../pyparsing-2.4.2.dist-info/METADATA | 30 - .../pyparsing-2.4.2.dist-info/RECORD | 10 - .../pyparsing-2.4.2.dist-info/WHEEL | 6 - .../pyparsing-2.4.2.dist-info/metadata.json | 1 - .../pyparsing-2.4.2.dist-info/top_level.txt | 1 - .../lib/python3.7/site-packages/pyparsing.py | 6894 -------------- .../requests-2.22.0.dist-info/INSTALLER | 1 - .../requests-2.22.0.dist-info/LICENSE | 13 - .../requests-2.22.0.dist-info/METADATA | 145 - .../requests-2.22.0.dist-info/RECORD | 42 - .../requests-2.22.0.dist-info/WHEEL | 6 - .../requests-2.22.0.dist-info/top_level.txt | 1 - .../site-packages/requests/__init__.py | 131 - .../site-packages/requests/__version__.py | 14 - .../site-packages/requests/_internal_utils.py | 42 - .../site-packages/requests/adapters.py | 533 -- .../python3.7/site-packages/requests/api.py | 158 - .../python3.7/site-packages/requests/auth.py | 305 - .../python3.7/site-packages/requests/certs.py | 18 - .../site-packages/requests/compat.py | 70 - .../site-packages/requests/cookies.py | 549 -- .../site-packages/requests/exceptions.py | 126 - .../python3.7/site-packages/requests/help.py | 119 - .../python3.7/site-packages/requests/hooks.py | 34 - .../site-packages/requests/models.py | 953 -- .../site-packages/requests/packages.py | 14 - .../site-packages/requests/sessions.py | 770 -- .../site-packages/requests/status_codes.py | 120 - .../site-packages/requests/structures.py | 103 - .../python3.7/site-packages/requests/utils.py | 977 -- .../setuptools-41.4.0.dist-info/INSTALLER | 1 - .../setuptools-41.4.0.dist-info/LICENSE | 19 - .../setuptools-41.4.0.dist-info/METADATA | 77 - .../setuptools-41.4.0.dist-info/RECORD | 188 - .../setuptools-41.4.0.dist-info/WHEEL | 6 - .../dependency_links.txt | 2 - .../entry_points.txt | 65 - .../setuptools-41.4.0.dist-info/top_level.txt | 3 - .../setuptools-41.4.0.dist-info/zip-safe | 1 - .../site-packages/setuptools/__init__.py | 228 - .../setuptools/_deprecation_warning.py | 7 - .../setuptools/_vendor/__init__.py | 0 .../setuptools/_vendor/ordered_set.py | 488 - .../setuptools/_vendor/packaging/__about__.py | 21 - .../setuptools/_vendor/packaging/__init__.py | 14 - .../setuptools/_vendor/packaging/_compat.py | 30 - .../_vendor/packaging/_structures.py | 68 - .../setuptools/_vendor/packaging/markers.py | 301 - .../_vendor/packaging/requirements.py | 127 - .../_vendor/packaging/specifiers.py | 774 -- .../setuptools/_vendor/packaging/utils.py | 14 - .../setuptools/_vendor/packaging/version.py | 393 - .../setuptools/_vendor/pyparsing.py | 5742 ------------ .../site-packages/setuptools/_vendor/six.py | 868 -- .../site-packages/setuptools/archive_util.py | 173 - .../site-packages/setuptools/build_meta.py | 257 - .../site-packages/setuptools/cli-32.exe | Bin 65536 -> 0 bytes .../site-packages/setuptools/cli-64.exe | Bin 74752 -> 0 bytes .../site-packages/setuptools/cli.exe | Bin 65536 -> 0 bytes .../setuptools/command/__init__.py | 18 - .../site-packages/setuptools/command/alias.py | 80 - .../setuptools/command/bdist_egg.py | 502 - .../setuptools/command/bdist_rpm.py | 43 - .../setuptools/command/bdist_wininst.py | 21 - .../setuptools/command/build_clib.py | 98 - .../setuptools/command/build_ext.py | 327 - .../setuptools/command/build_py.py | 270 - .../setuptools/command/develop.py | 221 - .../setuptools/command/dist_info.py | 36 - .../setuptools/command/easy_install.py | 2342 ----- .../setuptools/command/egg_info.py | 717 -- .../setuptools/command/install.py | 125 - .../setuptools/command/install_egg_info.py | 62 - .../setuptools/command/install_lib.py | 121 - .../setuptools/command/install_scripts.py | 65 - .../setuptools/command/launcher manifest.xml | 15 - .../setuptools/command/py36compat.py | 136 - .../setuptools/command/register.py | 18 - .../setuptools/command/rotate.py | 66 - .../setuptools/command/saveopts.py | 22 - .../site-packages/setuptools/command/sdist.py | 221 - .../setuptools/command/setopt.py | 149 - .../site-packages/setuptools/command/test.py | 271 - .../setuptools/command/upload.py | 196 - .../setuptools/command/upload_docs.py | 206 - .../site-packages/setuptools/config.py | 658 -- .../site-packages/setuptools/dep_util.py | 23 - .../site-packages/setuptools/depends.py | 186 - .../site-packages/setuptools/dist.py | 1281 --- .../site-packages/setuptools/extension.py | 57 - .../setuptools/extern/__init__.py | 73 - .../site-packages/setuptools/glibc.py | 86 - .../site-packages/setuptools/glob.py | 174 - .../site-packages/setuptools/gui-32.exe | Bin 65536 -> 0 bytes .../site-packages/setuptools/gui-64.exe | Bin 75264 -> 0 bytes .../site-packages/setuptools/gui.exe | Bin 65536 -> 0 bytes .../site-packages/setuptools/launch.py | 35 - .../site-packages/setuptools/lib2to3_ex.py | 62 - .../site-packages/setuptools/monkey.py | 179 - .../site-packages/setuptools/msvc.py | 1301 --- .../site-packages/setuptools/namespaces.py | 107 - .../site-packages/setuptools/package_index.py | 1136 --- .../site-packages/setuptools/pep425tags.py | 319 - .../site-packages/setuptools/py27compat.py | 28 - .../site-packages/setuptools/py31compat.py | 32 - .../site-packages/setuptools/py33compat.py | 59 - .../site-packages/setuptools/sandbox.py | 491 - .../setuptools/script (dev).tmpl | 6 - .../site-packages/setuptools/script.tmpl | 3 - .../site-packages/setuptools/site-patch.py | 74 - .../site-packages/setuptools/ssl_support.py | 260 - .../site-packages/setuptools/unicode_utils.py | 44 - .../site-packages/setuptools/version.py | 6 - .../site-packages/setuptools/wheel.py | 211 - .../setuptools/windows_support.py | 29 - .../six-1.12.0.dist-info/INSTALLER | 1 - .../six-1.12.0.dist-info/LICENSE | 18 - .../six-1.12.0.dist-info/METADATA | 52 - .../site-packages/six-1.12.0.dist-info/RECORD | 8 - .../site-packages/six-1.12.0.dist-info/WHEEL | 6 - .../six-1.12.0.dist-info/top_level.txt | 1 - .../lib/python3.7/site-packages/six.py | 952 -- .../urllib3-1.25.6.dist-info/INSTALLER | 1 - .../urllib3-1.25.6.dist-info/LICENSE.txt | 21 - .../urllib3-1.25.6.dist-info/METADATA | 1243 --- .../urllib3-1.25.6.dist-info/RECORD | 78 - .../urllib3-1.25.6.dist-info/WHEEL | 6 - .../urllib3-1.25.6.dist-info/top_level.txt | 1 - .../site-packages/urllib3/__init__.py | 86 - .../site-packages/urllib3/_collections.py | 336 - .../site-packages/urllib3/connection.py | 448 - .../site-packages/urllib3/connectionpool.py | 1051 --- .../site-packages/urllib3/contrib/__init__.py | 0 .../urllib3/contrib/_appengine_environ.py | 32 - .../contrib/_securetransport/__init__.py | 0 .../contrib/_securetransport/bindings.py | 492 - .../contrib/_securetransport/low_level.py | 328 - .../urllib3/contrib/appengine.py | 321 - .../site-packages/urllib3/contrib/ntlmpool.py | 123 - .../urllib3/contrib/pyopenssl.py | 498 - .../urllib3/contrib/securetransport.py | 870 -- .../site-packages/urllib3/contrib/socks.py | 210 - .../site-packages/urllib3/exceptions.py | 255 - .../python3.7/site-packages/urllib3/fields.py | 273 - .../site-packages/urllib3/filepost.py | 98 - .../urllib3/packages/__init__.py | 5 - .../urllib3/packages/backports/__init__.py | 0 .../urllib3/packages/backports/makefile.py | 52 - .../site-packages/urllib3/packages/six.py | 1021 -- .../packages/ssl_match_hostname/__init__.py | 19 - .../ssl_match_hostname/_implementation.py | 162 - .../site-packages/urllib3/poolmanager.py | 470 - .../site-packages/urllib3/request.py | 171 - .../site-packages/urllib3/response.py | 809 -- .../site-packages/urllib3/util/__init__.py | 46 - .../site-packages/urllib3/util/connection.py | 138 - .../site-packages/urllib3/util/queue.py | 21 - .../site-packages/urllib3/util/request.py | 135 - .../site-packages/urllib3/util/response.py | 86 - .../site-packages/urllib3/util/retry.py | 450 - .../site-packages/urllib3/util/ssl_.py | 407 - .../site-packages/urllib3/util/timeout.py | 258 - .../site-packages/urllib3/util/url.py | 439 - .../site-packages/urllib3/util/wait.py | 153 - .../wcwidth-0.1.7.dist-info/DESCRIPTION.rst | 227 - .../wcwidth-0.1.7.dist-info/INSTALLER | 1 - .../wcwidth-0.1.7.dist-info/METADATA | 251 - .../wcwidth-0.1.7.dist-info/RECORD | 20 - .../wcwidth-0.1.7.dist-info/WHEEL | 6 - .../wcwidth-0.1.7.dist-info/metadata.json | 1 - .../wcwidth-0.1.7.dist-info/top_level.txt | 1 - .../wcwidth-0.1.7.dist-info/zip-safe | 1 - .../site-packages/wcwidth/__init__.py | 4 - .../site-packages/wcwidth/table_wide.py | 112 - .../site-packages/wcwidth/table_zero.py | 289 - .../site-packages/wcwidth/tests/__init__.py | 1 - .../site-packages/wcwidth/tests/test_core.py | 138 - .../site-packages/wcwidth/wcwidth.py | 207 - .../wheel-0.33.6.dist-info/INSTALLER | 1 - .../wheel-0.33.6.dist-info/LICENSE.txt | 22 - .../wheel-0.33.6.dist-info/METADATA | 61 - .../wheel-0.33.6.dist-info/RECORD | 32 - .../wheel-0.33.6.dist-info/WHEEL | 6 - .../wheel-0.33.6.dist-info/entry_points.txt | 6 - .../wheel-0.33.6.dist-info/top_level.txt | 1 - .../python3.7/site-packages/wheel/__init__.py | 2 - .../python3.7/site-packages/wheel/__main__.py | 19 - .../site-packages/wheel/bdist_wheel.py | 372 - .../site-packages/wheel/cli/__init__.py | 88 - .../site-packages/wheel/cli/convert.py | 269 - .../python3.7/site-packages/wheel/cli/pack.py | 58 - .../site-packages/wheel/cli/unpack.py | 25 - .../python3.7/site-packages/wheel/metadata.py | 141 - .../site-packages/wheel/pep425tags.py | 190 - .../python3.7/site-packages/wheel/pkginfo.py | 43 - .../lib/python3.7/site-packages/wheel/util.py | 46 - .../site-packages/wheel/wheelfile.py | 169 - .../zipp-0.6.0.dist-info/INSTALLER | 1 - .../zipp-0.6.0.dist-info/LICENSE | 7 - .../zipp-0.6.0.dist-info/METADATA | 48 - .../site-packages/zipp-0.6.0.dist-info/RECORD | 8 - .../site-packages/zipp-0.6.0.dist-info/WHEEL | 6 - .../zipp-0.6.0.dist-info/top_level.txt | 1 - .../lib/python3.7/site-packages/zipp.py | 220 - .tox/py37-normal/lib/python3.7/site.py | 829 -- .tox/py37-normal/lib/python3.7/sre_compile.py | 1 - .../lib/python3.7/sre_constants.py | 1 - .tox/py37-normal/lib/python3.7/sre_parse.py | 1 - .tox/py37-normal/lib/python3.7/stat.py | 1 - .tox/py37-normal/lib/python3.7/struct.py | 1 - .tox/py37-normal/lib/python3.7/tarfile.py | 1 - .tox/py37-normal/lib/python3.7/tempfile.py | 1 - .tox/py37-normal/lib/python3.7/token.py | 1 - .tox/py37-normal/lib/python3.7/tokenize.py | 1 - .tox/py37-normal/lib/python3.7/types.py | 1 - .tox/py37-normal/lib/python3.7/warnings.py | 1 - .tox/py37-normal/lib/python3.7/weakref.py | 1 - .tox/py37-normal/log/.lock | 0 .tox/py37-normal/log/py37-normal-0.log | 9 - .tox/py37-normal/log/py37-normal-1.log | 235 - 992 files changed, 246162 deletions(-) delete mode 100755 .tox/.package.lock delete mode 100755 .tox/log/.lock delete mode 100644 .tox/log/GLOB-0.log delete mode 100644 .tox/py37-normal/bin/activate delete mode 100644 .tox/py37-normal/bin/activate.csh delete mode 100644 .tox/py37-normal/bin/activate.fish delete mode 100644 .tox/py37-normal/bin/activate.ps1 delete mode 100644 .tox/py37-normal/bin/activate.xsh delete mode 100644 .tox/py37-normal/bin/activate_this.py delete mode 100755 .tox/py37-normal/bin/chardetect delete mode 100755 .tox/py37-normal/bin/easy_install delete mode 100755 .tox/py37-normal/bin/easy_install-3.7 delete mode 100755 .tox/py37-normal/bin/pip delete mode 100755 .tox/py37-normal/bin/pip3 delete mode 100755 .tox/py37-normal/bin/pip3.7 delete mode 120000 .tox/py37-normal/bin/python delete mode 100755 .tox/py37-normal/bin/python-config delete mode 120000 .tox/py37-normal/bin/python3 delete mode 100755 .tox/py37-normal/bin/python3.7 delete mode 100755 .tox/py37-normal/bin/wheel delete mode 120000 .tox/py37-normal/include/python3.7m delete mode 120000 .tox/py37-normal/lib/python3.7/LICENSE.txt delete mode 120000 .tox/py37-normal/lib/python3.7/__future__.py delete mode 120000 .tox/py37-normal/lib/python3.7/_bootlocale.py delete mode 120000 .tox/py37-normal/lib/python3.7/_collections_abc.py delete mode 120000 .tox/py37-normal/lib/python3.7/_dummy_thread.py delete mode 120000 .tox/py37-normal/lib/python3.7/_weakrefset.py delete mode 120000 .tox/py37-normal/lib/python3.7/abc.py delete mode 120000 .tox/py37-normal/lib/python3.7/base64.py delete mode 120000 .tox/py37-normal/lib/python3.7/bisect.py delete mode 120000 .tox/py37-normal/lib/python3.7/codecs.py delete mode 120000 .tox/py37-normal/lib/python3.7/collections delete mode 120000 .tox/py37-normal/lib/python3.7/config-3.7m-x86_64-linux-gnu delete mode 120000 .tox/py37-normal/lib/python3.7/copy.py delete mode 120000 .tox/py37-normal/lib/python3.7/copyreg.py delete mode 100644 .tox/py37-normal/lib/python3.7/distutils/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/distutils/distutils.cfg delete mode 120000 .tox/py37-normal/lib/python3.7/encodings delete mode 120000 .tox/py37-normal/lib/python3.7/enum.py delete mode 120000 .tox/py37-normal/lib/python3.7/fnmatch.py delete mode 120000 .tox/py37-normal/lib/python3.7/functools.py delete mode 120000 .tox/py37-normal/lib/python3.7/genericpath.py delete mode 120000 .tox/py37-normal/lib/python3.7/hashlib.py delete mode 120000 .tox/py37-normal/lib/python3.7/heapq.py delete mode 120000 .tox/py37-normal/lib/python3.7/hmac.py delete mode 120000 .tox/py37-normal/lib/python3.7/imp.py delete mode 120000 .tox/py37-normal/lib/python3.7/importlib delete mode 120000 .tox/py37-normal/lib/python3.7/io.py delete mode 120000 .tox/py37-normal/lib/python3.7/keyword.py delete mode 120000 .tox/py37-normal/lib/python3.7/lib-dynload delete mode 120000 .tox/py37-normal/lib/python3.7/linecache.py delete mode 120000 .tox/py37-normal/lib/python3.7/locale.py delete mode 100644 .tox/py37-normal/lib/python3.7/no-global-site-packages.txt delete mode 120000 .tox/py37-normal/lib/python3.7/ntpath.py delete mode 120000 .tox/py37-normal/lib/python3.7/operator.py delete mode 100644 .tox/py37-normal/lib/python3.7/orig-prefix.txt delete mode 120000 .tox/py37-normal/lib/python3.7/os.py delete mode 120000 .tox/py37-normal/lib/python3.7/posixpath.py delete mode 120000 .tox/py37-normal/lib/python3.7/random.py delete mode 120000 .tox/py37-normal/lib/python3.7/re.py delete mode 120000 .tox/py37-normal/lib/python3.7/reprlib.py delete mode 120000 .tox/py37-normal/lib/python3.7/rlcompleter.py delete mode 120000 .tox/py37-normal/lib/python3.7/shutil.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/AES.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/ARC2.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/ARC4.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/Blowfish.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/CAST.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/DES.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/DES3.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/PKCS1_OAEP.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/PKCS1_v1_5.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/XOR.py delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_AES.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_ARC2.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_ARC4.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_Blowfish.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_CAST.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_DES.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_DES3.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_XOR.cpython-37m-x86_64-linux-gnu.so delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/blockalgo.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/HMAC.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD2.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD4.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD5.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/RIPEMD.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA224.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA256.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA384.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA512.py delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_MD2.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_MD4.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_RIPEMD160.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_SHA224.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_SHA256.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_SHA384.cpython-37m-x86_64-linux-gnu.so delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_SHA512.cpython-37m-x86_64-linux-gnu.so delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/hashalgo.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/AllOrNothing.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/Chaffing.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/KDF.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/DSA.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/ElGamal.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/RSA.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_DSA.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_RSA.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_slowmath.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/pubkey.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/FortunaGenerator.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/SHAd256.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/fallback.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/posix.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/rng_base.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/_UserFriendlyRNG.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/random.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/common.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_AES.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_ARC2.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_ARC4.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_CAST.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_DES.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_DES3.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_XOR.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/common.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_HMAC.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD2.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD4.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD5.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA224.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA256.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA384.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA512.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_AllOrNothing.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_KDF.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_chaffing.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_DSA.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_importKey.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test__UserFriendlyRNG.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test_random.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_pss.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_Counter.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_asn1.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_number.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_winrandom.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/st_common.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Signature/PKCS1_PSS.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Signature/PKCS1_v1_5.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Signature/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/Counter.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/RFC1751.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/__init__.py delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/_counter.cpython-37m-x86_64-linux-gnu.so delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/_number_new.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/asn1.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/number.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/py3compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/randpool.py delete mode 100755 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/strxor.cpython-37m-x86_64-linux-gnu.so delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/winrandom.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/Crypto/pct_warnings.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/atomicwrites/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/__init__.pyi delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/_compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/_config.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/_funcs.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/_make.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/_version_info.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/_version_info.pyi delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/converters.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/converters.pyi delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/exceptions.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/exceptions.pyi delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/filters.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/filters.pyi delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/py.typed delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/validators.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attr/validators.pyi delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/LICENSE delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/DESCRIPTION.rst delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/metadata.json delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/certifi/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/certifi/__main__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/certifi/cacert.pem delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/certifi/core.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/DESCRIPTION.rst delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/entry_points.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/metadata.json delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/big5freq.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/big5prober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/chardistribution.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/charsetgroupprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/charsetprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/cli/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/cli/chardetect.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/codingstatemachine.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/cp949prober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/enums.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/escprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/escsm.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/eucjpprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/euckrfreq.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/euckrprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/euctwfreq.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/euctwprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/gb2312freq.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/gb2312prober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/hebrewprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/jisfreq.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/jpcntx.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/langbulgarianmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/langcyrillicmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/langgreekmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/langhebrewmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/langhungarianmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/langthaimodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/langturkishmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/latin1prober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/mbcharsetprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/mbcsgroupprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/mbcssm.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/sbcharsetprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/sbcsgroupprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/sjisprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/universaldetector.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/utf8prober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/chardet/version.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/easy_install.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/LICENSE.rst delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna/codec.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna/compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna/core.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna/idnadata.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna/intranges.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna/package_data.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/idna/uts46data.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/LICENSE delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/_compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/changelog.rst delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/conf.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/index.rst delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/using.rst delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/data/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/data/example-21.12-py3-none-any.whl delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/data/example-21.12-py3.6.egg delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/fixtures.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_api.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_integration.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_main.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_zip.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/LICENSE delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools/more.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools/recipes.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools/tests/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools/tests/test_more.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/more_itertools/tests/test_recipes.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE.APACHE delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE.BSD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging/__about__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging/_compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging/_structures.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging/markers.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging/requirements.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging/specifiers.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging/tags.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging/utils.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/packaging/version.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/LICENSE.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/entry_points.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/__main__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/build_env.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cache.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/base_command.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/cmdoptions.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/command_context.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/parser.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/req_command.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/status_codes.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/collector.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/check.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/completion.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/configuration.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/debug.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/download.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/freeze.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/hash.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/help.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/install.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/list.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/search.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/show.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/uninstall.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/wheel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/configuration.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/base.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/installed.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/source/legacy.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/wheel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/download.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/exceptions.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/index.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/legacy_resolve.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/locations.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/main.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/candidate.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/format_control.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/index.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/link.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/search_scope.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/selection_prefs.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/target_python.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/auth.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/cache.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/session.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/xmlrpc.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/check.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/freeze.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/generate_metadata.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/prepare.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/pep425tags.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/pyproject.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/constructors.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_file.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_install.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_set.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_tracker.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_uninstall.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/self_outdated_check.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/appdirs.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/deprecation.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/encoding.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/filesystem.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/filetypes.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/glibc.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/hashes.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/inject_securetransport.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/logging.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/marker_files.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/misc.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/models.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/packaging.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/setuptools_build.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/subprocess.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/temp_dir.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/typing.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/ui.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/unpacking.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/urls.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/virtualenv.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/bazaar.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/git.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/mercurial.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/subversion.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/versioncontrol.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_internal/wheel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/appdirs.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/_cmd.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/adapter.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/cache.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/controller.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/filewrapper.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/heuristics.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/serialize.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/wrapper.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/__main__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/cacert.pem delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/core.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/big5freq.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/big5prober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/chardistribution.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/charsetgroupprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/charsetprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cli/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cli/chardetect.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/codingstatemachine.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cp949prober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/enums.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/escprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/escsm.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/eucjpprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euckrfreq.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euckrprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euctwfreq.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euctwprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/gb2312freq.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/gb2312prober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/hebrewprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/jisfreq.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/jpcntx.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langbulgarianmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langcyrillicmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langgreekmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langhebrewmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langhungarianmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langthaimodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langturkishmodel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/latin1prober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcharsetprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcsgroupprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcssm.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sbcharsetprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sbcsgroupprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sjisprober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/universaldetector.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/utf8prober.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/version.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/ansi.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/ansitowin32.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/initialise.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/win32.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/winterm.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/contextlib2.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/misc.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/shutil.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/sysconfig.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/tarfile.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/database.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/index.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/locators.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/manifest.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/markers.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/metadata.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/resources.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/scripts.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/t32.exe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/t64.exe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/util.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/version.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/w32.exe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/w64.exe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/wheel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distro.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_ihatexml.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_inputstream.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_tokenizer.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/_base.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/datrie.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/py.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_utils.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/constants.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/base.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/lint.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/optionaltags.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/sanitizer.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/whitespace.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/html5parser.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/serializer.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treeadapters/sax.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treebuilders/base.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treebuilders/dom.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treebuilders/etree.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treewalkers/base.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treewalkers/dom.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treewalkers/etree.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/idna/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/idna/codec.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/idna/compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/idna/core.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/idna/idnadata.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/idna/intranges.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/idna/package_data.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/idna/uts46data.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/ipaddress.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/msgpack/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/msgpack/_version.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/msgpack/exceptions.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/msgpack/fallback.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/packaging/__about__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/packaging/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/packaging/_compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/packaging/_structures.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/packaging/markers.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/packaging/requirements.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/packaging/specifiers.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/packaging/tags.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/packaging/utils.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/packaging/version.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pep517/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pep517/build.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pep517/check.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pep517/colorlog.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pep517/compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pep517/dirtools.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pep517/envbuild.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pep517/meta.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pep517/wrappers.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pkg_resources/py31compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/progress/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/progress/bar.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/progress/counter.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/progress/spinner.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pyparsing.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pytoml/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pytoml/core.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pytoml/parser.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pytoml/test.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pytoml/utils.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/pytoml/writer.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/__version__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/_internal_utils.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/adapters.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/api.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/auth.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/certs.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/cookies.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/exceptions.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/help.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/hooks.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/models.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/packages.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/sessions.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/status_codes.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/structures.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/requests/utils.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/retrying.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/six.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/_collections.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/connection.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/connectionpool.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/appengine.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/securetransport.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/contrib/socks.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/exceptions.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/fields.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/filepost.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/packages/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/packages/six.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/poolmanager.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/request.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/response.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/util/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/util/connection.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/util/queue.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/util/request.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/util/response.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/util/retry.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/util/ssl_.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/util/timeout.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/util/url.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/urllib3/util/wait.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/webencodings/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/webencodings/labels.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/webencodings/mklabels.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/webencodings/tests.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/webencodings/x_user_defined.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/appdirs.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/__about__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_structures.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/markers.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/requirements.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/specifiers.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/utils.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/version.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/_vendor/six.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/extern/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pkg_resources/py31compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy-0.13.0.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy-0.13.0.dist-info/LICENSE delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy-0.13.0.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy-0.13.0.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy-0.13.0.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy-0.13.0.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy/_tracing.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy/_version.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy/callers.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy/hooks.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pluggy/manager.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py-1.8.0.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py-1.8.0.dist-info/LICENSE delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py-1.8.0.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py-1.8.0.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py-1.8.0.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py-1.8.0.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/__metainfo.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_builtin.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_code/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_code/_assertionnew.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_code/_assertionold.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_code/_py2traceback.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_code/assertion.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_code/code.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_code/source.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_error.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_io/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_io/capture.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_io/saferepr.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_io/terminalwriter.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_log/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_log/log.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_log/warning.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_path/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_path/cacheutil.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_path/common.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_path/local.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_path/svnurl.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_path/svnwc.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_process/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_process/cmdexec.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_process/forkedfunc.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_process/killproc.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_std.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_vendored_packages/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_vendored_packages/apipkg.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_vendored_packages/iniconfig.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_version.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/_xmlgen.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/py/test.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pycrypto-2.6.1.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pycrypto-2.6.1.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pycrypto-2.6.1.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pycrypto-2.6.1.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pycrypto-2.6.1.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pyparsing-2.4.2.dist-info/DESCRIPTION.rst delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pyparsing-2.4.2.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pyparsing-2.4.2.dist-info/LICENSE.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pyparsing-2.4.2.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pyparsing-2.4.2.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pyparsing-2.4.2.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pyparsing-2.4.2.dist-info/metadata.json delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pyparsing-2.4.2.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/pyparsing.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests-2.22.0.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests-2.22.0.dist-info/LICENSE delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests-2.22.0.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests-2.22.0.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests-2.22.0.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests-2.22.0.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/__version__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/_internal_utils.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/adapters.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/api.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/auth.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/certs.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/cookies.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/exceptions.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/help.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/hooks.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/models.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/packages.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/sessions.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/status_codes.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/structures.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/requests/utils.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools-41.4.0.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools-41.4.0.dist-info/LICENSE delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools-41.4.0.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools-41.4.0.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools-41.4.0.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools-41.4.0.dist-info/dependency_links.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools-41.4.0.dist-info/entry_points.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools-41.4.0.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools-41.4.0.dist-info/zip-safe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_deprecation_warning.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/ordered_set.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/packaging/__about__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/packaging/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/packaging/_compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/packaging/_structures.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/packaging/markers.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/packaging/requirements.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/packaging/specifiers.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/packaging/utils.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/packaging/version.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/pyparsing.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/_vendor/six.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/archive_util.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/build_meta.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/cli-32.exe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/cli-64.exe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/cli.exe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/alias.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/bdist_egg.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/bdist_rpm.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/bdist_wininst.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/build_clib.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/build_ext.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/build_py.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/develop.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/dist_info.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/easy_install.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/egg_info.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/install.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/install_egg_info.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/install_lib.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/install_scripts.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/launcher manifest.xml delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/py36compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/register.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/rotate.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/saveopts.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/sdist.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/setopt.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/test.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/upload.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/command/upload_docs.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/config.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/dep_util.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/depends.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/dist.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/extension.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/extern/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/glibc.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/glob.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/gui-32.exe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/gui-64.exe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/gui.exe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/launch.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/lib2to3_ex.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/monkey.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/msvc.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/namespaces.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/package_index.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/pep425tags.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/py27compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/py31compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/py33compat.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/sandbox.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/script (dev).tmpl delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/script.tmpl delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/site-patch.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/ssl_support.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/unicode_utils.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/version.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/wheel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/setuptools/windows_support.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/six-1.12.0.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/six-1.12.0.dist-info/LICENSE delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/six-1.12.0.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/six-1.12.0.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/six-1.12.0.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/six-1.12.0.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/six.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3-1.25.6.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3-1.25.6.dist-info/LICENSE.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3-1.25.6.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3-1.25.6.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3-1.25.6.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3-1.25.6.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/_collections.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/connection.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/connectionpool.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/contrib/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/contrib/_appengine_environ.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/contrib/_securetransport/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/contrib/_securetransport/bindings.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/contrib/_securetransport/low_level.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/contrib/appengine.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/contrib/ntlmpool.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/contrib/pyopenssl.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/contrib/securetransport.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/contrib/socks.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/exceptions.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/fields.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/filepost.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/packages/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/packages/backports/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/packages/backports/makefile.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/packages/six.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/packages/ssl_match_hostname/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/packages/ssl_match_hostname/_implementation.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/poolmanager.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/request.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/response.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/util/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/util/connection.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/util/queue.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/util/request.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/util/response.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/util/retry.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/util/ssl_.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/util/timeout.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/util/url.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/urllib3/util/wait.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth-0.1.7.dist-info/DESCRIPTION.rst delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth-0.1.7.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth-0.1.7.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth-0.1.7.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth-0.1.7.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth-0.1.7.dist-info/metadata.json delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth-0.1.7.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth-0.1.7.dist-info/zip-safe delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth/table_wide.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth/table_zero.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth/tests/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth/tests/test_core.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wcwidth/wcwidth.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel-0.33.6.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel-0.33.6.dist-info/LICENSE.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel-0.33.6.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel-0.33.6.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel-0.33.6.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel-0.33.6.dist-info/entry_points.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel-0.33.6.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/__main__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/bdist_wheel.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/cli/__init__.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/cli/convert.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/cli/pack.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/cli/unpack.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/metadata.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/pep425tags.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/pkginfo.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/util.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/wheel/wheelfile.py delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/zipp-0.6.0.dist-info/INSTALLER delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/zipp-0.6.0.dist-info/LICENSE delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/zipp-0.6.0.dist-info/METADATA delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/zipp-0.6.0.dist-info/RECORD delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/zipp-0.6.0.dist-info/WHEEL delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/zipp-0.6.0.dist-info/top_level.txt delete mode 100644 .tox/py37-normal/lib/python3.7/site-packages/zipp.py delete mode 100644 .tox/py37-normal/lib/python3.7/site.py delete mode 120000 .tox/py37-normal/lib/python3.7/sre_compile.py delete mode 120000 .tox/py37-normal/lib/python3.7/sre_constants.py delete mode 120000 .tox/py37-normal/lib/python3.7/sre_parse.py delete mode 120000 .tox/py37-normal/lib/python3.7/stat.py delete mode 120000 .tox/py37-normal/lib/python3.7/struct.py delete mode 120000 .tox/py37-normal/lib/python3.7/tarfile.py delete mode 120000 .tox/py37-normal/lib/python3.7/tempfile.py delete mode 120000 .tox/py37-normal/lib/python3.7/token.py delete mode 120000 .tox/py37-normal/lib/python3.7/tokenize.py delete mode 120000 .tox/py37-normal/lib/python3.7/types.py delete mode 120000 .tox/py37-normal/lib/python3.7/warnings.py delete mode 120000 .tox/py37-normal/lib/python3.7/weakref.py delete mode 100755 .tox/py37-normal/log/.lock delete mode 100644 .tox/py37-normal/log/py37-normal-0.log delete mode 100644 .tox/py37-normal/log/py37-normal-1.log diff --git a/.tox/.package.lock b/.tox/.package.lock deleted file mode 100755 index e69de29..0000000 diff --git a/.tox/log/.lock b/.tox/log/.lock deleted file mode 100755 index e69de29..0000000 diff --git a/.tox/log/GLOB-0.log b/.tox/log/GLOB-0.log deleted file mode 100644 index 16f01a7..0000000 --- a/.tox/log/GLOB-0.log +++ /dev/null @@ -1,54 +0,0 @@ -action: GLOB, msg: packaging -cwd: /home/amnesia/dev/mega.py -cmd: /home/amnesia/.pyenv/versions/3.7.4/envs/megapy/bin/python3.7 setup.py sdist --formats=zip --dist-dir /home/amnesia/dev/mega.py/.tox/dist -running sdist -running egg_info -writing src/mega.py.egg-info/PKG-INFO -writing dependency_links to src/mega.py.egg-info/dependency_links.txt -writing requirements to src/mega.py.egg-info/requires.txt -writing top-level names to src/mega.py.egg-info/top_level.txt -reading manifest file 'src/mega.py.egg-info/SOURCES.txt' -writing manifest file 'src/mega.py.egg-info/SOURCES.txt' -running check -warning: check: missing required meta-data: url - -creating mega.py-0.9.17 -creating mega.py-0.9.17/src -creating mega.py-0.9.17/src/mega -creating mega.py-0.9.17/src/mega.py.egg-info -copying files to mega.py-0.9.17... -copying README.rst -> mega.py-0.9.17 -copying setup.cfg -> mega.py-0.9.17 -copying setup.py -> mega.py-0.9.17 -copying src/mega/__init__.py -> mega.py-0.9.17/src/mega -copying src/mega/crypto.py -> mega.py-0.9.17/src/mega -copying src/mega/errors.py -> mega.py-0.9.17/src/mega -copying src/mega/mega.py -> mega.py-0.9.17/src/mega -copying src/mega.py.egg-info/PKG-INFO -> mega.py-0.9.17/src/mega.py.egg-info -copying src/mega.py.egg-info/SOURCES.txt -> mega.py-0.9.17/src/mega.py.egg-info -copying src/mega.py.egg-info/dependency_links.txt -> mega.py-0.9.17/src/mega.py.egg-info -copying src/mega.py.egg-info/not-zip-safe -> mega.py-0.9.17/src/mega.py.egg-info -copying src/mega.py.egg-info/requires.txt -> mega.py-0.9.17/src/mega.py.egg-info -copying src/mega.py.egg-info/top_level.txt -> mega.py-0.9.17/src/mega.py.egg-info -Writing mega.py-0.9.17/setup.cfg -creating /home/amnesia/dev/mega.py/.tox/dist -creating '/home/amnesia/dev/mega.py/.tox/dist/mega.py-0.9.17.zip' and adding 'mega.py-0.9.17' to it -adding 'mega.py-0.9.17' -adding 'mega.py-0.9.17/src' -adding 'mega.py-0.9.17/README.rst' -adding 'mega.py-0.9.17/setup.py' -adding 'mega.py-0.9.17/PKG-INFO' -adding 'mega.py-0.9.17/setup.cfg' -adding 'mega.py-0.9.17/src/mega.py.egg-info' -adding 'mega.py-0.9.17/src/mega' -adding 'mega.py-0.9.17/src/mega.py.egg-info/PKG-INFO' -adding 'mega.py-0.9.17/src/mega.py.egg-info/top_level.txt' -adding 'mega.py-0.9.17/src/mega.py.egg-info/dependency_links.txt' -adding 'mega.py-0.9.17/src/mega.py.egg-info/not-zip-safe' -adding 'mega.py-0.9.17/src/mega.py.egg-info/requires.txt' -adding 'mega.py-0.9.17/src/mega.py.egg-info/SOURCES.txt' -adding 'mega.py-0.9.17/src/mega/errors.py' -adding 'mega.py-0.9.17/src/mega/mega.py' -adding 'mega.py-0.9.17/src/mega/crypto.py' -adding 'mega.py-0.9.17/src/mega/__init__.py' -removing 'mega.py-0.9.17' (and everything under it) diff --git a/.tox/py37-normal/bin/activate b/.tox/py37-normal/bin/activate deleted file mode 100644 index 5f1a0f3..0000000 --- a/.tox/py37-normal/bin/activate +++ /dev/null @@ -1,84 +0,0 @@ -# This file must be used with "source bin/activate" *from bash* -# you cannot run it directly - - -if [ "${BASH_SOURCE-}" = "$0" ]; then - echo "You must source this script: \$ source $0" >&2 - exit 33 -fi - -deactivate () { - unset -f pydoc >/dev/null 2>&1 - - # reset old environment variables - # ! [ -z ${VAR+_} ] returns true if VAR is declared at all - if ! [ -z "${_OLD_VIRTUAL_PATH:+_}" ] ; then - PATH="$_OLD_VIRTUAL_PATH" - export PATH - unset _OLD_VIRTUAL_PATH - fi - if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then - PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME" - export PYTHONHOME - unset _OLD_VIRTUAL_PYTHONHOME - fi - - # This should detect bash and zsh, which have a hash command that must - # be called to get it to forget past commands. Without forgetting - # past commands the $PATH changes we made may not be respected - if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then - hash -r 2>/dev/null - fi - - if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then - PS1="$_OLD_VIRTUAL_PS1" - export PS1 - unset _OLD_VIRTUAL_PS1 - fi - - unset VIRTUAL_ENV - if [ ! "${1-}" = "nondestructive" ] ; then - # Self destruct! - unset -f deactivate - fi -} - -# unset irrelevant variables -deactivate nondestructive - -VIRTUAL_ENV="/home/amnesia/dev/mega.py/.tox/py37-normal" -export VIRTUAL_ENV - -_OLD_VIRTUAL_PATH="$PATH" -PATH="$VIRTUAL_ENV/bin:$PATH" -export PATH - -# unset PYTHONHOME if set -if ! [ -z "${PYTHONHOME+_}" ] ; then - _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME" - unset PYTHONHOME -fi - -if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then - _OLD_VIRTUAL_PS1="${PS1-}" - if [ "x" != x ] ; then - PS1="${PS1-}" - else - PS1="(`basename \"$VIRTUAL_ENV\"`) ${PS1-}" - fi - export PS1 -fi - -# Make sure to unalias pydoc if it's already there -alias pydoc 2>/dev/null >/dev/null && unalias pydoc || true - -pydoc () { - python -m pydoc "$@" -} - -# This should detect bash and zsh, which have a hash command that must -# be called to get it to forget past commands. Without forgetting -# past commands the $PATH changes we made may not be respected -if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then - hash -r 2>/dev/null -fi diff --git a/.tox/py37-normal/bin/activate.csh b/.tox/py37-normal/bin/activate.csh deleted file mode 100644 index 0f1fd38..0000000 --- a/.tox/py37-normal/bin/activate.csh +++ /dev/null @@ -1,55 +0,0 @@ -# This file must be used with "source bin/activate.csh" *from csh*. -# You cannot run it directly. -# Created by Davide Di Blasi . - -set newline='\ -' - -alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH:q" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT:q" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate && unalias pydoc' - -# Unset irrelevant variables. -deactivate nondestructive - -setenv VIRTUAL_ENV "/home/amnesia/dev/mega.py/.tox/py37-normal" - -set _OLD_VIRTUAL_PATH="$PATH:q" -setenv PATH "$VIRTUAL_ENV:q/bin:$PATH:q" - - - -if ("" != "") then - set env_name = "" -else - set env_name = '('"$VIRTUAL_ENV:t:q"') ' -endif - -if ( $?VIRTUAL_ENV_DISABLE_PROMPT ) then - if ( $VIRTUAL_ENV_DISABLE_PROMPT == "" ) then - set do_prompt = "1" - else - set do_prompt = "0" - endif -else - set do_prompt = "1" -endif - -if ( $do_prompt == "1" ) then - # Could be in a non-interactive environment, - # in which case, $prompt is undefined and we wouldn't - # care about the prompt anyway. - if ( $?prompt ) then - set _OLD_VIRTUAL_PROMPT="$prompt:q" - if ( "$prompt:q" =~ *"$newline:q"* ) then - : - else - set prompt = "$env_name:q$prompt:q" - endif - endif -endif - -unset env_name -unset do_prompt - -alias pydoc python -m pydoc - -rehash diff --git a/.tox/py37-normal/bin/activate.fish b/.tox/py37-normal/bin/activate.fish deleted file mode 100644 index 23d75f1..0000000 --- a/.tox/py37-normal/bin/activate.fish +++ /dev/null @@ -1,102 +0,0 @@ -# This file must be used using `source bin/activate.fish` *within a running fish ( http://fishshell.com ) session*. -# Do not run it directly. - -function _bashify_path -d "Converts a fish path to something bash can recognize" - set fishy_path $argv - set bashy_path $fishy_path[1] - for path_part in $fishy_path[2..-1] - set bashy_path "$bashy_path:$path_part" - end - echo $bashy_path -end - -function _fishify_path -d "Converts a bash path to something fish can recognize" - echo $argv | tr ':' '\n' -end - -function deactivate -d 'Exit virtualenv mode and return to the normal environment.' - # reset old environment variables - if test -n "$_OLD_VIRTUAL_PATH" - # https://github.com/fish-shell/fish-shell/issues/436 altered PATH handling - if test (echo $FISH_VERSION | tr "." "\n")[1] -lt 3 - set -gx PATH (_fishify_path $_OLD_VIRTUAL_PATH) - else - set -gx PATH $_OLD_VIRTUAL_PATH - end - set -e _OLD_VIRTUAL_PATH - end - - if test -n "$_OLD_VIRTUAL_PYTHONHOME" - set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME - set -e _OLD_VIRTUAL_PYTHONHOME - end - - if test -n "$_OLD_FISH_PROMPT_OVERRIDE" - and functions -q _old_fish_prompt - # Set an empty local `$fish_function_path` to allow the removal of `fish_prompt` using `functions -e`. - set -l fish_function_path - - # Erase virtualenv's `fish_prompt` and restore the original. - functions -e fish_prompt - functions -c _old_fish_prompt fish_prompt - functions -e _old_fish_prompt - set -e _OLD_FISH_PROMPT_OVERRIDE - end - - set -e VIRTUAL_ENV - - if test "$argv[1]" != 'nondestructive' - # Self-destruct! - functions -e pydoc - functions -e deactivate - functions -e _bashify_path - functions -e _fishify_path - end -end - -# Unset irrelevant variables. -deactivate nondestructive - -set -gx VIRTUAL_ENV "/home/amnesia/dev/mega.py/.tox/py37-normal" - -# https://github.com/fish-shell/fish-shell/issues/436 altered PATH handling -if test (echo $FISH_VERSION | tr "." "\n")[1] -lt 3 - set -gx _OLD_VIRTUAL_PATH (_bashify_path $PATH) -else - set -gx _OLD_VIRTUAL_PATH $PATH -end -set -gx PATH "$VIRTUAL_ENV/bin" $PATH - -# Unset `$PYTHONHOME` if set. -if set -q PYTHONHOME - set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME - set -e PYTHONHOME -end - -function pydoc - python -m pydoc $argv -end - -if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" - # Copy the current `fish_prompt` function as `_old_fish_prompt`. - functions -c fish_prompt _old_fish_prompt - - function fish_prompt - # Save the current $status, for fish_prompts that display it. - set -l old_status $status - - # Prompt override provided? - # If not, just prepend the environment name. - if test -n "" - printf '%s%s' "" (set_color normal) - else - printf '%s(%s) ' (set_color normal) (basename "$VIRTUAL_ENV") - end - - # Restore the original $status - echo "exit $old_status" | source - _old_fish_prompt - end - - set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" -end diff --git a/.tox/py37-normal/bin/activate.ps1 b/.tox/py37-normal/bin/activate.ps1 deleted file mode 100644 index 95504d3..0000000 --- a/.tox/py37-normal/bin/activate.ps1 +++ /dev/null @@ -1,60 +0,0 @@ -$script:THIS_PATH = $myinvocation.mycommand.path -$script:BASE_DIR = Split-Path (Resolve-Path "$THIS_PATH/..") -Parent - -function global:deactivate([switch] $NonDestructive) { - if (Test-Path variable:_OLD_VIRTUAL_PATH) { - $env:PATH = $variable:_OLD_VIRTUAL_PATH - Remove-Variable "_OLD_VIRTUAL_PATH" -Scope global - } - - if (Test-Path function:_old_virtual_prompt) { - $function:prompt = $function:_old_virtual_prompt - Remove-Item function:\_old_virtual_prompt - } - - if ($env:VIRTUAL_ENV) { - Remove-Item env:VIRTUAL_ENV -ErrorAction SilentlyContinue - } - - if (!$NonDestructive) { - # Self destruct! - Remove-Item function:deactivate - Remove-Item function:pydoc - } -} - -function global:pydoc { - python -m pydoc $args -} - -# unset irrelevant variables -deactivate -nondestructive - -$VIRTUAL_ENV = $BASE_DIR -$env:VIRTUAL_ENV = $VIRTUAL_ENV - -New-Variable -Scope global -Name _OLD_VIRTUAL_PATH -Value $env:PATH - -$env:PATH = "$env:VIRTUAL_ENV/bin:" + $env:PATH -if (!$env:VIRTUAL_ENV_DISABLE_PROMPT) { - function global:_old_virtual_prompt { - "" - } - $function:_old_virtual_prompt = $function:prompt - - if ("" -ne "") { - function global:prompt { - # Add the custom prefix to the existing prompt - $previous_prompt_value = & $function:_old_virtual_prompt - ("" + $previous_prompt_value) - } - } - else { - function global:prompt { - # Add a prefix to the current prompt, but don't discard it. - $previous_prompt_value = & $function:_old_virtual_prompt - $new_prompt_value = "($( Split-Path $env:VIRTUAL_ENV -Leaf )) " - ($new_prompt_value + $previous_prompt_value) - } - } -} diff --git a/.tox/py37-normal/bin/activate.xsh b/.tox/py37-normal/bin/activate.xsh deleted file mode 100644 index 706a922..0000000 --- a/.tox/py37-normal/bin/activate.xsh +++ /dev/null @@ -1,46 +0,0 @@ -"""Xonsh activate script for virtualenv""" -from xonsh.tools import get_sep as _get_sep - -def _deactivate(args): - if "pydoc" in aliases: - del aliases["pydoc"] - - if ${...}.get("_OLD_VIRTUAL_PATH", ""): - $PATH = $_OLD_VIRTUAL_PATH - del $_OLD_VIRTUAL_PATH - - if ${...}.get("_OLD_VIRTUAL_PYTHONHOME", ""): - $PYTHONHOME = $_OLD_VIRTUAL_PYTHONHOME - del $_OLD_VIRTUAL_PYTHONHOME - - if "VIRTUAL_ENV" in ${...}: - del $VIRTUAL_ENV - - if "VIRTUAL_ENV_PROMPT" in ${...}: - del $VIRTUAL_ENV_PROMPT - - if "nondestructive" not in args: - # Self destruct! - del aliases["deactivate"] - - -# unset irrelevant variables -_deactivate(["nondestructive"]) -aliases["deactivate"] = _deactivate - -$VIRTUAL_ENV = r"/home/amnesia/dev/mega.py/.tox/py37-normal" - -$_OLD_VIRTUAL_PATH = $PATH -$PATH = $PATH[:] -$PATH.add($VIRTUAL_ENV + _get_sep() + "bin", front=True, replace=True) - -if ${...}.get("PYTHONHOME", ""): - # unset PYTHONHOME if set - $_OLD_VIRTUAL_PYTHONHOME = $PYTHONHOME - del $PYTHONHOME - -$VIRTUAL_ENV_PROMPT = "" -if not $VIRTUAL_ENV_PROMPT: - del $VIRTUAL_ENV_PROMPT - -aliases["pydoc"] = ["python", "-m", "pydoc"] diff --git a/.tox/py37-normal/bin/activate_this.py b/.tox/py37-normal/bin/activate_this.py deleted file mode 100644 index aa96457..0000000 --- a/.tox/py37-normal/bin/activate_this.py +++ /dev/null @@ -1,46 +0,0 @@ -"""Activate virtualenv for current interpreter: - -Use exec(open(this_file).read(), {'__file__': this_file}). - -This can be used when you must use an existing Python interpreter, not the virtualenv bin/python. -""" -import os -import site -import sys - -try: - __file__ -except NameError: - raise AssertionError("You must use exec(open(this_file).read(), {'__file__': this_file}))") - -# prepend bin to PATH (this file is inside the bin directory) -bin_dir = os.path.dirname(os.path.abspath(__file__)) -os.environ["PATH"] = os.pathsep.join([bin_dir] + os.environ.get("PATH", "").split(os.pathsep)) - -base = os.path.dirname(bin_dir) - -# virtual env is right above bin directory -os.environ["VIRTUAL_ENV"] = base - -# add the virtual environments site-package to the host python import mechanism -IS_PYPY = hasattr(sys, "pypy_version_info") -IS_JYTHON = sys.platform.startswith("java") -if IS_JYTHON: - site_packages = os.path.join(base, "Lib", "site-packages") -elif IS_PYPY: - site_packages = os.path.join(base, "site-packages") -else: - IS_WIN = sys.platform == "win32" - if IS_WIN: - site_packages = os.path.join(base, "Lib", "site-packages") - else: - site_packages = os.path.join(base, "lib", "python{}.{}".format(*sys.version_info), "site-packages") - -prev = set(sys.path) -site.addsitedir(site_packages) -sys.real_prefix = sys.prefix -sys.prefix = base - -# Move the added items to the front of the path, in place -new = list(sys.path) -sys.path[:] = [i for i in new if i not in prev] + [i for i in new if i in prev] diff --git a/.tox/py37-normal/bin/chardetect b/.tox/py37-normal/bin/chardetect deleted file mode 100755 index 239e0cb..0000000 --- a/.tox/py37-normal/bin/chardetect +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/amnesia/dev/mega.py/.tox/py37-normal/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from chardet.cli.chardetect import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.tox/py37-normal/bin/easy_install b/.tox/py37-normal/bin/easy_install deleted file mode 100755 index d1ac467..0000000 --- a/.tox/py37-normal/bin/easy_install +++ /dev/null @@ -1,10 +0,0 @@ -#!/home/amnesia/dev/mega.py/.tox/py37-normal/bin/python3.7 -# -*- coding: utf-8 -*- -import re -import sys - -from setuptools.command.easy_install import main - -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.tox/py37-normal/bin/easy_install-3.7 b/.tox/py37-normal/bin/easy_install-3.7 deleted file mode 100755 index d1ac467..0000000 --- a/.tox/py37-normal/bin/easy_install-3.7 +++ /dev/null @@ -1,10 +0,0 @@ -#!/home/amnesia/dev/mega.py/.tox/py37-normal/bin/python3.7 -# -*- coding: utf-8 -*- -import re -import sys - -from setuptools.command.easy_install import main - -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.tox/py37-normal/bin/pip b/.tox/py37-normal/bin/pip deleted file mode 100755 index b569b4a..0000000 --- a/.tox/py37-normal/bin/pip +++ /dev/null @@ -1,10 +0,0 @@ -#!/home/amnesia/dev/mega.py/.tox/py37-normal/bin/python3.7 -# -*- coding: utf-8 -*- -import re -import sys - -from pip._internal.main import main - -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.tox/py37-normal/bin/pip3 b/.tox/py37-normal/bin/pip3 deleted file mode 100755 index b569b4a..0000000 --- a/.tox/py37-normal/bin/pip3 +++ /dev/null @@ -1,10 +0,0 @@ -#!/home/amnesia/dev/mega.py/.tox/py37-normal/bin/python3.7 -# -*- coding: utf-8 -*- -import re -import sys - -from pip._internal.main import main - -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.tox/py37-normal/bin/pip3.7 b/.tox/py37-normal/bin/pip3.7 deleted file mode 100755 index b569b4a..0000000 --- a/.tox/py37-normal/bin/pip3.7 +++ /dev/null @@ -1,10 +0,0 @@ -#!/home/amnesia/dev/mega.py/.tox/py37-normal/bin/python3.7 -# -*- coding: utf-8 -*- -import re -import sys - -from pip._internal.main import main - -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.tox/py37-normal/bin/python b/.tox/py37-normal/bin/python deleted file mode 120000 index 940bee3..0000000 --- a/.tox/py37-normal/bin/python +++ /dev/null @@ -1 +0,0 @@ -python3.7 \ No newline at end of file diff --git a/.tox/py37-normal/bin/python-config b/.tox/py37-normal/bin/python-config deleted file mode 100755 index fce1758..0000000 --- a/.tox/py37-normal/bin/python-config +++ /dev/null @@ -1,78 +0,0 @@ -#!/home/amnesia/dev/mega.py/.tox/py37-normal/bin/python - -import sys -import getopt -import sysconfig - -valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', - 'ldflags', 'help'] - -if sys.version_info >= (3, 2): - valid_opts.insert(-1, 'extension-suffix') - valid_opts.append('abiflags') -if sys.version_info >= (3, 3): - valid_opts.append('configdir') - - -def exit_with_usage(code=1): - sys.stderr.write("Usage: {0} [{1}]\n".format( - sys.argv[0], '|'.join('--'+opt for opt in valid_opts))) - sys.exit(code) - -try: - opts, args = getopt.getopt(sys.argv[1:], '', valid_opts) -except getopt.error: - exit_with_usage() - -if not opts: - exit_with_usage() - -pyver = sysconfig.get_config_var('VERSION') -getvar = sysconfig.get_config_var - -opt_flags = [flag for (flag, val) in opts] - -if '--help' in opt_flags: - exit_with_usage(code=0) - -for opt in opt_flags: - if opt == '--prefix': - print(sysconfig.get_config_var('prefix')) - - elif opt == '--exec-prefix': - print(sysconfig.get_config_var('exec_prefix')) - - elif opt in ('--includes', '--cflags'): - flags = ['-I' + sysconfig.get_path('include'), - '-I' + sysconfig.get_path('platinclude')] - if opt == '--cflags': - flags.extend(getvar('CFLAGS').split()) - print(' '.join(flags)) - - elif opt in ('--libs', '--ldflags'): - abiflags = getattr(sys, 'abiflags', '') - libs = ['-lpython' + pyver + abiflags] - libs += getvar('LIBS').split() - libs += getvar('SYSLIBS').split() - # add the prefix/lib/pythonX.Y/config dir, but only if there is no - # shared library in prefix/lib/. - if opt == '--ldflags': - if not getvar('Py_ENABLE_SHARED'): - libs.insert(0, '-L' + getvar('LIBPL')) - if not getvar('PYTHONFRAMEWORK'): - libs.extend(getvar('LINKFORSHARED').split()) - print(' '.join(libs)) - - elif opt == '--extension-suffix': - ext_suffix = sysconfig.get_config_var('EXT_SUFFIX') - if ext_suffix is None: - ext_suffix = sysconfig.get_config_var('SO') - print(ext_suffix) - - elif opt == '--abiflags': - if not getattr(sys, 'abiflags', None): - exit_with_usage() - print(sys.abiflags) - - elif opt == '--configdir': - print(sysconfig.get_config_var('LIBPL')) diff --git a/.tox/py37-normal/bin/python3 b/.tox/py37-normal/bin/python3 deleted file mode 120000 index 940bee3..0000000 --- a/.tox/py37-normal/bin/python3 +++ /dev/null @@ -1 +0,0 @@ -python3.7 \ No newline at end of file diff --git a/.tox/py37-normal/bin/python3.7 b/.tox/py37-normal/bin/python3.7 deleted file mode 100755 index 084c57cb54bb297327b9201c2b0ffd8644ea0ccd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16133488 zcmafc30O?u8~>eY%9P5qNDG=4se~kC%V^$E&pNtmQR0|mLy)%QW{U>BSIy4|KHL9 z-a{fSkuDNp)AB%i`?v`v{wb4_F)b~npYwpv;TGWc|9`KfdDJvgA5&ZkEwCkNDed>6 zix7 zYJ-m_j2Y;<6ZwsNK=zOh5~NSUMfCs$5A-HL6$(y$vPVzO6fPy?2&nxDPB950o&#h& zRnFxacYLmS>^_O9xR~}#Z{6Q^CKxUst1e1l~BKCW6+(45@8Ss>-5q5Euoq&~0*|2|6&#)=<;dlns&YxE*jZ}R_z8+!j(P$=n4J?(@hLv1M$G3@0!;qb9!1ti#J9Zi=%mUR_c^PPEZzy&5sA)?R?nciJakT zB0-~)p<=Bv$3wwEXn7;Wj#IX*cEf!AWh~p@=a_Bxbho^R$5^yb9G4ewM@nW_Z zwVlJ_a*Rxsc^rWn$K;f$qhK?|v$Esc@u2g>34%tkWe$($(g@zp==tqjJ-pM`Cb}(#Z%nb|#Vi(Az@u1fBPvEnO_T81&@YrJmrrSP+2bwa*jB;f z8eoKM2fr&E3H!z?i){w!Y#qUv!)x@8X!bnyZ?s(d4d#gpT(w^3}9Mjn?^1tV0# zTvLvr`b3JGwu8k!mq1l%DoRWb@CB5I&?ScA#!(3zD-M@36jLHKipP^vq~w$?a}A29 zeH3M`EN{-`SaH>Sc#0B^GR4y7S7t)pY%yCX@0dvCSt^(raSpOLuF!5iMcGq4HYMiR z3v;L{PC~g{ImOqZSUtGG6gwK4$>Zh(LNePpXo)mLoCF>v$EUb*6raPQ!~%{$&S^`c zfGsHJQ!JPwv?m*=ajoKEM6e-D+}U>OA!nkdi$zRAs*3@o5VKV*cHwfPl{Mrk1-pqb+ za4ajyW=;&nF^3F+bTgzl93}Od0h*rt1j^3Ez=0cMsJ<^cnUaH6LsxQm_7qz{an+$; zxtScwpr&JRr)-6{YM6pL7r6?+RBN|o|+Z-k%MUEjQWI5S!lwuBDHrAFnnDV(S-aade zONm)RibW+rC-LGS2#?{Dl$dMGHi=PSQ_4mOT=^@BH3^n>9nmg4O2LpD2OrU*@^}vD zqhOZnKyk!rt`3xdLs^I^HMUs2AC)Miz-2=YJ5D`;$CXQ%!J_!_kOo3-juMX#{nA%$ zjE{g4^Iq;}#i4W*c)WoXCdDo|AUK8JS{{fC#_}z)HXxz&gMNKomd>hy!c}BmuSnB!G0lc7RlNz;*^86R;Do3$O=} z4afoP2jl_{01g3;0*(QW15N;t6q523l&1kjWdA&r7XX(4C4f>u8K44i1#lH`9dHwX zy;2N;ljLnw^_CV+tebHHH05P&7X3V_5K z%8`IkWZwqL(PVo(l(uAh0+a%P1HcjB1aJi)af5O)z#T9R;02fo@CD2U_yPO@A^?&A zDCYv^k$uF?C)+_#E(9zl`%9o)1_%c%2do6F0;~qC1*`*X07L^~0UH7FfK7nSfFwW) zAQd11qyx4Cb^?&>f^s)t4(21 zvW@m%lkH|G-vC+wt$=nw2jCN+3-BHA6M*Colq`9eq5xa~5=AI`0+a!204;zvKnI`) z=m+Qz-~*5tL1_#y0Sp9~0n7n|08$wY+rt54022Uq07rlmz!~5MKq7>4I@z89r8mF_ z;0u@qm<{j)AejSYAYcJtAs_^RBoxXe0Cb6M86X0%9Iz4)30Mn25=Bb19ShrWfOtS6 zAPImZ8A=J+-U{V*KqerIaC@QL4>$lg2*?8*0U*hT@;IQ7?4N}4G~f*2ET9;09&iD0 z5pW4m3Md0y0aOC60;&MF0Ji~m0rvn80gnLnfX9Faz%#&0z-vGgpaswhcn4?$d;lQn zfbt{Y6QC3D8Sn-04e%ZC3qZlSCJTUsO-gwv6#zW|=v-6!gVhy`o{AW497GawO=OgIUYTLI~S z?SM=`Heeqh7l7m-DG!tKC@J%yJPs%ToB$L8P6CjehVl&HET9;09#8@(1C#?U1Fit7 z05IsOo9rWfUD(zm`~66%4<#R905Aj?0R{j} z07%TBv;bHFh66?bYyhJH;{dh*0RV|Tlul$D?YqFX8(<1RNO(^uy~(x@DUt4M*!Bm^ z0R#X70l|P!Ko|f?1eB3vdp#+mpcDh50WpABz(znkU=tt#kOW8pNC4Xa>3|)8Ou%jc zk}N3q0I~sl0s8<*a-lo~I085dI0ncE6aWeVCjn;w=K$vc7Xg<5C4e$OIp7N5DxeB* z18@sa4Y&=s1E>Wcc}PmU2j?$j{}Gh+fX9Fa!bx?W!2WZ<3&2ajYd{mA1<(d)2fPP- z0CWI80zLt{06zfmC7)se*Z?FwpyUF20#pIL0C2sI(g0`y`T(>6I)J`_egGu;P#OY^ z$o@bm%>aYRz9p2_fRTVvfYE?4fboC{0Cc?vt{PBI0Jv~QxdM<(hEfRd089sX0=xh| zfLQ=PfCzwOE|h_Q`G8=;ErxOl*+x3cU^|@bFNbm^U=?6B;gHUH*p33g)eI^Tumz9` zK(Yyx@^lE^ZYe_N9m6Ls8I4~kHF|2iyf`vcjEgHuaZe8FGlWJ7&JX_eOXa=lfvB4 z&1!NLR&zxo`pWNrb7?r65DC_2n=?88~9D$ z`&;Fzqu$dmJ7*PYTR(Eluv`#$AbV_)UiIV;Q3Ex7njF6@V0rbcwdh>cA^)H(#A?`8 zm!-S&qGygTm{fiBkMo1*EU(Ci4&Q6PcbdsJl(saj+H`2W&Y+uVBVs#jsioI*jC$m} zvhbAHuBsjVDXH&^MLwyW8cS5}3|{!OWJ#i{Rm@b5;NvviPp_0W$ytu<=Cgm_zO%a_ z_~jvPRfO+F#pmxf>(q6dtnsetoNy<#Ow4&*q}u9me!-pVKP1=F4%ZY2YrJw?H%-iU zHHdC~zxVlUsjt6W`BYv_AaI5%U%n{u0#D~Fuwx^r!ymulV)@ zg80c=bp~(NTc&fYlqw@X`<;Dq>GsLJX)ol*4l8$WcYSp8%&k`QxK3_(dtTI5W&R=TR{D*X^1IIkzSC)s)6Z*7+Zr)6YE{2+acrLfZ6Udv1nuf? zPhI<(lDhKy`w7)gr+v15aAabb@8Hk>eV=82YjoBp3$-766;CIA>VGeI{hkMb%N>*7 zvHipE4qYuaG#WZu@x=lCvaVg}>Id@b8l9^j_V}Qq?e#g&-tl2uVV}{5Yrgs?1njgq z6?dDn!MBMj&bpvq7Sh1`8o$wCU94`b276S#oqfU7u*PBsDpio9^je|Q`RZ@4Egmt4 zLPZ1CEPQdGJF&oH-{g5OE*wnhX>n^!uFf9Aw?DNa{}XrgPL;2y&Dpe2b^h+xo?%NZ zB25o_swU?2yq3zp?*A>nwaaz<$D&DkBb0p~ua7qF74-%bKIWWyt zlat|Gr8eACH`cXp;`-nFZytBnU5$I+Px=ZdB8_ZM6US#X#?6 zXSM5`Ggq8Qxwy&eYRZwK`d^nzuY}yK%hIZd;GI3N#Wgi*)UBFi*XDHb&OxKIb^In@ zzu-Tl`SH98hgSzO(??~0j``r<^uBb@E9`P?$g-$ksiXa?g<)6TefCVRx~SCe%>Jl1EBaQJnFrTZ{V)&BcY9Sn&1Xqk zK#!jpcf_3)=0(pQD5u`FS@L_M?jyg!cbBjd;*+W@2RBPrh5pG?n9sZXYp?l5mlYGX zF8<`3c53Eov(bKsfNqyEd*ix}VlLT4|4M@u<*KzQ(=X|I;!1sMV7C z%k<)CU9mtmkNJhhUcD^> zeYvWKazg%$I2EGyU=SOvKuD*YL z)RA4LRqOxodCoV2s*DzQ`RExJeep7QS{KCe8tbZ3mwe7vl&<l}E$I zHF-wvH`o?X#bvEJ|Lw$4%N|pQmrv^9=ec3HTg=lWmH5oim4n3AtM7d;GMkiV>s3)Q z<7erS{6gn%grQ_%-MR8n+sNa?mu~YY?9)E!NzMBU4QFic zW~Hwml(*0_c}MLn{^#LW7kyi!UiM}nZ@*{HNTKF{0ouu14)}PE6t_LhZg}}&#~n`- zx%nj{Ty@vJUGLQVPN)3!nM>1@c1&|i`S|IbkxHzwQu_F-wocK_qwXzQ>vv3?^ufPp zjaFFvgqgg9o%^(kU3Y54%=%X$6~Fc7i)TZZrfa1e7Qxai@N==Bt-oR~XUKILmqO0i&O5>rZ6v==sua&g1)0BNrw% zy{!_o|Ct`y-Ewfv=}>R@8TFEO;QQNaHlOKwb+2xM)9#7G^yaG;xXz!q`u3cR)4!JF z4&SR^uIQ??^rmZo`+}$1M%i&^uZ{0sS*Yh`4 z^(v2@65mjN?#e*@bDTPX^W$YceSf$N{B8E5Z*|=V^^?ax87j`5u+`(WaO1H}S#wg? zPUb%U?}&Hqqdngm@27uoa{rOtoicFg&Z9`M!~W3U{*~{ zfA(p)Mi)VDxl{S+BTcD;cN%j*l;^%WIA9 z=kV&whs))+@<&G;9zDS7tNP?=!R&z9PQOFD^Hq+W9Dd&>);lWM)vUwEu61Ph_npzP zRxKUxe5jpwSI12~c&Goz+>ilDfgg9hoV9n{;Sz22Y2wtZK{5K0#R;}8J%>+e;>wNu z(sJTQst0?_`^T=6ITBx;y2+>JKOFU5{PlQ)c;>0@S=sro;`@DBGs4h)@P&J7({((C zmA7b6_a22_zWO~>t>hFdd8$^}g5EXz*ub&+Y5Cpk@on5Rt+ZiVPHej~aH-Bu)xip# z`AU)hMZIpAmdQ3>QUC0|-h}T59*s*_@N^E_w0K0stnKFmmnDyjJ^SNW?Jz@=83V{2jfd(}-Ny8>N0o!9qNz4_~e z`MrM2{=6&m>$1a6!J z7r*b1UNIz$S33KMO3J2nwKjE6>+i<6%6C;x98sn5s7=r7W1;yXmQMVU=E+UN)MutQ z2sS@2al8J^Pvg|G7Q+uwDvQqPXl}lqahuhDNKuGtow=iaxI&%2pIhbal?Q8#oiulC z)0uC-<=%2X`|Xb>O>LU>@|W=@)|f4(ZTe0ZU!|>caa%cL--Kz0#w{K5{&IfLc~ivM zvnnri6#Q7cN1?dm`j}HQZ`a!PHxwLOZTh0ZFl180%rDL*d*@X&p4s$g*zx+UgX79< z47!K5_wbCKwsY7G-yX^tfxmB+UN_Y1Q8K#bTAth6j4`(Zm#wnYih6k~MRCT)&i>A7 zlK7%=SDsqW7PkI=y4GWC8?Soo$8$qg&6?AEzhFtz194zgoK+_2q`p?#y&$8ZG z{(Lm&!N{~d*BeeAs5smC^lkqEZ>%b;hU?qCJs*&;{lB&n?R%%6j#@pW2S0P*OZ+_gIk|s%o1E645B7aDQ!`Iho{sDL;aRkY`Gvd%NvD;>D~$(^Uaz`O zz4iC~{cel=ruE%-%U!#*YTI}F#^H0Hv>!H2bZ_47SzNKnFT0$b@ZS)ZPct{Gd#iF& zR)sz-SodeFhLzW(JEIRP7uW=yWSe+A<(PF&~PX8FE_$FJU7{Gf92 zE0=UZN$#5GEe3}dJBUkV@7gxjKZ1Yp z5+SLOpDzuzL<~h_58#^713Ge0O8w_GxhqrS6up|^zG8zE8QRN75Beg@O0SW z(5yQ(f#a%{9&H#D>XCk2u}Ih1Z+AfaqtN>g%ukx_|6KG%ynCuujO26uW3{%~>)h`( zy1%fg49ym9 z|MXPZoOsjl@UX!v6}(*Bnl9-G?(IqADEfZdqIABpky7{d8L#nbfM(0U4X3n51$ieN z967_#C?WKQX?CFfhR^%YTG{T_n0uu;>dNqqhTpHQK35YPduo5KedL>Bg|T6)ovN+f zw|hnIKju|(Y1U;q{-fAwNp;NhBM~)r z=hn6Ddh1-6ZS2Mx5qWC&wZ}I&wzrpDTW@02I3OxEYDW*X%7aT9cB`K0+HiFI_JZI& zuWFl8I=}9b>$}>!@p%LutaQcVM5vnN^p;Qo3x^uXMHOWLS< z9$%~HsD>or3s#h;x#Z?(opS*?P3#5khBZNU;l~dQ5=Yu7D0}_KUcS4>Y9~(Tj3oA- z>fK{^4)r-UH#_O!B;%XU-^3)R8Ki!z9Cs=EQBvxqrFFv`4%l;Kf-grchDz25{OWqHX=!mo-Kl)zf=wX>ZGY^2_HO46kZfHa zlyug+oppX|+Vhorou6mQzwa(>Fb>V}zVztEY`yv&MUDMLeg!Fyg7zmQD6jJV@n?g} z<>-Juw?At&e%~bjaBoz?ia~vodViVd`*cfycXrvN*n2Be9o5DM_xJ1ldr#8St`iEL zOWw9*ip+%{e&v4S99%Z2I&)~h^|@!pZBU$fTPwFEl=9qEJ+-tcgDvnmcj#Geh_TTM z^&Zwgy`TI#IA_xHkfK+6?VT;B`m@3=?;IW|6873SyKlqRuCSvc=1qR+Q}`wP@|de0 zJHE6YJAH8Bm&Y~t(zSSjm0m+WkEzWLdmek!_wK2r9<4=p=brS|E9m8JGpzY6^sjkx z$)EE%k)wQo3(p>(H^Mnz^*@%&(lO~iz86w5fPB$ztYXk z0i_BLe@!?)Kr*wMGk;!JLRO#Hq%UFL+vllFI#@hJ-}UU^OYgImuNm~F$CM_+Z5Qr^ z`IwIE_eE*On{j&e3x7wx609+ix1HL!eVBio(Ng2XVH;adB)3}}?YYLx%WuQeqq;L} zypF}JohRD9Z9%}3Or=1RL1BxGHHuAFWG&ZRC0^iKGyhKLtJ-BI!BLho>OR;8o~Zln zw@Fdk@4}ZoMpqv@m0xT=xMR`W%k0AL-pAVdT;K24=fiFB+CXRa;!mrV3h(-=EBQIr>PL`?9Y*GtY-fFE7uXz|N01tK3~xRdI4FcSYB! znG-VKzD~WMVRGen*?g5}mP;C|YevLuH#Bejvb=5c92ADXR9Fz4>rouJIpHpx^!O z+PSS-fd=d}57Wu{uCs%0epZx!J99`u?Qwb6P@i{e@AFj68U`;}Wawt66?$21-6reS z#iOiCW_^(l8f0rI8no(XZnGla@LBJ@J#;76zaBr#Xo1bXB~LHR>|OHSf0%#H%HLzp z?h%A(>~5cRlH)aQa*AU^+PJQdOQ)?}v#leqX%QtYTi>ylSggx0r8J zGV6fd!{U?xl^>Z21A`yvt%;obdS2=Fx0!9RDw)euOett1zq2l?Nc^em@H;5~R)h1sB9dg~UOSFTRK+ut&|rYrZ0{Y}U2mgZl>zgyg2 zmcDJ{bWL^JZ$%@u)u>13UPU$z=<|4R)dv%9AU` z?|14uY;}IZXnn2U->>}X+0**fWrf)#&RZ^iu#XAZ*&IBRr{#4f=tL~r<)Je zxUaf)OlaGGD4BEUPtSu zV#?uj9ZSBRm=aMsa;ox9mw}HC4t2X-o6eT!#~t1=KE65NfMUiv2^-6lQNST_k}JV{k%@8n3;(Je^GA&CwMn>+Sw@Y8g%pd@3CcvhhMKO z=$B^nIf7R@Gsv(ub42si(x16P3u=Q?R!oP)OJXu^cjW~SeIL1?IS%I?joz8D=1_;y zvfn9;d3H45{*tIZ+XH?^2fd!$TTIxOSZcf;hV z^4kBMV#`%tZ(sgFefF4jk5~7a41M=SL$OnGDK-0qOYglk*A=UC0&a#x<>dQaex8ZtibrP(uRdZGa${FmRhWG#JJEhJ*xnwuvfQkkw)s<9YhcPd3;)n=?-g$Y-~AbKWKGQYu8L93 z-nF)6!WrA^j2*+dzGL2vbq~th_GZ|UkWD@Z5Aqz2&V0Y)zp$0358e9t!@FbR9qMZL z5AUPjihq5d^HcBTgDvbVo%p({C)$2vdw+Bf_*LxKqew6Qdbi2Vc=M3?U4aQERrvz~ zjV>NNI(=EbqeabRuCySvYx&-3ujbL_FR(0G*Z6{qWmo8Q*SWa zt9s!Y{W!kIB1!|4HUG=*A0DYyocDBG<>cF~htd+1yrWK6J>Ju}WAz*JcR|CKTuS&F zJAP;M=QRnooz9m)Z((ccmAC1;yXME5PuV+cYizA=Bs-by7V36=k6@$X7+rouwe#Uw zE^Xmzn?9~NR!z0{(K>!x)ADEGicQALflJSxdVAHKmlu==IF?L39}zz$_;!=FLR=^B zSg({D#Z;GxP4NCZ*VNCh23_u<@cK6W_%i?CqOz^uYj5xtkB==5h@WuU_>X7NvZ(kg zjcaXo2VZo`-f35A`=a0JK~FTc9T0i^epa-mU*UbrRY%Q@g4Rdho^i+HmwxB{>1VVw zM$GvYFf_0T-Yaq6Zu|C+^RNwDgMMHBkm(qmXOgu@(Z24vg1(>aN7W{S$YoBs8B|wW z&al2i*XxhoH8ILi#Vts6Rl|zoIVO=uG8`HPDu~uzdwTQUQiHu8M%b%`kAn*+bw9~cgqfg z`{h5p$4^-I+a)SUJw*9I)S*GXa|{P~*gshPeE+7FKY{BGYP(;Y67V(A`QpLN;ffFR zoF<>FRrYY6a#Q8(t|x`}TIRQ&st#N+*;TIlUZelmkt0}rW^#URPSjrfQN}-MJht_7QMY7^H@#idWY1S08Q#%&KjgS4FCH{H9eTvWUnq8Vj13UdzxZ2)N zPubQcc6BVtUU{|Y$GE6t*N438+kAV9}W${4_ z{;0y^fwJ_!!+p%Mcyu3$EWU@LZ2kzuK$iYghB!DgvPZ-un!8_zd-0Gw^!wRFtfG3yo#-)zf72#~Jzs z-P0$_zC1(zoMVXRaEA8UFxc<_(2T)yObgSpEB6#WXMBD2K(v^`ePXK z2i?0SD{dYP@rh^f|2KpFX$Jdt4E~^dsAc)XVd&pK3_N;nMwXpA2Kz%8@&w&mD$C9w zhCEb*`0xS$%0-6$6*Kgg4MW_}voEsz8NguwG(&t0nc~mT-t`Rg8@kt2mOr-{{MpYi z{|sQTh_i&jPY;GTuVnD2hCv@a(c#OE!89kgbJEIZK*{8NUwEn=v59z(qz40(8*A^u7Xyc|OwhA`yAN(LUS zZy_rVcNp5+!Vv#x20!;OwAY8hz6FCn`V9Iz8RG21R4;>{Z4C9UXQ)@iU?-npyzF9# z|9*z?9%(MSU(h-nvij>M1E0mvUvn7p96f_8%RXAGNEW}FAr3wamVG~lI4lmAt$#jJHXp`d$B`i)o-)MwDMOy4b&h2DkJh)4 z#iKPIWbro{{9MPt7cj)X4}(5>CSO*)S`2&X`*^nDNBFY0C@uWfn=Bf^8ynsdf$|Og=feo!nzccHWfB% z5Y52wr==#)E08PV8I$1HuCpMuq?=<%2@Z-s_{pzG8~w#>sk^%<}HyAIP- z=?u*0Ooax5Y$LpXBIYg81qu)&!Usz5FHPq>bR;#nU1cRYjrus$CxN&wtn!uAgEuuV{rte`F|c7 zi1fv`vHdZ`PWl4O^Zaq1Kp1J6ycWle7mcpq!+Ia|E39om@=dIT`|%jDb9WB5ljDZt zGo9%3hG4$&9OkzZ{ycOX>KDm`zxyR32J07YhK7K+5q*&-ZkMtvZkN=bVe?77Xz>e> zV?^H@#ye_n*hk!tmx-T$VEm$bDP0R%6MbJo;s&cPB7H$8)*p#!swkcKGsJ*qwi4a~ zc9A|W9``TqeOOxqIu7wUp}lBLdt(1$f6P-+a6uR(gnor}%T{Av;HgP7Xx%3yb@crP zV80&6ttY0bC1%8aLT{SEy$0)jzyyWrZTy4vV@bZ1n_^xv8(SDh?A#cQd8!lVe>(9~ zZXxD7TycILA^Mw_VZOWw$7d>xel+d~$7d7$*NU`Wf*f5?Uj|`bbP)TG zqXcVSkoiGkitXSi!TLWEVt+3L5JWnUt@bANFJpf;ka~B=5`F`YXDEq-`ee*^Wa4_I z>r{#(a6a(gSu#(sSpxw9k&e^Zq#p%n8DtP?zw3h?WWOWwZ+(+gY@err{RyW(1?w8YG>-HO zSNyGS18$)Cp`ILHr1gf-$9>4#3>@b$V&@?}59m-e|L9-bi0iHSjy;57NXtcM(%$Dd zZrcbSNa8Qqi~B`7?;QdMkUx$897lFoU^{~SIDa7Qv~Wnj^P6$Mn~;9@hqOWY-{Fnp zTuk)y(l9TcgZtf`=+C#sykrZugVrHMqV9!x-e5c~%n08`;uEHV+lAkS^|Q7R`>uH0 z%_92!9C7?}EQZl`VHncVJPGRyF7fDn7$&r=g+xOB7y4p9Gst+^MCxt4fa5lb=nu5V z`j)G8X$IZ5ghbwz_=A4f0uj@%u$E0AsaFBdtLF*dHh}1J@p1nyv9oz3=5t2(p*0tf zcFh`(c}siTUYuR9Zqh`|mk-3ewB9RQG0*qI{>&lu?v~a|c<5GIVuq4>({UW+34fLJ zmuL^}uQ!DM9f0-4`*FVFX1z!c@m{UGuufVdJ=!a z{BZow5&dJ<#Lr4>|1;sQN#joz$Qnm@?Ik!L_`h((r1MN|2DT$SiSs;!)cYV4^I_zC zpoYXhZ5`%$cd)*Y@H*jIVH!mBO7vlXgIp(k5749V>{CP++c<6=a3oOl-U0>2HA(%uH)~1&w~IW zK8K6v2WdW}L}5F8R~!d5VrS|m%!_?+-b%-BESV=^t!-Kpt#^zhoy1LCjQI)VIJh+# z+u>Q@@hHvP7GuI^;C8LTW~lqiF&{?0U$_wdHObGK36OXoQeG>V_-Tv#3$2riCQe+Bo;Y+}a^;*9KwxJ&1KLQn3n|L{*{i$-VvA&>%?)E9@p%LW1bRWe_)!We0g6y4=Z!9z7IKm6?)?MBoRA48?e5FoIijYw3L(iM52l3nQw&mllG$p zwhz_OavG*2KC{jNgtp~4aKVGFT7x}OY*r-<<6I)F6)2fzV~ zj`J8C2UA)b*7}757UIkQ;C`tlyq*u{h5EQ(pgLN9I^pr&F&@tYT*5zsjzjZ+<+{K5 z`(zvyUcqrYMD$;f{^~Hq{Rq|3G6V7f&HrK^p2rRoo(1Vd`*{q!PyNuK?R$}Y9!1W7ggRC3b$`dZpt!UV!=XfAUHU z-HrT|tilmM|D}M$D+TkSTHL?JgdZ~$^FkvW|It{T`rw5593CEbBZ$5&;f1fTKjR3W zK=M=g&-eNiGEa)g_utvXzD5YP-*Fbt+ogo(#$&$G2>TgF_#>c(+C>e;{dg3+Ma>0& z(0QHqKi6S6%dx(=sTXZwBJneW%s-+t*#0_VKM&OCxTz6+GQRW{kb2z|XifC{Hxl_x zm@i+5<2D`Blw$(s1^zhxWu)GeX+(dcGOcM$^jjkce-+!`LG+ic#5~Vmk=9fv{7y(4 z)8}tP2GfjmT+cDZ`eA=?o=g4wlur1)c$``i`$whmufh2&{jUm@ zRIG1F=4W$KFN++1d1M}w&fD@NpBt_5adSA)=a0jF3OX$R@^gSQw%;MdaYOgzAPJj< z`JA(u_s29fne=aA5RStt!W$-H{Tg!J^*G^gSrGpZ;c-__coR2LZzuM10^xVf!+9n7 z=ljAUGLD4y*vc2U0+IuD|G(kzN2!u1N#LbV`4^ee3EYK8SP z2mGx+#TM&RsyOlSr(kVg=q5UE$-E~$|54Axe3(9;whZpkGL_CNvhzPhX$aOY_r~@Y zllOj+Jn10UNu>VU!1Rdf<*!$xHKpej%b+5}7aHPth7&s$Fl-UusKBQgZ^HM7X#|bm zs(<3#1l@|x9~w1GXia4j=kH`54hzQpzJS2fLJu;T?LH3yM$iaC6yR@+9 zU_Pu3+rd$SHGZQoFKNT$PTG%t63h$!xn7;T1M~d(c)pVUzfC$h-w@2~PuG`3>g_VX z`a(zSkJNrA!~wOpF?$fLDQ)jO2s?^r%`5DWvK%&K4$})ApVNQqCvPPF*y9YDKp!kc1ThJDy{a!o}*DLD6cBI!sa$&lr z^)KVN{a<}JZ$x~~$iMAaZpU^g^ne41F7fBm0Hm)&iCu=%JeZ|rkvryJ6JFXbF&Xdt zySU%sa6rrLp}1aZDz+f?XA8;OoV9=Fd7}vXQ^?2tRYdH(gn%Rec@}@?Lky%P$_J4L zkJem5@~Q$3aER|9zhlC5O^Z96SR!6Ru2)15zGMdG#pr=A5Dpo5#cr4{4~32f38P=( zzc>glAm1OMI$GXcQJ17Cc@v^Nc6v9 zJI4s$u7mlU&p1EV6CO<$$c_lzcmN`xUm;&0!4Ti5i0e%yye^3kFB->R8lO>-Sf84U z+lBt83P~#@9|NF#F zxq~*XCmmlW1F(LMJdQI=ceEHwa2&+{oOdb0gofhZF#wN5X?vgh;`oaPLPvl|=i6KX zvHu8vPjMsud?E3vL4Q;L0_j9cy!3cPuE*kDhW{6ufbH;oah|Ux`g0R7AJ&TPFCcu{ zHljc8@A!0&#C%~I9v5qfKR%>?bKc{5Ae!(;h@Y0#xZfuce&a-Jr)DnpFoMkgkH~z| z@e0RN>gOHOF2Mqv|I+@Q2x*VvNezL72f?EN{>K3ZEaEMru%GC;2qY1nIL?9xf5%yK zGqLjy$45F(W(@NS_I-#y zQw%XLB;T`Onx$n|5axLmIG)SM{Auor`5bb+We(9F0R4!@UF1LcmJ7{CacH!~<138l zFM{SEzQzQ{ADTnUl%bgKc!2XCpB2FAr8IAgaJzbv_Rc5YQ!Jx#yP*4M*=>O1cHjq| z-=yao=x1vbPXW2lgirKu`{R0rU$A{YavYDcCjR`!^KCWJx0r|dLh^mYnD7fo+``E3 z6f+4g2Omf66+FUzo+JFCQJ5E7P6y^tb_TE zc+Ncn6HV&^$sTXmnITB%Gi$ddv2!-=EIb5e@XAR37U#|0r~zooY=YMgZc6r zoQF^yEg2%rcaYyhrTX89|GbSjo;!%X1Gq* z{yES53VBQS*DXA9tw_J{V1OWAG6UyHCgEoie;Oa)dZov;U76TE_0Rp2b+fRYjwTrR zAd~1<_^%z9e$ja0IsM)5HH)ym$O-4U^!QSwg83YB9*$=TIBkFpT=22#!p&$dhrzKZN~6|6Pit9nt{#Q_jWlkzR+~ z2h$Pa8yDj|8H?4at>ic^c#rFSPxt_0N5sPU32xKU1`{B%L+M~Ur%C?w+D7V4!S!;8 zzP}spM~T(n{n$2y*qMRP2Mme+Nz%WPv#L`*%9+K z~ACbh0Qo`rSqgOX_x3)PudQo zB`sTtKcZQf_aOY}rPw}iH$D!YC%l6TjssQjcN{K{BmVqzzs)Rvqz}Ir#0{q{aEYC3 z%dtLn73TxaI{0786wKEcW6irnKY9nQS0F!_W~B4#cmu32>5ujCtO)-XD#CpE2W&rr zjIX88KstY3<9VQy*k45QnZFA6BYLh9iJLvv7aQVuUd1%^gN)xs;(tHF3n1WhzZ+m? z7vaxGVO~P+o7zlxzi7^G9*JGe*7R26LBhQwdmkFPgkeLi|{7(|og zVGkqB*EnDg=MsL}Fl?tW=kNR}8G-dBZ*hOkpsm6G-jU;rcs!0nPw)eY3v?6mvyfbO z%D^33niBJ*L*4BRgCpRGu|w_trfna}w&3;*2+ z0YP>;$nUdYmKGQ3`QAGm|AmA%@Wc8NbYTZ%4&lGg#eRyT2Gfkx&oJl?WS`H)?VU{G z@CV#Ryr>lCzlhlRWJl~b^NVmapD{sT|lC*#SOu+g%SMmIF zhSYmb8S^4P+=EaZEo(^}g#EGqJxRMlATf}ia_rc%9&klX; ze-W`?7ES6^!*STz1HW-M8S@=eaX*rut0`S`%u~Iv{tjX%XBqK_JTH(-_!5%;h2;47 zjKr-kInL(9U_Yhvb~c%3c;vd=Vq#~`CT!o*1ovzo!rvu!M4z!gg@iYUey8V+B$((x zGDzIMW@298h4rO&P7EjdW;|N|Ed2`CPgWBC0GwvSrh&3 zIG%5aKA(&`KKVUemGBE;oYLQqmJgyC>3FGLf$cOp;d*ha;rR{{H=zXEe?aU^13So{ z4zyq<$W+3ghT%-dpB#S|68@+&uD3?`cfG&IVttA{&qA6-J&eSBA&DC_pO(weO~}50 z{H}_l0srkCg6>n&`G4+HDku5L3&7(Vx`~$D|3lcD07hC>X~Qr3E)m%`i+zXC?2C}} zlI}n+MJL@fYo$`DB-Nc%RaaHIJ1kP{y95vrPz<7@^NF7s7Zyd0I_{`Jm{CWN;OM9$ zYEW@szUQ3hxo^EywEzFk*rZO~_uO;Oe$QR%JmM+0?5lYed^7&cwKvmw4g_ueM(?Mk ze@=LQC%JTN+T9_q3LdRy`^;q{?i96+m&qQAqR zc>6T{@SCMq2fWkh1T*%gKM#KXP>^W!Ph8hb|4|ncPxK_^`<&?fnB-nQiJYtmz5^Vx z^;>SIUA!hbpIRk)QltlA*Pq{BOZd!w^fM0%e#v!&r>=jqLqeT)Wm@h3x|73?mEiv% zyPMMf&%1@^8R>cXBHGInf`1)+Hoy96Oa0;Fy~ID!QdfTn3Si^v`(MiIe&PAZgy_7P z{6CUxiryi8ZePK1b!^QSR_4g()W4C>A--hfA13an-0{($FN+V+FKLNSNx*9)m--0# z&$sY<_9qbk^jXLH`vL#(BGNhiW6}e({#@O!acMtKh^O`22rr)^`nP2J2Wy0P{2S%? zS>f5`ZG@*HM)o@dKdOuH_H8MzP|qoYUB=H2)xF6*{Lc5$!gD0!8r0jL@0>??-@g-& z+-mgO9>V7?ARju_e%%p-r&Sj{Uhpqugy#GSSjukk0khWZcj`Lpt! zgipUfJv>eD`_2(P1&(VG8OQ^G&Bit@chc%EI)_7hsa__E-4+)8-6&eyCJ z{A2R}bE>m#BlvO4MbGK9mk&s9bIL#KgS3=Df3Ng&;`e(xhP_4qosf(9hYz*XKev<~ zwv~w|><7MSM09r0UaF$!Lq)=;jwj!~EBMWKiq5;qhdIH2BKXt~$^XAljiS@x_MOk# zCy(y@S#hr5$FSd*1b=iX;gcs4&oAURP7>duj}iW=+OL;iE&rAB+D3u=kCzfp+Zoi) zwD`Hx7~$Z&Lbg52RiGtyV-4_V0ePRI`KBPkFFv9 z9fkih#}Z!GI>I6T7WV)465hUwmV2_`oi`JnQr&~2#_!SN4~us*S2x@HH%n~a_7&!V zJ8HatxsLD&#o1p9zQ=xQe@~nDxU&el>@MPu{+;;4xZZyf+qZvyCvQI_Iv+qY&#&Im zOwVf|!{y$wo415H__Gfjh{2~@&NtnI{vEFKO5`5)dqcjCe@F6J;V62#Ec}0?e6JUu ze;|FBJe?e?N`Ed=ziFMHrS?YAd(S7Hxt$4lkLY|112lT(zDI>pIWMXd2%phD2U3N) zK?mUzM^K+n5}&t+8#Fx8m+ANHUNC#^7C$Fi){zJ0m+Hrmp1U-zUGEc~RUFqVL=#=S zg#1ZuLH?%%-%|Xqf1mtWBlydrC-o)5?cR2KUPX6C=ZyB#hB$K83c~AWGlJYGdVVIq zRQ@sXJU}$j_vJTceoenIDEQdf#546r`m6oLpO2&npKOUo8>OFRt%J`Ko^=8J;=xNiwln@7}6z`&)NKgMx#DDFu@SjCHx=#Im z?78F*>L0 zVkkV@O75rLBm6DvEPH@m*1r5I`@KNzk3O34=+kYE=S;!BbdC693*vY}zt5%EzT-wH zDxOaN7j?*c37@=cbuC;HEs`6EE%WEf=c&;bp=* zeoOoMoao$BdeX5qI>NKq|Ba##tYZ86-n94k3I24A@R`#Na!80%BQSsC^W<6NbI_~b zoWl0eF_bU=jiMWo@L2oy{$~Dc*~Rwh6Nvw-qH}4L@Q(hsdcPrFU-@><6W5r-Nj%Ts zb(2?Liu(2yeK$8qcwO_{Z3N!~X_B>1>D+o<@U;gMKG9G4{;&MW4jqI~K1jd!Iko>6 z`K7)~c6P`uDSq*3=}Fx#1jchF!O^Z2;%PgYe&%(J_qij4U*{8p{=7I$c(gU;GEaCO zA0d2dHT#9x`ZEhPaJ^mI%(stA|L1O`eNpRBAGn|G=YBywIb3*t2Em!U%6Bx&>#08V zn<4%a)c&vM6CPHy=LIhx z!uFFN*w!Iv=Fgd@5?=o+{XpQ)@v8~%_;>RE2Wo%fg@l*OY#;RPL&p=|u6^3t>n*V)xisw5+_0 zc%*ZhdkOx{<%Ca6@8l4el|MU3pWE$+3Gh7U|3=Z-yQuvb<@F1}-y-==b->}^Sugm0 z_`~R&R(>n9j`HUbKBGE6)W)9~(LedqJ^k~g8rK!?P`?L~pC@Sm_rVMe|I~pgZ-0dU z8%4{HCp?-@4uo}<2iFR&^}a{d{yFh^I!`_Mgy6?N!1m>XNKd$L#f3V=H8=NRdFn2cLb=6(boj>4X2RPqAwBOEANG^qo7k7*3j1kylpmgW_RWqVtXussPdw#=C`XX(Pqv%zY3+X| zH&E~DA$(Tn=HS-++2>-y>pJiMyx=uBBI8?!>fXUW{LA%(w|$ZHe^K;5Dt(*%^Zt$@ z_~+lsKg_064qvMFcL#mee*SILZ+V#b=N8i5PnUcbcTgWDx=!+z!9Qd!Vf&QmBsZ`x zph|dJ_XCUz|1Qf2pU^q|(*?if9>V)>K)}Ug_iNj;2rkU|@Sntd0m0D`5Vygn>+}O3 zRQu;DgwKsM`?n9O{mggBx0i+IYcO!bGo}2eB=}#ire3wT+%tBR^rS=gsGOzt_g-r4 z+oDOkumaC9kMWB=RuNBhP_tdMgHF@i)Hj;pk9nTZ7NvG&WVxMaqLXT*bHX-U;d!gZ zn;9cKeL3x#Qo}ubc-_V|vBv@4enjnmd?n#Cx)9Koz zH_CT$yw8iCOGRgNEa{mN{Fr{?DeIm?M(rqi3;clbe|k|f|Chs2TfehcQ-8ufw@pw~ zhtJVJ{9obU=T5<2B0WR0mvtu-KK)_(jZw9~75p(g)4zR_L)OUeefnJK!;Z%~JovG_ zJJ`OxW#2+}G2t^$N#f$?HHiC$f8rZEIi838Uu-)ET7yq&Up?HZKbsa1Ue|pc>^+M9 z05fqsT1Puf?Vl37eIfaMJ;X3I=p4)mzv?h&sQnd!r?#U${8sQ!cCr1G>dZeCeD^frsS^)! z$iGT1zdTKFtzVy@_W!bp@DAN82=(*lYbO#uF-W=mMD~?05HqA#h+txNbVjN}ULknLUgFzKyF-G1*c9w&OX|ZKwOkX7K#P&1G$)9jv%^C80(=GSYUU?PUPicM~*0Wxh-p=&U zqJw@uei++F|6p8b+mZzRa3$gOqjqz^DWdZyl2@DVrA!OHI~3CRFn1gMbKvv#urJex z=@xz14i4GcN6Je>elmLm;i)nmZG9Vda6Syj{lk98IUw-oj&Z_gcA)2nS^2Z`E}}>4 zARiX|a*${J&YnkpW&}SA3^8~|Kj9&N``HD=Kf8$dgTA!|{nS3>>xE}G>Hm^DPIO41 z^FZlayY9)!s{M=Cu-~%IV}|y}T}$|k&Ixv^{ph<$PutbB_t3s}s>anx$hlkag*xcB zaiv@0)Zl!=r+1>pYD4+P3`Zv zns_EJqhDGl_=PtR-gi0uIjt{>Ho^TGJ*n?f?qHWcD_|F-GP& zM*8`4`hnn=*51eVV&~>Yz46z{<`iJq}Ah|H0j}__T>iozBa^hP5+>IT;GGd-2ZDH z6!3plcGvbP>fy7Ze@`&n$ECX8j)EUtB7Dkz@C#2>@Ezqh=5BbiLlz01(Rfq)Q!au2 zhZYb|xs9IWaQV-4U2xS8VOIV;eLdlA+mp_aZ(LO&d{X-X&QbeLbZ7K;=)CGj1>bdF z!sp}%P8R&-hX^n0_XQpm+>Q%5|8)=W7F+X+BN5;X9{rX6=V#LY_DgAxk?t4$itzjj z?T!D_e`uD=C5IBvbP5KG=TW8$(GOM;KBsl|us_6(iCMq1w^QQpm;Rg<>{NVsLjC@z z%lgIr&n@xj%W2}7_%`*tUwAI<6Mo(QGf#NVg54ROwwAj0H*RM8^3ex*%b-^)HxfRj zb#thVKQDW}Vdp^M!109k{j%S(?mJrQ-$s#5$85ammU}$jqj=qMKl$*8=-(3rn?J0l zU^saCg=hM9;+ejl`t}LIPZ=P5Vn6aBEBHG>7M8`{4|_Sm*<%JB^Ozqt3WN;;?B z0$+gVM!|Q$>#nzlke@J5f4+Se;cYtaAMER!;^)*~$e*B}$3Rbvp0**<6Zrp=b;L85 zrT)OZ_%m}W;Zce4_ZGq5t-NdcH;g;)7W|`NtkF618TK3Qqx%j%I{mswG3ZIJ{9an? zgQLPz+QjyC{hq>Ag8xGKd7IAZKurEj;zb+RFI$P!o??{uL>AyG2{YTfbeffBD9%}5*D*1t# z>u6s=51*EN%i7NmG5K>g9EkJtWKtgPb^I_GW$@@Xw8uZG{fEvVyzK<`o0q*`3xl%u z)4FfrPPN}@BjFvoSJQrH+MYFM5}tmB6n>cCXmpv47rz_QvVZ&cinBBSxx2Rv{_|MT zleP^-cqaYdDC)bE_@}lc{&4TdF6Rx+lgzGXk&Z4-p2pQL@wsrk*YU&Ax|@1&nv6h%9)wednn6c^sE_6J<2_Sy#(^y<#V zg!gIQQB(UTR+4Yqx5U9mN}@;mHlYUo93XzqYJP;_`*YAeY(Kdj$J--#*J*^;H<139 z1b_ZM!l$0Z81Vc`@CW1{W_Lfyu81|x89O3yd3zvBRTV3;dvhEhw*Jj z=lgyt!TjYC@@@J+#?zp0mAde6MUK5kjNT1_#_&Yjb6ht`?psLDr*uEnh3dEScDA3@ zK6Yl0QS{;x!uy7Z_-3^~3j{cRor|Q_;r9+!5I&{*@kkYZp9So)_Nn4-j-ev|aQ(i* zqkSe2t3UHM5I(n-d^=6>_bKkosD8Cv@PkK;KZuW~&~H%Nv2G5&S-(@;k^b$(hc?M2 zU8R4fH^%u>yzX&l7s`=RhW)yo;=YvkwtJ63zVF+Q_}jJLDbT;+VvTDJDLF`V?g2WD zo|!c}J0$4gu4fB=CCB@$=)7{2@bpK)C_H-!{vsT>(V0G>dAyI^&-T+T_i_F5RKh3i zf?qs+{x8lA4-np=`%f+s{JE0|pV^*v4YvDp>r%p_mfvZ*`AWj;1LX59YTqlps^3dK zUo8DMwi_S%Ha6SWx2`3;L-%rY3eVR2NWM2UkM|VCqxQ#k^_Cx0fU)wL;h(*a{f2#p z8>9~%XCLJ4FBAUvuVef4BjkVB|L`ZtYxV)cf2Z~p@n`A}w66faci8CMCwf;)o_Plx zka@hL&-@n^!_yYc z>VAW(g#SUPfzi{Z^Ul=LD4IQ<{iZ(FtmnTPXZy+J9B-HO(5|~QJTtmiB>0ElfDZ;Q zU&!_!4gJEPY+UuPHRE4gV*6R0&-%LB?~4H%p1ziId|xlCU+tqfIq*&S&qM^m@W4#` zIs9#G-*y-Vj^}*;7kQ)jKe-$A7VP!sKV;W4r?dSbf-gK$^yv4Vt`_{?hX|iIg&yxe z1@H0k?h{S5=)*M|*}mg;G{6IO_2;0~@T`o`SYxPXJMh}`63Wn`@Yv{zn>BOGdo66h*<*p ze;&Ak?dwyN<7f3{-uw@^$~JJ~$qLU~-cER*{3k~p zMK|LQqjR#8_-|GF7fXcCL_0a;8`95R>V&uJev)9<)5yDwZyld%w!337ScA{xn)$gx z{Aqg^PF$eP5!X$ z7TR6duk{b{CsN(}F|}U}h8us{b&o;t&kqOvZ}~mVzulwuThZQsE4lmwYV3Hnpgsh? zy&nuWcytXE56`!^V#oc$Kdbu;e?V}w&zSIZ?&c7fn?H7p*YK2OFAD_E_YyvLI_-#~ z#`%L0!c(flh|FkvjMwB<|8lb&e>cJQ6Pj;UMCbi*Al7f+zY_Dugy=8DqoV&WZxucBo8|kijci}uKo5DR+OMq1ZL+(+E;T+N54rs?Z~2Y&e4(~R{r;YK=G6X* zLBglB-|73ppSzy$x#MZ?aGU;Iem~)n*3pm_`m-;FWAx1FzRIfjHv2Z=*Z#oc1+Rfl zYai+N-3}6-8?G* zKXnxC7B%VKu{#z=-lV<+#A<=n%RqdZ) z`=n07?Z6kFz_**$vi;;T>f2du{&lnj4#(s&q59sO#`_cS-{7g1a}bu+8ob)_T$L6KdJqBFgI)8r+vba=o~(p?Pq?-cyYV+pMqC)%!AuMU92wDuF7T8TIuZzyDM1OP? z=|50-ej_^5@`op@{q=6Y`$WSnd0HC+htV_pdHSno)c&e2jq4%8*9-qU<+o>*&%aar z*%xZ*eAu3J9v<35PblAJz1{5=gX12;w;t|2LcRUDM|tMNm*{VIrTInQfPNbO>6Z1Q zkH|l??+Hc1Ln%bj%5k=@Yd;m(<1RuJF z@YJ929iDK{{F^Q%yzNKiTd236C4UnAbw_VM;{W3QY{iS2mVImY+^v3JBc7bv?|&ru zHm!Z3|0DP}VK1g{vnMv|`F?oO`KIxbt5I~?7~$o=5EAguQ#>u}cfL-R9QToboBJ{K z4Ilm4;$Zf>>1gWh_JZ#w`<;F(C33#tzwBhcv)Ye=FzV0q2-8M?`s`!;bHK9^>S6S^ z-E*MBp&tI++D>@;-L#`{&&>a<7koAOJhKhk|E`blj^3Re@JE89XEd&~_RF!CD6+Dc z^_x;%Wkl_t5Iu7h>f3#S@4i_0^UODbUhNP57@qQe+Vwf zmiq(Wq;aL+%ke%ex!kUJJ*Rb_$0guz!|<)&S=D*)x<4ynNABOwp}Z82EI*o)19n4bMbhv%J0!xQ}-!2{}yup@x19-l5;u3vq4bZo;qM!+o>x ze^-8Wu9y75M}K~IG22hhhhxDrDn7ijTK(?NI2(Sir}J{cr!V42FBkt0Sx0#LIPqhc z{_M9w?e`=7+ll@ijv_p*^_p|l{#MZw>E74t1pgHp*m$R|rM$>J%qNx+p3*uy)XATV zGitB%ya-$V>?r+gS3UzZ^Jmpkw(n@;c;78PlzR!E_z*SucD3Joknpy5(w~I$Chxn3 z@JROu(rTh;hwBM1+Ydb932}cMif!YXlpg>Y{#?*c_>9(D2gSEbL7ugrmVKS7_Wv!t zotdG;k5K!%^r5X~pUe#qhx4@OIq~5a_w~biyZ6^dtl7_duwPwVyec z_WQK>_Px`n&r`=W>+@rH(c1U5+*hBG-=5Zb^v=THTTy%cjxD_brB1^@N^gh$&_4-e3|mPzhYpCSLjE`Js; z6#ka|V1zncE4kx7>IA0og^L>X4mkzeaXC`AIUMF8D(6ZEj!6{e^%ZhG2S|`UUki@c%={ zvfr5p$$;NTUY{Ki{X3BUb>h!A_aQuWx%e!+7QmbfHNqW+7#umzrf2>x11cv{Yl z=HPgZKV{wP4s-VBry$Sd)qXPN75Fp%c)}-NYnJ2RRv5f3>bUI?f4}Xm#B*#f@lPra zUM&9SP9(ff=VaHjdGy>6;q`mS&tD4u&}!lNG{^h2;J-SD@CnszE*Jbx@u9p&$|1K% zug0Z6^_G3?M}U5}>n{-h2H~lXiJqqk55KeaSMi~50URctpwBn-h|cr&ba)uoR?2f` zb$;y={w;nlS9a0&CNKm~!1Hq8kJe?F)!^r`9wh$Rvl)@sh@aI(qEq`iK!!hc=}G$` z)Q1NIf9fu_Z#RdAXCC6EJ@u0apT33p3EaLvkGzv|f9gn%H|WE$XS03Z7R3KIwLk6x zwx7DBS%2N{!Tr=yTgB~en-G| zm!r<@-YfWhM-e`u-$y=9c%Hh5@UqS?d|B`}R8tpVRL+>_)Ppu7?Pp z`~u@9)Xbmv9xiyxy?=|cgr~M4|HC@+K@Sr?d+1yI{ZZlB`XKRhRWm=cfZKTI{^LMz z8P>bcxSH_3Ey?F+h3B4Y1=qPAeDvqUC4#HIw_Na#TuAt&{V*Axfai&E!9Vb3hX;Fk z@MPinIr%UkKm2CkH-8eHa;&!xdj8Ek+t+p9{tEvV>x9E>-|@8*9Dq;9B$U1^n-*?*Xglol~L4n1L>LE zubKYBjcnicE6OV?JZFF{CYOm9DVGt!9~b_PF3M$4`u`#2X?;VCr%-!;UV#A`o=M#& zuP_)r->ZK0yE9NTf8L)aysUG|Fe`tKxrXqWOUa)z#h;FM5T0I6MP4WPF%YQrJM}UQ z0nY=X^U2!?pVPhWVINMX=x@{goPlpIgCT}z_M6m``y3n2{ok#AU!k8_C-}YcC$py? zyZtA$A>u3 zuS@WM1iK8LvJG!|s9mU&oh7*LhbjBFQDkLjZ+{f^VS(suKa=qCw!3=EWzx^jf?#j2 zb?|ZF`Sl9I`*eRoN_Z}S;#vF2A|2ILg8u^a8hmOc#~b42+3zBJTIT{53je)F6P{MS zM{j`RkfOg&_a|?!_GhhP`}UUgl=fSNNAm?*M-*+ihwxcDfQF~f|Ba%rbr4?Gd8puL zHi9stKboeVcanY4=QmP6%T?-Upy$_UYV9W$z!2~};{Qg`vOM8aOE{u)1V6h-_}t&| zBA!s!{reGw&uBh)soL8$yoNu0tnf(xFM>NY`0OMp#9C(t<##WVQi zubS=d<(-LVqGdhQe*VVr_nk@n7l@wEzK!tq`Gh|z_=X|E>ratypBDTf=!5sWOEcdt zt6TdwKHrxeMXz(bfe&AVA22-cIu`@P6UOxd9JtY0Zi)Lx!AuN3aVg^z%+{Y*sXSazu9t&&Tg3Jhhhkk1*uVr6cNB>o0*1*DDT|Th3kD za;=SP_M<6(e`G7-d3wI^Xn#&8!BPJ0gqK_Hi}<%22v1*optqbBoiEl2Pqplyc|rC& z@ftZ9`2XZ;wx3g;0C(iiyTZ8id(aS{KUdws_EV2g9~KL~?sUT27ZLw!g5N2A&V6nt zhuklC?N+l>iCK(W{i>W#ZfK;ZDtO%$?utm#Pr7!Ry~Y!7&7X@_3E#zSHR;1N?nZ zNSE(BscCRK{tSSz4%fMliv>ShdNq3^^TT1$v)h?$KcjoO*?SZnp!`3&iTJlwp7u%E zS6j=vaOE)JX+7rxhwSvozp2~k3-=K|am=nx;o17)*N1bw<)fSV^Fg#X{*)`t@WUVo z!(V@yc<$7AKPtN`Z`Ul}e>v3fppM#d{$)z`o@zOde-HG;`t3LrjucPee@6J*AE(@J zmwmm8e97o3%YGkB`D@YVHxbWpOCD8tC)=m{srh~4!+WJyb@@GLl0Rp_5Dfp+`)H4E z6Z}=YZgfV+HS5WpS@Eak9)JrKN2cGze#1H3uPN?F2a?ZWyjMvdQo1LTf}UeXz9Tx}XxyUtS|z6)P?^g6ch(EcA%h4XQ12v2Js3ikT*-YeCw?qMhi z{@5_#bD!PLA#iv8eC!>R`&Vx|$v@Mp;6CIB*nWBm<3&w+eiOuMpZ^^(hMW?P4RKo01&ZnmG( z`N8wmegFeEIwxPDoBE%b#R~xrwQ)Q*(vHHq*q_D-Z-1B) zxkuyeg#R%+D!1$d`QSlppVoaofzQv&PUp5IJ@1jd9DE( z4+EaUUTi&e5&jldE;`_AjB@6ZTZ=-?p=UY2@%de{a$>Qha_h|1I3jSC5 zxAK1zjS+qgRV=-)!z`O^U5v(xAU&q<$RH|LHMJ}GNO!)3C_hCK;!!i8rrDpuk!`~Yp`u3;B zJ}mq@p2L2lzf)eX3x1;XGp*lo>yth_48a+la|h7wzM}RgUr+eNk+he$NU^@Ge7NuD zg#SbBkC(jCFL1s?u3~-Ta^jgflAh;%>i6J0;WPT3+5P3mZmtpDwh#p48CAb)B;U4G z99I}`dZp-GNP6BadcF>E8{hgqNWKL=-vWo=a#x*%y`YW)IXWNCA|H-azn9-bJQJhM z{NG=GCbccwhkeLj5r68cO9y{4U;eP~81kV_KRdoo`G)+e8~qx5 z?(!D7zm<33K`)Ss!hE7X2V2*~K~6P;-Ueu_+3r|`8q^x_!77EWrPz;MZlLyhWU8nZ1K}DPoW%{46PPFlSj`y!EdokM1PjQVW~)=aa!skKEHS1i9P>eKR~ASJN+*g#X$N zgr{46H~G;U)c!A&_(#?Lzi%hs`da1%M+2?lpZFy$6z1d4At5Y@gP8F481_HYmQ& zs?HzqUw5tW>l_@^!=G(Le|5f_@(HF2W~jw2M!x z-_g4Wk2caC!|!~}2v1$-I1W<#XC7kvX{~DnIj%#pM}+@n^*bm35c<7Lc30NA;XY~~jTHLJ zwc$!WJ8*opbbNc1>F!;Y8OT@iLxpNBU+G=8V5C&c_h$P?^89YI-v~u!C|}E!$8sa3 z+`7U*RL+i7^U>f~(LN6rfFZQYm5KwIT46LlurXVx#o*DgT7FZeP)vZTg`v@GbzR)V z-yFzSYZY9DIT$0Z=0`y_p=BG*sVB#;tSgL+L?hLFeq93Sc!0c^9f=!O^R;R@pDPR& zaxu)?HBpqU)hZclTFd6vRSQ?-BO5~*;~lJy7jsc21D@tGxv@$mU#w-&N2NBJ-4vBK zRtmK|NHAK+<6uek5OOVbErHV*`$9BfG+|Gnss)QY>ZABwH(#iY?731@F9R zI1pJpXwaI?HN88K$0&#Wt%kU408X3zQLBtM(V5=_=>bs_&_%kM zcCJ)zu*acI!*EDo1q3iKV){G}(ij>o6*CZ4rIyJ=10&V(QTz*JMf?XGD^<(}#%cwB z;lyaLR9RQ9jYrnP{);b14b`d9XlYN@=V(U@zzRay2)cA29pKlq-c2G+{h5ieW;J#-KU5;Y!I64vvgfhog<7`O(~H zIT{)@o@Xl2U~bsD%GkTb+F&L(ye`Ub%A+WR_f6g~tt56+uV`D${0%mIK2#wg$ z(QFx?Gnv6nU@QI)AD~^t4%@Hh2MU$Qq%#CAl);-PS+@aKWL#sEu3=+1cWwGb%GC^V~WEW(Ko`5s`@D zkK}XKzmbGSE*Chh>R_b$%4)Vdp<#0{sOykQ<#T*3cG!iz2{qb7wxbK4PK8nkbLMk-aSjT z^4SU$%s!n2qR>8%?t-R*%Y$w<2xXbUge^g`*?|EgvWy6XH=wc3U0oBAbH+t53IC~#RkK5&3NJwI%h}qnkxrAVn$1~HBMcp`Lon1qH<=(i45gL> zCFP+?8B~II)~R=6<_WKm$!w?=6U1A1D-T6u9wr9|%y!+{Fm~_Jl>``FTgKq>jGVH4 z1%mBAwJU7oaKvuTu8L!btQ!G}RWb*6R*Q-wnUQP}RtyVp`!I)A$-5euo4^}JWVYt? zW-<+gx!QO+pXs;YWZfE%i5nkcwF4PIX2x4Aa#wMZ|7*^wiDzh?cUNX!0H};=h=OCnmu@HMAD-L{-&t6x zxchb&wgFiKzLqkYbKPK{4JH2Le8+#C$>751x}pUN$itV1CMM%x$1JWLmMIf6NWgEOane ztc`#^6L$$Mjj*6J=s00i@H=6^v_Ni(X)B~ zhV%E1vqeOLD4WaWt5pxu^9<}NWkWRDO{kvD(nm68dS>E5Hlc zC{&PwrpFf+a<%jG4y7; z7Ny4*ZOUclS4!*h#WYfxMV_(&QKqx%4eZZF$iW8kt9rXmUj)tNcgXGW^0F)fSaB$0 zG}t#?2!}QG*Ez5uTg>GLF0{nFg2t=hcYuf3yrazGd~FfJFy35Hs^k}7#D$^E0*f<- zyfgr=XF3N4R`jp6tO7lE!Nf5n_@ssT!R*)wUU!^EcGVj6pD+qc1g&s|4fzVaa!hA$C0neHAiW@|3t+EEux|3J__`{k(FH#FOOHd0NQ!g$W%=50X&}>ud@_L*3@w6jU`3~8TKR#{L1$$svpSp3 zRxpDk0Ws4;lg&$OWjNJUkKpT!!?-Di!JR#rdM)W@w-Wt%AQWr8T`ri(WW# z%nm)C;nn5&jR~;>uUSG*tyBhckt5iQnpgup4Nrzw4WUM40;^^F(b`%oa435UQ7!&#^cX)SIq|*`hpK@0566<-8%i{Ty8A0P^A#K zC?u_w@zsU=MpG=4e_?2>G-jTtd&PW6uz{X2R!#$CKo;4N;@D{LBL+ghS$o%bBf&R& zAtNDZgz1iJ+AyYW775)0TfiO&I5BcL1Sb!Z$1$pq*}q#6><_cJ9t8Ma>(_Ju3hxGN zeYpjgb;1I=2TUu1dkCK2UKPbAO=oUHq&BGGY;_m{gU3XXVLUm4?rPd*+^l{XGu?+R z%=eECE%Panc?XUvs4w!m;jH24$*&*F!|`RTvmOKt)KSvo^Gl_X5c$kOz*JnH;$Q+D zh|P5|v|=<{$t=zG=SNoN%NBEt^DBD7Ae|o=zUvRZHMXrPBD}8a9fKb-I+{6Ykc8uM z^Fzr2Q25K0HX{YL6_}tm#MoJ72pf=xL0hxHoJG+g%p4jmdk_q2n1NbuC;b64f~)~D zht`x0WGvJJ12o-|O;*7&C>H^?49{-y=4O|Oi zHCrH$uQhX7(VikLJ9H1DkY{eo`y)bY(R^wvy_QQYD^yXs8VcGMm}X6o8B&0YkZhN$1$(uT>V&?%i3TDchpswN1TiZ# zyL8e!$A*xoF&T5kLja=?k<otdU~$jP>V6vPg_=^b3abxphlmq~@;>rgK$L zV=P}jX7d>cF+GBKzOp)87&K)Pt&310L%IV1tR>Skj)84js^VyDV$3r}3aE+Xp_v;? zl>vapP~3oB%TzL!&*%-%!xS3^Y1y2A5QQKrL2k9Biy_XLWTAf9 z0keh$<{1)00E48ma1x$$(8mV~sWJ=&ftfv+wjh;4HQ)FvdmDs?6q9^pqVJ3=VEJIs zauoz{S{RdDmh8jC0FGjHsW6a++(S=bB+@q25uxiBRxll<`4~&AjT7P?2GoEiQ!+L4 ze6S%@4x_6lh#xN-V$-fpTWzr{#mvC4c3KvwFlEf-Tp7+GFx0-wWU~EOuQIj3Ysu-( zqGCvS5~;kkWZ+*~Dy+IYjvcCMaklRrOeij~1JfGwBB5 zak>Ekw@PSLv6>z9ShKv;Q>f)F$e4UY5ND+!xkGwo5g(RYaS2(S#2Tv%f?2oQ8i?r` zvpSr@n5)R9P1Ujf8spj$cpd7d031w z$Lk>^=|$rq$tgC}zwu2x0|`+9V?)GTwbDy$%S%OAR> zt7yO30r{ZVL&z0--Gku;3#PDZWDr<&i2LiVS_JWtW5Lw^M$-_WU2mzg%S-c33Gt=b zl4m{myE(~OgY`;a_PMKDTegS=w;a~ftI`}W5eBbt78lFF;7YB2f_?y?!Cj9XF>$k#kLGcCm{(mvK;`xEpvKS zw&*O5o3$}z0zyn=txBT89zMeq5^)4AVi7q<+@r=+R6E05%;u__mRZHKm7gmt?i#}^ z79c~k1S=aYHo{>f)pf6>_~WcdA=lI?ZE+1nhR;|qP@6ZnKO}z*-0Ns0RksYdKnaJS{v}$WN_am3+NmwnE2ANGYH6|K=AH- z)8m1C9an`s%Y%0u^(4pj1jz%I?I?c8+ZHUC0Ze_%Er>y`PQP}FYr$&C~~3=^d_pZLV&XN;{jEd)j} zi$>5QU*pI|Upz7*ToxvsFe9h3CAh~mL|>I4t(i2kZ}{4Un5yNm5({@0N}h4gF7yiv z19{0QNH2D_rvaDr3?AP?fO&~f&f;vF5yGhSm~FCVRnq8yV_05d=@B29`gn|tmrkra zyBtBWsv0fBL&z|&=n^7VAg;T*%2H<)oxM+sA|%t&O3mKQ#^|PZUvb2CYO?cP93lGI0%o}@iX(9Owz_5IRMQ8W&mn)sCNP_yV)?|D z&YISv*gi4)@^^f{AU$N9ORd7XbIif+YHtM-`-WT?+PbkZrBY*gB2hsv`Z5O<7pfYj z^fq!Y@$#E=1+^vQy2b)|cDxu@j$uvJVHATccGNPZcx@GRX)Kst5zlrcMz6=4eaCES z%7S1O=q8iH{sy0Z#CGW_<7>1HrvWDAv!fP4G)*^4#^7V##AZt;vu4>+^P*UPLUGKh zknXr#R=$lcjx!*EZ_ua23DfeD)jdb@R&mVRga`_Z{>)F=kmv_Ne#61KmB)iXYH!N3qBms(wHBqGuc@pDmm8}o}p-rhRG0XEQtfGysRZER#^d3 zi}y^HL(XLO!^AX)U0^U|TNgu1X3-5-08q?sdpF~$C5whgOc7e>ZsFT7pMtD{DrKxl z%voRI3Xgrs8b}<;n@1ct91J-+(M7Rpt{=#(de~bE zO5pjIO?&BN8n39^-ma78naC~3Xyx704LIfyTH|Fn86I>OUAs>T;T4g8F&3R06Pab% z8n#clW`=Rnv76ag3D<1XpUSw}bXH^4 z12!|d*sVexzyPj`Rmv3e&FC3jnlScBs$WSO-e8XEFI?$Dg)L3CYjI_d|N*oH7OT)^@ zKMe}DKomy?AeX3=uKRzmBva)U1Cy8+=o%Vn?h0BG6kYwmI)a1XKtN&~zkSUHk+4=M zkNBdiv%$SUOFhH#x0U$~N!^9oGZO+WK^Z;r2>tRrQZ?wIF)FBCZ>iUEnNTsbHI=F* zN3E4P2+T@`#!i%TP^Gd=(L#^!07xvT8?97U>&7zLaa(PQwJ%5^(=}l0C=Ja+Yac9> zIE`IBo=h;@B+9LYVy)!rJq+XE@^qDzmzE74n2Wg;kq>T-V2@iz%p3r`^nOWNgt$M4G%E5P|dLUbsXYXkKwelh6YOMy3E3y930D3Tkx0AH;mK z4I~S(Vcj}5K3Ib7UK=laNb}h&(j9Cdv^F+fMw3`Jne4zo21l4|7no-;nFT%uNOd^Q z<>Ii??P0`cmyH!7C?<-??n_{wzOUW(H-P|6hT>I+7;|$HqB$EEy}bSlLS-4%kfJmU zYSn_ClWo|Jt>4R1)wq1?z#LX?%-<(->bTlt+UEs*?X`+k%rwnj=kWaO6E@Z5VJtq` zW6niJ#_Z=5$=(X|ndZS35~6cYt{8)cuKiMXZy4T;C*;guJQb|=mTbk&ItYfc0M$y* z=;BF?hZ9=8mxhy(%6m)01I7q^?ya3)6{B{cGDIi`&YFaUw>aD^LvDpi5OUH)4P7)R z(qYS9eFRpj0J#?L@&l$u=vvwjMS!1&3PN5!sr1r=#2@@^XLW)8j3wwRPz@kWMGc zE5!l0Kh}Gam4Ok@UpQR^l`bvJr;2$iLWf~l9-gRbSZWTAB?AtezLuPPOtwWD?>Dml z*c?r!A+3pXw;nlJ`x387TbhJzXkD!Q(gHqq)sfsr6fL{5#BSEIwOEmDpxoim5i;U1YmEY-cYi;MCI%%eZHaU0;FK;&bNwA}04zA=})dK{aP@ z5Q)7=K5=u`$sp0^KG}`36*SPxRyS~}R=8GKyhj~%)ZKGTz-G6w!IgVYw#yJYY-J)4 zx_G42Z+kB7GrEn{rK-O|zzptK`_%NU&qo@2l--8Blg*c z4&%n^tS=#k4GyBeC9H!sJ2L=wCY|i*ct1%S6Rfap9*td-z%T0ow#f;CSYSNvt|qrJ z{(sa}%$2FO0fD46ACNg7)tItP(3nspEjxmaY`O*iK_?M7I@h( z@L-j3`WmMPVQsBstcVvbg8_Di?aHwdsK10bAXwW_2Ft@?f8Uv5eu{YMqZ-nUBMgoi z;MALK5*R@oFkPk^H8hzSv{eN{?GqekI7u#;Hrz?rgg69_GDwFX7A+p8p6|vt9&M)5O5_Y7~?O14VQ)w7yqGSnG_X?&ToS{e; z;20fh0?U!acn(V-rg{p(fIgm@gxitkjT`qA^_J{Jc${F?F@lVKU#gv#6#xZs^#aZsPaS zXmjR)%qtG<#(Gm}lM%c_j}dA*<+C*-6x_v*RiI7!%FWEF!2j6dOrOz7eDn-`G&Yi1 zwwsua#Jaz@U{O6mJX{O_zPx2~1@k+g)>!PiioX*HXFTuaA~?R&MgU8_&@{2sG(?sp zwjH7yV?c8@5j+d?SW6Y@*UC!4;k z>-BE)t(wDO95(gTAQ}^ff|uM?^^2XX3DagS7|XI!u~aKzNdU7Dt}t6saz2h2V^Nng ziZBrz%wR`imV=5}cRu9f}y29ZLx&oK!`RM;N$SZL)d+kl15a0fcR- zax=-PJ9-KspsNS!XY0dFMb)C8L?giqakl^&adEyMz9IAvGd0D6UQq2bZdP066_5punYk|T2u4EO`Gp*sAj6kseo~NRT*aw zgT+8GgW$q&{n$;5aSY_EenpP=<9@_wHRfUjz4(%Ah4FT$;5V5OxNYE7AGa0(d?s&X zY{2dr(>*2vW;ZR{%EQ~4E=gY3+XW|Ck}$6exv=<=H0Eeu#g9|(Ds4;-EtT9N12 zo#)uJg(MV-2r>y%Dy%A$Y{EMrjSo^n*@r7$F&*)Q5MR)TP6Dec7 z^akNGCtp>x4NOYPsGx~mham}c;hAqnolTxsb_{jk$tPp5eb-=ZAQ`I`$&rbj&ZpQ^ z=zW^>7?QS7WZK>ncGuD6VTi)rGJ}XCiS)~OZHZH2$_D?`NDjm7k5E;=#li*BKw5Jv={f)-#AIKRVd{m4M?iDs;r5y#X?KmdU;lZtM-dw@f8tw`KD6 z?GFux13$>b`74(H5M=*D6r2(oa2($5K%BZcN z2hV{Qtp}9B87HwY{KVwj+zDfv(Gm7H2G;qK*omjc9xK3Ohvj|QMi&p3?z2>(@fa?* zU}+BqZ%WX#FcSEHYXim-ae}F&FGT#aD;hG*tI?J@S?WUengd{$EonOZMA`cET#v`{ z*KlFiAQUxC!d?gaaPoGvf56wCSW4sSVhPE#eJ!QOWJT>+nS4WWm6aD0l4syZ(~@Ve zV?G8mK8IALouwm*RUFc$tOV3^qsmj)-_#@CF^C;b6n%Y0mP& zF=r_b@Z$z0rINw>_NW{Q2Km_ukHkIM4IvDNWB?(en_KOC7DLZrMa5R9;rldcrPA*o?qr<*BV#wPUX94ZO?5TY)NG-hkekYrg@%s4^D{4<{dk8>&FUl&c-YY?#a*m;ssAI zLpDI2Y1Nl7gq2O98BQ7H2!#bD+_*0ZTS}ZD6MdmLj7@H#bOyWfIU2PX2h()i6t#d+ zTp5GiaK1r2OnJdZEbn>x%q>6Edn*CzjM9pV-Kl3q89Ta$M1xxjm@}vhu6lKktp=ff zfdPBA>yg?72q6O&YXszx*iYznimo0%0uiJGKb9M_3>Oh68=um)74l%O(tV%`I-vcm z=*YYvEYHsMx{IaD^cbDg3C&*of4)24OM48B)3s}%N zzsluXS60vsrRMGer{D2pD}K-?6ef(N=IzngHP!fQGxyCDosb&S6wQ+HXY=99I8Q;H zi)%fx-*NQ_9l<Q z_p2ld%5Y(-x`QT7Qe7qumuG)v%Ge45YN?7~f^E{mXWtjv=-(>}1zhVA))A&wkpXFV_4yc zlMsm{8OBhA#j5ToYMu7d!mdsmQtXt>G_5ZAhVqC{U7DJL1$MsEx((Ass>pz6q`{VL zV&)PHn{4R6Qb+7LWiV4sgEUT%WF8OA%}i9Cv?^_^{6-DD zOASRoG;xRQi@d=}hf=no@mi(nmuFvrMIanor;J5B2+jX6AEwNWBSA1sGA;LV@w{P+ zR2L9Qi*&0-^5w)Ddh9ezSFs?hblR|*8!=kVJ7Z6oca+PlAM-uKuxKm?YgSE_^2qON zG&LlnAfQoeHnp}9BNh(lO%D`cYSpUU#B8H(t(z^uGzakD$dmcDVZsRqTPJSR2yNF~ zI9`DFOi-?Lasj?l;mNy`=?>dmFe__XUWL6_9CKRirVdjH(=qOXPx#Al=`k*ZDX55> zaNy`SxwtgomTuz@(o^QF%j&{$B>Eqx3~doghLC@ZGRZ;)>hmMhv&3ppxNYkVmdRR` z>bb^UTl~;AEu2(>riNFnD{5R2 zzL_RR6@qHsk4(!;o06M!8!KEk1G1VaSc9}KzIx6&4`kZWW;bs%ay?1-5X;Ljt2Acf z+k_jG5@UECIjmEbmQ0h^VIvZH<5emmEiCH5o!SLOK2n7Xyd0*K*p5TTH9s5QVPv#g z8ud>ObQof5Vxm{<4!cdD{Jzn|zRn=OwW%AATXAbUQ=B!#s{v!2=@FL=+#Hu@;En?uSGl-C71H(;_kb3EERb1>!$LZI_b67E zhPg*E(M>Ow@3DazJGs$8$SJUXgA4pHU$Y*aoW(nuga4eR=DzQpjvBXk9BlB0jq3G=z zWp(9{6KZ-col97~b2Bgi*>K}zT|!MIAZT1Nw+ZoB4MB^ooO+Qa*li-?7f6?U$bI@1 z=nzX#2@fHI;0v_Pj(B;^8^+N%>J?flQRwYD@l>!gF~bV883t6J;aO@K7@@Ci=YhpQ z7@xKl#Ci%E{DdYlvXWhbu9`>Fo*_vGUcll#Bt`>hEHjBG+Hw?|OJk-K^v1E(jZwYMoqlkDpQP0ZhmS2kj=F4sU1wHFE^47C; z`*IOyI%aN=F&wpjgXW4}xE2Ce2{kftc|N~$6RkwEG?V#@4IpfAHFp~@5{Y#h3TJ#9 zXlRLvUD)ItX|)N6f@aGtwXs+;14EgCTFJ5;wev54oU;-J`0l=A$>C42ziv07>1( zSg;%&M+H-zM#C}G6Sdmr=H5^&-@k}m5wMBs@{&72^dqs^!iKlEEsIO=69EIdx-D+u z^HdA1mq%X?-?O?S`2{mm{mvMMG$&M3 z@rCCIab~0y5$^4`#$X)gku*V25X!HZPeaN5ul>A7JykX@>c*SOySCZr_}fD|sU7Di1#V>t(|05{av z1WyEX=y8Y#zOXUMx++xt7Md`-gCa1k$g+g)yFK~CO^ty7g~c>*O(#<}!#}jP920>> z*L}kdY{xi#8hTD_0kb)jjoTFkm7WnI*3jbsRNZP)c%}j#r)9=gPI(6zKSi;ZTAZ!hC zs@#<>z@bCB3Kk#io<3aHmmNh>$x9vDJ0gbUtMOKL_8YdXgUUzUB+F0aYc>Kbztf+Fow}lzkxQ+Vw-PNGaIvb1+#OODjbDP)WPoL zgku)b2{DMrJC*RUso;tM`YfKO67k9Bauy20B&As_#t@WE%;Ts=5}d&5Ja?HLo#T*0`9%o0eC3gA!A2$mMmJR#@S`b92V#$vpc6GDb# z1SQ=e_U3Q^b~@Fj7xqaq&^`kAO>-7a%-*PrOmJGkHw*{4n}0BqMx^ya?B-**W`Hy7 z+?^bvLZ@B26*Kjpu6@RPQCOWfg-@)EZ^p4g^(uY~y7SXL7L_Xz{Y9=^k;v6jM{)dSWV4X!a&=U$eV|^$N;(|V6YZRf{c+eyDUV`-$I!SxS!qjp z_A?f?7Zq7Haw@Dq8NF2~Z~q8%f$mt&!l3Ko5-x2#oV@GUMkAu-60H%8@JRSUg2F3LF9FIoFV+yaBu(?^btfHoI`Oh-WMy1kTA+F0AY) zwn_Z|@+r0o$8NVVVXF%&&-T&#F^Og4i~aG*rE6ZAf-^^gU||5ap|F1Evlfez@OgIe zWz4+{r%iY*7;tR6{-YLV2{D(s@`U(g5Z}9)tKcFZ`_ycDjj5yM+1k1rDrRV%bdtta z!(d{9hvEh6JlOgQW-?0F!&X+|sq+0hFK%16O1gJJwWC$Nig zZJ-FM&_ppDcYQ)L&FkmGiKWJV10IgSW);lFd>5-1B`h>I{bB?yz{doeFn{Pp++-98 zcmE}8h|mI5zp<)e8&X7i*oPGhiaR)s>>dP?a(=+0dD9ktwry$NH6ttK@Tz}JG9g(`GGi0v z+qZT;Ws_stoT*haP)HAa|P%9wS(D!dWx7?H-7o zfRj%=K~FuV`N}MK0AFL7EK=^lf;;m>^#R4xu-efdrlj^ONXB63rOk<3c{>oV&@7mKTJ&8DPySkK_H#*B7DN#+hw* zpZzw;MBo39y*q(^q^=S@UO)q3lL#tt5G@cjYLA9Zg9;WR8Wbh&k#VMr)gX!y5F+SU z?onCd1`)RsMWd($5R3{~0&2!Js6bqRQW4{V1Q{_Z>Z_`IZ~9+fsWb1K_vV~A@9CVO zyFUHPt@~T*S8FPEp7Qrk4O*2}mkYD|Hh*`vp~ccz>HZ*_qc^^mDBUS1|FY&PWHMfJ zKQW*e<kLC_CYw^2kSWgq0p5 zB_Gd!b2_cK4pe!Dcy+Ta9R`PcM-Bl*o$`O0?^GHtK?C6ff!Ond2@5fe$9DQ&dm zS><-tjBBoOC)<=fOPtoz@_X*fvsXQ*H*%AYCj(^TkyY|j3UZ)tqdaYzH4pzJ4=E+* zyc@C~$4DZ|BYs&M9+}KJNx!b1LDVDg^d6@krpk!b*+rhN(~FlUA8qFZmSXm!H+CYi z@q{yrl&&{Dir&~5$q868k*bKtZ)EWf15HGYzf+!d6sC#1c++FX+vJKg3|N{%6uM+lSm8?UZuWG8eR zt9DPviT8Y^d*hzPvPlkGUjEYLY1OPplZ29ElH^pXv*GAtlL4KqT{l^KQ)zZiyV^IW z<2-qyB^%z!IbPNiX&utkSAAz|N{;-Km!~Bm^*%__4(Y6=yO6YJvZM86229G>hvY~h zdF$A5M>plHCS6I|oOB z$j&9IyQlQW&5}3YC;yc0`qOPC8^39P%Yzc>!OF(m7soe!=I+WS&c- z>$PubE<1%!+CdM?vORou){_*@F0tKntIFhSzhZJp?V0`R zNLmN&=CpC`kS(F)NG}^|xn~Df-}PSYNOY(sVUnYr4cV>#+>diU-=3LDhw?%43u{SY zx|t^rW6Q~s^?CAE>$NWfHO?l~v{8=LANP{0i1MZJ^fv42P)=%)K1jXhTlaSAo~=0f z-ez*!^@KgM=LV9zbuc9pSn~Cz?2R#5$0nB*Y@aC?_Ocw(?LRv%k%6W8NjKQIk_jsr zoVpQf`>uJcI{g+xlFMom+4yXEx>cnEPLBm_B2NxJlQ(C{b)e*fX{luB$RVjrqjH5N zy{ek*0g|JlE@`W(6RE%%M-_5Nd%b!8X)_?o?Max|CzmWLcvW*s4KXFX-@H>zYun;rdThe^peP9AQOd0%HP z$tIo8vY%wpoppL;X3Ybn$z5Rn7OY+4OFZ+39lv6EDuk9>qa^(@$5?2hBW8w;zTyGbehqO(^QhJbmKTl z!M5##lLP(Zk3J$9;Bv1gYpCR*?<13Ids$N*l>AoV+K1_6a(v$L$*smCk30IPB%d@~ zcK9wsHrtmZeUkFpD>Hg8C*?JD$)bap``d3GZ?p-kq@ z)eDc(!wR`@n|!x9J+w$)i>H%jdP1MQsVu!Hm&Qn^$84Kj^UK9DIc{u<_{roYo+Q_|{*2%V49!!B*l)zL`Sg3ryq z4%4ygPS~`QZORU@(tU7R&+Mvfl2-aOke>Rpv}@sgJY ztofD5H9O^OKqd{61YVs=rB@j?w$N(J%XS!6Ubb2pF?KoS;1iRr_Sm#>(;<`Y6OyCL zH9seitV1q0C6~1~#!nh5x!{&2Ad`lyTxX%QsgKVd6VV-e+Fi+C@9C?7*-;%XO08MV z>b~r1kDu-0(hE*9F=baFv&Gd;B5Uh(`bxjdmSmW1@cQ-v*=ALetdghb(jq#&Z@h1p zq>$7)-DjrrosHx*cfjPJ=pOdB@(+JE+GLNI?Z=YU=@)WsI47q>$p}o=x!R2Ftm^3W zm10?jX)fuFt>?&3{G}K2($2~zf^@1_dqAzX^Yw)^wx3V#jh>iXf=jBKrM)_IO7}l@ zW}z9axrAjo%J9n`N6GTZet|7XS^GSH%RY4(z}b^-s|&fww3BQU>F4dja&{17ldbOl zPfV^{r$Ync|wVSqm)i60c&t3P=#Yql3^!G{9?JwE( z4p@DwR1Wr%(&?E~@)op{7&MRf2O@@5>f}@SM*VFT8s=AbX9t=uCqnUtk%i+PDbeJs+k@wr8hNRoPF`qPJ>rJf1buk{^{?pSLWwF zsgL$z@)>PC>6!Gwz2sU))~fnygzVW|JCaNG04Jt*G39ou9`5L+db#tgJKc>(-}1NY zOSswbo9t`Tc{@GiO7|mj_nAA!tPzqQ!cKkzQ650ahN<3g$!6-Llhb`5zr~O}q>>Ka z)wd|qk&z}Tmll(crR&O`4aoKtX{Tpbi0pdghU6LL>}g!v2PFNndU`gQie(ns*zeh0 z|MUUl)j&wkx|7!gX79^QTxR}L5zGb`FB$|FMIVVd;Y1LnYU2MK8-T1Qo%*MoJW05cJWgW1(uXIFq zOYTU!@RST3?c!`A&cA#;{iHQTD;;m?^RasNe{ediv(R$wB@HA8$tNUTwntLX4!V*f zg5+g+*48@ylfB>xCnfK{KgG_Pwc6QD&FmQX=vVBSg-;)&vr`S-0_0Ra{nu=+NgI0O zkHDmdN7;#T^3U1ME3H_PPBz7_Id0V}NHT4$+Bu!~)4+1UC;RS&Udu^PFMTFMJ-u`z z!+kY-CZSg?kz7PS>ZQpJCV6ws(XU8rnbjma49<3O+V@FFYu@5b^;*7l)|#{aba1DqtjPwM)_wIR8mooAfhgU?l9pN>8=YuFVl`i(bRT1Nu^?=VY%R$SxVKIZ?CYFg+YTCLI$=1Rb(3UUOJx zJ(Aqj%-$C-^K6pWn#YKePiF^>$@yY>%$8m)OQWr>5@tu?$wxH7?0pYu+n?~_Ba{En z9yZRsmB*rQNcu`|vFk1b@8L^UB1ibyF9K&3NUvn14;8H*-pc*JPCB!ssja!9lV1H! z-`SRS^v0X!t0V5T?~<`B-J2%%_upU00hJrm{<_zr_FVmakG)raeeCLQ zk6Ha~&-%u{u8Fm=z{Zd7wJN#Sqc-Xu8>8;)B>&qq`@hYS|E|maCjZ^s*&j;#VtY_^`0YJiS*B{oz3-g+hlR%Gg~>^ zCjYW&^51pIpW9~tA~o4I%UdKZv8l6N^8c1!`Uxj1pO%mer0k~2deYMAQu?{{-|X-A zO8%azdAhWH^8fdgy~LFNrsX#NUkUY3|E28QJNfTcxk!wfF7J?(SnKPuT3XF_(6wx> zWu!(@d&x4b+q$H8)|&i1Ei3g)*N|qjE?Jg!$$!&cOV^Z+1nWT=73pWU&DuAu%f|fH zt!k9^&ZbG!wC~c=)(`2r)+Mz{Gv6`!|4p5A{7HNncj=ORW)tVX`oB&8%M$-pg#R1= z{y!s&{~I;=pB>{L?fie*KmTaK|I-%y$LIgi0{>`%|GgIYpFP|B&(7|DuZ91+OZ~sn zM*pwWKu4Cpk|(F8O>KQ{rurE5AwN>A$7rPq=@&zRjJJ zbLH2qDZj0=LE|UIop)#PcXVE_<##&v*zKI;Jp2q@zF)R{Z|59c?q%i6&WCmRP1*AH z&Zl(w&DrvH&gXRbKH2BDb*|Fo9kb=Fop0*$Nm;&IIoIp*Ioan+&QEpu{#p6WoZEC+ z>c8o#KF#kvBCSSpEkpiSeqz#G$^TmL>HgwAynM*6S@{5d;%>WT-h;p8<_BjU!pE2I zp7{{|g(D<>1h?`NxRsCLGmW!=cMq2JF5$OpdH4JI_Br@WDPM)3bf?s-2H*36(hha_ z$Ig~|dGODuH{tcmrF;v1!a&;}e$4yCd+=|aE8d6SpdP|Meyx-r!Y$4SZgC>Gwetl2 zS6y!mw|1MuM^{Nc&UN{IdFOTy&Bjj&K2$Hmul%aSsldOi?!s@mLHiy4DUDx)KU&9s z9sbBmWSlhNw!O6Aw!L)VHvYSC8~=T{l^?*Z{0M%rZFg|nj$-&zUM1~0haY&M)OP_t zM12YW@=V&VnM`Tn)?CHN12F6%ABU!-1v-*StTcj3=fuflD;wF0lhfBZ9v@4*jHZ@`cJgOqQ= zZM`k{*Y1+?K774;8*Xtr@Zk3nrwf12ufzlRpMELcgRj$Z(uZ%*@&owK|5M_G@TaK{ z;n!a$R84o`E-0z9E;Wkb>1>S}K{JRn-fIm&W2jBiCDc^_NdI#_iT`uKA z_^-YwK7>D8eFVSuk5YaNKj}vC2>waUa{~XtkEQ$+{*_C`XYdEB$M6e2E9K|#9n=@_ zyDpRROSrG@{2)L6&;6W~FTr=aM7#{Q_OHNS{yQn}!oPoqcon{{dJX=;g_N(ux4u){ zgFo>n;tlvVv3L`H(9Pm4_?vXSKK#YMmGW))`I=7${=2KBd>7tQ58z+=vXt+^&xyqQ z@ZWz)d;qW9CLY4S`)lzb+}H6rg75w#DL;lcb-fY%>sLzo3H)ig-YI;8mY>0GT*dHx zz9sSJ@b`aHd;ve`8{$j&FaJZ_`C)$iZ~JZW68z1&-ZK1XjZ=Z|r|!bv{56SRg?nEW zufhK`5wF9~`-->+zn6Lg{`qU9d=tL8dJF!XtEIdTpL{{Q4Y&U46nGbYzQzgQuX&7I z-{`@&x>(lRFYp1}@(JOuxL)E6;TP!qHiCcSr&4|lxA;+kPYQerKU?F^;D_iu7Q-KK zx8yU2Klab!3%KREggZKqIX}ve|I>BeD8VB=A1TAXd#$Xu0=Ms>OTDOdOXmE?{|^J>ApaDIdZw*Ym_7{G~TY`4RlF`^ok=hFkwe@K25<&IJCH&x=pt7H3xA zae>bZd{N-b0(X9#AODt5sldwxUMX<5z^esbEAV=Odj;Mo@MeLx3fwR7c7b;ayj$Qw zf%gi$U*LlR4-0%);G+T`7kE_QlLDU>_^iO=0-qQ7qQI90?%Y@~{tLWZ;FSV*3%pw3 zwF0jfxL4qf0&f<0tHAvNZx?u{z`F$=6nL+|`vpEI@UXy#1wJb9ae+q#J}K~NfzJv& zF7SDQFA98F;Lc42~ z*QkeZYo8I^@`(z30=M>$;TC5OxACxmTO8-7`F`B;SgCIbzMZ-YxAIlEm9N21KULy; zaBKet+}ghhxAt$rt^EVI#qYr_ejje}2XKo&f?NBK;nvPE-13>jEuRJa2yOo*+~Svi zmhZ=&^%vaotimmh2ekp@Xge$l+_@#+kK1Xz%J6G6PZw_Gt8gpt!L5B7 za68Uv!fifj!L7eKaGU>w0uKv(2!Gv6WSorP-}yK32yW|*;a1-{-0HP}TfLm0=ljLt zl;9Sp4F8zsUx8cv8r~9 z&@XU%UeSeHoGSe4N6GVGHMq?`9^B$I;1;I|fB2JRo@v2tyYu0;-T-dv?ZIumeYnL5 z;TC5IxAGC(%1;YCh99HP4bJKMyqxokd_P`yoNU)+xaH#(c&)%a_`~&huL1w3m&$sZ z@Q13m;Crh3a8JDrKSaF)KTN#~f3bQ1KUuv8f0KG2{!aA)JX8p7_Z}l?iuNZzm^*MZZ^#yzn^(A~ib!VO*pU+S)!T&|Q41bAw z1>RM!!atznzXm^3&oAomw`+M1evEnpeyX|;AKt0gN#Fy0uD%0*k9q*NI6b(<>BB8f z2)8&xxWyU4Elvc#O7on+E&de#LVdnEhFhFD+~O?Y7RUKze*9SZ65Q%lhFiT{xW%c$ z?YVIeZsi+rTW=F?>-FIlrwz9_9k|5_;LqM)_Oty058)3!OON;9`>0Rgwm+T1?Rz3K z_zoL%K7sG2@#pY{y7Q}i|Nd03_m<%HJ%TdazDMA~Elw3~acXdj~4juRp)C2fW)cf#Xs)z79)JO0?sz>lmu9SSH@b75(7=DBL0)Df)^Xq(n z{X)GAzg^vh|3SS5|C_o8-%9gu!tbr_!|$)&f$ypwz#p#Ohwq^t!uM4l!4FW6;0LQu z;m=Z!;fJX&;76)Ezsa}%mg;5r_UbNtC-oZqLFyj-Vd_ozqt$)*W7RwGC#nbVr>ghi zhpLD0mih>OxOxPCiTV_Nl6nk(wfX`+R(Ed8xBq9<%kXQ|UHF^SYw*+6J@~uSoACFk z`|yvcci^8?58$6w@53YY5dL-b5&Sy!2!5mb6n=}k^V@uT+V_b{@YVGJ_*UPS`KAZI^5Or9=xgL8*oSS@!`YkWjwUuHV(UR|ELFK{TRR>v7^N4!Q;0-Br89F zKYgy_5FVdIaC<(Q-aGfjcAV-zofFT7Cw% z@1ZZ?PqFKbzstA(ug{Trpaefuzc1{GG?_}A4ZaCh@vvh89D_pfv_pTS4#qAhxs7N-l3w76eI64!(Ov&Lz_ z{gK3J!99)R!|NKS4R<~!ak_MkGloz1*)rQMqMh^YP}X`);Zxo2X7KV)WWCM<@^P$u z2_Af2%9r83=3jxk+CFvoRP$`ZSKB-MUfOPbxO1W8vw(Z0ZL;>M?2@lntnE;TPyZ(K zrw8{n&jx%o&K{VLZ~0f?_P&}LJkoqxaJMA=>%&7G2W`0ZUk7gEpbM{Qy?S(AZy#>$ z8NzM+jp#aVCvfKi>8}~w*M6MC!v{(GI{K&W7sAtIzfgzw50G~A;I<#Mcoyd%9alq? zk3T7SM)2oq`3c;)O6vuWcYbI#4rBOXuAJY^;hmpLoFzQkUg9`ze!SUzmJ)ob`B&i1 zeI0qG;Eu+r(07$MF1(|0s_?}pq`&I$P~&*;u8kjftZ`cKz?FP_y2fe4 zry8dVcQj4_?`fPKJkmG=xc?x@CxrJk&JaG*IAgfCo5YFW1C29*hZ<)Fk9LtbF+9{b zb9i6lEaA}uC62ROe*6qIP6_Vlc3Oc4W%;}dKUC+#D!lWzEwcHu4)^XY`FQXX&XD8n z20V%+P7Cg9`}puj94Q=Nkyt9cO|G-^6 zUTr)i-(U9pWE*bJsRjk!gIk;dJk;ee{HT*;KA*zNJ;}fM(0rbgf0yztczlkO_u<}K z#6x(zkHnq8J7-Aw8GLcNcD>cFjD3;0s&wS-%}oGR9<_443WuQuH3 z)rDKVrtnyom+*$xtNieMK31s5zay*#+pD}Y>T(^vUhCC_TfL@mH<13C z!L42~-0J22b3PxdR|9VKYQe2uBY33CGx#oAuLa!d)p=AtpRU%c3%7a&aI04Yw|dRt zR<9-8>eYO7J|AC~yYTI`UVXULt6a;+8EL&LaI2RKw|e<-t5*+h^%}sfUJJOhhvZk$ zKkazn_b1A@s==*ZBY3R!8q;;2kKk4>XU}~5SiP!nt5+Rv_3FbzT^_^l)_P6hR z`Fv`x)BP9R`pbt~y+XLvYXY}=&EQtA+TQtmJY8BF-QU`H zuzGoLt5+Lt_3FZ{UQ@WmS;Akc+gJH9`F5~+_2C1p*8pzy3gK3-7#^La>w9c|y;iRZ z-0IbV2f93f->CgHf?K_6_56B2{z@5#b-2~bgIm1M^0UKP02%Y|FLe7M!C z2e*0+;8w2%+}U69tLUFLUwu^TRfAi-M)2_UvVD!=R<8(d^>Ut=Z=d){vRs8*z3OnQ zS05hg@)&-$)@us4dNn=dqxEXh?feUF^$OuuuL<1hHG^BdY6s-=@pQQbe}mSm1GjoD z;H5W6e=XtGUyk;JjR&ij2e*2);a0CM-0C%jTbw2QM6Fl(zutXVcXU4(!^;}K{M3A&&eLVtr5_^RfJYZf zJ}tPl!w4Sf@(liXZHEQi+M&_N=h-<+*4u&Kq3zIxTRQ}BYljis+99HAJIvwbizS~W z+}fdea6W%um%H$)wnHCo?J$Rr-XrTRKP?}BD}4^I0=IT>;nogKxV3{%*LLW^rz6Q{ z0JnCqcs5Vk^FpqUJM&#N|0?{lYxF)5d~Yq^gxm9w9r!_7z6-bCTN%Kgr{zQV%hV(I zk?IS$qwQAFKdrtyYrogvHouMFCu#gK+~&6kZu6V-jQltWb-4<+`K=DOe(b|7&KO?S zdQIte{q~vpd|J9cYQe2uKHTaR!foE3z^z_0xYet6Xg(iLms{{HwO$>#_16R*e_XbU z1^n&Wk4w1K*J&ajyRHilo-O6taI5bW9_#WFe)kD-oKt>Qe!W(&KKwk*e*m}qL%8)< z47dDCS`XVUEdL7J`l|!CI0N|Wb-yrzTfJ(}$=CNwTCY0X>gB<$UIE<3;Sg^18pEw# z<>%(}ado*4zf=3G36I_`<82D>>Gm~)`|p+VF+6&kxcj_(K9Mdr;Qdca`4Qa8&)`4R z{1B24l0B-q5aQ_7ocMiAwoBHoI4y}9_e!b@3hg<%0c=KJ-KIK-v zUUzD}DsZcp3%7bT;m!*st`E0y*n?Yr?Q>S&?M{(-z}0x>o2ggf_Pc2f_)hvB&L(_k zjnjeOTfGba>xHu4AHa9h@*#Xb^$5O~`UHN6`W*fw^~z!S{&ID>4*!~Mk8qo3rf^^5 z&)_!C#BiHu+<(dEWBuEJ+dR{P+dMOZN4h+NUuxSa-0IbNQ9hrM&NE%O)hmEoy&|~( zuM&3-w|Xt%RB29t?H6wKD*s!)Uaz$A0JnO%aI2ROxBlwEtzHAT)oTHF zHb{OI{nP4uj@GLNw|b4>vG&)PZue8*RxiiTw~u#(ELY)HuR7f7)rW_=JcjqQUQ@W$ zt9f`npEI?;T5#(xA8z#u=~}M|-0C%hTfJ)fIqMf|pBDTytyc$b^;*D(TCXMC>g61n zZwITF2e)z9hFiV5aI4o89_#WFeuCDkd{jOkt5+X>jn-=bw|a$et5*!SdXuUs>9=f91nQ#=&j-bJbsPD9m1RM*W-#8=hy4% zavgq}=HG-{{!{pGHUAmh@{i$`zuV5|WBE7Wmj4JI>GBMIoaVoPTmGG6^XuKDE5|ck zxaA+fE&m8^`Oo2&fAb~z_4>Npg&(H*_u-a*`M7+X`)mFcxaIG{Eq@Ve*v%Q_*ud&f2WgQujTK-E&n#$ z@}I(EU0%X>)cnh@$gkJ(@54RKe*m}qL%8K1!!7^P3HkL}{vCLr%LDjd^*MnN-14uT zn2-NF&A$$}{5`nkAHc&?CGHSz`Ik@1uh-S(I{X)!e-m!`PvI}t{AX~>KZaZW?kn^8 zSpE&T{gG2HTx;FiCm z&*Y2udn6bhA%!L$G3gB zulwZz-0Bs=tzHv&{94Il3U>qX89dPPF?@C2q5p2}Y3);imp`h<`S7i@eR}ZG2ecjN z?+~|o*m~{z?{kzdpDE?7epY_}Psw#QPwQ=dla8MT{4eTl_?_wT|gBI_a;9{%QF?!>)(GJ9?fqfsErQ2-Kg)T2emsY|T!niVXg|WO z{22ZY9S>8u^K%~_446XuO8fcqpYtF57a}rZ5I=`wS&d8{<3k~ z(0JyZzOpXC~ z9yB^}a8SAzCgY#?`%PXZ^l<&y~hAKSj5%4m{B10ell{2e|cb?Tmao)U6%h z*1sOy`Zs{D>I=929mB1E%V*~Eado*4|AX#dnsBSv6n>_*+YD~?is4o-_pE$AR<8!! z>eYf+6hu7XG+mU1QihPUL+2T~$u1j!VkIyUccz3B!3;s*(mk!+e zWdL{edA|v~tk=D#aC`5~4DQ@(o2(`a_(1!83AcWC-i3bA{cII({ZWHk|JC8KF1O(} zPP%X#C-ym;$2Pe}`elytqa)@0NDFvb+oAOCe7#OTThGhjz8?2h;8T6Rv<8oKeAeNM zkLdgl4?ZT|f`41%`0%O5X~U!QBu)qZLyZ%_f1}=mmo-iwUQ-{y@6tH)59Zs`-Yd0) zuh-u*Eq^FqetMhaUx$x=rR@d}Liv0P9%}hE+~RcLw!QS>(R(HS5Z=61@|nQh^Q8O? z9)4K7qWRjmUF;@*vwE2K|0?l&DBs^iO7!7nM|=REt`iU8i!H>5@a9h9BY6Bf$!84j z{HJ&X_wUs9fp>l`?r3|++8k$ehjzK3C}bRI55(%$?s$JJjhPkn!Wezou~-@OU9{T5wmlLm&PM zjnjrtwVk_gU-Jpz*J_*|ysz~dz}<7DULkz--YU4ay|mOA9=uQDMDW#ntKhXiO8d;< z-uop^4F9RtYYuPTE^(IdK-<~*h{Uu0wfDA_;5D63D)7F}KQ8=!nokuT{YJ+R+#N_B z9{gI}?>FG(U+egRyJt%rAO0nc(}wqTd+)-d_eh)&ew)^72#@Y+E-{^8CiB<>78((*Cfd5Xj-U!2d!+N%PObh!q1o+)t}@ae(g zO}JCqHXDa6xVNde5AS$8W#w)C5;gg~1Z|%Q%Ey||9B${=3%H$MFX486-MA#*KGt6? z_(L?G4%~UNWW0d87f9SCJkavaXY=cws@LE)j_Y(?Zo)lnpElgp{_4Q3zq)YiuK;fS z6~nE+=J3AeQ@S)?U+b?j-1@5mxBhCwt-rePTYoIS7t@D_PnG@}!vpmg?yHwC%jX|` zT9zyD@M*eTz-``X!JW@ZoDN;rJAf~mx`pWHbji6@$7cyXJy1%N;l9ofRru{1rv|Sb zDsk%Y;2Gjg_}v<(1rM}+e7K`=y6|muUJc+iZJ!=II7IRZ;Wplea2szUxQ(|7e1EOi z6dr3k&){XvX93??>$QY0G>$XQkGJsYQm^RByq`Ld{nrHE)cvFLrF?mNZ+{71J3``D z;F0Fx!tFYC72bcB#HqsrjpM=X`gQ{z94&ELa8Kg|aI04j?i?d=25_ra2)B9-;mvnS zoH5+$6~V1u6S%AOn!&AJPL%Jj<_l%LC3t+Xcp2XLl(-AGI8}IXo|Lb_!%(~qUub(a z=od)&7Tod0eR$`C;%)f!-QofK<2ufJaBGJF{1Po6!oRIPg!hk>^^W1r=cPX)xSdZ; z;AP#8W^iBQ#Be*mo5TGxC7&hS)9u{(a(B2qDCxAarfB&cluYFSD4B+AAQm+tx zp}yyN2oFCYamMiA3p#$__MZ6(+_&*V|Dwc+;r2TPb9i{T3BR{a_CsX#Nwp_W_ABh1>bp3~uLNG2G6-!tdtW^QLprisjnhNl|+7mvFn^TDmUZ{&v5$4DVkh?eD_verpYWh>qJj-12F_8#pALrvq9;dUHV zgU7nRZos22NxQY_x;=N{Hvf*{(`%((5!`-PuKkmI{`;RV?cam%tv-a`TYUm=s?Xs^ zsh575U++nemh)m49{pDG58xe*(}Raw%JY5$xcdWHUj(=KOStzCiR1n(pQo+23b*yv z;kMp3UGtp4!_8&AQ~DO-Gq|fB+>+1J>NSRYJ4u`vZrAtb@Q&uQgh$$*&d>Afwd;E& z_(IoPfd?9=3y*#${T{+E(taPp%iBu5#_%B4euvxjt_eKePTLt?zFFeLaGUq$@bG>T zX9QKUA;7RN>BxBu*XfX}vtSUC(L2odYCJ3+`#X zeE1QXPa8gZki_Z2qZ_4N0=Uf&J$Q3>i8FvZKbANl{0z-!2=^Z>amMiIM-nH32O4Jr z@9ZXVX7E7c#BiHG=Wy@o5@!hywO-CI^5f@8nokK{Ye<|5Jht%zx9g=TqB4 z@!)p7v;mKwC2?ACPvZpe@@+B?^x(Fg_TkOC#2>-k^X2)CIoysPmhjWGJQqZ@KE=6WBSe#e?q@(kL>)q_se{qR<8lPr}Y}atzI*@)hmYk zx*wXuZU0*S74j)UGXK{N36PO}Mo~7jEqk zz^xs6aN8e`;MVUmxV6I^ZtbvycOD?^Q~FK5zIMDaf!lbP!B5lu=>k60aoD^qAK&ut z!kb!t0JrOo_I!NHzYe$jJ$U>VnFktl zJ5E~U<6HYz;GyPUgIoT6xaB{FTmCb+ubSX-M{$osqXLE@bJ&lZe6&e^K%bw z$FCE3=MZU!DSUOk8os!%l#k(dz1sU@zCHKW^XLZr(#z%i&WGE3#RK@aPL=0ld+^SO zB%c91`cKItgnv=jJA?;kN}Ms=*EkV;^*lekc9z7M!5xhg!>`tS=J4``5@!hy@05Bu zf6BM>*ELQFKK+QqslYvrPNEf1u?X@csv-d;tHcmhZuv8h-!}mr~Cm z{8o)Kf=B-@>y6-^#+kxz(>ODD@LGv8hdUZ)3BOC@IDgLfi>GnQ@aPXx&V}3dQiVGj zrw;cuP6Pfo&8G>EG>#81=2n}czBo8YXDz&g>3I3d@+zXBe<(^BKWo% zX9ADkD{*G@-%CDo_)Z#U0e7@s&fWQb3^h&}zPrY$z&#y@Rk*Kl>hSw(91k97oF?4W zI3YaN?Pv@SE|B(Fz^(ieUcOk$JAcWygZC!!GQ9sX@d`YCsdyD`$02q2{x)vmos%R^ z7hcx(>A|gC`f#iN0PdY9@kew$Ux?sV|0z7y`C$f+v>jr2GnDnt;r%a)m;Rb>f7>rs z=sF*@;I$7+oC)08e+J*fwhMUwbrPrfw|qW!oYRGeTHgR((>QHseRduuSC<{<4qa~# zZqHAKaC;8l*(4vwp64&Y$|$n39o%y@@c@W-&^oMYWsKKoo`5-0X+Ja_!z#>JR^AcGWj0g6mH{Z zN!K`~&GPlFX**Zp)-E-;jhi~$#!Y)&KE92I9{i(MNk0zZ_PlWf|E!juz+-)mqO^H_ zyUVa>v(Fxo$pEU}`Bb*eueYr6U3jedEa5dR-`0P( z{hh1zw0fA^eBML(+HWME2|UugtM|(18EgKf?eo6W?>ScC_Pw44+_vjBeBF`Kk3IM` z+MXf2ugk*%AHnVO;{uQ1_W4PHPvQ3YS%JrJ`~1AX7jXOhvcR2kzF$_KFYq$lK3^$t z7jB=g7I+PApRX6V2e;2R3cLxo&$kNPhui1d1>S+%=eq?S!0q$B0`J4^^Me8p;r97q zfsf$!`Eh|qaQpnEz^8Eg{H(xZxP5+J;0w5Yep%qoy)pi+T!EM2_W4SIyKwt_wZLm| z`+U8?J-B_oQQ%FueZE!TKHNUvF7OWAKHn|y0B)b}6?h+RpC1(Xkp6&evg3piyrVvW zH}{qDQ+U5FK7+?vKBhlR%9nP?k2i~7hFkm!+~T`*jo*Nmcailr;jz}Y1&`Ey_(;7E zxA+6N#Sh^Ye+aku5!~8m0=M>=!mWK~bZwsn+~P0c7T?)1-(MELMA!K9`{c{p@!k@? z|8;WQQoe7#d~}%fR~;Ux_u;PP@lW|Uw%!W-UuLr28hmlAthW!h^WqtNbsr60K3?L? z;qe0{zv0gJoaY$6LGzr#?K!>L0}w~Ak9FaeX8>>dl4lR@KS<&>c0qi--`awoqwmM= z!28;s19-C|>kZ-VuCl%%+}}-n1oza(@J?IePvO>&3wlNCsr_Te|IW)LP6ZyHC|-pJ zuEeRqV{OkaynK|zv2kJRT|IY)^6ueMehGJWlJz>e9*bk=FC}>YIIR~vx}U^x;r6}S zDm>8fQ>SYj8%LIp)vJy2p2q3ItzH4#>eYh>FOhl;;8w2?ZuJ_%T^&DTc%b!);r4sV zCGCH!Z~Yf?AG`)XUbkx-FIL{ZC)-2$@D*Awcv;772)Fhb!X2$w1h?-qPT>B_WW6(Z zq~k4y+xIKy@ZhBqX9@Q-PFuHoYllGR4corWJL(PH?#gTW zZ~GBCA7n>Kj$_xsy6|uhDc6HHFO&Fl_~MJ=3%Gxw_!1s|Ts(YaKA+X|uJGvxrTiGa z*j+v!!R>jx2|T<=;>_Ug!zE4(|LqTCe>#VEF4cO$!EsleT; zeBOnxp2vpQUMq3x@bF<0$AeEbp9b80zr<<5qlZWwAN~W4(}sK6&Ruw*aRRt)*FAXu zb&}5j9%z4saC<&^2(O(camMiY!BVdXev8&?0`GrD;>_TV_InKfqsE!T-W!t-LcRjdmcYU~RcLTU>cM;sx?QucZ?Rp7!v>lvB<@5AEB=z#(TfJYdpEux( z_el8`+_murx94@+aQ|%*rwfm@Jp;JSGd;M?GXuEIGa=mOnIXLP3CU*+w|ORl|INl5 zyz^m+GlRQ2@5S)dd<9?4SMb$*_2_&*+V^5g@aSWbPX+GlJmbP`-mAiG-mAlH-t*x0 z{h9`R`UT0S1&=i!A8zw!8*cMw7jE-s0Jr(G2e6s|ycwzYxG}ztDr*eqjK&{Xz)0?^6unj?TklxM#;X z@aC!7FM8Z(`<>1Q#67s3?=;|!?q^%@NZ0GbZM?PN>5oa2sz!c%;h{xLqfi!7tYN zb^-Tat?jU9empnT+k55R;&Sz3=eew714D&oxo%5zZtywMv1?G+x3C+ z-ue6^Jx{2>eH{-jyx)`fRru&~@jCtW;tjYR_xIs;e|Z4!Tq$uvy1wtRv`@ZX)-M(K z4X@DaV{q%27To&9hr4<_)P`HXbm8{=b{}s2GJ^YhTso#}zeI5BmkHeZWk%P2nZrFj zKBzt>-=49~CpEbBR~;S?rN2D5Jr6L1TYrt=TmDe`YYOk^_E>vtK2K}U7ChE=>%v#p z58=MfV?DUdgVo1jy|0nwI{eV{<+!&ApMF)^rwb3hCO&}M_!+^izEgO(ujDhMYy3I9 zIg$029-pt5zn?6Z;gNa^KKi=EnZT`oXYh&kZ{-R3^+wu0O}N!}2oLs`&oAMQ*30T) z`?W~d+tzxl{08k8cu<%40o?XqJ-BcE2=_FOwV$omuCvWi-mbHiwSHFKuCuk_k+!e3 zhm~LDiSnKQkordO1Aipj-2`5{?h$h3=!yCMviK!78>6yEuvaL4;%9NCfreP!TZ0I zI32jPPap0+N#YOSO>KuE-2bh_AH&1j#3yi9^Q>t5+4kl9PRhG*+uvDxTX{Qv?xDOl zmpB7>bb!<=gxhvEgimkRdcgyY6T$6%!36GUJIv@B$NJ6cS67CUaa#r+{Vcq{s}E#dR9J;y*Ho=zevkB;Fqhn;a^wp!L8qi@Ef%J z1pZ6)Is6amrDx~!AE;O1oBl-Fr%~W-`1$&N!XA7JjWdLAr#^w(^ZawVmM=XgpZ`PD ztMGl)8}Rc#E%)Qv@cp%X559WN9KQEWI)30ctIy$2vHYK#&;L-%AKtS3;l6qs-d69y zPgEbmU#&iYzfpY-KU2N*ynOxx^(y>4^#=Tt>TUQX>OJ@u)ratF)F<$7s?Xuqsh6Ig z&;LgCD*RUU2K)~7HvBK@J^1E7m2onJTloq6URr(*zn^;P1^N6Rs9uFXRJ{Rzw0ax< zIQ1U2uC-4ue&*2xS zmtL69|Fh~<_!a66_*d22@b9Si;4}3h{1){Ie4##v|53ekSU&$veMKT^F4KVH27KUKXAxA#8v;CBBjguhwiMDTa3 zPvG{wvpKx?dujg#{6dXWeo?-@V=eE&uhjBBynC>mk96U-UmL)!{0MIQyD8kt&*8Qo zEd6Ufe=G08ZGT;ZkKVCub{<`aFZLJr=-NIl_;<8@+VEOm;&kAh$BTF2?p@MfeYhQ0 zgz&{h5@!exHWMGgn;L%tx8su;-2bk`iQ(2hbNE2xJO8#mYgaoSw((PjFRqaI6}bOI zaTgwG{5ssmTLW(KTW}jE9k`9d0PbHZ`Sj@b7w^MMf6)Ch+{Wz~Zt)|ycaX%Nz*`zW zhR<{yF5u0xB+e4<>?iJQSfA^!fyS@EZ`Sx#xW%u*JNrxgI((w>n{YdC^5GW04G*3m z@jLLP#_z#z)%*u=iyy)l+CD>gbt(ND!Ee*}Q@F*S!5z&%hPO2S68@hWzvSop%i@>e z9nHT2?`ixR+|DCBczlMma|3SkKodUJ_-(kIk96Vw^%6gzKS{g?pKJUOZs#>4xc_E} zGlqNrBp$&lf0X{6!R`EL4zGPy;w<3N7UD~ISL2rtU!U9V>^#ebTl^|~dVs{Q!6zEO z0k`wD7CgRK;`s2s?nm12@}H!A0{FgqzTbxjTT1*8-qko``0D%-?&vt2!aYyo&)_!C zFW`0_>Kw5?*Z#HBB~A%$T}P&OY4Ei#zcC+a!J$ zZt(+nU*iwpc78pChwqX2Be59KO`}&e8e) zvg=M|xW%u)!_8&AF5LU8^lu$**QpwC{|1TEgxmbqg8x~MmpX8}-W9<8?@Rn1+~W7) zJKZAr58-y*Yz+6O5W>yuM> z^dZTA2DkiUxUcb-aJ$Y~dU3wLEPfeo`B&frjbDS?^->Ss`LN{QfLs1e_*CP!;db4% zOV{`T-16_i9cQ;}yoPYQemjD@ACdgWaLYe}*ERkOZr6e5aErfyTmDOUTjQ78`F^zP z$u4~QQOUmwxBP4HP~$h?c3rv!xA;C?kFVNvjUT}6`gR}ge^2rsz-@jA;m#(~zhk&v zC!fImYbE{^Zt-VuSK}|>cD>y>Hs3GtPb7W`Zr7vA@P@{(!tJ_!9bW#K#P{G9zX1<4 zz7MzS{~fsh1&QCKYySrDvBn?3?LNW~?tM|>kKmU77{1W>Q@Guah~e&y5`PZ2_zQS- zQyD*{m#ok2*X+JV1s?rS;=6E*U!`k&4{rBIn(+P)Bz_BS@qPF}<9Fe9pQQ))XA-|p z*Zv*Ary73*xBE2_JovoCpTI5uDZI3qwErA#_kEV|;AV;M9JfB#UlzXv_cXo>xBEvm zcA|}izXf02hk{%D4&3JdE_|f%`*6FT6~eutvR2O@yqb=$+F%Gyr=PNaBF`L zZtdTITl+WR*8Xj{T|W%q*3Lb+T_+6Tb{%XC_t!~%Be-4fn!)XQ*8*;FmT|q`?uh2tycj5-h<_L@p|z7 zmnF^s?mScS4&nB^>kuC8DRIVdPvb=J=jePmf%}_DoEbcLy5tkXkJ31Ect_(b;qlWX zj&p+iY0op*?^l-K&7CBl3Oss-eBOnxzE=xxZYgo<@Id2uaC>iO10LT;;BDQ!miPns$=c2_+@AZL!x!6bmu=5WczCF^n{%T4Y3=`3+dslPyGTA2 zxTkSk_(0=S;lU0Prw(80_Ts_6x}9t<4S4N-5~l_Cno=Jh{$q{PhC3Rk3y-y40o=wz z4<6`v7{FuOe&IGghw%OmQm-*Q&^R%CgFQD6_bL)+32&5SzV%L$cCvoA_vAF-wJRh} z6W)x(Tkt^Rhj5EOgj@U(+~SYn7JmY_c9_Dg9b&k(gZs*SJJ@@ZsTDA@91$?`Q-Jv;}Cm~dIj!1PvX09cW?1J+I?s> z`U3tv^~x#v{BKnE;J2%{;Y;;Ce9NE9eq;`}_feO+`SsdyZxz11#%aLqIHwJ_?V<;_ zaW#b7dC&yDI!=JwbDpJF<@2}mf-2medu+gMoV4LK-g;H&S;!|na~9^Ae^ID}ifjp6pYW>dIp$C>cOgC)<(tMm2hf9O70dsg8! zjZ=f$_c816)$ba>XL>x-hW9IyPY-VA2?M$ww@u*jLnY1>ZtXvV*LIciG2Grq+IUUA zeXRXk@GJGbA04>&K#4zqhx>|0@Xk}kr*MBe*?-OGzn1a~cy!2mIlhJa_mlF@zstYd zcwRh0yb8DD=^EVj2X(j|H?-kX-S2ea{olxX1GtU<9=xpMF#dEt|Krb=?*+`^P5s`w z`}(E#HRswR{MFt1t0~@R62};Xl#%b9iL=UzpF|w)ZOh#NFgL zwg!L8&H6n-__KDG@*VgK)dP5>%l4;@pX0UsgypZ_J{yNKc({wKH-^7e&YR(=9^>(ZW6c=T}b8GLb7jLipD-&JZ5| zhr}7f{dY*52tGVg=8Xy5|AcNw^bbg!82((1Glx$rlFt(Ee@fywm&l*CU4LA+#}d4J zn~aAF+|f8L{9Mha3h&<{aq4hK=W!2ym@D%}173ct)T;&eFOd59@YVPI;nCM6P8aUI zRpJEj({-Nj!Q)*e&Hx?`B~A$cjJD4Z-h83N8NcZVOOPm0HiN@){YtNN91Gw`hi4($~tnEC6 z*Y=S(W4NR9VFce@+h+ow{!r&1xTEb8!)H1U=kU&NB%dYRdzaM9xm5nN@pFsLt0nmK z63M3m5Bl$__M2U} zbGqacz|XVs10Vf|!`oHBJ@oe?{Wd;qJ#I4-Y=jI1PAw zmBeYm-SZ`m5ASQ7HhdaMoG#q^sKg22Bi+CE;GHi?oB=%iu*3=Bf#x%Wm#>sKV|Wxw zoCy8}JCA^mE|)knc>E!W6T>^2&m7+TqQqIk{f|f-=X3I>ji0v0DZv+GiBo|G=gH?? z_%&LuDtvT>&OdNh>*c|()i@1!|8tU03+{hV^6}vfoe$ga&R)9zf;&2I1n|A>_!(Y) zo6KVaxTD*92)|M5HH42e&KT~$PU;oG?LO%QzR-Df1`pmQabox#8{{})4iEMGaS4yk zkT}j*{`8=I3X#V=A z<$ugfj=M^5x2pNW7kWP4fUmBb!Ozux@4!a~Nc<_>t~V~>we2;ZFXrpDdOsfh)l$9+ zclG>s4!8W5@Vj=Eb}nC@UvJZs_;t9m6!+k+oc0S*P+jW5!+}HE;HoULnqyxA1 z?88I7jxmJyFO~eq@Zk626S$}6nK3*(P1>t+MZVp_f0KE`h1>Pm9^Cq60H5o)8o|pC zlswB<=GSZO(1P3e@!{chGHEbTj;tly*EpI=bC)`)U>`Oc&zhG1-{Vj+J)D2y>qy={}TQ?ZU6FD^7&Z% z*WuRw9^Bf$0k`&V!ma(=aBJrd+}gPdw{{-Dt(`--wet{e?L3BCJ4bM9=Ly`lpWavV z?P={lfZwF|FGld_qcTor@TQLcC4BK#9amq=uQyb$!>xThxV29M9_zU6&~^JC!hJ12 zg4=!bF}(I6$v=YIecRwa^7VSbg>wI~2aoms<^+C)o_EaQb{tardOrTOSIPOB3xCS1 z#H;WFHJ=)MS1n(M?|h2H@!+4|QO=JV@Lz`FP52SI-WL4JTHh}G6&6n z@N?Cd@Q0~azL9Uwebnpl51%RZYQevMU-2&dff{E3zx7lpKZk!@%P-*mMDlaKna|VH zW&6|4TmMz#G*CYNs*KwfUE}-kvc_q{-HF8M{+&yH0sJD3(}PDBN}LJ&G`+4ehd+CN zdG5FLt$aINuI*oie|R5h=jhM*@_Rl|&RZw&lkSx5bPAvLW&F?Jm)#}hWB5DYAbC1> z=hquuBIQeP_j>t#0S{ikT-MuwTRZsh8#I0!?rZ!I{%b8ig!i?4=`Z>G?Rmm7+|zb< z;l3{0pEf>!Z+W8p;&(c(;BG8=1n?JKtn(_orf~-F@W&D-gulz4SAn}4XAJkXza#jK zp7i?!9?zv-GkEkT$tQ+y{#mKl93K8c;w<5=#&Q0d@2^cBB;&jUFKfLj@MtNYci~%U zK2>;M^QprM)yf2SR?^XL{l{*mP4!|(i@Y}al0;yLU;P5dN=cNj^h(a387H7#{yl;zaN>HJ=H*??{{(Jo>f7iQ)f?t~-yLub%%u zeoB}YOi4`(PDKW(DXGzVP?=N=iLuqG$Yg6Gj1~@&DJ|1JqB@0|C`MZ5i#QY}MWZYe zrPCr4Eko3V^t;`9Jzv-Db{@B%e?Hgkx_{o+b6)S|yw7sYbzP6WU*{KiQ~g@PqnYId zPuNF4P8+JH1fMQ!d@Arn{R-hV9q(0my0-PJ4iEljbwu$0s-6aX`b@1Kc>Iv%#BhIZ z--gHPR~MdY-V^xWuCe{O2k$(j^#hN7XZ56TKkp3TP34T?$%B@Y!5{JU123A_4V)caZV?JZ+xe70B93nEhmAWrJNqTtegQn)p;<5U-uO| z?+oGbs#eb!p8eYD$>7JIYvVkDXWCb1@KE!W!~J?`4v+4%<6;R9?z4J=Rf_9pBaKf9 zK2kjucyzPngz$BgQ-!C>sl$_7EGL3r{wf=v20Z+W^{WNXeq%W?yrT198{W}z(S;{- z%Sqtx(s9v)=YP`v0}qvx!ms#}^=k-kDrXFj{%rMR@Y}V|PvD)qtezP>omx%~UsLz9 zb9k(rB|Oq`8mwAeKM$#%5C*4EoCLo1Yi!@>!8`xb`hf?kCxiR@geUOwt(tdus_VMo zDaHBnoD#f$o8?sCo)f`6rvYEgET;wcoF3foD~IskYWyegAIRtMYtFWLFRfPW@5X*z z4gZzaZ3Di!?;CJ`e|rz^?}s14{qO8d;D;Y)bS?#Dw1?#~aq z@Y)@glfeD?;T-PcvxMKH@1K^RUaWugd&}>@eSG@x8Nb+Uri> zew>#}#X5a_D)5fxH>B(D-uB==J_GoFzHRr>BY0EeQ(nDTkB?6cp8ej&rw%V`d|GfH zpBP@#e%OZl{xyR8_>Ae=$1=FDpXwULe);p#2HcO|HhldX^jrn*&s&D@TlJi30>4Q< zhd*EWr8SFnzC>Pyuc`gB0bhBJ1i#`HIg|?ah5OHkHsEFbTv7}_LibH=_@-*#fk*2-`^h`51m3$-^9c9nt9^J)`2+ZL1Ir)6 zbLEfV{_`ng_@|Vg!J{oKe+sYPW%bYCU)6aehwq~NIlRBM@`Gm-=kY_=>U<4< ztMbe6e%?C()z`EeE+Y)uRBQhv+#-T zzuNHIuQq(G-dWXGmf z)vpPB^q}R;;K8%4o*aIyj>kDX_?P7@;gRM&*wFHP{oMDk)(^aYgXL7t&RwOiTc%mhxc1f3mz#ahVS9)2Og+jU3jkJE`jf>oE|*Xybs{1a#HwG z<2-~J%bC$tPq0yO-s4Z(=M}hLU-e#CZ2!pqw!aPGoBYIl z0)O;6^U~(UocZIn-pcSub%gL(pZiB&w|6V2jrK`wzh|Qh&o;9<68I$=&mKH{ljRKP zn_5l^pQ)Z9ysUc0@GP{P3_e!Q1fK3|^~~Uba)K8X$2mUN+Lz#=&O253#p~I8HQ;m2 zZyUbRE!MsVzungf{M*W(zz=$#<>c@y)qW1YM!tYwEiYAz<8Yn43is=-2Hc;&wc-B! ztq1q_dko?JoNWwW?75zO2kRxpI{oikmEeB;5W;`6nT=Z&Ui+ubdjo!}+Bf0p6V^V3 zud$WB?*k8>`J5-~AJbo~^$h>r;ky5Yr-9|n;JL;thu^LG=kR1T%UQxR{y`QQFulcyao61Sye;C;M8N$=2XdS|9%E{n=)B2gfn`>H5 z>1D-v@#lUO_|KHng2#{8eD&e}+;6z$|37~WKU?`zc&PQTgpdAZuUpxwm_L1NjVF)O z8rEqmjAEt5Wz?-Yud=22iV>S+BcwhBT z;XV#ay4nX@7weopZ248V@0&Ha?;~A!qV=D^eSGF{AD<=sK8;U#8`P=sX}~k>M@_iz zYc061pAOu|Z2(U+J}Equ58?gCHDB4xg@TIT_sNxB3d?9HZy|@K37FCOq3f>mTlQj^JMB4Bk} zyv_;S$8!chMRhLVi;C4*-@cgdbvEH%XBS?3j^zaPVvg6@hI^e|`1z`{4^LI+1Rm^a zuQ!F~yO_`5-meAR`&D^mvHsEe)~^uWkyqj2t{P8xe^c`YJXZY!c=&v4U)iBpkDsq= z@JQp+p-1-heR^q4yFP@6>Q@HO*Ry(NaQ{A64$m|W;~k6j`*q6{?)8^8xYwV+z5dqD#d`eutpoS^M|9OcrK|oW-0Kgte*He$>#xAQ{t)i<`*Gko z!NxX^bF|MlGp}nsuC&*>^>ym*_X};b&tGjh3EZ!rd+_AB);@(lr0;(X;lYm9K7;$b zOyEhH(Er#RTr(@0i2= z`zEDV71ynQU!w~5@4qzQd+O(0+HikANe}+`H|=@R5dIJO1n&3sbGYBvmtI}0-|y?I z@XzYGUjv@_b4B=R{+tlrlMmtN$|rDtZZL?Q{R=>vrXRw)%f}zrSw6FISyi`b+G&L<;|ae(q@k|E_Wt zaR0rsl|72}`*9I}xajlMZQMF=|9zodxIec^;jNu4X9(}#Vc);Y;g{;?jOOsG)cPzyK3<8wbm}8f7HAU&y?SR-yl!mx5#_&MC03sr~2GK`g*v=pC6+AJ<1=!uTc9j z{4ur9;LqI7#(x4|S3ZTmSU!U%n#UZzo!ZagJIjM3iu1LvyadlQZe@6=&;6s1+Y`UC z=Ok6Mf0y!W@K|1lx8)K1{qhFf+c)7?>wShT_{WtK!=I=5YQsOR_8s_Vq zey@B1uWNjk@cYz0(7xj9^Afc$!53;D!cW!usluBN*m1l;7jE<;K83Prv;DR zVmUE<)$MKHXv1r&rwb4Fvz!FJu5xeKLnf%2~o=)f0To@_e1#q~AYWf=~Zy^;F>T2kq-a_{-FND@D8gZg6G>ZR~ zN#ITOs|W9>UjumlUdu`0Kk)SfAKjz%15cEb!7o%j6L{yJmNSC~hgdy1{3c&N@L1!s zgs1PZoS%c;YILoFwQ->;koJoWttp0q6| zhM%l)Zo~WkuzI@i>_E#&;E$@F9=zlG4?NU*PT@h_j*B5YQNPCURO6Guuhe`^;ECpI z29Mrm{mS91tDZT0r0awwJlW53f=}2-Uq2(=7nI<+_SFhJJlwuMgwK>yg(s?~4p061 z2fmT|)qqE;r$yIs5yQ7uP8%Mno-RClxAiN5zg9Utczn05!vQ=y*m6?%+m$nf2g(`4 zBjx1q4=QI4&knNJUBH7Q&Hba#`%%g%>Hpn>oo$_$;h$Ff3cRNFA^do?ufn@(UxS~d z_I3D3?IZYDKcCfr&(yvNzgqb%cx4ysZwxGv`X;Ql;z4EN`aGkEzSdrrHAudDm|%F)I8{rC6Q;s2+fW6j_P?`rF60+03i z6rSsI|LEi9&l~4xpDKR=@BG|ecL|@UeQ->%U;g`-O7OYbC-Aqt+VXqwRL=u5__y?P z;uCoAQoFvL!l&}^lf^o(_MbP0UnK9qzbwz-{`W~I@N5gKr}U}f>-u`D!u@@K4fvsY ze_$KF^8Q1(KldKM*F4gm=ZxSB)mcu8b^7;hYw%FxTc>NBBX~#NhWj{n;66`XxUYjT zJbjt&Yd&49-=9~9@TB$fC%-=%!5e$qI&8pqkvHM5k^B3I{rEam-bVW@tUUR;9r!Mn z+Us`V;1{a>5}rP0?Ss!0*VV;pUxF{*vEh^B zS%!aG?JMxbd#rs3AFF*8Ui*Z#ufa35ufyXnSo;XR-FjN*@aDIyeG|UN?bf~pFaONi z$M6$%UT(ujw_5uS{HLnF3t!x8?GyOA{(g1%Xv>YC9REK2-rKDH0X*E(+NbcJtDYfz z@jh!mg8xqK$MES<);@#ZsrD0i`P0^Z3iqEEn8Bk1?fqjp+<&fW4iBDY?HBOBs-7i0 zeR}xhcm~H7*S}x?l;Qq;w-CNieih!_cKs*wYjFQPjdl3q7W?`42=0GpumR69{hhee ziuIrKMy-E%Ik)dW4&h$^2p;S8GI(&hy`F#c^TJVDhb8^LdtR||sK5i|hVZYc{wh4! zz;f#F>{P2Kf?ww20AFljIW2gsoEZMMrj2JCo+zga4^Fmv68P1srw4B;X8=!6vYZtD zBjpU?(Z<%VF+4xfax(bp%9+5Etu1Fp?^#X`zd<>3c&K`o@JRg%&agaRC+8}s1fQy& z3OwxF*N5<1l~aX}w$l26#~Pmq{wL)$;89KM2OcOVhCig7HaydM?!x0QSichZzm(I1 z#~WEa19+(UO5vq9*?JzrYa3e57@mFJ>dD|0ud}myKt*Rk8k1?W=UP zkKukl-iBYJIum$J`8{}~{0#nTwV%KfwGV2=`u9`&5`3ig5&UCn-+m-F=qxM61P3?2|4PHOIsrKP^#rl8a z^}}PekKupx`r#d~AO2UbAD(#q@PB#z@V?i-eX;(h>-RiY;i=aTe~#L>;UljfzKPlo z;hEPD-^zdQG<@py*NgS<;Pu0EuOGg<*AHKK{qUyO4-f9O^_Ii;_xjwe{?(m|_51Vo z8a#Q4wTtNbJb^z)_4MG22X+4l4>q*?6u#xrx<7()1Jb@k7g5!qauEo?vJD==XgeR!#}t{JZ5;;Ndgv>qGca%BjNB^DL(h zPo7~p5&UH3G~oGvEvE$!pKduZ{2b-9;pw@S(}gEbvz!DzR89{*`m5y(;OSE>Cxu_G zoFTmPBg+}XBaKf6|NIAS9Zukp`Za@R&$fDU_$kVn!?U+qJxh3`eg(T&p0A&?lv9F_ zlv9D{tJ&9w@IPpLs_^D|c6`<0;i{Gs!S7K{1D^fZ`qhFbPuTO682+$w+VJom%jwcL zuzC{sDt=!BuRUNn19yv&gsz+(yuYT^Gk}LTTTTi;T{%N|{~WC!c&K_Z_%?q2 zf|r#ugJ+LeJvsb5-+$nNa+dJ$Vao}k;`+Hj{VKtuJFH(7c>GVx3E|&TP8FW#mQ#lZ z|FE10{!`^N;K5^-)1p6UIWhby<+S1P*_P9VhrhC%1pZ6q^x(;UmNTF~U^yxLF5iFP z)1O+-7@pm4IT`#`)iZ%N|71Bcc=lJz$>D!j&K%yq+H#ig@IK24UR7K__bR6ZkG^9$ z6?m$g5FYq_F+4xZa_aDGZuLa)4V2S>$I5BZl@r4^(R{Vx>6unf7asq~>Pg^hDW?Yy zl{0{+f3}ksQNd0QV z%gX7(lRK@R1U^C=>hSE3T0ihRmD7O7I$yNl zq52iW?~d(wZ^I+ybm5`uN#JwU(}Rb~8Nl<~w0__V1JW$RO9x5l;t+;*;QBDco`GVFDJo|%B8gRTfY+cE0xoOhsqhivs<-(;9DwZ2=Di-o-sUAJsEsc z+3=fo(!S~nsVgipYwwxLLw^mOMUsdxyhmSsEIZJr_8_NmyD6XHS=Bos+ zDW?L@rj`@J*U);d!WW;mdg|~*IT8FpUqA3zIW2gooEUzmpTFRFV)b<4=}p$J1pXW4 z^x#e94B(-1Qn>#d!4Mv<4S4!V%W1&_<;3tC zef_|v$5>7mp8s6y2mT{pKk(_%mNS3{%1Pn=`^<;%{3y#A!_(`ve&B82f8gayEN2D} zCYF=K$G(2x!6BBjgy%oCoS;!$KbL8IO7Qd(mQ#U;*I7;o_n$|r!fQ>-sl&5tEhmB> zuJLKW!*5tl3m#;a6T{E<^#hN)meYmjKd_tx{wdYdgO@L}oB=%lp5>(Q`*eH_;o0jg zXG{-mo-+8UI=&|G?6;OPgNGXD9PYo5eGZRQ&k`R0*!mUhSzJGB>%3EfrysR?D)9VA zmJ`BH)_hgrW#!c2x#m5BpYQt*JX%;iEqMH0t0#tEt(-Qz|A^&u;qld$lfeD=R`uXb z?W+TLpqv!$zt3t2&t7NsjN$23R!;^$SL<*BPxrK(89Y=@4!=pq#T-7m(sGvY^h&EI zcwKS*{8-~$f=_R?oC-X>!g50R(Y}7*;SrWohbP~$oCw}lP6Hl(#By5j}@<#gepauWC+%IU%T9m^TO^O4n)!XNMI_oc%F<&5Epax(ZYegA=n-?e&X@Ic=; z&*3xW%;EXLma~Kh`hIS(S8@HkLw`@U1fL#eITd)emVJE)zf<*8;S2Sv4v&=+!7tYF z)qux3PFwIm;~c{uP(5vU(6D}W;o-Mz-V^wLl+%N!ueF>3Jo~2B4}5jKzhwxoDQ66i zl#{{N_xItzr+ZjEGkA8H)sw?FQ_dXTRL&9}D<{~yxPG=)P6@u)UF!#)UuyM)@ST)X zh4+S@9AZ&*DsyrFv9@a%h*)1`miauWDAbe-9QCpu0C@N{T7 zDP1{3_~<~ZXAF;&lfgIB_)Oq|#%Bf()vp}BpRXVI;vZJe5*}P){R;LeuAlY%`Uif& znNNN4=R+#+_+rZm;T!w?J3N2C)l-MZ7g6 ze&B)bD--x5zJB1-LoH_jPrhpPr0^GMe1`D+LdzM$1Lb7!t(7x@FZ3LH22Z|X_2lqF zeEq<)r`q#`B|Ny$a)Q?v*Uyp4DZx7%SWX2Vr8=U6>C{3O*ghu3r+zJv!FpWqF}^>dTzDZ!_D9#w%y&$X`);aB0 zD-Cac%i8B~e;zo8kJP^2EY8;lwVs>s{8j1~yrb*A(i@98nLaPW(>GZ=|9^j<;UgN) z3EKB>vDcl!qc3XR!dKDzf#>k%uPtW@&jywgs4lPPXpKV&UjB{cRN#@0qY&=zPp-l{ z%BjOM^(%sZUiCEKiLT#T@L2td;r@Q?HayXK>%v3jq;UUzL>WANhn?RiaQ}I|Ief16 z;l9Q7bCUX7g(rIMRD(zQ+&}s}p6BDn_V2VhoA8ZJwfoQ(yrcFB{37M|;aAF2_>bfx z_>J-m{s;LKexE#tKPq3qpLUq_H+XY#oY#?;;Ty?AcvW75?;wxhyUUyKcgSP-A@UCV z6Y>Q9d3hgxwmgMjBp<=AkZ17gycvGIj zWBCaFF?j|*Nj`-Svx%A4?KeZ=N5hHobC zz_*qs@LlA6_+Ii9-ja{t?~!Nl!{k%=G4dRKvU~wQUmm=zIR0aK8GfBSgiqx)crK6N z56GMFf6HU|Gmo%&>A*LTC-80LeR!(tr4+uG+K=G-%QN`V@+tguc@F=&d;z~!9=yFc z{1LD`1bM` zzK6U6f0I0cA1v>~-!D($$H_zXYjwv zr|{ME_vv!@mG8Crn#0pgY}^;{-~e;~=+9@iQGQAP@BVCg8SX#lSb;xR?L+vB}c^&>Pc?AEcya5m1W#bdWAJ@3G;h}!6ssm5-xqtNW`Hh~J_R#(q)sw=XtMmM`JIQTre+?gJ0X zOYleJA$+3ws>1WlEw=`b^tpfZaa-dkTMtdNUt1o-EAkF}6L|uEsXT?xRsRs4y-4#; z*XJ4h<;tJJca-Pw-Q)}SKJwte;=Jr9FT?kjhwww>HTZ|*5&YxwCj67~7~Yd7@LM&W zJ$PQV{`BFgKKGBl9{l&K4AK4+z3vEpzI+V#?+aw`i`0HX*ZXaz@XOSG2ER(4!*7t! z;Wx_{@Vn(p_+R9~LB;j(A9)GB+R=6#Rp1-QtMHEYnL7LxY9GPhC~v?wkvHLQm$%>t z%VYR4@-}>Dc?W)+ybB+wUkUs)weP_*weQ2vQ~LpYq4p{K>uNuQUnw8KZhXD8(h(SA4i2>yEc z7~Ya+@B`%&cw0V&cjPnp$K^RZk3c<>@Di?Z14o zt+ydOp6mC^!7o<(IXqGO@W^8RRcc>_r)nR=f2Q_rc&7F#eCqYXbFUx%d#@iJ+-Lm_ zk1E#xXRjX~s(lRqo7WGI)INnj;q}8~wa?*eonrGfhbLbD(Z%}LQ~N5s@AbpCQ2RDK z_4?uas{Ih2seS2~VmuFTy!-}RKTCM!H0xI>DUQQY z$|=LMy)7q%H617$9_D*-|#X0911-DfaQ$g>4&WU z8T`RU@ktmE&)gf|bhoC-WY%)UN^Z=iXp z!lOehrw$L46T!DsP6M7EXgMu<$LfjUCn%>4@5h$YrE7c=`02{&!ADxR19+^Q34C#c zy>1ToeJuD)ab6NXj^Ky*-;sx>s(YRQo^$KGk(y2={%U3XgWTdg}00 zIbHa7)vrE$)V7?)=Zf|F^-UA**F%-#itTUkeE>evbz=)29&E4MfoIyMM({xQV{^El zcNcKK9$LcvI%E9#V*S5X{Zn}UX3aZ%s(q=_E9S)VCSCQn;pqXE--G+U)~9QH25{d` zlXHsoeDEy0F6zO9zu5g?2LFWGPvD{2SHD!u_rLQP!4rM%AN{!K-KKibzPXL|4S4iL zd%YBX`0182gfF(%z5&k$mXpB`@&3YV%9+7~vn?lwzv0(b&m7*VSv^a5bf)D5U$&1v zKCe~ z<#gf6>6VkgmuG7Iz{|=Rz*E(e!vCzCAv}DY)iZ`?swacrqMQl5v!~_E;Gyct;nyf< z4xctGX9>?wvhfMdwU54jhRP|yYs#s>Q{{y4vy@YX*IsM&)ZvlFCxU-UISqJi56fx6 z^V76`;BDo!;kDf@rwdP%lfd7ooF2Tqo8=7Pp>k6APRbd=A@4feuif{PUjaE$Jzhh`T|}(+xGw9E5-JaKKGA)z40`)Z=ijuzw_RL$9laOeyv|0 z!jm^@eBk*78Xx$2s;37Jlrw-Q%1Pn(UuMtGhwxDS8pAVBb07Xw zwI9H5l#k$deczs+WboV6zH~{ko@8%(-7-8^e?oYy&m(wkKbsf-e_szRy>1)r%Pq|# zJh({n2;WmVJ$S6w9l*1TEhmHDrJM=8{{gEfhd-e9b9n#V);{=paXepku#JBSo~V5Y z_vb=Yc=^qiAHn_kPXittZtVx~$5j6aUVD$~|3x9&KGT+Cvcyy9=!8D%TM8T&F>IiYg_vqzS}_i zr~2o|#X$9x;3uAC>!%8zsC^B-r}CTdrS})U%5|3CgO3hg#3gdH;eOr5-t%3Bj$Jz(la6jHUa6eAEa39ApympB7D}#3;dtcmeQtax1iy zIl<5E^9b(yMgyLnX?3>X*;SU4z&)o24^zt-z&$5}d(H%2KF4xqaL@7n`M&g(FWY`q zQor3h>Q@CGX&giN=E|wUr)O9_b$I$ijWhgt%4xuB%4xx4<;3vyl+%XyPq%uy@IW~U z{L(Mk`1Ih(r!`;j?0eR)6#g~k4B?B!a>npPIT`%zXWM>0fhX$M3?6*n>dE1&YkcPL zKsigg<~_K<@_e26_a#g4;7MQW2cG>@>j!>>|GW%5P|g^hC?|toqIsXd7pGV~GkBz& z9PaP`nZtACEa8E2f*XtL=k!?D&+w^oD)8(lT0ij1)UPT$Q%)V8C?|q{TR9DQc)r#T zJW@^!|DCTNc%*u|@IW~U{3c&N@a$x*ANqA#Kk%{oHH7z-GlnP1$>3}I`hk~~GlNIU z$>Bdyzvl4%N!G6=JWx*Xi{kouhUzK7%gU+1vum|};3ef$;r$b>o;o~HP6U67avJcm za$4|6IWhddzJB2SFIYWYc%YmF{)n$1cv(3Ec=lthANc*s8N&M~SUqESqMQtVw{j-% zvT|ndNI5zDkII?D`^Rhjzysw3zbvkw-zujBFDs`4&wix!1OKIRs_=eK>j$1FCxTzE zoCdtCoEAJ%P7J?JIc<3V^IAXfKsgCKQ%(&a-}1=*kJ<`}zI@U!1G;1CNvw z!LLxi8u0$-ET;uebbT1ZzoVQsysVrqJW@^q|H^Z8{S5Da*6JC+1NAF~U;lc`8N$oT z8N;({Y@Ras3Htr#6L|kvt7isJl#|2Tn`~;&N#JGWEa8!If@yL6j5N+Ac>gn2PX!(* zCxmbHMjM|hysVr$Jkxwd@ZJ6V1&?%J*@DMo>rV_n)z=R^|CIHs3lG0*Ib-;HRL>ON z{HWzD;hnS1!(SE0IXS|-2KVP7O?dbn`}!6<{;=ir;QqW|1|O+?>*iuTN2y;Oc&2_0 z;IW<$Wbo+)R?igf{aVnkusW7>)mgozSf@X~=)$9q+3POhr>I}$Ul(%%wXee$XIV}R z&p&D2fqTFD@a#%^y#YK_zb0^ho>KWuvCixx_PX;w7JbKibf0oZ(bw2&^C$O#D%_t3 zHsB}iV(okIGxeOR4^LEI3eWYqfAstDozAs=V2<|DNb>~`e{1~-^J2elQBDMp&$s*p z{_d~oIWs)C(q4A}k7xFJDf|xu%NfF_S6I#%9x5k;`}bKUaL<{+Jtv3zbGA7={kp~z z9{*nBd1rAvpR4a9RN=|RmQ#m^x7yc7aIdEUkCoG+tDXdY=?kQLdb{Qep5Jc$%HR+C_vzrH8!cxBPj9oF9PaZzhmU@5IZJr1oZznFeEB*o!9Aw} z_nZ*^Hod>S3SV4h_0-|%A2jdqT*pNN9!@Q%1y3~2F?=)4R~z2>h2?bNp>h(qKZoqW zrV{8G!Qz*qJS__y@;;;Zo59hOsvry8FK{!3p!@bn_fX~A>tKQa8n%4x&1 zuUbwQ9_aW=;Gfd@r3cThx10eyQceoLwy*OAys!Om3=cIv)q9HbwfLI7Zt$m~NAePU zahtU-!~60IJX1YY`1EI%Q-_bPHjm)>&E^gG=-1{k{5Xws8y@O>+J$F2zt7-zD`x@E zhW5IZdyC_?_=b5C?$>V}c&h7=E0uf5j@m+dJb=1Vs$RyL20cguj_(8 z7yISkf9%2s8n-^Y?D=pXhswN|AE;k-xc{Dz2p(x38}Lx)xdA-aK32J}_`3hr{MO)J ze;@AkkKtbb4DR*k@Z@_o{&Tq3U;j(7&dv|5{TRNT_U$Qrq3eewJk@n+@YiB~?)wGY z_k{|4`k1|sq6YWzX~JXet1Wm_`%DZ^RDT=Z9NRc_;eqy<9z5~&0Qdc30uOJo{3+az ziy8e#);@>(@iP2-ahxyI{muxU+;8nNc<`{ffAssENov=hCH=p9{#UD~0?(8m!e`2< z!l(CIP92^-Wc5VwyOh&_cOJBy7Cir(<;3v6E2j+)AF`Y-JW@^q4=%9r>B0LCSk3?* zEv%jt{!!I4gfBGCV|b|X$>3KiX97m z;C}zxgJ0~=m*AP^JB8=^+&}uf558vg&(S`4+lEiBk0m^NhV?&Or#KFNe^iCXWy`6< z^Jm%DM{u9_20U8Da$4|IISJgK&-CEgo|ZF!NB_0sCxv^zhVW6ta>j7)R}S}_IXqX+ zlCFM*&;B3d3=h}VIK#c381D77;gNE>aL-BMo->3`-=y(@drk)Td7r@3Cv+a6YkY!r z|NrAtf;acFdMa?QCxm-FRru(|8fSRw>lyC%vkiFj1(wr-M^Cr@Byb<+9=yMgoi|*?^g=%zTX3EcbDgQvP48_;zg%-~+n1fHp1Gq~3iY)~9$&ndw>+BYh2 z&xzok(}2gi9&5opCx-j@wBhNhHeX%3#%ByaK=&_Gc=&9~scl#shn441@buqy9ovF0 z_E0@=e~y>HvzJ=?9z4`_>I|N2W$kmgKQC%+RILA_>Td_0uVXm__(JnLh5I-x;OXNw z4omnVu>8u##d>@kLU>v0ybAaGjV^q;k>w|FABQFUIE_R3xy5=?&3hd_YFd5=?&Hvh zC%Ug0z*CLG81Cbc!TWEt*PX!qKBw}$V*TZpTl*01<1m1qrEwU+gLN&Z{QP3R_qPU5 zp0IhZ!<*`F3-0}m;qgxPx^1}MkB#ZuTl);|{jG<^`Y%;~oA6lu9l^c7Q+i;zGkBo> zF5%waV3T4!&7H0O65Q__Tkw1XYaheCzccs`)!zj?U(a%yn-=Tw{&wKuD%P$G?`wY> zz`egIyt$pd?hx+xw@dh9Lu(&wR;<(e+lBvH{q4gS&$pZf-1}R8K`}p7e=G2&?u+Yi z?{5T;O7^-9c%b{V0lc=kwNK&R-^vS%b#^Yc=SVepzKP}Z;ojd7JXzIp$MC?P1Hiq% zIXqa?UUv@n`|A4U#rosW+DCBj?->49&F>VRZDu*O7ZvlpzfE}h6l>RlkN#`VJ-Tr3 zZvrnr!(O)s4|HEQgEu#|_Bq`9+o~4pUsd;g9eASkJcWCI7w~vB%U#md-^z=Nuj~B{ z;kBn({Z+W%hj-zljjeqG_x>*7o2tL%mlW&Cv_E&?-rqhvEZNr&;AQo94EO$K@NgTe ze*zD5A6R*5vCcsIVF>sB4&d9Uzax0~9DCjJ7R7w;Zw(%~UMqEx7kLhSwr{ z-8S6s+sE*7-P&hx?{EEO#rk(sf1B_`{T;!*zf*Xw{?6d>f2_Ytxc4{MvRF@|_9eJK zUueM>8lM>M{hh)0Q-2rmO#N+cRjkMR+kt0mTDva1tojFV?{5lk>bb!X9_oI32@hUr z^BdHPb$Wlh@I%$#K0MU*#scpBEpJ`SkJqx#EAZ^!HotYa_cwyadM?p``}2_jJlMhd zo5H=nm2HZ39;5!&;EDR%hkJiV@bDRyJBD}E-x=Kdo5RE1to}LNpTE>!UaUXZ(b`9F z@9!9XlKMM^2QABKZj1b9+UG5JQ~iqJ@%on2g?oP!c=NT^z6bZ`J2QCy9o9aFdw*N6 zDAxaF^|u4h^xSL;_xWAG6OF@?zPr^EY*&2U=wG(Zt8jn5(}j=TVmS%i`?Z8$rGAyS zFTQTBes$p9uK|4VnAJIk`+Q~aRP#H5`}3wsy;x7Suk|a0d%p(o>(#FjJk;}z@+*t^ z-me-w(|pz8f#$0P_x{FoJ)dvG{khl}9_aoqgL{96I~VKE_qXxM;Qsr8C-CM0)_w+$ zce30Z{&)X9PVn?V%UQy+9W5u=rC8_bx9R)!@KJ0z6?nFTeSHYOPxm`jc<0@gQ-_D@ zR|H=wrva~Nd|L2W{Tjl*?eD*WhpIn=`#eqHsm5^%Z)$#L@KpWH;n90+9HKWC$G^L$ zjei4v^Eb?U@Ug$o0UqpXxhXu?=l;>(=Wx{5Eq{*o@%y!Y;MpFQAH1np|CyI){lEj| zRN#5jzCMKCt(+=6>}dVK)4ePwg8y1M4S4b)%W1(Q<;3v!Tx$Jl!}}k#oGv_kgVmG3 z&s9A=c;^F_Gk|CNSWXK6oN|Wn=Ao7|hG)B5P6q#pawhQU2Q6m?&-b>R9Dc9X=Nuk? z*m9QeRP!F}Yk9s7H`F>T!LuVQrvi^&YhNG2w^dFRo^~y#4$od^IT8GR^{W97H9jr6 za$@+S%4x&%_gXz&c(|w4lfa+weE^;uZaD*Z+_0P!zJ|tU2#++*V|c1@&f#n7xR}GU z-RyN2@Zinn{?X^%|K4s%|L?wu^2>1ld%G3*R%#!@ca&G*b*=vz-2Yy19lo1#BDnt@ z;RZZbeiQD0N4N!ltMX&`2jp$|5%S6YHm*Ky+1|EaP2q{YK8J?~*w_0<&pG&;mQ&UL zyT>Q!IHD^zg1=um4S3wMoEAJ#P7MEua@z1*^>pFsyR2Uc{3zx0;Q8@7j^L4UQuwjT z8Nze*YfOKq)sw+bRL%sRf8Oeu!4u`=@H3P%hsWyI5*{fhh>PpzT;-JD>2X$11s*6T zgkPkbDm+q79iG0!>WJXqQceS&e@^QM9xEq?U#*-ryrXgM!UN?b@ElADrX3fj@jw#l8hw3cB`^u@nBjtqfBSzYn;Mql1PaU2dX>~;KTfSvE4S4^2tt)t_oEUzb z`qhTV=U7e`o_)gVN#OUWo*q2-vgHimv2s%Q*{WvY;Gb1J6L@@<<;>to z*ZP&i|D<(3hX=lX;GuGYPZrnD(AN)qp>eLjlaJfihw$4}PZb`XZvCpmgO6EG1iw$~ zumSIX({fty{0Pg5;ontG8y;V3IbC@A0n16?xpI2&&SjP}fT!=boD}{|UqA5X#g;RM z$M3V84E}A^Gl7r3ZaFh}aJc2<@TspKczmkmEa@M#oZwUT(f6?{ef_|v=UGk#9<=T2 zL-!JXB5#9xEq?@9XOao_*2!)rH50SUm}RqI!DpvW~9- zJb#bnr0`hv4CxnGJ!5#HoD4owJrj7YeQX8~l#|2vP(5>aqis~V*T^=^JiZ_ z@IdobfoB@$5dJb>Kk!`RQ-`PTwmM??qpGJ3Z(nKWwGKSd=l;?ARl3~T_t3s9@58I| z0emZY3g25kguhunf_LO&cvqgmPm)jIXUM1UZ^&ox%jG%z=khtce6@|+0)DgFFX6wJ z2cIskt4HJ|cwPBr_!DYhfj|8_R!<0jp}Y#;N}dji^=$WlmNSH>*VyqphwpK_#sMB4 zYq`M}i}{g0_m92~r|NG5?WZGq-4;AJ*>Yp}-m1S1_na==a}xMll+%N!Kec)W@bE;d zCxssyYdqneGlqLk27kBenZQRHpBX$l$?D1BHyvvA%;BE1gnLeKPH`SPs;30+tDXux z)A)q&PbsGgPp-3ZuEV1ftd0nN$ZPE978~%6uOE2Uvz!=y<=Doj4bOjU^>pEx)_DRy z-q#Pj_9Lwyc>Z~-X9ho8ISY6>vz+FaFfTteZ^8RNG4H@HQhpa6D?fqPeqcFEc>jCm z-7gpG87sdJZ~mXPFP~d%f1}z5=M{Z>%}WWMTx~fOcy^k7eF*=>kv6|oc&OvL4i8SX zoCyAa>TJNL*IGR-c+j_;82&F`Z}3d(zY9;5lfWNUJw14+oB=#iP71$CKW{sP`#6u` zKF%5ZR^?3KKF%|^k8^N-ao(T%sQrDS5ObpDNsQ>Tu7A;4e`<4R~Ms zLkpgtsdt90U%!{N0r$Vp(t_Wi z*$tL6h6l>Y;ICIb6L>teoEbd*n)NHEYkcPLrs`S3W90;w6zB0w<&@z0&#j&cJWx&u zKTkPTc&wZ{JpHQG5y3B2P6Ix@$?9prBjv>Kp>o>r@OsPX!t<|a{lKqQP7fZbo&h{j zPH$2i=R@D8^#h;(#C!t3^l0-r{Pz9LgX@d=5B|`+1P>mxzlYw2|4iRE?7-6>YaHO2 zKJUZhKiGH<;DJ1aC-+!;&+~obAdSxi?MKR)!Lv)$|67aWFwrTAw|5?Fr30+~;Ki&x4Jg{JkqPcyzOkTMoZf^FD`% zkJ#%j;qk95C%DZ%`Z)hs>#zhbuVVF7;Hh##_^-ZW*H=||q?|fDpIRLe-1m(JJXcN& z9xEq?Pc=Smc<1jnK3#Zvlhu>Je|w9q{~kQn{0`uua#Hwl${E6&${EAcUs^pG{JlCJ zC-CTLHeWgX2(_QXv!_`5;P&ErI9BaT@KEbBgrBDNRd`ML5q$G2Y@IaVBjvZ?fyN<* z`+1=aZ?0zj>cW#>Xnx^-J>P=|PqmyB?$_-@c%pTc!LRu53!gl$C-6we=?osHaye5*@cI>)iZ`itJ?1uE$RP#ocpTBzs}u% zFI*Mv{qIXQ;6K;-u?ZhNZ1qp>FOHk*z<;>x+u9w0GiaCBg)`0tULJIdfhwz|e z$I%#mm0t(K@72CNg)g3NIXS%XGdnI8aKFx6!kg<@PU*p7e}AQVBDk;f27FYuoEAL! zljX*6zdmWh<7Zk<7oOZ}ISJgaPkQif|ob9I>Y}K^UF`z=XH3pskQh2_x+?d{!sC}%P92{A$LfjTEBgk#uYR@Qp>krlAMb7WNcD8#iE0vrDm;3n)(AI)^uWe;HEqK1PdSbX=Z?xgf7g3Ec04dhm|Mc>vEJwVV|0_d!E=@KUR149`?g2KVc_3B0_e<;>veV^&WN-$nb+ z96ox1z+I9>F~26S!2RcZLwNIL_PSMgsQs%B_i<^%o7-AW7oPh0ZtY^7 zU%$c5*Hw6`^K}frM(x}1Ozl(nRPBfGT0{^ytPGJc5`{>}=#d`caTY`7qVfBRY#?LkW@cix8K7y}YSHSykv-UCEuV>ou zK=}#WuQz(|QOojE_{x0*yrcXKzH;7&hpIn^uiO{F`@35`!Merq_x-8_Z|-XCL%3hh zRNd)YQeKLW^Z?>EnJW);#_v@26JWxGLc&wb@ImLN@la8YjJpPE)Q-O!d3E_U7 zQ-x1IU^#Vou5pgwn`+-{z>^PIP79u?o*3@erEPe0tmSm!+0$%X61bmdd+Wttk;{)#>VC`eLueUZljIDhF_jT2S2g*<3zJ7-Ak@7RR z&&vcpJ<#gO;l9tz;qgJ%K3Kmvp1yCF;F0n}xbNFlc>XTSkKlfuYQUpUTl*O9`*s_? zQ2hzq_u(Gg_u&k_vfki+-k-z$yuX0^dB0pKj;EjZD{w#W$8bOI_uzis&*46vbGV=P zgAI!H_<6qs_w#-T_w#-g?&tjo?(3le_w#rR_w#rg?&t9Y?(3lk_w#rP_w)D=?&t9g z?(1g)_w|#*{dkk9bFbp?Fo zx&pp(T>)RYu7Izc7vL-B1^CKw3ST)+;VZ`}eC0UZs5t&B$0>Z}IEAkqr|^~I6z<2} z9PY5xxbI^VxbI^# zxbI^*-1o6L-1o8IdBt_IvTwsz_HFpez76;NunPD6Foyen(uRk+uI|EfpGUZ_^B#Qh z2D=^`z_Yci|0&$p=MWw?EoTf5l#{`IeNN!DS6R*sp08o`OKFZJMF{}8@1K5*Zk=Ww5wQdsPl&wCZ_`&9$(=hHUa z&zn8?%6<;_^V$UN`}rL1=e5cv#rp5oeQph&?_u-Xf|unZc&_J_V|cc+kF6KEr z`Jnk69_abe0`AZImT-SAS>3eQ-|3!~Ux)kqh{o_oG(J;!{#wgvZdS|>o@$@B;EDPh z!&7+=9_l`G0QdX+2|U@y>Y2g4U#%Au>s7uICj?xX*j=!s6@t zyjS6VKURbLeO(>y_n&Qe+OTox!hIZ;@QpPN<;{zA`Z(0#J`R0&{&f5L0o=zSh5I;U za9{ruc&_W+DLj_X;F({qzo^)+=4)(xDsUg40emZsPpw+a37=)3x8Z(%P2m3i^R!;f z+2q%@4u|mIA^SOk9R3QmpTi@y4_{f#-%IVQ@I>un`0Qq@rwvclK85>!K7{u#v2mWj z{r+nTPrh#L7w{kI{dh}we6Hqkhhl#}e}}!lH-rbOCxX94K1hW5HC{3Dy% z`*SAn@ub za&ov|pUmO$cPwWKU%bTX33e)ugI`ya;M1AqROreH;eKCGg{Ob9oH|`O5!|mg8t~|H z%W2VHZ2gJhejU<=kG^3!U3jRR1io@#3}5suX8_NYlfwP}eF#sKGlpl%$>4t7IDway zGlQqf$>Dw-JBO#ISihF=L^;9E#r5OYjU{+ZITd)UoDlB!`&D>!lGPKz{r<55PkwCe zTku%xEr$F3V;i21EvE~wDJOyZePs_GoMkx!x^gnO@52*#bh71yyA;R&4cbqt@X;;S zz7CJJv9FKdNB-H)M-6ykq)M>%c!mo29Y50sO@@7~Pn>A@52w*z>-we>55 zubeO7!3kE+3?9G2a^`TKmjyi6c`DeoI4}9O_IVlZ=gkUyp`0o_QBDl^^HCeV(D}U! z54X2^61eaGJ$O_5cd2Ip@l{156s&GHv z8}K6zvfsPXhWmQ%!B_TkxbI67xUc6qd>{QDo6@U__4__wh5LLp;QoBO4fpHD9^9V; z4B@_?PvGZhpP9q`d|i5Vv3@^qR^h&1HQ@d{p$+%*_yE4Xe$H+L@0_FK8eSfl*IrYs zGu*;HufrG0iQtL$jTqkitL3-hejVAN>pHbd*Y)=ho}X{|W4PZ>)pslQ>mbcn6JA#R zQ+T3%xU_pQC)9pdf%|!@0q^L1-GY0aGx!Orv$IF>bu;Z(L%8pQW4Q188Qkv&v)32% zullW>UncN)VfTZTHx%1ntM)Z`xUhK{!IOr4{TQCzZ|yU9F3;ipN38uE{{Ps!|A)86 z`+wl4)e^-L)WrA0ZW9z~v8AP3?tXLbx=Ylz=$L4+tiEM+m-tpk@B5xa++=23W;XG4 znc0>Z7G*@0Mj25?d=E1cUnc5X82Y(h*Y&#E>pZu9-v0nU-0ky`lh?VQwsO3B0`g2(q zyw3IY_UZQM4IC_9&4^@ zm)Jm>?jb9;i|)!FL(Hn_eX2!S_0Rqcs@+gv9KuFuyFc$CLm96WJ|YEJ@OpO=&1 z)&HpWq`_@I4!Gd@`XmEx^LQ?RSGhe!aQ(Td1a6I0qzzfBKT)qrv|>$40YYr0YC8qwchAS-u8^w?E$xTRqc<1H^0aG5qt{Q zNrHE{P8!^vr|P)if95(F@bCoHo&tFEIPM?t8@NshytucjQvq+rRh=sMM-4u&fj4(n zbsFGNuG0kn1J`MR7lW!!7rc6`YL7Kv{i%-wzu@iifk%0}g5WmSvBCew?FoU`cU0|( zfJcu}?TCV}=JU7%Ufx*MiGwGOR&@&Cqn}s(Tn111xS!FtRvuX3?H~Q`0mJAgsO2Ky zd2VMCT+fpfxSoe4@Xps%d&=PY-}hC(_4Qj7T>tyN#L3?68b0`&@_d>E|KLT{Z!WlA zJ_D|oFM{vQzi+Svelh=ld&}Uueg$0r9?>TFT5e|xT-WJ<>vnd*C)}*I*Ez-8KW}jT z7`V;vPk#?z)y^vT%||G&fmdg!It}m|*J*-p z{F18E0*{4Noi2EX>sY6H`z^`a z0k2L{b>iT~S5q}yIjWw|0!=*20Rc|bqe6M*Hn9o;QR1)mB2gG zRGkWV=%1=i75p)7PYpcas5%Ys4A*IbNA&mskIhnby5Lo=WBtH8eh%Y0K5&c2VG#Xw z9zWp6a-9%(bh>I!1U$rbqTnZT9S1yih^iAu=Q;`S)45I(yvglJgJ-x-3H(B?6Hj{k z?Z@oCAA0>7_6qo4bbA(hm%oQSc$(Ms@3)MA>-$S_aD9I%4X%%SnML0EtN8cA<-v>m z{vvpjv;I>bSGW0>8V@a4z8vFm2;TgWYKL{Uw>>u3@qt&ruj&NBU9Mw;@56OM;Hl$z z9D*lOsvS}A$y~<)k1gPF2p&C4)k%OKeh%M91&ZHMoXR10bc;rp>`62^eJWqrwM*O*J*)UT&Ii9b!r2u zo*swK@_257+l$q5`cJ+5;+Ir^hWK^usqiD47qg{W$mVxC1y8YnSbNwQ?{yw4vUc6ZKLk0X!uG0m7h`n~cw||-!sN4W| z*?sy?d3A4DMed(8!!cz=QGe$(s6erv(*T{Cgl1;4iOL zzrQXC-eOOIU-gkXo}|Iw<>g)Q57{%|pR?z|H?q{{#{&2`_9D2Sy#zj<#b(*qh+@vbVqw8m0Q713rb9?}C4q-CE)uCo|c7;Ir8S;QhSb zAb5TWUk`)NdvpI6zz<gj5{b-?HH@?G$G?AFEJ@qZG#5BwP(&jIj-ynGP+Ty`7$V)hXDcgL&t zhryTf@(%cmTkw4|@B;rHvkZ9t6?MH`0)Lq6)WF^EsQNAN5q6*J?YDvb)bb(ll|NSN zb-?c*=Iej(9si{~1HRJ&UjA3!_3GcB>4KmCbJd?2@WA`(d)q4b?fhIv6Z}E;7I>KJ z*w=d7^EfXb0*~?X3Gi3-^CaLYUcLzaF)v>NcX|0H_yhX>Jh*<|sROQ`JFx$;6-jv0X)I$E&j&4 zy#e+TxchxozYLyduYkvXrAq5`$p{i2{*WY(^!L1Y3^1-5ayVm_4Byg9P z4}t6P-2&I`?}A^z?GIeS^*Bp{CwRRnaNTb%xE|km zaQhOqJtgqOX{w(q;6)x+HE{O^?ic+hf4+;ZP;~;}`un3Gxc>gg22UKfnXI^OJzW1` z-Y*$gKETJN0(f&!wX+DWk4q)+;$rRxaD7~=fX%-yf~!V(*)Q5ZnOp7 zS)kg}1&?wa>qg!W+&{N*|M9^)vxL#z(4qfI=?5uJ84xX4Q})K+Xa82z}Fk#iSt#R0(kQp9zWp6>GLvp zo%dG-+}cKMR~1}8_gDkBxlRMTc`1({@Dq7|wZJVse!#0+srFbmdB@M?3DrM7aQkf4 zKS6Md>)7D>|1%N-cN?ls1bsxcBMSaU-Yy5cIbYR@gWKEj_yM1)ue-o)u9F6j@^y#{ z-ph3|;1<^@fJX;;{D9BT1om8DFc#-SWz?%skKj77! zRh=eyiR-k$%NMIUU2uz!W7aL+@pCwzFMQz9`&6AE`j)CaHu$0ub-oCJTbHOh5%2`} zPZWIblhizQz>B|Cb>irksqIOCzki~tlLWW8pVQ!pf~wY`cqY> z2tI{B*O$Pp)v8Vf+`U}Yse=EB|D8e&yk1vz8sHY!X@cv2@6ZB|U8(AH!R=qD_E^7F zf9mfA7V-Jr2VUgQYe8`LO7(sl{0}^yL*NPid=UY+wpHUW3jP4LjIBRX#qa!4rHv?}A^$bu!@YplVM6Jh7wN zt|Itndi;RL__$F4cYmq2s|tPtx2FakU8>sC0Jr!!-voEKpIhLG`&FGTxXqtaLcjBl zAALU|0)7VHkBxzsUsLtd;O^_n%i#L+egizfb(-K|_7-^TpQ?WFR&V>Oob{jjxH`Cp z+K)9@KEQSA;3-~j?f2gL@BdAm2bLkF^As%nwx_${f z#r3T}{O|fUxUL@pAAcWTCxDl^JubMu|BwOiaC>UtJLvua{|@(q?~mU0>v0$a--X)~ z1~0c&KgYoX?<#k}t+$lt!R>dH7r?Ersrxx)aGUpc1w5wv0ldlU?SSj?(FNDzEbu39 z|D@hi?TmoO{;j+OuKTkBz6J01I=IFC*#)n^sp<#I-uA@UZSXqxXBa&7Hn$&K_j3$9 z!TlTux455^-~sOE47eW0d2l^{3gAVaZ)NaQN438JZhfFUbi22IbpJ=d`>s&e`7vNPhyXOpUs{IU&3Al&#~9QuV(LnU&|i6)7w9{ut&lF z#GVAdhdmFzlDz`{#RuxSlqUF7yu9x&Z+l)~4}-tOZdbg^@3AlUGkB4|r%QtG&&#{u z#a+~X&wwX(Ql1C5c2iyeuLhJC!HeuA@W4K5`7(HFN97gpCVLg!+CeQ}1GoLkt-HPb z=5l)i;0g95c$7T_9@|sZFM|JtzmKkh*DhD*>l%24mv4c0czJu7xBY+PS*sK9jFw9dLI$wOtADb>F9hH-l>VG`P#_ErILfY6X069-npa0Pn{xxV1g+-+R3M zqsMm;yvW-X0@roI;QBZm15f-_tuG0l>QU{v32FKb)5@ftL?d z?W}?8&mDDeYpPnl1FrXP7d&yOT0XeK+kV|n8$2*sEguEnNq_zVcOz=~BDns%W?F0Dp zGPpiIl)z(LrvmP9ohrCKp47m@T&Dq^;X09rz5B)euIkSic#1s^o?v&u^|;D_TfBcu z;CkGa!R@GUh?0;|01)z>p&^n2BE5%BOdRVNBw=lV%-eO^p~>+?z)T%ULI;C7!{Zvi~- zC@+DRdES-5^>tJQTtEL)1=s(6JoG5^+eH)P=j#Y~5BGlzynL`~XBxcD<0k`d@x0B0 z>*G!dU2iYA-oFj-JfBZn-~m2wcEO`u-}e~w10Ofz;E8^ZX4*_Zyj)#+Y|h| zcfCdKw+Oh+%SXZ8IjTJ|aNR#?@GAFD2E5M4!xFeYf0x1a`M!eA*B{Bpz1yYxCk=ic z_fH-?z~ia{p5S&i!HYb9JK(w>f=_tclj44G!1eJf2Ck2Tad3V9OMzQ4wO@R7?|OAV z1i>%oeh7o>eu#s+hpGB`aJ{`1aJ{`9aJ^k!aD5&PJn3zJVuo685Phcd61d*p3ixk$ zd+XqOd%NIK-rn$PZ+rCi#=-UWX2A9S&4cTHD1htpeHpyU?Wv&idEa>o+R4Y&ICz=+ zAqB4cp#X02daK~&DXRbL;JSah;JSZ8PeVKT{2B(={SyJV`8ps59{9FuPYYa+hc5V? z+z)|&c-y1xvY(?uP=n?uQz<9w&8h-46|L-47k`#NnzRe9w8e>v4XL z!Ulhsug^o^)*AKiEE3@Q-w`Ci!zZcrropSvsCKyE`Z_HGo;Xp}DS%tgsyan*{qG1$ z;N=rkoeH?i?P-GR_O!rlZci6nw)(r51iyoqFM)?MYQI##EzVVNz1|vl>T*@50UmutwYv$f+t~sy&R2E1;8m_;zv}G= zy?!cq*{k6CbA1im zvzG+r>gqaKfT)PQu`NoJ7DEaeW6|kCPa<9w%{dJx&tfRURiP@C>gv4Ibd*Y6iT? zb!y=2u0O%gl?}3)LKVxl`W8nI_Gz}i(>x2UMy6aE$5w+eDc#*H4^!oMl zKe|qa+ofG^ZvlLmx3>%)*4z7*cYF1AMZm+nU7@#Od3|3O{6=1H4BTCywl@V{en-_U zgX{J*z^nQ^4zByh;(F`)=RCDuAGpoeJ$n6md0nRk%j;M4gy zmIBw~ArG#vp9<(a@9N;XAG+XmzU~UW?`@~P4hw_p>zD|*zW%6z>+#S+=YHsdf2rri z8gF}aKSaQ*yuB%Ky}bo+y}cE5z8_Kr4_~16Zw*{uXVk&(&2%2OoH+ptd&%e%C{4-i5&R?;8n&TfbCwqTmJo zz0fgm{r{thgGaee68uSSPZ3;SUzNa{yj>OWbf4O;D!Bf=qcw0{rva|(G{NYAD`3Um+}6sfG4irrAx46GD-~q0m2iN!C3gA^94@GeOTwm=IZ+rCiHo%|d?d^bfZc_Ut)`dDg z_3tCn;DH;}@&#~x-YJ5oZdS{ez^(tN^(8-r_44sH4Sq^PJs+C~&vW}b;Cg=rKl9e_ z+@RVM0oU!1qVx7T;8AYB-VS|Tq3^@{_;u~6->UTn!K1uCbUnSi{+_~ta(+v9@k?F2nr;NRhY|62pM`FkAS zsQ+Cj1g?J{R}}nEuJ3?HxxNb?xmS(14ES8GQv^Rz|NCX|1lMnZFXZK0;3-}{H2QyU zuLG{1(@TKs@5_?l<-e=_UIf?6m%zhywR{s?FW&+$uU5<38+qHW$6*M(e5YDI0$%0u zlmMT`{gwo`?of5o;5LsZ7hM0ll?-_OFRD%feCYE1+LFm2X0q&D&W;G)bXea zemHMe4ZQiZs?z{ZtW|ZI;QHUux4`X(Rh=%l#qF`ic=y+QZjTS#dPvm?f)~G3?Xki2 z_zZzt+&>ZULGI@$xPFe*0q^`-wI>d~lt1f{Cr+-WMgl8QctS&I^g=anE-FTxwkrRZQ`w? z*Bb=Cl-Jt;k3FE)+XC0eU(4sM@3z%?OW=CF74V<(defVF>vSGh>&<}c<9HF=ep{{A z8RxB|*Bb}_4X-x^UcFnbw+^na$GYI1Wor50X5RJc>oFU=c$Zo}1a9+jtp%>z-v$2z zw?DACcfBs3Mz`_y`4;87lbd2oy8MFBj)+gk*8YpQ+;Jp4E174YI?%4^^W?uQ1r zyM@}$CV26E9_ReJzWyx#QPmHC>(42=o?c#GcV%Gt@&fhzMjkxC|Nc7pHE;jx{gnoP zhWA$&9D?hAryTHm+tcKB2f?jpRec-WW)Fc|FRJAo^nhAl3_Qx7 z0e5+O^Wb{F6u=YQo+7w@e#7GR=>4d#XMEsAt`h{exgT|Vbsaq(O0c}c&k@zY-{${c zLknEj32o`!FM4?wT(>_19{#85{~Gvv)71CfE%13SsPntEm3O`W;pKhczUlnE`35`! zuIt3W_5TMs4*qqnpWJ}E;8kvC27J$H{5cw2FJA!Pepqc+30yB<1>fOZRlf$l6Suz! ze!2elbl@Rgz5~7=dl!5PyS24W_P z6>vQss^Hgi`y1f8P6u4?moB*8FV=W(zxC^W17C5Y8V>>RBXxg*AIl!vfIHy2P8?j1 z+XQ%m>!&y1d2s!E*b3nK_x2RQ&*b|~l?`|UT-WJ>>-7e<@%Hm6y5GPTvfJQ#`4G5X zJ`8@*Qgz=r0L!1eM8aNYk&a9t+_u9r`PAAYlHj|;Br6u|ZJWpG`;0{)ZR)$diP zg6sN?4R{w^*YSPbyT9~$0~_!l_|?Bu^Th_&pJ&71x_$)wOdbzW@blQ?8}Kx^u9E@R z?JR7-OW+6a?`^AW!0X^M3TnSM!1eLJ3Es!ccfoa?z_#A~vh#0L{UG?To=4yxELHm@ zvH_2S>pDqry}wc$@bm`U1pD$v zy?hH?FW=pO2ZP@IsOyBl^>Ht<0gr*}`%ZCiJ@1m>dU+STdxIJ$8E}36&4Z8dek_9P zab5z~b;{tI-Kf@E0l%8-*EZlya6K-rA3?*I4( zJO!?=ThieAy2S<8<39s_32#?^16~Bbdu!DXC2(D*41U$1+F!K|cne(D?}F?4zU{sJ zuiXaM<1+-l1z(3pHsA?xJr0xLW2UR?(iFHJ=V|b3d3zW%R)>+AnIxL$7qT(7qYuIsnJb^Q*wuHOaM^?f_S{^ju#0@wAU;JQ5yxc>Yb z1J}oyIQXr+-sA>61Fq{A!F78|;G5m3jx%L&-JTk_UcLpc>svc{`|Z!%ejm859{|_O zhc@65a9zjQfG5E9=iemw-Q3O;xV~;ogX{6*g5S?|3gEg<1zfMU39j4O0@vsL4!CYl z7hJc;+S$8b9_M!2;Cj6waJ}9zxL$7rT(36@uGbsifTzKAodURSPX%1JzYea?`weh? z-fwNdeY<%3P1gy6>wd5|;Gqq8cmwWiz!Tv5er6I}-zQIj>-*$2aDAV=0sah+lMcA` zs=EIfv%USJ?}x|1_5JWP`b(;g3vRQQ!1evv3b^i<7I@$lRlftS?{9a(_3!JjcJ*$T zzP}v@KVRR^oZwyFil|%xZ*p#dcP>)bhmn1~b>?yZJK)dp=ZJ3DyS$(O9d~e|*RR`I z{eNoG-~&beJOX|`djb5}Nqij(KFG^gz{~vHOAEZspF^EV-gf%U%XLmuWx_vdW*b#5d2E+{}A{BzV8$Pe~Rln;QR6Naq#q+sz1}<-{EnU0bjts zN3jBaGq*omWp-^z6g;M;JW5_sZ#Ri_NToaQ zP6J%Grv)D3I$dy!>sV7%J-r`wdjjC+@_Ee$FP@{`9|C`#w<`j^AGgN=x42FWd=1x0 zfFHzlQsBkKsy%6NT_*!Ri|Z7?ivy}o5q#XuYMhk8V_c^SUOijYse$jtbsFIFxK0Z^ z%5^&6x;@rGYCU>Cp22kj;LSy9xghuyZchmOT&@!VPjHvX{Xz;&#H zz56l2b$sBfxK0rKZmtsox42Fi{57r<1z*8+V&L{!s(o?r&$vz!{0Xj;2Ctr}>bT%r z-J<4K9{dHaQv{E4of7z7T&Dv5CfBKfTW6^D)WN55ohJAPT&Dw`I9=80g6rd|Z>oA- z&(qO-Tn&O(PgBd;;JQv2d`qqq1&?wa2VB>QgYU|9lHkpSsy!)iUB?BV$aV7IF4rl5 z>pCUysa&T5ZgHI|_&nZUb?`o}(*$>asJ5#GzKH8|!H?xSzVCSVV=<|60Q@qpV}mc? zI$`iA*NK4Nz;zt(A90;Hc=ZRWJqhsnd_GNqU&wV_aQ9SICj-8W+fx7^;yNYp=qajB z8GJR@se)h0b?V^71*%R1{4K820xxi#F1UM=s$+du{kd*F{#G4-0^rwk9UHuuQ11_c zZ_jli;J@cO4!Fg2V&MAoMFRXzu9E_{PgLzmgHPi2WWXQfItB3P_f?%D_-w9I24DC6 z0(kTURi_57x2pmE2)CyN-aKB_>457xR#d&N_v1gfP5|8EIzjOHyj>yim$*&@-2R?g zUld%|iGjbvbrRs!d8$ql{CsXt8vH}9lL1d~ojka%Qw0Bl>y*Kp$Eo&Iz;&G(_=*Sl z^FFxCb(-K;@pg5h&2?(v&0|!1>fpLg6MS#3(*bw6 zP8VF)@lEsY-*0i9Ah^wSY;avC41N&TiGml8R_k-Xb)7i)G_I2bx42FU{COTfF1W*W z^5E`Ksyzj8U8e*-m+Mr(ts_;PD)<_1PaXVNuG0j!=c+m_aQ(Tm3w{dM@l99n)5lxu z2$cii<4Wp$YJ;D_b;96oOx1~i@5Xf;@C&$39K3kAs*?cMbyDENT*n2sxlRULe||53 zk8qt5c=0gRo-+6p-mWV6&$&(=+~ztBaD5(ZfnUdUy5P-2ReP)%>QB8N=W=@j;D6*g zHh6KidVdIfA=in3|CQ@F;5OHZf$R1pz=!yIiWIopr`nSS*L5=B_j7v+;5OGOf-mLm zDuX}5b*kXDquNsg*Vn5J@W;7M3%q!Us?!0#hTCJ!RIls(_$=26fLmNA2(GW^L*TD) zod|ewmResFTz`&>fxpXj65ux1NrLP95^3-**U5kvIp@J|=l&^yXLeQXuY(V~Ziiy9<6BdkMV8UI$;n-UY9+ zhj_f}cD}^7eVbUS104!Faf0-wQN0FSa)!4GC{ zfj8L${odnPojn5n7<&S|%ANtQu$RH_U~hnz*sVF<_7vDd;Cc2KxXYdfPqP=n2iR-i zDfSL{l0C%N1$sYP-%#z2fp>ZNGHIC~e|VYm6ZQnx3{?tmZ6o&is@m%&r)4e%tpkFSgMdJF7f@H~4Q{Bm{|Ji}fB zA7ZbAyX;-?3)w^bIY76w&K?7=vZulCWiNu4*=yh>b{~I^(d)H))VK|U``F{)7P|}H z<@zP?4tpKE#oh&PvfKQ*O}Fz!b_cw{o&k?@JImlP_6E4a?&Hs$dc7(3FnE$Z4t_Gb z3!Y#vfxGN=@HBfDe1JW~pVxIeOYAZ5JbMQGUiLD0nY{)67<+*4f9UmA*&Xl(dkVbH zUIK5i*TI|YK7C(`f8SA;Jq+GqPlAuxU5)cRxW!%p|D5Zzz-?YW!1vp9Ka6LOfCtzU z;6C;Yc#ORa?y$GO6YK%LAF10DXODm%#hwIDvFE{)>@{$gy#t@DyW>;e9sLAR&M?tpjMQ{Wx;0{A=ZRqz&j3%to5I?;Q*7yKq)M}Y^} z)8Ib#BKR2g8o0&oOL*5CW)Fjh*yG?fy9>S}dkMUsy$0=qTeyWTu|2>f#P7h*V!}R_8zKk8GJ|f26&L&`hmAS1}5Zy8|9&Pk~3+OW+r>*TK{5UGNmU{X=hilI#xn z$?O^M%h}7|8TJOa%kEp~UGKH*VekTb96ZmS0WYza!HeuI@Ctk2G;e##><)OHJq2E4 zFMwCsYv3*R4tSG2c)GVe4fZJb)9gubE2Q3^2k-Lo74Qyw6Z{=^-x=Qa9L)8@;9>SS zxXtc@@5o*P53tw4H)rpH``GO>z3m*s?tnY&DexKW1@I_)4Lru)0q} zUIH(&*TJu4_bu|Sx56F@Ikfy#(H5uY*T@f>=p1DdlP&GyYB*TdrEt&90o72$H6n~F8C08 z3EX9`gQwWL;0bp7LT@``><+lYo&t}u7r?{pRdAcV1s-4zT;y$!k39lzu_wSg-2WNy zci79|P4))(i+VpU@wTVN>kWff+2i09b{G5(_7Zr9y$=2kdl$ULZeQ$eXOrClZ?LDp zpJp$B*V(J!kFmGFKW7iP-u86aBj6vhC&9;0Q18!!``9bs7JCcaW)EEAZBLNh0iVI1 z0*|s6z$5Hc@GyG|d;)u5skc2L_6T?ndlEd(o(GSySHK?{;$gIA1m_wQCcmlZung5h5?ylA-J@RH#H!^?(mX?Vr(tqiXkzO~^s!^az5H+&nz8-{<~@TTG08s0KI zXn4o)?F{c4zP;hr$Lq)24u<;--_h`Z;X4@~G+g~=4E3UI_%6osA;WFM!-nr_c*Jn^ z8zaKG(2Q@%J4l6PaCd!T)pTTu71P0 z@{HjVj5>M4_c6R+_UNQVA!>fiLZFtS_V+^kweyrgQ!{dfG z4L{ECmf`aZ?->3)!@GtbZ@AT6KmJcJ+-Lar4G$Q8qTxZq6NcM{pJaH*@cD*^4PRh* z#PE|1j~afe;f~=yFg#{>((t(9KQugH_(H>zhM#75%J9<-PaA%Q;jZCl8lExyEW`7L zrwlI`{v*SShA%R_Wcb;Jmkl2fj$V|dN*a}BQ>o;JK;`1yu64Zpzfmf;r~ z-ZA_l!@GtrG2Hre{rJDwaG&9>;Q_-hF+6DaQp0V-2MrGyK4f^<@L|IvhX2^`sNt6y z?iijiJZ5;-@VMcZ8J;jaXL!=^%MDK%K4N&<@GA^=4ZqUxjNy61^M?P#@Pgr28D2E} zr-qjdzuNG!;XgCHV))MuuNwXf!)t~Y46hshOT!z6Ut@UF@Lw6;GW=S@JBI(-@UG#% zG2HrW{rJDmaG&8t!vlt2Z+Ot~8w|G%ztQlJ;Wrr`HvDG8BZl8%c+~LU8txcgGCXGZ z?+lL{eyiaL!+&ph((v01PZ|CP!_$WU(Qw!BKN+4eyli;h@IM<~F#LAIi-!Nj@RH$o z7+yB~PQxpP-(`5!@V^>fGrVGW-SE2&Zy3JJ@TTGS7~V4cUc)-0)R~ zCk%ho@TB378J;ry?}n!hf821_@Fxt<7+yC#Z}^jj7Ytu*c+v2u3@;h}wBcpL|6zE= z@MjFK8vd-|HNzW**A0Kp@P^^f8{Rbh1;bm0zi4>J@Rtnl8ve53*5~WT|0{<33~w49 zF#J`+gNDCmxNZ194G$Uqy5V8N|7Cc@@HY&P8vdr?j^QoCV}`d4j~o7$;R(avHauzg zJBFtWf7kG|;r}+=HT*rpGlq8z&l~=};RVCj7+y5|1H(&(e`t8w@Q)0y82+*0Rl`3q zyk>aU@Veoj8s0GcGsByP|Htr_;h!7cG5ia|yM}*hxb?;Q@xRt^pW)_>_<-S~My-EC z(D2cQ+lFssc*yWEhKCIwYk0))jSY_)zKP+E;XcD-hHq+k-0*RRCk)@r@TB3J8=f+J z3&Ycff6Z{$aKGUh!vlur4d2r6g5g^kUNn4b!%K#bH@s~4HilOW|GME-!?!iOW_Zx> zy5ZXy-Y|T7!<&ZhV0g>$9S!dozLViy!*@2^`f~mF-^FmB;kMxc!*?}2X!vf1+lGI` z@Q~p>hKCK`-SCLv-!wdG_#TEkhKCG~8NR3Cal`jAJYo3Wh9?c5V0g;#eGE?Y`D__qwN8vbp=YlcS*uNywu@P^@2 z3~w5Kkl`)E4>r7G_*BEYhJVL!i@)dHL>$V$Yq-zwsNn&_dkqg7KFx63@acw!44+|m z*zlQ#M+~23c+~Ji40jB7438P!XL#K3*@h@QmRx z!`Gj2zxvx(J@8czeANSA^}ts>@Kq0d)dOGkz*jx+RS$gC17G#PS3U4m5By&};0(Uw zb8=&cFW%j9hN}ak*VdiE6~6V~P_8}jvw_{MwYz^Ve)@Nbioa1#QrUKMt@v;EHI(U- zdAlz2Ta-sruFCux<&7wpWqzLW7|KPNS5qEKIWO}n${SO5WnNC1Zp*Y&GB2a-qnwcW zcFLPlj>&v0<#CjwGT%UXGs-ly=Bp_0LpdPxWt8`& zY{|To@_v*%pUeGEIZU}J^CHR^D@t- z{4L6^%+n};n{rC#DU>6W6EaVtJehJ#=DjFSp&XTYH_8W54$Hhf<%22PGH*qBD&>I8 z<0yZJvL*9q%HO5j`H$THi$so6Zpyrdaxdk&%x_ViM!72UYm}!`F3bEpRg`B@c4b~p`4Gw}nU_&^C?{mTopK-Ln9R3Qo=rI_^9_^_r5u*|8p{2YZJDp4 zJcn{X=F2D_M%j{iDdoc{cRrK*pK^?HQ|3jKkDy$ac_HPwl&dn&r+g&kvdr@+A4Rz+ z^IXbDQ_jmgoANP~U74p*K9+Jy<|&lploK*fqI?|Xn9O@oo<}(<^KO*CM>#C>_LPsO zY|FeAQMf^t*lHIz@HT$lMR%JV5#WqytF0?K8X zpQn5><)X~1DW5_)FY_wOr&4xhUQYQ3lv6SCd=ce<%;P98p=`-Kn)1bzJDbb*F7ralw^OdlJfHGkD3@iPNBIuQMVaSPzLRoZ=Gm0*qU_2%jq+b9 zr(~W&xk5Q1^CZf5Q;x~J7v*J?qcZPC`5ww)nYX8WFJ)WittkJEazN&Bl<%W#$vm3! z{ggW&$o+q&$W_Wsnb%N$fO1{tw}0^pQc=tc`oIDP|nLd zoANW1U74p*ewK1d<|&jLloK*fqWm1?n9O@oex7nv=G`d2KshY)_LN_wY|FeA<(DW2 zWFANPWy+S!qba{ax%0l<|7VEYq}-Hw4dquU*JXZ-@@tfLonYW_+1?7Ou<0yYg*^+rQ<+YSM@5%jty2$h>T)Qdr8p`wtT)QswTa@Y1w{}(L z*C^8?Z|$3C+uC=2w-$0ojS!;)7zJ@YAs@Aq;zKSwEqSg+`d>LhWG_7sPyp%FMlGg70 zTke0#^e9@pDf1%A^axtJF7ral^ypc;D)W5G^vGGeEb~0d^r%_8DDzy(^oUtIFY|25 z^k`Yzm3bOvdZetKl6eYcdX%i4ka-eidW5VUlX)-7^ypYSD)VlX>5;K^Smy01)1zW- zTjs4O(<5T-fXw44)1zT+OXks(>5;H@=Uut~PZOCQ1#35DUPGB40c+P~ev2|a`qi$= z{2FC?cUh*vu=^D4^pXjj{nc{yczq^q5hc^PGTl&hVP`F6_m z2v<8M^R1NW(XDn=<{K!}BU|mT%-2w+N446v%vVvSN3_}jnJ=SEk7l(knU_+gN3zoPB-Opji*t1{20Opjc(%QDZSOpjW%i!#rpOpjQ#^D@t- zOpjKzU74p*rbnvUDVe8GrbnsT37IERrbnpSF`4(GOpi{rqcZPCnI4&Hhh^TLGCeBQ zwq@RmGCd;I4#+%?GCdmAwqzbnnI4I1cixu!f1$|qC{(*C^BT(Z2voZ+^IMeZ(WiD* z=GQ3GBTwzJ%+FJ%N1fV5nO9S$N1WPunO9M!N1NKN%*!d$BTem;%*!a#qfG6D%(qjf zN0{0%nQx^`k1n;NGT%U%9$9LK*X2|5Yj>x*^e3(FRJxv*|Ft#~JH53r{TM|*J{Nt^ z`hkFI!knZssWe zX5xiS)eAqN7fz5b=tAWT zE4r}Nq96aHA1~97=jg}N^y3Nov5I~?B!2jJnISqoCl0lz?(5%WNOo_&_vqfE`m!H7 z*)NZFvj1?ht0q2jq__ti?9c6UTxB1tKl@&5@`_yf-(;ruB^cXjE@@u`O0LFupfS zW-KQ9K{PiD z)I;Jf{UKr#mOD>=CbsU&fo~2rM>)A;o6cbEb0;fa${o^jvH?liX+CG=Ax(O}=+{wy z-A6QYm_9NLb|?C;{2g^$?yM;F+{ks*iGA76d$V!@XYxzu>`B|@%U#$Lq=mNdlqC+4_=o87pQ2b5MY=kt7@;?Py>I1=p2&YSie8Vcdp-6) zUO&D^?3D}BmVbyoP3Ok;ezdnWl|ESbucVKgqC2u<_Yo$(4%t`y(VyLY5AjEz*l9s$ zaPLuz$2qy_VjsRDdO&w)YgFIh->Txx7Wd!4nBnS@)95P{9wX~IKyS?O{^B5NC~cE} zI3%z=S^VhFE=a$fUq4~imuf$7$yh7jpMA4cxn)bM{X?;^e;2W1^s3qumx|YWkL}Ao z(R)l^_8B>Hoa{$Dz0L~G8Gd(QT;JrQ!~UT+Xb6lPxOUt(#b$oediKFFVmnvJNk>Wis+s3SHfMC%>fH#pN8l{?z*&z>fFQ~bRzw{iAKn!SUsZq%3ExIcS#c<|GW z2JFGtM*D}45$~TP`ekT@MrUplTCOjK>jx zAX+g!A^vKenw=h}8R%piYCrUTzxPBrUuFL}WA)|^PmpmFR*%{g9rbS}g zM-JR^#1`AJvNiUhF|_enpICh23vb^j4o2#L<}5fmm|MJ~lbaJ02V`f|Gfr-&&Kep- z(SWnyV`rn@fRlZ|8TGL2Df(C`Mp1BZp9jS<;vhD51uZ-I?7)Rfbgzw!8Rv}LBady_ z(`;vC{6n-w&dBE5iVls6eY9jtI@a~~_*&Qfi-wZ;o7iqOBUVnABVT@XB#)PKa;Jpa zbHo=pd^~CWDmR9Xt^;Q{+3At?ALT1_e9FF}YX0ZOE$Mat(8aV?v324IEZ5Qgp4j&M zoa`sgrO!7@LgG*H7ylKPit%*6X!Tm%`~4$3 z4$HkTx!dnQ{Q3To=-N5iPv>O+(Vu;APWF}lU7vb;mO4K<{`)3u=L~+ac0e4A-c5`B zchniyoROYq`$j!BCnwG)b0$CTAEL{!unV#f@waGY$*Gq_!P;Xc{y$(46@9CF&MjYliKG2&R*-xC&ZruT_A_xA*{V|v8NjTQ;_i-pBmU7&n#ZcNW`HGQNbx*+6; zL$&SXjL(FQsfWH)JlBwpZd zd5FHO@F z{EU?=;&v+Gm+ z*;Q{(m*+(>F1DBB;&2)lyEr2QG%hBrnKSC|b8?G){gdApQ;vqkK{Ks^llmTbM+}Pt zXjmK|hQ)t)gx<}=Vpkd#^W?Djv%H4T8&223a)0+vZY&WOhZCNE`!c=%uW4Vne*gEn zOKi)ZT`ZP&&!fN5Cp58B1I|H51pLD{i(w&7?EWFTQPS(bYnJW5>qmBW<-|`0-`vqZ z{9~cnmC@>ZqX*yI#PR>>+33d)+y3F}L=7kRBd28hhssoMWJ$Ph@L{JE?eow0l17%C zeBvaa2Tbcl@fnkjHgq&`#2`_9$>T;WMPo^fm6%PVNbCl2Wiz-u)P7O!K{{@U_t4Ah zUZGCTWH(LO|OW>lOPcG^^YP3dIg0c!60144U^`1bD9yx3Z+ zeT0}BJb#>#^TLB~MEkP;5q}e>=a(J-j8DY=8m5N_`f^L0_R*gHkn`iO+ihrmjL7*B z<@xb|o*%O$$3(Nloam$L{3rXfPtjcI%YHB?yHd`KJ(+ULKoXZyav&({w09XfKr z$$cXe-tQmvMZcI4b0&Y_AENsL&Ovjmfn(KyQqG72#f*50XT<$HBX;Tc-`_Kj3N8Mt zXGYMSJ24*ams50d*M9}w8tc#XJpXo9o-foqp!+|)?gcav=%Xi1gua806cd4Nl*)F+QZ zmQ&}1`m^G))R+&Ci4RWV^eK*^W5hvM9zEr8lrCQ7FcY=()x`p8nVTxmwnw@%ca7*Z%^K&v(Sl!TuaIeqAeR{D)L8W|oOE{py-R zY@?nlw6%ejPt>5dia{;rkDev+-TvWA#2edJisF1emGgK>QqSSd|9cJ}wn{!Z!po2B z^r`sT?tjdO*94!M?;ANg+&3bwiQkNhk-vsU{sOT^Ir5X#=8?^og1cvLCOzxDZDNI_AqW#h@7SblwnqiOvEcae8nr`HZeB{8#QLr^9SI61LB%v@ZnIqD|Xbn>w#%vK3pjFLT*g!e;>2;`R_OFYt8p961$4)mDYQ|I5??! zxqi%wD~{Gt4IcNOin~Ixhv+!0MzB1{tKpkjMPq2)-0{{3h#KqP1>^oF;*ITVMR6X- zYH#|l7!)0QpWJC9W9VBVaXB*PXY{8td5yRht+sCzgLVD<78f6Mwd-qrAilhFvJcUv zeCADRl;~4mUygcUv^i%vSA)XI0XB zk6m}+Bu*)pyyFwQSll)lf3jH3?jdSscBqFwAWp3I=MFsQ7P`r@%~|4)+%#K!s5@wE z?xa1e>@?ed~sCuHT@%7_)htz z)jIpa&E?0@O~=qMT_SG{i1BicV=npf$zsVqUh)-jCnN9V&K8%0IrZ_XU);UO%@VVC zK-_7NS0`fq^p}{kU{+AfvIi)L%fVS8XC!Gm3#KQX?CCu|aV5K{GuZsn899CIXfgQ4 z%URW*yTB12LPv=YV-D@0;kDw;QU5UAn-zbX;fVVdL3$xK_RJgh5se?1>%VKJINP5; z&^Pr;;RDkKy9W$R9qc*-k=)q%YMCusk1Um2n%P*?$&LNCWdHEsQQ}%LcS}jUZ_e=R z{^47Xl;^qJ*sqBNob11yy~Sm9c1`x|q`0!4?EmXb@tNVF(KGyawfuLj=*?DpFZtqn z@m~L>lf)aHkuCPvb!Rbw-*Og=`H3^CwzkRhYfkResHi`1-^|>Z6J`#-yZBD=A>8T9 zof(@v&@;n-#f4)nOZ;uT|H?(;Z@KBGx33m|8sjlH_L7_SvD~zHd~|pxF`V3VkCofz zlWaia!J>*xzM7mZ7aw_Nc&y)5=(Vn*)t9(%Ag z%308opVInAdVbm~W=VSRv$TI`e^DkoJ$1=v^wpNQKBb$IxwE7F*=}#{>K>Ph?AdW1 z=x&sKU~=7m#emojdEgdR2F3M8-{5; z*O#Jno!TeH+1^HL-jJq4#G1u%d+<}Ae<-xEXxXPx|IjY<7g0mB_F*wZ#nNJGRtL`P%^fpg zc=h5_m(l%1I^EI%Q&fMsZ{;ldHpW_8?;BhawU*J}{X;L#6&sj6CfqxC=7dq={rjrL zhaVZ(!O4jmC*nh@L;Ef(@5}Xy%k?Md&ZM4V;vU{OF%QHL8#!WaHfHC>e&d8atf@7s zeZ^|ggu&LN$;Eiq{&=aIPNE5{n+~)0_b`~G+W(8Y^{b7{Y>(|Ny*vZcR zJIW)PfB4-+qIWJ?LB~4dB1;_)2fwiWL$gHJ&}b0@XafW0$|uBVZ*R8l_&O51RNS-n zU%ImpF|FzQ2ss*-$wPnkmHTKIItxx8ys&k5ezfR7aqELIUFBpSrgL0e+-#?gv|GpijJ{3~Le~r8JS93?Vc zBjtv;N|kP?2E^EU*ctrSmwkgP!_G$HkSZG@Z@b&_V!#;`w+OSxcIo!JxYXG4kXHL4 zaeb55Q-|&|4ldtF+z%Clw?^Z9^74zmwZU=TE7tGQ){D1|#5OYDb>XVM+>fch`*MeO z`$o=cIXQ8}7Z-6^(W!@b`f~|!dE$t_pWAY>sQ}IBZRH%=lI9TIUx?Gl69R;|`WgT1GjEn|$7N^nHd17x(thP_4ld(9TT_9e%T6S)0mlJ}P=y}@h zxg(RJ-^YtYS7zd`GbSI^6TNt2@pJs*+3p2#x^FtrD<<}Y;g1(j){{`22yQ)rZs)!1 zWZ#oFhkDmOE$3x#_91zj)jxD7O--7Xz1dk|_k!cBftkIz!zK(rB5nX2Cc2U5vnX}q z`cj*SR{VFVH^uVnN;wNoONzULbZm~&*ihp_%>B*u8MQCFQk;VPL;H#cGuxktAE%1( zFrz2kepw8S2fCw2#ze)W9@$%Tr#Jv?`kQ?$(Un$v2bskYzr9p+a9{Rav6p=xi*XfN zys!9t-=FK)Q~`!R72rAx6H zVnoONKbz5$nz**L!@tF>pjjnn<6O~5XMuQG++Od?R{K7AvG0M`H=>uWI9P1EBR&s_ zZ9bkR-9S%Vye;vzxJwk01Biy;N^v`_Z*YY;z&tzsb-*~$QgLQq zJtzC&4AH7Yzc_-4`77#)R?*{o{vlf)g~Sn>kC-+eG5y2$$ZgR_&Gv1wTi)s4`(zrD zpE`RVDozSb=YdZ*njtPE#HY9?yS*dhqpj~=K3ZIX{P~x3@!}soP<)`ujlGUjR-_s7 zGGk<$AN1@lI%PppUU6g}5FZ!BMaM^d3;y1l?X2xtrAJHVP|MP%gV_K7bnwREp3{MU zs9(I-5$Bnp*v^T^(!{2-iTBLlAKp{GqPJ6?i`JbX=wSJn*gfi+@sZvNotV_+0^RZ7 zdXe}bc&B)MPVNWdL&}@2Nv{OOfmL2m51k`!SIN1&cr#-ji_eJf9xT2wnmkkNuTRA} zVovs~uDJdwsQwx&9;eKWJxe4$z_$J^!p zp`X!U9U1$_sq}5d@`1gmLmoJHTh$4oS3Lbdn=QWd@eds(xA>A@@b-%)i0v22v;E$N zP5A#ejMm%tf3EjMxu#8dy(8k2P;TreKliTpIiW^}+_CEhJ4E&O;oUj8{lpH+#p&=U zZUTylA*NRAp2N14gU_Zf&<6MPT#ob&o?!_P_Y}pndQY4S=45{$dPbZKrpOllK(vX* zz}wRQ_n)sV+8l06j*tF|pcRltq)iiph zGBH}jIbGg3TAbU)?gj06Y(N}^>EJ_?NX#B_ z|9wVwxjOEAEOy#6yX-EmCOdr#K5}y7*Q|YwcByE@#i9{nueSD>9Z;+M+!Y^GSBvQ{ z`cRx{*FH2#jBv3JMF)CzBkjU-MIZe4F(5bgs;gDceO){~nH%ehWcJ*Aq3c>YvdvV{ zunkOiYNMKq+x#N3H?>n9Y8>%tW9U)34jb8Kmnk$IMZQPn_m2LiIQsmt57S3GpdHaj;^4T_C({vT=I0UuSd{U0C;p@a=cAkvJoKq8<-L5UJg zNCLaC5fqT9C{Y9v5J5JIQZ>8EdR;_CEYE_^^6c$d@L@@4p(#a>B3*=giAa$WK*<05 zJ#+8w-H^ne{{6g1cG{UUXU?2+=FFM7rG7~xD@H%r#{sri6~txrJ^CO+4a7c*HYF5z z99N>|*!#4?Z8ZFinqxgucHF)|t_`=R+Ek0%d|2%jIjP0&=kv7Ar6T**K>23D!{H5{ z${VgjSTn>Fd&Y%ctuN$j-*P$#Ly2FzDNZ0rJQ~y#=W^93ncM7E=G^{tm!$u|hg+n) zKhhr9)p@~HX#djb_A=8;Nrm(^m~!ZS)X-ml7rYx>a_;QF3F%FTu`@BxqfIZ*3qjgT zkVS4EY!a@%)0KRGHxwK~!67koFEBcx#5(WxAQHu+^>nE=P1q(KZSLEb7lPL*FWA{7 zqrX`Q`q)#7ybTdZsW}RfvXgfRa&6?jtaY{I^$ai9hrdqKj2lu;S#@VF?{4>;P|YuYS#KrfkU@K~{il*)uyLTXx+@+42K&>}c-3 zy=K|+P^(I^MH_M`PrDafb`Tqfh&0|!xkhQ6MMd!!(l{3qCXgs(>jiu;(}^dNNXWlHQ738`3?hM_TFLb2Quiz5j`3TO!CD znWa#>A7OQxV<%E})D|MwhT6;LS4+i~@Wb`^kv-fU)mBvDsa+OBwrp zV83!>13Mp^jUDjPlI~><7)s^zpN~?nHnvTSc^tnF6QkFj&5)A^x6!)K7Xjl9p2lVp zf_d0Wz)Ax&Q{*&)zM?HMED#Sk_{Al{Z5k~Pk9IwDUH6G6&;~AJZ4{Trn};us$#l*s zrExc>Br|R`f-|nAoXO~vgGCdHf1xhUP}5I2{qHeb>jm37W9Mps2rf)3&I{^*_;4H? zb-z7|ut62UF%qP+S;NMS61Pa9J-nDJ^Ez!Th4t_Hqz5IKCeRWp1%A$unvcEvIUfU% zvd_n5I1jVUM|=`csM9fkTSY7#p@*8Ex;w{MWOFwtx{; zg+>uFjuOH>t0^*`FBldfWhdhZ`$D7$mqKBG*xPk*?5 z+*P@Kl1;Zya+Pi$M!hvTS4ui2KCUSA43?+nxE(1wh5Ew04O0kwo(HWSN^FtH{j_Z# z4J&p9_tIj>ie)$$V|;{;AKrvRI90Q;>gNn!_mG+C3hdT$^%j9w^ldb8?T3==qD3LS(KGc|b6f{VrHCLZ(j zlBv)rVgGn#kF@Dzr`J$<*wag7J$Y*_(HtFTs>yl}ae$g55h?p*oj|T_veq@Nkt7P^13gWQoAwrr&sgcvxi*YT z`~F`rp5D|MxB-(Djq}9E6wW915a-*Gvg4c`jdR=TaTcW_F4TqYqTM)(>ztrDnw!91 z6yULD>UX4Ugjn9BT0)qyp?zyG|Xl_3^gXR6g|+#A5{Zw zEVxWU%0AGWqjBo~mpBcyaG0fV8g8YpwBytTI0-I9tScm@aQivdo96f}ps*YN3#VZV zQg-aVMy`!w&m~k#F|{ijUaTmm{Lp>19JMRsDFR%Rdg--7slZ)Vlbqe(&Xygip3n_! zWO~#_(7^<+`|(F8s}OLo<|<^s40Q(jildaCP}-@tv}L2kuvB7WVSh{+)BsVxu#nJ- zz&s)PZw+;*j6->B)NL2nrHYOdyWpqZM8B~}mq9#(! z;6RX}Hr!1v?NOw7_UoNYbwJ9_vvIqkc=nh0YI#<3?0=+73ED|PeG254op z^?$*(oE^BzaD&A;^LE$_Zq1$K9)8Lbdf<>ZS?oyXy$k?Po|#ooY>qy)N^%Cda2W&0og)_hI{xrAYYDH!?o^UUCmMFVMV{kwv&E`XGGKQ zN95WB-G>dUryqiPhGVAtl!I36!5fS{S#+wRaBtajVcLG1T36BbX3SO;Z4ZwIZHFHL zrAXI9$!`3U;7wmmx_bD>r0ZdeuDZ~b-Gu4t;nA&+bX~gkcX!EN(DjH(*Pp_4y_9r4 z4pHVVGCovGBQMmmA}jrn(?8ck zqJo+vYJU*bw58gp+ep=aA!X;vsmQfaHNQa(R9#J~VBUnP>|)BHB$D;l zvbnNs%x#MD>2QB?TLENPsLL-d?oal5)9=Lw`i6AKq1(NtbLT;*4sq_(174QnxFf1y z{-;G_I`Zyld%LpZ_~rW1&K=G15g}j;GCxF5lUWn7gZrQe%NjrmAr9nO6vD*j z;r)qC?vkCc@HN%Jrl4CLeH5Ns!!hbcQ`+qC27hq|<^##d!G!S+l4%u6LToy$R4j$W zQyhyD62*Y~ymceO6Y7ThC}2i}YB^^;dKsLZ68b)tN^^rZG&T;g8ADwK2>XK9qU6^) zW$ir-gMlXQ9|ti%${VbxxV|eO(_tUyNyl-~2bWVP_UwdXO$5#(UVNV(f6Nh6wloWO z-JJffyJK3#w#GS(_46 zXpnUzBN^nhd`Rsd?gvnG;nm#b@RS@1J7pJi1L=$AQ%A-iHXB^yIGci^}W zcT{>Ocv6eKwTi*9b-dc0G7E3R_25ax9?bNJmt*oUIcc$`M?6WTcWpO4;=K_kraa=` zquS$pfEt}Elnz)8bc*8yvl%Msvz{T57b_y$&gEqOy@(EfbSoWo+N5%CXq4#}zw=Vq zkm+ac?~H87?oo%tD}KJ=MLyyuiw?lUhC7eqL+>GV58h`80(rp^xZ*Jti%mk;+3A1rrYQP59M#gFV}WBw@2ersQ=3H31va2=468IVL1u&N z(7Ma1Id(s&`W-3#u0hJ)@2AMM&3h=e+J3oiJlZ*~+6A5diL16HhO0UHn5eD%iK*_D zP-_v5+L1anqDI%Z+T$9!wFXPGxQ@vs`k+gAm|eXkDqE;(3|Pxb9U&BadXl1Nb3u9r zQg(XYfm|CsGpa{g?Wnrna;4fVWq)d#7M(DaJXymY;R3U)Bg!n5u@9~Vwe;$uOO5^4mrD9u0mCK7`2K8`rg9cNzf zQq7TILw=PYf9n2dAFr3!c0VYnPn$B zf#^c0hXJ%lhP&vY1n7pA_?ai6A~yn0O4}_zlHqeIVclVU6z|jmk~R3kt5}P#Ui?qi z;w*HlITjQu)UFlO-a*RF4H|O81PvvQjHwniiYK>c_#w9zdq^gCasi2V%FTd3+EKyU znxk(e@SUT<*Q*|U4!4l{7XuKj^I#9mf&EnGN3;%~%Jf4i zR8kvYcaVpN*WWJ(GP`jSvi*_v$W^B?*c9t~$HdFL^@b59Qp6d^N4F6x!|))PcHFYC zn$NBmUa*%6exjdY@*G6e`Gy$$=T2R!Ke@8L0w)$2R)gJekv!2K2iD$3EuB;fTGR-#cva~t2z=n<@Xp%QrmUe*f5GuN)teLy045F}3(UMx} z5HL>v<`hve`q-OflUulhKw!e_Xp0ux=zE@oyZ3}JO1}aYGAoP{3H$b7=|3NPz%FdX zBaKkb66J2QjMuP5=)rc(%T5dTsEM@O5nRFrmF!t(VC)ZcVOn99#;r(N@gig`;*=bA zf6m^C8I$Q2=Hm)MOXCY-@Z|%O1T5o4hR?F_yn4^ta{1X+Zpp88Ly zHds)5@CK+U?UEJUGBK+66`SGdgHMmn4O2MzUGJplFI^m@KOgS^Q-r5Eg7Q zWW~%lVC-x9-3)+(<3}Gftq$Z%jtfC-7n-AZb2&%htTc+l$hD1P)$!^_0qu?b^SfQR zJwgznubVPi)v*Zi#NHGOUHJ+9u*HEB9DoQu`j7v+9*JlJ6Fp70)jsv6B%uiTGn*EHFedfPGu8n5T zAFGyToMCRNjaNZtY`S5{RvYTKHW`O77#&2R>Dc(_CaToL{69=bM!hQ}9ruHoegJN@ zNT}Z@Kb{-vH>U&WGXD{JHL3{AkT^eQQ3_n2?%)==XTWV3*;V-~-fBzc+=?rp_K3eW z#w_Hkd!Nzqe)l8aoBj*@8^Ir=1ODz7Le9Ngk+o$h$?8YSPS%mgwUIUJXtiX`Dk_J= z?=2TYD9dq^EZ7crL#Z*Rf(2oJ&%Fuzi%|F8``X0lqesTa82bS_yt4>lXMw# zrV?t&(Wsq1QY~uKy)@-|T=-Xk`tJ!5Hr=I2GF19qij!_jv)TPUxrjGil${RqkZYsE2wVX9iKCRf^brUkXo^I5 zqtZS%7L!;a7U#F<2u3a=c*G2K&Puu%3`oty3-iHE*xA!$g;`x%)|longdoJx)>H!A z>Cp;N8K*33K(R%7!~Sx(0wdmFgcGcQWCnObIl&so^&WI)GmU$3kip`jopo@g5$p7? zZVv&B!$jGE(L0W3gXkdlYIox}8Itc??9YqJ>p1{-eO&^kTkJ z-{!^469XT6go8L}5f69txc~#KI7|@9svz`vWg%Y+z_Epj-(NUft%lwupi#Z_{zT6cPm%O~js6L0qh)@cyIrByN>B?RWk>BUo`Tv?E1F z;@g{{XqkpVimR@%@NSAfXB5Rjfo@z2(wa-9C3fc=6dp@}H^FjX$VsOh{EmZ(CYM-o zri=xi1J}g`?jp!QIJ#l!7D2o~4%R~Bd<2}%N<($7ptsy$G92@+htMtX27mPgx60L3 zeJXCvu&V-*L_2Vt#-?ywWbm(oiCh1noDwCwh+8s^J-cz|Mz=(OMd@f(xLI+E?Z8ha z!x{K5XdQM;;L*X?kv897LF<%o>;VGT#hi3x5dYux=4ma&cwEqvj-`3GDGqXd&6%5p zl%0ddBiF`3{fufkh!{ss?(lvjE#3z%0fp%s#|1bEYPihoEf=;E)_l?az$R(M zWW({iMqPjh9l=+l%5GLH5Q_h@Hg;a=Ziw;D*sRI*z9XE*d%LuV;l9bd4L2CRMaG`- z(L=`j-iY)GqM*JRGt|&`171nWP4*W%5y1q_ zvJ{b4ds`RnPR^Wh7TUiqu)#0jwFSTYIQQDtl=eVjSG<@P8tirl54jPFSJY#eb51dU z1YQOZAWozHnTAwocvckI%_^vA7~Oz?f&$tgqqv;L+k=+pqYf+)^>%|S7lc3$iNlId z#t^wy_0sE2w=}bP=711-S_!HidwdA*QfQ9<+@g4-(^pJAi&2${+9!Mk^dFY}V_1Uq(KhaT31nB!X^wAhQdG+l)ZRnNPPGtn zZB!ez=kHSOIP6xr8%LM{J^PjoM|^qeeX>`lktGK5YMeXQ;q=oBGKMnUQg03*4q&ySM=) zf;utZ0@%_D7pgt&F#@WR6smu@*~dt0h(RuB$L=8t$&sIveru4jBl#(EZS)K6{=4+M zP-_v5+L2v<7qyt!e=@bxg--9^sHoOeP(iOx;VMQ1DiunB_2}^!0U!D}Koe`K$1AYlZwM*u|K*`u|HZ{ysPw z*EPts;riarze~o{f8^@wA*hW2GSnx=r$lXFCDgh{qn7Yjs9A3`>}yU>YvhfF7XOHN zbA?=s1}O~t2!@{^WuNG0kZU8}xE+6&cw7IGzBnz&q?o9^{|SlLyb@~V$hD#NCH7T2vsyk|4R6*hR_aAV-*Jd z>8;TQeKjUiv(wH0!DK!IVrY)y>(ylDe8kj;NLe%|+Ov@xMlh5(2KZD%FwJov+VYGH z!J#-Q>W`D62jD%ysZnrs|5+eg9yz~4pfAIBu}M|o!Yt1BRJwg%^;J^Y+`vVrqNv(pn+O?T z4$s?|sn|-xyAsh!;o*UmaE=IX!2h;XB5c?Z%#nzDNW+`CIL`Ed;pH$N$nH0yT6bdE2y17~gz-CsToyn1ByzpqJm|Wh7Pn`LEo0wq9x3#c`!E-CO2WW$3?7s#w zAk>{@`nUaXR&~t>*w~al`Zj9uKWwZ@9fd%I|7ngP_=Wc|@o)V#K}RnB>Ta|$9Tv6O z7KD`T7#tQyfUvwfn5TI#KcG5ZXZi#8{GI-uI6Q<1x+Ru---XUVG7l3qe2yX%|Js|l z9-_qZV;l4|-&5BzE>r_~WCaFttS<&qgwFBenekg= z910$C1{$FU?3ndUZ5zqoWLKjYeawQ!(D1(I-t_MC`*w-(#k0m2sG(o)N|0*rpuNm? zm-j%hP)6^S=)k|UG2R@>#G)C?ZwnmMivoE60|~@0;o;RVwQYsOQWu z-vfTWD-J2S$v4^_;)WHwaA#m0YS}PZgk)MV9@gm*<9xQ*XaLofhFDQaE;JG`r`-GR zuU*C7e}?S+jS6;)&Alw30`Zm2nBp2A;|yE}mjIv3?SYGE2$CJ@%Ey^}4qPB7)-WW= zetsJc@ySd7t#EG^0*~M%$j`-fLUj)TFIH@lcc(-6{7Vp9gVKI#vGjX~i{*2q?2F|& z`=T$Mfk;=6pU*a=gBt=LQqV1iJJ%Ere<8%CD`Q!QkCpf4fw0MIu z9S%dJoR4+dg?jhkAFCc%!ixcTgUOnst~r3m-{t_0g8%FT_zAhT0erHd+5xB+h|hT= z?qIt{SW;@?1U|#88h)}c!kZPA@|=$Iu{qd68(Z-YQ7+)ynxTxWe?WmTgGc$?_d?ZDe_IeYIradW2IJ*L*kxzT7TiN)C_k5g+trmsP!yo{d%E zHaZ=U<>5Bko{3r*Z($|a7Dhu@ACR2}B*L7@;28qi;bIF)kBRfw;PG?BxTmq5B)(Hr9H3ygC%3hJYP`X^t%ATwUP&u};^ zL71nxT*`fJ-Teu?N0oE}cS`noc?YyFRmPs7zcTAW!&Q^QZKIT1SR?}1nv)I0r&Rk zOXNOsAFPMXf3uro6(ju*v5syyag7of;-27YW7eCLSkTYLl$8`BZ4P4@f~<*nZT#e$|4YxszNfjrpj zDVm%a1Dc^tR&XF*?H$t@ul73q@yN(cTW7Rq*Sva_o3_W8wSu<{ev`EEFcMhv2w_zA z16XPjPEMiYk~t@^vf$y($LSj=o`al8`d6(@D>`K(cw+bz)Yrx*GNZ%R-bjyg8k8QQ49GS4 zuj4Cz2RoQd#m_woQ@x2m5uR1!nmsSb;hNMW_0;1YIIyYl+}dmktP>0IPt@BZi*eQ@ zxtUJ?5d0=Mydwk$I!~pi)3!w8huQcYY3s~7?svV1pPA0UDKua%e#Xlofg`paJtd2s zfuB>^F&;k-4WNz<;_+cTGu_g(srQLMHIKKG#k!Uk{$ZX|&|dP9d39Y3cASGT^ZaY$ z!7=#dsbq(n%6%G0V^i+;B8fv_GB!V51c9=tPx~1C$E)Kh75oE8$PPUz&?k3g(D{q) z6;T84N$trg>I&_}J!%5017H&Jf9l`tbRWL%rwvB=(suRL z>feog2nl8`kuiOlV;qtnQ?KjFvMoHJ=JlS+2{4q&^uQTU3Ru| z56iw#G)J3C_*Tq|!gtH})#6(vVn6g!#F!rq=9%ijREL-!knDsU84WS3CWz*H37{H< zUNW_r89`qq(&w8<*NN_8`>JZk9=2QlgjzNhk#BJRl7vNuQ|x=ez$sP zKuQI8E+Lts-g5jA+rLA{sjcawwE{e6z|Vt%2bP-wohcVcy5k#WdL830!*4mRc}E3! zZpUm}*H(XP1;5e8d@iO%iu%@#UYPERE2xDL=8C;~aGM$N>4SLynS`KE%pAYSr%f)$ z3B9pFIcS8=CPNjK;_SLlx$!u5j6{0&PSOvIon(xM5oaE07LQCa zGjBmAwa~hkSa@1219|#xEH?mWxZi1?1%dBAu?}w);9`5^60U8NbEa@Fui$Eqifi!P z2QK20ccufR<}i?BUz#hCYh&8CmRHYFh$z5^;R?4=&>{|Yiy3;=t_j|Y4j`9iO)|6r zBHWBL+^kkE4}2sr_zTqpP`^4iR8ZkLu^vx>$L7`gQ*K7uos!De678tWOaHSFK{`~p z*xICMj!qZ>$Mey@IG*z>jpsCSZR7cAS@q)qna8lU=)NBvLW6cLU6kT>jiK{b#P2!6Pg1u?68my>~Z=B17E%s zmTcSt*TA`a{O7rR9C=*T#>an>k2|~Y?U$b9W4yDlo6rNT=Te`L+bS> zJ`(&q(t0g4=GP;n5V!r?;I_XR7!k`il%^#hUIEaY{>JfWju(4ntBVi?Y5vHiFk4>3 zjxdW)^oK))I1gaeQTiRO7Q%1pj#Ew}PAT6X;@Ku^6sQAEPFewwf4wJnd9;kq|4g>t zmvsaDSAJIfarg6_An<@8lN=7?gwVAG%opO@BXmRH3PRLu)BTyx$?QWX3`DNXIwM5s zkAX7=o)|#G#{b1of_+q@lUE+@6BM4CUrY~kO*E_yMp*gO;N-d4=p5wHq zB4wZUhQQx8?RytjJMCNzlK}${^QEXSm;C}Qk4Gr<3GK|~@l{=Od2B&R9`A1VV19e<9EF(#pbct7ev z#(*I|#RG2o2VipceKAI@$8_a_K@6CBxW}#QEJ;jSg+Q8Eq4y@w=j1G%aEyd1~+}codF*NzcdX?;3E`7zSl%cZ|Jkc z^m+h;gJ8<{-~sJ+tXF*6MLzo+#Iu$-fQE;K51b%A8sBoJb&r3NjX|gmYSSFi*W3%2 zZBcm~7I-~!RCzLNp?)XZ$2k3Gz+!n=HCSqB%rvpWb4PJQibo z3GJX?g>R#bjQ-G*{2p|~s&ILNgI}^+AOD3K z*t^K#nTz>)p0B=m{J*Byw#5)6Pl2qRLeOGyKMXS0TOC-KLP*0}0LX zB(m)5c>;26>)Bgeqh!iPZSiXPHH`=OF$xbWSM+{8dxTMdt;ddnwiVwH3Aeh@#2Tp zGKnL+nJ7@_AfH@`GnqLTW37e~r_$s{_-Xn^Uw0ZrSeE1A#=zlYQN3Dx;wDyPBEAcR zAGK@gAEdK4vZoUg0!(~* z9yEi;Zwfz*2c6~tuHlb!O>voD=Mu0^|1OLn3odzh`^KUc#n^Ua;b>Ianzw{;A}F8f zat6lXid@8jWeh_SE8KW$wNRnXXrV$5rci$lf^a^>WrZXb&jGw5s-rYjm#&ueMSi`r}3>!T+!s| zwm#u1d5y)Gi+uA%OK$Xx+hz+8KfuEZe2*b()Lea#P3>maTvKx*%dsQMu^d}vVS0`y znA6jgjbwUWf6H2q4`S&VC!a*85CBc_m&aH5w2F?Gq_7;g!WSwxzHWj1 zjx7Y_{C6#o9SHI*6yW>ze;OBIKv3@;X)|X|jhds!&uZQ)lbg`<04+tRT*1ESmhy!6QqZLkb z^-DPJ4^{r|-zC2e^P3~T>|Oofh34F8Ql-+|4Uf#-7?gw1!>~cnuX37mcOx4Kq4&LE z5&9cY(8xf6^*#Wl46t#eS=M>>+gRgsS*`XO;>#Etb81C+n^Su-Bt3?(gVC2YHhbKI zOx5EyKv6bMKZ06`0_%J*y0%suY z7>R40uNfC13B*^82Lk)rD<*l1O(>7TPsIhEK^9Gpqeq*|c3q%K6)j^n+Cr*bh-o!- z+bbP`PJuw-qy3JvPhE@++Bh5`b^q^ks4TDb<8+?~N%c?S>}cv9=AOzze0Wa%l02Z7 z6@KLw9@rTF^1?(T8$T?1pBpD2x&!A7dBNC-=Fb!co*6IwKBf&xKH1_U*7PW zx&I`q+Mp~&hQ5+lsc=j>57_en6)q>~hI>Jrm|AhJHpHC%d1wgD2Co{l@IsIq$8RA& zhuka4s3!va!AyNZBd}E{-iHF?2m~X37a?$>Y%_?OU_67i&=2R*lMXMQ;{~SShe^+_ z0-Ve4rEw-b)i)I0#N6v|gMAEsgP2U1^|imkoKyv#VY9wW|k@%tr7$5d%7|&}BWjt>n$G8uJ6gi|fH2Vqshpn~l3-*f`_%j`R z?ZjLgPa z{~jbvQMj2uxy}HMytUk{N69+uW8jvZp$;g1ex4Q0&CVN0{Ef}d6jaAh;#zS|kH{M7 z_BtkXBgSpwaeXB`vY5u4-8@s|*N85rjdu-paA6xS4T-<7@#;!_yN&m_7>1UOho|== zHr^&M`aiSrrV~uGji&)vwKm?XvOTp9DUI1kLN843%oFFKE*v@k?DW?M08WiEMo)vi zb7>smIJ$7KY1S@}7^4zDCl+aS#waw1Wsw4MG`0a+zVan3SS(_E+`{4WhsZ>4da zMc{@xu0#A8(Tlr~lzmdPoqVT4%UFV9``G?dojv+Y3^6K20*jB^-;*|oDDwot-;iV>^X5LrCPvzSp% z|4u-SrdZ$;WRVeZxC2In?~IIi-8ErGgrm_~5?%L3&luJW&Z&W>#fVN+AgcK_bE6y# zIsL=WLB{{XubjS4P$?}@i1-hPNxb@e7teUq5z-^yu!7a3gEw5pDiME zkud{Rt#hMNqnx`}IL>cy<1~i^KMu31^0gD;9lMDPG5Q)DVz4s){W2uzvrr7--s90b z#-2>a{3z~njlJ7M@bF28gg94 zKe#36=FLs(M3vvX0i}|u{jA6IDTe;yo&DDzp$lhCyDnm@4tkiWZ;`S)bmk$~=Fpk^ zVYLn&azW>H4&j1XFVl?C24g$ZH}3eujO&=;OH=-;OkYacy0ZEzHxnQDE?QU%=byfN z5EQZj4JO1Le^eS2BIqyU<`FVw@4W&x8J8^Q6AoA*Cau24btBL!xP>!PY?R>-g_B#G zL9384B(cr_trq^A;rqz?IF9d4^ANHu33LAvn&Gg(%!>OS?%UT0DI85kPZap3@eAae zjM6*7hr3&amHtqW$ZmXitu*TX3w6=*YiTJCtstx{(^_a}RWz-Z^O&yO>8|Ic(;L|7 zJ<_Qdhx=xzp@QmEE}NLN*6&IrXdy1bU#EZ33)qRyXBNCm{*UkjZ6GEyF9*cQwM>)i zIpiyo%QMf~Or32B;!IvSsDN_VW4l;*I|{?*)P=jMF{i|fisLmpkg2;7 z@(wR5e!z=NSHr=bz)5T0$3^Q1?~AXa2;(lF&MbVC6P$E8O$Eqm2vY>1Rpkb|_D`H0 zasNn|1?*-N;@bS9rMV?*hYDoVH}gJtLR3IR{zrUaVwzN~_Qm`V(eE1;CH8%{=BE8z zwKuFEhDdLi$Z_lKZisZ_G8E84>@m$YfeofpMC3q)MEp@@b4=YoG0wx_r{#LZl_EPV zP2vmK^**%7#~5EOgec4zTxq^jRt-q=SK43b=es*z#iNBN%A?MXc5}R%1 z|EY}PP=%tg56j7}OI#_`*o%yAJEA0M+2fXdP)U}`tn1^-Axt^D#&dwjeSlIdIGf-i z0GD>YU6z~USxAdaXbRb7d_9$@BgDoT_=G=&@zg%yHKft3yOYel8_az-R0EhhmSVw= z!teu@`i0n6t8cORvhmprQ>tY;1D!Stj86*CHH9$Wz~?&YF$YL2Xb}&Tk?W~Cy6hGq zX4uW(MbhdL$BJmDzthVMT7!1=ePxcL1Nt=YX=6D-d`Qoh?3XoW)J7f3_c@RJuDo=m6>DxAe}0Y9LozND7Av}hr|x^}is`jP+3SJzOP z$AozM9gn-Dudsb}ji0u_y^Mnp@I6RAM4aPV5ClL0Ztu{EeuHk^;%Om)D^0A!SM}jF zoMX7F`WO#p7~lIj=iKoei$inht(Be|`w;cqPe|GI+za>ww(^-p*7BX?4JsXMOIYC9{_GL zfX<&bM&5*UjsSVPt|=jNL>DK_CnZQ6Ep&jbjaCjJ1yuTE+;dIeq>d-sLd;!T;h} zKV*8qvzFlY>5qTL^VzY`0eFok#N%~h(;HhG<=4)*`&L=P_dP`|gfe{+)}kySV?IPY z-VriVenM}#6LzD>_410=Nf;O{n_|ML-Tu zIhe8LE2c`UIbDLh2Q&u(&C9T{4mqx0!$HJ<_jFqrpbLGy=4Td5+5@Y@ziPW6k z420;JEd&U4|KMrl#xVE4?@+i+PhgMmN6KX*A24(rSq(Vp3k&nHOcT&g&k5o~EPIIy zvYVnyYa53~G4jQeFeE#xpC8HKU7Q9;0;WD5e3%2gfI+6drd*iwM`m7*Ow!M*B{soA z7OUY>@sZqzv$8=@{jeO`ieIIhOH?^bhltgHZ8zu9e-!=>ej#I&sPrtYZ&#WO4Ot(R7JuH^^bmR}hpQ?LM5CJ>(`(*dvIM?-hxWmv4A5P#zaQBv77kM|p}K%8YUP z?;)K9hf=RO|~2382YP3=0q6_4c0q6A4Ud=DTI2%7X`@(6She zQj;zb^kggQ0A@hSxEwWTB2ASOyRz4#Jtw%dSgK!j2;!+B>In!>$cGOq!hE6$3_dB) z|91%oiC;2EbJAD*i%U*TvD^YR0m)~~M)Sw5PJfF>r(*?9MrJ=5#`WxUJ)}MMpLKY=jEzeH!n^38 zDuzy6I~(PD4%Y|TIC(8Go_dFzmf=-O+*yEPGzRprJuNmKB=-QStM=}q z9x=WP&eb{Ljo&)J#O1_4VNE5CEGqBj>x+M{FZ>?;G`&%<{ZSL0=E6A2zCd=XizWLf zXj|Qh?oG-C0mw$VhZL?q;PL^;ajAl_vk|bpSEO^s`sSeA>ITX+<5jhHf|{tkgrGlz zsbh3Qex7zuf?SviUtB#!=@WANdpT!1Wr)|IwmTj9n`t{wRniNGkoA&CRiF z@r&ws7_0{g!VV=)o&rlAx3GvjoC@%pymSA>aHEv)1++N}K1|udUli79_4%?gXjU3_=4r;QZnVA>xjP@d^hI0;HUQ!4nh~YM*QL zMsl`!)pEB0#>Pc&)s5l?zxeSd>mt^1E*SIfm3*S<6A?GrN~Uf?spvG*{TIHLC7UAq zwJcF(ayQF2GU{H|v+Mv5?KlIsft1i~*oX3Bq0t{n%7)1*xFy zRsP*jy_+CE!u%O&TQ=()iL?b0NeS7{_jBV0A!{^LkQx(G-Q~n(YNmetkZAUkqmX%Q z8Ngp+*^dYb<8q3;ab=`@P86+0{O5NLwTL%?5!s#Aet9xj@eM+xGSwH9$l z@Tu`16pWnh47|z;*d!x%Q9iS4tbQC^3Q_l;ahN~A`{X?PX+}F!O(~6>h*a2}{Qr5H z!IP2bJ$GQ_cFYdkulvRCfhY_*k?W@@tqcR&cA63M7HMfk^N29rB}`;Fk-tW&X8*C% zF9!wD$3M2?$W7bWg(dqLp+2q!79KGAgALXFrdP*8bJc=k@&q>;6954E zQeS)!v5piy8&FRygdtMGh$9^V2YS2TO$NLc`ATXWhSY!@fa-dy9vH9#3TAUhG|F8E z6JJd8KhLcV>;YkzNZTFHFu<^&Mu&ucHY)gvGKhE$^Mx%U8O=9m7SIkkNE3&T7#V4Oaj=ubpUhYdogw_=(rvj^A zvD38Y7Fl*(DC0t@-@PUOq@Ja#f$!jz=-0YyEp@Lw>qCUMBi;lMSFuy!ZMC0~aX#9` z6ka;mU6k=Vf(;>|fAuwjv~Gzedi;&pwUK+4Iu7S_im7$0)z12Bz#_4Uo7q`6x`$U} z4bB=g*d07J&>cLjUsWLAPlb0nxHRzdv_YY4@cUx4s!03U8|u6y4)iTM-;!5&MKH-7 zjBV*IT7-`rZiC9!rf}Bx>a~~GBMl0-$#a7j;L;Uj@QK{C;}FBQc!P&-%^I3@Yu0Ux z)cBBp%dNC-^65ofgw7X7E6L?m`^AQ`$|3Jc6i8MmB^YZUX5I zzmCOEwcEK6rDV8`S!80kjF#$Sm(`=iCymFTI0v39xv)O;j<)oJy>xkFu3agA7UgNM zGVzt?gZeLGmdbmC{_j8nH;<;O)j|U3C=$X&0i-Mu5{7>(wS7b+3o3=P%9FKrN+XTczlmBLZ7m^(R=~Wg>RO9 zXUQ39v*9`ywALCK*dab@{oe#t_7(F|1ZAP|Y#F*F`; zfgZ=lch?{-D{qZJyV6%6`H6=p-Q$-wV)Yq9N9q!s|B6~iAIOYdmm7$HOR8TNCrfd`VU_R+kwp?%I ziDE|?kN)LurHuX8A;uMp;iFn~?E-fke)U6^-uovUa+y->V%C9_3w6KxG}(2Bp45u$ z3YL^G&d9Q080XBgSX3XLF$f^_)k)~b1oI2?Wizl`gzXM}ZOaH4r=RTvz`LxdWi0p( zaaKeK(QPsM=Nlpjy&#Z?(5oh-$83=J2!ORt1>Vi9K0IUN=eS02jSZn21Pl$`8K=~^ zGHU{Jo&pnF2je=?A~LRqVKBKSn3Lz*$CZt8!DAhqYrx~X+5qr{4ZsTK3t^g=0Os2O zoHHCvf$qJIcHE`C@{|u%!@WKxLas~x!eTvQcYm)Rbbo%GtdU+t}vKC%N1<~ z*90a-fjJWcFpX?rcq>5-YLN-1aZO-$VF`jZpAyWH#0YIRGhb*k+XPeEq6XT$sKDGs zFw<;co(_WhuXk z;v>y#7}OF-C(!0mf_cXV<{Rb zg8A_&IiZ^*CEo#pD6&YIhXYnu2yqG)4)hGv-iTN{!KUMBfX56tNM~lB%06DJ4ALL+| zV@ud|W)Ak{CRFnmdVw_%1|%TH3Aj5};Ziy_LGgiA9SCI!p(u>lHQ^0F5-Vnmzg1iSwm>6~DfFXd1BdH56T@(TZT zjFqf5LHUz7j(Lf9N+N!O{BhjCyo^cww>!(-!T8lH8Iz2+f5NtbGr+wAEVdaDTSx4D ztxa3Bp;MlQKCCwv{D$3MIf^wKn%qr~Kf%n&`N*4#JpIgZN#`Ivhv@?$3WF6pN$v8Nj* zTklx73<~Sz1johZ1ofiHZmyifZ$H5L7$_UI3MjuEZTNV%Hf9oa_N?}pw5(8$3zi)n zUU=!w`YvQb*#M!Z7k6q(%4_r6Iq;8!x_em%S=~BTjTE26`*`CX->|jY*(4>Pm z6)pf99)H4?fQ?M1Ow#vZp9T=;S$OO~q1J3BR(vME1rdi}0{qKwK_uXs9)BxDc#ZCa zo(eRG!Anf6x(o^Q`-0hTX*T?`cwi~p1#X{toftcaooP>18Oj*_2j)DO!8un{6*41g zA_gY1(_ariO4W;5AosM12=*)MW7_wX#A5RM`gKGjve}4o>ukR@he9dXg zH;L@$O0$#IcvCpuk+6+(v|HRf<(l~vO{by-yqu4*T}`{NXz~F3Od;H&1&l62YBaV4 z+T=`_wt;(5kfUXzIbc14gtlN4>d@+S;YP4FFqw2+=WB(p=`;WuLhs6a{Su6nFdsO(N7fhlU^)tg51jrt0pH{W=d3r7 zh~|gEYI+Ojksr!0RXqJN_s`lGEH{MxW#gPu!oU_PR(2l(SA2Vw;)+J(3Xr6SqIs7U z$H_wA`)5_m0z|hk5ZMLtbC_gxj!NI{R$;y#T7dd${1Yw$6LoW~kp4Q&&{;^NjZ`~XHFvP-jb*ppgEkcC~W{>s@jlri!k`a7DgMsflA z!-qD|%#D-YuJlH{Gbceg#|prMXn)`sH1b4jqKjq&Ec{ZzO)z3)xL+%Xw-e&O2@yUt zYP~m*FM$6g6$Sw?pm)|UxxtA&vvcNK#HJc~z0=i_e!+&u#6a$_z0c5Xsk0o#p3VltV#T)Qp z>vOt*AA^g_UNhw;mVG9deef3Wyt(#_{`hT{yR|N#~WVm@aFFuK-(zav;g0mGpO zUdAYamsUpQo!AsY5RV8!OSRx41<7KJ+x`^O5_E8v%IqN%vO10(pLY@-*$U$}=@Z-w zb$5{Snsz*T{YC4yJ<#H&ev8weOp9KBr6@Gl-+cfJ{RUZl)H!Ph25_C0bIc--=(jk1 z4b&s`TO39c)^Bn8-JPv$n|{+ABmaQiQd~F*9GrdtjBpv0fO0PQ?&P8wrq4i*a=0i~ zK3K}(DwoSxS696�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ŊT@oh5XX}3ldP#{9YT4tjgNs{OSXw=;ze%1y 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π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

#_7kS6`$ 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

+v-`-7Fq`{mvf1S`uxvb zoKAm=OJ%OSaWiNkyV$#C8VcTsRr(TZ6i-X*qNwOiO=3lwxR?lo8`BDFnc+7C*Ibq6 zI4c7;zhQCWsq{*kaD0y2o$<~-9qUUwJ}9nkes00kMAH^-gQq5tR+3Hoabit0HJzm5 zOj0B=eMVG_ri_Z>!WOoqwbWl&4XXv>9(=nnB59Hw2j^71uxjY>5sn6 zj7tO>iFXpr5svGkPs;244&Wp!MOpevW{bVIl7z(PLF{vjpKh}I;gDogD5Rd}oft}e znG#KKdNHxG9vym$F8{n1Ky?ZbQ@v-IGEJvcyx7|)bHo>pk4uIEG(Cw4OPv;~ymwaoRw>o4ix zvymX|n}W%Y=q;xMapEF=Rlci)K< zCskv>n-!l~Q@GnknCw-ZgOL>M^Y!>U8?IU+R|@-Fg>F46zHUQ&@ge&59;)_tdor;+ z{`Q9W2Lt0BgR7f+kbHm4VEI)X+kt-vdNt3AR5ANeiOun+ita8+yx`TWNxT++s`&0Q zujU0wkVN=L+P}{65s;gYksNQzmp5cP;NheU)JiQr&V|A1y>!GW`o%VExz|>880!6+ z;Jy>|994~6Imo%ea?mLdI_$bZ-~3bkOsn*H3SCT_A`8MPe4L^mQ!uS~Eq?$YgpZ_& zmw55CV0mphAZgZZI3V{S;#X>nPWFf=@JWt5*3)gWR&NLWMgk1KB~NsQy^(Z$@0Kfb%xd+4VKcU_Yr&0inv&Apt){Y98D zxK&+LQ0Lvb+KV@kR#(MCjV%)YqRI2SlV_CM`9dVI8dF(pU2WCG^4V|HCMH_5^@%IG zyPgeBe-pa;KK#<{&(?RDx^88Z@z>-Hepl$X5=-m{1Q<`B*JHzUu$Q-%1EsgIdQKqF z{SDl8MXsy2DwyZy;ix%{@jy$j#u2YPTOnkE2zus%FQtSxoL7Ec@AS!(D;#LtB{H(E$V}W^b2Jv zu1TbO9J@L`a@AUSZTHBBkj>vy$#sxP{J)z2&*cBpC7&$-$|p!vn2uC<2Or!PlgP*x zyqiBYJ2?Ij{C+;3JzOC16T|Qw#AwZ)bA#t5nSynp2G`k`wP0I;M}_U zB-AMRHUDkqe@i7lf_F8ow6y-gEik5bSc90q6$E#T!A5%=G z0>yP*X?$^lKQ%sTGABlmn>_w(S4}@>or>)aL*AKjvpUg;yZL)}HLq(xESj7A$&F7n zH$^8mF4dqkpmEK!4x3145}HxO%O{L$9#hHp2I|?1vUQ1fx_*=4OA~yC(Kt6gvuJYT zRhcF-bBfO@{)U`EOo!C-h` zJ`9ge4Locr0K9Z^W4(a4zXM)P2)uMTQ#E?3Z!^^EFbQ(3xmWf8 z)moq`e8J*qvS3}})3yVdh0fl5?wPsEr-~QnJygq^?%>GU>O3^jp;!wyHNVhbEMM-W zo_e1i28UH<#V_(`h>#M#cem2ef4y&8#}5S_lUne%#0DuUlqkln!hS;lT!0=PY*YFYd>viZ`^AU-{7ut zHy1Bb?jtUDF$S`68+=@?gSw5mH~X%kxcAVcvIKtW?Li-QKz!|hG5B>V`rsH$T$i}X zwd@OY{nXLm|9C&Xu9^kwSY9xh+W15f)!80u;7c5O*3hr*tZolp)Jk1m$eRup4t`D0 z;4-{KM6&bNUKy{a_azy;Z*CGM?!rfN(+GYIrojHv}mf^X8rk0>x%pW*04pyQ244yidw(f8p3H5VLY~O&9e@u zoE-Zit%&mBdTPz@(43RGHNTAdthv{^SFT*%x~B;h*`t1pC-w$sXTjw3-^pH}{0G!- z@BBvu?Wu{9^tIM>wc*@~y#Ceg-Au@hcg%3`EPX5A8GJlcW3!1}EtqBXAveBRf3x}h zjI3~enR<`YM|`$V>qn{Hf=qc|@UVx@xrvc})D)@le)>cZ85b)*{RXA&$M-G80ZD`G zYkh=pb>rN?q8Z%P%{zSL!QJ|KP6||V?1HE5V$@X)9EZLhe4jJQ^cPq(rW(xe&D9g3 zI8Wodg|w+|^w(K-we?H>tcz&)^YjcWpkZCuJKxp+iK{PksOz0S>mmU5dHOIF$N`ga z8~@SE7r0zJu>zpW$>kZm1}`4nZZC=UWVXGIIpt!gAn)(z zIdqyvzPwq^fcnoL{?&-~t2)$$^989%T!ykfev;jxxamSg-RWzMR%!PtI41}26QXA=Ud{de+W--t+twe5j#c#nTK7P9XB;w)>%j5ET(0~4N6a)7&==Tq_ z#Kd?+L?E)7#NhM$Ed{}nlulAu2lU|azG}!|b`)nDsY5S57vW{scXe9oB74XlNzqZj zGgvdut_WV{E)}<<@-FBWqP78I70Hqf4O$Nba>2g=V>lCeEk~7QG#!53%peaFb`V z!7*-1G259?MFW~iFd9U?HP_3M|O1jjDShGPUH8#4C08UGJjYjjkUf#U} zt_Rmb_*`l914qu}(Bj?X7||K{ZGc)n+XO+B#+Mng0w2yh+EF0N4^Hd3zi=MGl9f{R zLII^31j*D&-$p5zNQ;I8yicO)IK=ht!Z|1il(GmqwIv3t^hRq^^^cdo>F=OLs40uP zgCA%QCzd2@OH-4!=nmO6+C#MBwOq{)fSyU$ZKQZNqNc3V+y)Kz1HzSgINPy5-F0r z(hpw6KpJ`ozw0MQ3!)pR^<~fUax?3KS{l)Jc5#{Ot` zN@$?9O+(aWSFe@3FzWLeaR3IKIV#Kynyi1274$)x$3M;aN8?-TC!WnXRWZ(qVEs(r z-H&I2Y!AJ8p|PG1HmY5WD6tV7rp_E@!Z4nqxXjli-gg$~^!OKzk0>wW1El+WIp9(C z7t6ZV^djHr54dx0GYl+z6~P~zTT$#H%~QKl&Z?t=M}O9ryJbt`-Tl0|_I_(>$D)(D zB)QmcD7t}=+C6JSxm5eOBzZhG8Lw6Jf%&P8;8!9=z%5}bt`+9~Yz9~hMEsaSP4)ss zh|iJ7&Z3Q}3k)c41t%FTG@#_$Km?x0zY{#=F9m!8^n zcV<5*Kk`_Dz5qgX*MeT(qq>?SkDW?hx{)<^^9((9XOkK{vC3ShS}c&bp+Y6)acEYw2CZWUa#0tL+?0IPmvJI z@N3|IHPJe<@IM)>YAjlwH#T(1jHxJG8FH=%xk@!yl8R;xBBo_|A2h;A^n5RbteKm zmhZ|o@gks8{CoyFX+1V;>q<|WO1vAjU=Y=fu)RaKHo0dhrWx4;=j@(t&&hmm+mEPSwx4^UHDNy`r2EN>i{rBk zcH{oi4gvzV1J(p{tqk`mtl}~FX`KvFw)GsbF>ghm8!V-<87Q%DSchZ7dXudl9+V>7 zzh~6CRe;F^nZ|1=<=c2QF*hoMfv@E*WDW*xCDlc|LA7XmgKA6kPZ?W`Q+zQ4eYwjp! zhVkz0F5iKd3H}7h^Baa-)pkKxYbgXtP1R5fy4-e2n0_I2N9j76$w6h~YA3<8?g5Sm zrC4l0i?bM}=uH7GvGOu`l8)oEOR+-jx|1O@{*>q)YV9qG+DvN0ZuSWWy-XRp@{t;P zbxJp3*7(WkWx>msNmcL9%1*3rlaL1DuZOibvXFk4mP7hjkepe~GPFj8Ff6-mp)U55 zP^T^&!Ra;v_Rz_$sXykLx{V@P`9kvv$wwJfBk5PmZw3b6gXECO_{kuyb8}DpTd(y` zDrKZE#i~;!y`WCap*4B+kW8m&WZ)bW_o695;jZpYujAa1kvG=_ z2ZW;@OPZcWxDqD4uI*xm9(?A;-ST}+NdA7JPFkNypzrzooHi}^grho5dJD~{jB}~6 zQ^&J8b(}ISJ%$`xr})^rmzHUPF2;8Est%yt-hO&_a7A|!>JKuz>XT7N*8Rb_7VS{1BEaY1Eu9JvB+|lCRY&9MJM#NVEt2}yVw@m;1m$p z*=<4YmqDVP$et(v+FeMmHA3O=E~CLqHyMYL7Rn(rN&;MuZLW8b8sRbH)Hos&@-*CW z0$Xb6sN+G*kymTA*c7ilqr&2q>F21|i~fb}Otv0v`2xjz5*&|qZI@Wv1HHMw*6v9S z{pL7pJMUe-9ba8shJu9MD}X zIItTSLdTnm3nPp%xc9~G9(=Mc$)NpxpqDT>4|5%Xb=V$FUR)Ag&iZPFIS~pp2KFdU z9rl*;{8yBa8egdk;>h5|UHgV`v^)FjYPbu3Ye?%(VOV-pq+VVuzoQ=H_FH4-Kjc6J zCiE2hGs#brLwEeNBb@g!;k-wz%1t`mpAk_m-c*YF{97<{R*(cR2-2N$(6sa{bj12Ds$wOk&^jey4`Qy(vQzt6ubEcGX|ycq5N~ z%_xp6x{X2)Pvf6Q^v|}U&&_*?v*~=xE*1zMKJ2d#b{sI&UYfs738@JsddE5hZb{c* z1=14?>#BgS*YYtFhv^g_lf1ASIqKtxw{WR{6}yo5CEIgI7u&zK<=xni2mu&P%^(7G zxAqUOR&dr>610EM5u|n|fE+Sn6%920Ry<6lIE*M|fx3%>dH9oPh_||Os$81B+`->Z z?igt=bNG3NMlAf4_?fpEYA}XH{#1iODATHzcEK49QN0DCE5R8V;uLAIBfCi1kF zCAH%ZX)R9^p^=hD7?kK9YkWTj?{H^-iB4!D%`AQh7T3|V@XE+!*K?LPCCr`no-noR7R##$^G0Rz1i$o5033;b!|b2uo2lOr9aL~sL(v~hXb&kRA)g?$ zt6jP4UAe1zmpi($E_vQ4SK^F{~;j2O-S{X&-TCr1^qHeFLNN8OtQQ$co7)YP*{o`O~m$YK6Cgm_O=Jj zZ28Esm@PjJE@)@&*H8k9j-KSwaVrsboEyioUS1r~qj^QZ&i0q}pVM#kj!$|rBZ)kA ztswnRr=)fLl>mH^#}<+#m2S~Ie$;riYr7Uk9y?9tu5$`oS4-rvbNNpHLaXrD+4_00 z{X9!Qb@&^3ET*5Q@DtnXix1c&X1huJ`3Z75bfqLY_7Ru!y34svId{37J6z6fF6UC^ zq{uP4@VMCTh*idw&jA`V^mA8y+%X2H@hW~M#lw9vyA(jz2^!icAO%sRiL=&PMG~(% zA$vcm>qsMz&YDIj;9z{z?q198?n>OK~{l5)&;&zn{fmtGy7Awwi>5H zm->>nI~b}cMsiX`P`BO{xR3(k9mX_nwT+I->&?HIpR6o>4nmQ(P%@)y3%pdliX>yp zj2-N1y)?cBJD9~!Cubt#^=xpBdo+%sDas&Y5o(@D!^0EuNP}?$!7w-?M90@?Nki_% z4L)8+VrWTwm;xa;_+cB#vY>qzH@HC!h1}qLdH`uR5|ufm6i+io*Ud2{ZBxiLT4J!N z{3KiIPgZK|Z|^s(xuwpQbo%2gX_6fAztm+C%KIV?q&qCBg|=u-=8-xkCT3j2U&39^ z*$yJlJLGD!;U$~-%@k!^XXeIrh-D#dbburh8i!#Qw3{hn!)%F`#vpiSxE0%P` zs;;*&ZcUzqb@tWy3i*fuzTc6LlrbPoT2o<=EY@?Bq||todN5mRP^MG~e2G%`s1yg> zaCNOYadm_cA4hq4DRpv*_!J-uelWx_rynpdm{WR)_E~D|DmF{-lWg0|9u7y)f;dIn z^=<^(Qo)FWFcl{HJ&-A~1LTz=`??}?RAi@YLoJz7H@c}5Q3~$&rHy5-EgZp;wOc+; z2YfybuPZP?EWJz(Iy151hsg?>EK`Of5wxD-Qa&LA2~lcUe7?6NH?WIrK>1v`mvsP16JgPJ?)cs44sl zRj7Z_Rr)-AbAMnDT6`R0U0{qj{Uymc)$_`yatis?VE%~qhmp%+0>mnMuIF5Sr3Rn3YEJB8ALtLN)ga6Q2lc=Id6r zH`3pJ6w+f>>C?a3D(!o;t~fgzxXH08Gg4yNcMG_%R3~l%B-^=)2MNJwX`qaWL^=2*ugtIQCk= z@I&@G;$tz`iOO=sR~|u%u)xm#J^fPoD4GosVlT?s&ekTh11e-gcj%Yl&w9^$1-C4R zuaqU)o-kIF2k!O~nOsrVOkTwb)pU|?mynP!qKTKgvgi6Ztw*btc`d)DcjU68lQmzk zr`8)vAJnCxG!j^LDNk$V3`u$M@9I)>DrtDmm~=TUPhF7la^+rHU4p1yvmRFyvB#n6 zYBqSodDZ?+cW|S6*`CXkXiBj+ux{2u`wugPb;2T`+S>k$e{{8E^)=+_;Ms;;NO@g( z#D&Bn!=JdUK-Y?D*sX~rxcRCzL|0;ECTd=T_l&2nw;JD37g9i_6TkC6*2PTTHCiUg zsO=mEq7gpzn2q?y+eF@yT&+2@>Gof6rxkP8YD>4iR$Gl=1$XjV7h``2by+R^gM11s zt|@${+Rjs3Kl#sX={RZi+1XjQRx#`Jg)|ewMd!8A#IrK{D;R;Tyl!>tVx`YU^OJq# zlw|tpN>(Tv-wn$mVkHhBMKVd_ZvFRCr%hu z=FR^(ysfjQTvxfd*;-qv7cK4KjZ(e!f?2gER$=#}Icsgx?y93+NpRt#K!9VP5^Z)9 zh=mByPl5gkbBXp^F4sUwN3GI%eckB&%V+O@Y_jGfZYz!2J$7fE&Xv{&3&P^Qa9VNr z!m_hol;>OPRU|jhDnAGzYlbxl1{HWMB0q}ocVIOBMZ%-+EG!Up&Rm;@IY=dWs?r`MSc1=)WHZ=kBd1h4 zZh4I{oAs`Ai7?D-`9$lZ1Cw6PeL^xFLiEMSy)8ute%~SG!AM9fb#7|s0(aNxxg-0n zR^@Fbs#RetFVFJu^yxyohAlEeUPl2PGkKT1-T`1J4W||@ro?QR&j2n zyB-M&abe;0uF{;mD=2CiMxS0@Jo_j0$#dSqHFZpRLF0Q8qRR}d_S77}9lkjD2pLAO z9mzfsK43?;O&c`4?=p4|Gc?h#*;)6PkTj4XX()WP;jh z^ZAH|ITVRAhG1y^0FI!JCIW2QoO{Fv!55G_4SyJU8Mu4bU&mMa5FnBrueWfC_t5L< zy+||B&x}``TRtV=UXKu`MqXik1zdZ|Kt18s;I{Y&K{D*U z*Lst3lY|;eSiGB}@^q_Gww|b=hu3;MfHH#;Se-tMf;s#Tud4fSyrB7A4X<%vj#VlC zvd#w;CZK`1EJ)#x0c(7U>907-P1>b{y-5}hIH5oLhNF^9IzOEM%a}K#b5a_*f;$d zfFZ!qv8+iL-{_ilnYdm2wEw60Mr-rpuJo`V!G-rDsyxlFJbvPs$rl#c#)4T@$k;@b z)}nHmSz9V$4Bj=r1eIm0X}Jm_5byT9Ry|*(J2vhd>H9_-AaHWM4HM_@NTSKEve*Yt zJR#XtelzZ&VA(mr2rn1p&l&02!qLQl`o!!h!R_lD3NEA}Ip5Z1=#z|IsvnJa_C8!X zYKor#&&Ex$1E##grMl7hRC+B9#^&UzZ0AcGii1&MADT~H=6p$pj_V(Co$pG9oi8cz ziZHPci8lMp0n`0?g7l6xV@!~C2TZEg@K4v))1o@C$V)*8rSISfa?69HYs5~{m$5Hc z&=#IDd0;{~@8I71#DdZR)kVK`-q?B<9}yO!xb@?D*j5RVs7E}hqtAsMa1gFNxDZ9% zbP-K@dZdcCLx0{gYNgk@o-`1&sREsk*P1>kM)U+9b#@Z0W#?(BN>vZzKz-F0jjvN^ z6S66ET#l4$m`b47$tt&jVVIxjMw^R{4s_qjN&L=rXQWfPf@N!66*O$5_Ev(^8XLT_ z61#n8yz|lw{W1zGRV}mK?1ft7z7VM{s|?P6Jf{%71!4;+EVmb0P2kMvO3sXG@d3Sf zN^q!Ea#qQE!b&69o}X=vjuWRCM~No-*C#HY68sy=1j&hJ>8J6}-lJ<~PMo^~AzV=g zvUFONbIMDqy@ksNzWj0eP8!L`^9D(EQIZAcdDchlPnq+l58e6GrT1P^m!q2>RSE}hfS(fm^7+!lN3EmuZw;rz!^N7g4yGo>s9^kJULFhrN*6!>0C_lfrzj@$616qvt5cIIW81L-qb{5v(>Vq0uTnk z!gQxK8Y2VASO7iI3-~ZUAG(D0Q-%iV}un7diG${h%DGPddcWo z2bq|Kxky<~q5S1Nj1s(`hw?A-m{ls(edB!&Nq(a-nQCZWbrLXL1nCcgb&2+9;yIZpR>(v_)V%t{ zQWVvf!bq7p6NNY5?qMYRN2^wN^XC|v)UDvO?a9~`$?f7_m0o_CGsnE}{-(}?g7*t! z4fTmFhG1AFQSra9`23*ewmwxW=Gd_v${V&EQ|p`mYKv}>x3)47 z)F-~_8esJ}+RqLF-$%>jFbZw|}yjf9szO^Jn^KELp4<#O6SKp(vGx zRQad2MnetrRqPZi=5*Wi9l|_kJh@RnbAGNZd}iavLphyjiexkliDpO*#Lan!Re?Bl z$pg6^h5djdQ*XZFe2@4TaWTCB^sxEKK5@2azJjU2z##N*YZ_7)wTa&_JmSpkR^4J5 zQbz!ry5zCb6bj|2R8jjpzc6`=-1uq|GhLXux%%RN1<6~oVdkJkX7*YWy!VQsLQ5+J zB%#WIT%)V{GWH`Rs4t4+KjuisnY7jf|6`?Nr>UgF#V;FQHQ*9*`5X;>SH?L69xw3i z_7{UP?{X|FB$@qW(pn!&c2M1hazccb;4V^ zcD}#xb*hv1KnoYs-!9#$!j?! zteq`ay;VDs??c5#8dha+A5Ca)RBEI$lT}+=m}kp5f1@_`EX_L;0ezf_V~EsKxR;0Y zU=o7#v3h}#7|sQ<96Q@H5Nk#HVYFWB5A8IMgLh7`(A{UT@SOefM&Bf1aIpL?XQU$@ zj@NRq+GV34^8CV;(=y^@E?Hh)OvG=VGA($=p<7E|D}DkXQK5!$)8pNPz3UeO3cc3S zv9_q~kg&JHm5HOKFRz}dF6$C^G}|941r-kCS|mN$7EK-6IyH1<+W!wmYY1qn%+PGB z`yYcDvxXZd-TdK{_}1Mn@nUPqm^DPLGC27~mwvJe|HO?a_(xbcVudwfT@1U}<;JH? zFARFZf$bHRusNFdp`d2~83#bBrv>MRZGA~?n*tlkhssn07yLe)z-!840y?GESdWMN zXabA*CN2U4yCBRN73SP+-ygPJ7N)NaK`x@!c1oDoWpIeialPhz(d1K)sK(WGb@F}I z0~5Kk*pBKNV!E+pr#$^w7hFbp^EVl;P+9tr2#&k|9t(;CohL%y2b-up?hcz+<3EkQ z8k0O_Tl!L${Fzf}gT;T(ZO)fLnr${G%7)vWC>!DS13RX@C%M}QO+rt{o!c=HKNRfOcWuZRV zgbYfE0-X&jo|SDUx9u`}jx!2akp=qWJnfI#f2zPzJz!i=$}=(_oA3-Qk$K*BhUVu&93p*j64_o8W9^sx5)%w$<3F;gVqG+ ztaR1SAziR;Lxy4dg#dpj58$oxDo>9I>+2j$^~=Nh<)n*hwjCVqw=1oxh%4vpFJgU8 z7g7WvxrGAI(j6F2daO&L&){q1{q)(n?=F4If!oQ|!RvgByA`HKVr^Yu1Uu*?QN*S) zJmZ^45kg>X2nGHCp3xXRx!_^l8XSOee^U7t#yi#fp7CAdue>YYwoQoZC`trvDh zCW?6mLVru^8a}HVUFlt?`?T0EO7KIF>D!yXhM7?S=Y8DiuTU;_!Pa6Lw_8>KO!!_B zeDbV=`X`tKlv5^9z8WUJN}{$$+l{mqUrb;qg6Dzbfe(q)sO*gBL8~hC&+wZm(+u-f zwC(3qRafjUx!iteXUQx6Metirsny_p)TkeQxGj~JQXqMekn|V!BR95^VD`UVh1pav z*#0sL+w||YDSd2M`q)hA8*-)9Nj@(44IlcWE4=G=$>D+`c<~53|7LOFpbRd217>A# zA^6}KH>wZ9L_>pBVd5$hvuFSm9VP_hf9L8vXm!}IZmB~yE87gd#7OP0-|5OFGvye8 z_^Dg((7WJec$45bl|tEt=?D{#%TN4km^em>KXpw7w}gp5$}f4fOLS*GJX6z?zm#ii z9R+|=yRW9s)7=7zv=qUyLYScQ;OxHWc-jq;lYrdX1^|JNqRru~qt(MGni3qbh8pisH5~!iwBD{_-0)j-RRG zP|D<8fO7HLEj~V)J~!fcTO^T=BwjSH&6Da9%T6$-gyckyyolGA#JTUGnZB-D)+TGq zBJJxf*a*kG9~1^Z506QIPxpwhP=FHep;LXr-NfH1j5HJ3&o2MAVAzm5m2OYAUIcR& zp`7F=2NK4F`?eOicT;d8ZX4QwD<~O>UtGb#U{ht#bd%WH1XwAt&*NQ%Ug8bVC%Sw> zCB>v8^>%weuXbJmyuX!s_A0bS#4-kE$6e=IEzjD!64!g)|B_ur{M z=gFtuu93ysvctxmIPrEk?BC!?C)|nBf<-1%jbg)u*mc>poQQy^`Jn66B`+z7%K6?V z8T@9Un_yjXCduoWpycE11SPlZOVb(&)_X!6Zwg+6`l`#%RM45K{)eBT)oLL>!=vy` z;;q3BPrBk?gAS48L~IEcR|?QKQZQt)>w}XW&a}KtA@e?NiwnLScbxufSN$<^3|2b# z(30M(`q8k|E@6GyeGL^-LoYj3k8HEerTiGzpaC&Edv2pChIF3q==??yQmm3F> zyKNjT=ecoky3>0c3LYUlX=WUwGT&J{-WjB1<&PYqrgbd5z~mNzXNd!R>qVrdf6S265?sj+AM2wr+{2@m;DkybFN zySiO>VfZ7GfO{gxj3bznPYXIbg$1z-aMMFS*~mi)$O->&i6@g-YMy+`;cCj7;1-uN z#{A*T-X^)tX>!Lo1^|@Y;|$6zuiOBfm}$h>>&5=uA4=z)=d@UDYy=SA+M7KYQOOc z`A9_`A4Bo%wYs(V{DP;!KQ>%jT58o)*3F|SVa_ct>0Y%K+JOwBokg%^;`o{QgB*U$wleVvGs zytH%&d4HP$caWKS9Uu!XSZw(7N{IJbCje8k)tzZvLROlC8WGBmuS=}b<5ba(bwuqz zK_Qf;fGw9gLA|iu*Yi}**$tdXV&cHyC%+4|FC976NoJA}uQZyNSRx;eRXB5$1ZOY* ztVduJpD#&23^Irh*gFxfXY8WI!C!wXBVy?8DO-&i;px%T%;L!MiT}+bd06h9lZQG> z9~br`pRYNUZKpH9Ab_@sSSTWbgLpdNXNWte?uF~|6YRQR5(Fo$tI^TaOfdU1t8GC2 zGc5@0qJ`5akk)yUx6!}b(SdchT2lq)vE75g*AN^Q6*`zw{b%ay$@ zSGJ#(g;t7(Rfs;*03UK#)KZjr<_+K0&r zBO~s;DF#klh-)k~!NC@qV8l>}ilq8nXab|hCBXn2ANQKEDu(cms5Q|bLI$nP(V!*V z1)1L3-ZZv0dGgF!;mYgWBVcKxS9Q))1q{S>g&Vp`Gvmc}RKgX{4Jvv+MWe*r?g}qo z?8pq&1H?AhL;9%e^Z8NoShS28#T+4SAD>f!U*GE8ndMG8Ox(?Y91iq_wV>wv9BE3@ zmW**oo7*JgW&YHWp5}v7OmOWlmBC%jrRhB=o0)I&nCT*x7s5(-Tth*wAt7~zpCvDy z8Q;>!o7;D1?n~f+c`gO~Gia&Qsr zrC4S~L?gG@>A?XBw}6Q;pq@K}{{uzBGkEYwUgp;zg=hAUxUqO1M71x1p&uW6+%;u@ zpk)d8=r{0q`W3&yMI>~QIXT;%9G^_Lx&RS|_%M17U8?Nqs;2##=%0VrPs=p|gJq^6 z`S~G)Htnmsz9d;)R8?EqvjcP%)sXq>1>qFcof-2@CR3gj+B zU1Y&S_)B2R%Dbxxc2c3Sj+3gT&4f23uYZob@H~T4*5pmO^PeLbr;ObX zi#EGBjYJ?RD(4?)g8f^j^IG&V97uI2M0kkrz2uhZd=Yw)y5yk~8H8=GXItI4=hc%b z*U#Jm-TL4kkS@`e5mwPDs{4vnC|0F1B&z1D8`=_0VU;aVX_s@gjdXo*PMGtq(fVq- z*GO_EZb$Rek9KF|DxyB*VA6U3WX!QX1%S!pejn}c=vy6eBw&2bBSP^;g0ug}jq*}@ z45Kg{8z#v*f*}Ll^LyBX#E>@+<8}1G`mvkWx@kvsHoKH{dZ-lc*;pn<_C1ECQDab% zayfT<`vxqDHR5LttJIyb$&H(G^hiN?BFQ1;*3|%riFI`!(@|F~TwewhV}E$Li7<1K zI7YOqwJ+zeeeR>3tfm{c4+Vs+2PAKKj>2&6xmeB8~G{7R6AH zuN^oBjqheYgYthl>=|hm9>k#&7{6BLN;p!u&O6bF8;}WQTVdw+Arey;=sKJ6Uy6)a zm4~?F4-?`VQuj*V;SiTD@}|Lk4WNRX|LI2aXO3Vp#+H^s_`bH|FUT}|k@jSZN=SUu z#?yGauE~z~%r8NEt|{{zuf@aKFc^oD*1wR74Qp@>ZYiH^&{bM*~Apstz2Uf8?7p zotwRzs{}JQf|sukM_|gY4Wq+rne?C9;W6B!rZjWO$7@{*n{f9w><4y$2kb|?bmn5O z<&XBoAu&!xpekQty*f2s*EUmIOh>#h*_wF{V`3@+c%)-PJ7^>8qcR1kggz>SaB#jU zw7{h9Z&ph(>giz9#7*hyB@ehZ%dAZ<^BqjF;Cw?c`~fUgRDDc&=sV*Ge9k%h?{I!0 z=^7)QZcxrXkR4R#cMQsLyKqo+%MM|XTnsWO1ZkLP+yl9kCk#S^6{)5zu@gGC%X42)Dw1Rtt_ zmkb|yCaSBfKK=$5w9`Be2Yn+Y(vEm5HWq)xjP(h>sFzL3Jzzcw1Q}DF?~B8b48}Tz z`NP!?%-^SZL!{6z2j;pss0~-PADN+R4)&B5S7U<_TZCAiSFoBkv-|@~B=)YVXmUUf z+4OK>>SdeGW8psc&acYIIe&UYA;< z=FfHpg(Zb&$B9>Q2!0#CMyvwhyE^ON zz;faM;Th?VF7#5fR7}3}G$ebXpWs=f%RbQ<8&{^+eUWdk$i`cIl>E@#c|SkR&wZJVVt=*Hx8YsHl%TFPw27?8qRp>T zx9wfKnEW0=hln;T^(`34UMiFc2J)AWt>d@SyU{V*w>T)ZwwH+py^1<4>9AFLG4X$} zDAS1^z|w@G>S)febPqK{xyt$PN3ENHWaj5$j*NHRtVuucIo-gYFWIdieW*n7)Yt+1 z?wS{#?{RfT3-%I6E z4nWp?q+wqsOZ|oYv9=!0Xfk%B$C#3nGJ-qiY1g_9c=vzWweA8_Zr5I5m7H*~5H~^@ zhgjhMu;&pnnx=4|0Uez|VOyQ!ICIvu-4>r8bsWCw%Ey>InS$%c{j3)!{5;Ik%8aoU zQE?(cf8N)cl3~f4b1a!v2<~roOSJY=Ek;KF!H=h5(sViU#5dzP`cN@j{wO?0*A*rF z>1=mAMm3$f#NEyOabsTyU9c#2+LgnZi1wm(=A0jR?Kvwb+qr!fon_a zF@R^)-PTDqoJR9}lNBa7&rUnNmWLtudIG}MW&~h~#*bv1{)k`j3wG*Y#u;ARiH;uN zrFK-AWNf(+u)c0WYtom}Ob#AdweJvYx2B8nl&I6io)Y#X$NuU()5Z2H&gf$2U5YOD zeVX%=A<;OJX$#)k&3mOs@RilKG8c(#Lo04jmTp{{HVD6!etUgh`OtLZwLVQMdh~AwjNxfg=Wo0^__geR6OQq-1MlXHsnARL0lnd;C zVrkA;Fm;N^L$Di_RM1!&(({w7CM?Z76Wgw^59g2V*r?l(@)2a{!85ZRW_)8LGlS!2 zhd4gP;rJ>*zBP{bq2bUg8bYO$piIQ54`Hd`0d^(!=mtI<9=y*lkSvP_Mz0MIo>7?$ z9(?_QfqhN-d`2{NL2yCLs-=$$4A1p`!&^lx{MOc85lpy^ z#R@6a&f!cg(8j3Xv>p4x0f+>3wwc9--uP`vL83hyA}$j8KjV7R6C4{8K_zg8uB*xA zAmciaHG}<&WtF@DUFN|k)!F?Q4#2-Qir$D5;F{p_KfAQKq$N+vhH&)R50Knn6j%sH zRc^b&6+DxIHluBi6Yl+EhB%efB*&pGgItOU0HtWx9Lkk`1dxEB! zuKjn&bG|gKr$FBGoHC+(IyxYEa3-Ee1(CLew4WdTY(rX62Sg$%Qr*Rwz7Q!4dc83c zf8UG5JI_r&M4?FAxl~T;oWSvIB;7Ji%|*hC>M~I+Y7Z~L9$g*0b>qN-jQ!$Nm{NEf z_wYZtVJl7zYLCJ62VvSFq~*c%Y<3Ya-G^6P!jPN6dEts|N684>rxff4mEUJ&L4LMpgFTYq_>C0rH+?v;4whwQQULvUlLq) zWp>yj>hZQ5r989N{|%h}8C+Txak z8fJJ(>W)}UcINAjNL zT1QJ;XR%w;_refDyG?N+GSugk4w~?_6(62&nJnc5x0Jz4GqS5Uje=Ow{PezN8XEiT zZ95eNe_Chk+z?`OT^obaT7DK4|y2s}AI>m441_5>(doYfRweZvA*ga1wW#@d7oF`-n*5dCA zp0X|lUdx-3y6hl^uhuuHoLjH-zxfPqKp#&ZfDC7|HOF_|8_vQ<;Rjn<7-;5Vc^KGu zw-Do^*#W`kO+|7qrJ9~FNfUH>LM=a?07A$>cWv0X{cwXpD89G6tp#X&EB!hAC)mgd zhDmO%@A8=wUhl(i)k4?Fa-@Ntfe~dZFpJCj365osnUbzEZEVLm7nA`ecM>D||Fhp3 z8vK8(y$g6$)z$x>Kq5iG6BPs%Yt*RV4N^rxi6#(qqKRUWii%1_5v#UdCQ20{bY_Hc z9Hmy@wrZ=kwpy=kRlI`XA`$Q6je-iI$T>y@Q2|lN|MOk@oS6w=-@ec9@AF9J?6c3_ zYp=a-d+oK?PF?v4v-oRzumdW0Um|8On>BSii{@a0z2S~nIWH~~dEXcg{UqK9zNVgT zM(`C01F`f8$if&QE_`I?hWtsWECJfb+8Q=M{txXCB`-xdG-S@lcxKmZ91r1QZZtp5 zS}Tv1Itp7kMiru^-00IE-_*IgEzFVf1=8uIrwnJQBbcyYJd)gfah`p_x4{r9`=fXazNS6@ zME!a|ziRnq{Y+3lnd+%$8$|ztxq)b;gXnMTso6{4Txgt!_kblwxz3U;^Y47x^?eE} z!{Ad%eW{yMLm5?dx!&5C=YPPv9CNo&vw*qp<)weiA6-)c7zplk3IyFSVuI5v4Qc0O z3$CWJe4!$5Sv(Jh^m=jlNk~hKM|)3Uxct4BS>ws$bM0PIVHBms`*_)Lj`Pptr!zS_ zCJQ}QRicIa_3x`OIR9G&Z{DHhuf0%u5kH*G5oDaw`~`2SmR98((BZjLZ9PMX9yj4V zj4M6p!kmr4?`c2W&pP%!hm56R$k%nH@m-(T@Dr z^xzk7HQ-}3;1%ctf8_)R`ES0b zU^qGX%PkVF5r7PsdsKfK4po6bu|Ld zq(6Sz&zs(4$@XTnp3TK)<>RDT6WHY?62NB1hFy4!=&E~$QPX&Z`NrO@ z!vFp3H=*qke<7A(rIukux-foGJ#LrD=f~0)SCT^rw?ISsm4f}(TIJ~**D62awMWO4 zM#N4YECYo|$^rhf?;0eFLsq(|<7#OPk1YMM<8@Z8ueyzb1@^EO$f!;P1q(AyGc5Ce zX^mmm8+b8=v&KhaS;_MVkTD0O0!3eG+r_n82;aWjfUi#oUvMU%m|rLl2Yk|^e4dO1 zICjm$vFaT+?+5S=;RY|9TY;5{jc}T5IQRpiF?gQ~>nSrA6a?FtA1~DfPIc?za)~75 z3PQ!fTStB~TIgYStb;{X<^G@%cGpiQHsB1s z%fQgmg1ne7od=AFlj$qakgc2u<p4vQ@I3!4WcZlbP~Oxz4Bfeo2#daIYC; zns(R#|KlUv`ILVe$RddFoXlYnUuYr4IhlQe8WJu`1<@0PH=pKaOR zg$5HJh3%alJwxeRduuk`obwA*PaqMn|MFW}*pV)@^e5+3s0k7!NXOn`%|M?K{ata6 z=51J>{-*1wPIz2s;@2VAo37{x_WJ`J8txa0jW0qp{EPLW^Xr6g-)#lVgXM*Fx3plK z7%K-!UOIkGTvI`s%wLGcGMAU-&+FAm8jg4k!ltFZ0w34-R34u|wIvEHeL zO*>}nV3R^{|EO_7GCj{Q5tDjI&$0@QmNSh!zo)Dp!6qMtXjWCLcFHI zRO|X$jyAYsUH(3<#iWFIK`YmUtw?5bbodG*_ZpD2-d}^SPlnkf%GzEQz#sg^m7GWk zieS~43Iy6J|M*Z~A8y5sjy>)4haK@P=&gI$TR&>jTPc4!OknQ*IgXMN zx?h81TdK#8aqrgYu0n5pC+ACk)!ONK4i~`{_>xU5?wH>+5IsA!S>VgcG5oL3)Ewj) z{#OS_vRGs8UJZt{NW3`!yfU440#~X^<{RQDyeJIo+;c)%94DQ+r zR?VJL-N|e*B%B_?u?#6&uO*J&mRoqZhV=7$9GEQI95#!UXz{=6_(@2>@I`*a?uGw+=`?=3U`mDR8BYjr(56_oIvmEK~ zuGV8--+t@#ZQj5NR?$2{ISDSgUbv)^4J6bMg^n-WCI$NX=?>c%Ufo=lF2Noh>kVpq z$H{lcBetcnTT5cOmuNX()jx~I@7_oEkG?A0+6K%ze|J=oafGawEjM5`o$V&$L*9v@ zywnOl&5MZOP3z!4$%!*g+Y-NT(O8Jzb3Tjs|DulgoqtHk|6AHKe@Fjz;D4UoR#_r3OsG`o_a~0Qn|`&#$+&lBPh*-TX6^?X zvEgz&Pr2CHrgL23OB4d-zH5N;lpK^^(gHP{U^v5cg_rCSi7792sLe?<_+T%4lzqqG z4|3IAnuTAu=8M}fUKYKH@v>DuIP^!DU?`S8ywX4Gf_w-?nr+Rke946wO+!C4v7P(d zXD+aHZ$?790NHgUqOJylqxyyfg>PfGt7e zg1=64We-tS7?8;R_ZjYuk|k;%gWwEf(|Lv*E+w>9*!6X)@#QmJ_48DmxV9XGU*lqh zNl*gy`3D*NF3h-R2)_+{izq%b^$;*hv?c#vZ~x125`p~EkeLElfw*?S;Y&EVFl(K5 zI!SzomwK#!LQ2ET0eDad;5-zC6}wno#aZ}MLd@K2@3iO?JzpILQ%rQh6o2L=G_Am; z4nafAA&7ahnLoxnFY-fIKzKK{@XK6PoUac3KV13XWyNPXhsC@FLR{0b;6U2<2NM2n zSmFNj0si`P#lmw%b}1c_gO2@OsDXvP8CfR1=y&Eh*p4Ts@BFWR!t?cLlJNN>J^v&3 z92*QZdN*EYBXvvN7)Zn%x_o7MQJ$ZIGk+TD6Jbz%;|JkFWh$K+*AxHS%S@=;uF(IO zec>g~wkiZzW`=^uu^@8jr6l#6U^)9v=VdO~@^YDLF4z(n*6q4m5ph`13n;y-S-lPm zo7};gv`}gPmx&Mp#cDuf+9l+( z&b7W)aS+b$`xB{5-8{lokm1ocQ)eGf^o(TK@E|gy7{#spOl7%UgxA6a*#)3E=K+@e zBzf@@3Z0NVwX$!R-`QF-SyK|S*}>G}E`b3GDJ&<6OkE|2o4^u_$42DI1O*rl@RDU_ zSDAaVJa{12ba;8+L}$Eg_Rl(nPE#!taauBe(9rD3LgsNysyp3xw6tV~Q{$*XmLCW6 zC?IEDFLY$a4ziQmg(WqClB~FaICJXr#L6y-=g+iDt!JIdcfn)S@Q03-pmL0U5@aT> zb?9OOqL^K*1NfEzl6+P@KMh`mu)VQJavt}1SlEq1*SR~(t3kf2nh{uH-CJt^|m7DLu=0N75`~h z!N1UTlzIfD2H$T`Z|E7x_(8$N;ryxN=$2sfP6TgLF}%AA>rD4{4MVPWLVu=5jt!pR zty`~?Z*`F_y$Dl?=dS#L1PPYQObHKuWa?groLDUSXPk|2(!i&N(ma-)w@rbb?p#kU zLn6ztfA}UR#fjqHpHEGSua2a+qloQnJ*rIj^4%9rbr@a_784A@4r{zibG%e5pEhRB$N$e>{3|?!#3fL4{|^boBYQ@7!bG_w{-T<0#>tn{ zVl%!hv|qOJjD+R>9*vUwTewZ~@s|E~4LQwm)&PIj7@M5<3tN~8Xjf(*7yGcWfOkv& zdt0fl_P>F)G^b6_Q?!NauNmnIk;Kp(7|!-=+)09ebx!dAF%)CfQ5DmmmxmhkQa1@R z7Il ze@#gkFm&<<9aL!VlhsF(0f;i$FClC!{hjehefn+k^+4qjH+4Hxs@}z9|086mt+}Z% zb*Z$4|MnRL4AmOvXe!f^Gl`@|#@461gxtijFR{}Uv3_z(*q6 z`?j#z4d`DH-#8;8XNH+DGfocUwsiu0+ngLOEebhVw?TmqfA%ETa#vc`BE2>{Y71s= z`c)$r=h-rdBcU*|Jem_tLv)LD1Fp>R@a^*mz-9gpvkZ$L1&@nXX870C=lBoHt@`v( zI6kPiXutw1w}1zOiM$R&`ET3gU_76qkoCy#Kf)D`pfE)4qV64Su6;rcsZ^>?|7^o} z4H(mwSaU3AhHJ=(i6-s%Ec5V&}F9}=E^YB@eMEn!-@hX3utDYLjaD&0rU^~LVOBJi+0F|sh z-j(dfbO${t(R#iy-HLwGm3H;%P0_7(Y)2$Mn{Xa0z5V(Ek2Kq8@kRAthF74PlGRWf zPg(cWDsp07r?`7tfK|17{V>qO4z?$DLOfE3d?) z$`O9ApQ+1vs#;-H*U^C~lN3K{GbNQfbWV4!Wi_NMxP5CAo7JchMQJh~9{{mK0`|3mZXkYd$Sl1|_81hs;{ZjwVB>>AKNYP{SPhln=2}fy< zcbCV%36W-ga}~28(4nNEa`btz!@7kNy4Xt{0;MC;CgfK)6dKv zt?K6vt5@0>Rnk(kYH4s16l!>iM(?F`ra$N&l^fj)PtTkx=9^SmlOTIGq%_apZJ0_# zWx1{G>x5K5t`W$={RXSkKYrWbuK?7tPFp5o93{O6*`ysN#rIhqANaEo>G*K|I0^agZ~Oj{K?alDWLkxx1o%=kRbB&r;Tad#Ne)i zwbcPzk&>R}{y)xy2apuxU!2#NUQ?G2EN2EAK&yT2KOR3dBlOrpE%O3BcScv z{!?L%$e%}9e$Pxvu^c_;_mlmpzbO{3;&JHFf_y)%BE$jyII(*e+#jzMC|w1nnON~E z3At7E>BUb$dg5RIJ+0oHt9rhobE7Tvwyth{NWh)Aa3y^;xWrR<9KjpqXP!lgHi7fh zJ$}a2_Pd!^Z(5}YHCtN!5?%)a;Ceh6E1uhK{!910S*z?Hr`N1sOi7XMIBVzmNvM{; zIe-0=+tFOXGxcA$`UqmmXIMM^)==c|^P~pWp*~lFy)$P+S+PE=DS8rLwjmhU-d!(P#I_PBQYF1PRumV%*za|+ zy{wtzch<`V>DLXIq9>VujVHZ^VguR1SJk2ui-eZ>og6$=n^FL;w6xtiTu5rY{o$uO zQX65U=G*k;iLKX$kl1#T1?z|{mq%@z^cGbje_MWU7J!IX&^Gs1&^HT8VhSoZ^FoH4gEt+?;~Q#PUroGTiqs%~%2${uLQHWHgOJjQ)WZM8FMnm2Rm{W?CW zNpiB}kNilisA)*QSnt)np6PLY_Fv8W5+Jg9%2oZQ_h8g&DKUqOX=&{)TJvU(sz|?+ zemC(+pTw#PS}SP+GVqiBz;8ZU1~w^>I^;hJBUl0x*Ae@%7F$BW_!&SEKPV4@_e75q zf{D;fMDL`MjRl05QP2#m$g@$gwtwgOCx^Bx3~k)vtA0RT;z3ZS`MA_Nb{={L)9)2+ zvfens#&T*|MRJjsR$TJj=w5z~FH$z8$t$9659(_FSau}9V*e~sBpGpl=~f9%NTGt{^v_8K z`1g1D&JDzQvDrG7U6QTdXOZ-GtoT#^z6*+rf{fEoil6+1w~x;tnCT{7xC!YQ?ntwU zLO|vPvjrE8;8T~fS8FWGy=yB=%U?4~%ZUPfCrFByWHr$qjN%{UJ!ug$)#pz&o8k*# zVjM(6_*Y=JGRt41c4Bef~Z82S4kO85AbnG{1R<*bZQ#U>GR%}8QX3^vplATOMJEZ!s4=$@AJu-4QU^) zu05;vZ1f*GvGDFUc?ie4IXJ!QbBlG+1dJHac6ewXR`+W*+4Y%Z;(8(a$RZ*S|D z)5m#@Svbr*Jrs;6Wc1Hzx$T9Bf0cMGJMfy7a{kWnW}aNk zH}R&I`PGSEpy_r2aHE%qZ z09oo-3(XrZZt_eI(nFD##Ncgr8a%>JEE_BFW?otnjC1&)-Vsgj0g1T6Akhy&@}wY% zpTxiC#90~@K=6=3aBm2KSqy*?pZ26a6$m%v?JGX)9MlL5p>Uoa+h!J6IN|-sp^mHw zb>sq86diOV9F8g^nF@{gqhr#OUTQfHp|1Sqh)7o+?OrAi(@3wI|2gCzayVQVES{fmT}7^PMj zj8fFCO>9Er?V+zQ%gJXaQ97=nvV^OuV}oDxZqPlH_1T7!3Tl>k)9!}`pv~KmX(x;; zxu4Cf_T{WE!y$YGbQ<(E5(d!_j`_PQv@ zYoa{nJ@O^dj^iJd`QYLeb`N3Ld9BO`jm{7=_#H3%857!wgM2_^wxKdMJnh4ecOs@_ zN9mfoirVx`SaXSw`Xp9X)HZ)t;w3+0l>EZRxSU@#Ng}Dz{78I=jqwIH#==auf7WIH zP}G+Lb5p--?*fre6U7SUS6zO>xE|AD#TzlCBmM|Q?n9(7vM_kD!q$Euha;0v{a9Ou!%U9U=U zE;}~V>PhNb1mdgtV5zpb#Lvne^ird!9n9sQygmsohP=UME@i_Vyq-}zOQg|3Q`S!1 zqDpGsnP8G8(h;=?y$6A=Y?H8g)Z#|o}WBU1EnOQ|P&fKioEh?FQ z-Ya$4ht!#y*FUt~;62eVENW}x_xL%_mw8Wo9u+M{zNY6UR;+2>xZF$Wc&s<`l;ZR| ziBDRP$<1C$c>ukc^_|kM=8AMrLi+ji>(I!YmEGnn-)`#4qBTWD`?Ywa1%JLcf*|-6 zbL!?J6M+z%ud>L#DxGLH!i|j0jt|Mg+NnQ=l;Q>ad#_qcVs3}H;1GS6TVJx!f!HUP zt(zw6rY7$BOZW^#CFYmeIwVv5cb7czHsNj7k8>{_JO%bw80M{jZQXW}v%fCm`FCp&o$Bt4KOcxpEZKC;{NM9_}$2U zXrU>#K}|XP%WckS$uTM-PgtVRR0-D&&JNjo2M_UD{mlZiL&m;{B;LYalY!O68jtso zSyf=$h4xysglSvu?5FArue7=O^$XzdT4Mvj^S1(c+WwH^FK3q>@qUD|_>CdD#`X?A z?7$x(=UmNn1{FE_Fnb%<3K{gBIFMVhZDFqc+<7p$aG3ehzZ_A)#{UGIE$n?vDB_qA zGam^?yA8b=bQYl$ib;P(kP-Q;y!HBVsqeWT6HU9`FRW(|dGjmoQOQ1D0|m4VgFew{ zFRWiLRhZOfgc3$fjHQ<-?&8wp2_*!-qzouDiAm?$)X4dgzV(B@h@VFAK3<*G{$FNN z*{t}u5}j=Tbbp{gAIs^NNtF|dnr`v;0u4BXGFwerw)*f^u)q2Nj4ZcKbc3D5pG%A4 zP5hZy6#oTNKk#|#T?M4_EP*3dCVgsKQ_X-}Qq@vWuWd1lo=f94@eAkE zWKztib*gFP;CGtJZ1n;N%|9Kea`O`!R^_2#bxHp%3@gbnd<_L>T_Z zcR9-<36QZ&pUSFr%-Am*H>#K303Z>VUV>D(op=}-0A)E}xtF?CAIS+P|D5?UMjhhp zvl{>QW6a5MWccEagWQX*{;%ytd{79$yt@s637xo(d zge$`nuP`LNB^cex@bm+P=YZ|4cK`Fs*A{Nbj-L@7LJ;ZthgI;6j(3T0_tOpMKM}o+ z{zmi`KbWk~6GY7{>drhXxcN`tXus||1R^gN**rK}59QpP%MFt1dCbY%hhU)tKzrMJ z{@?-8@7FuThjQ7*RyMD)abWHPR_O^q$JrNmJPQE5WCawY)#ZH`$;&#?ocUvp7N@)Y z-vN9m71jNKwID+mZ0|}*C}&wblr(Rw@RBz(Sv>4Coy1Dm1z0DGn?8&cw-M_pJ~^lz zQ&EfCdHxJ*o8292>tC8=POFsr6K^NnH*@W!vgXSD7t3>u^%EJ0ppz{twpQZf%%udK z9G>4(8SG4_z6C5`a&JLhY0)7LoOxbK+Z(|I{+Z$A+4#j#Bx@7rFRTx?ZuT|%!1i<6 zZVCC)*DZPy7H%V-{g?oce%^kOX--h)wG%i3+}q#$du_NG_NKqc_-eKM1Jhdns}km# zzxyAkqZa?pEBSvn%lvyA#pRx*ZPi~4UTi?LhmbSr7ffRU?ISkhTw|MFmjn|E#Iod9b|N%F5upnZ@imi z`2{QZ$MwVb{(YE|jI3Z;->t>;==A-OeX^hZAN{feJJVly$uqGPuuQK3g#z76zAHqg zH~Cjh$TQ4AgYpb>FYk?E)_oB&OqLSEAL|eJ1BQt=c4U@$O&{l(Wi!$sWR`Ji7YV{n z|D?)G<*xh|-vcobIgAVGyy>>K$F!dTYPunJ@S1^{ZUvPMpKWb7^Vc8Q&*rJ^ zc84b?T>ds=q<_DH`H)BhAxlti$FySE5x~_;$9{KAFFv!tKOXLXs?f&iXZF>6=bm-c z4$R*>ySzvmzPG=0DWjnI@uoaKj~}OQ(w|ai)US2{d;ZgBJ1d7HfHq9m?howKfCl$o zr(C3%Tm2;`f8E|TJ6b;=_n$0q7t9FZIWPy$i9ZO>^Aio81OFf4IpIITGtxgwJ5wM8 zX~j`t;e2%OI6|*84~ErdXb1sbqw`s9t3rNbU)b!qk^V;Q7qOQX}SM=QWn}P|B#`Ez8!%A*E`#+l-&*}gE zPvd#*N*mANp|$`2|9FmS{J)PUmVR5@Q|@M>EO)dF$!80b`CY~8` z5Vugcz0LxE+JD&Zgp*7meF7JrdOBS6w9Ys1Z+>|;!{Ijv&$a6v@rCek{-6+^cb_(R z{4@UF;h8`B2jF3U?rqzIWgFO?>t!9`uUzNgsxhV#M-d+fMz!QE)v$781HnPb$ z`(-sq?i8BlNTjBV3lxgh`(`ik&6KycT;@>Nv=<6^^ubcVAA)r$$AMo$6@JNH&R>HZ zyTjp`eTcQ8l&D&Ys0)a;ZTBZ#&_P4b$m2hh+TU_Qj{evF3eKmO{_cPZCP1+!*RY_dlsVmv z*J)48o?@mF%cT4@u(fcRkK&;6H4X}K2q}3?ls#xW@n-o z=lk{daPZ7)^9?@8q5eSNFpb~;DU%Ny`aoysIsvO`6iqo>w}w=P&OUx?PcyBU$lQ4D zKHtW3^An8c@rvB*j^lwezLVsPWv0;Xz=tY+X#F~DK!^2fC26MNs+71Ow|;%(7+b%N zeq6dFT)!?o;lEkG-ufe8Wu08(FYVu9{rX-X_oAym*Iwk-ubqGUpVqGf9eCSVzh>O2 zvmVTHxPJY^9>R@VzaDa42X-1iBg9Wdh@b3UTi_?!IQbqt_Z$4Cm^HLV?>Q?UG?coO4-T%Cj3iyXkWXC1)v zgo9`wWnDOmhYc|~fREK90ADpE1o%b@wgfn}&_0?Nb5QQuc7)^*@Y&Z6zW6={+Y{6j zY%6M?)XVX8>5|jJ5j1_^wg@20Z1ofWGQO&b6&JNJv$o@X#ktHwcHsAq=ICPTZbd~p zzlem_euN8DYyxR)M8IUB{Evn>&xY9answu*B3r#1t)YY7J)Vx9aQxj7^T7ciQR7)q z((BmZPV~)`+*-*7nOAs+pKy=tICb-D3Q^+^80sX4`yTk3r)k z-oxg!unoG{(=WUKSbTjM>o4n47FVwOHlK8MsZDM&v+fGgowU#*d#e(>-=5N`l`mqrv8&ygnGn~EUH==zd+ zuWnJM$FCC`yI#2wlZ;`oXVz*|%}CSjy+@MX}oFUSXVVeQmxIEqruJ=jpX1XgQ&H zK__xvv4vERAE<#F9d7(1-+42K=>o0=i4}bkpHwsxt(*J;VC({}J$cV&v6noYANSR8 zTPs6(erTqo`RV;xNRChMl-SVq%G(kf#(CF?d#hIo>g$f6cC~kaem<<9cM@>wO~dZOkMe5DLJo{W&BE$`rMs4be`sTl zh6XO3MGazUWGqPM>+8AgZsP4W8d%dlwh3tM5*%rD+#n^-@`LndmJ|g&L;g@#MYFf( zA6!D&`c8G(3pTG`2X<@Ii$HFAP3`(sb!p<<2*ZA}YEkX_uWHkCpWG|eb_&nyKdDX3 z9Z)y@6t?tA`5>XY<0Xsg(u=DW)n(7wRJ(p{)Ki`ukG?=;)6Ygt^Xwb&YUlHPPA{=)ZJ>>IH!}BY8;7YP90nv z{L=(LGk`g~P2)!a-kvC_3EsCVnulSr;N^UMd%nBlyaYq@&$bIR`#c&9eoHCx<_j66 z)yapjBD`Vfa+a>Jh?ja(evsU%HJHz%^nm))_E)G!rfwANU3D__Qx=@44R9xJOU^QJ zn|(MZZg=iMpOa|iIS8(3w$HyoIUtbNKNe*5B|UqoGpNxv4I8Yged@+zhk8Xd-tSmv zPwL+__>5Q8H5BdE4z;>p>!yA(wr*|v)CDRJT0lfqd*Er4ZRi+Oy~$I>K1TE&`Kt$o za`gM2TgcJAphJ-oe*sAU&;!0@KTsO|79K;F`-QzimER1_`a4iX6|NA$JC$G7BU1Ta z?C)gp<}jGT0tWv*%_Ql5(w-F(r@axUh*mP4E%VGTcfg#^$W*7?=aej{-82#V@{db)<5t<%6Dz#h7QbXT zH`fmJW*)v>&GgIIL?1YXw@9E}r=P;CyXL0Mv{ln?Tlu&2T8>Q_n%U}=_nV^q1>0Cb z8${DVKiT*@Geph9OCqTVvu7Ksy_7Pi3%j!uIqW9?Y_um_&`s|`<@Ie|c@05%smkCD zUiQa`R&VA=tSvT?S4dq+oJ%$J0#O7Frp`eCOPZ&SqoDa)bkzZT6U&?!%fXxJF?A~B zD9PPU?ZoqBPST#ihNhLyei*mOsj6Xzg;TNuDu|{eDSbi+5<2J7(75}uaCYAHvdSQU zUPZT_7z;Y_t@AS(G#+1@=GGAY}?Z!l474yx4?tejo%qlTi#uEKpRKq@zPQASGge%lFD|v>xD|JciW{;V%S$ZS ze)>t@>-C~&fAdWY#JZL;EHD2BE~baR4|=xyzEmNwn@;hkK|wbMtCanMnhcjKQV z8g0@>;XWqq`kXW!??Hs=w zcWah(uA6?`_wLnQyrP)2Xv@9m)u#IN3l_f>?Gu=Nh`L=NGvn3ZE<}~tJI=!|38)M` zjvaCl`N4XVzI7paVQxC|QuL0IS1x{_fWB@5?i_u!HmwZq0v8~<6N6#x{A!?7Rk9C` zE*Sn3J+2PEr#zCErstOy>KF9>yH=r@_URqHzcBA0<0M)vxG-P8Uu*VY1sQOo2!#%% zSN2XkznyKqhR>wR-p(RV6VI0f4Ja4={TMWip8?&*_eIWSPEEudg?D5#@@s1>Tk&q?^sD&)$0b87KBjx`0l$_EZ6$Ilo)b;wY< z*(uk}hNjPgRm{E`#dxQV$%(D%wNmf7sGdK3)LNzxdeM5K4BvJ%-hy}o90OB78)Ot@ zzJcGAcTk1N%D%iaZOE#kl1uOqugRA~O@>@t=HE0$GBoTnSH7mi;?A*ti}{i(F#654EO%}k z22CsKYHMhY^PZ@@d`oEZc={z{5uO;ym4jnXLu2}HiXD&%-Zu$R2YNE6#R}II_S}Pt zkvx1Fn$>?(EC4sS$3En|_!Qc;pd|3>A93(T2*l;GxJkl=b(=B?m22_#GoZ(AR@5Ut zLhNL3IF8g)2|;3xvNKV2_1WXmn2?I?qXq{vNfAHTDr_1By6~fm)jds1!1U{gXUvbG znS<|RLigLDf{+`Cr55GjD96Yq{Y6MMWZEnu?#+ls>(W|Np?)mW^ZGYXp?)7!MW@>7 z$8{noGt=`*E9;G(2#Y&g@i|u9BVSx%#W5=`&li_kag`N!3ybTsKP{vE?ewbquJ)?T zy(*@-OWIGY^cu34cdFNkzfAY9Ul&v*VU6jX7~_W&0Z!lPLrs77ZW#QjcjHwWi#PN5 zEv}GG&1as3vO9QRpY4b;Z|1>$p&Kw|IHKuKy21|;zvXadabww^b`q{824_G7<7cSN z(c5bCiGwF}Z1d)AwAnNoG?Xw8BFcNzZj<3-I~#2`Mki$09CTm%nlMm+qt1nTja`1O z2N9{c_@pOKx<;|J$8~1oWPEM-;##nxl9bcgKLdyh4!1YvW||11b4DDiw{(Et6~s- zgRX#!FpMEjrHu)*Mg|jkL3}3sHq>+$qCot|IDT$Sm4ALX{~YS2Q74;T`rxjdUK)q^ z4)&!B$>LWhpQ0-NFDF&dlsI0=|b}Gha!73zzKkK9|{H@YQ z6ASebsZMPB%I#e#J42>fgz>ze3Z151>hKiG(FH-0 z*v?_>#Mvw#Yfx6U|IGIKfc%^GLwU%IpNpleYeM@j-Wme4(SL-?&41GAGJP ziVEG5$;u4~XR_C?n|!5CZe|hLZ9UYlH#1qej(3=!`*Iv)FI}Lq#GC@`@+@%giu_~7 z?jVY4dZU(W8-@@5tZA{#h3OEL_JUsjw?*MM9iY$$NoPRyZ-=&R;n-HLe*813%tl;X z>-x+M22bAEyCVjQKz0VoJb%Xq1-1ytJ0ty+ndZWgy03VtcTpSc|9UKgGxNoGsZN1) z)gFU>tcuPzD&nk{geGJi9bHs9oA?x$&3{t|`VQR?1@zr?i6dPvbvNjj`PBwxGdE!n zXw(mB9V?!UQqfJ`2kdf_#YaY&_+N?7gjK=ZRqn!zm4u|xL~bWHH@{*goGl?U#c$%b zzf?$(>WRz-Z=NMioJzhPjhs=brRxvYrLR2}=It>Nv!iN4*aTMVk-Q65S z_;;SMkZ+iq_T?dbQ9MW6e8*poUmnQOQ|X-TEAS(@{@*6Vj_<)vP~J1U#0 z?)AH;QV8_=Jy>~{{e7(RANKdz$`<}^wL_9kR<5DEKw!kOO8P-(<)peT=Ur=EWyt{k zaz0lSy^MHT|EKRnacQ`t{1|WZbg`!dONT9_UPu)U2IN5BQQS}4yZ$4`chH6!zuVnW zHt%rT`7fqK+v7hHXNGL)&a;F^0=y*KS{8&hJrUgf#-7v z0gmL2e_&tpv4!FAheef9l=bQNh-dDai&h)cEB$qp8qkQr2=1SWY)kC~B~bz^Tw<+A&vV;BsOK})fB3pr z5jFt98E3IHPux*nd^Q`iiYTv{b4#{*Ar z77`JAY&d4p2%sB|(K1SU-b?+IH+&2-R2+~c2V>9w@NgTN9lHTlfg)~Q=HMe#jX|si zd`TSH676h3SWx->gdj!HVypf44lsBuuU53|o|k_;i`VSj1q$3SdBy(s=BgIkeeug5 zQ^;jYyf;A#=WT~{Vv7%Q=cvDnyXX0!Ekurd|F&Uk+cSN2LNNIV6U1Tiltcu8ymbY~#xm9?(Hl$SlZ`Yt^3oEBF60L! zn*NexJQlvQgm12fJeaGM{p`HbmeeYe8>Caqmg}ctKai~eIuKcS9#DPlYl=2%%L1NVAsN2aFL|0hdl%_WIc3h;?t9P|4{x^zul_s@$X<#q1&kG-^UZ z=J{940Mj08q&OAFir(_2D+=UczEpI;y}t^Pw)ncYsurn-s&sU3`^ZhOqHp zdA*QAo|A;m_v1z!*$I&Z$(1%UpXi%xbvd`WhbF-xV}|xF@~6F~Rz>WxoG$Fps?nY7 zrY+kQ{8rw>iSrIS>_9^YE zzAU)DSIunK#i-WBOWD#E+O1Y!4^D@iszl+0uUM)#9?|1$`qrb|O)EEAQV2S?yNH zby71!DutTVN_ytV0(}k~)P^tvmpjWS?e5nTEvX4q$PCnU`R`z+{qU27_TQfAo#`)I zz2tu=KjanNEKe9Ql(o$F&^n+xPJDoy_tU}!yj?|~DZRJo|1!5;ssb2;Awm&iU?YDU z25;|ew}ausk2O%qa|em8LYWYuv&dBK%97btszFAJzyc*S~*$z)`$ zsvr(ca0jDm5CTQSBVh@3u54#Z667S`(sN?sXh<)7^&+p#Y{yGiu7fYAnGqQ9w$V4j z+2cI)6(#44atiR=iK?`oQLKrrrC2F*XvOb89x~w^M(I;`+r zK4kUJSAG5G?0Z$AVLDcoGl|#J`f(7e#1cDa({wmg70cPV0Hf;GL~s9Ks<*wCm!Dxg zXj{skTdn=)P!PD4;MC7_ltn`xAsctJY+RP}4V4qHajRwHV%gqM*-Ry`-z}kKdq?G6 z_Iyuh**<8Nt=I3d%Ga&@*~;bo-EvZdX=O@d-d4u2dMjWbEZYiMxIzdt!I`8wAqG2} zHzMhK`fQ{s)r$2zb0}$bjUX)=Fvfrb0@h@-`r4dbR=S z*%IwWL;y)x>2}5bH3p~RXJT?068@E!+>{&mc!#+%%os&+3J7qyz<{$XB6R&@! zXZB+Rh7mvCJV0k23jr?#)Q1&sz)i{cCF-Ioxl0@}4}d+kT&0KV%L` zyYD~Z`?lHnI)TnQ`UfA?VG1JttWUoz7Jbt#mW>()&N&p*;Mq4Fw&e=}wnJRo3w}dV z1$WyKXI*uLfb=8CpY@cGzZB#z#+U^8%l)h0TnE;4d?bFM*;WI$f6*bosGA|b!5z-( zwVz5?`=9P$rALHZ8W`@i)F|$gL%;kahW=UTA|WGwRb&_2fsJ}0Ip^##Ii5M>GRqBF z{SvVIw=O8e>s4w6HY4EyQRp13h-{}ea`FwAsF3C;Y%*`}=j&R21n0{g=~oWQS>0(+ zBdhy*Ls9kF6R^5_TK{Hsj|(G^4h1go<6qBVLBRpe3Qr*yn%1lQ=XV1a|C?!jmqfXc zb5za-Eb^BgX!i8yAoQ-o&7OYk1vec(d&Jq(7eFW57+=`N7Wy$~=;=Bx);|70N9G28 zS2*yy-N4VkfPwdU-kF+U`m4T{csp)Vsil&7UfrI%k`HG%$K!Ne)AlAN2i|_Hu^a1qe_|J%pLh4V+@R*5>Bu5Y zer4@i6|<)OyZ%P{UXjEqNWLLkUGXRfs?*Om5X_c*iz4BAn3g8l>O~nQuYC9pws4c* zUcNnC2J8Jj>RciI8f=3vsQW;IEx(V$;u|QIXx_#7*ZfHzb+R^IwsKaIJLtR26}{CN z#J}Dc)*pVTL=Ayjsg?$9*JlSF_NY6gb>f|zra@Qki2)a`FU!e@pyqUZdOJKHEdAv9 zs#@ef{IMKq0&3Vu25@o+ln!f9OqZO0RR4_Qu<+e--Zc*X-b?Px3zNWIt%e#|dI2Nb z-YQN!Ce*ufG5Wg>GbE%x;N!6C!*X47V!z0LE3EM>HEf&JcXuV@eRAS@JZYtiHc)b{@nI_LQ-?lO6vx>>KG zCNHUYEVeSew2nf!FS0#Pd_>mrz{egz4?SX^#CHf6Rx>^n;+Yi@S(7vTFQ%THhsm&Y z<%=c^e)1`_@!d38V5|N6ZXtDrrHHD*_oUReZrfZJt$8GX2*{lQ=rpuCh=lV9qaJjm_1nDC^cd|7q zztc0KoLpmp?hz2*geX2l0BLekBI~yFjIg{X<$*2>2%k%N)@cKmp5a4lB!p8FpY54^ z$fogqz;Q_gx-Q%a8_*nZ|PRdR$!DC;fgy z`lVn;%48>J>fS`k4f226%4$g?T*8Z|cGTd^vike4T|U&g%}aDfz~VTc+9CJ)_glPv zj5kkp&Am=;@miUoI5ZqJ{)-N;<5xfB=~cFRJmqw+JglzY_&L$5Gq!qF_tZ}AtCO~R z)i3(0Zp&9q$JJsZ6qSI3X1;d!cD>Dt4*P@Y=^W$q+YQTL^IEP0%78Uu=1L6r!g_EJ zZ;alf4%SZH65@xRA~ITo8CE5WyN?(7|G0Qkj&BH^vINDMoe~>&=CTjTs?QS} zdwZ$B@iUgGhtQC-Lw5J;$eA$a_gw+ttv?d7VTuhzX%xQ<$ zX093_8C&izXQvfYl7*z-^ws+I;1xBTtv(LWpXwr5(+l|itG}W2hSOGrdp6&*1N%~` z?E$CZ2k@J9Rq--)Fp3VE!Vad;LE9e-%zyH0<+s{;`>!cI4)jl6gJ`pAOe7k$Po;2- z+<1OyT@uPG*_ztb%8OFNqgEFZein^jYYgwaSi!9R=kG%t4g~&WN)|L7_vWpGF62}dLbV+^!KJU@SJEVOLvao zW{;dMIP)Z*VV_XP7a<(n__Vdd2&|3ru#G{vHs~xnB8wmHz3a+3U|D?COn~iVUTp1Z zDJ(SnM)rm4cjorZ-|p+qd!;udmVYR;6~bBJ)-B?z;smga8{R18+}T-(!k z^p-7sY6_kUIe8_2ZJhn$zsQbQK)+WG#GzkRpI(WGw;e9xv7mU#hg1b$#42~ z)!_#v$(E)?06s*GZZhs@21Mw;w4AY+0jqutX*vgO!0YgHu#nn0c^yj(D=Q0h-pR=| z_pIf*d-mLLQ#(=8*24an)t{HI&)n>8IJ#<5c0^fvm&8V9DP5mTh zJ(d^l+rHUYS$c=WxBaggnP}m=aLrJ|EDFB596Y8N7z_6Ja?$@^}6mw{$){x0*0I+@4_B(^vT2EP3tOR#h!p9bNaNP zI`}QDf79pdwUh9l>PPxk5kVsfis}vJ7cgM5QkVZ!wGbN?Kee`b2=@-A7sQW3;{0}B zywwkXAlh=33QXjbm~QHPwN;?oLb+M}hc|i=U(A>+^*ooZkd5DTQzy$B zvrjbhmRzZT?icle0E*|e{TTYFUP}3tTIwW%V!k`leK*T}SD$Dt@!#0Psy7ba9RC#) zU7PW=xb5f1`YlK;oD#+t|vol{Carl#H03Tm)m(e)%nqC=>yiLHSxV;VwRgnJA z)duN_u19~I>y0=E4qC*r{}9A&ch8{XT(506`w#8iVf#V(3+vPC6$I9(Yc>$OZ_ChP z;$=%UWRB2mYLAIcLN2SSt1KfJe^)KFSpwz6anlm9Fmz`zUGa6^4O7T02d)+2u!w4GV&&AyylDEcS@4&RyNdL>yw!h|7je&WPvr(x&?piZXlN%7SALh)Aozz*9B z_jE1dM)cU=*Oh06^_dbAhP_p_&>yqkjjmdy^yzE0e;j?bT`&18*ef&#BXqg?jh|7W zmOESAz0(xiek;4b)N1=B_-WU+Y5LPf-PP0H{+P|R+USj+qe6Z`4szC%_-`W>>ocU@ zKLy*m*Xd^~hmTGHa2q1|v886d!g{J_Z$wEy;75*#8geV@6-FpDy;YgST3?lv3HT2rFY`UgS5!F_N?s9*SKgx!5= zW74&`6~!jM`B9(lf(QQ^SJ}x&!r@GX-2!-IXGZ9E9#x(uMovekvjhJ~epNeu-GleB z%z^%c!3JB9m*|`vzyrQSBfYj*1}KSyY6PyA>_H1=D(L_h$2E4!+p`fK z#<0}b3J;9%aMna#D!aWJ;QEGT=42yo&ELU|Zu%=dIHa$E$s=@}D@-0pp@!8PNrPD> zQXhAGnf$nOmY2jjcS%E#*=mxDGDoQ8iDkjp22u@IsJnTezwLSdtIKceCHpvt{KvQ? zL}c7e&&>N4uK<9Nz-ZAw9oB>Mx_`I@WZe=l8hb zL*qJJ&y4H)oeIX)T1sIx{5ZwCX-|<+HTZA#ZkP_8ry1wH82jP4qj8=JemaiR_-Itr z@5`V{{hk;0`>dYnH(A(kUmew~E^4Or8{W_qSGP|A!#8~cS&mo7c|S_jZ{?Q#!XR{W z?LWV6U+e8eG_~L9B}iFRI;%UaMD`Kn8`Kz0bj05+TeJtOnsffQtY}er#}yB`0v`cL zhIZGmJR1`CQm-L@BY5Il@OwjM=NyeT5_6k8!bta;FtK_W7nWxS_CI7#o1N4Y5UliN z4Vhu(F31g4w48NzEPDk~>^<1D6KpygV6gk7@sPO^<_e1PC+xD;lFjzDn2`pYl>-`- zw^rfg=IZaTzl1LP-5-qbyvIa%g(@xEJ(HL1t~f9nd}^AZdSLg14MXI&-j|G$CL$r8^(Sr* zy728Jk6~^Z(1PFFfR1@|>jCvdQ3em?{BTkKFK^ku8_%pinCtVVh2rqkYv7@ExI|k~ z@PHi}%g^_g-#h(rR=<$n-V!T8kQaaC_-($P0e#F21hDfk?k!*57|9h}i>SxKXoLF1 z_w7wR{bOEO+g{%~AC7cuw_^aPAq`IVG-&EV+RQW-4LOkAM|gS&WO5j|W9j2f^CW~` zNN`_7=i%k)MgZ#Dyzy!;X(m}tAeDQ`p9(tm6EF;x`Tu_OyWGCz4We4WEZxcJg%R;) zbix7enoco%^<*g2d5&drB95hL>kgDB~`%M(onc0XD!Z5mJe{<+0)y6xyEY>sSs|Db0}nqPG1l z34qtZ3zDo8GrAHFhbfS)^+uYd%-FJE9yPEZB0BlFWXo}wd}}%&oafKbe46Lvhi;zV z(=$lCr<>+gM#9x%TELh-ML(+L1MqG-4!WH_yeJrDy)lnbf6s2aztX6`Nnw9I!u~D} z`-|^ka$G&8ba2G)ydY%9?Q!h}B+g@01^tZq!TEt4egxe#UsIuhd1;?nAOT`I+}2&f zoBWoy8n?av$kyC8=SsMZO!Rb?G`@+(^)hgFqzA*}A^V4TyocqA@Hk|-!{aS_29I~_ zp4U&QH8kuW_< zQlHRD3`Ikg#h7Qf8pETImt?Gl>VLw^^}}{|IS6hgVs&K z{2#nkKM{X2|3|@}(fm)}T|F?8eM&dB8+mo5AmFG5ILgDV{9)-iW=}WDo;Jg>ApD z=&5-XKn^lMa{TiaZFa<8G%o0Oy0XNYx#`b8Sn~o0zDWR~)(hG0kH$OLU6-!xuB8Wd zm;XKTKa>lA@OO)^9{8_|S?tYv#Yw-EO$x$wl2TZpx8#a;b`mf z3rs3(UEa%fgSIa3lD7*wz|%i(7j`H=_6OS0ep+NdXBruo&g3!P)*op9USr6u;hFXW z(6N88egET4%e14lgeF>H%8_`^67f5p=t9l17@IE|K$94LM=eZkrrTiHzHU2KgK@hfuZIq;mb zq9e#;{r2@sxYS9OZeQdDwv(4EMrXlJnAMk71TQlY_%6!nQ87515O%ieKT=j~fs~46 z`c*A7;ncFFa2iJ6k#JJ5d~biJX$2DMF;I?+q}-O)sfBg|(@S|WY^vP?N-M{7aSr_8 z=LABU(Q>0i?^afs76hf6vr;GX2oBN;u~1h2oR1=K{3E#|0D+bKB?3$0avifP2u2Lo zG4{E5{G((S-2ZVY2B((HTU$KY>W2f#S(Xv3l(mx}(mAT#W!fo&iGo*dv+j$3 z(Lr9fEHioSAGKaSF+Vs%fv4Hh2W|*a>TN+?si{)>+3pWqg2{3P9BPyEfd-IiDz8(> z2XZO>8h~PN9z#M!FL|phQf(U@A`^QKhUWq^tBDGen}z$GU2jcY&Cb3}K4a+5)EM zy8R4dIWzkZ=Z1J4RTeB|#_TnlBe67w&Swy@OgpBm^nsF!BF=4RhV}JknrZsw7PTS73c#Lmby97~%fJcgzM#o($Z1`d`GX)hU@UOi3b3FZmQEgCR4`mu%UnCGoi_J4Ac-@4`6=D|JWiW7)yy8Q#i;0=$sBn`4a`!&3MMqk@>q; zeI9JK`UIIrNV$X_9ldDQ=T)555&eWqTgs-aYKz zB7!eNm8 z{%Nxbe>Dz+?BEc{G3Xx6&1V;BZc6`3Lx`9?4WN!5kJm1Q|8LNk?dTq_xL%W7&2yNa#$++x``oKqy&4j}x>&C`|1m8@*v*hc2Z^&Y z*bWYo$U{KXnd;(dpX{Ybf+qf7gRMSXA$!1lDAx1cFb$YeVk4ljC^^f?ul$IP^P{s7g zR0NUbBKxlm5~(u;;GJ;Pe~@<<0=@s;%usf8vMH{<=t;wCpPzxe_Bjr({ZWI?teEx2 z24_}?8aoLUQguJGPYVpy`C1cYs`qkj%}`s9hHZW1>s3MBTY-YQUp?XGQ+20>b)TTF z5z^z>XB|br_C$-2xp9L&&USzN0tjO)yrt_mdp8g6ORi6B<)BgQR=6^_no>Hu&UJP? zpZUAfnKI94uS&1`4rbvuAAL4oUKEuBugh^kn+w#*;11KTyte6uY_WcMPCYr1R< zX{}HKhxbiY(9#!4Bj-?^UMikKo%WW13LXStrM3wf@+)TN7q&lp;?_Y}PP zvCeEP^ro}MhZ9~C6~v@OYAhFu=mCdw1DyHn%Z?~w4KywGWSMT;gz9QgeY%r+tMQW0 z3Um6xEMqk_AU3Wxzg1J5J_Qx@Vk|ufYCLV3Do^B!<)i$A0GkaenRa}w)&{sUCBYFk z8Cwu?vk-FC2N3el?RJkXUS|zodVQi^vl24e`GD9e|L#s82oWyXKJoX` zhdc9OReRgVj(~fH$`j4&G^ikC6@YV9fdHB69p?68B6Kk3%d>2Q{TwObkL| z6>f0uQyzFE(SAB%^EUg<#Y812g#j@(Q$L#^i40W@G6SbW1j1-uRkg&j$;#ImiOx6= zk}j!{z=&yV-prv!k-e)H)}^~u)-o;a?LtTWgAn?w3FJ*HD$y)jr4pBJ|+3)k_w zFJLiH4C&i+e|C7WLOH(WF)^puq6T$)Lo?5WKzyusD@}bfKj`E-FNQhDiSPs&oo`ay ziGo6t9x%ePDND($g7ZvscfX}4Nt9$?XH36xR|i4|(adH#^HbGQwbbwO1eWL|-9I$B zGV(Kwn^)D25$HBjg}2NAQcE5^rZP6^BjkUB*3rsODJ!XlLutkk)q%>GR0uDTCze`t&Qr+*UTEzo}0zXxn~9{orL@@)Pa+Vohv*K+XHmEg4%_2u+aBMZ%#%wl%;bBskXXXWnaXKc|)?V=W~0LEmQR ziuhCvpOQ*TweHtHY!-`7@32~kWe%@wOfToqA5j+mSxd~Z5vy8CjP<_qFaD=_(>}(j zOx>b5HWt(7-`Kjoy{*o=6Zow3h!fm%NMG;Pxsd&>bM}5Q8(W~OPJTBh`J$J47Ti&< z0a!WXq6Qjizz8;meiF+O)pEE6N$MW;qotsy&KH*!#I@8WXfRbyq5Uu-620Cav=iP? zx%QeK zW5n1U%eW#5<^6S+U5aAfaI$Tdo_{tHZt%kR_OLeNrjcjH#!yYCg5s8T8o?{P@Zf1|#wp|@}2gmJj92|GKr~5>1)sYkxxqP;fbWst_ z@A-PK&u8yF)j411@%w&%|L@=9q5163TA#Jv>%HFh^bFFL3Qswh=AFKJaNx4+>Yc z$_k1d1$Z`}Ra~Zd!%P^ttKK9F`UL=V6n+!o$s2?2zdF;G9dll=z?U-g#y^NH@q6S) z>ROql$%0RGDN?fIF(;xYE-*VXeE;9+fqgk@ezAAuB;otQl8D`mp>_IyKW}@f1`JY@ z?Ay9#&?d(xUiVK>Ge23E?Y<|vv99$^twIflSzS9>A$$P6N)poZN#Ms@_k3nh902iO z^!kKqBn!58qZwMmXg+fITc?|;k{t)=mCi-+u6P+xI5UX);Y-e-ryEO2EKG(+p2PD{ z_dG$*7xL_dep!{h*VxuY{rh)xK!7FZk(nnhBQC&>Bu>0R(@s80REx$NR*Mjk_-xZc zH9o-yrBfv7iZ!i`v66fEK>tPJv66}W_1bM%1$Vi9NpsacvbDR_(3zqMM3Wq%pAfpE z**np&iHFh^O*?Wvx_;hGvuu&59kk-4MCl4?2k0(lA=R5 z>-q#~?!Ebo(yco(QhrVe$86i4FE^+g7cv$WUFYywCFk0WpN62LR(@#w9|;n=ogVbn zMszBs>*N*9g&x3X!`&DOmB}k%;htQh9`BMCxrZWJTZT@wrGj@B!0Yr9m#Sb9{ ze>}A%!$J)Mc#Y}7F5=GtzM&_T3Am=Dp-j(e9@I{Y>EX<3h?A+SL&%0ZJZ>y_&Dq9+ zP2z7yAsjcmUrYXTDD_Q)`;Cll{Je_l_tT%nDsKc0njBL2M0Ti$T}?ey#W#c+&QUy+ zyhjSM^n<|}42#Rngn=YyKr^Mo43QINfG67sv%QdjO;QxPbtiw|!BpJ{+BH>C{xawx z%5tm73B`smQrC*koYMpp*CY=AtR~s!Gm+g;@0Ug`mAKvakMMD%{_>KFT=F9O4N(rQ z{G5T(P&MhQ( zR+Y)&xm>p6O_(Qf_mbgJ8jFO@X8}_4^&jFrHZJ%s@urbIbKpJnHj-VtU$Fxw_YjD9 zJ6+a_(*=(JxAWx#`z6&DK^4ezAAOyfE80pO1sMu1J=fTCj0WX%u9T_f{dKZ-1p4%0 zEyFTM8W9F0kz)sj^cV`kp4H ziht+b@f2)zt3fEuIomK@#QkSvYyJPDi@ z+`0YE(5&+S9)fQGXv3O7i*GA%{*zbtq3&o@T%VaSG8#m|nK#>;uB9R$jVBiHu096nBd4}nGEdt&2q zj?y`-Yg{f-Ns-%sS2Jj41d~4bI@Nk557%`KmB_N1#1UTQ3>X*F^fTQL*(<)D!QYd= zb51oI?-Sb@1trxr<6mv#ul7&;h(kM|V4EkI5l1ulLBB`PA=5<83f^}x>&3B}*PSGe z)ONh_1))Uy21JLG{iz=zAe$uQLlqkrq|jvlzRV0Varu>8EtAaaf4WSEf(6^{oKyZ$ zRp{i|7<9+-uDblw+EA}4HlCf}Dck#z2$#4ql}=lVzmpAKa%_Mj zv5SG>vq9-=utBTrH+$>NI+GZCmO%Gydc}Xkr0W9FpOQTKds(96BvJW~YfNOZ>1S>7 zrIOM7jl^4*oRYkdtxmq>R9wn6f~&osA6Q2wDC@}9@SCn~`pR0;26TdIIYMScC;IdC zSxurY$6MOo_TWCt#RoL%zU)>0b={Zn-+cL*2?eP_B^>GY>%V&YV~d$Zj<)mNq7n; z0zzfK%Ck~c(g4YVoBpoWI;M_BJ1jM^6y8pNC(CZ=Y(&-pncy24vM`SLoiOj@+S+)Z zwbi;-^a9Dw`Kwsdp+E~p<9}0Z`*+~rW7SI*%zwhbJxbsXl%Po#OmVLc)T>@%xn#jV z+^b#nO2-a>wLiO8lM!^ObKKC!x>rB+;FVlK?}P6#ZqOLc6q{a?Y>mP|H>MUrmS$%L z``c`DTi{6%F~>H?fkH14d-xBXCtJC^LzZd$eJ!POaQV(U-Xnd4Qv@~45j31U4a@X_ zyb@fc#;MsjP_2n~c{SyYp<7Q@ z;h>(KYFNYT!QBhDMorbTUM%NG*Gg89OHfIeOF}j@iC}e<9U+Vk{|U+7i}UVbvxkh$ z6s1qzTH^dDd1CyK>!j+vwcUtsxhEBic=RtfDo zcu8pdOfeD4t?0zW(Lb7hq{W*=&yp&xVV!U>(#ZBlEdWSu_K^)hbb=wuKia^WCikf1 z>dGZtqN}mG)YhiDZ}z z+G@DUA=22hhyh}~4x-PK5C*nsDK;1f#XQ;(Jb<{S?d{j!(7Tn~`BpQCwT{+PX|ayW zK!+F0o{is8GMbjm?EFYsJ4i9Th+xPR>&&nC=ap~Dg{yo^|6)-#)$pA>&3kAza9^T8 zCimrX{^~3QB_I4a4PKBjaR`$eY>ZOd)#aN)F)fLk>st4sFIqwkCj++K9VL(Pe0f`3 z>{1>7DH3-gRi5I}C3UxO2~|~jU2$l_0IPExb=JyySL3Ray2#LqeJX69V{>JjYoS`3 z!9!s{ZrEj32FkW$)6$@K2xZP@)#0zMm4*u-fm)KbVULj)MG_;p4vABb?oo$$;X}Y~ zB;HgT|GHOvMpJu?^%#BUkM*O|Z!_ zmy?w0-UG$r_#r-djeinR5VWW3y9SbOP>4NKT+W%Nq2!$qUHNPzibotObjs8oJt6;s z0h^Go_M?@AwoIdd;38|@mZB;%LA70As=qa$b){T z|7P+iV^cP?0%7PHWUKEvw=vI|JJ1Eg7H+fe-@q|Qt#7=xV|_Ok%ko#l&I&oPL{!a* zy^+&iK|ya?&w=b5XMmgTz2Y0Z^)ngAInI@3;{kkgS&?`q(ZA4p<8J54?mx+YQhB=~K9=Fz-t z;b-oM;LY+gMUo~z8>UFPU<<`QHQNW-nYaRGXZ@Tzp{F89CBwQ)nkHW`JrwT#2tnEU zUs=WLgODq$Ud@_psA@glX$1j2JLMGTlp9V9y8X&;`2iQvc5e);JHL^#URFBg3_h&D zQA1Nc{D4!`RSeL1rWkl_{PFx}c=;NNPA%utiIejr4U^$~Ao31*R;L4`-pQhOiKV8! zGWLE;u@#EdqSY1n`4*sy?{H>9gr?R$WKE5Pg_q|o7fJUAhzG{r&}B~{)r#TK(u@3 zE)RsfrA6s1w=af_wY52wrFOm30YPc#;LryZ1%BPrYX3!hGm_fMmPYdZ$xE((*EGA;>x)Op*GW zC1dF&7+oDPzVh1u$9Lgo1GSg$26r1XJF&W)vyKTMNLhtWURhoKYjx-pl-p$`=F(Ti z2aylR2^If^lm8eprK-#D;u<7E{6t*~G|P;bgXkkN=%ixEBp+*{*wkbUbzhl00Y0YJ z+GNSQgnoM^uVk&~MpBZ|pW_60d}h;uoL|5yT>XrES?u0NZFIJqE3S!GZ|GJ2E&Bp! z%(ku`H&jPI`X8gAxfbzY)}5Y&60%Nmyw3=u0=!sA&MA%)ldU&I65Ufe&)@eKOmEn_ zp&fQM2*pQIUOA@L_-BDm<`g-iz+V|h{}7P`izfGF#?%a&;j|*H%t9sl%C|x1l+-4M zqY|4(o=9d9DiK9Kfe{c)Z)^051=QqTPcsh6(tjKX>HW5&(|`L*rYR0mzOwE;1w<;b zY7{FmWAHlY45g?sAn^cBcNOMmyIZEwU(i63PG3ioPaE2s4hi&%?}Tw9nlofEpDqSc zon?67I7{mqzZ59slX1p~T{v;xM0sX)Iv*t~6w;PjMocO0@C@*axi^!uxwUfYPnoV> z^D&j~a2=nj!$}-;fs`44rH1WOK%_@?;f=30-4(!VdT^b$<7kTt5tD^=Z1C0WZReZO zj25n|TPGnu)d_it@O%aZm&{*gOuJ`=@8>MPJM9@Oq8RK``yFyS)ybRuetJWlB-Eq-k$Qbp8xp?^t`V4MK|}0 z&+Y~-d#bQ~MlvgYUa(2pliIT5Z@`$YCS0Ow+_&%LzkmI~y> z&!Eolv@=upsJ&#tS@)X0nQ{<1q_cZM{AkTPDqzjZA?BqrX++@6JJ*O8nltK*=1U) zQ|L`tEX1+|oL-h9_0`>#HQl@IGZtU}SHO=z+B*CnF8Vj{&s&@Ye@%R~;u)~?|KwF> zngSouHVHNbhH70qK2sHTgpa-$UYp#s{{7Hy^(Ko5A=0 zO1}9L>|YSPrmQx5%8uP)%DTE}#R*K%N2Tvv3hS(n)HmYC&ZMULUd!f;Z1`S16!@0j^RMB%hC>OQ{ljr`fr>7U zw)f7yR6(EU0T$vxW*1?`AV0fl`6d}2sCLJ?c2$Obamj~f-+Z=1VGhPp8}IsC@N9Xo zZ$WFn3~_C4X=QqD9g0mAIil(Z)+SDoIa;jWX75S=o8GS}pL^o~Ha10TYRcaUO?aCc z{2JLqg6>tTpFF)};EBmLA8K)g1Havl-0kon5rbqA)i>tXPhnru;ia|lZ6oDB*DbYS zHVsJ2H?8U3t)9!@B`SPVskz2K#0zr}tC3LkYz92+0|p#l&CDmu4nJ7UYwJDKt$Q@Yc zTD5|&x)DpUYEvO;2NN~c6L;Rv3f-F2dyK;BT7KDl@@wRgHhZtyN69uMf-$MSywb+N9{*x4 zmphVe!H%JZZv$joJXS=I{9`cwTCP1W|2fKCBdePpbMad2p8lM+Mm*%_v6=)7eSUyKsJ55t3x~99>yB|UA9jX+n zX7X5l4e#Ze4!NegS<|U5Zt@(y?fZ7;8fZV_a?^na3DU$zO_RO9%xPg@^8p8j`p{U6)KP~0iI|1Vts3!!hX*}N$@DRW-(7X2sk zrq&A$Q=(OUj6a8U<8q_!+z8qo!l0lz+KwMmqVQz)wV&~YBI3RH-`t|vX@@Bk8?KN!d%ya0pgC?$Udid|-lTii5y&f> zPy>RKW%-m*01&lgXT%iV^zNXBEi`n)(rB zZN!v~qHEDP$~!!>6%0ah$iNF&0rW3rj1HoKR0nDWdMtdki)&npuJrPNB9&sz0r<{( z!zONby?*j0mc!Z;$xm`Yz zNX({?MO&VeWy4P9)5g3Nqns4;#QGA%|HE6oibdy#j|wW?QDLNqabl~h;8 z4*cD-M#%NwuW`zR?)=zi0{0-Q4Oz`nHRq&O1FEA78PJvNs^}G}`i9Al-9d@n>a7eI ztyo9ut8>_1eUNtjMlUhVHAv=kulP5WCTF!zT$S%tWu*l4BvGcUe`ih3WgH?fjD0hs z2732>zfp@~6ZAuPHhb3Ig&M9yjIf+pn;cZw^rC|+-F(wiCb#))2%qgsvtDoiv(x!3 zQ*WxPhY<)Mrf<1@S$8;}EFtA^2zpa5Fhkzw(^?oX+*iU*@iopj8!0-twTEno^&BAk zWm2aSajzdj=72o{HAQ%l-)HDIg*%rbKy<@XYQ}9p+5A%~(bBLJ6$WiU>C`Rpp7^6n ziE3-K*4PMK&3y7FKH)wKcgZOVezf4PJe>o3f#al3g*m`h|9y6LX_dQL`AcsW{;M)H zFa`&(DtqK99mo?XDJfly+)OYn>+1Gty2$W?wxhysREP}vJTi58Ym%ecfVM7ryf)%* zA|aV!ETYO9F>(EkMftgr4h-tUTyNE%xO)sYM;Dv;i!JQ{w@}oUwnxZ$T)_DxX@6M= z39mb@Lr!x==+4Ge_|whr59mus{d5~yzPEB7_mI**V+g;f^8eagV;qn!{8|lFMEHgW- zg>)Dq5q3GJMBt3(>uPo4Y$^RM)<50!Plf*J?WH&n38ZyN=j4&IK{A6^IuG(kwhWw1 z=nahE>3W~9hxD)k$hj=a;Q$jhbnUR8&dT8q_w=-K=R+N?>x^Msuj9S(b_)*CeGeb{ zMx)*IV0Y{s6RFQd{4>>{z-Olkv^vdxE3OKP##& zugj0_qrL4l<)7DmPj}q@6NuW3Jw@W@K*_v(?~$)faM;F6II|AvF@i%ye)cYbeVQf( z{tzMw-0N1QZ2l>zqF->{7qw8Ze_@U|skjBcS%WVlK=+M2mahp2kI~$d)KcLE&45$^B@K9uw)2H}cpH zIZ-wphWjdqi&OYZ5Suk<7^mm3|LeP+O8s22vK#YisV!OL9eIY@%X>C#qsx1Ozv2QI zMKY*`e7yXKKt4`mPYDP!`MB+FE#>18`b}X*KK?b?LOx!^p|ENBIPQwA%EznuWDEI- z=OXcV>3(ibSqM(wDgxgyOjPO7DRqT7LTD`^&!nW_+`kq@{nQKf>sljIQFT^yqeNI^OA1 z7%mv!;Tm5Xe|(Wa!wbC!=Y#l`5?(sWUCZU{PvrYT?{9CU;S2QB_5f(-to#cNRRW9< zK!2$vPD+Sg2Ye4bnFZhAE#Ny{g8p)2kf?_ZL0ayL=y{22@IqF`f1J8u@6uVFXGI3B z^IpYMl)!HRInG&KEx^=Ybs%F^-;<&m~e2xRp;i5V?PL35G<&8#Id3i^pJvka5UKd+>?atf;X2U;3 zSwWP63bpXpK=rOrHvch}gdU=HnQ)D{Q z>fX{%jU*r&kPAaQw@MShXnU8;JG5Bwgm$+;wCRdSevZS2T!g4eH;a+uKpy@;mxGJP(47efjmkYBzSa?g?8o$FU)leLL`Q{xUTC|wvW|xwheF%MBLR~1~m8JzoU!|%gGBo=0=G3Ys(bql#LxUcs zLA>thi`&e-eySp1cL&&wSF2WYbf-vp-pcMBa^9eFb2LA`(B1o)+i@Nh-VhjdP3WN6 zR8bA@Md($0bJ8BQw8SS^zpZJ;T^Pkyy z-Ww+YTq1lSFBLPG?%iMv)3Fa9^sn#QQ!Pw~5a%P%yq!2Htpxy#OZy4KWmMCsxX|?w zb_3<@a3pIwL7>O^( zV(_lK5;d6!KTCVw1>CksW!`QWp|{ztU>)|?jBfp>d%wNh!eWrWo0oeXuAu zi{?)6&3M~tynC(Ke7tmBKdMs>=T?C}gFA2PwR}%HxivA2CYqx=YOyo^LF!ffdM539bDuYA>CUs)IZ=wfkngi>&1I3@Eo6k&7VSC#k7 zj~?mWz)m$Y_jRwNSWgQm6x+%e)mGd9C`3@fB%|z7ru5))b5{-1*w}IbO-7 zrmvpyhV#($H^#JDeEwTg3k1==w86zo-MyB(h%x9qbp#ab=2`f2lkW5n@|Pegd(2il zMRGJJX$Xc7jt^3$J^+IRc)7s8* zC^BE#yoH~CqCJR`y)l8Ipw}ucV`vWq^q7~DzR1Ej2Z7rew&hG}!<6fv_J4kNqJBmn z03{)znX81*7a|zEa2)bqb1Ir_?o?ZwBD7=A7Zqeow7}0O(obBCtH+obtpsr!V z9w)7Y;)fs}>>BJzl!Y2Br0l|Y1!}-WCcc-s@RkdBfzeRxVS>9*%Xf#$Lgh?s+Z&rK z`$ei5)BBOV%_a@SQc``%vT61n!B(a7H&n>N4vS~ zPwMmdhql_}y>*zrLlN24@v*%C4?!4;=>|h!8h;;hh!94E1NaC&eo41o=++xdqOrl; z!N$`mx2{fC3%iMKx&%4Q#(#4eR(dCT1Tp0pBYC$^)0uZWULYr?sRN_$7az4SZF~kK z()0zB?C4J%5{fOMmeBP>Q$RnV*l0jxhiP;#a5ky5D5s`;R&*C7&!-NxJ8i~Ir9$1A zwH$7(xrj}p4edys;8qvq(tPf`=*umLnjNCIl>iGzV@(=8r#(HNu7#9diLnYJlKUg% zux(Tu&6|z_KgU045yYAVNpiZrxGBP&d^PdbB`t3z;<&w7)9t>T3iNEMtwWL<=iBCgY$JzR<86=IE7TwnVeNzbwmyvLB%!I9IXJ zYb`=lESbQkf2@vJfoXjN)6>-<#iQ{tsXB z9DJNCTelkwHv$$;`2dwK1D0U^wZ%sVM+CoXAo9Y}b#zqQc{Ml0 zdUMzV?#spb(4S|AFZu(CUafr}4Rw6)EkBQ|g-m|dJ%vhIJ2Vh37wl=mWx4Qt5;X() z5-xRc^%q<-k*cYPaFjST-MD;xY!#evLvr%2~)7LyDK2#i2OZE8E}bV`L%>k z*+0I{duW(D*L?<@k|=w82+IoVqPr=&(w zn5C6eaG%Aey$#$_W^MN*x~*={R<{-3w+lpglI{}i98DNV z^%^b6wyD83W4|bzC;LIrCENW~7t%4r+8(x(Xq=8ZH_$8+zMXH*=}jk#HaBPiz<--+ zG=>`upx`|Gr?$o*r-ir4N$qbXRgym|8N@NX(~PC0$4rjZvd66(6IDY0skWJRyyfRh zT(Gmv5mTr^M>nV3)@9oBrn~Zh0NBVzIYf|nD@_Cqx~tgxGZpFJ(U4CG4eNND(HDdt zJF&42AjthHwjnU}tXJ?0ishgkqXiBL8*PP>Cl;_HG$({5&NkwYwH39(-%zVaVr8@q z_sV+7Yb|K>P9l8wV923)Yvdq3Zsed20&<8>7dg01g0G5nZJsjZ(0X^D9JIeLLk>mW z;suTziUM*d^6nYv$btQ2o0G%Axpf7Z-GAn%IeNI`4~`y=E;o9Jw??FUr_fO97bYnq zpS(BDHu)aS^GYeLktD6#p$1*RjLVKl=5^l5$9!x813_pd+x>8nyxX#850|O3(%TO8 zXSBVbeOl#s_wbJ) z_<0a4y;Eo#%8d!@>$gObcIwxb6Vt96 zZ5pzL)=#uMhgK!N3ys7Ok=t#e1GD$i5ppMLS%@zxBW-j(V8yyf53F6*=y_3QFZg<{q`*YAwLhZK7z{8wG`mSqEHSh}h_byZUKhyo< zW$~NKIej?1llYB7s_=HS@T^Ute9Xr#CV8-j4cRl=;2!9DXmr zBmgs4AvwJpFkZd=|E35e<1l}*$m`o$QK7Qu8ItdpM!eE?X5dFJmxq)r`@708Xm;0Y ztYC~B{4GL?wPLZuA7F7yG(iB{MLd1Hrv1mJ`7S=l`RvYMSt%z>7K{IZvpXB7fO^6q zX?d8p^Q|2+`8uqIZ5T*2pz;hkH=I$;t=aCb^!Ub5j2qhtD{yvQi6dpLK<==&#KZb% zfj97Kr$3cmC=ceLO<>qeuuyDAd$)-7331WmT+a&Wk6R#0cV1ji(sK0bCnNq5-J9#e zENB$F&`e`>F|Q$Y7Hx2}mwJzFq-m<#I{(nSrKMo=V>TY6j`L=m zM~n2`;3zo9Qcjv)oP4u{UoyO;4U{qP%I0SG{=Ufx_kNb%M|j`#fsdNY%C>hOr--&U zPZak5>74TQE+%=@eCNzpFdp5muCx-fZYtp&3oz`+g!^G->;pEYYdzh@05vH3;0hfm z^EdN{Pe~k3 zN!=BShID|%L>w#jbi{F_*Yhe7N8Q14>yBJ0oLQ>TvB1yBMdE)tR74R;w5q#6?o%Y* zDq89LVwv?eFF}9awyv+}9TN#8DEz<*ug{-zYOL*)g36{313#-}J-> UPNn>Sd( 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

acb&gTptJV(c$Np!@qmi5dI~L+r$6YH~tIw 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%0DA9dB{JlwfsZhCJ!Pgsoac2xP6P| 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 mljXYf(} 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

N_ytL>a8Uuj>RAEY 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

XL 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 z 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Ⓢxo8^Q;SA!6{pidY<*lI5TvLnks7!Bl_zegt_#E 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%0D5iG3u-wTaThOD57tHMU4P2prB*pa;cAH>;*j> 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

fmbX6;Rylm51IWlyBmwhNa_rx=AFvDQ$g@#y5#{ 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 z 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�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

Ti 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 !pFi{dfZ9q9 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

8=1)zzFjdw?XpWi+VbWGBx}m10 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

YB`pME zC^)8)Gp;v+c*J;1xTes~`5TtZVOY(3VX&Dt>_5VF3-#KRC^?#84ey4*Za@(CGc1T* zw^8fs93`({T;T06+>;36T+ayCBiPV3rbWq}3U*Y%Tm{sxu87iYx8aBmeu;|`r8`KS z9ef?l(T_*jQ@IZ261EN6AElp|ifFm5!j!c|J-{GXWjUsV4);CBoea zmxC%XF`U4oVOddci6^Q*!V1E{!+BOz*SE)) z@+!uiIuwR`#>PE{wla!pd#zVK#JIqV+G=-e1V8E3g>HBuEcu^6venx#kI)X+DX;ui zr4EOsS7_K{s25rm$`~1sFnIR)Fm3&9*d*cVOg*?wjO@m+Q_qFL7TB;ag{wCWk3D1L z1O;mdgKf28uM5{X2Vj$90wYRPpC4f4Ol$bT4D^WQLBzKz4lUDq5c2A(DT{|Gx1IIE}s|9_Ty zr$#f)ow@hUsHo9OrI}JANkSV!B?=*_kS$4BQlYX__LyocUy%^46e1E?va3Y4%9fOU z$^ZF2=Y8(|-0=I)emD-!+#23E5$lG}O*`@zfWCw}RR zgumLt7HAapVVjek67Me%ceC(GzVrHVF1B_VW?4`Flc>U%fBliN((QJ8>sj zBtBTIbH~PcivC#)c_nDO7+0|wKU2upH2h32uUxeFd9gpnl;ye97wx2>wMyKw_;Jnj z+I>K`Ezv1u`C}^HEZs7&M0>BRicMMDU0EZ&yxy`no>1a{X3ARrs7-BP^^Vml9pmL) z)*je{C4N3K6s)kk&C<@-OVs;poU3KuBkTMhUD<=3_-0upHc0APcjF_9epyCT=cF3# z@;Q+zRJ$rn_VP}a?e}#_{{~Zq@+eI1N0~8DUu;&~^OH$`zQK79Ybkq5?|quosi5W| z74I!A@KSo>&{f5@{r$E5FOaFMgBz#(d}OqLcBGD79c(AwSWNbUlwWCK4{9NQO6qG< zIwwy2pNdbD-PGKaTCV5BrFn?oNU7!~J`gEut}AP}m)As0Z(GW*Hf4DV%bP6A7ETv* zw{w3a^*10*H;tv6wumzJNc-z-^7|sVB#&1O?pkmcic>w3(+Y&Nye5J>(BaMpwVjO5SDIQ%K? zPcz9U-V?#Sg2)V^Q@y-L#Ua%x^`Ek(C@k+6nJrtDx>D|rq^@SJBe>fb(ygIE=B(-?XSz}znz&?Yz*!? zSA~uowTLD0CjF(z^272d>`6pMJ)P-~AH>?*mHGD?+{Qb!l!UBsPAGF@>h?%Ox4BXd z_wts?#_;kof1^n~*uh#g=0)fM+8=pdUI!Ml{$*`awUDvr?c2tjtmOTTq56~CxaT%~ ztoZ0N{ZlLQuLf!lKL=On;ioz7JguT&G0&6}doJZ%+drdXHvtYb&%Z}hn8)UWd8#c> z?)Mu*2m0q!gxx_DOO@sjFbd|(t`64kx35gyjf^$MF_5)tV2~viI;hl@iYDfq(UP?$`cIg}{vNTHM4n>%{L5e$Y7TP`2z;xBIg<-nI3CHhbwe_H#v z^V$A!WY)Yf(EL?L0o|j6(T&%B zBRR~L9RB1@X1{d@Q|VUUbnu!%?aTR2^7)zk+jhv8;x8s8-bc+aB}c6)OK5`PUJ750%%silhTzA! z9*$q9v1PD@}LN^J$i~DPs~Lg8bP-6 z;>Sdgaur$nOiLdzG+TOGFMf6eIWHGE;ere@?Ap1h7r#1!{WurfGh2SV;8*z^bNv1Y zy7tLAbvP!A_B(p<=OV~nteBd-js`e@}KB!5p)UH&?C0^R2EHNaO1I{ zX;v2ptix91|`5r=^32F_dltqSJrKSxd*l%*N^|DxhKQG=Xf=r*5(*aE)NSxg9 z5#+(S$bBP7@*EXGo}G)_Ka0e$%Dwna5$v70*n@MhSk{~fc113>R|IQZ;>rm2`&?}Q zD3&+3P@nnmv3U=f|*F>R*vp|YK8xGCsfelgU z5nlYr2=wq==%y(2NH2ay1Ufnwx;+Z*?ZvN(KxgGbcSfN{dGT2h=&QNV+QXW9@+Zru z+DCiwr4i_lxzLg<)W;Eh5J5H^meT=yM36Y59T8-&Tx9bI5|>f5ceejW z9Bj;sFOFcxi=CK*WnJ)X1p8Vp_J%B0+)(X(vO4%V7dbP6M6XRF z$nrCC`d~o>iLG>vAdkpJu8bgAZ4ZhdN9Q8fMvzPz7e|mYbCKUgkXY4i5#*{|q(3}k z{$kVfBFOEz$XXF3ZGR<#+~drgw%3gy>CZ1C$R4@KR0K&q{g&CDAC-&TBZ~~Xc4J!E zGlH$o#Wu}i`IWTz0TJZNT;#qHB&|O#g4~vi>=;4P_ZLKv_0P&_{b3O#ZMrdn?3Rl> zCW5T;;txlV=j9?#jv%S$OA+KQzs*ICjv#4!X{)T3 zN=M|h{jvy>(%VIlU2~C>BS>0wbObpf7kP68Nq>%rAaBb>-W5UOA+L%cpUp+yA3@Ug zSrO!xT;$^sB=uYxL6)4I)Apw$NZS5E1lc(kxgvt3KX*is!*h{uMv(Z1qSo1-zaMr%6~Qjc#cs`FWz6@CAUEYA|A-)I)9Ddp$vHW#&p#vMN9+!JLIm467rT2F zE9Ku4K@QJFHjW@Ee{lqPOD?ii7HQ|4H4*HxTj< z2`43y9blg<*2hkpMv$Fzk%J;g?6hkHIXo9RB7$t^6%L9ZBPEZCpxW}P;cBkO4pk^G z$a3)LPj8=p?kEm+HV`$OL!BW|>YE5ImPs+wEQe^?x_$DSo==*;fXxJ74F$XLNuSpU zyedo?%yt6XglP&>{(T3pAyny#cbUc75_>o?he1s{3$!QyJfyWeOv_wy9_Mwvh`1Bj ztx)+jFz+iWt*EJjx|WDHLA(w%*{lfZ6gkxkpH#uIoJ1AAuFR=0f{+8zz6KY+LZi+m zYAe|i&7rv7=H`gY?F)1{{Wv`$QF(?!HKwf9dWP z8YSI*GKHJ&cDLfCyN~?0?ryEAOn1*wW|!{1b=U50EZzO2f_-nIjDjuu{`kA z(_Nkyc;y!n?W8W}4 zG+6fvs2AVA(%OmSdxpchS04?wCX?^sime7a-eP5idqE_NIW7zLnxx6Xy>aEm?~Y*K zcUbpoiEW0y0>bf~VjrfspE6i|Ht5A)h(xDGYmb!c(@ZbERii}#J#4g7z^bfLaktus zoSC-Gy3&htQ>=}qa6Re8TSijM$xX2(n!@!b=h=}IALXX_E1JS}pBFz%Q;33UU*wEi z->)(~=HBw+SSXTvCyRA$UKq{Yy#VILAByBY+~w|G<+JM7SJ1rp%1G{a<>p?LHE9e{ z-vspHUqn*8nww(kd6_}LO9c9E5n9s}GUUIsDL5>D_3i_`cwF7XBBK7ZQL=tIM#b_3 zEye7s?kqk-<)Z(CRj!lc9@*N;=~FKAT&w7z#?0)U+xb`F zwEP)l(2!@vo!gmbtX|Pm65FD!d9>`;8tZwr)*KG5McX~)DQhkHya-I?S%okizcY;a z8QJ{n+rqSLYaTf_IFGme+L~9(yZ>|&k8qD|>+ha#9tZbtYn~SKiEyeQ5h%d?gvr1d7*#b84pH-GgeBSBY0rNLi#$Sg)K?mAr>iL)c zLJ^xQO`Y;%Tm5vM36%{@Pnhy2 zRJM|s{9z-(URhb%SD4qhcI;27G%v_C7|uKQ*VxZP*sgf5(r=y?Sn^I_3oG;Gdof<~ zy)&Zco#?=f=+(+XgVH*_uT|y_gIsfHRQtvOo;S%qn75w&)|LL$US;ISmsZTb^jq~J za;k0W*t)W%)UkqDtO*pKuGkl_y9bC6d&GI2{g}$(`LX)r_)V2#xmMWD zN%QBC`+Y1!>R0Bkz65k_=AOnsvSNmEn54jBX`%-aH4sWShFLDsCIs$AatlN=Y{lQC zsqxx@W!A$~lfN5>36*a~zCh(e4;KaCCvS`f99 za({*lbM8+aykSuN_QZ6(zqZ#7SnL3p50SnLrF+1PBqr9AK*`S?yt)vpqT^v}L_UB( zZ)Clo^iY^JA{|Cx3X&@g+KX?{mi|p;CsT-2n0K35T1@LDtNCety!bv^>pGM8F+jx_ zhvT;ek{|v$#Cg1aVi4gd#g~B(UsI+DO#CBdDquEea`M7WD({Tko9x%+=CWVM4yVTG zxz_XCv_jBAET-0X^6p`s%KgO>yn55+eoM?^rygppxi%5<=T{FU^+1z4R=JlX@Q)j4 z(#I;>8n(Yzbjg0?@K=TP7t=Du{Z+Adwz$74I-25&7VQK0RR#YjU^7-;tuWS{ze+Cb zyjGEtnEYN`L-Sv+FupDSCNBN@Z`d0}`R(6_d9%Veo89f`{-DB+Zic9Qo8*{JB&Wp{ zzTXa;vV|F0h=Y> zc&COHjg8+jZ|pX#XfGeGs%09`u%f&1;N~UIMiu4v#fUNQf9_S$l7~5-ZB4U^BFQcP zByMW^%`42$30W^TpaO@!CmzNhSYiC9x+dkwfiFcKO4aI$*WKC1pO3rnk7oX=)i*Gb za#Nc>cyo;C0}QiKOk`)9qor#3i&~Jt(~dUNj<3v!@xTIG8?WsGc`xC*GNb8vL#?g! z&iJO)6Yx#qw}F_?mn~|Th>&gz58ub08gLfoU`>S3i z`LSXw_am4AwfunTGq|D5Xq&rheAO(tv8>U0ievuS)RGQhS~}|sKsS}uAI03recn!X zTFR5w1UHu%8xl7t^Jp-&%v^p7rgbZAA(!{>D)U`)3S^evscrMTd2MU+u1s0#ataF` zCu#>3`W^~if!Y7p4qgQmEQ6U&;C3h}Xt~KIoVt8}pz)h0pc*gyQ?oN(&HQw? z=-gZwKJg7(1I4Up(3Yx>bOW+Ntu`KFb zqR<;jBEKG=KInnC$sZlOJ)xvXV=9B6D12)fhLR8pWIc1 zk|H%(^oKhFGFhx9umY+-iTsuWx%&!i`dXM)e|7L$Ku!M8jKxARJAOcr*tb-epg$RvdcQ5NIhTUK%%NfWTcK5QrlKfl*XFv(#YI|Dad>O%0koCB|oP96PvG2p3 zeS10feMFhL6&y~RI>8!vzcRn%Iopha+4Mp0XD!1?)nE*~Pg!c%6b$?+qK5q4!8-*C zR>C|;U?!9lSnM4nb-gO?bX9q=jW8z=7$D4dFp~(3gL?l4E__2fN*MmiWh>-5 zkE>|rZv<6|btd8{k{<~*NoXoN{zw)OdzT6uXtGx&SuG+)lVqfnJVOztk7g^gj*=Gw zb$v8n<;J<&xuJ`D;%UMOWk!3xe}Win_`SB(_^NtO^SPQ}U+b18>TV%lwe450pcu1T0Mb}i zv+Nd@A4NCpTh>n8jNiYa&L{kAye4GCYAB{z1QmQsX-^<^V^v-O#1ubVUTJ8cMRvE9 z%NBXeHF!eVpa9uZitIqDwoq+TaD%darQlHr&Vwo@koQE*B*=tZcEO$$KMly^U>||H zT&vhRlVxz!+p-(Y|FzUCfcv~_>#`uz{Hw2Xb@{clk1Eto#A=m*~ul#$dSpXlCSLJnwtXKY{R97A4`o4l) z2me{B>)@_>Jd<~xyutOC{Smid+R()NvZmf?`IpG6y*nBEB{GPR&sqgG+H_zSR?B>1FhGI8+}CkuDUh+7nFQ{JcCnjvh~5{B*iG|7;vs7{ z-)psZwVSTSZeG<`v775?&VSpD>p^EXe`-o&H-%ACIVj3>Q^wj&TE1+s*xJoVwJ7<$ z8u|09&z$P)W^w5rVmJM0#SxITo5iL3iQOzl@Pr7B-7GHcCU%owm&p>ccC)zjII)|P z5F7_tyLrmm&Ep7WL)LDdc6L*lV>e5k-PGjR&9aQ$SQB}%)L)^kC}{Sn?>(lB?+v~b z6M3ODRZf$FZba=~ROQu$g8gA`CU8Aee<;jypkLp}q&W=cb)+vrUj4ps<(Jj=X5CEG z@i6TYRbFeTU^GnA_wAs=`-Aac+_(P7n$Vjl`HJ0n1AiAw%P8g z5Y-G;FhgELm9B|PX`-m8169}$Di;+^RFqqr{wxX?b)5)eAmkN}`@hPMsEdo}s#qD% zCt`d5J)WIqyYc*_mSG2KO`PfV9y?GIn&%+bjOuTuxq*65saY3Irka;Sc9C*VsaYL; zk6<%oPZws`;fFQJOg+<%qyfn)uP+kDUM6tw zc$v8)CUv|_*-=~Ss1;FLVtIO;+oWfVsY^2jnK|}QWyFhi84!u_idMu>K}V|sf6y(Q zewwq$j-?I7x0zFKqW2eQrFPPV({8B%bd?d<$VH#4j|TgLWyw^IN9 zv#cla>hm+*MID`H02V=4Z?F?ZWpoCo@5Qu8bXB3tH3DdA6sQpK5!$vo^@DzTh_3(|M)l z-1$oCIUcg3E3ec%^Lh@!QmFCIw8mw^^0bnXQoFPusQsny{YgBlbQYmVV`(G@mQ{Hj zp!geFtlV%ojRI+BP`kg^gKdLx4D+Q zCqvdKHmCO%qgaLD1;{#ruhM$(ZH}_Pwm-@oOdD)9|3liJr^OU(<~wqyD#HuC?P=Nf z>C}sq8T>|6{oSj)6cprP*P{rW10@9(OCoszZW$CShbgMZK?qd7FHDW*={)Ym}8LO*oZjj@s6=wx%O_4bVt2 zv28YyZe;Vr;=x%H8_RC>1H~GbI2M^i>X zcKNg-ZJt*=ieR<~jn7z-HqR^mM(~>m&9Zw%+B~o5Tc5KL$d2WgtlAzyFaxs7r@Zg}Dc2@SautxEc%RhhPdm>=tCo&-40R!K^W>RsLRgQGVDx@E&f+Rt*Y% z0k@gJC&GLUb5x@$uP0O?Ih22FTi|CxgL;bLAwaIXAjO>s+*Dc@o8ymG;~ z@_Q411Qd?bvb6mAd!o5MAXigjtRc)rpe}%7tze!Y@Ca1@NSKMht`S%tm_L#J4mHX9 zM6DQqC>Iv%pF-?Bp!W;(RG22ss=P*!7k;9JkEQDiw=3hmkzgO@Nfz;?Y7mpaeNHx_ zM)rJRpq*zzNE|2vJXDK6> zt;i6s?iD&8Bnh<;y|Ce80&gR&58g?~OYpkpB=lrje*%=l*b5tzYI~o{c$8z&89=5( z_QD1+=2-LtB=11(!iLD@ShTn~qaU&tHbg4NqDLa>2}w7etKDc;{M3c|{>QPXbH=+K zi-yy-jrYR+RmFCuxnI8Ubeo-Nw&`Vzm1adi3Dvdlbu-OvX>;RhGL^XkvNO$XX|qv( z5y7(}G&9X@X|qu;ZNY>B*_r0HwArYiiC~CCn5F9-cBXj&!2-z6GRF~!&;4ot%-HVIrCz~g40>m18Tbd# z^u6iSlv!kSCs8Nwji#aC378oKrVH~d%mxB$g?Rv`Y#+S0kYo^BjpPKlV<9uQxB^0N zF!BDVR{59DqyU*)9t3kAWTuDD2z(@r%m{5;a)=0-xn*kHRuPY{p}kD~QIVTlE(d!F zWU^gMV4*OQ(*^?Tp~AVE_TT50>mzf^hcuyvy8cN$V{2j3t*X3yC`@S2iGL0|DO1hp ziFa2n5pux%rXln#CS>+1=d5z_%($Sio?`@P$o6ss@Jot1faVKOv zsKdm(ZGv$g^m*c+gDS*>J4{|CRNr--^QK$CZi2#7wM_M<>Is~&Fvb55`}kivzDJFE zf^=)T6*8W{F~$>&1o|CjWIVwYKrV-jC#WIDc!H%!7DMU@)`(m@!B5D35VSlX@g7u9 zP_Zv-ZHPbf*ycX1E8hhH63kA=pLDf43)nEo)XFiYR#Smq1(sQl`8kam-UwNzb!xh@S!33j z2woMTaayOQ50Nc(vZR|%5$97Q0Jr8TyCA#Fej)PpC`YS5DZTj%}p^y;;`+-pEH~nTXng0YiByaYnR&< z^~kh;dINQ9TNtvh)^~2L>rxElymV^J1DNgaM4eTMfj~iuvK}VzKVkNQ`HH}o|6mRz zrb%0-eJE%Hb2@<&gsBDdK7qHPq?8lug`|GFDz5}G-p|z|^lFIr4{eoy+5PJM#(^0F z8Sl56z)Ql2&)Q=@4hSIQ{YLKLyq^p0Ee6M5#`{eII}tM8?^y!Ngpr)SAn+Mfc!TEh z@80jyi1#~=CTygxzf#ZG@h}bBqkJg*Nc+^RPSe`k%kf!H1C{f&@r;A6Dt`_6+Y$MZ zDi`1PwUOIp&@ipohZ)~@mrB^=FQd!)waPcXZy{Bf4;kO*FmbP3FwXaFAb!1I#P>N& zEw55A&fmp4&^J){h?bM<@0=BJtVyb1R61VpKlOKQNwtrpmZ!sxF`i`}&<)s^UHJf+ z4jIp~kr=!3LGliyo+a^&dY0lUv;!H>(p98p<%6Ur#GmnZGqm@(`wAo&osQqm*LD?Q8O7 z%?j%Wm#f?CA4=`Wrh3>T&JR{tKlms$e;BfUu)_MmZxL(~q49$i)(>{+SmkwutRJkf zesC&+>mcg~+gd-k4Z%l{^@Hu);;lT#5ANsu;Kq*8V}kb1?akB0TL&kYsEfBM=j9&I z#aoxOe}66Ya>E#!Z|6BL*M~VN=$uY{{xHTmmZ((+a2N#z(_qRwvF(9^nJ||U7$wXk zn2!m(4<#jorjH*xckydIG8U-Jme5k|aD z*cq#WG5%|LZRfvS=pX*;YVcP<#(zCe;5lI=r_BVugbF{>T>jmE4bS?o^a`r)J%q)+ zNT9(%G!2Tq1#=aFvBLZWQ{08qL8yN4HCK1Q|46%HwP5Z?dMgyBw5yH3>!r*O*y%i= zayTlxynbeDcC5yVcUxs*k2BuzbglMZq}sG=s_-I>&7ZysUW+_pQKgtlZ2qUjz&<)QZWbwy-eYYF@6JihIDO1SbcL>egJ| zF^?+&UeGlizhsU&+ijG+2{LZYF~+U+0eS>5w>FU&ur;dizjvSt5+Mpk@EQStKWUp`Ol<1X1$xr+yU9+`DEH0&wqg69jKr= zMw)k@I|THOq2to&f|XN&=QE%M|58&cjO!t4L#8xa{AG?H4UJ^*n=nl}fUqx>moQzqV!K60!^5RfxTrUSGMr z=%g7$OYcqVEyH$NAM-q@zgKvcV%mTqK0kbVo!yWNKu$u<>o8=!UV+x!n(*pE@K?$_ zV%exMS#vvSo-?<&zcEmxAbZ7cdFnhG6^OS zbu*ajp`^sLxWSlL?-tX||9x6KX#VeS%&7E!YqOp=RTT45%YwC!k%^em8)UFb3KPYQ z%-}W(4rQ!%xcc3zyxpO~af-$c~vJr)rU_T~-f}O$}tsuO?HZ3q{TE8JFfG@av@bx&K!D zq0!=v87@%?GlqsTX82;ugooC`7d66~;cm)x!o->q{cmP?f@1!^X1H2`)(kiBqEN8j zn&BFKD9mco{Q1?tJ>kr7y*0yl51#ZwcGb8(WgaedL(oNpX4SYpWgafwfnX|RAOCGg z>Epkx^1btqQ+1wZk_)B{%DYNl#`(nYgY$lEOMNyveyH8fZb|vBZUqal)`laTXPvhn zroJhann^{2l|*f#$j_kQJD8?DnM$BwBg_#5dI|Fm%t!*~K}H{gGugRNvFm{+S|+BF zb$E_Kj6T8&<$8+mjHi_A5BCjVw3B-ln;(9EYE#>z@}-MJH?6(ACNhW{s#%d2j?v7l zcBvys&xn!EC)|@`EDNt#-V=HrWZza;j@DblRDo zGM6`6(V`ZR)z0*kxx_I7!B7zz?MzRZ%N)xPEE1u4FgrbUf}A|nJput_cU<>al?_60 zB4l@5)hWG4JMoK_rXKbl?TnN@m@RML#)!?8jF~BYeN5H(V9IxmNF9n2st)eIgW`1~Z4iLr{3ICO+5bppA0oG?0Y<&;jGczCz_{DCZ|!wg^wq zly*4$(ToniQs+!n1&@5ppI`k$ro*pH)sr53o0_}<**WvdR4Wk{9m(@gsNg*6`SHBwygN*kFU zHc;d83Xj$3DMYh`;2kUXk`5+3NF!}SC+5@8cDAAS-X1p%%*!|IYWm)cT;aN}5udO5eK}opmJYa1tE`1>Iq0 z5x56R3M|$S$;WW-L&mLi)jWOAg))=yef#83Cd;t5LabZ)TFW(0DF0MOF48ase5$Nm z?pR0Ctby~KKI8j&NqYIYwk5JEoYvoqyOzlsX}e7*JHoKN7HzH(9jlDBjjQDM(Y7Yd z!g1p1HoFt8YS^c2&*)}r(&(nk(N$h2$m(Wm(&*-L1Y;qqn{7!mIj=_W3S@QjLo(Mr z{F?M#Y4OLkSZVGn6c}ypL(%4Lj5e3MQ_D5sSA#f=CE*c2p%w=JabCDiqf8^)jyAuZ zV;i~cN88A1PBP@ruO7e58Q_YfIn>`lwZDg~Yh95vhx+Y~;p!}8UF(XZInYW!a=P>K#q`UKybC|U%nR#){_U0?LH^XT+ zOt7Z@YSNhc0t$E%vZnri(tqnG+t`9PxANFc8PD5zC#Jq8nLcPKrv52WpO9!R6#N0x zp)YTXK*3g+3kaMIB_&O)_V>QG8g2z-ZX}%evn_zT0e7*CUf#U$-KWV@4omjw#{>nL z!xD$%8m8dfVM$-&kAckdG>6IaTxd6|qU^!RSg;pC;ZQAC4^GS&oS3PL3)OPzpKV^4 zPg}#u3bA9bT02C>VEid%X5q8ifYsBKu#+a4YkZkGFm}DlGgBH9e3*=fn2jpToO84w zz8SQ?oW8`g&Y4`~B&Ij9N0?mr(4}S}Q|OV@Jv-zWJ~?k8*Qh1_^UP!F1a1IoKH_jr zxA_={bCy=XIGh`lu?`1!!!pN?MejUoJ)F9jKfik5vu-R-PnwZsa;0B2JNbF1*`w@K zvXj>T4q43}l{ByC9&|h=3|Y+{l{ByC-i+W{5gIRhRMNbj`zeC;kX83FR^0~-;A#V8 zy=Oj2O6SxCAgIS6Vo7bcvxaeVzH1j)R449a25`S3QN9x&rip98WKGUvnP@`kiL zjQb7APmrDu_Yt|A5ASy(?SRbr@I;Y{uRIsYSrC8m0a{7%m18O7ALA*r-Ej8wFTRrV z;rq1l)(zG)Ww5lggJqr$qf%cAq=f2|SGd8_(k@A6Qqet4lR?TIdNm{lBvd&8LT6!>ZB^K9TaSaxtPExD7job z*A67B;hu+L-VeUlZ4m20s6`=6IBm`N@_GasoNujgPum{v#TU>`eIk|vT?B>YiZE8* zMj5g4$AOBi+8;t1$3?o18XL7@<2C1L1SiZI%53FtZ`SBHG76Vzg!P(n<&4)%Dq}wD zF;*FCi19D9b7Vz&4Be7dd49NW#&`A&r@e+=S87_T*BN=})wg<`sxQiB*VExkPOrYz z>wYI=evoy7zFlgLLU4`<&GhEmrRIwWo)w{Sg1%j9mY#wG6f&3ILTdp-5e$K>6O1`0 zxG~2G#+?%^cTVuJTbY{k+?1$q!`8C=b!2x9WT(Vr(sxZu4MD3bwVm0J>YZI*GX2<# z*wtuYOUPgm6kGwbk-*1LrAzFR#BL%s?^NsyV)#9)nal9oLRMK_?7CEOEn)bX-ToR) zDN|VZwK7&q&E%YNU5VNCY}1%QS_8lO;gwEH>q^Xqpbb@N30WL`4h2hL z))M#ts&t86lGrL@|0d=y2rV_#%tcE#k=1`|$+g63shy@YTI#Kg)zVBk-JNf>)JJ2o zW9gVxPD}Gk%mvaGr*R4iSuM>kF&9XOBN!|~qow&J<^t&w1W$_4XlZ_lxj?$x5Nr;z zT3TqeG!Vh@kk!&6r={gNT3YP1RFk8nCA(ui@)|-`OE;951^sCVP7Nt*MjL%Z8yA$MOKE2?h^Qw?G!F{Sf>}r4 zLntY**cc?<8SEL6pp8>B6B!$QNdDj2a5Z+?7$4QfT{+r#U4F5>i`7Pr#thDA)M;a5Rdk*?Y!_{Gv-||IyBxCG=u_gmrWH)0Pv6&e`rbs* z#t|jy2WV$-2T_Yiv;Ye3hxwSmM^I8=v3W>hXNjVWHr~)oL>nKI{J*u~YV5SJNmH7! z;pt~Y?byhZpVck1+Hf(aXS8wk8%`T#CFT>Wt*Of1kkv+6Nqf=8*$9S-&}gHq#C*r_ z83c<(XtYsQa=d7xXapDAA*+pgRvRZHI0>@asPD8fF-IE>oHlB5w6Vu7+St?bSCQQn zkk!UMCBAD~!L#&fmHUvYH&3+Dq$J&rb_Q#Rnopu9pkM>cdID>qq`+cdBk|A1(;{JP zw9!mN8|RSxzqR3N?6h&XrZn0(Jx3d#C(y>WVzUMte1!F<*)`bXZ#r#kD>n1SK2)a} zWOqQ@ip`aUGZ74dY#(ngHY=+|2o^wgt+b;!cdhiJ1LDGJsjuvO|u&_v;4n7v8ET>elAZ}=i6SKsxj|szJB%Ww_PvJx4rlw)qWSU zy*S_YV%d4znt`mfEwsIO0fN&Zd!)F?3Nx=FKU3`gt);bJPQN_)7B3;ocT0okip_UR z3(m)FK*?>ynqMq-F+GqT3UM%U4xPD1vth$7YFJvFI+scZC+h{lTL_2l@sD*qMv zDMoH?ABHDuYV(t}UVN3pL}Sx!a`tWVLBRa*u#Cp~aSX}PmnO9uYbw7uexudcNR64B zIU)J;J*Tl7i_K>&52uCQA?vMgEHItpvr3w zSv5{|YV2iSnwaKz{WRtDVt?`|+mY?J?O)rw{T-*)d#qZ&B&$!M%9|DDjwY;%6}9Im zdZw!p4&jdOE5zToB|~!P3#jSOW_`cV&B4?GMZ%^6#ETkJAto-$>Ss611};5 zs-J`zOyY|eNwE~nT%->{O`g_f8*330mJ4$&oY0#}BLCQ?iAP8n?x$k0w{T^I@d}!d z=Ngp+-f~HGeAD=0(zY%{ZK9~ppr9>G`52z_LghzFj3!E`ahH)K)|-fdAdZKc{HzF9 z!}w<^sNlGu18{i&WM4g&N2uuwt-6g_$3NBnmY#moWBO{1+M3Qj_sH)<0+Zz3ZkIIcML+XrNHE>TZV?xRpp1M>rc?}WJ( zrq#uqS3&q+kOXg-I3LGtS#JwK>*|Ym^*#GJ9UAabi7(pla%{tM#0gv7UaSD3)>g;XK`^ za<@!$<%RV%TWeBFIKuxN#v!EqvQcbLYkN?}nO{-#mo7S=51C%vh z8Qk{)7|=e&sTNc?_=>1bm+?V1C@A`g_c{oS5hj3HKwzFQKLguJ;A<$^l?-Bg5Z!tl zyErJe56n~o*Ffb}FxP5n<=Q=;t;J^cC*l_n-$UU|iZC`aOPQ9~%YpC9=xp;s|@jmY?{-xKP@e$@vpL9xGLoo!b^4^%rz8NPfu9t-n| zQnfi4-+${TPDQFUvnm z`6nrHv3Ch=qMVPR*rzZ@T)|=$D&GpTzkXK6J^ooC)%%`^CqO(5g`E{)s&}|D-KgGU zrh0BN#h45GYpko}{?Q2T^=l}l-QgeIq|vWr6fV;UYwXRGGmn4vQ${SGmvd7r zPo}EK_a;jF$2Um?%@G$}$z5#7JneLtSO#703SF*W6y6_f2PnK(^KhjdH)4nnCF{IfGmK_^UbcrnCF|@k!*$Z`Q}KG%k$0F zS8<2|ndh4|B9-Tx!;uVu_={hlRv?@E0o3Im^NVOFsH(wAXqCxGtSo}%&BnO zN$koXyOn+04rx0bypu3n{czec9h~pl!I|;?A0_-F7U|d&JO4u~#-8d#l(8<6I){n{ zV)0i{#N|*Rmj66~XM~Xv@CSikpyYDWn2~V6WG+lWW+coYa64p1LQ+d}BjNQ=bR@*4 z@HHV&;qHnsBcZu6G7^>mjXHd&a&w`&M9H6wt3DeUSEChT$5mW8Gp>r1vEwTKo%XOyBJ)Z5 z597)YS7(3eMKrhTk^|*=;boeuwXG>_u&p`PwrUQy`kXHnO@tZEeqt?dQ;OAXg0sole z^?~W*i8_zPJnsq;Tn^b)$I^t~T+eh;J29bmw9?s7cUyZeSeQtc(10NEGutsTSPTU% zVSXdxDHgMKAtyHj{R;6gL%^N_RXVIg#KsXjgP7@%Xkx3@K#oh^qwK6E^1~-G zD&XpG`O&uCvTGPiLe~y?6KaP|$ae$_{^qZ~7k1EA8hsq5j2%q#8q-@ttUmf^%&i%H z%>2^nV~Ewq2UPSO$m(N=)ko>|=t9U`Ll|oHF&x1V$m(O*F8Ua5^>H77nUK}T1qpwi z)5kFSd5SWgS0nm3JCSZpeS)z>eMF)Up463-6?sSR5OsJu2PA&9tH<0td zo(WYttV6^eBz74wOCZt5c&&lxV;E&e_3`xor4QE*(Z^LbVMHJAX|_fmpDSY*$ot5J z>`qo6Q-8Kf9v;{h@HP3boIW~Pef&&Cw?o#sbxQ2ptTEqvzmdLxtaIy>=pv7du10W$ z2+abyQ{otTNU;{dJCM~}XREpWZeo80*#+`JiAL{GYJTYDERegn1@hpW1@ggefz0Pc zy3wscS2rntINn;qA=VN??y=?d?SSze>JT6468eaQf8Vb%0$&O95=_ahd@vd+yhgJcku9#j9yv&%1I1~3;XJLBS&O`@ zjI1`gP%gEU+&9UGuxKj^2s*xtOb2L?2DtdqFvjSy4{~+69+#!9;C9mJ_zXn5P$I@T02=?FQmY% z1JM(^%<9^WBeMX?SzXJg)qd7$87E;rT_l5Yk6x4!^E!!JXuG$(<&bARN7rq({&^YC z(d9emIr0+bzpAih`n|P{IWLgy<~&Dvj_0W3JO^8A<2eePU-(rWMWGY?sg5F@@VEb< zj-rSG>MP@UeQw1Rl8IE0Z!v|vh&tmA&iSCA4a{={o)V@PO!`iq>OjGPFvk)&5=z#P zLF_mr&%iwa#fHEfbr-J?L-o&x*#>0&H}wBVm>ozrLt&-X!3?5k#g*G_kMQJ9Lz$uXY~w}=Iwb6@ z5q9XMH77H`nkZw2-oj|ibCDR%nB=D?Pg4;??>73oED_%#{VkvHxokRbYCt)R9eO~Y z0%nHZTR>ii%+Sl%YUK>Q{JX2XT96xhq&7pZ5?O1=4!zrT=#4-!+@QVq4>|^9=v89< z|2_1aA^vmd$;P&aR?DuJcJrCC))tuqti+?Xs$Daq?2I4WC|g@(HXjdAnHtEBvb9BK z^YJ-?4I(t7Y;BR*d~~>nNgJ{QYJHJ8tGX7!6_7dZ{HRFxw|s!Gn;e*Lu%K|-U3&ic zagm-zamH?b)$bFRkGUEdb@7d@uqXadGON!!IZIv%}lDoTI5 zjpC*e)ux)~WKi%T%v}WT5N0vVO9Y+~W)4iV8CBk1P%snbbOI+qNy#nt7Lr%so`Yf^ z!}OTR7lEMIH!$B2SP!-M6-JJmTf|uqh12FuC@&%Kv(~JYI9LAm{T@R~5^>)wKDz>i ze<;F?zfx`0G=|XbKxLpz;9vK7nel`N#(9nEwwPDAmxA47CL^lg_`exP8o{^WX@Gxy z<9H+Kj`2h_sKI$a!38k45x7p6p)mRP$`KHamNc>Jkqm+BC(@3ZpL`lLK0q1yM$>Ft z#c;wr-mMuLK|QB+X9AAbMC2c2<>8wVdH8*ViT@p8@~OG>0y!0yKW=sIK2eHHr*BsV zUslt!1ro=fe^cYa{^SwP)d=H5;#0NPXVB5-Xc1$ivMQg0d{RXIqRQ{2Ulv-qC>#GM zs*Zl^0tNY%UbsOM7$^0OGUB8PJ8CO356o6&f08bKh9YHW+n%xc4pUK~Atm@4NF zGM>zf^zO-r7k9&BG41GW^9g8QxKMk+EaVT>npj6MIEJH`X&uGji)~LIkU8o8eTQ=t zGmFf0oW2iBf~=#MS!AZ;{s@j1p>Y&5i_CQVAc7jmI*JDm{XKK zlV${+i28s;Z$ZJaFclB*F*hie8BEMLq!&v}Pnbmno`jOy$Srm*k{{u|g<_Y&4E!JO zZb9W&!~Cs9?`^Em^U5eVb`25FfmjTMF|DZ?_%| z#cuAZ(V6KIYk_@9brfVRaB`79aIRY5ooM?Utu-eC$6H0mVLo`H;XH!h8jD+{1hv5Nh!=jG2EzmepqdNf3Bj z%WtA)IP)jWu$YLSNwXCSKTw1*!>^TDgYK>cYCW%YZ(iX~8tcq(9GRL4r!$F&*o_;bK|I_aefVXgzsvEol8b* zx5!+wM2irEpQLh`OV&i>52;+{5+7@j2IbBr?pty?mpr2h%%EMZjG0Sr(u!o}lA6d| za-t$-JYT5gnGY1*rmmDO zig(mVIkl@xPl-jiOJ_G^TrNMrGRO;WRjlpxmn!M?D%9Rht zTlxPhq@O_LHIW?HotwWB(#QTs#3_&AiJ@@0mSJ4Z8fB!z{<3Yy)MR1R_28yn;W~|u z`keClgtJQKNsRl$TAk`?+F%P9+led2U=dR^v8NMmRCTP?>9$ zwF*Bxj>3zr!n+=AyMT6>KfikHpHAV$c1rw`j`$R^!>qWdg($q~<6MJ<>@Z8(VKy4U zNXX27DL2aWDN)+;3y7Z!*`Zfn^{}w$(KU+aDwN zP=sdjv8}E-*sgqnX%4c-Q`_pAgY7F3jFSlSNMd_kvzyj)sU3CoWxM4$=Tbk`buZgR zKWy|iVww1%J}1@egcU*es7@g#S@DHHWqYb-BRyHWhdS3L3zqp5!nV zN=^jUq6HFG72{+35g3N}WGL1ZW;KE5q4J|(nrP;3@OLNc*wIAvoX;!eP{9O_m8%rR zo3P~VAH7#m6RE;|L@fcc2nue8`GmlFsPI5dP=x+bw%=9`rtGC6G5&CGjhCTb*j*Vn zq{o3U&itB8u`X2X^m*J~jV`4M;cW^r&OA&jXZ%1TWz59eSDCR@_EmK=1mnM}naByw zmt>c<%UusoH>%3a?rkpTr86}{YkTL(FNd$RwpZE5>T89oYxOM8*PkU@X>G6G0?w5n zYkMoL?F~fGPlU$yR$AMegWv(k4*gZu%z}kg-p>fl(0|3*&!6M-I@L!juh!MQ*hF3U zuC8m2WNsqW6v#S*59<1lYDH6Laua%rGTBh6)<1ZwZn{1#2rdP-l?=Xyf?HwQEW-Yw zT;^(Gh9eych0`_LJ;V{juT)M}IQ_};AN`#lZqK*_E(rcZ(S!FWCdORWYZln!0A+d^63s90og6w{Wz*Z&MWxu5v^sZF(sqxu_Ua+I*RkHQ$HBt z0g!bR=Ub;f4Z-!0brcs^AMg!=4UlmZqui+Hrn*T>bx?Wzkn zl<{=DGAtX~;Q}tLo4S!22mOh<{y9Ft2L+eHd_!P^Fz3SDvYa=npx`u^1D{mnYUzqi}x}n=w-VIoeUaA77i7MlFXq zfEsjw>~f`_g86lG4Y@mT{_f?C_M!K~Q=<9BFVNb^*Vuay%^0#@W0x81QH?a?WvMbU zUgCwCiF}%UyiG>;%LIP}8G12}EkG^%&J*ai?shBE>eu9GEVa{5~W*Z9RQ^2zc%z~1VCRPjASNJm10TfHY zTt{G>FpXd;R`KRL)S@+vnFkLr0p`IT1m4i{-9g{g`PfuXBDRp`BPe`F5oR9Tq)b=L zd=yae_U=KGSNMa*I_MNWP3G#J9Q1wGD1OOqv{EL%(XVhs37LuSI|82zBL{s$ zUge%Jl$11P;#&&$2o%=V{LIAHLK&I(e6p1(V2m8}wU40c*$67@#YaZuZL{)lRzw~? z7h&RWMwrvHDGIkmjvlra-uZ9VYIOnetdP6Llnqzv3Ew47ZgzG44y z8t4pN=DO)NDSnZ!6KccFTvwun+qv#VZjAWM-(pc~aS=Thgb#&{q* zpc~a~-HZ+7qX=e;&qk^7Xy=*kj4r9+N@65>Er*3Kl)eBA_>U#3L8VW|itS0cXFvDT$yk6z` zP*T#wCLoyzHx6oX9Sk4KHPgU-nm4Z!Se5iNEqYa)9?qqoNPWib!h3)Fx7i1Sl^f12NytMa>m4U#7d+zygZiWb%isjnu8{pMAM{_t|7psSFE#v60$!(^HGEk*A2N zB2hai_yp!+0;7a^8|GyKD}-4Ib3GIs0@LVio)bbrdzcdl94E}) zFw+R!3?(Il*wILyhFbuYp9JFyaMt!T*~bPEk^hb?6rlE61!Ha9lo^J#{ST;Bpm-i@ zZSsivXvH{dlO;pN^N0OEzRm?s$Kre7&-*;@yVv)v&92)@7HJi+C6<&HC6}-va;dhY zNQ#7%%N7+vbU{dpZm71BT*4NTu2L#pgd!^aR4OX@f6vUBci*M{`}rK^oH;Xd=FB-~ z=9!u2d5Mdf5sIhcn{L%=WCW8n+gO^|gyLcojTxVRv5Aex*@S%$quly(hSp>4VCR|G z!D4F%^EKzm_@md86`dU{j+yDGJ1Xb`SUXr8Gt<$-5bhVEnT{66%yje}gq=b(my{RB zI?4WevyYp2jQ|^_p0mbrAB4LBd)4sym|iuUUv5kHg_v&X7A0=!mXsL~LGEnNf6)>! zprq%%!!llS_=Waz#LE`{lIA`Etd*^eg<6i)m^P5H_7vgJR;+AAtm1j-!5=O5v6cG} zfWH9bUJ`c-G6Uo@5}O5?1ajUdysZdiN(JE(C`-U*0omVy6r7*pU7Ceu?FG5}Q(iCu zf^2QpSXQngw_sU^Gp%KbO_@iJ$XS{zHgyseiQQpq!O+AiiW90hPnqIX#3m(Fp~Yx_R>>er#e$)&*OMgr!Qi`qqYHA4iReHCLjPK~#PU&4tIZW?rC^DAb zZ9hgd&eZJz*XhdS97n=*>&?Y$?iWQCD#spX^fTieJf13DXY_q) z?6M<0+Om}ov0(OPIcIU^aZO%pvcc7vjQNn-&sw=z@Li;WTMt_ybN+qS!wz(?YLXx? zf1$YtDmf3kFIGWZhfMxMv5NO0nxE=3kx|K2fL{sZaT1RK!D(9L zC<-JxDJBO`uTroqI;95d;ycY8)bh1=Cxd8itL05Nc)Cn$GOFyWh*f1sKK6K%Rpm5& zOrB>oi7KD1;#7H4%zT7v6Jl-vY_Pg1WUXf!?=ujd z0+Oc7TWUj`f(w&|@<8I>;_z-(x3|YaPNb~b=;;HM&x@z>RZ{=9Sk^Vj>Nke%eHwTd z@H>P2PU4^-tw5@M!H?+zd9Ef`KHP`gHsrJb@~;PR91XRFaDRx;kh>5FK2}ML=l!CH zct;0>5dRrE){Fh4bmwexG{msJp=6nK=2-UfUXmKDDcjU=?~`@&f(HGqo!Nm~S`Q5t z+JVc{oEa)?XzsjhH*ke^wXqAaw*z+I3hip6=9kRrfE~C(yV@8EVUQ5bEK?XWCx#m! ztOe{6q>C;=?DWz#rYDAj%S|uc-1M@eQ3E5FajMIX8RIKrAt!xw1S-BkyTZ;Nn^k`A zSXOts;!h;2;#X|`1O5z?u`K#B2`tQbblFv$alhJx4A%Z%r)rO=7Xu+KPDZ zyYXUPaHrDkHwMg08O};VUI7~NTf`zma2opx)NbB~0?HxgrHuKowt~&R4+YD7zXr5g@G!2@Ib)4h><5$c?YTsluiJDk!@_2NDwpM z9+-@n695}Rf|&XCz&j8&2+@R)AZETjQ2o0mUS+^e5fPmtOwdoVJ}d8qUsa9flVj;y zcn_SFi*?@v@K3DUghEyLzeY^ES8moTz)UI2GPO*z#j^-n8dS!To3Xgi4Op? z?NA!8!KLEy**_)YPz_ex?<$Ll(ZMvu7GnIo*{Yb#(HGG4af6Z?Y$u;k**N2h*H^8n_zm1x&I5yqOmJeXnx+iMy>KL_t z7d87&aW(!F4Y^jLccPJuJMDsjy%$mAkI}3mn)DweYXUWn2mJXUZ<1IKWC~k&36!6} zz6Xph3*yzdRQy`vkJU3Sq{`qDWwE-fs@RL@GN_}7*d>}xQB)SSlPOxJ+0@|cxJu2U zHt4FnR+$r7UHj{-GK(~)%y5%yJ7unmns`hpXj&5Dht5qAO9{Ln;_I8b#&rMYBq4q4Iah zO8uS>&;tG*kc&xNB*-?9K_mtOM%$aqYS2{NazCk_@e;KKUuuTc_I$vz5YVMgljP%n1d)4!~ zsJZ#K1;YD4t%LN@Re}+;Krt^wqkdAD@5lVW=NAF9fnDV;XRn3ugi5PtJWfL`>MGfG z_pnOyj&#?n`e!DiGSv#2r;KGT_Rp!#DyCXNFQKirfOWB{R?zz(+znU*m{!gJrXMrl zv!Wr_Of-uQ6vbsOmVV8MX04}9|1`3`pvq4HzY$2)ABm1Yrm%$zptJ-#A26dnEnbaF z#eMAg>KV^aWiYp#8U`r#nfTZ+MbyVGS5$oL07c7eAT{_sKKRzh7AUV7_Ore^gzUGe zkIl5BF*Lq)b$hPU=50~4nSKZ2j{xkj-xf9Zs+U7p3Pd~6$x&Jfzi!b6_1qqf-bf|B zy#DhWJU;`Ol9M|KihNWpd>e_T`*}wkh>i#OLaSiw2*%I@)uWkG#oJ`P0MFBazZ#_F zPux}j{1T9lNW3G+0+4?H;|3w%&j9&@#Q%UysV)2|l)eX=cs+rfZ$W<1*4QC1f6Y&0 z-rq;Y$8c-`Vt**dZZsbXU7f`HP`{^~?s?ha2pf~zqoDm2bmE*gRtR3*ZEPQemw>3O1g|BltzH7`19Q)`q(UTnG|M{M;n&eR@!q$RBFRXxb4wzsx7O_wYjs+hmf+)?$M?X|b@ zeLLOw9I)}dy^ZhHf5FQD8{ga8_4W!P3f3A*ABgvXLCp3zFf;A^zBkRU30Xc zuWWa5gxB=;Y_DjjdQ2ZfJ(iCC<$y$b(F9H5akl#uCBFILN za}Kh>0r<~>+(P0eLFR+JMB;fMQ)&x;ECs=S0naT-BIfa+2-d4%Gmi%wVOa;5$Af9) zn8$R<%h>@xo)<2w7|AXZRz(`d>j*;s0L+o?{D%B35i&TA~T?H7aGD=jcN1;4oxV^}u zY6tSrauc$Y%`nG4v^Xa@{-LFmi^$jMfY?RHbcq0`+Xzr{w+)&65TN-B&8>8%ivXub z&B4j12=ftOXP?uf=KYea!}v51ZNj${-_lBW+PeV7)r&?`sKjqe)}`=t1TrNjd>NF7 zz$O9VYd~UuVm(0a%^>{dTh1u{|5dBwqO$qBtv-W3nv98Xj+GLJl*2enaF6XmLyWI4 ztSHGJjupm~?jDNe+1e}uF4qj+?$lI#5wN3LjpwK$xK=Z4kln4#nJ4N0DPo?at1F+Z z2zJ}H%l3m~d72x4KPc^L>j(Psoy-r)Vn?RspQ!EYbn_rnqAP}fR118VvY{K9uhY%i z`)_n{2(YpF>vXgBZvGed%>WylzfL!6?w=bhGw0U#xrRJp}kB zU7vUKDD#K(kP{|4nPE7jl5s6c)?)k8v#KMRKaZ@hXk#1TF9)gdH`~B~zZm2u68(Wp zDHGlR<#n)Ef$$cPbB_>Bf!wb_xP*}NBmdVPXGb4fr$(Z2Inr#cJkBU&r^Fb=EY0A90-B0H56r1n;|;0{7HWnyii(OEqo|>X zF^aB=h*A7$ooVjjUuvF6)X=IJy7j&Zl4+)jju1ck7qtuXO7LE*UIfwKVL4V zF1O}X@U+$CoAG7lvu8VVTAps6E>8c4I0aa9TAtpZPA$*t58)ainn$_i>E;&uN(f5< zYfdZGoRSJoq`g(?C*04bLoj{em^$)k_gZ?|c7s1NCdruBYHMD>boVmLhV+n=F8Vj4 z`;>~x(8#sBb?I3>5!F8--S^UtGW`JlIUtviXd_5nkU1nC7Ni=;_awdrGNpoWODN5~ ze6JA@?ga8UiJ5}*2FVWPdl^7(e-L>aCg)ZX@2Cv!>fH%vVR|FUm_n> zlZZ@CL}n)<3lxz(I5s}+)#l8xk8OduQoi*ce=zTrcqMM3ygtI^JpSX$((=|$l3uE_ zA^EIRvFS+~lE>L0N{ahX!^X~sCZ(H4wGYwSdw}(!N$KX^Q$~>Qr2*E5CZ(HuPuD=` zBSf=Yo|JCRf0jac9vJ%`XUPhOu>}BMqkJ)R5^^7 zU7|==yzDAi#hl%5G)jP%FR64fbANZ`O!P7n=I3h$dv%(Mhxz8!YCKD&!4l1|wp>Rs zW6KQ{5nGP+SL80_6-mU$WglOx@K;r=EZk~hBjlI2LNGm|FWYSnraxq@a28g$Ol!AR z*q|O(*w0#FspkA7E%6tcJ1O5;VLxkyg-Q9|C4jZUe%1=_hcHoyCX)BFR=5+w7eX{v z*w0#FqvU+=Ou$;<_2sOvf4ZJRW|XtS0nQ3NcM@e{{SD6Oo>8N_B|YTik7lB{ zC1Y}KA<;-%$uSD^yib~7XG6(|rD9_OO_jsgSvy6p!p>fYRYun?B<$;nvbyZ5JkG+( z7807lLPAq<3#(MEMmoI<7HWoCm}1t#6fqXoPmzDKu)oy`#KJ~V>3>_88xf6jUhuqD zYfURz_FJ1+)5@7>N26@NcSBQWT21UCp%`tA0_@ISlXSBMxfa3-z#2?bx4gVw=Kp5t z=_{H4U?=o$Zt=s}EphbGt7~1r|A?w7nd@mi~7n*#pBZ&@x-N%a; znx?6^lJCsU7)%AhT+OgbzEZJ)45=6CteCm-0dtx1QiCRCYxLA0<3g(ti7VXy2%ge{ zR&}HPM$n2@bqDUXoHNwKLUY@k>r_`U-F!!W7}5^`tXEb{H{X$83gLMn8n3LFZoVU* zl%DT-fYoPZ=YaBhfnUYxvnXktv|rWXx>a5?J>+DG{)65cPtY!SgGIkJ(zAYOMzM?v zd=`=>x&ZzeAP5dVuJbO5I_Dm8k$J_$4TBflqm|hKxZ!kc_h6cRUeci{8-R_?-2fa+GXt=T z9&HEg031v+15h)X?^Ofr031v+127cAAixg5?`igVDe12IwD(6^`kTg}i;{*&`-dE^ z1K=^Qsw~l_=<+v3STwX`0RBnKx)H(nO*-FOM-yuS|5}hxEZ;jSNDq))kUD@FfV@d= z2wf^Z0GDNFTuE)gdCFo3Af(vcW&rl905Sk8VE&f@C`cTD`K`1$xd?6tz>)Y6omOoJ z;4BFqTkQZ$)1fH~9{%}m0Jf%?2iDH?r~_bw$JVsEazkt?gb9Gv^`}nP#<)LAD<3?* zP7AqaqPL)?4caEtxfu6XX<4hzL$~9}+D?_91O9Z7lTXO^vH_z`uWUdx6<6m4*%{AK zK@imptIqeel?RME*D5B#;~>ms>P!vl#r4SNk)74L;895{wW@0=54y{&>Izkgt>eMFTX0R9?~lTOU{P6UkVO5=rGDz3USvNQHlLGZ4!Sk+Bc>@lOdv5JZ68q&i= z)pbf#owGNmx=*yARoySCsBWfJ-44wuQ{8PBIMvNeGtafnkiIcsRW~!uOj)-|Lk42)o$I`OSqD_B0S#MG0dcgkyBq@VuOu(qF zFkZ-|;;O5dol%<#f-qnw?m8`KRd=c^BzsuZ4c448 z)$J~Ds_S7@*8u6y0BpqUk!H3820^%9h-S*_k!H38)a4Y@g$Z6fL{lsBZ&@zQ~?=EVhCWA zy(3h&w+d#3?b*-f4C zng_pTPT75ujIz&7GhcQflG{rlt$0sOWr;RIZ%q{8=unhhkd~E>VE#p9jiQO$0RJkG zl_Zu6(gkD(iS2+<_TYF8E)`eyGgUK=v_#pXl*KB$wPG8Lvhx%ZWnW0s|Dx}ii%W#`2gV=Y=cW#?GSPRYbK0lTZ6V}rs)5LyDY2GK`X z38#%6QB1A0s6Q6+UF44e%%;sF+7Mp_hbJ_(YP2B@nN6Fu@T_utC2_utPVli&Qxm?c zWpih2^HR-B+@WdltP;%*P2k%3P&DRME#;Fhewy}GwJ;*y*P;tuU(@Wm=P+XY2H3u) zrJ0}OY?77loek8QB7N0LILH^t zjl?p*n8a6FA3t8EsfZJAc-2@20tUM@!{K`~cF5f|!SS#Q$6A z@k6HNWnTpFs_v_VH5^PeE5n@2tTj}0BFx<%*U-UKvoJ}mlLMx!w z$8^tCg8u8Hq2E)Z{vOEV$R7&?r)wjJ5VJ*NMPx)7uFi6g{tGM2;CrkvP2U#~a!hB(cIRfD@Q0pMAx=Jujd20R&VUn`gM6aChH37^mk6GFf&sFe*GOA|W zOG7Q5QLYpthTVOwB@DN#AguAF>&u@h#26{bNI;vrz8=Ymvo z7%~XL^+Gh!b3v*(3|R|dg%Hi2$AVOIP<>KWCKkYk)F)GQ#cy`ro=Vj{53k&w$J430 z^HzGco=}?r{7kCOcKSR}k{WX2N6(@2d*TD*$(r@~)U5mIi{FNP%L zOkoQbLD>kl4lpj3p%0vVhDB5HQ>;BzGKNxRaI$9DvHqX7TLWDOe<@-uG_qY$*-h9) z(c@xpe80-|)dXRlh-+&bHVA(pi`pqVW=~p6k9+>y^V+&Go04j7;)SyFy(4tU8qkzf za}%!x#B+h>uV@8_`ukq{1N0vuF2kLA%ZpzlY$HX-S?Q*DBO_AH^6w7n8UffwMx>hM z-*N~`fm%OQ=I(}8f;)+oj>JljK>m&VpMhY2=GPZ19ai2-{j(6}YAZ~h#_Y0bXK6dv zU~GPiNQz|JK)S<@)N{X=D3(_Sy8cvD%n2 zmi6_%4z90_ZC|shbBF}kzBaafy%a)6pjHPu<lKivl0OMB!#W_|hYVRw zyjnRriiXUvz5~xj;gex4j`I}?AH#YRe0Er;X}s8jV4ivKbowu@Z14p zN>1)1C>;8SXY&6WP?rN)O}cQ4UTY{zof@AmD@WeDgpXGh!1lbddGXYVj%{fu@)B%* zZ`c~u$oI|y{7xV}N%R2nTwzz_)c)k2I+TB6tF_+lJ!EIU8(${k$ZUZUi_lu|h9ZMR zg;}*I^qErll&_}Z<}$x>>eC%n-zoBdAU`THPmrG#k#2g?`t+ ztdx`QRRF9bhOHxZh0qy@K8a7&*Gl*?%~m*KQfhPxmH4lcH4UE0K&Is6t~ZWYl>4Fi z|JqBo^Z$G;e93npOB6BcbU9@_@lhXBIkF#L4;;T$XIm}(KI+Uy0#T>@ep@&8)HyQ~ zrJ_$(6r$A2m04a+X=0e2*1gDpguE`tuDAXkE%c51$t1GF0m zl6^1#9H8!AT{teA3^I(Yn}O^{Kyq5Ac;8=2&ODG(sB3`QKdA6B#&WkIX9>CUw0oIq z%{8UM=g8Pik#D5fi^}1OMQ&4q_|^rmlaVsqed0CtpyqyVJzh_NrM>LesJ0N%o{=_I zgGB4#BS8M!Ait`3?pZMW4#bPdZ4J~8CrBahYlU3=mOXUhWU{62LtA>0Axi%RdV$jAJ5KUZ7&&6* zB3opf^85qO<;nv+n4oldj*dL1h&&>XH%#49gU{S!a>VIE>X@5QM@5x#yws7aNZNf2 zvSku4ZK32!khg1D^9q?r7kgcErDo}sT)o3MRUFyEtce?u!-`(QYHBbnzQc2Az=y@W zV4qfDeR6RlLgQNXNzM6K7Nz`gF|Mcc$+gxek1!~Q0sAbtHlG5qjA;I^WNoLB&jCNiKGn&&_z-}PVSOYn05YXaI2+15um^x}E=XS8eD72sd=AJa z60Zo-66D#_StkSGP9WEwk?(Z_+Vuv>zLtMVscvu&OmzTArFzT>K=wqCoC{ODg_n^t z734mscLTLcRd^XN<4K#yErfNgu)YoQ32Yw&UiMtDVzO3tC+l&LBajaR;pah`*XObo z5MBi`hr~=EYkha$`%AUOFW71-J`*pg6uXAn{Qavb1(F z;9#{P;tyWVaQf6(DK4JT2MrPWkMMKdC32+<;WUW#8{lw2 z?GeY;X4V(8v>(3bQt|c0tCdna(oV2YSxg`eE>zuKh;Adj6p?Yi1zu5fN`V)dp!7>& znxu4zq%oC2=uafj&sF-B&^K9nWcplwq)F^7eh(yasj`Ws?9}4i4+&hyO%N?qafK;~ zh#)e_C6XlxbfqED87ir4i1)DE8YlTrUR6yECdR`h*FTrYCzK>8dBJ+E&_>OT5;dQ; zQFF8Al5r&F?J(bAP6=?vHf<$x$G=l`5TTu&I(%ekYy~pk$!J) zC+N5o^G%VohODjtyW|>|(nJJp2cb1!-!!?~hUz&G9tP@|ow<8#K=-F#Vn3;KZ%ULG zioBm-*aO&@{y<9T0~H~9E}fgK2>Yn?$Df>1u@Un4mymT$9-A3}FI$z%NGt_1g)R3w zD10!^*mKImwny|rQ*nE4Qz^ANwFOz4VYCyQtxXO`J7R5o)eWt;rY%_ud7>U-7ForY>Ijuxph&sGDZVJBy6AX2{reoS z^J-B_6PZ`5pOx=b2JF0Alyb4mt2aX!0N8o;nsW1MUpEXzNnPdpB-f@?`5!j`<2QtE zObIzzqPL>QqbeAO{4xSJq+~7a!wB3%)>@ia1^DxYkHlYsJP4A1Hiy1|8G(ZM7`jya zgsNesjK`=gxI|g(2&5@?myUq!J4X(y9O9RMQl@MG;(qycd>r&tkYB7V($VMRJ5&>N z*Q)IREU$zD&bI?FUx#J|jmckV?nhU;0XW|dz*Y39H()LQ{FH_=D)S)B0<7gCxo4#*U? z+#OIDweWuae*o%aAp9rD*Cf6GjPi44IP-U@`1RovD`lKaJ3)PAG0M+L=Hu&4mEu^t z!WK>;qw+cVUPYjGTURZy)C|w(+J~u(*+AHh=kU#*@0Bihjwcy9I|QY-G_pz#{?=@H z&|r`^DJovJ!E(pFtVY5E{0N4!r;1>Q^4uh}QN<2r#)G!cPuWHo${|H=D66E@lu>JO z4%^&-^`$B)=ZY_lhA={i=DeaxN(b?!4QC$ zZ`DZ&IoYC>QD-j|lurPNZ`Dr8s*a%k>15St%*80cF9f-YL~lV_gUlrHupmu9R+Cr- zn6aK8ug<07j&`tOMhaC2OO(Yr+6{`$HjXAgiO3jqQKC3nU&{Q8qisxZGKb)r?L~BW_v$l6*?P`kuFs9_<9|==_r0K!&VS zlYFl&kkb5A!`VWJ^C8Rz?C2a!PCPjJE!iC$eV6!ZWeNAz zNslInoTSlNX!?kX%?0h#8LK17SyK?(f0eAC5a36^Uj&kwpYNRnWC~k&J(Q+kO@Nr+ z&h}hiK-JsIKWW8JF$kqp`7in|RY~PSj+lNut;j03q#@#eWR;uqux&y{QvUdzsJ_nh zKT0;He-)zi25c1jD7le|Vi0BlR*zd%k2ZXLl3e~s?W^RFYbLsd{uOGQ?9xd1`XV`N z*EMM7ThRIRgVb+I{XnL$h5v!l4Xh9_)>|B}#--vvqO zsfa%bu%`M#atjG0??KooL=#9}NbW3wq(-xRuPR^vaTJ4fypy zj*>V6WC~ljDU{rE3HX2+rP6pcE)^f8J1S<}NR`36%3??9F~!!%C@oe*M`@~}a`5>E zMaxD>=XCzF7xi6V-NENaTGEbL=iliGAI}$!?$Dev4;X))8?z~P%&w+0R{(a*rr0r? z4`H?t&6rKGWA+P#ABAWRtEbp8yRbROEr1=f`^$~lG&g2D%8l7{H)aLp#_WM(#%y+S z$cZ0qgXSyEwD!kUEE%&|$yw*o7yojy9zuX=fZq>f3yIA@rm%%?f$}HV?|>Pzf_OD9 z6(6(y6*F?EGPp!p?3mS1>}?sddWz_nouH_U*>H;f_n5i9x-sjjCGD7Plc$amcFd-| zYWw-J4O&F4X#?DtjYu}vv(7n>Lkqw@9*wXAIRwHWpjI(mc9n42$4QAlGCAr$0Qq_H z7Xg_<4L=6uSFrDZs2p~=QW392&R5!0j68q6p07NvQhAIA1BzdfjP}IpCV1M03FPiXvqPT%}6ko|vZM2VCtdrcUUuB7duy zp662WhaC>M+Q4Q+egg?hoydDh>=BWVEs`Me0j<}GY!0|KDA62ny{(8j;QBxjbHMen zBJ*T7XPY8r2VCBAXX86$06JDoZO_=76UM5V#WSj=;=SR3D+@N$n^+4jj{s%>8j&~) z$UC-3LT~D5ZRL6sQKC8EIzbV0z|~rje>vbX&)jEdK6gR-(1XH?8AB1RMZS`)ORdz7 ze}YT3IIM_uDX(h3BXp&i^@W0$tv&|If|$S1-0n9yUuc$GLqc3H`qv$>@vB*KQ<-xf zf$*RZP5f$>+)n14A0X@&qKRM4l6y(<^Dkg~2(a<1dAay?Ub22gx3paRI^V@F&&99V z6+%`G%x^^)79KKkhi05VW#A(|kXC={F ze=S+}BjQBB-vhFb#7;rBfpjRy_bvkbcR^;8cnHXp3c|la`3~$GAR0P_xh>v6A^D+5 z#nh(;(m)PbwOi(U)d4>fTXJoc2&hLn%4b~#1K}S47+D@6F%$4&t&WjJjxwUZ zaS5YOT$TeOOIpR$s)Nu=77_goO1>slC4-!F5wQV?4ATO8?&7BgV3p@n*(uzu^kwn@ zYN{R`uR4!w5}{bd)LUKE*Hcqpz*PM>iASaC*$Gu&r&S|pP*FQvR`nC{s*9xRjEbor zxT<$j(^szQYHirm0V1mss(xLo#$JNPiB$)eE0>u&BAR7FS6@YB&)V4H0k^k}G0s(E zl$pFOUiaTKx$}D6=`=6vE@#7YhE{K8^t0|rBP1+JGOMt{-PUfeO0tf_bI3>+#TF%* zn_<1_U=P4Xu|-MdcKd7y4++sku|-MdcKeSI_6X5Lu|-LR62)3vobNRSY!q9Pl=$TL zT$1}1c)2L{e3EJZ%m+JPNYanm92k>yS9PqY#8wte=PNh;ZW_*O8IJIlzDT(u zDO9@G_AuIjfN|0ui*OV9KEl|mNm+TfQBeU|Q;~5J;9n2&35mA_=>>9aTQ)EOzaz+c z5~V<tu{I96*Qv8udeJuXgg1uJi>JtX0mf$me-22+LgFouDQw}Fp^N|< z0_2v01k?A93BOC?b0}K?a|%}Fd#56os$^}{3;kRn^-5_-PQlK*lpP|#oPzZuakU_F z3bv5M6F{ti)?`n?E)7qgH3oCf-bRZ%5NIS-g+B**2j-1{7s=3$9U#s>Lbk+ubGRIq z?R!}uuFJ=T$q(~M3fysG0!LfR;oP-E@?X&W%H#Ngh|8}j^{1TgMLyEp zFn6i$v$?53@A#)B_|{eK?^_Y=0EPb35RR4?IrdF(A(sc14UYyh+Y_AXt)M{;?Ga zh>WT%5xr?!BkM=1`5tKacmiKIULw9kE#+fpFT;{`88_^J zV4c=!zi@0i>PWoAtC?qt2>kKr7^ycxJKCJ$%>dKUA`({udB+wp9le{JaX|2`Rwz!7 z5jRrPlOGvtO})}xR$!5KO3%aedMllK8<8uOp2S-xx5xQ037NFLNM9Xp8Nx?QHp5-u zhC4DYA$z&Y?jO%ykdXbU%bpO=UYC&lyUSi4&vs*TJ|btaJP|v!S2l=cu|O@YJ-Ov_ z7+LvhT&a#Z=g^F-zbYy6rYv#fLvhccw`YNJi1|KS&eRldCT!-barA+9hQvgqHyO>G-?cN|diDnw97{x9}|1J5To| zg;L+LLPcL<(RbrUi|`Hj8yJ;|Nm<|Bf&A;q>U}xuYry{yWDbd$f@}x*io~Ztrj!Z) z0Hr}smIXlWA&_ADgt5lU-i}x9Qt?fvmog(y-mYFYnSzr5<7F?Bcmc>ewutevPssTg z2=;5$W@`O20a5?bTYWBv4Nc{VZ^6Bs8T}jyf+SUk*=C7K6kM(p&nu#Tp@o^L=Zj7x z^8HQQe*#9-+P!#10>~6LBVKQ?o1OJ+Avh6JOpw=!CVX>tX5!@B($jb@YZ@cUXE;|-%vg2PiCAchgTW2lo zbc%sYNs5fdgpH?;qo-qma)@!;1F&|2&A9D4Sk?l@ZF2^qs*7>NBTxb8YK7q`vt z&FwS5xNWge#chW`83af~y-F1!=ZhO?;A7f# zyPaHHjsSXDw=KTRDy4_C$6sh}i!sh^ds(+#j4)3F)@^%PxBVW%w?Z@zpS`Txp4W%d zJHS4C_Dbq351&&ZOaSb|XCLdO`bE_%lJwYdTDgbME8W9qv3vM@{y{{(DyjUj&Gkv4 zmsI?$>R9Y1MMCjZs_hgz|4CWDkEV)-uziUzp9B7RAmJ-W0Kpb5d@VNTMV?no;$pa;RNdIBdNqVsg}6_?VcXcM`ot^qy;Q)4&3vos0T6lv_8YcMlWOE})}I;_mD6}L zr||-(ar3x;t_!l8$0Y4IL|2--AbVhRotuWDLWdt3opfnq_B777W5na+=%kxCw)9&# z!jGfvVR4(JQ1M?@6VdjJK+QibLRg-I*Ik&DweoIS>LY`5Rler|{#=j?NfZcjKgbvo zw+k{3WDSX>f(!@AFXEF>fIk3a5s9aOOsP8jERORchF_iU-3s`NK^`SBN07%r){%G}@UquY*JcWCrBLo$rsCo;xm!(Q!kFA$ zCNXVH?*B|;)|kjZ?eh?fZ4iYtl1Cm;`e^768aivCV!pM-UE^u|XTBL0DM{d3;kYJP zu33&N_VC|UukmoVyq9~|B-;KW-`l3O@NhhrJ`bvp`tY6fc>q~I)2n^b&2q?aa<0CH zs1NvkKsJzA4K$SM>K$>z=u&mm`9h1sAzun#+?UM@puSXV{xQ|u2w69-&7&>g1eCae6ki&+bqD(18H(Cu?O&LgRCd95~w9L zDunIAyz%~6?d;q4Zi6rh8L`ttC@j4Leq$T5$?)@)GKf92do@(w~%#(I* zu8_JM~92yJHqZKL) z9!DQ`khKY(4S@eKNHBmGJ3umpEqA|Azas_i{+=z#j=AmPhMS# zCg<|9g_@gLEU&MUVj?BT0-9sZL=5|UPH0+TexZgG@QplWZR&h_F zna6>0h*{EQJeK0sgv~7JcEhq0FiW}ua?Fyh#*JJ#19V9@Sm?5(>j~{Lz%1$J3sshM z4??-$aC?!1x(bk$#Vi{6@0Ep{ijRL1Q|f%(h{z>~;3^d)+!C z)vhz%Lzqo~y&;gAWPYb1Z4iqDpm{_qc=0-3XWu0DY+h$SYsu*}vMXY*j_k0F%oeBR zFEn?>B-hBUh&i;ln7Ud6b}_RnVh%0tflw?&vzXZxF^3kPLD(WhvzXZxF^3js+{Ei7 zfL+Xd8!?9#;~@+O>|$njL_aiIP;N1^C!%K;Ub)50cM(0i;EB z`3vf=Krl_^G~a|=q{sr?@cjvHZGl7K@R6mODIUH@Gv#Qn{Vv<>5(>q-DdNI_Y+0G! z^wA8@8;l&Gk26B`r33Y)OGf&hLwJq`G9~|1k-pYBgb!DajcY0QeMW}g2J)S7jsPe2*=zh*G^o;I=eE{!!Krl#UwL4+PM(yT|8(~5M z4f(%BB7L!369xXD;IBYA#D;_kDc(7-nUIiw3(swU4GH9!kT3+wAi#wLp-V_u4DD&* zz7}M@P$eYnhO*OedyzYJP$VQQrjh>+3C^I84++zF%DY{=Y#%*_{6Vi)S#K@)`dDwR zJJosXD(kH^hGNiw_10C^Td#z0xe$%FuCm@*0%4I5jkm6{-s<0)@BIzYdh2TIt$iSN z0<5>Lao(C!&Rf?yZ!OiI&#?PDY;C^ED8Xi3IqqV zCF5^tDuei23s_~^Gp|32zh!BrxKek`6n|T!bmMPJ6PToQ+}~c)49_b@j(_pD5lAx( z$dvpte{K+OPqvv^L#%)p}{3|6f?mrHWSL0Ig z`;Rj-GIFRg7^N&`)fco=Y>|T&9TLe{8C#+$`=-(K1b^26^#)EBm`s;hqYjf{(r_G@@c-@Hj{Q(=ihT7n@7{Zf6G{I}A4PHke{2@dWyoTD~)%kW# z)Bzj3hFQHo31JRkgV*qg`F=R$TR3Z0Fn?iO9~`Ww2ffWEPW~QJFWuT+aPa?*rKS9g3zt zn{BJ%lOCF?tGe>XMk?Ncw*0$c+eC>Cfd2qU@+j`i0C~q22|q^endH<1!m{S;MxqeN zSpl+JTX1KdH&T0eB^guUm;?mhD~E}WzbW!I=FtOI8y&rvr#(+xV+6aD`BRvAaM-M< zIO;35?0+0uIPJ6HDes^~oL>P*5ZnFA}w3o)_B-i zTwUwGZ_(5BfVH@~5p$N2JerFIfVH@~5p$N&6GB%Z8jGtNF`J@`Av_6Ki#x-bOJoeT z3DH_yJvUvJl>4=*`p)7!XK`ky?#yGS%Ld0zmrWv}o4&Dj65Ygj)l-CfI4ny1b0S%d z9>P$*AZtE?%mw`4Kz5M$QjonM*<-O@AXCbO{WJK`16X$;`$UkOi7DQ*Y}JM{K;D45 z5(x6NC1VgB6_M%kW>~F3usmf0fUS}qnk{y5uV%}H`MuJ=p;+u-0+W|u1tF~DD?nP4zXtmu+E0fOnaZevIQ{HUd|-cEz@4coovVeI_(t- zU8cSE(Aog@EJ3I;?Tv?0Y`DEhP1TKf(@B_fSuj5K2+ zfXJF+F$E7Gwb0tN5bZr zuqe}Bj`>Nvm%q^51&=tlITALXFIgT_Oa`pm z90{9m-#rdt4q)BpXxKax{smz_VBN-x=#R7&mvfttbDPqJ_C8x3^CNA(a~t;~ZGj`O z?CdBT+F|EMTspcS4?@Hd+>f-yBB7&Mw&&3r*!?I)n2BFu=+h%vHD@vOXOT5y977NI z{Xjk;u|<%}L9)ivE5Ppn(uG7PL0W)3Kw>ITYa@uOJM86Acc?zklQBkM3;FL$0T1Ma zyV-OC{9h?>35m9X>;aiX;vPY^fxJ!PO(0Wh3TIO=?H-f}gmXcXB55uh?@fu)$7|s=ncrI1b+M*Z#VYof;ek+CL zhvA|V&=nB0)YfWG6yuHkQ_;#6-{39OABH1Pr3M|#wxaDbr5k_BE@Q|~j6`0QAs26N zM(t+-C8-z5vwQON1`oUUedz0k|&`sK&9F& zbdjnhwDSQYmA71_x&z7x!|g=|t0_nfdYDH3I|ey7Jw67>&%|}o(XuhA(|MpIc)Z&+T6#H6JTS|=CIk9ng!tj zz{a30HU|9y;akAQppU{Dg9^&UppV14FI8MF25k)=^FxuJID(5opN4g#%Eh419Kpq) z9pTW46*LA7#knV+WD!=BFERAn!&y(xW$5oFYszGX9`ILyyhmb_AWJ~fr{sIdfd3ds zI}#TO@&L$05_bb82D!S!UJiAKDr*edME(XTATcO1m6Z@+Vo+-m7YHIT=uQ%&1(6u^ zI*HXlrqpC&Q0RVMse@u-P)CqmjM%lT%m~PQpd%h zui*Vc3QG(MrlTt$xKvxy7<7W7{~m*y9~*<*`18pNWc7E2Bh4RGZ_lIlx`6R^hZt`! zcsa$3!e+dEE-bSEH>l03@^{|uzMyhG#7^(h&@+Y8Dl?q*?YWiTlcMf2r zIv`Y$>J}(B0sKXZ)f6NKRV6n3cMNiF`tLF5N*x{(gQ|Am%Sryz8iVw~VurNGUuf^G20b0VP+m(q{~>Pn0yYLc9llJS4DW|9 z5wIHt&)OKI!DmreFZAb>3qFfo@X68OleBmeA}_I##Gl@$&WQdu^Bb`aFG@PuC;xee z>or2+x2>1oyPXej_Fx!iOKN_SpiI##4 z1{px&dLUCO2+MkMI@lDzY)Bl4H{eq48f|F9i5V}_Sn#*9*bRyGilt1EnLM&sQ5kNJ zVfgRic8X!RQHObyEaJ}8+{$JU?Jy^wgHFcVVb0K;2Ti^V^DmFPVIFUX`5k((5wOEN z-VSrx3?dp}hk3jm<~|U*3(-6!j<>`7JcMTeJIwc#8|Hh%diLR!8|Ddan0GYL_cqKh zPjtgrWQTc@!*y662!~vEqE9je?X_+cBP>&KUQzV_c#+_r=G!;{rFv{leyL+n?y) z_ki8W>lZe!x}Q0VDG9J6cfA|A*?*$M{>SM4=5WY06a5jT?bJ4zyW6AtLE)@S+VuY+ zYcy4k1pM^+e9wZ!3LsP1!d0Lg0y_v8b=Q5=8g9sQskpiyJTc?@Cs6k}%3{^MN82^( zKBP#Fs5@QxRNdP&Pqy_gK(sP-rv^=r+16{WMeRy$o@|m9Sk>n3xAMIbKS5mblv8a% z*ld!X{RlggfOVgOu-Rl80%4#KO_VGMn@yH=5LOG(xKBaYY_e3G%@4u=cBR(J4#Le4 zt_JK%t+fl5J9Z|1H{e3&Mf05(nN6095*B6`p2Buq8#|P83)CJ`TzpiIqU6R1m%q zia!^RgpxfHWIog;R2jY<`Hi2Jx?Wx~J&EVP#GKKn`XixptBhMRv*^F^KVQ+`A)x_rfiYXWj!)Wf4+$9tYY0f03O!9ul$U z(MXvK9lIIhEb#b6h#dLt*8W=eYR0GM{i%W3j46G?T3t9S4a)3v^f~8VQv4A0U1kTBv5NvLLp3yLZN{tME$LhKPCS|DexA^>5p@<9>^4y@GdBKgWUmy_k*N7 zL0lE&PmtXp+kkM=nOxRgz~Ti6XM+4rVlU9H21s^u{wcmb#VdIR8!7;KWFc>z1Nj|6 zUeT_&ZS-&_hc9s87E7z%}N(Xb&lud45pqxj;TE3Swt8{ zMzbf`i~xea6B|fgZ`FG76z&vg1M(Bp6_oB8kmIcEGI#WVv{{0bzaKRMe;jDs>7pwAwkWGa9@RZ4_F zK7;-)5F~G~sxwklQ{)QgD;-@%K2!c*p${$N4|XS18a(-CSqonF zI0T!9Br8Oc2_RQKo$vJmYOhp2X9-c+4?jVPJik&XlzT#zix%TBa`|Egg&qP-7+jAqUisBM(e+?CR^ zi6h}_$atILZ%P$+Du)@_$%^d3zN*9O?CT+=C)!tVt@@VvvhfZ@C(umcq75XYDY(@j6bs{=xmW) z0yO788bqcuEtuIa{4B-}ltXgPVdip$a-+WU0P@?w)kK@)q1F7EDe`)9 z`vIPp-yNRT%9CSR>~uMq{7F)aOqbn{twpBJ7s-9W)WQjoYE-7qZ3x0x{Ku)Fn_Z5d zI(d~TlB-Jl1?~K7>yfY;tk*HMQ)>I)&`vKqr55V0=QJ~X%9OKwW-6_|&C&k*us zz)q>X0`tpgl^1c(0kBhQufY5=+5iZBg=nVKUO^{$u3rV=6~IoZee9H4aWUI+fSppW z2=oGfak(k=N;jqMI5Y8l<0?0$mW-)$?a*62zsM1a^?c*%K=&3G>iNbsj=*c3<_3RX zM_8h7^bZU|RjTM_V+PT1RAsl>n8&8CKOo3@wgj!!BC78%gvRtyW0k925iQo&v*gt0(Q5J9OK2; zLMZ~=Zky0$p*s)SY~dEqJs?!^*3Y1PY`CpdT~xcA53fY3n}f(!Csley)C@Q05NZ<=L#pG$ z{~be|I~^ZGN;rqOQ3u3s94wN}p>u7lDCtodxjZk;{42}v)$v$yu3dhgi$F~PdkOd4 z!2Fck2na)ghEp(TS4mmQRp+0_uhKsT%TjntfaWW;!S^829rIH#Rj*~e>etl=0%b^! zOVs&g7rp8R=49k&D%uZNiRuRC2dEmngrfotpQGkdt)wjFs`Jl4qP4ILg!g)&`Nm@; zk{d8*y&&(N1*)STtd4lU%KY*B@XMS;ftBbPDq0BGcp3!etmZoiJB4T-QG&pn)iisV zTYZ3yr$J!OYVLz@H(=vw#KzOz5IzNLJWUF8yR@KOJWY1-v`FKry_J~a!soQH_7_-F z1M?fpvI9`Z{EB#5V15X=>{4-sAoRqKwxiL%I6%HZ5iS+;rmmk6WX)p>#EfRvJWO^{rWLnM9|Bpam0E9|8LnNmTxC6ueddILF~KwJav)FF%N!=1?}fnyO6 z+^iy)_;{xxgNSiQmx?dQVnZ(A%L@8F&2=lB_*ILH{kBi|JyL{TiQ1?8zo`E(V3u-@ zhnwj4CoJV^FXLGaFw08ElkB;adsK)o>)OG4F%Z<$Hp@TVJMHqu3a$8ALF63F$V8MO zlo|w-Lri#?25SU16ZBq$wM`O zXMO}>9tN!IeCZq4`3%AqAsW~D(l@Si#&R|$0P8wm`o?ueK^P9$9n9^%dAe7h`Pz3! z4CQ=ghwmQi-5TUNexrD&uM3RV)Ma-0`m^K()?>c$^{2Bhv`_s%_@Qg&+3rQJ#B5U) z;nunAhwk&Uo~5t;V6xstz_$Q@21s-TT>$)vAZxbb*fJno z0#a)ws|g@yHAro3t%hp$a@q>7A!8yOcLG6OU zl*joH-*vHDw8fec;c-3m{`Zrzfz`SUU&b@N-wt1WoqwBuL8QqJ%*|FV+ zf_4Me=w9^Aj&0pl!~?(@-HX22vArF_twJ>G-xqzeWBV?IHvt>3U$#bf+H0(<02{BD z`nvwzu_JNE_7!J)JL=o@uZ`Es{P>oVjn}VQ;|r$m7-Ow(xwXDv`nO~37VZjXuX}a< zyV4PU)b;Nhe&{C8uH&NbVHsPGs_wkayz%3g`dK%u#z4O&>viN_4fr`{GcB*?Y+H~_ zkPATa0Y3@kF%okGIZT;tB(@6jBS_{N_OO9WsXBZnyuHCX1Lh@2*L2_&%qPNjj;0o_ zqG@>v@;i9G0?a#&*RExo05GpHZX@v#&`@52JfJ<{H}EtSUz@rYA}=WAUI$>Ry^h2+ zg2)Sz^GVDDV$qP*NBpe1+zXLY`@83CFDkDyes|O=47(Sp3!|xjiq!H#LdJ{M&lp!OZF5doTm45$2cK=6;sZz90Cs(x9sF*SOYP)hv{5icOB0HfSJo3PuMFE9=9!1NPZ{4%;klu3r0?-uD;OIU4-EdM>1yU26=TrOWu zS)~27b9sonwEl1#Ru8PS-muQ;YHskl3#-F@^YgQBAR z4)|K$^cv@B?c7*0QV+ zV@{z^ z7&wLlL7{ROzwNEa<9N!?YwgS}E8c!eceAyuc(X*#0h$qtr)725itM@um>;jzrQ&OVJ&_vIsWn)lEOrfWzG7w#aIqqG4d6viS6r<1 zH_HCEwYqUN*6MY#@|gqiZeH-RR%4A-ZkYN-)>t>+Y&qi}d7Zl|ZmdPV*#isS;$0gQ zV4ot3d~+aP0P#Ga)^LX3RYH7ijG0{HNBs$qN0UDisQ55QUK0j<28oqWmI1*h+O&*b zuw9Yo8NJvZMck0FrNdvtv%twG}g>kZ!cUcbt*2#`#J5T7$XDVx82>pd{bb>B>z@wfw*$=j$MGb4E_K{q#t?XK27(v0 z&GPFXr!qEcL`!v9|1k1q$@2)M9tO%GX8n`Fq4kF-)2x5C!Lk)F>z@KS&X)C0=4K{J zK-WKmg)Zx#j?mfxX8ki?sIvaK7s@!p&9_T*+|2q1S^nGDok1MG{*k?mHQHZ0rHnX8 zuZD;0UdB9YChzEwhUPxD$yxjGklD+49br}jy8a27y$tU|uDuA+So`ph*~{nx@e)AS zKOwW1u@J&MK-WK^#J!A>A-zXeQto;3_K@yn%-841I%fS7GJ6?(qCLsn{~6_Q-MSc$ zb{&Oq_bEPAR19i5MgJdzQq^Nn zzFyY5&G3Ek9p1k ztRZy@nf-||5N;Eq37eflW`ANcgtq}3HVdsG)!oW3eF8RYUK(=mAC<_~rXSSph|3(|kZwnGcZ9!nJL1Yv==opO=teR0rz_%lc@JZBeL`6o zsKK8~RtaJ*0sJ>W4v_d!kXJzJe}WDG{~3^xB!&qx2jpcEF94ZRTlfPghr#{_guetC z`YB(>2D0~o%!lRdcQL{5g$?R=K+r%1GA7thkzJVJ(08l}mL12LUn?J`EMkZEDT|!a zO;Ea6?*c6{+W=1bQ!}iwK95o*+UXUm^Qm+nz+Vm0g+!qs zB_Jb63cy??`l$#w}Y3Jnm*TWg=p~gtdYHg;jUt{`as|V8YACB4UHL!4z5_mrYWsg?XE&P- zS$0!NfwWB_4FUvMDG~%!iV8??QWcP1MQI`y1e7LNP_Q5t5G)T76i`u7X%A2=D5xlc z`b0rNiu}K)%w)s!{r>rU4$Qfy-E!`|=a!juRm1UZ@mILF4RECZxfKt$0C)jq3*q1& zLgpJW5eukQV0sde5VUtGz616pfEQ5Le2t5e0A4`dp~me6)SA6;3EHK22^`M?teMKe z!{uB>E?|UN238t*XaV(*rdOG(|G+NABT6uxCuuiXK)I-(v`Z0t7+0#2_7?f(?;9d~G)fz~9JX`}v zATD<&q&x`hUO-wuAbXKo20`~tKu#g`CxCVTHZjCYr4@>hr+J=Ngxsq-k{jAFH zH}cEA_@pnbr-o~J+4)D6{E1S1$}AYD}jA_iKvd=E<9+%Wt) zmwn6%Df=Bx*@Fk|vcJw{KZ2|t0^Dm37HBQpHipaTn$%ejI|)I2J|YR+JE1)t#^73Rk1>|f-@B?<6PU4wtNbvO`x2I$Qgj^ z10YxYfSqta0&%(bBV`bA~17dvZpwc?3EHdssr&tITiIDj*Md?+Y z6X34&HlNj^>Z>}Qjmk@P?LxI_eOo_ix(u@~B!YUM)OK|_^gHbgvp0NU*Yf2`UVYoqarvASq~3*IH~pL@PJdGybh690WJfl>u2zA zijZ<3jgR9N6TnpfWGo&=5|RewMLet~#1G_qJbVL4AkFTUNU3!KN2LJw^*}n}p&cNp zH;|dc(gzQ#kn#v1Z5WXCNR38*+{1yC{)GMu@XymMm%)3a`RN`I-B+-BD2bzzrHatV zUkWY6OE(>Q=-c(?vr&?2CF(w_j&n{ z-F@0~l=3vPx&k2Gr#(k0-vU2GY21CBT?GE#1i0k(>ztqxYn()muUET;JW@l*sBA$o&_=q4-*J^1jyrfcnnZxE3(DiuY&pxDBA%3&(uucDdMiO zh#zmXOKXH{L)NLv;?FT>=MD|waMjNGIV;5}pD=rZL zWN#G|cEL$V83(ZURw+UGq;a_%w|CZx^&%<8l|| zpzQkZ#gW9rX5rR|D~~y9Wgb^rq<@j^ePt5)r?YtjcdyutV0M|JnXYlX`A-@30 z_#Jx;0M`*9ZSc?v;NPxVD;-Q-D`|v%qlG=o&I)2ayzS>|(LX>c0_HA6{nB*LDx z0G#)NjXi4%ST+IJv$oM2gV#X#EK*Jb)U!@fI(b(8Q|Rvi_N=VM>RBU@G8BM6&l=4* zdDcZ3`QM(kQd{94J*&}4sbco5z&$umHHX(>*D{OYN#3{JP(8d(!7(gJjnr~XZDv2A zkGWPPar=P(%;hs65X}Pp>ZFpuv&idHfTpvQx1G#7K5JS(yLJPaDbU$MZLV-^wy2ZC zHUpgzj+pi9n25>@bEiYEUniI7UYff>u0v!aa5NWKNSXg~m_v0!mCT_!rNW%_7s|G) zR5a&(W0!VUX+|aUuF~4X>^%_$#k)$c9R7eW@Ww-XN@c=oXNG^U@#{5K(s12mxi&D=n)TGav*;Im>Hh=U+?h@;m`R^Pt4PSNa z|C?t^eRSC)#YbNXv@yfTKk9J&RfR(_a73YWKKk;YnN)|rJg7PpBb`i5u0mCeDz*nY zjrn@1c*X>$u3j(AuB@xqON*(l@&}VKF8r2KKUZ~%uOqIWm>-m~ZK$h`$jE$B)jjQ~ zds3=i*NXuO#F$e{&~Gd?kF=B?un=bH&s=`fcjy7- zpE9{7W$ie;|1hAutRUK00ag6@N3*Ngy6H4-6ax~*fXbhLv?-4u^&x;^l&=Ksb4Rk9 zNbU!14@vHIB$eX-1HTXgfTU47+DJf-#AbJqyau#ZfP^wo#imm3MCvq=><`*?j${v! z+zi_5B)PzmRLUPn{f#AWt#_5wi3~?w(bRvKsE$HyyH}u8#+1U+4Dw|!ZO?#QhmdqE z#LQytBP~lIS1b-BjapnIE-2Vf9CSZN9|!KPHfcu6Okf-cP$~u zwniagD1c7=%mlHCPelaTY@*7hotWBj@S>MI9ZpEXy9GK!<=Qxij!cMy23 zv5HXWXg#8cjJ12tK+nz+=}~V%sh4)IkP@P*$e?WPEU8Nc_O3m~tc@%Edyh<(Mu0xv zZoXb3W7waLme(V+ye?XNw3%gYvIV~lK=4jAANt-le`iT8GVeR}H%!h}=G5W%s)Jc3 z%qKfYh5yCXO%;CZ2fM<{MEX0_*2P*q#Uym$M(T+7$CS)V>Q*}xlck+uG>1Ov8ly^h#JvrMCjmmADJL9& zb}tO8h9=wrJDz%qkef_|4&j1npLO>!neaFR9SqMfW&Q0wyb3L>KI_QH22!b>+m%e; z<5(}`sHsNGrAujs=bi}KPNhu}n)RU4`17a76%l{C6N`BBk7Dt+=I|)-w?B&0sdczE&Ht;>qpjl4Y0E-Nl= ze;Z8jRK2X2-8g-iVLn?g@@o+-VHr|hEB0MqjJ8Pe@ie@rIEft7ckL(8xL0Z{zddpDOuWCC_d<;P zeooS7#c@=v_FVmiav&vcB1};(Y9i3aG}we{EpUV)s}Wj{KO#k1XGAgo#=X?zh~m0j zkDQAU#my@#b!2fW=Z|Z0OtGIzoFXNeSnT1F7=fYrFwsm+3^{I_XjWX49e|svS#e3F ziDt!37)b!H*}S;ccQ}>whJQg7G%uE@h+DLIaf3?Z6;+J4ag2vAK*#AK@xJ^Mw(-+N z5ynp!MHoL_B*xjqA4SPzf}G}TkvI*z#$QG3qABTPCXB;xFBAo6OH?KcBeLC1yWPvG zw7W~&Jqh`d+KP4Bof|f}*w3v9N1yx$3UELRFw!Z&fg%|%|3l;D!6JUo#djAK_Fz%m zCO2|(7OOQNH3%^RBPa~qs%lz1k-&dt)I zVzTMw+$=3>%n0XZX;CZ5%>!pq-dU<kGBA&FX1d_d=UMLhV`q&Y^P?*Zi6xc))#=%0F4S#az2Me=>{#G>T zTa^CD&nWLsNhx4tA*tU|*sw9odVQ3Wt%W%>lt{H~Eo@9`(lNxmUC53{4*5=DEb*tL zk2cJY3VF?)KM|@Wpx#-?9;D-@Vi;=fBM$blUBY3H6nhJK#(~Dn==Bv?bMt%TAJ0sjopd=U8lRalc`Qvbr@ z63~1Q_+FQ^ZooSOt~{@1?!!EWY#ge9$ED))cjlvo__P7c_J;`ru*v(ZT{A z33$MGypUHxMrsWT9_B~^wvCi&+1~9jmw!bCpq+ZKa4RiF4ju$V4^C&fV&d3~gq?t< z|5gQ`{R)@k?*eqCsr{5mQ#)2qH_GaXUWSOihcZtY3iPJ#GNC~H=EncnnV(P)k@*P) zl6f9OC(CAsOhC64#FTYGyN?($3agNUSZ;3L(*fk*zJefO=>sR;i~Q=tA{K#P#4%~_i#dzS+=RqUK7-m#H%lLAs9=!P+u^?;L;o61y zqHN)rJ77WD=*2woN1lpb%qynZS7x)9@^}}4*R$*L5+7~h%&vS96O^K*Rh&C1*R5KjcQ({2@2O=5bqc6HPYzRC0?Wxi421$!v39ZV~q| zw)u%ISw!XBqLODF$t}5AG*?O8ZpkgFlziKkv@A%jR>}IO>>64fSX z2XbXN9pOkmkSjyXqqL5FAXnOR)dsZS!dwpFjld&5NZz87&pMK~s3eahx8(8yJ$=YH z#B{gjvf~?pKpjZ7P{|P1GSX#Qmj4yrmZA5 zJ|Arzw$7EMMgaxjZ3NNTx^u2N@C{37^7}btn!U*|=kn(eA1r&>*3Y3Z*;2VbL$>4J zb{>V_6_ScN=wy0Vh=+adlDk5@8|fWg4JLMlnrsiF)p+HyJCw!9(Q{C;J0wlWv(vvr zTq)9X_X(om{wE>3x4ucv_=MWN8qup%*b|}3pzMi|>@TqGCqm6CZLbLB5F!J`Q<3JL zu43+4$6PPkG#jAimOJJKgd(P$0U?=oxOf9XO)E_duA+5B$R5+4rA?Bis`YP2YtvBW zEYvi_T~X?+X{b@9(kmnL-J*(xtDJm4PCc(6WWIzL*9>EXlWHmm$xv+IHW|nq8hB^b zWu(50O&{XT1v4pR-hhG19O6hOg=Bu2LiL{%Dj>y1;MFu>Ze?ENFuNm}-8SCAyg1_>=fgR?1oN`Z!#OR;rk75=%_BJp-1XUSzRQX5o1=oL z-yF-a{U(Y^yhe@BaE!0Xk&ed3*W?sc8efxBPA0_Onw%>u?X8Qnx4w$KR~>t0w6N)w zW6}!T%)v@R3fn7(8-V*ruNX#F- zxp0#rJk|A=jHC}6jj>=rP6FAK0B>kk+_bC3o0a%#1F@zD(c@wSJLibeWUUBB>b8 zXi-i+R|PLli*g$BikUN7lyfyZCU3KpMrNl@m3paX8x2gObCJ{8QZHFJs*rj)oz3mQ z=1ymeIj)z}+2vF(Qu;I55v4z?2$%k^Z1w>u{kiOj(x1!H7D^l`4 zk<5P;ys|ofCR@e@ZJ-ykZJ)hJYwTg!GG$+IbPtQDt6@@CvI{!G&Qu2qmfL8i`eLA! zN^T=%<4SI$MWa~f+H5&W;F7f!B{B-P6GU@%ot?APZ8WSe&f?13cD*cqZskP+TzPp9 zgg0_xwm6HM)jW?62v7jb+v1C}il|8|kk|weeYzcl7H2h~#6?J$2gnc*0g0~xLH31ZB6iyaT#E!mv8O(qRqY*%Hc>00 zrnN%mlf`>n3$KkDPD4YDY@SN7$r{xNS0T-m?06~$J}^-(@pr3tZ;*1@Z;-x*Sun`k zYFXKS+Kh5vY;61ugVqk^Qcb2|KRGwQ>St#@58YO-vd9%WpQ>1i3i^$6 zf7y5OeAZFtFamen?FPZYuYLuD90b4Nrh541?jS|z=C0>?Me5vxb8ZT~&8|MHyni;j zHat(hQE2@uQhaNKxK*s#{Ji zhNzG(k&gaTk(IwY!CA+phh{((bni-xqKFDlPId6QF$-@L?=A+DrI{7#=V%FH18Br&@G9&Bct4ytv z8#>d*`sz&6T!t)U@Lan(Go9wz4BjkRomot+o54-7I+H^P+D?03EE$2kBq*4kDPww5 zxPT~`o|(o7E18~I+>$8chm0j&9vDUA^vrhDqTZ|q7^0?U-pI`k^)t1A!|5@BSlXP# zy*BglOq?q`f?K8Lf=t=ND}rKK$S%p0U0|*1Wtm#l*j=LXWJXg#0z+vb)<>OSHH5`W z`(*O`#$MVdGneuqp=zJZ24tS9`X!2~hsjj**NbS^ zdfKiN=>)o7W_@DK7&;m!WA!pC$g;%q<(buqqI1<%nRc+fCJSP5T7p|03vm$^;?x5D z1|nF+joGK;GFz}4^VFCqji?rq9Sb?Mv|g1VZFU0z|uE_{;>8y%}N>NJe+8l#!=_g-gh(~H(PAF;w%p6EA(Y%DP z$tv}^B%=m(2X3z=86nbZ1ZvT?{L~ET;FBHRsTs07Ur1}ysTsUH_l}3Z1K~Y2a_AY7 zQ?)-c!>;YRbYjp?b#8TZ_RFXoH2P&oRK+D8P({zpj-CZn1KC=RYZ0qSIkKfr<>V+k zqc+Fu9IIt#@B+rmD~Ifi=2S!p-m^2V;Top1=Ug!-V^N+W!{{Koc18^CnQ4IX= zf)9|IeJXg`5!_cxmJVZRYi?hyLSpuQO3uBnR=G&NMI-i`Dw*iEEA7o%9EBNypJ{r1 zPU+V>^yh@0!J40|RhyKhk0&!P)?$A&0#oR2!Z?+j?MRNR#m$sG3s44Xt(^^n&LRWL6dm!w>701>1X^v=H1W?`ot}eFuQY03Q@kR$*Vr`;O}bk zMKBrXj@RTiQAe#_OM70u7ibge&vdr8t!4_cU>L7BF?mu9J_paY*#1nHnEY?VCVsa!l0Yo>=#RT(by2Rv2m>^k>+$dsA+G~Dh=)%A{>iFp4PsM@s_CL`XS`<{#CL0d1Y=f)sT3Sty3l7HDLB9pl5t5?2p*F%F+_r_X$ocTM8CLn8XpAdt zL<9JP+aGA|5GU{--x;k7YAHZJxP3r*vV=wMk9GmQGijll$;U3&LbsHsfI6AA$otG! zI}NmwN)fD?@&J{BJ|zDH*p>tMtuC9-ZLB9g`>n3`LEjGGx4LYeD8qiDIG+BTuY~;q z-k$(gceSf;b$ME9W@(Xgh&t-!AOH4Qse^Jw8NJAB`~T&)TdjpNZ!$bDtG3B^yNq+9 zjh%t86}>tS}!-uc!vo{;)? zl3f9uO^A~(?} z`}=kp&m+q{VPgp(>W)HKeJ71yn)6xP^zK>IBuaiaO|K(YG|)|*;Ej^6{*oFX?da~yY1^B2 z94^?m!~G4Eyq5=l{qU;KvU6n^txk59eAzb&{&H;pF1CBZZg;Y6US^wLzZ;{881D7S z*@SsNEm#LWc;!?j$m@3twSDN~p7pjO-xG2o5;>y?UEs6annyQ%AM#s2Hm}&UYGiW1%^f9+%vT*S31$wHn@H?UwmDZ#v|uUG}TlG$I;f? zNO%L#97D)MX}m>|?+qJSfaZKF{PPirEhEvK%S1hHO&Hw)FBC#dbka5)!WT~yrGAC3 z@rhF9OF!sXe!D=<4+*4d^XTSdOjjweY1mJW-)~F{=A+uIWMz@f$939tkKca7^R!x5a>D?mI@6zm11}1VkZo#H>5g);8t4cnB+%Hx!`g&;>*JLQQ)HDgdVhj81 z5?EPEmZ_SqveA`&o~kchG6EmbBsxtz&ioq`nK`DVaX6nrA8`k{wp@W5k_qNv${faV zfG`hBlXFYHNjEI5h%e9aO}b%ejYRS|-D>EhlH(l7PAbWl=Q^boRbHO!l-5Y@%k`zz zWmA=0;Yc=3<5^xV>@`g*6f-6AcRI}Z%FNgD^3w`M^I^=ZW}Gtr&eS&?IWqY$o0;c!@PR*`4oi>PpjleNAl@Z*~j6@ z>gm*co|{?n>C{HF*<}QN%!cG#m7MQL&J~+RU=#9e_E-7=hu%Mxn?u%hgHm}S^YJJ~=8q~f~`Y4C~jnHL(;F}bV(`3)$Xo~JxWYmG=29^ApBzdj5Aw~R+&wVze@I3}! z!3&6(H>OBwyCV!S-$>!x3KC^)O5xI`vqNu5;k&0AM(s|q-?ZtD9ZIvK+UuEQm$YLF z@5)Gp-l!&c)a;VNqo%I~4Wa!~Vo8QKDaBd}?P)!d!pBRztbZ(pH_X)V<0*3Q8Eu^z zO%9xzO)Yw%hOD+%$*42Q8UKI6#VA>AU#P*GY1=Rqz6p@k_JtaJ7vvHW{sKhtuE^gt zxDs$eMf1U>8e9uE_`*heK-4fCt|Kv)f+9Na2)>n%S~R4H^T2TrAjq?eTT1s85`sOmh$T zO432{uTvVu6*?Xp*4>(zgt61`?@??4W^`hqg)av_S*z^{z28qT?k75sxsYbr2O&@!~u%ykBTpv)o{Qr-Tr6|9`TGo z+Y-Zyn7= zkBC2~^C0?Y4IMUUcs9#a@;67aEK;(8Nc!f{4s?SW{7OKZZ|g&FS`Aa)C!A3O?;4DS z1DSi1WpMivSDU03_9o}?&Nmz0o6MWD>4U~#Ik7*PyO?hlb*=r$)v0Uw_;7fCGH<^5 z@@YmpkR02XD81$Y`6M|=s%515G?~XR$;02tX8ye(`Cg*?SHC9vNyx~5laj7#fTWYj zJfh^Up%f0n{z$I!HpSUwIgr5~G{3cI)`;BIR17*Zqnjh%2sFm#x;aM6n}#No@{Wlt z?-(hsm-9X*`6{XjDerhKJQs0-7I86Jz?>*W^bHvUWRet7&X6W0XOjXc?^`JE=a_G# zF7HXMj$157{v4!8;pS;+@|QbF3zB6Ooc|#u&7f*uo*c*3{@q55W{)SQQ04kURP9eB zCvpv@NQJ(V>|@l(KTpE^;^=G1krkvEod9w5ZL30640#NUqVCW`E3S!CaXpgxJ|k}P zk#Dt3Hfi(OoZ!$~CKpyZQp@DV6bAU3MuDewa#AB)NH+p=XnrkH%`Z8UMaempl10g7 z96;PiGiGse39+F`e+@yti0;IBRlWxNNSf3eDeo0|AIrxir;wn`ch$75==aafSV46D zO46D)0=20Zok)^i($6t*A}PNzizkx!Ji%*X_YS;rl*0CYN-E?02245?c`r$hydEYs zOn)zl>o9{iE8a_LLd>|22sIxh=?(1FG>ko`8Q4dXe3?vnG~^;);dYY!6zx2_$yIb z#l(#QDcWC&xzsA&M}^#ok?nNCc1|hRP#knF@k*ljk{<_hF)_6vz2g<=K+be1QJSa@ zbY_emi1Xn?iR_Ht6Gbq2D6s*(2x0{K=Ky;zK{D`)lY#dVBxvUAaqlI_^|)EJp!mIn zChRbL_4K`jcASClXd>E?5dQ#rgU_N!>qAAxq@$mFlpxo)Qfq_qQ9^R%IklN+8G#ez z8FMrbQK)#SggFVkH6}-Xa}wl!Am?FD!WETf=S5nYFP4mYw?#o`zXX$V)Nx}C6xA@c zJ7Lz{MpVAg1p@ z!tH=$K6)RQV4hZkI4I+M=;@uzvVLGi4g*X2g3M_W7tUC-VIA- z+oJQ7%vFxY|1I7}hn22hz&0BEBLS{&fIN(cC4_te}&#oYjD{1XcTY9m_VeG6;GG@}Z6elEjUZuKoW7uyT3>ysqt~1~phlf#s1Y&c? zf&2on=Kxls8l#BL%8ft}n=e!Kltt^0h+J8T>I4$+T`WiGF2=J{o7AQm+zT(pOGjB- z#^fUMU0T*$ikI6jV@BiR;-z@rQu1*hycC~8ebCpp4I0QukQLdE<&1FbmwxMzDX2)H zq)!?!f)IWy)EECVRdE8d`5wFpLxP#WBa81Ix)Eh2@N6lgfJ-`v1P4BjZX`@- zDDH0Lzw0D5vy(n`lA7B|$DO2B;_OEL1t+PsofJTwi2Am+Al=cBr0Z<1hECEA39_!t zzt&0WXeSM)q*^(slkSqFQ>tQ4xY45uRWUeDU_MpHk$4%0$%`_u>^c(93*!vF)_5eo zghx!iMfm~UAuthbC0{z>81o=qUPjIY7SGc>_n70-dEuU0YGu8L2lDAc~h@kqR$ji=sE zk<5>A+y+N(H6PQ!?WFC;xICIsj-aRR1{9+JKgKm8`s;CFV>O_d3iV@L zi{41PEk0}v1;|0fi8yYbh6!P#5D=Vj0J?vQ;}(1m32y-8ZSRY5X8E>~XyZ8QQodsG zcO187`$U`!0}_ZT(}7a%M(Uk_(7ePG|1~TZ1?t!=z zdY0MxKwNDKFVZKV&JM&&SG_XCczGL8nNCQCFKwu9YXs%Ty?QJD%;}ST>bR}qQTsrw7XL5a{4j`fUiDOu{f>wFHU+uejOyyZIw3SXgY`} zhOTzK(yy*UR}Az~O24KGT`|xfQ2Mo1=!&63lI^xtXo`_1ed`9d%v z_`DF5;FD|nLXa<38i9+nh&rH>O>x90k_RFs4@62H5J_1u9SrJ-%D1>b59(+Upvp2A zsn+q1)?UwJXTC@ANo7*!td0cT_)gqGo3xzf#T4 zfV}<1S=$+C!TF4%((Vl0!1XfsXAI1{16t*LA$UXi zM}OjJTzmExvrNP-s+;*uOYOn(tY7Y{*ou#(yQ9~ z8&>wJwtjvAPC92he?0dp{)kCCe-8I5_JNL4yJ~#6-|jncSgx75YMg$LTa4%8r;QM9 z8G$64rIVGu%b_RxWd}QTybtnk#j;x*(THRR1nJLQejcMx^mP;`z7@+k`v8&BWDM0f z{A@VPy%Wp(!M}px7@#@ts=OP^j@YF}*ysQ#KZyXYFR~@K6i>u*MQj9RJs@#vSHwQu zC6KFpaz1}?J~nU`Tkft$z?Pf>et>H}kmh)}0^qNv!s!(AA>KoLrR!Ad53L@$IA|p) zAO9FgT}28YR7L}L6Q9Ix0+4Pf&L$EM+#s9f~T<_(&TaMm+Z(}{m~MEb*;{`)MK@k3?0|7lI9yKYhu z@TR#gAZx{2O!_5e@wTXM0r_*9#Zfw&^3lE3|xyJQi6?2PX?F)2Y;+=A{ zjhdq$tdtV9iH#Vh+r;uPE%w^PHmtPQCboj?$(Vh0Y{VMu>ez@iSlcSb`#WWwN8xXx z8mFH@6yu4pl{erMV+&~zz&;}N!t>Q+{H7oM6W;UHc$Cp`;qPkpxUfC|_MeoUer-+I zf2zji;%fYQF?&91}6C z9*&8aRS(C=jyn&pM`F0SBsBRhhD+pYL_4J?1kpNmJH@M@D0G7wr(a?a;~QeQp161$ zVz_ul;BKn_`N~UQ&==nMkr|yY8I>F?sA6En51D7JRyj{K1HkeHHq6 zvj`eePKg_g7+E!N=wih1szJJe5hD{CeKg%PV>sHB1)C|>T0<^$aEK<>>98)E_POdzwfP>}$436S@*!^R5$_Z2|S<%EqBfDTs! zS^1GvaoP<)7C>#`71;dm0_62j*mxe0Gyup+GB^+q-Ezam^?>%9v|($2UqhFW+ioun zWsJ135UCg$ZOkC8lYs1i>??qzyMXKk#XTDjZ{)!ip#34u&PdgYLz&Q!z3K(fN{2K? z+G2=w92IT6OIjZWGAtjjo&b_o0a*Zw`&m5fM#>IAXqjq7KHa$9gR>4J?O$Nn22K-g z;NAqJRsq@o(D(x&F&~Rf`y9x<1Bu;0?E*k3^{%#M3xrbX(7>AM6veYUqTL$^g>Reu zuIcR|(O%OL?s=+f-g+SYR$J5h8Br8-qO?|brPF<31c&5E`IVs zn>>a=(h*SDk$RMcjdpg%rb?AWz zN1{ku9I5}kye7jj?}UqhCx946I%1J;HSKjd$!zpxqFgp?S*U~ z(n_v14YHE~>{{)Vzlv*p1nLd|9HLllkZVm6J93uhX{;0)$sQDn9KZEe0{PZz%^IrB zGfvaVx8BqA8OV4ST4-3WD>cHihG^a}M2&-IS<#*nxDF3d=aIW#0PI;$)ejpB0PI;4 z8-$G^0QRhg{+!VJ!?JG?rg4}Wj4VA6Kw2RS>x5SRwDIbK>M#%a1;1#&#L>6o;4G)IajJ@#WoEa z7a-4`6`Y`+^$t>B1GG0(YY_aTl|1XpfAp*ckiCtx(h$|R8Qv)XuxIThtu#cvh?LcU z_WA0sH>+0itUEPLJxvEKV`8+ifwYom9fRyQ0QRi=mA{H-l{d$G6acuxaBW@ktUY2! z{AZ#P$gz%T25{@p^N6OCUtQ94@~iclPJUGj4k8(}{pxq6ieGt3b>O47AKDAE&oU-8 zpbiKxY^h|Lv#skDsYa(Gy%gzmFOXXz*`A1`Jguc>1+PXT??xhf6rqC`9D>m2-ETNY zJ0t77ruiqTG6QkWIxnBUdY6BJfNGtW-;%+X0`M~FI&Tpj&v>7uuxXvQIYmh6*co_P zA|v1T*pW70Q6vkCE%Q}HMn?g8O_4z){x3mfn{1cY%%@pWjzM>O`K(Get`x%_6wP?T zv8M`$V&I@bM>zIY;ZO`52OW-oSK&|$2MHp-uL@N$6gRbhDoV0c!q06LGU}x`_dR}X ziH#z@ZnV^!LD!9X!|S>O(z}bTi};F9*bPfQ|>0Z_AH1_JBvW<(~HPZeRPG_2c?4fI=>bJ&*QFHEl~}TId~3 zQywGqu@(jicn>Aw>!83ok+7JreA< zcX{}jdrFJ2F%eLVo!MQUJo=pRMxd_%no|b%h~=mXjIDrRhYGmhUJt*JUl$350Bp`m za}Gg|)>=S`|4j$Z+qJ}r*p`wN&2~=`uV{ABUeR_>h!7+2TL!Q#%3SU+Z}FrF{S47J zD!q$C-{?sc`fe)pTBYCV(ARqSj<=VMt@W@I8G%(nFh8ZtPddy`d3f8z2&^Fba;4LT zn&f=BhreWJ+;8$7*Gb9{2w7myRjgBMv>+-j-@}WZ^dUGi^u*Gce@gnTxZLRB8%DH4 z-cuh@^SwO0nVnw>Ve!f#9=UOvU*RN;@Ywsuym38JQB+>DBxK;UTYQVYA|zj;IqlBa zPD6L#EVlN|V{TcG)35Jl@P|o{xutTdEy8$p%w0&0j|&J{V8-w9l1rJNkuqMD9&nfO zs+1R^2i&cQEbG}%-2CB195RvQ2PzrY#+LlRT|$!V?;p73)Q8v8JKTKkfolvnU^X|a zU^_=}vpZC2azM|l&jMqQ(` z&5@eUKvU0g7f?O>I6HIQ+{uj_KBR)oaGPc`NJt@OxcP+M+ZkWP1F036GU}D4LH#op zx6a9)((OKmbJ3r&Wlg1kxbtmUV=iER}& zPF{ug5%{!owZ)!G*U01}0nb@{OR0Hlbaz0og7z(*w>ay`ZID1P=qxhuyu}+7V~{YA z5|7j7=<`+vRb$rGc)=s~LPAOtY0~DpnPN_5H z>I{yKWZgGE&t?ZO!$*l39V_~vbm<+jzWMRL`+TSt|3(B<|9FGFv{M2bG?1C6Z zT`XNTTE4t?Sh~PiE$Fj`+AZa2r##cZGk|$GZ1D`& zbUKomqUjWoPtqEp^o0@Wc3Y4$tQT88>psU!NP8Py-`wq(p@4ldl#WsA6DYvXRj89{ z8=iAYCDqly0jY=*SnJfu`S#=uvuKC%amzF(f>TEC$F1b{7@_jJAw^DSS6Goju3{8^ z^4aamDpbW#{egZINTF5X%`iG-g4az*=dmwAuA&y{S!b&siS50VTv)aSZ{s&pQDuTb1IMx5t%RMHp#xoeC#&l#Y<0-E!AZmf%c zYNTJMu+a@5&f^#7c@GJj0pdK>FLR!NIM0=xF-HT$d4l3RFC$?sK%8fk%S>*izQWFP zlgoVGPGIL5>@qDoft_cV%bcMJt!!4?dA_*8cAoy?4aZ^W7$Ee9ia5@*4bJ03oyb%( zTG*@Kh`AjoP{&Q{g-bPFoLDE95+r z9AU#6uIb#!cPPTnvq%wAxXxBs;wb!8$>cn{ZSoGsc`iok^{Z2|^K@NV7iGdPq|;3j zla6HMklp2y-=^t0wFc-o3}Jd9(b-4NnewAEbIl}LG=F899WzsSh-~8wlz)IbC#N%Z z@|A=+d>dx&Bc>;|0?D^&GJg4pl0Py%uh5ZDZ;;R*@oz)4NIgIT(Q}6)C3igjX?mXu zcI!^4t)7}V<$iR$eu~^f$RI@)5i(SfCkPp-NPi$S|IkZEyG@x^DB~F;=(KIO znRzM;D=Cgocbl?69XQ+#=66lg9C#oKPn+oJdrEr+PdA*V6Wv94+UlrTWXe(d<_)On zMJ9hmkX|rYV#*5!gT~-xfrm^Uqx086%*O_wG3`TOxYsi#za*eD)(fWm#1tl0`7DJg z3sPgySd_#&(L9Xb0QzK)_>(VJ!jH_rT#}nA;Yi? zP)1|$Ls$V=MNF{fkQ7skSj`ZY5~49U2@7|tP&i+8I17c7Z3)rn+8jBF`bk>PItNxS z71&PkQV|HDGI*b>F1)`YXI`>R6e@$!wS=(mR84sos9{N@R7wJ=lmx<(y-(rfI_eA4 ztc@Drs+&R5oC%~-iuW&^x)Tels)OIyAcT%`y>xw%5MncWUnm2%-!!+OX;{^IM-@_8 z6-xslX`}ZmRG^)vxgWPpSl}Bc=SZzI2SfxuoCksTfY}z}aYIUqiquL0Vj&Cj%zZHk zqkUR26~sLaL6M!}-HbQt2_XtL)ILTrI^To3be}XE~&9}P_X{=t(2Zml~8|VH4r>c8J#EG0VGqT&N)(2Ig@*}%w3$Hqf?=f5D7_N)Tax|tKsG?pdRF$mmhuBA>!->%KEQ0{nW@V5gE&cvh)A0* zscM8*3PuZB39VGhA*a%Q?uklU50cd#cLre7wHZijAk6>;?*nly?Bd>!|6fGH(*XAo zApRa{ES!S6x#68vxEIjAGFCfEjNW$p_ z517xX1l7+~;MJU=1jt|)!@o=E6q0eVZnIw=GFs4^<3@j}kQI)_>wClE7?8e$fiD5B zX+S#l!i!G;_x(V=!Ncc(MAC4dYA~E9yNc=E@rJmsn*+D5LPoK(->e)RD}C|3;N-ym73zFu@8Ud^5cEreAj@q z02#U;kky%x0g@%VqppP|_l+QY369SJp_R&EyQpWks-^?Tot!azFRuTD24cwbt&-{d z@Tib!bIO@c`3&mP!;BHB?2*LuJ5KZsjMi8F22`M1-h#J_A6(IepQMZG6E^-vrMvzB-z`9f0Nepk9>>FjfP$JptcBaAxeM{o zx-Yia0I^qNI(|a+qVdZR;7={6_Do;s9SzbB@VpOj4Fd8T9)2ODJCMSD&bM-eK&JjYnYIGAuOn^UCHC4?Oj*9So+wsuov6O*cL+%X4>ZP7M zO`nYP;hIifQeV^QmF8KM>DEMB55^DqI!_NxF%A34xhyxM!2cd(t-;E|*T=2-T7!Il zy@Qg-{zpDf=yRH|&OT~W)8{-~z0AoWE>^aQx316huTrGSFD zKwJy^7cArd2fLra|0h8B5s*k41H(ikR$BTLuyy07z+b&dwFmm6ngOi6F&-KM$}Shl zC3CrCE0+wRBF}4v>03nKLm4WbMq(bNcIq%jt%NV%hgmHZksA1E zA-;H^DO2oRF5fu-dAtbH0A#5z16)r5c?J(p5waA>M|ju)D6=)$^6qt@ zo&@DT0RIBD^Cxau@bLnyBvSd7D53JnZVy*D*}U5>YtlfhzyVy==6GmI2$gjR9tHu* zY)!U&E)_nP3Y|+O?$8eZELUsesO&Qv;0L-<$`UGJ36-pbN|Zq9xs-eQ^GsKfE*QeL zAUl;UiiYjP8|{ajhV9G^+k+eSLlu;^q+gWmKSF%3fiuKSAA|}%0n##*U@jHu43Ij5 z@JVBU3#$=h2Oc&M5(nhb!C_+_pnPR{v@vWThMf9HZ8iks9U%8gAnx|~XC|--l+qnY z?qK}mw?>L_XI4FFPnt$7W$sbU96B9z)6Y|Oq|A}kq?^M=H2~-5Aw0|{gmU^99)2T) z$}s4bu+bZkl#Yy%63*Oir0f8=DRbFF5gG$HlMmxz5h0Yx<9PUn5X$Uz!w_x&JS#L) zXV5v)ksYc0u7>A;67EAkYaj%g9{t6amolrHeL989Vhxd}5cIza-OmH8Hp=c^K;eQS zJSQ0~=;uKeOp;35;k4L@A*ht+L25i4SI_{i4M3{h8aB=o@-C3wK;8tn_5yi&MA%pi zaD4@&&q!SD1mvColKTh#8A(=*Ca7@yph!*VE+M`Wk}M%zC8WKC>?IJFn*?`2!ze`+vXBnHSPu)GFHs{v#IC^Lvs6NqOt>H!e4g;B?R z?3h&q>I0KSV*+;u!`MJ##UKH;P{8<}w#@9=D8lbH0>)OTMCf%-Gs<%fD^0DD zK7SoWXjTM^Z<Ryfik09X?!2KGK(3r514k&n=Ir@~BRYV)#B4_SBNVp4>82}@ZtnO8-=y>`R zXWPfu7`xj!*bIR;0GxyG@bC?w>~fJ@%2F=nCztY(OZKfps+T8Z!!trrnxmFNJvER$ zNBIXxcj4KoKYzO1J_<6;p00&`3~RQE*P=f2gCac0^`RH*k31}unC^6$vqMo!AA(eE zY}oJt3O)sb-xiqa{ss?MAf*Ao{U0Fn@GuLIbsosys;ZXON1t0zfktiQcpSPLxU8s0 z#29~KKTeTCWb7KSl6N7v@uzG0vAZM<;j)oc9cr2?!LILRq(1?K4$$8Y;BTcI^p2aV zGqUL2@(xOf*R1U)(FP!lh1h5k?OIjTn)EiAy&f$6l#-;ffuWGS5rn0XTSBtKFPEK# z%FG%CmhqR#wkO%~AZ&)*8zej9a@ltwoAv-$R$d!zEG7O2fgAzv*MPJ~2?1p$Q62;0 z8;^3{}=4C9uMBO7qZ1%g_p`Fb>gvck zuVir}`uOPHr=?{NI&Ks@0&a8?q%O!@XMp=6kR^DS3Mhz4LjLK4%I+F?S}_5$6u_Me zWX!~{(F+hu+lzmxVvn({6RihQd`}I7;`$(UnFPfES00clc$f_EyPuJqG?W3$s%Vx= zW7%Z19)GVgS?Q)>KiLt8`9Mm|gHUeeC=1s`BITloBV<20ua3@0iK{nUbMz!Ku)@xf zjra#t%@JML;PVI8{D7m`esTizxhYBWZOtD->wC6lb24^sfcPJ-s#!NP(20z+x=9Gx zQDZG{MLm}RDT7chAgL*kiq4pv=z7@}q-+52D=_s}N!8&~qM)0PrKHz}G`|9qe;YbE zfIlVL*x}nteCJFv4Se$2OADpZf|t4=7RPugRugGmX(U|(yT*;kz_oa|14<_Xh%HWw z!)uROiqPmk3hJROX1sniyne3Xc~R-~Y0r5=kGAQC=if@DiR2lf^7-wF2&s4eOX?=g zC+YlLsMvb5=4&!fUXLq6n*XlUY^~OGi5~}JA9ejYsm@+hIQ*H*f2BS#38bAU@pgdg zE+BQM;9wPyb1p&%0YP`v?WMXN7e1D5i~)TpfRTfE*aJu)7IzZJO>PexjQ~kGKo(GH z2oJX*WemXDr8(ho_iIJIL?O2#Lpo4;e$aFpcMobhl=!39OEFF%U3sZAEfylTL8aB9 zEoc0h%kLhCB0de$As9XY$XyR4_bvM8Bl_nc{uxKI+o*gW)iq0qJAp7av9`Gbs|A3Y zMBc%}MnXvRim6!F0oTfrT#@~i#l{(BR z%)6P;h#X?k)C@lKZt&}Pb&LdKAUxq!lL!;_|D8dth0nRXVR($bLF#Qzq1Ny!xQ z%#RTJGD2+4e~bODWO|GL(Ll((q;1isd{tB^v(B zKkIrvp$;_%HjWUV{gX!ZK(9;iWQ49LN2?QxJ?Dvay$Y5d;Oz#mK2*E-n5u?8OPl?>itp2))w)CI14#|G4+yY2a*_1QZ+sVlCV@z2HZF z*f`yN8V@HxItqxTvu*3&q8-C7UOF=8l*acN5A9%uR+Vw+l$tJz=9J z0K*untdA-}*(pztl?K12JT0c$1XDKv*S^hXITFsxyLRnQ2k%sXb*t)>+K;8f@w*)} zd&$g_(&W4eFyrnD7lX)CfRZ!d^WU$GH&+&ne##7;gbw8wD7Es*9*E4PrO6{m<$kao zfx1Ja@_iuILn<^LDzTxWO-y$;?}h*kBMUc9H#~Kfjov$doC&c z<&fhgeW$>3wIilcbT95)0bD6Ss^5q0d_wYo902kTz+E56qjRt$1aP+iV&0ENC8Pt8 zDL}>oa(e>Fy_x4CMK_m`?#| zgMsu1>unR^07HQEoQD|>U?ffecH2IC+OnU@bcirFmj*9D$aN3c-h{wLK-OX)%T>k> zxc8IlB_Nyz$M2-tzeHIms-aFcHH9jA>NX&q%(8aWiEz4rn6?w1)+2lFZg{9QAKPYt z*f==q5hrKHWR!GEX>vT3Gz8KJ@Z1c@A-;Ss9f7i)237TsWpCquH%3-YK@hkb_Io7 zpx{BwumHn9Rt^0BTEL(Ce=*jpY$_vbC5mEduIvo~*KM%83WS?rwJ)IYEC0adeiezc zL7fE%CDq4G8s#(9C&Gi$dM+MctnzZC)TPz}FOzl&BPU z5+0@?Wg=~1=j55bE8u0BBKEyZtx0P2#u?0%uB;yg(7$Ao>=a?khsUNP6FhRhOpKQPOeA;-ce(L z#h@<)u&RxC*gyzLe~pJj0Dt$(>onN&pX)U37C1=O^k`$#H1v<5Kx!_>M-c!V47GCV zY7BVHe$nxxr=koL41EQjg8&YOnm&&2hygel>W_zhgitVa4<2R%{M}SlL@*>jP^za? zu`_7*!wHEJ>89XJm8pEP2Q>4B==hH)D^G##Md*K?3_b*8FCKQ2!38QDz$PF1EWd^# z`(zZP^w%1ye9E#Nw`X*G9%_Swls};96se{lCGCl@kpl3KQDF*Js;Z_iYNn&wesWX~ zjE>@f3F z@E!nI6V$H#yQR-6P61p$)r1BQE|7q1`-=eNZ^*%=v=|=RGYZMs? z#As0hBkMJ#rIXFKkWIeLy-P{>{xkgs>{iorFG!rVYgXV)5x`j+jfYzS3B*>Jou*%9 zNDbK8p_tElLla*>4y<<+p}hHjQ)B}WR4aZ)PKPJtl&)?YnWC=pI{Jv2n$y}!!q$o2 zJ1+t$;@-JN~44{uJ&1m|jlI^`)`chKUHJV6! zw^V6(XEF8?{_yH~3wlpvo6;+DG5Jp9g1(#7X(ish1aL0)DxYE4Pm#Ik4H@1*ZhGjS zGO_dj$V54M#}TFPbA0S`EQ?)NgY*_M@G79&a2h1KO{RZyNG3i@S{ognn)KT;lldDx ziBDqy5{$PI&Xdq&V50$Ul0Arr{eZODK>C9v6^7h%fCQex=mZG0%u>bZxwPiXS_bMA zO|-+pjwJRl2;~r|PhxW-#3-=x)X;?Gv$697b{Yxz_6^<(b>ga0Wuo^&mn#$RDph$e z)MJ~cnRzp_Av$y34Q=|0YH=p+itbKSVbr*Jm0=JRHHxYce;z-(OVHqoxEd4wG7N(L zGtEH!xGS--3n*-m5`Vn6VGxvGof3b@G!26O-&BuZk!=_R?Rvz=--SSkpuBTj{9afi zC~uPzUu!&8P=F4T;^Nz87zRN}d`f&_2)Y5~PsP&*xmudEay1KJUCUJLfsh z{?{u-n!PRWBvva$npTz0wG77Jz(L;Ok#uhBVxS>_YX5Ddow^2qs({)@)Bn>2e(I=6B(KD`0e zer4pHVf~dNE&oeCcLp4sNiz*(>@;u~1}!?f-1*ZXh9b@USKiryG}59A%X7cJ4WBH7 zyro9mxd`JxYWQK^vGMIZX~pen=k_y{BDEfncP^W(6lv!EdFRs>rAUSTd8Z$|2uLe# zOgpDfP>M9WG41Sn1P{%imAlf;?0)#$EokBVl=B~qGil-eDd*A=xW|DO&Q9gtOk;h4 zT1Llm&dqptNIGjerEt-wk*N+Rk;ba2(2xDx@t9fPo{Bc9tmAfiZ1E-(_g$^V5PIH<*n z<#K*br#u6LsG+y)4jr67EPuAH<{DN^ggd~PFJPAdI1Ova$Gq|*B#3_&+Y zr3XTI9m7s4{N=hd`2|yJdMqa)SAubF2Xgw z93$ZU$VfT&qsgShMx=5R95f%~-GWMXpiGi?Ju3MTmON?2&FS1jw?q`lD??WfN8)RL zL%S}A)<{ehX~mE7&h3EvIl3L?UXXI=4pNV)D;b?~UdDiu4r@+1Kf(n-T5(1`cRAkB zEn=yA8%{1e1fvcEZ%j!%_tyfxP6l}%MtDjqKII2_RhSdHV%>`2iq*!Q|KLJl*x%UU z@!YSl{7Bvmv~UR;LGq?XQ@IOpeUrSiQPwwbOCot!MN+x{Va<`e>mn&amz4qeiO4du@03!zKeJMWZY zQIIAa7eAEVMKc<(A*w^^o-`A5lyYAE5sp=$)|`_&dj$SC1X?~XlFv=X4U4q=;7H!N z3k#KWB$mZa{7*V^O59ocDRvmpk=VQ#BY<=ycJ1F{Mo34Fi921`m`O)=#hoXX8HzM} zdD{743z&WtMA;H zNL~T!<}|32yhaEgU<)OA?GOf|RV44ANV(I0ol>OXt$FA4-x`WkKRumWi-kohU5(9Z z%}`u2pwe{^291P!Ey(M_mAU>iLy^2r2yHohA_6KMVWe~I7%S4!a$K`>a4sV?kIm$! z4vr|2HwhWP$0bgRUmABRa4nJIo8rz~?CzwsOL1>NK56ZucImD3x5D~Bs+(apKsQq)EAs?bD+E+cta2=`(TNZvcJ|LPk%;q?cTma_G-^AZ}JAKS(*B-=h?%XF@&~ zorzs7V7HpolE0T_RAfEd=Zz$68i*dmYeh^C)RNtO) z=$`p!w6)}sgyY?<6zR}(#yR&+rAUW5j%0%2dw`Z7i>kN$3Qw+}<%hA< zKcQ66*mT-igTpOpSu*Wx!9kDIJTmXB`yoD<0ks}fn>%fiQl#b2!}viQF-f>yoHUNl zq}Hmc+=l7+SO&Db3WwmWIE9ni$K;*cuoaQoyV4FFQy+O1eRwzNoQA%TR%}V<_P+s- z9H5p9ODdgZU1$!dbwE1zIJPd*atmjydR&5}W1fsV|FW=GfDYO_o}-6s7nW{`GUA8Q zyYrwcWmCKn5hY2@cr4+!T${1om0pLnaVn;N0I2i|2v=Y&oyi4xwGmgV(ajQd$^(Y7 zjGtuiI`}eN1-H8xi*|Ge{|+jb|J0p@q>8+ZBTwYD9EMCqt=KP8_^%{(H~uT>Mv`eo z4eNvwNOP$WiB0N<|BTWTkra)X|3LAjCFWsAt;hTCB$8S@T1DQDfp4w2h&Gn_7G6e1 zK4em%iuFWr9jWLh$&S3j0`RPN%sK`NF^d^-P8i!&&iQ8Q8VF_Qp;k%3qcrE}c-k&sx>fc1TD;%%hIWDO+VWy*PylDMZo`13XYKKdA|jB{?-#RNs8T!0Zk9V9QCV-BriZ6F^i?73rrfQlM(|lZDsYk__Lb9 z57$ljVi5Szn*S2jmW>rYvH{JBS7!JMDe@0g7q7}(M!pI4m+xD#6FrQ)hV=49nRiiT zw4}uS6B}4^FNQn)1acB)REn}TVLYwm2x}7N&92X4SVr0Gjk2%63?@g5P=Z!hLcyU{ zob6u(MrIPn#TrzRx-KyXNr}_ZveahX;>%HV>iYCWP)`h`&MjK!OzPaFby$7sZqZ3! zQ3@WnOjd988x~cm^qSNgDAnGGl=KlP_C?tv@S8re;%fB5QtoQ>^M@HBu=o!nVxSoU~;| zaww#Z%q-T9*C_`=>dq`dgVHOE^hJ=SXMW4Pl}7g0=u=PT-?yQZRYu||nUmJ0Pvg%)c3SM;nQkV7DRj&nJ*~jFBFKvDuh; z@eN4F>N3yC9RE8=>ka30XkMJz_!6Y!4Cetzn=&I=!v-VsJCwOO^JDBK>5~nYm)otG zPV8XmQ}sw}$!uMSKbM_uILlzMHS-(z8>i1Q$`_!%ZJCenL|e`=(*H%7J2K_8J7164 z3z?7ZM&3n6dJt-OEi;4Cj}6C%v@5d#%O(92qr$`3?asJJOaIiU7zpX(%mtJ#H7bsW z^m+D+=OA5X$P6kYdjp5!awGX?PNBdZKG_o6ZK)g-oo&$6gi%UH6<()`9Dta$?FP~m#a{=43nvYK0 zz{PA|bqX|&k=2`0k;B-TW21K=D`rt4(#2uD&HGqV{)^unN7Tfm=E>chPXdAZ^vhj0M5BzB6{3)Esg?|nxrC~)Nt zsNS3SR8+s}Rn1^R{%`B89hkJ9^siI*AhUwOsnWkGn~idT*oN5L>8*M}RvfYND3!in z54*jDi{t?j@^%{vNIxhWWUYMw+xUaqat+M`yGLCe@t319rMGUN7mv-pME^b=0`4O1y3fQ2OqOu#;***Kfvgo3CD3k z_HStL8ZNf<_LRak5wlA1Tj}AaPgzAWXkhw-`F7)k+S77vMifdHar*NbDuLzcX zBy&C!A!RrJ8N%lxpA%-hLT^GNkN z=Qx&VX+x%&4KxiYb7ST!uJBSr=JlLR3b)~OOy^ykxr!UTt?f2tCUNQZ)6(Wlik&Ib z(yf_`ab!%#wX`L(otowP2C+5s1>2d>dD}8kwlk@v9hp|PGo_^$GC$=8kk-;`na3$P zTH2L)h6A3_((X)@WoEVXamM1fcv|{A`$JyTIW1xPzJe82=q_RVHds!T&c*hqu_28{iq}9#=3`WoZq_w)XKtg^qRX7F zQWx>M9%4i<#}cj1@LKhCg=@ELURHm>U(#T-oGTXV5M`;Nqe1p2vqmAe(EFqQdH0-~zgehE2V~ot> zHpl6N6r{06{y&fqqZogyROxX>^kHbGj$~^m7^!a|#4Hn=MOyuq}%SduZPmMvz>Dfk>_qfz; zoPjw;_AgS(yDa73m~x(50^6&&isu^HD8?dY+4z;V@${nWVM~L49LSNK7ZlyYeHVuS zspn73+1tqSj+lCo!u+5)r*dWP69@;ehx;1Yby680eWfxUMe;nF_SL9T?L1uUXJoGy z-5Yv!d5F}ya^H(tTs1L^TV>4RbrQ3<5@QzEg0&l$QmxZr@xWzstva0!54y^(LAEm{ z{SnT)mc0wjcE+aHau)0}sn#WGd6e@KDlBWlpvA0elw!Sw4mG)DDW20L=%yQ&v$LvL zg`i<>dHkFjXjL3bArZd|LaJiL+U1B=uaDUFuV%nsB_*3(EedT!IVppe{4b3tk2&ct zcxAk2RGxyI^v}?y^!tHuG;=-(gq^&0FN$ilE{@iZ17SBFanhTj9*;cfdnnwXg*bco zPZXQP*^3rCqUpav^zxbinL}}Wv;T!lOVqc@En#AS!iY8*D4`LB9i={?WC3j*_Q~P0G$;6B()6%ElCu18f z|BqSA@av_rW6WE?*n5A7cf(^{E>&gE$70Qn6Tza+1ak*;Dh_W`*>2~LRH-<8n95ER z9vb=V6!Sxt@(EBXvU}yo2c=AvQc@~D7fD|uT^`Spw3%+!VxY9mjKBs;Dmyc1{Hb< z%_p(Iy`<**VaUCd=HJI0cxlbQfx0|L^Cx0vJy-KDpp{-m^XpkoR`WNbot~%p5!A_P z{&q|b&f;8G2@~b#2FZF%bRj)gC%n9=Sb?@CRbnoR%yl>iKuX{ypz^I+y&Zkd7le;l z3%RgsFaQ;+f~EdrWLK=#LVQ2e^-C$PmvyAXi&L8 zKj+$SA*FKvvQBh1uM(G||5b6_J}w3u$ucM3s>CqnO{?N%n79`GsCrrUrNlUtUG<9a zk+UbFw1V?Ini?;_c1Eu~Y?i{lx}WY?2K!63Q~M;#dIz1ac7_RG1HOM&>)e3e4QSN- zBj`+xqxo8tS>tLRZ-7-zM)Sv^(%PW>DdcrO66c{G1M9VpfvbC9gXT}dni(`i^Y0^l zP%!A+CkN?4PfW&e4;rdHTY>eCBIXXSg^tqbnePi%E&7X$4oP_X^Zs5rSXN z+i0z-<9{)W_7N7=*cPn=Z;gafs&QQECKkNmkI3i>-Y~iN(?a8Txm#Gu`rY+-G153Q z)tH0cNjE`nR%RV+ls&2%!t5k(ZcX+jmqC~#LYuvVYICJE9ri2tP)QeiJ z-SJjL6&ggSw>Q2AVXz2I_Ap${g+>ut?ej1kg(eZ&>?K&2g=P^(*!!SUg%%My?0uLs zM1*nnxMm2gB6QnH7Elmjiai0ZoeM)nm~OXWAr#sY=fJebURMQSnB*+9&%n#xLVJ?E zUSfZR(Jzb;wbl0C96kL`bDh0-C)7rZ+6MbZs&z^M8|^vF86!F8*e7G56uP8s(xN9))$d1e2Kw@a@X4Sbd?T$8Xdc)N^-!PtBXo5k)myJ2z( zr0Yf6WjCy1-VGw{wj0*7hMVJjwENg@c%QwwMe;tk8`^OPDBPNmlVv|FvV+m!`o-&y z#jDlAODWEiUCRsZRhhG3Heb^dXnWV7v9DL$28ERUFKjf0KW1bDvL9q6Z%T)2?fY5( zpZYz6@u|1@>aXyY2o3gU+>ZVtYEAYrQ&7O)MQF8;qVTQ=ZFZg${hrf+dOGY=xof>I zLbrWBXYd2*%yfHSE}IWU=&=V-?Vlnnv`2C}KNew$y@1X6M1jie6{G z@&qdVGIuwGi|u7S5WW_*P4=s-=NoCx=FBz1GwphRm*I4CeLLs-+ZPGxx_ODL1+bbXd-V->Ap| zToAWKxeg*tT+#O=hao#=jmED$mG1{eKfCU^*@&pDdoVDyh3%=ILBk%%33yJ%PuU%u zfafZCAh7HMI1bMZrjW8*1Z6KNOqF@G+VniZ%=%r}-HezTx|5-bOjY_tpGUEN4H>KaR84 z@CCw0j!H(AYh^FRy&`5^iC?*u^FdkO`4A# z1pZ3Rx9$i2YR!L*&WyfB^M@}4f34ox!FT<|w&{eP<{86;ML-SkNwmUVyKXvZX{LTA;ry_=8x+Ee~;#GWI4ao{L*>ge--Fc=hvFQjb;8u^DEf?t(w1!W!|s(u`K5S&DXKN zzt#L2+CHfH9qi*nntz^S`>^Kca10;O{4};PQ~z(8S8UtgH9v=Kcvtf+)Y+~1M_J~3ntzew_P*wy!Zp)0O7!uYz^OoWZIt#|uO9{X;;wV7U+gL6+@O>z zXF%(`%Da(a*+0Pc-gUm*LQ|^bI4KLWsuDRI>$)zfe^gRfNa6?BX~xI&2>k(fyYazx z{$I3eyxz{^(_s1)l!G@OB_Ghx!w^m=uVuQtW2tWFQ;364oP>RGLghfFCl+PER|y~I zBlC=2Wjre0i4UiYA(>7j+0pJ3+ff;cd?vEq#qWN1im;a2b&+o?b;gQPFC;Ub52HGFgvH~eCEq(#% z7D++a$z^gk`76X-pdq(*>(a0d%fGh4c&3!l9ydo#8du*4ZzWJ+YoIyQ&_Ry;hM*zd zBsfOF3>k3Q4q7}EKnMLkjVix0&>94-qqG*?-PU?~KwNVS_H^PY4+-DrRtBpMfz!`3pk&7ZuZguunf?4Oae< zA%jPX89W{~s8#-1A%lMwGkChsz?iE1t3vv<%|*KWLZ5!bnx*`ELk4>nGk7CxFh%)K zhYU_HX7E;@fiXh)yF&W+7SsP*pMJ#JU-_Sf4Bjbb@L|}XQTd5ced{9AQl!uS4I3P$ z{DzRhUd0T)2^&mP{7t?PF>5o?a_K^OjV){cv`nWd# z6w-gXnEr@9{fKp-^8XVu__CNmSJ+^w^24VEasCuHz&F@sfMgM*d7DrE4FVg|?d85rHlKP{v`pirdGCx-OLD*v*O z{=8!PKkU9@2M8KQrO^Z`;~cJ?ic zgNo^Y)u$h^j=@`(kiiAT3`+WjC}OQpetXE^p<)K*VT0oVmJ>4gsF*>v&%nU>Wobx% zz_21+uI|&1SZ&JR5Hgro%%Co8u&?re95VPpF@u&q0|TdpTSEFl)4;~m{+V9ZtiAtC*d#q>|;(~nro zm495w;Lu_QKMWfTQT_!XgP#>MI6rKFbLx#DgB`^TE(sf8kRAvbd{N9`Q`q1{<-Zs* zXc~lgM0c644fjpv3(2a!D9Mb`}8B$eB~EH z1|JqP*w$xY;O0Cfq~CvJkuE>grysHK7}!4HZVydE|AxS+pQ!xbg!EIRigfvtKK+PwlJb8SGMHG*;PbG-IOYE> zWN=I|gKxtIxYd3gGPtprL2TomJ7>hgjmI6=w=P~PW{?aU%u{|#$e?6&kxu9O42<#0 zpBT~~QA~e8NFUFH3q$$@$oSs=Qs1W^vFen+He_&lF@x5y!Qsk3J7n-wF@up|g9DU* zO~~N$Vg{4K274?2zK}t4N0C0v3>!2k|Cx}%fyE5=4jXJx{@Wn~pmBbGloo~!RspRt zWbj}ygOy=}mC8?b<@u6GosSnD9~Cn=I&83B`Hdli0eB<#y@}fpHoyyv@gak`#SBjC zGca&5>=)AiK{5Rw_UT8gg~~r7WI$Kc@3rWnu)zXg0*4HC6*Kr*pMimE;mVMHdQ6cD zuI>j*)6awr7AwC#WH7pz!7E_{92v%j3|190_;a6ufd|R?A^lCo^#9hU zAF=9{e^|(1M=^tc^%)p=j@%g1|Du@w7k&B>Yd_`xEM(9!uE-cgP7iIvhbaH9kikL4 z44kk5w$&#?1{V}F$cGIuNNx0rrcNFPU@j*$Kjis|pwryoJ+34dP5;O=4ud-oX_IBXvp(%)4~fB!!H zh=l{dsUd^(_#!<%By4c9@-Gb;Oe$uuI&5%?@^23r99zs_ec0esuY zl>d6j;N@ZlKMWiEK=~hs3`!>y>GUOGgN@3M1%Kw?on&+|gKNSDrz?Lz$Y6CbgI|OV z&QSiykiiwj41N_hI8*tvLk2sG89W&_I7|7g_%LXM{{~>1hY#alH7DK#=xWdi{z=goK6Wii+X(q2P|I=37$IMz z{2tP?OacDgNJ(k98F9TpBQJj3Qp+adLxui>P{2g_yVxdVTnZY!4Vk0lFJ?O9_elI5 zsPJKco51cK%MOhE7^+w9DQA+D6Tbx^06?Q_pXe<|XG}%nB#=`6c|l22(feP*9wjmy zAzn%b8T%mPMV()e*_*g0D%Qe!UP(TllPw^zQS7hA9HhIHp~Rfw(vs(3h(>*xjGt8(%kXJYI~b@S7h zL%8azpFgw*YvRwCaAHlo5Ui_JB^)qdPK*e!CZhkpuqH}ESQ91R$C@Y!uqK|VKns6T z(Tz4l4#b}sOMa?(Vo;QXFepkw7!)PF7!>cosuzQTyvCp~hgru*@F!tnP?%v13UieG zCu#`>g*jRTjX_~{h@dej%uW$B28B6B1dTyqjuk;;P?+OH&=?eEmk1hz!t547V^EkA zMbH=&<|Gj`28B7r`!U+7F(}Nbnadz(3<@)hL1Bh5D9o8<_oE9MgTf4BP?%v13Ui)y z6-v_>6z1N^+aYKS3iE*SCsBaLpfC^0{TewMgTg$x;!y}1gTh=S&CwVXW*CFQ3}aB3 zVGIg$ne`M32rwv0V-^2IMS?+L?!llq4+=4h8F5Y++a=!yF!c-w0S3iAWHkoGgJ4DX z)m~j^w;k42szKnkNQ@6<|>O3F>~7 zZX+f2_)jn>tg1>T2?m7~!l1BfbUHC8>_UReNiZnvp~4FWMfCq*P&|hv-fv#|dguxs zMcMc9DB{4Q*n;|E7E2U7ia78nm?U@<<@LHM;!%``@F>bdcogL!Jc>jJk0KGmqe$*s z!EaCmk0QA!Q--U*2p&c1J9rf75!Rv56FiD^7>^>|het6U3J$g6Z2#$CWL5(_3g^1S z(MU=VkHQJzQ8*zy3g;HBb0&2{coa?ukHYy59)-Im^$kk3H=;)Oh!p#x@hIFQE4JYd zwFi&F1s(+x1dqZ69tHjJH6DcvJPNKNjYr`EkAlT$JPJqyC}}(j7kCsS68N4%@F?76 zMw0Gg8jr#S9>r;pG#-TuJc@fEX*>!Scog)3(s&du@F+e&p2nkafk&|mc^Z$x1s=uU zA!$4c7kCsOLeh8?F7PNmhn>cwaDhibw@{5o;R26>WokSM7kCsmL(+H@F7PP+3`yfr zxWJ?M7s}Ll6z+HMC|uxCa3nMyg$q22v-|bpQMkaPI0^M>JPH?h6qP7N<59T4qu?lM zJPH?h6jPC>@hDv2QS1Xr<59T4qZpG?0Um`5Jc_*_X*>!ScobJc(s&du@F+N8_>7i# z6z=6lGJ@*i&`dlE7kCs)P%0dniAUiAkAnWSd5uTm0*^xGP~%a!z@s<`xlJ06!oA8! z{t{xF#-nh7NAV+w9U70q1s;Wm(dyQC6fW>6*ljq}5|6^YPB#OtsKldiH*0aB#-nhr z*Wwb5N8#R}#nl>*!o5+8>ogvP3p@%grVSd8!u>8Dg$q0i<_aDKm$=|jxJN}_0q^DA zbv75UIGwpiC$@8-1dqZ!MtUCLQMkuO30o1fs33S0?rmNM-2r+GesdgAI#=b%D8Zv} zf8mXU5VOYOR}{F)L?O^39))|mcaUf;?bYHS^=SpF#G`QUNS-aK7f^LA>ba^{RYizL z;oj-}Tomr40_W|)J_X`YxOZiDhyp(hmL|R3tB|L<5}Bg5Sz9-%-|h6z&JfsiH9(zf$Cq zJz9F%5RbzBFnNS%9n-7DtwUFgLo8||9)!ScodX0 z9))WfQl`eEaKD2`;l^~H#-nh7M?pJ{N8tjGf|ACgaDhibN#jwtz@wm~@hDv2QSj2$ zcoZ)1D43`5C|uxCP||o5F7PNQX*>!ScodX09)$}$3Q8J}!UY}$C5=bn0*``{#-nh7 zM?p#BQMkaPpoHz4coc4h?h>|d;!(K3qhKz!Z{kt7z@wnpi$~!CkAe%My2k|`#opz( zQ4^2Ctu@NIcW68c7kCsj(s&du@F=)#qy&$`1s;WLB7#TZeg}`j1s(q`DM&ePpz@yM@Bp!teJPO@L z;!(K3qu`zt;8D21qc{Y1C;@mBFS7*VQMe=YP-#30cVsYdf=A(w(o%p&;R26>ZY}%mL7W8f+U+FS;H|Av_8fcob4J@hDsz0z@Dlg$q0i-Vp_l z!kr&9=TsgU_6Y>yQMkaPxKt{;vbQoGMe;o9^wp^GC|uxCY!lt>y}EDg(UtoizAs0a zF^gMe%;I$tv$zrgt$~r!codlqiw7>jqsVkRJl<(Mip-ew-X63Bk0KMsqsVlL8r^|D zM}+|%MK?;(cof;P6whh$9eOq{Cq|7&ku8sZSOYD=qsS)WPAvvR@F=oLeZ&?#ifkVq z#VnK~coZ)1D0s{fJPNoWS8hg*;8D21qY#036fW>6L?9l83p@%Dh)3Z9k3t0EQMkaP z;E_l0C|uxCP!K!{7teeF9)$}$3Jao__x@+{J&E8^c;8f<2wvk+c;AYk@hCjtQE=FM z@hH5nlhh<0g$FzeI-&|5g$F!}AFzm+#Ztp~6dv#>m?n4>9`GnOLx@>t~A6im~26xI7#Y3xq&Xi&XCKj#V_MfLt=bfgIIDEh~Bfpal2#FPlUGX#&K z|Fo+9ND@4X{x8eEBzP44UlCsLD5?t%5mVxOL-EL7d)N?;b2qO58@z3b+~*^AVDxY7>v`XQPp zo<)5yX~eUr*OMlA7WG554)H7+hHIX977gv1C!R&a2+i|I&@fW-#ItA^rFr66G>q0f z@hloTG*3K>!AZ>%&th;&^Te|loYp+?ECvT-M?8zc!PpVc0_YN4JPG1iG?rA5AIMbjLePCSdIxtb@QMbkXZ6VD=(5I#aYi;N?;YQeL}OsM9KB4#bZ4Mp%Qnu8jN zXVKgwRvOQuc}VJMD9J1}w??@yE1P&0&4uLekfHG`nujLjkxlR{n*DN4T&=3(e=&>p zf@jg(7X1-;jc3t3E@kCV7V#{a!*~|W-^H_No|!tIdMDiky;+%;P=Lm>Xr7(q%~9i7 zG|v%1<5@J%mDXrHi{^Q$!(gNFESh_&S(wJNXx=-;XC94b(LBG5PsAF}qIsV z<9ESU@GM$_HT5;LS{CUsCZ0vhA)0>~Z5a~GA@MARwCHr=S+rJEvZ;b+(ORW>;#stY z@GM$GcowbA+Lm}01%2HKp2g4*o`qkTE#Qx|F^hkrkWw@zD@hto>o`oOAv+%=s7JeAd!VlwF_+dN? zKa6MLhw&`@FrI}U#s5 zLE~BYGeppM7JeU|1v@Et7XF;*d`zv^<1exA+cT?6W$rYdg}+R{>kvE(f4K-6&%$3J zg2uD(SBjwVEc`=7(0CU9DiJiEg}+(^jc4H>CW6MZ@YjeC;92;GN1M=`0MEidI(2e2 zmR!GDte9idjc4JXDuTwd@J|y#<5~Ep%jjr43qOo!;fL`o{PV>|<5~C@h@kN-{0l|U zcou#b&%zJmS@@T@)ffVeXW{>30H-Iwv+%!zXW{=$$_wx;{7oVScozPZmBh0S@GShR z>7p>8F7XJGpXgmx51L=&$v+zF@LE~BY z{}e&vS@<7|pz$pHPejmo7XE)d16|N~7XFtx7lOvK@V^!{jc4J9@hp6$Uk+ZhGr~3QB=x5(OHyaTHJPUt&>MLjno`wIMjGxA{@Sm&Xfk5L~_|FZdpz$pH=c{SL z2Ur#^cozPPh&IW3*|?a+2@*UDA9xmQIDjsYBzP8WHTrf*Jd0trJUa@W#jt9fPCScY z{WVWKi{biMBzP9>mQE+0MZ2wezP4@;4n#0Tlq8)_Jc|*XnkSych%uTcp2di9nkSyc zhDg9Z@yPsi#)T9<~bhu3R%*J1i%{azrFr6Nbl$Cb;%anm(L8ZAI`7f^ zjV$MvnkTMC=dS{N>ik;s#MS8hjpkRd{aZDE7t6d~^TgHYd_eQW)#&`K=83D(`Jm>B ztI_$8=83D(`LO1RtI_$0=83C;&uX}`6U5c%d{pzq)#!Xo^TgHYd|dORITzbCPh5@8 zr!-Gojm{mKC$2{4)0#J_zf<$X)#!Xi^TgHYd{*rwpX z_~Q5zFnM{~EI;ykQ*br9uFd{WRA0ld;A(Vjt{z+ip12z0!?+p~HdvDzf?Z<5iF%h1 zT#X4QrTI)6;A%`brDh(~VpbJ?1y^IjMrohM)tGROb@`rB&J9Z8M{pC)tGo&s8dqb& z9$by3QWj=a<7!N}r2bAxVIhL6(H+wxL|l#T;I=|sjc$Eg5nPRTp&Y!qDS4HK#MPKs zUdwcOR|N0=Jqn*wfw&qID+e-Na5W}Y32((lA*k4-Vb(>+u$M!a)GnVXDZ7Ni2oWs% zKlpZR(kO|6ld^AM&gil`(T9wEA%)&gsC){&pHK}O4I%i1N`J<4ZEvftRE=Yh8!-*3 zH@a)hP!xu?^Kkb>uhu21@mmxaNg4OCbKLj(&VnJ4C#Ynad*EvwTBiN0;;>nDAA~lfBJ}s>aJ% z;tQEy=@NsA8xN-K>s9jRBf9Z$T~G5v)P2|BUbk&ZUTQf(eo_6^w=`)0llSB(b;d0n z>J-qB-v^3c4O40sR9XdKBq*^p02mqaS)dggj<6EFTD@(CR^ONaF>NnhwF_O8hR-rZ zVdxpSAn~u2_#wTf_{?$#8-2et+Nf{FLGcA#JI4L}*^4%Oh5Dehw{4v=9?CF(SR1|_ zeavO{@Cf8~`Cjx1c~>;7UA__30`fD=m!u~pUj+(J+cd|&nALzaGc>_AY|?Gm1RLFk zP11%DOOIKFOrI9*^1^7nhT=xS+E`}r6<;~Hsa`}T8C)HQPY8oBnk^~(5#5mb7+ zsVg0|fVHic+IlAGv3f~b!)bDd;CvxNuwFLM=P^mofJWDfRSU~V{2ZUNf;x`Fqpxv7 z*;zP=M=sg71ufbjEn0@m13{fzg7UkA@-J(_u6sC3I$cKa2`D{G#n%JHT%dR;6=mek zma$6SipbfZvF`_poY~`{JnsG=p$5}k=q+Z5%srOHKTqE?>!Lp7*g(Al8uy_Rl!MP~ z_r(%H57fAgLG~1654kuHI3}-aU4G;{?&~1Ehf3MWdI(vi2}N0KF9+4CarHs=!N^u! zjqLhl8T#I@U{AySh5wAJ2jMark1?E_=Qnk>hqGHBN#V-u*GnR+yJ#z#ne7lbXDm3|t0kZbhd^JHU=*{>C0 zrzaz0-0dA|6lhW>g!90hO~Hq-6U<|v$@3s=hS`)JFim%KsKKCd(TRFcRu$uQ2T6rfz;uJ8!ZpPzJO#NYfyS-<7&7F=QX>2-k%i7~Tf4~vYKJ?utw=Q_~nZF8_ujh8)a7vwiV(|BL% zEh6#)1~SqepY$6f_TSQ>DnQ*#obotQmO)won(`ck-C+I-n*J&a*lwwJeJsk?APl~z zLk$2;=k~u2IjzjeLO2_#XMo1O9kf~BpWx*1Hta4A5^+P8e`nL|U1U5AlLtY2{kw?P zl>Z>{9pwIn1#kX81*_@2M{PzUu4id62=RM6R4GV}TNo&Fe;aamAY6`VdKS8RgXO-+ zE$@yX_XbYliy=V`=?bK~koAo=G}_d-nL+Xcv^Xgcwo^DOY>p?}jhxFGnahuZtmlIv zFs|mgK+k23%;f=S`F^0$Z-|x5OwtJ&Vz6=R89bmy)sbgT@XY3 zAmR5IvHhUVj8ia8Q-k!kkbYv2E+-tc2}c{=Ga$KG0UV$N9E=oG#&nl!x}`Vr`Z-#0gJ2i_)t@z@PSz;@m6o|)IKoX!69|o`+BAS5mD|c@QOlpfvP6qXQb-D zE~_T%z^jvWw9}3mNNRa?GEM}8U8(|<{6c-g$uU}M>1#RKPS#;sJ9zp&+FFFGLQU4O zT071ouVb~MOvY->eS?(|8=TWQ61O!s6SEy_s=ge`$LJWYIR>(cwRkKt_jU|?YsK3v zOUH1{F@|fbAT7_)eskROvY`s z#);5jGH$EYB|^8!xUE*V2-8i*ZM7zf&|_XC)%&6dmv0XC9OuZMve8z1}T7Mx+pP8ifAz0CkMFU+Isa)C}Ovw$zBIq{< zUx{M1GHz?Xa}zB{Ps$o7W!%<&=SfN_j$$gxp}rWjKy~bk|4K(8 zv8<|+Nu`Y2S~fuRN^w1?vKpOEpP6_e!R1tX1SU2#FE8lN_#_ z^TiJRsl0m=s>{tD2EHQm8}b{_(Vq{O&ab73uIIrWMK#mK)n#W<@#pr2PW`y+s^i0Ni&5W{{ zp-jek&5RbI1U>r+6c$mdf_;1$jMRx(x;3aSdtKs5B$d*yCc9bp>T(pFy*~Xm3M(B* zom;dH{c5szX&qLdy<2p~GtO%kel^lAiSz2MNzKPaY;Hsm-VrJGMVXBA>K$3ZZyqgm zoR0JA!LNo1aYn}U;8!yf0#MB{t{(hqxYF`*#(DMNSHogzNCPM}#Tn<-gI~>s zShQ{Nt8vwM%Z%jhkUHYCSUdb`UWL>hUjls(el`4%b9(%@%!6M|J1lzQjPvTjuZCej z7sj8)wcx?8rW1Kf;)AiYJowd2fV4W!IIkZ3YUp>eF3vcw9{g(dhTVoZU)>f07)oL3KiHOHdN9dX8a_25^-QFcOujj#}G{R>pbt;8(K?xgAC;Y9;5Xq?9OH_E;L#h=hcH>4Rex|Z|Tz2rQ z;bPigv>t{3Jowe{Ub)d|Wt>+Jel^U6Uro~D63=~kCsL1!^6yg<^4>a|3)qy^d~||N zGRkC}SMM0^=|Wyl;mUaTVV1Tpgb9soAEppe&JmN zA!%KTUs2#v6NNyF&Nbfc-hHC=K(7`@s!uCWrE`sUNAfLE{To#uM?L@PRaH4U*LZh& zihG<@ir)e!FAF9pfzCDFUD<)6&`1R~b!@Lfp6V)h2uE>CVwz~pp%&{o^gCKXfpo6% z?oAvcsvCM$FWIBY;P-fF^&T$cZrNlq*sJ$Qn$@(K4EE}66QRRouvhO< z5xPwVd-WcZ7EH%zvFAAkd-WcVviUg%d-a}7(gz0X2EQ^0hl7#+=NgER4a$WOncta1$Y>V1&BPBd=DuM~Oz9xc6WcpULQOg<@E&-7|>|Iii7nB@-S zTKFjWfoOfwtJM#elGc(^MfLbv!~57S#o(C?_Ue6_;u=*ZgS~qH6~QtY?A7~Bgp|o( zuiob(EshJEYbbr*%3!Y^oNFjy52tgD z2j?1g7kfCJYdkpDFc*6`oohTe*HDCWO&x>1dT_4c!kE_M!MWxaSO{@C*Lbx?Irk0~ zXRucf&NVc$;tclc!MTRpMk>x=uO6IhWD|+=xZ}aOhND{>XRucf&NbXWn&J%h>cP2& zd2Mk9d-dR4!)u@;{xQ-#IM=X-?)Yt#;9SEpr>i;!d-dR4f(eU70 zquWU58V}Ajx{Y+M@!(v;Jt?K?80^)9bIosb32?3%imNwH=Nb>rH5@9OLAOJKbBzpK zoWWi_IM+}@2@Lk?!MWxOmXPw`T(gWNFxaaH=bCQxLd8!=L4tG5(U2@vw+*HqoNE}P zwT{lH9-M1VfsnM$!0#cv>*P5a2xW(Mdfi6qO3B^KTpoDz&R9pMEf3B$TP62l{L03_ zLy*3hTQIb8P)39|G|+={&0j_Led==C;2}lpauZZ_4EE~5xrR5NItF|7;9QeO8cP2&_qaL+d-dR4bBL6(f~D|JwmiH9wsfxX;9Rp& zG|r|5+r}e|u1D?$kIRTK*sBNU8Y!C2H6EO6M4)qx2j?2z5$hQ2)q``5H0M;VOgPtw zK<63{&NUxNW&iH2jOUSj2Bv*ABEld~7;vs(tV}#p;a3{Qlcd&_`(D!Gs=k_p* zO4}QzT@3cxly_1*ubKR_5}XlqIkoLkw8y5YWv;~|Xg(X<2RlAOOFhZSck&Y$I3&=f z7KL8HLM3c$MOli+J}I;!t_$sC*w~8l_~CUZw3A_DD-!WbAf%+6ilnIJO@@uFNa+h3 zh5iGD)*0M9;HJY<)BGSrg`wy5rMus z9(;8~ps$VxUmc#a#xr)T2VWfu6_2B|-=f$BYCL1ddhpfR0&zmV@_*)+?A5=}ipp;) z2Es_0j2&C~tq4|}v12QhArD|Fb%Ml>t^7Jk&6)7ksf4c%L#6J|*s+!H)oElANsFaU z*0E#j_QNGz311zijXwoHmGIS>4m~Ui{7y(!jWLe_V={JZ)mWD+Uzv1}s~RVQMV$%e zrO@ewuTE9BGmR>phYwR#6NQIHzG{lOm8CFtY}H;l@pWN!m;| zKip$8Bd~#zs+t+tY{*xQvWH;;R>D`Os>2nQzB*N1vAHl^OkbU3m#XRdWU~yOgnGtNY0UFJN3su$NW^s zHP6_w)#aM6L50-`%_p(DR3|mh*s+MK&3P|n?AYqG=IQcQ?P#8{W2;@wGj?osM)Qmv zTbYV1e!6Ndvl+W0){RhbsEbT&i|2pC2ZAlyISfEN7JGOs^(*UUy zcLX({RjboiXFx&t6JsTOuqg43UqWlvy`vx)vnEf#f00>7v@>hgnG^A!HS7Hm_%AhU zDgUdT^%C>CXMHjb|7~1IC|+aXGFV3z&Yc9Kg&!i{!t0MNc*(4D#$v#7Z<0US@yXve z68tggI`GpuU)dQFdE|A}>cg}j=* z4fjF_D!zer%-40a#h>{!qH6Xv|sL( zE;v}Rv88n28sya8!m{YVHOLtzJRP{|vRa1@T=k8brvq1mqj@@THMp9m16M;v^K{@E z9F$K7uE9Y+xR&niYsZAz#tQot$TAL%mBBdBp{ubf$&9?J;0faIeKt8dbTtl)vY1ki zOJlvRlMY>t4Z=@oYRcJ!!j*EH@}Y8@DpSnJn;myyu{O%;uEknlExDRTq%}qRL7|jB zVTea7LqwmjreJfRPgs-Q97-AExM`^9P_ku7mN0VA}C2q^jP0~tUOs66-H-`$%(R0}_I-fNU*A44NBb(bb zPv^7d5t^s-S@THE)A_7k7Lv0%EO z6}sejrc8!ZE{vCx6#m}$yX)}|vM@8%51X@j(oN8tmDvY2%4A68!t5lEaZM&eDi`L6 z&}K5Ea$&Btro&`N<-)wwZuGL-WJu*gPc;jhZZf2DVeb^*4D^@`sa%*}#`i`G&8tyq zVV^kPzAZuH7o)z?otUMe!4jqm+R#OMr0Ie-^bpOzjH}iUW|A&wev3}03tC%6C7W8x zkjiaUnx_j|TYr6vrB82Lt>zh0xvg2-(gkgp-Z^sH!4EfOd(JVWa(iX=4s->7(7>-8 z$+v^a%g^H&Bjh}bg!v4qJYiRRfBUlj7&yA1wGRkJn<16kYegtAm*R44A1H!lGNf|* zAbBa9G8t02y)HQG(gm%(Uesz$hE#5E5TV{=NagmyA~cx{sodTuLaWJ;%I!@ew3!U4 z+}6gVlt$1`v_56Z8D^CyZ-aRI+G!l+eeGq2J=R$bxHvnO@>r% zA0s*Em<*}h-X#TGY({G#j2B^(Nl*6nNn*3vWJu-qDPnW0Nza`2y+mz`oPFD;im=sW zNaglvB5X4mQn`J)2s=!MRBoRk!V4xtD!0#;qF=*w@>GyxNagl9(HGIx2|evg>~@TX zp4FwIsC37d={JJ94a-GH={BqoA+Ou8QiNLFhC@YY(rs8JLYp3i)gpB0!8%NYZj&LE z+t-LNUF8^3x&83y&oSJqbV%j)qf=jE1k8RMtz*;VmH8`<_1#AQ>C<<6XQU0IL?Cj+d_3Q6>{`WkS%DAQaO8( z=qqqL@srBgi-p?icH$?MvzKJ7K+$))o%l)R?4>f&?Q=UFrrZN%j-c`i-A??Za`p<5 z+ZXB7F#u|%P=%3B{G@XBgF+pObmAwKvsWc^0p(bv6F;e(y;|Z0B?4H)Dnm9zI(zO5!(ke^h}{x~WQD7cA`}c}>fmje6f=?=EpAxpk!M#l9FUih|ylq%R&fMvGYY#tnV(e7#t}3Qgayg`q;fWnpmCjRYclVm$;J`1IpExx%ugz3XBoMD z$^4{pc17^cCs+V=0JA}%`7w8znqHvq;mFSKJB1lJ!r{(x@;8nfwwpK zD{EglK+FnJe6SJH$(2tkXTOy?6&%4DY=C!7R)RTffOj*PuW*o`RL*|44vEwtKdGGk zUR8>4nTN_N@{`KhyL{qh!^~XSFdL{AKdGFJBWTQc+3;cnl`4b6w9GWaCA(uQ9JPkt zQv9THtEwiPN6=bTGdPc+ooOaVrT9tZ)?pJ~2H9vGF*uK)wbls{M4cR+81o2PPR#J| z2wF}XgYyVl&RGWM5wx7X2Imp9oPGx1LOuNr&Le0!7YJUFpH!|KE`MDumS_h4%23Wl zCR4?8Am>!%CzUHl%03`m50Ps#f;Ry%T&&7UbA*+vS(Vd#E<%;!=ann>Fo|A(*vjV` zoX62B>nxJT(JJdKlE=|1>nw65R95b7`1!i8^7#hmakR=K49??dF`XAZ10#*;)Sk!D zVmh_wF|alj%*Fy918b|ZS{?&C>svDy;xVw?MN*VfJO-A#*x)<{mb=8@JO-A#)Zjb@ zmivIgM-2eJ%-}o*mb={Gs|EvKY4Fp%fInz(9s|pL$l&eC^RU5r3@mq*!FdcUceTNJ z3@rB%gYy_z?qde$F|gdn4bEd=xoZv1V_>;Y7@Wtza-TFfkAdYrWpEw?%Ux%19s|pL z+Tc6}miw&1c?>M~dF3b13kK&gu-q37eg*Tt-rzh2mb<~=JO-BglEHZlEO(>9c?>Lf zlfiimEca!D^B7p}D+cE=u-sP-&SPM?1qSCau-w-S&SPM?uN$1lz;ZVmyfxe6EratI zSnd{s^B7p}R)g~xSnf812g(1o!FdcUce}xP3@rB@gYy_z?z;x(F|gbn2In!b-1iL5 zV_>;E4bEd=xw{O`V_>=O8=S|$a`zjY$G~zwGWfNu+d_l$7+CH> zgYy_z?&k(y$NYa`a2^B8{nFq(2A2Dk!FdcU_iKam7+CH%2In!b+(QQEF|gdj2In!b z+;0ueV_;{iBU%klbasmAcRU7mwt2G5{iGEhZrYun+O!^gE??%h>uXl8gJ)t3O1plQ z84(UH!vjdW{t}ZK%xMp{3(Sl@Hg4<$r`?4zxMamfj~L^$8z4mO*yzhAJM9JvQ7?EZ z7cv)#J8vd)x^@>=X$93e@LSy5R5rY}E<6>p({7MYycAEUwL4(CIG4NfhDi3Wr0*)l z6Kd@rC^rr&@RWtWjrsQFP9T-!m5u!2QPJ_#l{MDZk?stqd2VX2+>%d}IwfrTFFNj?**07mXXJ5tA3E<7~-a zu6+5q?6oI;UhYTo%JtCotSg2A)vs zoKb_}rFdac=PH6%>>0P9QRcs29A9Y&Epq`7WhPO(`JdN6Ep78T+(b7?E4eaY+jyg5;?(W8_2Yfn7p8rI$MaY!Q2ZF(=zoztbp}KQ!!r^ zf6PHxEB`v+xt%(DPF9!Jsofi*@@BAvIU?zpq+?~d3K|an%mmt$o`ZHvmDzHawiy)R ze1_k3t+=Bt7|!yEx7*p}?8qgJFg}jEcD&OiPo$h+wX?v{UWjmTcn##fgV7foHs%Va zOGhCp1*I-JYw^!I4z@03xq(89e~#pCvMK&KQvBJbWx7T-BX@Iyeix+EO^Dk}#q$={%J#@Z7ZsT^@P2ZteAOB^a6hnE9Ov_0g=^UF;+TI*ZRc#jN3^Ka<#n6 z#brl;s}kM~vMhuAiJ%6C{VHB?FR<=IhmUvss$Mz`t^4?4;~c-5SDr~@@!T)xMJ{cO z)#x8lBtPnz#!Pm6B-#ekH@1mCP#hD;ug_ zGR@4-FjTYiCOUp~FZ2x3%}GwX9QrdosWdFW--b!LpXK??uF3cU%Ua`slG2>jP z|NqVSDCFpG8NZk%M8=t2lkslI(|=}s=l?b1>`ni_8Ly4R{+98@Y;I(n*-cvrvvJF~ z<+&h@6Ro!(48OE<&PH%q8|>Vy!N;)C-o?$UhI{ahCRkp6wP>nttd^6u9LDcv2Hlzn zi{PMU0^2~#Hpofq3~O==!)`ZWa}wERTecgVv?$rW47=luw#fEJEqMOI3EZ4Xp>e z_hu+>o`y=5bZ(|qG6}gug?dZfRtSpt1(OoWfOovc|6k%XSORzJz3g5rT!Rz2@-5e! zPJ{laUhgyadf}QqF+tahmTQ`m)(^eYb6xilVRI7MKC^7EIcaS%ym>WUcZaZLU7MgS z*j#fKbJDJ4jdXV1Uxcl2LIPVO%huOP+XRQ`4RhV92*ZKiM7F+`?GY#KI#``|lk0XA zwu12q+NN5zSDdsDSRJcfccid6iEJw^TSX_WDz$BK-F#u&c};@0t(L8ZlU9*=+vmFL zg>6M5+fmDQfs=MQ6D@Sz1HzV<$X20+R>&RLz0GD1dTuF%q2r88NHo{7J>jI)Xa}}h zp4(X13dbg}U18bYbJ9Lx5juHpKVfqc+2&ieflk^;sb0^WCTuIlBxrlavh{b;zG0i* z;<-HO74h>D+4ftuAx_$1+T>%NyG_^%MjLHuvuR#$d0L$dZ1Cd@-s@@g4c1^W^d{L_ zFHtA068yP$z;ml33~48_^|x&0owV+7Lf$dY?JR6rmW{7qrdzhsPTDj&oRp*}--$>3 z!W*=}eAa)+vbj#$EX!ZzEoZN@z6ZOi66X)EaLY9&QqGTN@!0$)Mt^O7oa ziw-)c23KZY!Y#FA5hra6^U^;ldcq_!J0UMkEgKT4g35P?Bt8&BJZ4s809(r08g2TQM_1+ryR(6|j|wKA04}TiEg}8?|k> zY^9vEPsf05OHy>BunnG}6;PZ0dRI~vzJfxQr<>qu^I70elTx{!lGOyN@Vfy|2K>28 z$LHV>$Y{qskR&s(=Wzt?X+RQ=lNXwxqaeRy&}7FwXo6zT=Qw8os;yOhX-1v108dI~ zm#Ms~s#Mx;-xXs}XGiu|^dAv7~5)rlu4&Rh~OBsh%>T zeIeF|qIH!so@$R0qV40NUTMkjWQa|o=%A9KH)sF`boot>i-wKp0}#8Pq6Ts4X0GYZm_;&^KlwKCuEzOTD~f-<@yp@nrqEd3!dUx(ZOUWndO9R z%Tr536NST-QkwZCv|ZQ9}(Sig9>v&na*8}zy%_-n*}3Gjz${CBK%C(`#Gxb?W|0*X8s zNx2g~yyD7&x50Fm2Qm(18BCMS0y_gq!EGV{Sd4}e2thW|HdTUff2 zZ(0>yWqv~3<&YHH*|$LBeH^P1)qYFVLilQ>#^I0}7-1yMS$KRA4!_Vs&Hl4*;~sob zC1;BL`!&2Qb?}Lj504Eua<==O8d5!z%1gq4Oe~#;MJ!`T-+6UuNN=GaPXde~edo2N zA?wOlHlh|lFrOEj_oP6&mq+j&l`2 zgcbm~4dAa*ft=E)*3ddlv&CL)tAL>GcApTWrRCApo)U#X#-=L@D#XZQaonU1tUL!`3gRe%gBK8#zugKx{oDUTTY# zqY>dpTW?}zx`Mw8Alz8_|H;-jC&cxHWC>gUK%B3-+Pc49t4D2m_?etq?l#u^ zJXDt!C%D_IBZN4=-QJnBS=j$6ELk;N$VvJOMq=EkN>Ze&z;eV)h6x8v-dmBCd~+Tw(P@|1qEKTA2QRmqURP|@dAjFE$})*UIq0sAf0LoG;2jz zs#FtN?w*i)HdL0UN>TMSguVncu|k%$9My*3R#jEtgV5|Q9u*z`q?WcG0{tq=(Nerr z(o504TTxVicN%=nfHVO_$rh-H=nFyh1q5n?$Om#epha^K z<5XwuHVK5y>yIc>pe-V{fqe@gYqqkpw@yHwLmf3B57~?$H;8asIHA58d@h1(m|))3 z5WXTI-1K-T2|ur)@lJAqP8OKLI<1ufP?c{~@mdDd8b26{$x+0=B0je`-)-i)1Kj4W zJJ7ohRr-l)zJj&bum>L07`I>y*pqqvQKg7tIb zce~~*(jE0aPzki@e%SwVul#k$q&EUlw?XJefHw%lQ6Pr_QL+UlA*9WATv!DV`?qR5 zXB^_)VX%Lyp|K7H&m{mc+82PV1w_dv_FwNETyX>t`_CF{stjYBV%AW^{-LtS{?CI@ zPe7BBtj7KusDfhlf0ve4?0>Bi#{R>9DEW^j(o-X8BF`Zku&k0Ma@nLBFeXNoG!a|j zG*v&S`Jx~7&r-q|&qH*n}F`jFUoy!mVK)nJG5gJPB$oK#b>DJU13gG@fZtS!6sPKxhx3Nl8{?Jin`|V#YH> z1I2izE1|}-UCDnmo@yFN<2jCO{DbkF_piodD_o4{1JxwPlRU;Wg&0qtx?IEQXN)KB zN)zLvM#UtTe$>?(Pe05qVLZ;x9Oncoz!*s{z&ehb!!zu+*2ef-i!duff$IY zyK|gMfXE;i;VF|VrwnYy_+y<6g$rkRXEMw5Imfa%rQ-nlZLK)@;n zO0UlLE@7|!69K;gOs{TLtXH3Dd-d#My}GsS)rHe^{Ze{$j_uVuXPRD}=edVRn*2v@ zLqj~Ng+V|25WV_rFWL)*@g7H1&ku8)ZUAo?h+BZn0Yu3bSdWm+pk4+9-UN}p7f()r zI=ewM+l#|^&=S}KVlYAn0U|WeS2bx&Pr%~_!>JXS+V6;34xU8-?|TrzeYpORL?MW| zAZ7!il*tG^O4qS(W=2$ytur%f2=dO%j3$B<&J45#as(1z0s>t@^xlt4)Bu70AXWmo zkHlaQl|RDB3y6HN2Rq?4dl(m)y*ol>p6-F{@d$iAc;*4TsvsgC=Qu9FD+^){kSQcQ z5GR2ANa7c$>+wmB(;kpc-IL2ZkBZ)Vmg$06a1S2qWUP1??^BQ^*_ZbF+g%~ z9gqnmnCNC8uL1mv8G1CHNplxgQRq(XHy&c`akL8Qi6HL4N4DUiQzCc9H0|55%Q zz~1GARxAIDkp5lx`%6UlfJXe&5Zkm6E$(n~aS+J2$kW$=tf86{cJk@$t^SK@c6^vX z<{nUzop&BA;@>;3HE-#>J7+rnNY!noZcp=VWV-36D=s(X$J2rQ+@&ph*?yXC`e~id zkUN0sr|G7jPDa3Z2Flbe-SpG95%2~BrJtsoep>ZFj#B|(=5tZg*G3{>IKT|TrpWiyr9-(OzI% zfaLE0cc0oFmgo|`k!)J^2iZjekZXRMC^+krxl>~4iL=;nCv!EQykixt{)NCfMYBm@EM5ZK<)?lXDj<@iP=117uBADVBrNBL9F|&nGBc=(rMxKoUTImw+~c-kr*;}X!qv;?4DX6+@Cf+LlfTH^($@W~hkwqk zL+NH;VHyuGPUJZ^mrmpc1Wae3c=+esUUVYwBVY#u#fd!UUdHt5e2rQK7$@?A>8#fx zU_8J$kr&;}bC4=t5g$r?%vv9JB2$}4_R=1%4y)K;RA3!6jXU+cmn=OXjXTG@jmBfd zM}W<)YfG7a`SX}jYmwbJR#gk{z2-&__eBy*z_tY0TMY1S2T=gz6%w;Sd=2DF5)(iq ze}mNlK)6hGQ{s70XubPXRpS2~; z?>jkcuZGpJY0O(_nzWg+-yCn!qzi15E_BaeleR*Jn*vOeE_Bagliq@W>lr9by3p;( zCf$#KJq(m4UFcrQCT(~K^C*C6(tAw(PeH(S0Mn%R+9oY1)})JUlMXJ{q>F76YLnh) zX>HOaC7Sd>*R`cge-!n7gBID1W2P<8lq=lmrvCVU5Nykly$1l^`yk!~vYEsd5Z?hg zOyVUFX@}u*0Qer%KQ(DHH0flGVUwQf|G%2l7PNSizM%5bqf0RWF@R~k39c-7xZmL+fPvC_6I@yF=!?Lf z0P|=x(NwiI+ax#hUL=Pnykf)ob+*~E?4yzNyvat^&)+&DZD1}cd5RsZcg`@guj^en zeN&)F+FOouTnY53Qh3id%Z;9i_m=fvEXCZlwl9DU;D1 zA%1@0jKGCJF8Tp{fWQ?Xz6J6LiEBVCI-29m0t9A)*l`Tq7Z8{S;?CoE4g&=4264uZ zIZio1iD z@YaAR|0_OB0Pr3FF$2g%5_3R&0c1ZQO4S)}AOsH*GctAwQZOUqGeO>%5%>X1LAEUTSZ4|2NW;|Est99U=au`+hoFBdJ zVpP?uh}wWsKMnAn0a4>5E{6wrt3ccWWCn@FAX0yaQvpP&An*=CZU8kI5ZDVM^N86Z!)F9Ugz1fOYB|3tR|$V2gbAaeln zAdMT6b!@O$njI_fAbsQ_q{9d4@4^2a74R87`WJ)&l7n0ztx51vejSjtB$((aASVER z7fnMRq{ADv?)e~XnhLw>S*ef4i)pb`o0XHUE46m!X}CLp)aRu@29aP*-vne13AVu+ zAddo?lvGrX697P`SQ#TCKc5C3ooaz9nwU2p1b z0@l|-%m>>%vQDx_pmT27Q1glngj+^MKIo?uKu|UrJOiO80kX+ppYq|+UNQ451)qRT z1`Dmsx8Oen2!E$s@yCLM4K?>9_<(01DSn`6L(OuHmQ4n=zd#Y}h+&QPHYNW^Fk<^4CeRnee1zTt zXgV0g0>lI^2l6IDUIRcgcSfC|$$3rzHGk>`Z=q)Hj`|Z^e*pZ}$|F`AN>hrScR6_3 zUT~NGrHNePlJ;o`(kczzZ}`b~Uk2SYtj0kYFhC4zHINk~Xxb-%93?^19$zZv3j2bhcv$8yLsNpmO+gclg2k25XyM z3kBl=wb`b9Ri>iwIZiIPqMIp>(>zbDnQ$Mr1D^=2HOK|JpsDR zPB?IV3Gk;Yk7;Y0HrskWcx_v+EXFl3q%I5x`kz)Vm~QA-4d))QT~?ZX1k0W?N;&>t z8qeq6kaZBrP;x4+1k7{>p`j6z1Y^k;f^|$>D6f;YqGM;Z+A8cJjs>fAU0p znJwi?J0U;cttc!T!)Ei(YyezMmd!Tk~62jH~?aVL=ZBjNuf$b4tu<3y=x#CLqs| z;1s=PnV3@v5T$CFqI>yyIzz`>S2II@c$Uo2SAy?;fXr`mY;AIeZgW`5S-~7)hF7~f8zAaJ8?QAM$}zjUh!mT;e~}O^L-vZIse7G^ zVKqBZ`FBAsFbKpj6#8;N*4rv(TnzHOS?!5Sec|0oR1znI^x_-bQM}MHjinnpZ3^)( zZpijfaYK)yOjy)ghgYWGYwF^L8eYTmJT27Yj5VeGGwyM^jIti5g;~*i4EetwU_4F> zw>>>h&ooRO0LJ6AaL=d5S&o4F7$_d6g*%iU=Qsks1DFLITtLjg&gn5H7ho1}T3N@F zSIqI8X&uktVveVENyn38{fu=yF&khVPkYzhb&WcnHgFrSXsNMT7JFiFN-p~ANZ9rS zM6E%tRs*~%L3|0Mkiubu;5y@&031~+6QHB2Um@ny00^-F$XpWaw|@XRN`gIlUd5O*3m|>nsT6Zg zkf5Ww62u@tl&b&3QGErz0|4Ww#%b+~qtYCfa*i>Fa8&OMM-J(znpK9A0EnZy5J-O# zTuPV)WEwynmFk0|QmigL0e*B;w~T-~I;xi;uz?y_tlxnAM1lowo)L2z14=lmQ3$#U z(4?f=e|J=xzTZg^8LC-9o0%D#8G{0W8kRXNA~{@j;ge}1v;vqM5LIb%1(&> zM@N-~F}E#DLmbs(DD)~oR)&fdIVx=}s*zGgZ460Sg!?Q?;^Ys&)tgpEFP#XIV2&7Q(Q1h$EhAO-Fi%?n8z$< zJ!YX@@|LyJsP&iyGt5*Cm+RAC%VMfb)o{PQ39yT))m_(?F!DCqr(KFEE}jN4|M#l8 z(VY{~$^5O3a|iNxGr;>5d_MyDmc(HY{i?;BUI6bC5Dx))01%~uj8q89%4#(rzasbu zAkYBBb=70eFhHO+h~AkorxPH+?-T3?@&SpSAkwm8PFX;U0U&NjHMtW9XtP?%DdeNd zQ7`Evo|MGr#6J zlUYn1STpAI1&9Z{Oe-)#4`{Pk8sBd~7U2PRj8+f$Fa#b1hzHybWE%;3z~exU0*srt z`tZ7wD&Y0Tv6Relg<8lUK+4h&;^7rubs&AL&Mfj_wl?DemaX z6-EEe(OnMfC`74#o&ZO4C5RVL&PM^VHdm;b@tnLARN^TwGG;6)k!y23YsZ`(09l)J z%9~jWk0FbrF2Z1ah!L{A=I(P;IM5#d5cCP|;F+kRKj{-RiXu~za zk2PzU4lp&W?aC6y*>z)14nUSL@`2n!f{Q4n>cx2dh*{6*59B-&To8E@$io0xL`l|C z;H{)$W#|U+dD)yI?rAga3p=|X~wD5HUlBEdzJyMQbp!9|o8fjkfJGgPx# zM46zJT_2nvsWqL$%4R*>2&52Vp8&Fw)F^0Pc+5wq;RNrKhbyHU(J7a&!CvFgQVC>2XwQg4b9m8XoT zoC~3w0aE2p0C}7Qt9&<*oq+O8%pakeq^d&=m10$&1AV5GI^ow7!Zi$4TYDjDzKT|D z1!)z0=MrLpyAkml()b0C)kHaLlgK*XGpf;b3Rp*}e)LDS2o0oaW6ZY!lH2w`+L2&A zT?yn063qJTK<1HPnYRFW6JVBWFR(`7Sgg0^&JFn~%O@bA$q+gMfo}n_#Cx^MIF7~4 z%oUY@CEiI^CanpEA3%6kN$*p%#Ou$~IIiJ_SC(Xquk|{in08XGcD;%uSVc4N*RFQ8 z*Lc~$K28a4#tYkOx64=ZUP>&!_Cu(AJ1|-UX?QJK!SqrsSF-gvvWX;$H zdd@MnN^3uO5Q4I1JRU-00J3J>EH&cXM3r1KUW?F20kUR17%{Sr_%%X42S78|jMr;& zp0fZPTu0nU&0I6C-ZbV^1^90(k9gD2!%A_0*#lmw8>|^0Pvnvn(#x!YITj1s=Kk4> zRN#DttKOZFMtguWy)~$v%ti}8_!6SaGg=Dfq(z)d5h4Yf1?Fi0DOfYaNWnHB$pq?Bt{GlD!1Fi=>jbSpa{h>E!lY2nF%P^VM{%|?xuV*yJlPsW{9LO>k zxK06m4WNOXgE+4Hb5`hPjs|iJ;zxT5LMOHjWMcc1%!&E_^>SH){5d|YZ6MRyU*fac zo^p)wPuG^N?TBr7li+FHI=yj@+WRBA7$x-{M9gQ%&OU&557}D8oVoySE{K^xCXtv1 zq7cYOfGFiNo#TgIH}0GaLm3FH?Nd_W)CD&`CXM5+3}=BN9>xEmnz)1F!vGC#Fh zOu{Ye$Rg&aV7;rvYd_A5{^M^@ z7MY*^ss!h!mmtT|EAf|G68~X-3U#4Tfy&ZVI6s{(BE{yXn-ii-&QIkC^)}zgV=B+8 z+UTXcJ{48P6Z4Hx>bfjFk5EqsGKmDQ3)l|iO+b_~|N98_IL!dOIrZZR^)l+`&{ru3 z8UQl%-JyJVq*JV>aRD;)U1Mc>gTEIbys~7$iiW<>s9;f@EP$jGJU-(26E)f#q3)rS zIYMn$XeT)dmj;M~|3)jyb1XK(W^j`iTsjSfq6eRd%uN8uE3gwPV_$*gflIvl5^yXA z$SW{Ui&E?r*sF+r8K54%tn%PRD)t7^!%t$0^zdJT>vMo#LwSscw`tS%?f@@s2?pbL zN#v3NcV}F8Z|Z*0i;SczVre3=7$yi>nuE$`OH&41Qko{?N@LdTMK$Mz>H&hDRx^dl_JcH zV>@&ln_X-idr!x)LcJ-@jAJ`XjAOe>jAOe?jAI|UwsdXxVt5(dz!Vj;8QhWJ?TaR% zq+TjoU=*@+8Nl;F`~>8C62C&G!&!L50eFW&dw?t?!BV~iWIdq7ICcO*p8}#(^{?ZY zP0?SXMUioAqY}l(u{bZsv6IRo)-a1SA;lGY!dm0%Lj$@rfq}Vu? z-MA?FZ{rv*9yzT^Vqqf-RW;u$)8Kkk6>lpk(;hWL;B6%j0l5#5PN99OwFrwpZ{g;W z6SOEQsL%oY08!8f$a#S9S1Qb#OT-;nM}vhV*$!P@i^R)Jsv^B$r8$7uPXSt*;qerkF-4T-16!IvXV@6P zpQ=2jG&XIP=KF-wtW4zc>uA|@#OVCV%eIcjns>ca7{OZ;C?H1(*?cjcg{r8}uCvlPAYDvX}g8(1i?>5qFJj zCC}*s4-YUS?phf!Zv%ZJz>K(0=!iSG*ogb2JsnnT#C@v7h`X-Di2HPj5qE=YOV_qD z2ErM&O;J(G42-xhMyI2s-b}>&hU|O?@U8(d>ztS~1>ju)Vh50|BrXI|tt&RJ0HT!7 zn2!({aTfy_hu|v#fmI+50yzMX5!a>~bb3R|9pokLxdq8`#0__Y0H8R*v8XFT&t?oq zsm(xMB*F2kXLr1p2FQr}ERe?lQL6s05w}5)m{SuVBkluQ7c%17EG9XH%pykIM{hh<55q_msKAKZouy=sPl4%oO0g_8&c#v!Kt|jy zKso_RjJTr^Gy)K%s(&4EZHoRHEsBh|+m$Fj;>LM7;zrIeW*{SO7bQ62E<%p!T>fLk z{kV>i=ZO1)h!h`j>lQ`-GvcaN zjJS#=j<_SOf(OCB3?K?V1@bW<{FRFQ>xf%hv&0ei4(JjWi@*JR%>T`>?7yo@ibmWV zmBMNP3o^<}d2=2L!Vx#z3x)xZ5%+2!SCHU{yA#M(K$J57G2+H6YA5w$#9c}K9C4eS zhbJe18F7^lBd%gK#g(BPSpB`$$_xkpm4I-XmV^x`EtELo)+=hgg^(;c;%c;xxT@&C zM%)YH1+myjo58ES;PP8hD2}+dBXjcsGDcmcGIosW2re0;o&m=?fQ(VsC|9vDYA<3x z0O%MsGoHGGOY%5IO<{^0aZiEkcYwb@dCVAP(`F~i2d|g|9)X`v+S05{uDmpnilS?kh&C`++7tXbK$O%SyO$thDCIyQ};sw?XH8 zaD5H&&jH?I5Vg<8AOh&}CMw*@`*F<5<6vX5_aRuigSRWde@oNK#gaH))^AX3SdEsjv!yBI9gtKagv+6khFRDpiv-rJC-I_{2pZ83U zluA!kuE|f zq!TUV`^&HdGSkL32Jh7fHC{fQgo2=(M3~xd`PgPA)&vTV9^?W67 zgyOM08`IBrJh%TUI{SuY(9Je zb2w9s+kE=M)bB;EO|y0C$i! zGQB~&$$hp=OCQR&t<*?*LyZeiJpj{6jifgW27M90w37K2%sS9(0j8Cj+TLJVshN&~^ymH3ZS z1*^q(b|T(w;HIBLHS7b+z_S$K%;*Qo*(%XZ%MT-gI?d7aS*LR$lUS#di}wrvT;-KI zeM|{cr*(0IyO$<)>S&ipiq~nayKJ4NRi!t16WMtUP)|JSw#pm?Gy!%`WY=wpk8r=m8{|KWNCwxoIuOg%0Drt{ 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 z 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%0DuE~o-U4{b!jW$&s5GJH;L=X#rPXMn}*Q+@4} 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%0APK=zZp&={HA?N!xn*awx7$ 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

j&D1{jA#0o<1F| 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%0A)`i=s72saMnaSlYkfMDq$s5pSxy!@@|TMIcwc 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

Qz)x0o;d!M7D_X-9^`+0z~3N1BwvPDK?QK1 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%0D&)_jlC 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 t*a$*zpvIlB8t18u#`WaJl>%`Xq#9SfD9fk{ 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

X&r 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%0AFHS*)iA@IEL2Wr5iKe5I@Q~!v1C`(SBa(J#L z-2}AQc;PdQV~_A_I#*#-dB7yO>5vRn-lm$j29Y^QeLFb0+4$c@{!*u-A@+&Ugl8x(FG} zui6Hk$)Nbl0;TDzLz$$#%A}OiWY0atbG|e1ap|e7@$=rW1^s(rK`+_qf<8ZAaW|K0 z$Sf$!u$A%Eg-_K!Y-aj{@@24qqUiH~>5tXfx2pyr z6T~^i$)D3-C#jX%XMT~v4ARnC!uQ=jyhrDbOU;{vWw9{#d`#wPl}R%5fx|!hHO9Uu zb*F4y{!u%axupCd^eo8O%d55W-B=60>i$SLcY$p!dOg5yqD1R6Tl8O$b5jB})6ii^ zcd>#-T*HPlP&w?)mD$ZZxhWP@88(VI+09Az*LShA7B`ZZQKWB(CxT~^`Qlx3XM4J+ zn}Ku=R-e3yc(Wzsx1>i_iTxB0AqZXWH*X31>d2~-3wKjzw(3urg3uD)(%!}KrEob= z?iU~PuzrA9*z96G8I>K(vW&|9ys1OZgs|?TD(qPue%{ob{%-FWKy?RE_;t0!gd2o2 zTu#YuL5y}-{&v9n*elGzp}s3ZRkrU}*Je~!#l}k4yolmO_nktss>4MKh+?k`FX@G3 zu?(R=>%s-4^i|Tyc0$$6UVIbz8>vW=y2}KMG#5&eG1y|cStEr((r@*dq34t3(>Ejw zS2G+(&Zn~5T*D!x+o5nx-Pj8mv}|9PX&DUft2F=@{~$2(bl9vv+m;vmGb&BcoOb9? zNmWDf7V1M)xQF_&Hbaws~NE25zP$@cg4XH`PEdJIo`DK4?t`bP> zb`ts*__3I!XJNGo`-*yvR!S1>bL`UkaM>9$-=|^)?47lEMHzBtDkD9no&xUGCnC>X zFdglwKD@ZQ+PYd|&p)T}wS@OsV6GwfeP^eqbbd1y#z!F=PKgL4R=U(<-^z}4(yns7 z$U@Pdr$0p!fC#TDSG>@l>Q(JH22`^Sw~ld1=e~~&l62^aNE+I&4;Lv-Qc!@)?;f>S zws9qH695aU>5$z@MTzQ@Obva6)zixf<7?k|YKBs#48U9bY&nA};Vi{%H%OqNqS(i^ z>(Id@u8`mTojBGR;AroPS60d?{8CB6sKVOG_*BTe@lYv#hJO9=Bw~Fn6@V039{w^7 zVaecPtwy1(t;?wP=4l(!jN8942lZHbZ%cYl0A{JrpDv00AH-=5TFIgv;^Z=98LW~s zoQ&gVYo&hMcrpy%V0cokF<+Q!Vd)BG#NzT$wq#5;)53IIwQFIY)?vfCQzjePh42hd zNoK3eIBC}K--MaE;i82TnsooZ7R|Ot6%N!+=-C-Agn!_OJ0P5oO-4Ir8+h?DqaCBh zQpBaIv5h?)Dn$lLe`Zs;a2qgk&=lt5;)7n!XyprZB_bp}2|;%{ihuaqG>#l9#Ty(& z0TXOi07t{q?PaodV!&YlNi{3^U3oU7DsuBENqWa%sgA-?$`Ct-T+KUVApG5QQpM^i zH7@t1f;*o8y$ZBp`>eTy{)kZR@Ps*|2q`Ht6V2sda!QIG*XG|YDN;^*k>&}FjTAjJ z+DXw3rwkxPHeTxS(SCh++DMUgNG0`_@ayRt1V&X=_bv8LKaKJF>D}oL`y97;f)I+j z@P5JSoo!uhPP7n*Xk079VU^{}Ew4)nB0FBExStlJ%G%s~MJvHte0W#L+t0QE#hsG3&oi(R@^%V` zAmn-#jC5Ai->Gs7?7lyrx`jvroHEJtxEZrN@yAjV`eW?M(?p?+GAL$AXO@dHq=M3u zk%>Y{`1~>vi-z!Im+6cm{l;#EJeFdZiO##@CT~cZ@Z-Yfg+KbV+Am@X#XKpu ztNqZdVlh@RWkBgubv`6)XRp59=sCfsLqV(|XBk|ETx#@V2+c{F9imt4^L&4b-zHRO zWEYy|#hF#b&aYtNpTwI3u|%RY7q0a7D>QW=s7LMiqBIh=2?%CKnsFX89+VN)Tyq4;62HODv2zN6M6d$6a^_U;H)wEJ0++T^ir317$@280~ z;pUq-=UlK1uaZW~QSL*-irtJ4@Xm{Pt&O{65h1peB@rR!1`iu?UK?bv2_g99!`JfU z=+!A*;hmAPc8cZdjQr^-(%>$t3nSw3t@ zdN)w{T*q?fRpmY6w6mSQKE5peVmZU0@`Y%&=ak{BE0psBwbPp2+ls#!9B#6Ujja>{ zme&SDSG|NukS@b%nl$P3Ehe*W-95s-XCeC{Rk2*faCrxisknW3ms8gD!>^>Pp~; zZ$x=b-Xr;}k<G6Af zomIH_pTzN7b|!mJmG11xP0I@RU#{pen$;A}U9PnJmmncD@cgp%=It5T79Y?Nk1_A$ zU#KXsw>R)*o*ltgqV9P3mlYf034Y^MGIMl;tB=w0F??-pi;rouzwPmu@f_KxzsDRA zkD*-q5%D``#&0sG>s7_kKgFA#2Jj+EwVf@tANBcZ3#QP&w?iZ$NccM^fe9&;am9w) z_m{l(gOds*9jF$NVUi(3*tma}@Bu1u=Skg)ir~GC`*%8y=w*U1ttD2S7y(5?6H0md z<#C1n={UWFVCbZ?vVwbcJ>RzvLZnJLPR}88>J4yv0k#&78M*{Ashh7x^P|W}h~G=Co;pA9+Xi_AWFvzI*9{ z8EJ!QpA~K6kMrJl^8TWwi;BF}-b81z=dzJ$?F&F209~3L8LndEw$|-KV_oxZ~f;g&`Fc#c#YZdp;L|8{M8V zW8uO%vln&yYy6m(-Q%%&-Q)Owp5N=9wQ$DN>Ejm7n!0et^l>G9E$}-fR~FBsMGcTX zX3prIzo7e+Y4aD(@OIQc4KFUXykO}9CdJ*PqGImU?pgj~_w2cPV>jmI-)L;X(y86^ z=gywy&(1&X^cmB#_hzu-(@U>RpRs7#!qN+TpFMZM9DjGg(pgg%sVDkeuyp#2(-zP4 zAEzzto-uXd!l_G3U)9A$r5Bi?)~58*ocZ%+GN*+z7A*9ZbfNTt)8@~gQ~JAW&U|K5 zGKXpN8QzQ~rI!{?oj0?rm$@_M&RSC%X{crJa1a*6Vv8QT~r31uG!@;ELb{i>VieIk^$UNCi}Ihdun%jt9#+p zX){inI_;x=Z_%9D)5<0{ZN{83AkJp1ln!O)jCrL$&zdpyqYGzrm0n^Wu{9RWIKz9G zH+AleMGNS(^qF+urP#r)n7?q5KR#_fn{!Eqbn~Y#TD+i$ym~F0lL*kl#o9Yy*t8jE zPE8RH6f7Y7X>+<~&vWo*uT9f7@*gZUUvkB_`8sp9n&Hb?Qy0#I9B5ShTCg+&AwL#R zn^(l`si!gDso5@Z8p1oam%Iap$CfPYE9gl3X^Usi(bhlG$S#~ZU-^N2qx}f4atO0T zj5W*GcS!pD15uqS{Sy%r&Nqq0nYutQAQp+e+!cZEo6p^fj7^q=Z&A*EzKD_$JZyc1eJXjfGak7rZvI3&!Kh2bL32+V zE3Q)}+9}3$cMoT_E7aWbI93^ZuBVRLMum}EZCI7!Tg&@r_vW^2C0>dEXfao0JdNjk zACIKiRgI*|MDd=Q&?*EJ37*r{L?HmcDHC=2Gcwl`Ok0F#)RtdhnhAEpg7HFiu9UN6UC5!iyvwp;&Ed zjY)OLW+p*Ok32g&f__RAt!21rq2D+fIl4o_DDu%I%i5HL<=Fy{MG;DG6fre~&`Oz1 za8{Zd?u%3-TFxmN933ZF`QGZICG3AjU z07|iF3y&aw*EGbtEfoF7Ls%tOb)&1|+)VB1L#+aI`vzc1X4!|Rf54LH)Jo(;UR4J= zXLWylpqyy{mCiQ+` zv!3jT_xtWHbR}(F74HZ4v$k)Q0PdzUoMbsdQ*j$nK6yAD_L{T=_5dbO z{Y7w~U(+UH+8BYYA<>-4{g&^da>VR!a=9UEXosfkgma@d73>H%EfYr?k<@GLkHnFC zk`8J;orUWlfYVPQXEYq4mmWNp5NS$lYM-OA&`@dQLn<=Z7{6_NJmPSEPoSB``0dBV zyHAKG9KqisxHz*h3?=-Up45?lY2k(A_<8(I_WO{yWnw(y{ko7ncsw1@QL9Zr9V^Lj zaa=vFeKV}<{gJUQ9{65G^t|81hdypSO@wzb$OO%-OGMI?NfL1YgKhr2af4ah*g$pX zuB1(5GzIj1DXVegP+InGi|vpT`;$&e?3w5SA1rX>C2a1$0Q8f5W*uvR(_2D$!3hcuxR3Dmvmhb~- zd)k^LLFTE!MmCtJBj&Fu3=p?I*I{PgKb!FQRv-_H%dX>lS)%=1#`QKW!#e0(?-t{F zKU&uL8o1sX=Xx9$H<0Un*ts6{1w~`=h$Y`kx!$BwuBV$YXniDK)8B3L2f&BbA_`MW z$v<}B7^t#-@EAUfXY7>!6*$}korz7CmC1DbYXa1QLHxAaZejqe3SU`MhXd9PxW`QH*-as<)L>)9_h#r?=j-8ady_4`8JwfMfR<_^f`+-4$MMeS zZrnvln6@Dv!~MN1b;XP>qcy6Dy8g5`Y2hF)07de`~>;^94?z44{!jYOhaaBZV_fZPY#DL2 zVc~AuUMVx{WK$W#FrR!a+)0cw3M7JU5TEHh;PuiDE56+t=l^$dfP`Bs%$*ji zo&e-TQ=ZQ>sG7_91sE8Vv@T?G;h`hnEkN{LnwQr}$ZN(8svXY;YHXqdElswWs!&Vb z9LMvy`n16@ldM&VN?rhh%Ix~?Ds>rmbSCeyIqH2&t-#*SF^9<9X4=W=Y^W8^m^uSgm2Q zAbGFO4M@U?TR~^czsIr_htXy+PeI8oBk*J`m4q@+n_Jy)v{e$LVy;r&GQH7qVZ=Th zyGXLvSs;-OK>Ob}Qk-1LBe-NlQ<5JtF(Rw0$%JILP3D)pKA~BQYu`KFyIy0q8xMk6w3 ze_Mf)iPD9fhA8kJwhQONv%sP%Z<7t&vU0NBalXwo6;_q>1Ld`SaTtEdIGkw7fxLMb zR&e3R30)GdaC`k{8~FZK4gT?x?rvAHonn7%p}O#HVdYNyd#CmH{;a=urv1IItiN^x zRux1@^3Ynh=rjqjl)YO+X?m3fOZ%FVEXp)(=G2xn62rtyRE~xHaNY6^Nk=;c>!>tT zMGB@`KHb~>&yseZvUacDg?1nJc0XU%?$52=kCs5_o0KLHgc!5T5)I*Y@_w^1*U5{h z&DziOW-v|%r2v>o9bRlZTQJ=@irFEhDk9fbj%oSXIdj49m=Q|l;4MTZNeIMz4zbote$gJ;U2KIdi&9mNH zE3`kFz@Xn50UfYY{s_gX39Fa&X}Pl>!n$mWPKJ2zX0=xf+lG8>$@nI4VJg|E;%L+f z0LOZlVcnCT>^USnIYa*~?faKm-=(|hZ`SvP-gow6r+vS)oxWFOeZQLZt;%F3pD=yN zTE$8Im*|{0=}Z^G%zk#E@dnkrV)Et*<%3gTbUyb?dBbj1I+xqh>-iE8;ql&+qf=XCqg zv|IVBOS(n6stzYxxBhiU-R`~ZZl|Q(j`eOi5G7r$qJTSTTLNxDnK{u!rs&MLYLpJj zimMJz#W7UhR2-|Lp2{i0RM2!W@|M(rdTo$lD9wUy+E;D7_gSTVK@k<*0xN_pkiEV( zuJJ>LbR#=uBG26@Ii8pnmjdY^?KYp>DlI2Exnnd1s)oXloEdY7rz`6aX|=7*1YufA z_EIa>7#(iGr6hMEz2q-IBtL^|&!_5$Fl0L_31@Pkk1Q%tN9S zfDzruMQEP~t(OdFQgJ}*?QQ@?)shEEV!hr2BPO#}uB5^p;BO$I4yMq^CAJ7O(INUZ z%@VcKSy-5tdc_Ql365`w{AcPz)T=U)G*2+&NDY881sZi_@*(}zVM%z=!gE7FRI{lO z{A=3i2M$iPQS4ZPd5)4vk&*(QcPWy$!BTUfnPE7Esi^=|M=lxaP0K6C%bHLaY{4Qs z8A8fctn8F>l#x9(s;UubcMYrJF&~N>4&kxfBW7dz>Q z>U@kwlG0>#983dBnu79l$N{H(p#P8f0BZQzSWX)|B^jxvNv4af(eRD(qXp1FE_tM| z*1PLBxa1!Vt4W92TlEm`vYMJL?eSi+&Q1Wyc%qWSeDp!bmgq(`Rs9T;+C5_2+hI+> zSMV~OOipa2WHz2gJ35)j<D(Hb4zD)rRCNWuGGhHu#osCRR}m zDheMkj1-?6+Lz>7Q~0b9r16SyxhkA3+^G>vo25z)R~o~Rt;r?nvpRDpeU{S*EgwnG zQXgkz*lRPLoi0s|v%#^Cj_SbhT_5i?Q=X9tjdd8Fn>t~Bdwq`IE9^X@xN#cab&wvG z?Y$=WgGyNHjvL>pJ4sg?DcDCA-Wdt^YB|AgP9k7#FYeBY_d3{m(2H^7pZTsDn0vLC zHTOYXHm@kwHCem`Fos?gK4Lnq&smchuC$~fTeCm464pnC!?!ZKd4Q75ID&mE{?8^U znBI9jl@1U;)Nn1dM;|yg=Sfr$Dmti*FdehyMi*|l3wD)==_fd)A`cAE3T)r>0Hv;Z%T@4K1e^0W#Q~W(4-pB6OTKF^Z%i5&jg!Ji&>D?$k zP?x){>`R#7zmCwQ^aZxBHM6qtg0&-S0dLt5s%^YMdo4)b&F64xrq!z4Re21V$6U>5orV%EO$LW(PRoSiOPM$Upr375)})+huZTbT`bw+@mkrgfq6r)ru~y zNgiMt>STrROI9>Frb{l!TxWNxAh`Ban_^0&YZ0rV<_@Hd; z=!-)g2u2>4U}xXylhEzGQ98b&yp(bx|BjT%|5WF?!IU_P$|N_;{h9b&Cb|^_ViVr( zEfe0pzP$1PM-`(zWsy%>D9XC!lTVwpH-@RVlPPJ~e-9W@LI&W0B9Wtn>Gp|$s87g8 zLvn!uyc)JQ(i+l}l^DoPVxkWd`c%!%_L+77r!%nBJO-xoH@JXAI`9~4eyAM`P0>#E zF%$(&oc2w^!jY8|8YsV}F;xAOKhEXT(Mf&R9nnL**=(b`Sfle<4G&9gwTjkCR#RXY>R=d}F3C_p zEOZz;&cHA9Kp) z>}H8d;fW>f?OZ@)=8COpOITWo{e8s0$LJRxv%xRZGr&G_rGR4+M)$IlO%AotI!2QD zPJ8XU$r(gM@S`>yCx8zLEs|?%{g3c@KQ?<%{wNLU#8~-SE5nn71F^U>wo7&pE7?RD9kQ7C=k`%d{A9vAcNi1@h6KFtB&J>A_5Tww@o6+}8WW#J zzk4M7)P)M-=6iVrYZjSKXsZYRzP7k{UfXV5JomO87tf6Waq(Q)eq1~^2gJpzfq%ut zd-U|b;^Hg*6&L@yscr%0rGy<-Knr zVRFg^)EMhl{&A`7=!G?s(6G^%RnaOKn>sJ8@H-|r5Cu?2%+UlH&p+uBVvkP7-LE~~ zU+;1{GQrSwdst9O-D%`|{ zTQ{~7S&eHpjv6~~LjX$Nt3>5dOO?ru`fIjWE7cyX zHP?$xn8$N()tM~~0iSrjhlqDnC8d56QhPTO^}~`$V;=Q?(1#R$L7)r*fjk+i`5;?D z9ByA~+T9&Qm{P>pl1qt_#DC1e9=7&Xr^M0tTwmvC?9r>wGVi+rB4Zp_!xEw+QOx&m zH=kBm8*54dC*enu@FH1(teg~#=(0GsDbAm4qgSBSa0Y;7LRO|ybc~Vw-N=w4;tErg zKDyqKOQYsBW>iD4tCZ1F%;LD=!H6|W)~w;2feVf<#i`rm9ph)-zqf$Tn;f4#NQxlt z{B4XZY858xbudv2SQlo=I6k~Bc}(+)6gNwI!psyQHJq^upEgGTr;RHnl$2tij3$|5YpNu8Z3XU5+P^yfE)v;@ z@RM`2cW%ahyeIXxI}2Mykl7~c3*Cfuifc5_ zBgsy;#l`ao@M|EEI3aVrw#f6_Fe_6;o*S<$#h#q5C{NVKdp?{YR!W423jC9t2oq_} z32DjwC7>fQRvYFdjm)B{MLaqvGdu_d&;iHzYN%QO89{q{l8sUMUhhEkYLzBP)Bz19 zgkGSETn3{k?P4gwgPLp|A=T&6lAZahYRVdF680@Fr%_}lxc0Z5!NS3C>RHB7Rig4Y z$-O=wH_eL75qIv&)n4CVC< zn9Ag&Pn8w4t8C*$$r0&Ph$q%S4PUrzVYJ7(I0QXzOhma5kt&W$MWkDxI3lO=yyBx* zA7|6^okp&}auQ+0W{AN{=5zi2bBHnV$6JXoI3jMfDj2O6f69>5w~-7A9v-(?$a0_t6Q`Q1LgG89goI{;Sfft_2O=G$l{w!BFJ*(EUGlHKT#A3?;AS+wB{ z%Sr68sRO1D*pO761FEv6u;K0|Fv;O@t)8@yZNo9gA?r@4F_%IH_+EvzzqWlyN&*<# zWJb;RG6HMlB(uavEP-C6W`I73web)8bzX`Ya1vd0dy+#uN|fH_(69!!v1Co%1#*2j z4_6u(Dv2P{3zdoLvsB8ER4HotL2;`TwT_;cqSmt_PmM)NtZ6)Ng%@Z*6_H=3SZE{ z+7zZB(FnF)pwBCA%y>h%)^~umMtJm`Zqg_VmpCzQndPV0{>hDrBRfCl7aUu{UN^y# z=vk+xyp33G;C2kepEcm8R-Rt6XvZt{BENMs67`N!VJDL*N<}BHVL4EAO7oCX(TSNS z;baJgnY=-GN9UVM$Dlb5Pd8Fnzr43O4K(-IKpnB(2v^xFC!|+4x zBa13qsW52mnCERCP~oALNx&7=(Uh z5Tuael_X?DVhaI|oD#rLIP@xXLCB-rqJHkjblUx6K#iIETRaJq!6nFe*B%CU=F3kd+Z@EG%;ggUzn zpX-2!Tzb!k!_i}_i78dHel*#L6XKfp+b=08qfU$)mho$Hqe2QmgLkM>h{tSGkq3&p z);G3q3u)L*jM{&R&O|vQS5NCJ@%BW;kdteK3-w-hZNzo`g|cvf*j{Xt%2_TU zqGfQv5Tg%2uILCOdcw@Do$bUZB)QX>*M~JNRRpvgqyd}Eb%qs&ojaHnDKQn1Ym~T1 z@Ov;LJ6NeHBIXz^qKW4JL*%YRGKIO3cUSdj^Uq`T_j7eJX`RR5!6ebEYCbj340o@ zdOnSH;yYK5XRVu=6w7Oe-MLsYG`WD)WRjdi=xXd&8C9c*%9;AY=UFz)VoJyqI)s48 zRL&8)#qTGk4N-VCC0F9Q+UhNQQjcdOUpc3Dix2rD0@O_(v#qL-WKr~jOoE8tCA48` z58_2&oeK||jQb}rXA74(tTCLxwnpS)xsn;yO!i>NB zx@VjnnrCtbF$OkccxzLi5wfXTnc@t#F;(9S;aSbqw#C)@YqTJhSB+Y;Yg9q%ZVD5* zL`UYmg0ra-p*cQ}*Rz@=89Ehu?26!(=kzj&HMsHXxK4`okx``F;aS-l+M<@oSlpBn zQ7%^@6L-O#R}wjHXJrnMr!1qEP-3?31Ha_Z~|3_JQkE)9lv85 zAqmYUf(hG>5$-U^?TU%po&s@-tX3C-S=VE_^!{Q46D}_26A8 zE1Pe;mdB(lpo?P2%ACtx%%h(!V7wTh&L9zvr#Wr}AdHC{2B{gHX^wr2@y4aBN45=A z)ViiFWM-3ikF^O)9IBL}rO(Owqm`&M*;ndIWgF`{)2fYpxC|(q|M0Lhukbh26AQWz z-;#mS?RvWL1Li)0>}v_^x9bS;5697btZTQQ-3Mb6TvY3?DQ?z==TuG1el6$dD=by% z@<^ZJHQ%Edp%-F6svqSf1X88|PEvrDt*cZYXCxM3aj~zqGEy!oe^A!^i|rBzW-Fdt z&AX_Y#d^u^(VAeMfQ&ZUDJF69w7o*!@E(TMhQeL4`7xdqo}-=*{~#$n9Stkb*}~P_ z&mF%P!tgWWZ`b-Hs>7p9!uw=#shOw5#sPgW z21AfU`fItZow&>yzG$?3v`oU`N^3dYU*|Cr2_04J5uVT)uYHLruB{FOD>`rncWn%8 zy~T0e5!^Z~ia6PndHLA*xWf;kWO@&h0WO65Jc+14FQx_{Mm{5JjpT5I-V*F&N`H=t zVc9dRJUcV>n*Je4)Lk4q6o{UQqjf3P_)%Kbt65*jimjmJIPAeL#-&;lW(T7!(#Sq( zBMEVz)0+>R(56T3vu!kV=;6I z3~pf0oUgxzF-BMvmjiJ%dlzgY3YYt0qOj29DT8RjL3fUIa&?a8dT$%WQ%& zkf1v9)YqT_h6~KBo`|+6JZp{^_;(Kip40|Kw@DFH%!#5>nhdQ{`?SaN2~sv}!awZO zS|jNt^!SjpC&RNgqEDrRBw>u-^`S-B_E-1*m@V-FGta&3S9k`iKfUHh@Yv_G$KWwf zu=3oyiV5&B+#>5tLMz1%-Z@EZf={LCW!Ml=(nlDB?qJHg;l0YGBjXuOUKw;%WsT3DFwJ?)0VbkCrcV-&-F|?SG8eJCamoXm3 zs_*8{>&H7Hym??7gG34-jp9A=@_$LtPes?_?!{D#92DX6KO4vMKNg%*T3B%I zzsgi*wFv)JrtN9HuKq9_@=T_*jw=p~&LE z=nqx+xEsWfCXY;IC7m%O8G!^uKI_SvyN#Brd%JWxUTDBG0*yykCW5pR`K3t@A;?F@ zxHUu)jJYPM5f-OH7nnTv;)?VKF}+mj#5zP;UL7KenrI}cWc%NbFL`F?-!*oUus0I| zKZlkrG&t^y_X1@bSIN@V{Bq3q1Lg4`6Ga_;MYWP36lCH30qG(ENKe~zK>5BnI?PK; ze`|uc=F>aln*V<(AFV>m#J}!xv1rwNwQyMiO}8B`YcaKNcp2&KvssVf{cqQX{ui4S z5&u^;=u$lRzo;7Yf~AFW%>%g@h?Kuu@ovft}Um7bpwb3{(T^9rw! z?L+!*N6c}47}Tw}m2xG$5G$E94TaQWrJ9IdE2kq4qu~=?v%wR`h+*tC&HcLN;#y*W zm@59l2Ydy`Sa+a84upP6s&0p2UZhRg$Jt|qIZ|y)PTkhd_|2l-9d^tyoVs-#tsLU& z{DQ5Rc5K*jlTtE{*9`c4#$uo9$z9bj;X+HudCeY_mB=65V3KKDCMfg& zP|kv|mnKr#u~|H_K1`89pU!~S!(3FjarB)6VPjnXh^5pi>i5j`tNCR(nU!#oGL*!W*q6mYMKW?2J zLO`+9!66ndF+}FZa2BS z_#kU_ZROD>TpgL+%Te!?8(ZUAnRF)b2zolzL31j&imbAM9}`#|N{H{<9`9}<*RZ~v zpR716AcIvM6A$~}ntYyGvAn|4SND<{Zr$~?V_pfvHgmpr1@=&7(_n8u94k4YBZ^SW zEjI05hI&92-pSM`=z_^TY2U(JY4$o5yN$v%k~dp`WIj2TYQjxGIZxRbrCJ7x>I&0q z@DB-p-=vF{WfhO+aMrb)EDF5lMG{u6BCnsYlLbi#GK#@ntRc(VImNb6H5jW45@tu5 z(1XupAF|t&1i#4;7T7l~;@8Z|L%_d;a;-oBb5E%1%{4H3dfm9(EBeYSD%&B;C~4Qw z{gi%8LQ7>B}g6Sw@Vui=mm78BCRL#*OG z#9XeIxF4!IHD1=Do*SI(!w(HLFT}9x&s1QJgCME&)>?~a1{(={1Mp_MQTp56$h!G( z+wyi|7Vafj*hlHs$?9aC;R|M{WJ3}jN4Dhl=C}&NgQQFS1a~Adgkd;B!jdwur4d!h?Ki6I4roZA5D|5b`zsBmT)HIlOx`R4wb}wKCn6C^AwQT8^Y@#NiC~ zNUHTV#`|c#6ZopdIX>|a&pTPlLF;ngveI?ASx<(aEYrH&ih5MCE@(th*GB+0WVOTg z{#O79>R8D_S9REN0>m(3z_(ZvZBlCV;XT*;F9Z<-mYtTLRGzoL^_&jb>pt@kn~f(dpAh4Osaa zG%6ln16=FFA1I)pxJO@u+*)JuGUfYAm-BREJjQZ@S2Ri=7W>r+*Ibl>0dR7GMb3 z&Dg&YoHB=xb_KCTPPUV*cJgRn*TS7xd zaO#StxyES7vjb?z?tNeptH8WuOf!6~yE<-0+);%jklCq4ojf`qJ9WC#jin(@N|10* zC}KpBjh29;Dco(~xXr+E?*KF(+sCmgK7cPc(I%i~tpYY-hS@f)?(LN0C%j-@vUFb_ z%)Yz`XW2k>tlJbf9b3T2`mT6vkGFpfR8II_MfKa357BrgQHEyMK*~3S)jJ{{LCEWM z{&hw~VNZyY8k$`}vu5ZjP;myo=Ut58DBDT$Svf77n2;3qTV@G!EX;%ucus-@$LpZM z%>=^L8E^WIV;QZipqr-f1Gpj&{n|ps90DM~XqfIplIV8@$w1gWt^F_5tzj01_hl)6Qq$a%LU+SnS ztqb*-GWFRMF0!5xU;Mdqt^a@{UcZOy$Pj(03(tB34dDxZt2X@HI~h(8;5H#=-rFaf zpBXDX*LSy5G$E=599+f*q4GZWQu)cFhEnmV-=4VxzD2FS|A)OZ0nDo^^M3DpxR?7T zd9yT0+q5iY-)xGCjMCI?MjcYX1;nJSKq*aIENyAt(iXbdludC-7jRF-{c}Z zBBDXT4JUy6Xp7)7VhcFR$b7&5bIyI2G^K!k%X}YI^4{g#vp(lJ&;ERlB|yCyt7beX z-40ulvf%Y;&@0*-?r~u&{)5tmj?_wn@`(4Ma~L6K18g7&*0rh~eBxAkPTaJ?Myc-# z$zsoW2q$_xNho_l3v3Y8jANE~?1|D=W@vj`hPEf@^!kPm%q0r445w+=P)x)_p+!6j zX~aFjRsrKG29aWZf$eSTUg|yD5;EPF&jRB(R38qCiF+?|+TtFgqvIoIA`02;&0igrOde5wh8-&Y_V*04XB45(g0zZ#KIYituC zS0N7+;)t~%&xrf|y5NHIU!W0z%=2imu>+H8Mt!CAv~*x{n8i)$;c>$X)ey{8y5i=I z9Q~C3{5k+ejQ}r&<_KV$;@(NEle)}CQI+Y8r|JgxZ4yDLTVGipnkT%q1X?Rz)<30}jM+w+tPih#ZexGSKJQy7%S93`TC}C8PMg_vf)|HkRXXS{cMP zgL&w+^BIkWW@RM;9UW}$EKAhYoirH^_=Vw#A60aB#3t!oW{vT133@!75y&{l&Y_17 zU}vY(zhk!o=v~K5l_80RqxFAgK|$hR`u{ut6YR)+wxY7!F&tWdi6an&rcE%3Er{P! z?rvawqM(|!`y~)^2xo1xFu|Uj6h`g~)fK6+-vd>?v7`J2of@E;@yX)>M(NaK_i|=@ z7C9em zPP zKz^I0ygtr-l}%tgu$J|4i!(#umNL9cz(Mc-k^<+&q)$GPk-O8(-@@Pk9QQ;H3|Eb> z;COi#6k2ZlkhjP7x;74WB1((Jv(2(;yn zA0M~C6l{!JX2xwF;+=6QvLwXx)7@B}ehErujp7ZSV*bnX{jXuZ%lIWA9`Fm<&LR5T z-Ez@q7&5LF&)0!k^3PN!lr&_(iJeHzI`XNESKqm`%x}Mvd5#Jt!EvT zS`TSzS6`B@PU>w2ez#t7Ry#m8wI{>w&K!ph6@Hg`5o1B6gcZ|a=bns7=ciQINWBvL zqliw3A?~mmFf*;RF9A@JVMAS?uc#W}e=;`&+TOfQzAtWhxmDGro0K)uQ(Qo{Kf@942j3xmqZld6M4j%_f1@ z35Z^q!MC9lC)~jysM4=<%O&#cRuQ~kOi53-Xo-{nYz+3Vf?!9`>ITP$f)2C?Mf0>a z!<|f;6(4l7`u%41sW!N!B%j44o}@DcfoLrJ7grc=^rGXuTcP@H;gux*UK($w>v(&s8P{}`Nj{|h_Bdh-0{7H{MsO~V*NywY2IvC2 z+BHrt5Gf|slFO&=-GI`8_GB_N>MjEtjNwn279TV-uI-NxTtM62n?;#QS`zomaZsVy z4Ycoehcl&r2!ow6>=vVX(6-+hA4H9jd!AW>A;* zwSAAMnVnP9K8?;qAULTO5GtvkjO88{r*beXpvF?%$J&~RMSQrp2q0Dq4kpBGdfiP1wR<{domx7W_;1uCFzhZ-q-zUbkvz_F` z$R0p{QHx@3>~H@#PW*!{CVDZtZMqxx^Yw^95URDaog+6=s^;b~t7)R=!pZc(tZ=-z zjmdd~Y`5Pmmou=*ArbsT1d|Px{8Zk2&kAnR5RVoKYNgWBW$8+i_;gQ(=mf@Ms}9)| zPq>LUn;@(BhXPS2WoDS4T*T0(R9b$Tai}=AoeCaXdWaaF`ym@ zn}^uOb|sCjsLsjPtFFmjP0X4erW*R$(DXIuuGwII0g@35S*xmVd%s#gxt(o~ z^T`sf=^6CU;IKsm&bib3EK~*f$STv3n)%~PmFC{Ias>X`{gFuPg24YG_^OA%9iu>J z2n<}pI1odVG_CG4xcf$q(AMnP`_|{4@44DS@?+mY#ZUA-{%H8UE_BsdpbF9Jt_DOW z;Syr+Zlhti@bl72Ukgj5n1=BXpOib?$n^H9%1OGCmVbivdnKA7mbUvK=4GuZE;a|c z_Z3;!T3FQT-K4PqgZL28Eb}ely!)WCeY%~!9Z2>bqza%{!R@`ATWp*9AZ$k_L~|-1 zLdT*>Kop7RUUsI~VUoQ;rfMbB$~HSpXzgSkH72=}bs`c@!hYOiMKn;VuF+jnE40!m z6|3Fv(wf*4)eXN0N?bU`h@cCObXV1qM+e}33(5*XX!;S(JNo=1VjwZsHxyI65g_<$ zBM$P&eXO+JXo>fpBw>|nYQfsn@C$IG4pjw%#Z8T_q+;LvxqdbE+F_Ww|FG_-B2iVw zJpor54tCx5(f!S1HpTHZ5WL45v@?rV- z;IO>AZl^q(+$(+X3pN=I)+MJ{E zq1nbP^rkVVisg7GPO@yn@oo>cqpYazwSym4CCOw>GiSqCOUlP@t>t9*VjG9<2f!F9 zf(M%1r-2LAa(5Xn#;%0Z;{CO@eIN8+a%W%u*nhe2W#-F|`Y(UtzvRxoyw`sz5@GC7 z^W{JLFYobRa%W%Ov7g>{4cc*j8}yR~-I{D-exXdk5VsehP4|l-b|DSJW+0skvvDIZ zT1(ItdSEO!KQME4!`DzkNrCo=9NaZi)Gxy}^Dn@n-Ezc z{@{t&D8dzKhmy3}WBvQYi_PZPAw99t&iSIfp$yK#R*!f$2SqQS;k<|E0sqD5C7T_= zZX4Wj16;jHQpMv2{S}jUVGgTbPsV0c|D&Vsw|GUSa^8#D;iEd(2Y&@=z(Etpi^#ReD`Zy&8QIzrI!IuMhKtw6okp$X=j&Fr13gd&@r;9RAc$*&++eojbxH(z|DV74?Iddye1Wu;G29jb3glpkWaCblB-Z#^ zI^&lXyzPlL(KPqPcq+wB)8oT?<0cMalk>2`bv~h`KRh@#4|H$4*p7tJe1*pcffw8v z2(yng2sbDM2S(^VOV2yk(=O9#qGFkNXlg}*=3gfX3;Z1ONMvPGwjdJNZ1n$qL>{c9 zuvn;%VCB-3wyR59FE#>eOpE|vWE2+oGsFjZe?1Z*^^CUnLn_6|4F;<<$pbc_0t`Y* z%7($Ki{Ljh{&y=h_6>3VHPqagJ3;8ML|J_czgOLRC(K6og?i0QnY_CB;=Rc$Br00z zlK7#LU_?&MV!n%<#cVq2!%eUORg1b)H?CgPjB z!V7V~R16;>uL=N@UivfY%NK*uz}KUhLcj2Q^E>dh*R;br9F#Qq^}Zf~R;i0Lxn;x7 z^m^;VqhkLOH(fsZ5GhBMkB@X<$X&{bn0GoCC%7~C+vKL1V)jq#QOI>9w^$W$kbQ#; z5o#D?RX_4s2z*=Orn7l^npthV*etld!?1)UX4!tvGMC8(5vvg zTP}6Cu17rV?$E9mJ*-{-rDwG3ud(h(h4b|Gd>1nB+tBd}YvwyJ!-2l9^|W}s0;Wsj z1uYLsGfF{SVn3Q*{UTO}gA2At9CXWWJBAL?0s2qK1*_=J;Rb=7Tg1+m$asABt#R9{ zdBQnhVU?b;{)sj>EqyYfaGzo}=zy*C*GkCYe!@?tbK|C03mDPt>c{@q@riP8(PPE%pG&!{Na-{=vo#*#is!G+Y0EaZw6V%KjOIrm1ftq0bDV@hKmQ+eCf& z{c8f{6--_EQ2+A!w3wdGCyj_OIqBW3;((0E-A`!D)2Fl88sxlsl_q(&{;&-XbYEVs zOrD(Odm|?ZJjQ{k7i8Plmy6sRYVhRVEm{(jDUG=tD*DHI<_}8-EY(G=#SR^zyu-gG z-H+>)E3ms^Svo=-r?bVD?LoFvhtXsXm6!X%I?FhnBaWPIG@fsfP)672kY`fO=cz`X zT{1}JthBxQ#dXrW5#n>mf~ef+4ekN=susR%Ef77HO26z|xZPUdh8AwmTKLo$E!RmfQLG_N%qTZ8yJS+my1k-_lautTr71FE>FM-- zb{wA)*I&+Gi22b&SlwS$f9@zw;IIbIq=5@YHBcS^ZWkr01bgpx=nw763<_Zgfux_K ztA^_I=Q-wg`OeMp;poduPqG?0q+$fyoIn!)Ag((NiM_OC#2;bJ!)iPf_m!FwAxu1s zF&n%0*)}#%(b$hhHHMvAXsiTX^$FXMeYri3du@T)oMHZN_MOHx$PnUrx0Lo*891N* z=TmR>pQ8+{+&-Uv`s0M$JiB66zfm#J&&6d3)U1A6W*lFxZs~*1x}|@uXz634TKchC zx=nE&6p5<_PFADaW~3&vl)BeSU&Z0Psvo}uPnkz2$N4iksl9|eIvtdX*4JhwC95R> zX5Iy==bmP0gj#7hPlw`(aDMP07=RGi!s|u|0<^J6$In4tUnWHY@`l=3G%cwYXYh`= zRwkS)4G`l~WNx(7$cBpvT}c6{{L=BRxmc7*U`?0!1kw-K8Db1Yy0f zMP^efJd9z*tc&2m!ndeWcQ0lu1-HZe&$7gNVnx1VIWGy|Mff!MKmy&7>(C8K#f9Kd zI{jz|mos#kt0Q<6QpJ3(cr6)>6#e9j2U4J9AOR^DP z#ZQ+kSkb$9+0y6G({t#l3N0>Jy7HpRE#AAJ>a|a-Rau~C<#f4x%G6a^ zVELN)^OpCn%pwLYU*mJ`Wv4@Lab7XRFnTUcS}9H1@-<5q_biydW_~tp9$$U73SWug zXpGU*8>H7@XLz=g7rLI$~xM0Q7c}vEPTYS;-Wh;svu`OS7fdLV~6#~*MdjZ!( z$;nD_2U_>(4H`gNb->X_J9pL*J>D8-f1J}%>u7=Co` zTry26Fq*F|OFOA|6kA%H#(xT;MQ@%>+DYnx&Rn*%A__07PAv8XT6e2u zQIV;77hLQiV<{czT|RGAD{uhwmF&RPsOqQ~E@UnH$2_mzA)Devr9m>7Wo1w@g!W(UxJ*9et zykkNS&K}lGPDw;^GA!3G2dar>-myUrrWii>w3%hx;|pp+HhYIsDKXIqn>n>qiC3CU z2RYm?Hz`~p`H20>MgluxIp>r@1Z3lie8gi}_(hf{MYaaiiOfmfgs92>1Ix?2yLv;r ztOa8CIOGD-8WiQsPcI@Zn<`=(%2TX*NvtN;SVG4Mx{>|uXRS*yYMDly%=85{kU1T( z-^GLJ^J!{D7ttG=+{a|Yw9I%7sPpT-&RCvWYp;2iCf`Nc%_jc&?_Fp4pZBhTb9w zLz|im4bhDj>Zaw7t;YtxBCz@-EPKs=1NVC^iz!QwVk!tEPG8*I+!5*?e)n#bz=|+V z2q^Ps^6m`uA(A%I`I_DM>`p?7No@MbSJUhjeyb0wN?DJULy1QQxn?V*42--BI~Ad? z#lPG_g)=mDE%8BTVB|(}2JCOlB3l>e>!ppJ*Kbxmxmoc%Rq+QKYa@2_l0FwOkFIZw zC;x$-q^qI`2`5bv=xTsjs)?}ZcmH(>+H|mF3$q`&doZri)GN%qg_6>X12kV(tkBZe zxF;~tOR@Z|0aIv>&ak1EZA<3TlxnaTLtXmTJ%OE1oSaN8gcxr*NDzdp7d{4Tz(GoI zry?>FJX}+RDY^fNl(YjE?qmW{I1h@W3-LI3{|5AiaSeKc132=49Ck-iR*I~u@NbEhNGY#?UHI=i3 zf8s`Va-I9lfsr53_b=95G`c&Iba$r>5r20gwqRKlH>*W=AN!C78DM)lUL~Y#Uw(HG z#k@nB0AKK5Fk&zxFDvA}YBkrn+v?lft>W?n9SnqBqBkvb;#zE)C3bH)iSAx!Q(h;- z*w-S$-fkgC7=BTfl64p%);i2|H7xweh2TA2H;W!D%^C|G6-}{IzEPh}jUoc!D9Y-} zxG=+Bf9c|mzNrk30(aD-ZIx?eVTS+o){CR;-8bs{iFs;Y4EADFL}!kQqgRn4spj?a zYFX2+h1#R@*o>AMJ{Z@`jvG$lA;Hv4CuCq{)A$*ioe74U>Tp-+aF>{UDZt0n_R$Kk zbEm;hB-JnhJFskMFXFkX37`7yFyTL=Hq0zpBdtH-;W}m{WDL^-MT~O!uB0Q&b=MM% zrDkHh!8;2vW}&CNaipeE2S?ilf|cl;KE_i>KETM#LI`j)EHa`Pb0pkIikb=#9ok*M z7L~>_W`Y@6rcp8thWxNy7n(am$VpzeeDK8sDKL?0&!ZEBp|M)Ms~P@58hVTSDx-;3 zYiw8!ADBB@i=&%a%FQrO-(}qy#0H8&Q#c=bk|A52pRT5rIXJ`xNW?wg?~zXkI>WBN za)Tg!5(kl1&4b@dIJadOW#o`q*^I~~T&JT|ykmX4@6um5e`QA%CoBC?noqn1B{rPE z5B>SUIQv9fhupN6M>#@-XqwJocl-IV>4_UQ#2m0nkHrM}`5CGgYtoEcC=wdeB3{A7swJ(O|$*J>C@0KXlrTnU*?ll$xa)|*H)=9(E3n{H3>%eu`!Pd6>f$G@uUQ}G?A6C_JVhVBOIwVo(_^6@23+xp z`gFwih$kFu8>~x0ka5FdWMizHNUT|_X7SF7S^RZ2i&(*xXYrZ!uqJAmR95VsW0#Oh zMrRHTcw})~Hmjdcb4SVa?bbMdLUQZkbXDSU-W{6Q$JYa~9!GvZgUk<9K;}CGWbPR! z$o7!gx`<0}WiAU?9gh&FN+u+7cyoliCxbs6Q3!g}x}adbu3RA^w%WlpW65a;pwKTdgvvZ0cv z+aJ8Ue53=Y(dnUb*D~T!RFrFPfpFDXisIbJjl}<5SW1ARZ7kFh4s3o2@TdE|>z!?u zlQE|AnoTkqhm+su5{gCYSOy^tEi}3^^%)HJYSs5CKVrXTT5=a@8MFDCw6HYJswI8% zvszL@U&J+P$gLXkp<2gUNiA-josMp4=U5BcT3*k_BjQQVD|PWDsypy9CA=6nves{6 zzvuD#0==y138-+PDDMezdKS}O!iF?H2M39=nmyVW!%3+Gpe4iE46@3=EZ<8(xD4XO z)J!=fjy}wt!->?MGg~s9eT8@8RRzjNKY2E*$cYKZfEhl`u_$)GH{o(L^M1oRbS29SJZ4V1+=x51s?VHL5j z6khaTLz2b_&cot_FL{!8^QR6`IaI;x?hjPKkyNOP-!xXmV5SB)r>bJg1KU>dY+o@? z@@{Tc@msTsPf*3G`L(5*H7@+04|iuO7bcG@CLr|td8E%Sh&w$cu>A!5Ocpnw#6~bjT;W z>=SulYA+U$MPve{K>{@jM!ZNz0rP|e5ZC}KI{`Mx7Vf-Lu&mU@qvP(oSTqV3TSOQR zr~(14o*~Q0gapLt+Zo3z^>WX8Ofs$5%hGl>Gqo#=nIvaIM27p5YnwApL*XLy#`_R( zM%WYxuleU*f(ABfPpA5*SsbpuT9UpASNQaa_F1$Q+(I9)O4sOdVLOU6_xz*K0MSS& zkJX_{{0m`8KvY;}!}t`s6{%zjE()?bhY=C)TZ@Mo& zSkbjOVlfYbTehHbLdxLvKa9h2oqvNcJ%9{tKZGQ!+$I<%AUCNyJ&wVXsJgD_86E5x$ zv%3?deB8Wunw0$W5VulKJfuz`@U{Y(%ALTw!c0`~pUic4n_7VOlZOBlCx6*3LQXZx zLRq7;vrboaiCrdo)nI8q8g?fmUfR>Fhs~NK`_n2)snzO&XX1K7>CZ&HnrN=oSfOz} zDTYB9!VmovIsZL+%hjbS2Sra;6EvUz-L0qctUO9RQI5PuyJ(6V^b2fz z*Qy+`aff*Fzir|qe9I<|%eHjTHA8F)k{Y$ZhI=7-fpYQ+NbN zFbjjIEx7P;LHrYcTwPA}Wuhsk>X5uAEwkq+KDD2$&0bhYST8f#?6xI<*b|`#VkecF zUHDKwEwH^4|BmNp_??f;#*o$VYDjTW7ja7u7lh|W=sCgH{SQ%LKnA+b1|~1w9LApB zm!E}gELIkfq!-$h4#dg*o3o2+1G=rQi<+F|g!Vf(?dY0{-!V626!_!@5%z5gjmIzH zWRTD_k=2jjv7FI*28@yF&n^U`=wtLLCCz!VkgC5p82MMNNdqXHnRfReXt>z@7B?O+ z>ddq#VWz#nBDl%*?k?Sf+X$P$vUHbLNLxF`hYiU?Uc|0071_gGV$sPK@WRfu?}5KL z``zYT1bQ$!4ikjK#aeco@H9m7TNqu=u?aDV33PC$X{cCYy1xvn+O=rrwSys^?bmbo1Q*OBB2YdRlFud> zskh>|0sLPCzMGS^&}f+hUdS8fsfTR_{~%jvH?fZfuJ2@%+XO~HSR*WDep-hb9w0uC zO`I(k(z+}7<`yk+N3oB~OqIID=oa?N!YG1VSwt~m+DnliyOW;XiGjv787#;@`qgpM%&aG_<+)4(iG84Y!v$$juDDs zID-aGp9%yc;&kIYJh5*ye3yi3tD#|`wtM2nW-k={nn^n+xv$jc+D#%76TL;yCV{+M zsY<$M(`)EktCL~kk~@u!k+gY~^O?BzAGv!efCGZzuhL8Vnl_tY9ccd)Cl;e+ez+N_ zA0mEb6ST8Qg$J!CEJ_m^MV1tiLgT-OHTbe3*M`mAu!WDkV6r5wOQaZzo@qWfaF@sZ z?$i4Pn(vi?W=8-TJ<7Wq02%?{4*-2_Rb$sBysW#Fbws&XceH*|3<+zSy0Fo~y)$O1xZ0hQs{;|YnRZD@` zC6shm;ZtJv0|XH{F>X19XK!INCc2;KQJ9}gSYy_bFBZXrs`=7mtusu*B&5DHI%!ZT zin&pqCx=i7DGAQJXop5k&TQViA?)X;4QU`5!aRaU&hiJv^H@Us)Oys`qdBeTPDq%y zuZzIKtoJ5>DRO^OYMs(X!7Z|4qddDl5X6zTY;SpNzCtrH7F7kvyqYYF>db##)}C$Q z{y&5*ye0NqILLS){n8dtL|MQ?h#k!l(k}N9uKVC{g4#aSzDyA-Bra@B9pc0>^E*RE zNE}<6KEy+kPtu5-^eJ$B`Mq|K$R*Fi!r}V|MqT0pjZ8&b29CJA)r8O@&Yp(X#L-sP zo|$hrA)ImdYFZHC+w3r3ZyxAmUF_~4`@35dv7p|(huMec?J3>h(nN&QINAR;!yn73v)S=&yi!fUN#)ZKohn~i-fOPw4sdyMeGBRa3s z4h*jm1v4uf+(P}er(^sH{F)s?Drdx7sa#IGOLkNdVeeU@a|XjoIOsZS_rX%LWK9uH z)8W#`k?R(KfSco^0Z;*w#L?JqgtPrx4P!S?veXdWLLs=E-x^PR4U>+Mk2+H^3Qu9{ zaF#oxIy2FC;L%bC4F8dEyevVZD_Dg@6U4@z#m%4@iYzf+M@QJW#{&GHE%0YO*uDjj z;sk$AERi_e2A-|Y6=eG&0<)W_(FjBzq*iEO_bM3E*v%+%jN5G&`mILS45?g4FkNb1 z5*p}AURSCgv%CgZ04J2!e{u%VnxIMmaFfG?Gv08LhY7a{mTk){pqDjzfj*;etW0%5 zdZ99)MM|9n4~+0rv;YVZ49Gkw3JMaCEgTOLY#$9jFlAMI^u_U%>xuOdPwC~unL#1u zXGGb~BG*Z4t_r(@x2lj_Ci8yAR z$#XTCx@+2pt-mJY1VMm8>u_!qT76ub#KgCLmq;uoqNq+(?CEe{Li@qC#j7q&R=b;p z!Q6_;xDgP{r~)#QF^Zr^kKFC#a$%NUDF(p3RG9vintyLGCbjw>xT{dBZ}AwztJUuq z2jg4v^u5k5Ws>F}V)K!yM2-3vaDFV?R!#DwC7sAK!nK^CB~+{F-#@CoK2Ry*tvn#Z z90nX)d90ca(`ZVT1X049v@1Q4;`u%ZdybUzBWwg>^iq}IdgDtm8{L#@bZ6*TenC5d zd->vmJ`s%aM12}(N%i>n`UcVP0vwnUF!iQsTq*Q)g~CX{U;=u0>jvdcM3S9pYQ04L zJayVL#BSp{g{h*_zZ&Il@*pSy%@rmHWoiE644au~hfpVt?p(l+si2J8wQ8yn*!Qm= zrhPL4(Jl@qUOo{-g#`$<3!Y8!f&`z`&c~b6bW9IM9A7YU9Z0yR9?=F8ZBDoSpV`KM zg(KVG=%;yB6edhIb2qBW#C@k;)+=?~D&@*5VU3zj(E(sUL z5-Uhj1j-DOqDKT^$rv()Op@>!#g-K%5BvmbMfCjPKdvHI1j_#h^ik^kppC$999;@+ zJbV3=Y6ui=R@qbNs%%fFoL5^EXy$S@XsMmD(-|i8+0O zv}@mLF208XvA<WS*Sa5D|s=a9cTY{tHLw{ zQ-|3_*j2igYRtcUnMX}FL@OXI*^}$Nmh9saePods=ZWgi0oPvVa?&szf9mm*hKz`lvFRP|5Spl-j1S` zO%y9yxpk`aLT(Y^is@5>Vs?&q$4La_MS{GWjb;dySFu`LJKJP{6GXpc65QE7DqFGi zh{3*4fx{r$Ua5(?eO!lW1GHyXWg&XfHojH@HJMwA zkqgCV%bx#e&Bt8&eD7tREjE5AF3ja|Ms8njhbd-S0mwW%_i5{jr$RV6bT?anAQ6qp z1!9oyio95;Q_s`#$WjXKBCY<|mAfV^31YWwFi`MKU8>Gq1fwWH44Fh$s#2@0J|4eX zmWJam%&NPV3m?}cPO!&yf6j-NMO4H|W-YeGj|Uo|ED3f`5>#9;Z{fepR`0?1u(P>^ zm0M`bQAplvbTSFEppy#;bh5@<$sK{aMap1%uU{!PFv#aYbWdFOcQCwtMnwM{n_uYb ziY7OE8M8E)#t*0G*yI{IK!_XSiR&4XbSWK}o}Zb<{TQO(SPQvhpw}_!+iuL&;vp~f zCDJH1O^^fb)&lx3+uq!43Zhd|iy{o2;NDh5-X4{1D%Z#C1^Wag1o_TH14KMAVG~5O zbXg)C;IvGV{Xy&b7+|62Ms)Uyp9kaxj)J`R8=cLPRSO{h@Wq(x`Em3`{mtMkFM+6-SI|-AhJ+!h+@V1i!A_9ALePPXUmXv! zz~p1Pv1JLG75cLZe%6?Cpn_Th;oh8?8TKD=Eiz)~$lt90u_cBPS)cVOI1cD@q^r+nL;`+*w!nW4!P%JxA>;Ed<_T=vfF) z+#HkDREe<~d--buv&V*2ax6D*eB?-P`}0hl&7Y{@+|z_SF4D*x~BSq5HZ|8KnrF4A0q z1n;^@swfj`ZWFP?{X(6DB6=>duj?RUMWPbckc!CSrc!W0+>nI82w><5No0AOSr22d zH#OMIWTLL?!U21_uRs(NL@)U-W!$SCS-qUMP~x6EDrpG)t=Kd(;Ptm&UgPDM^8S>cq04`SdbsOlYqRB=&6PTy+e@udu4z8JLXd%Dup}xHhW~h&}pi*hop{Rp}@u zGgHW91l~+zk$0^hQJ`|8{v_2WS|kRxp$8JO041i{`WnhRAgRPV8&&@jd9uaIHcc_* zBU&F()d1nwnF)C#ChnRDUqKRnGP~|ysl(`K(L}Db6GLE%d%Lo?z!i9-KDmrDm6PY- zO3g>s8;$3wSEIBz+G^N5G`cs4&Tf}B7YPHmCN;gV3roUeb)0{3lD?qXy=5eLh1~oV zFMgE|07h__JPuLrfjIw?rHDBYHi6jT!@VNrSo8Bj)R7WRp>L|m9-dT_Jv=CrJ=~PY z9=p!S9&Yv~d&0vq*~5d;WDk$3Vj+fm<|zbAR3(+c5xK7>dw4LK?BP*0*~5cTWDifO z$sQh5kv-g3kv-g3lRZ4BB73;6Bzw3WMfUKditOROn(R@5O0tLhO0vgpOJtATWn>RG zm1GaM)npG3s>mMhtH>ViE6E;iN0U7~sw8{3-J9&;VTtVFx`OPnHyPQ(O%>S_J_Gvg zqcYi}7lG{IvPAZ9T}}4bXBpYUjbg|Y=bdk{#|R`-5u(OQ0tvpY$_O*|h7lH*iO=A! zI+P7>Kq9>H+qe`k3KZc9sc{W~kou8W_GZMz1hsJPj?2u>%-wbX$H(5s9FiU62a+Lp z@x{AL%$Fkuuic-)7eN?HDc#6G_-$*Yx0dCf5f;(AIG#SDJE$lz*~;yW6*v+>1Qy*! zP#xxK6@7mt!W_;hq)a-yBG=Y0>9AYeNo`&px|!m1hJX@8xxtuS#w#l=i8_a*sul?) zsjbdDSyxUqDgcU0y-`dX$P)S?(UbE3VOc|#TvJ@yty>}u{y{q2=2=~B(273yOdIXt zSlK3#AdxVvfy5n+f)1IcxiH?$47g-qhi1YJV5eL4YcFBHr3~jf_bL66s6Uskw7`vD^>Q73xrpT`fL=_Zhi5H5=@#4NMSpQ%U;73}UVUyncxDNiG1eO6>$ ziW04XR`oJLSCb|1x>2%UBYV)O%DTJS8g{GT3G-n0dQ5uUbi4{P<%5jpH1xtQ<(sxZ zNLV?D&MlGEkl?C0ngzK69QF=)DyEO>6mleS^9Gw0JI4J4iKS~LiixIncZZ};yuAjw zq$GNoS&*cg0uzB6&#g`XUm)73zGn_-c(l?nTaKf$EYID!BM88dq?ab-lcAF=kK~%^ z5%gEK@*O<_;^?)wQCtG)J;|&{uq;d5Etev8W|B-+&qht>vKTHIxsR{dkRto93*ja9 z*ycMB5N2+OIMEr`tTy0`5_2p@bf|?i-GN5|LIpK?2Gr?i7T$E8Cm|+z@=f`V&c+Jj z6TUX~?ngEZ?TALOl4gE>E*>svHW*3fhq^<1ID4^yRVBp$b6v@_8>7kP%zH70D)3cn=Q&_`m3eE0Y?Z0 zzY#%u>3im+h3W5TW+&2hyz&E}d8174(M)a={5E2`Ihg)3-IY7hTm)~YEPXhP+TFRL znh)y&3vo@K7)$Q!`lHQ}(@fwPLE(=a0OzAsqd3t8Xxy0G-%wQzW^d+VjFkm=umu@z zo!lYc5@1Vd*y#U*6eVYPb2I!SPe{0iUs?3>!9FdxxMkZ=XX&OMIWk3J&$1FuA`fmk{~6nX9)etLad==J-mRd7;h~{d@7JA2yp<;-sN5C`^~*FG+9hxN-x#=3O&qenfzNw9tN{aYE@;> z7NV%Cyj1%x-`5@Y1-|bEUR!8M5w#1*B0(~D?_k{47&qvMzcDt-e$KaQ!NIE}b)h2h-xQ+bnw}kC5CB{jpSET)3cUbP0NT?<4zrB1lc* z6|y3^0(QsKl7F)VQx*u0tWKicCRy7Db5yk)#& zwFRy&*=T)skYT!g6FRD$&Dv!TTD_XC2H>HPEW8U?`#MQhHKsFI^@X-Smn)m z;YLvQGEb6~x2;+26SajpM{V23*RcpZ4%^m4ywHNlz3{Kdsa|{vtviIQ(XT(jevhlP z_RGyx|2Xn)Bv_30rOG0if{l_AcUj5lm95V8H^e`(cR!?k`*_$)jB+^8SF~(zgf|1o z*u8d6<^AaQ8Ay;p(aKvI5{CHLx&Z>w`2%(@*hW5F3EPD0N&CdfxCt>6M$)bPcU?4)o})q9@d_wiYToH2JZnh*f$yg)BEqEvaM0tZSl8aSaKpMrSEa_6;>@G2IuP`?8q$#OWH<-?^!Qy28P0r zJ6c*0+MURYJ=G=i?#AT)IIq-Q^yr-jL}Y(fnNM6AWcJA#YWcLM9200h*6Cj8IZw(M zlg-J^!@KE|jyO$SBaR#S8O)!K_Xe^rs=)Wn0{y4K^m(rVZVv+#0J@Jk`U}B2y6~1t zI#pDI`E$&o6+U{-=%%$#D_28p6Kn@qHEKthR72e7Kiwb`pnu5S=a5t|X{wKBayQp1t|0=UiDO2Xp zwwbrXAo{bLW;PRlgI2DV_pJNm=qWUS8XyGf=lOht9v*V&gd(YcWS$3T$_ z$N)PbpQ3ZxL0SbSmrx+BnpI9mYA61lX&lZQB%ygDL|2~Bi{g6vJ-pv)Q(ZEqmlc_Z ztP(i5TWtzw!nC^IhrtNLfI^-M7%m4GOj7X(;cUF5qHnhsRlEz6WmIo*OD|p7WYi*Y z3npyj&Ic{Fcmp5@GsMyKxJTFai;%yTDZ{*t?BfQd*GB1h+qK^vJ;_yFGbqVsh{`@H zI2DcBcvnTMyJKs%Cu_CA?OH!<^yuGd9S3X?s@S-vSPy2W3MRV+lS278!NR?v1hg4+ zLL_=DJ0a9`X3q6_-;!q;yR`Jrw$;*3FiO{i1j0WGu_g=o@y{1CnYu&Np)DrFA@~8; z*V!(fvOAvI8Bd=XPkmEdvy;cOFf-z4S{YBDK?Hzed@z4iTzP`Qmfdm9M(#3I?P3Y< zh`^v7zeR?j8sSgY%Pqk;-A&w=Rz~qEfL%g9%4MYm;J{s9m`t`la$*wEi(M&ySwP%B ztcS$e5M!k>oFRqeGp3}HrK%&XqO0lAm>3+UWP>2(*N_6*og&CNkp(4EL^ib_^4Qf6 zqsyyICDQQnkE{1;l;|z&s@(D8*~K^Ia7AKN|z@UgGk4I)Ny+UpJ%_Cy)9yB#in}oVc<+-1al<2Mdw_QU#Lop zP>QzekKNiIN`AVQ7z1Ae?mr0qMJ-4C3cOUV|P ztyd;Tc?KJ>xjWl{+5utrU5isD*sjA9R1_yLCp&xXg1cm%z3{|NfJGJ?Ktbm=NYIQqc;NiN{%_uxQW zjiY~syYP77Xt98vTGg-U2@9jl>2i=j1H9$lw_#@o)HuD~0ohRXPsi-FwkHBp=R-`9 zOkJB>CrzFh_k!rW39G2%7r;Hu3^NzsU#oKNojJB-{+%hb#Umz~x;+vfqG=iOAf@Wxzaee6W8~P~~X45Swwj z7Ve)nXyNV|r-kd17+>*yw1uH7ga`;C2xV$0!hK8#Q4b~gfGtd|fZ%cqvj~_C@sYca zz*gOu$fxd$YdZ&rY=ghqV9*j)s2u+R%Nb56(KlKk=$pYYaRNOXeLRj`kmW5=5ULRh zV$dM_cOJ_yGDd|3R;E%TeFj|?^Lf*{&VAN7`lJ}MV41u&l}ru1mC=$hXM#rEw3UG? zs8?g$c4mBVUp#eVzX=y$F$SLoJuKo^2uDgzq&j7K_(Xf*zQ?Ep*5-Gy&5GecohJmg zuuH49$#wB@7BDSn$RYxIvl^bW7)Ab?X1<#IWpXRpK!^-*w2;j_oob8rMe5QxYu@2^ z2^0OR68M`KR1* zqp|<(E}CGx>5V1cv~$q&ruU=>Q-%0zA@tOX3UvLMaPsJ=XAk{;ozVN{TtM<Q{(M znhE<>#W}^|nAWZW=@2s&5&C|R4p@tsGo&-10Dta7)<{L4t{|tdKMnCivMIvSkU7!` zR5eNP3N1;eo&LXH5BcvkN;=&cEi~3zOceQ^4T`pq@DCvQ$6TNiEH0W4EoZUqK784z z!mQE94fEX~T!ApZM49g;PGHRLdsg<}!kP(k_9IN#k_i)jQChGdOZec}vV;;E^;mQu z!=i=c!GJpNtDt{OgJ#NW4q0L?WXM%ei(FMdu3!7*DZv>0vd)kTcAXeNFwVEJ34q&l zs@-*m8@(A|o&cf#oIvQ2bwa~znunbQZaB=&H%Pt?9O8&+LfL?4P2;_Z+2h-H8MUz6 zsD&YM@a`Myys)QVK8E)PjXj^bD|sG2Pn}15>fMZ@WQXo;Z0KcJ?Z?N#c(FEiq~GAH zRaa$L!t?JNwBsDkzRN?I4~f?%7YNmV)tVK0{p~s(1wq!yPF8z#zVrlS`=#<}WW22F zZN%<$)GUVLX1vGkr{M6oSZYr3Hz!3*AvIVO6CY3Y3 z8=*;rKusINr(V5h1hCD5{^YzDv{cqDhH+Z9#>8=x{#7v1gho$QG(i_gaNVMbBkGQ7 zEBb&>iCfMVQB`cJ@z6xJl@>x2d<|xX2myk2#LY|iVRFB~iZcRLK-?hobXJ%9fwqwz zKIM`7NgcUy(>c~RqNp@st}dlaumFZsZ%+CQLEprz(J&ft+Waw?4tdsJN0gP==^)R# z!jI?P5^Y9H#5{5z_^X=POKcXJkpJfAj__$9bHYCWX^U-K#aY5jB zNK3ZW_eYh`Gs0R`pQ`(Q#*yiM1z}%6oKnm ztB#gD2nT5e&vxMrw{gFRoGHuPU4e7YC;OE*h{$pO0}$g3d9R%z57`-Vv>Jq&8ZvY* z(*%3q(Y-fJvp!)q=SyC(&P)c}RU1Y$Y+27Su7caKZiw?19wc_3<-vjPj^mj`QIvob zr02!i!Ui~r^Oxi58hsbz$!{7G$_%9)gUCgE2V^u5X5%VGIR+M1cM#M!xlb|MMbwYf z`I&NGWS!WrL#}+TBh|nl7V`z#-){IugdlX+5Me8s9$dBsMq2Uz&Tfq=deDi=>NM&(R&#=0`gmI;UY**QkBAZJ!{y6yDG=WhbI*SrI=8pzwK zh0MOd&h9a?l!DjKS*!l%omEseBnPjGcMnYjO_Et-!tcdSqg8Bkc=H+dM zpa{elu&sY+>(Q>B{D^}+>xq%(U-t{oQMg$;^MtKBf)Rp@FbU+8zpCR|Ft&l(o?p4=`Z;P3T|jaG?=jO$VAXDv~K`SEf8b@ zFI0j!_K!;Jc(Z2hel0<^eg$`Xu&u#p(gL*js8Tj4Fuw-g!nt3VAt!qG;i}pb_cbWE zF59{vr=Y02ns*Rl)622*gxF1swj}9Y*nVNhV`F-lr#4bL^9DLQQH${sZO_-R)Ix6P z(k;}JyQN}<88)vn_#E!*Wau_u$UfFro-`aLj5c-0*tDKRL@Wl7CwQKNb4RmGGB16X zwT@+kk;qV^+FIXSiv?QCgb~1h!15muwj2a*>QRD2xYwp5E4HlIazaP&&wuZJ zK!4t?Z@)ecKRNz^TQSIbIat+wWn6ng+CPqE{;#Juv*l^}-du`>3??0fWR6@Bb52*M zV6tQwl=Z}(=4K4ijj1gw6>q8JEE|(=S&lEjyOAaZG+}=z+7)Ycv9fDUB939}3GsMY z_sa+km`aeiqZt$jF6M#VXTPG)CiIytD$^CYzX;?p&n_J#bL}#OeHD%6{*!jANp3S2 zwFCeXOaFNt5|IgJS$-{?kTcFWm8^m8{kn#u7$*hy2x0k{*R8N#Q>{#`TH2o&1aYouY}Y<%zLiZvV1Ufgu!O@{zNG`^!UOr2riF*kv8q zZb$AKMsHw*sK>b<1b>(vh%oh!0-qNzi8Z~4O#UVfFm2yr6A**d^DXAbLN8I6BEtzZ$FO`3EQ-&BUJXmz(9AQP(^oN?qxP{+NzH+0_@?mNT%ZarYa zZsEu4y1mx1)vrMvmK#jEcTSPUJ#v4q&IfkV%|uM$K4JNnXe=Na-0H zl%dY9G$@;dS#iml?0Tzn|JG!~vL@So^IaTo1d@Rc%N``b*>` zQay&#YyY<_BcJk^Rf=6!_uMX|D!UW#8QcBJTqH{co}L`JudM5jcDuTCCx0*1-}G11 z*pQ?TQvh2yf-w!Gzv6$_%lu4d0vJcz``MeiY2dOe$-Ak;>AmU^6_@SWbin-%62g58 z!%B)Z9T`XO2)Go8uQgM-SvY6KO%2ra5sJUBtW^(UU{R`>^cPfQ(73noS^5~PF_0#p zLl?k;6;wI~aiSv39Vr@8?Y}y-UuxZ&Z{+jqY5x7?=7UmS%|8OctCLiiusxYsvYjy* zs%h^L-jCHTL{yD?@1;H34G+acO9VljI42;8Ht>VuHeu?=Yah9aCO~TD6!f+X<0%e| zdT$c?n@zZo`TZdIHe7x+(H=`)LaDF;OYvJytH^QUaAqh#*d%1gmuj9iK^$UMJ|k{Y zr~%@Ddv?TcaG_keMW~pm%w(UC+0g72C~14eT(gX{dPXFGP~K&}%N^YiN0WR9n$X@i zkVjeA9j~^~hHT^g+V8)yh1HE&oLx3vGa;@zWTB%u>M|E~9BL{a2@GdP$%VWh1p(?K zeQCfktDex&I)^K|!+0de+~?pc`va8C_N0B1{@ln#qt}e8RNw3o{nIap!K!4gKhB^k zIN@62$=!tEBja(lLJ}QmZOZP56^rsLJC-}bJHqUzXLpBV8;n z4glgJ<(Sl86VEt1U<~S5jcYjF)m3yq<*C~urUTcs8QEibUDlIcabw*0(zx{>Rg|G3 zAVQw*PZ5j8+n*}vH<=&ZRX(JAd1nj3K7Qap1xPec0{$ROl+da0dIbe0AcTLf{a4!u z&ZC34>sT!!MLp(2*u-8-F-bl_hr*9nq2};DgcHq5%%2GCwSa4{N~?)1t*J3PxMwyJ z8y|GMX1AyRM#*!;D233L>XOe*{>xs-&Q4NC8*#wN*aBgHHg}hEjdF>7PjVFYGy&}k zOpjSpju_eT#0vU5v>|u6ks39xq{yY5V^)!;#PT1^DvDEy*i;Yw`%RsKy0*A$d;3)} z+=13>qHO#O17(h$BCMD#O&qR1NsqO9t*6|EPkAshnN72y>q zr2So7cF|%5GhvI5LvEGNy>(t7{_q`9peV3yQ`|^2^XC_RqP$t|P^dp>A!+>2L-g5+ zOkgIyB?WTifk&~6D!hIKtSlW3Ie$4S+&Si<+_W>;3(3CBEmh=8mzV4m>mYnWWYsOz z4DWjFuxjeao=J|G$Mqba!zNg{{OLycO`v&`M&h2($H)24#L)_wUGI@ew9@zSO(Dr0 z)8aYt2-|+-8|k2T_rD!~*yAbG0wGRMzBLX}rHC3l4;ShKZ=i{!xtR{O5cG;de-BsV zzftegD@B>v7v{F^Et)1s`lW}tV;k&>0sVPg?nEz{DI{MledKNTmD$pCqw*%(jzJLZ zAhz}bm+>i4r2dgdGd(A(Df2lXTd`1)wyQPS!QUnvd#I$3z`GQ|4a{0*Io`biQJctX zf0&s-Mg+4z-Ric%=`rKKk)&-6&qZ@=HUVsw+!GBRiEDAiME*ua!>S*-yr;>TyXjK3 zS@dH+{8`!XT~qGZr!@)*mZT^y_y48gyGD)vljsUvb6g zeQL8fdAkTexELs!ZE+oZx>N|3G8_5~lTl_zLLCyBOw=7#2_Y{9KXIE|%C|OCJG|(i zl%iL21;t@b3W|}@lA4Hbc8UR90F=YjH4kyuBiw7j?4Tf5CUv+CN@)P@`gr83A`>U3 z#oatS8W2oZqdp;3DD1Mk6&)Fc3Q$LFX_4?BZSF<NZy0?ZMyC z))bIkDRG;D_DnRl#$7qYmks!y(Pc>E2N2l! zz6nl&Nhyc!H)k-IyNT|Dh&T#~`Kj{(GUfTqD!rJPcA&4~{stzf`~YAf`dGRPpHGDg zvl72%RjNvC^CfyH!M{)taDg9g^l`jqrz`n(JT~YwFUFy@PjisRQMkzB5V|}a?@rVZ zCgNGo^||`lvS$%}o$ia}iJ@VwiuMg3{i?wr8*n1PP8vnwp zx_%jFrh8f-RK;JAyQJ_-p3Dq!OIWBTVH39+`r244qUKerf|1qrv#eoi$%fATq1zCuYVDvuQQ3r5dHqWmEnrm6;F9iwyk+=gL|$h~iE=S$}<&x zJf2-5h;;6&;;5St<vj3vG1HrcPm3GBPd6F?l5b<7 zALZr2OG!!;B_m*2MknwMX#fJ&I^wx zhQ|`N^LTl9><(sdR=!6T93o`Hn@Qn$e|X-Xeeptlp`Mce73Iu|xaJl~GK7r;(*7q# zTH=@QT$?xv9sT_|%pYJb!NX}1JXqLwfK=bTRewl1W*WBS!&a64n0uyTMY&~DZLW}M zcnc|PQ1i*9XeZN4Y$s7qQCA58f|6`TOh}3hUDUYwP%@IhxI-n*KZjwV zf>S3Is7br~ct z%!8}%43#aJY9kWB5iEyV_c;cFoBA=FpfRA~eHLSwoQ>fPr7_@-U#;a-U!Q6WJ=qv0 zXJa@o8$&LKwC7^DC^v5V{^UPT9iG$VI)4)p(O)nBS<}08ISgX4r#+MZEM693ZNeY= z;F@0S;$=Zxk1Y$bh?mb?7Q|=!lm+o_-?AWUZ=Vr1VQ-(41wAJVnqMUg`~OH5!dDe4KA&_yDW?!Ckj4J93-+0I0If%p$^U5 z!cFainF2|}?}FJoA)t+_n2x?XZnkQ9Eb9d)se1D3%G$fgnXOMl<#99@TBP9KEYlJ< zRXmtg%#lGJ6%)EoF9_-OfO?-&=>FdY>6Qfa$o7j1RxF*j1cB$g;-dM>mi8=O=<%=# z@XC02Oq`ra;s4iQUN3Q-){7uvu@)>@@!|+4uUiW-h40l>ba)ZQZxcKTQ$)|_M zt?#1t^qZ}gN)DqbZ1%_wc9(_mbIbUVz^~R_jJPg#XXBvbjz?{QFh}Q}y1}U2@kon# znVc65C(Rp^o7JE7$!+S-Ta#PVAOA4?w7xO96-J6PtxXb?j}Oa0al(LE*z~W>m|}@o z(---C4z=l`xcTh3_QAOMl(-h=j~^^lj&Ct@fEc#kbDndlNP=E(hMY;-UZQ*+q$7gvyRX}=?#;|n?E1*Z;JX>NBx)ULjRYc;r6t%Jvmn* z35i_PD1k>kE9y=dN!y3J+HDwLSsy^;C_qH#ye}MImuzgt4C!*n42N;HIvU|7m-X0; z9I*e7kMw~M+HQ`I?B#3Z3^aAf+_-HycW0O#(NVLR^tWz6czcNX)nP+rS+Wj4hv$FB zM7rHw0ey1xiukCD`DhLd{ox3&+Erh-n%%8tCpMq=G=b=i9(EqXp33Nu*>UUH>Thlu zl_lNGucUu&fmB;>3m{rd-u_H#*Y`igV^md4?nBh3I;|O+Ot+>3b?aIz&vZXf)#Z01GSA!RBu=rCRCBXl{Cdg+m~DgYZPfLe-L$WHYEJ&>3q4j^bOY13v*^6NSN-(m9wzfR zAOE_#92qYu*W%WUsHB2Fw2&r2hm7zAfSy^8Txt2Q~nONOre= z7=pc(XHsj-v=60Y!=5j%IEWNSLuN()xZcv)@kC2~1f7s4C@K+?C{3l)rZG!jpi?8C ztfFI@tjhs!_1ofQ#Lb9trIfsc5uk5ucCW_iCvvxA6`!80@~dU)b+Bv0p~Ef2aX6lf zjbV*@biK^M4tCeuW>}~uS*#Wu5s+_N{HIxFi};ZG-r@&s0pZOuj9p1MVw*SxEB7Mx zEM)DK;rUyHl%#F(VpL>zUeR12e4v&xY$gl%W184H?4!@co{Qt}9rX6N_H>}A2_sdt z6h%arK$*tHF@6u*_dA*SS$0&m>a})QTheXQ{_bqrwN~j=hKpL~LA0@(&;>V2bXMaN z+Wj2N?8g1#{~0;e@&yZ)FIooCWKybC%T`>V^cCkWTCimKf)yflEXmzIvd5I9SQR{r z&ybO&h+&?dhTYP0vMQ1E&#^ZbKF8i%u)y#hp4=vN@!q}P$j`1mpzY+jhbHCD8ePhzpE4{{Mx3k4P< znm(77zoW-1zPxfqmhEJQZk7cD@&358Xw-xY_BguI8A{-ElfmL;CC%qlF`)fKz55 zJ`~Qym-<%*J55dsmgB?}r!v3AJx)Dp?T9CnF54F+6+=aZJcADTfjv6}&)#BY9erP^ z#!{6GgenPN2t5FO&Oxl2Cc7_h=;%-y-0CMhIJU9~vo_N{WKde0$X&<)TkIspgd(%f z=CfnSh8DNjV04`KW|?shHd)v=VWublREY_bMN9E114N1T|XFqzT$xF ziYcxLntlpL4R~_J9QHBDCDFjhK+ixBUNTRb1eE(5G%K;YYg|V>tyBfX2Xoe9hxcS; znp%l?QvZOufy*Dpa|lSUl;wwP8uYJ)aEmoMagFT8ASx9cXbn-3>v8(IRZ2&BNCb9Etsar8bui<6xxkE z#S`5srA0K|x!qiopgLsCqXMm1+w&8TbfGspJib@@~!`k-%A*e2*a{76V$niOJ5pLgZcg-e)d?mG}yDrO-olGQgne zt==pSarfBXcO86Q>u>}%v@^I?m>5GAo-*!x<;CdEFAnoEc3)m= zF>+>CR1(86W93ngsY8d*CjD0=HDO&1Kv7_}3tId@lCLK2e3^5oas?1`6LZJIP~_d> zu5>EfKgEz>lKbJ>u67x^SlBMjt%YRAQ)fKp1PugOF~174^OKhnnMd**3|bX|m41)t zkEe!^bvt7-4A612-4?1rp?qg6))*#h9hgzlw?XX%rr|qecsUMVK1r#*vyK69tsR1s zg1g)N8C9%PFhP7_Gt)g)U>_%|c){T12Iz-7Q&sN77zMdYPdu$7ot$`cCCF^*5WuY9EZ>Wv5wC(+b#KoSbNXbr%4O<7Ik`sHKx~E^a zU0u|b_JUBC9FN#nW<%+_`zGIAMXsT?pVD18qybv~hzUieFqZ_E0xdKkALHxD^_mR= z32l_OwbcRVO@!Rle8K&-_Hw6{#7LnHKTxV%M}J8)q?%`Rfna~RPKWX-piplE#~OLO z8u&VxwdpKr+M$st3oiJ3BHn2Ti^L|o_fivVnyizr6GGd~nbP1MSs!+%G4liQWJG!$ zzog8!jOCkzOil98Ny+v0d(d`Hz`pfe?#Zab(CTCBih%10B%tZy&BpZ@t98W3n33X> zQIXY&gvUpnrF=mL3X#>&+tD?|gNg3fbnqBVq}(3DNF3wdiCE&uq8YCloDy8!4=bK{ zD*c;d{gdTpgguv9V6&0y3!BFt!`;-$#>g5G4WP3dI>C3GW_3cacrvE+eC|wsF`Qz@ zTrwoUZo=s^dm{$;1zJc1VMrMiw9%%_ox^Gpqxu*&_z+;<5~^3_$KVaGsgNny7xyy@ zoqc@JU;!HG)7vpAQj3-2)97T-se?(CYjC5Q1L2m3N0}*ZIcoRUKrLiYKLx;(J1AhU+C{Py z2#Kh>0#;)DY9fzu(`;@;0-ovD{(rJ}9&mP5)&9@9JNx9`nM`ITQ&MON0TdwBnUifP*H3N#e$mHp6#C?fC z{jI&vEt6!xC;ETS5Bb2{bM`rB*R|JPeT~o7y8kjS zm6)u%?+qgTuUCwkQ2GvNff`2;xHh7Aj!~@P4lKqB?!=^raqA;Y2|*5@=5;)ldE4Vl z&(I|vj4om8yK)nT3;%xjQiXq)ye%w!8PC!_A!wToVd*)iO`AVnktmu@P|rz<{AO8xSyh`T>T~vY35Ou7r#L7(Ef~WN;8l+r#afZELv_umo7qsrOuArL-k8 zaBBuhvnLy?5C5NX?}VDbkNBD0I& zGpT!s&I%A}buc|!pP$1keQevu*;Q9ENBfhuCT!TJR|ZrX_%05zKPJ68R(kd}9(t8w z{Pr#}PrQ$NKd+MxXCK3l;1F98+VC&pP-KBRvPY_k-SPvuQYw{Uy}N?bsfOO#=DuYm z(O?wF2p@#uV0*9wqUGEWUO$G^uWr!0pH0U3ycpV5xmf<4d@-?hm_O^{86`u!Ahty4 zn29aT4)3owvE#FSn%MDd-_{$}UX_VmsU(xg%$qwuYWiO=w|l|d?tiekUADQ*Dy1r? zH8Mx(5}rSKW`&$G$R;nlIm#w4gQ$o$&|}B?*4=h8QHDGISHLM|?2 zX+?n59;cW8V~|8pP5OvCISk>xqRW4SODui3C34uE;X@nwH^J%Vo)ltI5ml4VNJxvZ zIRe!2NNr`;zwwqZndS%}i}<1LF4Uwo3W@bqVzt#9i}!Kz#LDq6@N=z}G?u~D_fbOn zw{~R1?sXD*b!uKtu)|ijFXvR_Mz)B=3blDD$eTn-agq3{Aa!K_i_4>#?YBOp$QGfv zKlE9>!bWuZlNbbPVr1VUNrA0}Y8;)QKqkaA*YcmlJ(fac>Y<4Sbgd0I5$U=aw#X#O zzHW87K|Ts@2LwEls3^Hqf6@?-jW6tOl5yS4qVBrPnDQN*mu}FNdpk9sKfCmQz;PMF zEy#;G9F%APvx9OEi%8C`sNahx*j%gI=-gMuCE&g?E&;cT`^6=oC}^-3%(^7dVi(W2Xx4&xGb)Z? z-qFD}Q|fW9=PiW_oNLN*dxGup647qlRGo+Mv+Sd?`Jx`oS~NpuhFq5Pdt6srD^kEb zX)k7VgqxXzAlTVeC7WJFPB{m&L^tSP*#-X;w%yr&jLtMK7$nGI07L+^2yVD3AuPMj z5EeIkBCJ?gMpzW|M_3e9Bdl0ZLO!ab5@B&)jj$-_kFY4JMpzW|Ls*nlBPASbCunVR2uHu%5n*vzLRef^ zBPRec-t-JKLvgbAe{i!PVR*Sv3 z&yPCb4@{1$cUzj$VffHDO@?eg&NnUg$%$A!Bj3LetuTGbMpf~v`F14yOC@Y>c3;mC z#oZl=+;@U`7~dLJlvKD)lr;Jgvx`V~gEMh_=I-We1jvW_T6TE7H zB)i0kbehaEGdirFh(z2iX%99lwM=;9DSiUWJ;^s7scc7PJV}s<_!Y8afUe6Aam#Xt zseOm9IHs9m34m072B-PkO? zbMkH0Y){Bc;;@#sSPyMx8JXMRljVeMz~rH&36K;gx+rj;b9^nzJi-Xbc4j?qjDSI8 zo=}5Z!e7`Rvcc4$o93;M?>?D>aqNMZ9;es1`s69Cnm%?9D@v(tf$p|0_G^;-g+eM%*tA1AW&W?ZCQ3jg)rbth8<%2`qTKYRX+i!QR5 zbD-Jc+zV!190pNs+-dj$7Ba&RV2e2ych9Z3#T%9nVIg@mV`g#AT-5^>zYqa}UX2ec z%tDdj1VTA9SRLc8+M4vjxzKTuEA8j>hVyOYhnbK{^U?};I!1=a?);hO&6;^ZXbkh$ zk~}BKdK)%Ix^N>QdY}g^)(>GujYh!4FKTpa(ksz>>NI{7N=3grBL%fC(qdCE3TgKK z(}aMHUUOv!xwVrcWf?r?VyJS2e$;9WC<@-yu>r!e1lnwURV<7w>rV(_w28K)7|p!Q z6hS=LK)Gr8?))XXabvNqB1~<*H{VT={?tt~{}qw5AIx4JiZ4+3F8@O$zls$ua)_7b zgeQ8N5a45Ca3pFgnlIU9?~C(xHI^54ltUei^$Ct#6S~qVXj!4G{6Uc(yEA+HJu;1e z)KL@{EFy{GVs??4OqLu?Bwh-(Jc(JeB@>Y~L&hZONA0g=2C-1;a>E7`MY7PAhV6+_2C8{rNw zlIBp^c8Sh`XhFn#iCkOi$uz>WFssVzcKAYn*sb=G*E^LJ$}=VQ@FCyuN}pWag$LZ( zA`)+_{`MlOy+hLX7L#aa>pEQeE=8hw|e-`a_U9czJ>4%=7Qjy!_T1dMz zivf(*MS#t`HABcNzgkXA_C;GtL@9e4MY;O{iU0=OiY=wV!5s_pU6wxMF!xn^bi1z$ zJ}}JRhZb(O>;kk|q!vEk9^P@cEo_sj;4t^S_)+5Sz7#?a5xS+j0YENMV94^+ucKMx ze=OUVGz?*kHQ3tZ590RJB)LQHcw#8ic4KecR69-1Pf0E0y%F;nMD#jBPjY=ec15n04q$5CtxJK&SG1{WiSsm!bWd1p zvf0~;#p0&Tp3s7|Z=mc|aedLEXf#-CE(dCtTKWoV{SD5RUVdkZAlbV{!bJp(u`qsk zwe{JN+ZUs(^rxiGWCrfMG(X&eA4cV)x*q|0dG{VZ)HN{3Kl9Q>uvzIwHXtg zBpHefHZmh-`;p6tFtJoS?^LiRaY`rpkwMy@n}gD7gtO zL=9JD_mk{p#qlP|O9hw@!`usj9x;NTS5rYUK zB`M}o(Bav{9*N;M|41LhKMPj4HEkezC;u2;1D|65-C*~9+$e_!#dg05yQ0}<_H>8C z3`WW`ZLR&r(d8|1HLlg{3Bm({10PAHc^&7=_ z1R72yV@C;o3Z!A#T^JemNbta*jGU5nZowECH;?lEYU}0q76Cu%W20}Kpp&BYG=Oti zk-I7K|20ERn`F?O>GC**7#Ju+cCYqEJQ=B$VXXFrh{Et*&d}Xdo*XXwEbBiesS9T-y+-Qxf0p;-bQ74}re77hxjVovM2tKm1aT>Jg|L3q_J<+8wAqZ{K*ukx z$ugH@$usE?I$nalTmNoCra~URZF6O+%3yw4FEc_)Zkd;;sGbt-&yAEO?gmUI@w~)X zP8LDD{tM2xP|=i~-scIxhB!f{l>QU>ru+QZ&~EmM9}AootzA3P4Z#r7-Y=i#F6d&B z@h(m97Ng;Z!s}SEc?xNvJ_F*%;XaIdnosS~8n+cc ziTw~$Hn_u>VfR+;i>2)F{Y?sUCyg6EdNp?Pd~4nnt_kPWnl8pb9eH<-K5@r&Pn$OF zY}efN_Gwf4{hKz;T78LV!!1*c9N~k)rq4`UkM!eiiB7XWIFf)NZFQEIY<^K+Jqen!e<8{w#**0n zfsXp5e^R2nLsAiK%e5 z5k9GP(>Wd8Awtw4hBG}qbek;0b?RVOmMZy6JF~|&m8*E6!n^r-&a!Wd~okXhLKjn}glGq8B2p2Le(T+(F z)#8npY{<8FjWJaG#Ht->UpM=b*LS6jI@xg+r%3br7p`o+m8qS3;w0OA|B_o7jg$@m ziEb5rA&YXN2#>n2Q-%sdB-$a(0bdXZAtrp(fpirQ3`7f%KN6#3@Vga+tDOeb8JDt5C_&6fd;brcA6Em zyQvnO)R*?jp{uf+RPUw}U^vjks|6=o@q-!H??QiHZ2j#D{oQW|)9>m!=y#40VN5SPuq1&(IPF-J$vJCPOw2;GD}T z3F&{E&gXKoA^s49Q#u1Bd52gynM)$BbMB4jrGGJkzY(rY2Vo=O!}VL2zCV`dg;xsD z)?t=IEZotzGbyMe_#3`DE53y1#9c*@4?Vjlntf+!vPZeXR)pHJo#M;0dk8119JeAC zM&vgepM2Uq@l^P)dB_(8kIw{3MQ&~4OOnUQWaTcweq4A)nR^=N^OkTJlbn!?2<_Da zv6faNpnk8v+AYb0L|_9a#{B^YWTJG5)ywkr+FiWa>WYdspxEiq2Z_7HfQo}d+&h_U z@SE!;dQV$B2Y?O~%}+QI4iWC+yrakyzBYTL4RUbhBLdBC6#ggf`Ru$nq-&XzWU+5} zE5DK+xS6OETpK%}56>Gv%0SuzEFbVMRJ{S4`!-849`X%tGZ#7zx#Vg&zCy#|@R#85 zcMuM{FYyNvRfoUlhd3NzH;h|PJ$=%Z@EZu;v7(>sAROIw8=p6Oe=?dUf@J$6&7CfB zQp6;%fmn;Bm720TS1X1-%F|E{$O^XawIK0bA-o%ixc;lR-7EP(d=fFuTmf58ZwXAom5Y&k~juT&4iAo52C$n2#VirJvg6Idy_Xt z_Vs&#XNki$RqJsl&Qbk7=h$BqEp@X=T^s3vNkIiG0{}sU7D$?DJoq!KTV!#a`LX$v z!t4tWq5wBs2Ccki8psnstcAxMNfjhrEmyI2@>Q_|aBSsQMFbW%#`VwGp!?!|*46vV zElpHj9r@Lo?M6>m!Htg*5_1Z8uBmpg(+-m_?KGu)Jo~oo7~%Tq5^Z{2@U1$ zvu#mEl2Z-4y(^b&2xHS`xduQv9Wv)c$nZLFK1*4JSMs(iZA@a%+TOfUx@YnLU|s8aAOpLZ#F2@t1-X%WGeT8pYrL^3Q~8wXKZ`& zd|zJ{j$R8cB>b~@%4*ZF2b*eySO+mhZ+1&Je>!FQQ+Ja`q>02>VxMuyQm6QF2t+2> zUralq@O{u1V;>)+kKo*2kcBrPiL}uI8gGcvRhkT;XzhNy^_cgYMe!-6CD*@P1u)1D zQV2BI%4C3fgYE_8nPB=x!Gj7;f@=*3c8wj)i1Et#2UdhN*Rc|J5(ro5b(FP|)owf= z<&)G(SrQ~R&Xg@W=(2NVEj!fv2Y?&(GYWb1rotPHu6on^e^Dqa;gmH7zg(~<G@w_2Hd^EeQE!KnTu8}`V7Th)OO;B<=2Ks^ZZ3b} zzCNgT;cCJ})N}fIl2HV@)ZL^oVp;%d(@s3XdWdJV{TjJi6iY7RjrX_)tsb`7aJrQf z^O0T)k!GC^`HnR6)9BgzEh(bXI2jP&=N#|{!a+-%W9_(a=aW|IDKeNnD(Wg40KRvz z4#ttTgSY3Ih@cs0a35Km-_%1(y@)~R=xMe?B`@1shv=((^Y`{hOQ9fW21{kKe~qvz zO|u6c_aF@I&w(Je_eKHMk zw-MEe`>lyKR68wQ%UJU6_lr6dvcSEAJG6n>COhXVag)7_V#5QHNuYW_+AbkwJg~Lr z@cdxEPMB_{J2@qG$$`ftbpEDF+)FL8UjePsd{!X{DyiCai% zIffkSMP!^bAWuqp_UcOh8jFC)?8+GM8mUU`bQUihX8p0aqds6fT#3yg#n85Vw^3F1 z{MW4NgeuO{<)4pJx-mfGq*}JTpHA z83pagi$+CU&5tJ?wM?P^E!o~Trm_HI6u`|gAr&oL1UouZH+dT(NWS~Ya>a5H#M8d} zGPDfld*PKv!;v3ao;w5)1ibw>c~}dgE+L_e;&E=bqqep-h7>4FP4ZXBYPxg71I3|B!(<;N)kW9?5Bx3?A%t(I@LwKd>R$n`L z&!z-SmWm7|e+dlxwMcBGKNQ5KGjGhwr1SwU7Qt`lJa&9=yM^4U8!!~%pL=^_2z&T( zY|h-Eh0o?q@W03<*gS_ai@yJv9>FC?C+uTh@B*%KbkdBxkbt%9EhY;pQXW)V`~4I7 z4Gi+*C0qS=q}*CDfd{?qZjwi8lRt`tpv|J?j*`j^nOCRzV}9Zwp{&<|$o`3qlY^g0 zL}UAKiu$L@aS@zHgR$as$B%zgzKaUC^A{Yhf_df(4p$3jVxlV#Q84d6#Nq1su}%K( zS|ksGp)KSZz7sL~y6k@97JE&65$|}Es$h4EQV=C-ZfT#1u?y*pe-DDS$CvM*Vt+n5Cb2QUYr<+v zg1Z?MhIoir{A5uvb8RtX>$%C6dyR8~uLue{OxsN6HCCKQ2;4x@gQ%gpLM#ECKdek0 z!cVbU$%B^ZV)ZTr2kxRixhpxWS)>Adcw3kx88Z0EaQ>?D$)-Du*O3%PYV||)Fbz2& zx?tpM&@Gx2KulDtANLlXW_-G z1yKrNw0ttcx-;mJ*qtct@CP4E-Cwq;m)sSO&L4zDjUV*}KjvD(4bIm@TKZH3jXWNW zMy6#m?{s(h{oly5g(aDv3{B8*^I9+o&=vKy`H``Jc;>;!V{0FvZt3&1Qj*jo7J;Q4Er$7yDJH=% zxH;R}k&y9lUK%>dAAT9L6XZ(bZUdiuG+#9=#7sOxzkrf14`= z&9ocik!|qDT+ST=@zm{Hfdd-Woy`7lXP!7V<%`5YpUe zPa2D!$#-vvyUHL>jIZsggNXgXt}-{UKjcV{iMsdCbXEpAhh0t!A=QB*Gh<@8Am1hx z69yITYPT7~M)wyRSff;&*+!pk23`sHU@0Os3A-CG8ZV|>Aj^^^h>A;ZO0>BiVFYu+ z)N7U9e?I{nm4MM`+*{HKN#|M82wZPtZp4X0=vd z1SvgYl_nFA$GSy5ZSdkeK)r85LEmt&C(f-*_1GL?^DiNgCta)v?jl9IHjvCbm{uV! zw@k+Sk67yLfFOZpwv^R6#@DkfB3`F$h#yKv+bM-XvU5z##ld{lugP8u@e2JUWvka- z3mOx&B-R$114l00I7pkUn{8!&FAR-9sU&N~EGA*l*a_JzyWg#lHL?5MzTeY)JiQ_j zdipk&%V7kH%S`{9iCl`5h7gMA@7hp3BEOpI+b*MvCq~pVCt`QW^NEV{68bwy7-a-9 z)v>Gn{tH6^7Ca6904a+X8Wzze4My6x8?HY{hI3d&bol)~%1eu+?ol=SOFHUCY{G{0 zJk9&W0 zff`3}UC@bmbOM6>N#!qtd311iM#%fAUiB_ZW*PQ9=I(^Lo{~AVzT0t(@W>;a>DvM32gEeJ? z3@OP?+%-mHyF~a5QLl`5#$XhW(AvN5;vH$RDC$#4mV#UEzPr@&pdZJU zAxBx%IM7BAVdX#t08IR-wH}{_hRwe5C~0we3P^Yzhyj= zxHy;J{A<*CO-M3pj7QFFnHmHcQ!E1Qhd6qouAx_PIRW*@9cxMp!B(ugUuI04n4g^W zdXwHO^;%Dx27KDQ&k=`jE#}!?=HuC){%ti6G@`I|r6g43ZT)Ea*4Xr|ub93td%q^l zJ>a~bj{YkKoX4gC=c0MQc^qh#W!$^(@enL`pr<}*g2rT!IgAR;m@eHF?)C?S?21!O zzot~x`sY$PvgA^=nNtkyTq<}UxZv48af?E8&vUhVbZuWf5mLBH!O$btfu2iFhZrw{ z!$jJ8pnzdIsFS1Y_i~#T*O5-$vSrJFYdi4D|4)6oZd_A*zo#kByuW>5<8qVq>NI ziN?6XT+z}fSp!a)&Xx@OaSMHMln>MI39+zKHz9!toSklt^U0YQctZuuQ!YP{I>Sb4 zLMMkZ2oW=2@*8xoS6QU(& z%O1!r>lU+QY-?s84s&64VvAJc7$~^K@;@)M!Rgf*1AK6{Qpi28%7oCagl0+{MZqTE~pNcXKmavkX zsP?*ar@f?m5p8uy#m=B~Vi>0-+rac^wq7E5l7hSzkOv)ymL7ZmMrP2?igah?XGNX=4l$^SKBxL|9DiBWrQKJFQ zm}ZO?VFzXEN^qyv683OPy&BLbu($|ThU9BzpMBP@7AD_qrN0gC(_Yr4?)v3)Mhky8 zi^hc(=LLyPm=Y63W}9J8iH(ex{uYT1OZfZ2Nh^Z%F+>*w_%?VyQr1lVoJGFS%Ia_e zyul~aZKG{k)@O1Bb`>9f*0Wj<-wYz;ZK>@9GCldAAi{LMW~MFjD5PLqougWU6(l*xPgspM4Mp1=#6- zf&usONagJAcWyhy4z`G5 z11Rl7c;X2&FPwAnoS7jU^8XgAqrJr!%fjQB3cqxNUXjo|=(_jFu!;p%2=|y}SY@hW zcrmV|9akhDl#R`=0j1?~=nvcQ@ zse+|3lK~-WqYV=u#^63g1S*I5snF5$Zpo5G-&KchrX)-O%FMUTnom2FR0neo6~x%6 z+>~OY+I1Eim76_dqsGE=7%>X^$3~^7IyP!7sO)rAY*e0C$3~@~e{58Ws$-*4(9gz+ zlIqx~6ja4V<-RI5D)-f@dJ3vyqjFyv8ieViS2Su)55lkhW-rVPFYwJxoK@C79$XWxfz;%7se)W4X+{|H&QM5d ztie{fB9LZ&EAXQ8K-Mz<7rm`v~e>gXAl}?anll*}TeCy>r zB#nnceyAMT#sWVY|F6qfyH3KIBG@h!J8} z@~Wrec73;KLNy~kD{35&3)~`SZTM>`1(}jZR@klHs@Y&#g{MUYDnX-}*JtJd>!Iru zvrM6J(7Q6VCC{+;*<{p*BA&^;(v9d?V_q15d*sgj=+N2F={ML7IX>){itTrjW$Kga zIoz*SDSW;?WE}Q8+2`#SW@wFaI_dL=<2yMw-&K^$1-vrkA&5*4GHEpH@V)8;c&iwHwIw)n2O9!>uX^OYx|xsFb&52P z6T6c+SOog7=(DCBmcAN)o({uxx!L|irY3iSa#Yn@%#h@OH z3)5l`Hhp5pPX`GlR~TbX8goraU0Zv*Z&=01>mfLic1M*P-snyn>As~sgn3&4@UG608SlHU4)^jSh1bd#fp{c z+SihG08-FgpsfbCB&^gDNC3>|cBaI#VE}RxQ{!n~0@ntmL)0uGkbZn{FkaJ!F}ye3 z>cU!~ost3wC`Km;$>u>M31UOSp-}4wskId$O9vTmMJt40>przA^c3&M6`^_^z%AQ( zXSGgV_nnnp?qfNf#3xe!H^Q`!La1kFV+x3iU_(kPFjCdLjd!ntHu&@>5fx4+djKDx zeKq@)7QwY8R>qv@NIzPi87 zn5E~#D{{N!^&3`cGa^Oy6=__Fm^6H=p8wiJNzEe}&6ScN@pK=ffgV8;wu;f%X8ahp z!KR_S8Lvt@dS#XNl!gmc9a_##fb~-Xib^MyE;Mga7=$=clbDdED!SH9X;Je*gh+fReM1ulx9+3iwQnqw0%Y$UnqKNh z>4N^4ao2z0cDc8i#elQH{oad4b9WQ?3INUI=NUSV-hXtx#}*luE4yO+U;s@+{<6U>!PU}o3J0Vu z7tjUrH}&b)7}{5C*X7X`WJlU3BO>?!Pf3TI?Yg3Ms2YdZu6sZDDxm2P&;>S$$l!pq zV&r2Ky6y&pc$~Y_oxS*AqcR0?ZZoW%jAjzukC$zu!L=e)o8y*4#pLcOW3j#Uz_8fo zgvG*y$>>fKmw7{H_Ea}oG|0ZRqg@&rGDdfqiF zU|~hh`3MS-f_r3HIIuPO^RWoile;ut_tj-YVWvZTf*~5=RNQTp7u*jhzgO#h39nOn zht>1VSWoIcw|r5Qo*cV3#1m@@4>o%Cw6sn zH8`?DJ6R#dCqE653uT_P#E-&@iVq#%&WS;2I350we|HXvzzH;G6onrv;6%f>0Wp5+ zeg!%i>DH|ROETx;f}3gZ|NkbW6W?EHCmT7+jY^X0#T2$sY2i@3W|a})W^7~|(uxUA ztlu{V9`I;E%x$^0Y)T%;$0^wnr-X;LA9U<#4!%qIDEEOJP{UNC<*z!@Z96``lFbmn z#9h~K%8bPdVvJyJ{0~K4%-Sykto)4dEdf?c>#XQ`>jbzEKcx4OKYV#(8qHw1o7i~~ zbe<^0dHQVy=yawJVjIf0#w49)q(Yn}kP_t_9e$B-lAB2T zd_?b~J}E(qtY7(OUE#q2se2N<+vKiW!4_MrNQy|W!YuLZw>)chYj_r?ONi@N6ry|v z?x*lp)t~7Ib(7bJn^P=%oa=gu#F^CFnt-GoEV_Z14 z&<(Hm$xGW(VxDUjc2h~74VnJ7A6+TKU#U3Jof>LG z6-YfHWh`~!rsalil6w>a$y@!woqp6AD$jfpLb?fS6uOSp&JPdZG`Rwt0_CnlYy?x{ z#$-WmO~e5=Jw?3pwUCjtS%am;+kDNd%-({Z`b$d8v!p#0!k%Ch@+MBw#NEu7NRh&% zd`)Pb$u;i!RHK{nT_(G7-(MQ|Vy5Eev^{?mI_aHhV1d88)L7u(3}QP6ZsC75lQ1$v zHE)ASuqClo2urb7hQX&Zn908jpYX1w0LF-HlMyyd=kMxt0~BEeHhpe1p(*P3pa}zE zwkX?5q6sCWX)r5(-yjFWFEF~lmh!W92B7@bN01AYpU{E(zEEN6-sg5e2ZsA%dz%3a869Uz;}`BJ(B3heXuhu&yRPG|6;TDI0G% zNu#X}{zRPqkqYupWybY=X@$|82ue$>fgnFRq=X?6$9U|!f~T7WC}U*7JMqBIOhYln zFlX&tpS+?SEEDB!BDt)ehADTb+Xk5dJlpVZn=hQR(~hqJDkT?ph}MRJ z3NqsmOhN_@a8qF%!n-9q3w>8@970Jy;}A-!jYC2OFC@;@JXBeWP*7zY!hNN22)F%= zLnx^-4&lDqI7Ba08i#OSX&hp=CF2mg%ZwSgsWcAZw%Ry^f-2(>?yHPLxUV!0;dXI9 z;}D7}jYGKI(>R2}l5q&v6~-an$uyZc(chROylK*fFu%h;t=@|ue2Er z6ikvh2Lz5>BKnVM-ng9(ALDL^VxZ5^RwdPdD|FkL43{AFxES*Tr}!G_IVVPGmPr<5 zM*knkoo)SgFXwpW3Z)|?hnqWwt45-l zVl97q4<~!GA9Fl6I8xK~LuG5e+QL96_P)HP>(UcbG^Az`k+^s5eI%_4a%)mK%d@8W z3S)}H6DKorJf&DqBmH73aU?&UT4@$SOA9{{=R>R{#!6$mnrjXDB>K7?*#Pv4sTqt; z>F@CuZG?heBA3oL4iJ|a1FW1JD{>-oa?(*$m<`E?1WB@KASJXG6jquDq3da8`9~8# zFPMBJ2ywqSs4NMXXwqoRBuKT8Ne4=0`>E{j(CPf4&)(%f53)WZ4?uDE@l{BfB|rNY z7KP{*h>Zip1=ehOCl(G3CLEC_L;!sUFFz2>a%+OHAb)?9vmzu2x;mNI8cgj*A40gx zm9UY)LdD%KbpNPC9s0prU>q{d#P@b3SKrcB8P8D^c-0Kp%c5h;^U3k z3SAOcHyq8)6pV+s?IfIpx`c)u4-63EN)~G)xAfTvNzSj z!{VEjl2Q4jgdJxix)e*Tbo6>A_4FeMPf`C4X)~B}_b)HDa>D2&F|6CEBi2Ih4|NYN zmzwh52X~>r)hV!+Q77)#L%Ps#gW4DAQ22t>UFf3SEwao&VoAi?+Qj69H&asMerCC! zjNO;$i2MPJtZ0*2NVoIhI`wuW7moy`Zerb64a~$fc07F8Cn%jHWsp3}WVWaB!B4^m zFQ#lLJUa1m068UALQUW1N3{7NienlQtl^(^7)klal5S<{CvG)hCig>XArkKaZT=-) z{*@T6@Bk|Y&LZ-MWD5T}$d1NWQPM5Yroy*9U-k+%XG1m6bW?xg;@$7F$` zrJTv|uaU&}`isb*B%0zGjPnSzZ?-c+zz0USy;ZVx>gw09b& z`FdoOlhT+(YU#u*fPO&f6BmW(wRov5Y=!GT~0S#vlyRbcNWp z$;&!=6=jzVB2r6@h%l4tyFnCGZP<5ce|_PVyr8K|mIO}{T%g#BD4Mi956kjJUu+OK z2c05@7MO);j@@@j(qsm62gUJjn#*e~^puBy&%vM6#T%(3^j{r0ysKgeOl=!zAf)|l zG2r5hrXG&kEtlfyC~U(baK40*K}IMxe1lu09aq!VE*f?VQQosRC6f+wAjxwOn@yrs z+#m^Zb#xgob?k~txPXt;v!*V6?M4ffT7@W}0!2dGNnn3E{eJP7I8?uoJ}0-)E@eSlA15%!6PR$AwKVxc4s*6;W2S8XNIW^lS!QUJYHn} zaJ9<}>PPE9jB+OIRMf#|lqaDyUA{qkrM0cdES&-27pIe?yX7!I1J6>Xs;rnLP0C}| zbtY>*+pILI^sHfnNHpaBOvY3jHtU!+VlzT0xVt`T|Y9hZXqJMIE*RpQ}cY8xM&K@g5~mXlfdvRmUP{>`l6u z2|dUegB5}(=(wE;!Pk-RNWUGyZ4sG;+AFp&K&a?{U<+^>`R4YvX^+&dDQ((>klwN- z&7~hMZCSlh+Oj^m$gs5QE-9DqJT&(EY3Y<>a%_(Cg1OM=F*mEbUwL-K5Nd1RD5(E{ zj^j~=WI3XTx?eBtF?spV(spfbcO?Ul2r^Lmahq1|()I8fC_BYk5Q+;@+%wM6ujgm7 zrkY(P?}&Jf{teFo!J)C3GUakec8r^j0l!23SyJi1e<2 z$y-$MVKi%Ka}PqS+4VZi0qD=Sm}00PJ3$G2l(?&n3(^5?XY$h=8;~K?gl{(!8BRHO z1kuRQskUp1PgIl89Mg2Fqw&Rmlt#G(7$N)Slm-oYDsU3KMq*ogIEE~oqW_$Qs zn7B!X2^tj-AOw*d=??1cf*dHMZwa;VS+9U(;6U0X_xi>2mpm1(Ta9NkGo09af ztA+1_&w(lCOz?Jyrd5$NGmdD_kucc9y0g)VS%@R)h7D4Ow3c*%48GV~_xe$<@)OUr zfEkNBf^Z9|Utk^UNFH&R1aYxzK*DKlAwU?86Y5^4KTJPCSi*a{Ia&ELC)yE4s0=-a zoYY@F*U!nshkG%E=D3%0h%Zqp8Z8lxW*5^z8VFI-?NR39U!rRHLM~g$EW7E9g~%v% ze|q{Ri?2wK6#7baV8Gzu<(B4-NbKd<3;Emx`Cs@pcfAV8({hF+Kj6U)zEQ>!Hvdt= zqg6mo!#?=-D!5=GJa$0qXYdAgr-dMesjqbgPlHs+wKQ9mG!n>ed63epZb>JuN zssN@elupe4^vVGf{p)V^bvh=Dxf4m`eh#-CK+!crRHyF0sH4tZVKg;vZ0`T6&VW|} z0uFee7+)O3tpo~q8fEurcMaG>*V_aYx{<|gVWS@{jl9l6f+fWRVLfBzSsrsS31tZ> zqQty<*y|5=&wz{y>8e)4;6tbQgD=-R@ze8#6?-r?)5A^g>Nb+cedDBo^N4a9Y%Zu zw)Q500fy9A9yhZc9qk<=aM@_1lC)ndN52DM8(8}C+V}Ni>Di^J+YaO$MXhZJ7e}RM zi-!@SZ#Aoh69l1dW&~;No(V5+kWg#i9UykEm;(iJRRzA8*Yf3{mP=Ntz z6PfO=1d1iUm5-juGN{gU zBLcQbvH4M)7}ycS(K^KX)Xmg=g_9|9SEM9MW@p}y51cPN?h_HX`H-QtCJl1ELi!&X z-eq#lvzQ=?@cosX#7XW`z>jykm*!pseinOtGdrlGw?gtaWe_blYX#BE*vMeV{L?u(Y6nBp{la3F+I5#~)GvPL=8;1x;t{d7P2^V}W7{^Edb zHU$tVm|t``^OBuV7qEqm@-$+{<`4u9JkgP>8Ajsn5No84?9@<8$Fs-|0(ifSStQHh zFt?HTr6UPtYKFn?-AtztTgU-@OK1nSVXE|+NH&_QcBGG8J z7l`jB_v1kv*^D5_1j_cOpUDszqxqBdNj-9xhv15NY~tJvwvVAkUuwP2#ED-u>Xcpd zpr?d8&Jn;llwX)1-vT!Wk~6OzZw-kG4m?{DPDK1N z^b9B7TCt=mIELA2%5MrMAqf0PH(pcM6IqI^1MBf*wLQr3>OR1-ByOv?-f%Qk@#3sr zK0rA!`O$QY1~a{>r0+0}+_ru?St7>cc^!UyYlVCwFj?;1Ly+m}x+Pt++Rhgkjc~z1 zVz~hy*1oUW?tbKJY_~)EzXmNUFFsn6Akk8?1@}kh;t;{!cq4Cr%{~%_5W>2C8<^p9 zu*r34FAyf!QP^s&#>hLNsFolAa7bO@RF0(H!`Zhj>1wRTY?&r&c{^A@@?UrJ@dWF4 zBePBY+=mcv+5Jepa$+3XY<2&)hCkJoyB@rG#CG4VGZRxYC|8O{rIS`$Q=?K&lcVK$ z)9ik{)Xqn@g%?K9UjRTs+GJ-Qp-jgy&hrV;21Frb)2D;ny_;e!qTv#2`ECaYp0o`P za_A;n>@g;H|0(`umvcAKq?n`7=7s)r@~abmQm6Uv$uq4F&}hejZMBsMR}-hbZzFKq zBtdlZG#Q{1^<0vF_roEYd-vVNT|nU>=?2UqIW#_o%^{(JQ+K~X*e8Z{)3a9hn+su) zVb9QO^VV)IuMVV4;(lDIrWlB(q4w(#m5v7H8ox~~Ys2}&64kjvew$X|r{Z!s^h94| z3J1^D6A+-Fi3$fSu?4e}Hc-m$#V%n)G*{Sen|6PZ?u2jD7J0;xVsMOJyBUcg2;Ev> z`Z;-mYJh2Oc7I&OF*VeJ-}CBwR&*ODybB})bI`?R2XDG3=0OKg$6ri5$W$Rk2dAMz zIj22J+76TEug+agJayhfEa6?FajkPTZ%WJ&RbUAWuk9SuvkwJ5YLRYT)wLD8biCL@ z8E^2(noGMf=XG~2bO({X68D5L5v@?b1t{hG)(WGO^?JTnqmw=mjs^a&K^jIVZe)vW z3z=X_CdChj`PV?L7JvQ}>zoefB>iZANh=>b6c27UY{wqNE4_~TsBN0~@l=Jhr=sJO zGW|Um;jj&)OO&5qi=6Z2#?q2rso%{+bq8A{u7P~dfmqzO3RP>B70fPm`XZf}a!deO z11Xz?RLR~fu9v1A$H7q0A!VOjRW_JeKtYJ~ZNbTeAEG&oa!@L)pc2sPI8l7dwq5k* zQ&dSUKcSX=Si|(u5v*bCtSni>l;+q*$6QmVs!0%WaH@Zi4#SCcl*Ey zvvkwx{oMihcoTzalr^7ODGi_b&N0<2;1^V^=?huLCCS2uBUttG)g{oN2!0U*vG;g= zQKkz%ht_{$C7bR023!V$8~JBe36<2jC-B5eIC>>F+Raoa4hJTkAvE_(w4m>i(GSeS zN@&rbxSd4f{Y`g>O~w3ll`G@0iHl) z!My4`USb_hf;>uf?A6A~pehFDSNz7fWlO)>G!VEN-7o1$!ClD|_cOB+$jxRJ8&37( z-s&4B`>}7KWVHd5Y!Xmw(XqE?2(9zv`@#kpKtp8-59lP(YFCDx8qfc8@b9U5TFz`tWpj~A;xAtC%7Z9y;#@ajv zkwlahsigAQ-30MaVYYDR>mrB}48*kltOi(wRK6|3XctHVytiRrAti7?!4Z#oi}-q|*s3!?lbnNi zidyn@a!TSI3~+}?0~IC;2PMC^0yl99U_fuOUZ0c>0kaH z&9wJ#=6!#cX1+a0?cA8l#^WJx%04AW2#W5JPsz*e?2tFsKrza%;k zTR-i>sya#Lzg#XTH5i2d6DJ+b;u~guDF0LmM*luODKB`S6md3STl9B0dBFqa`N|}U zi`4vC7taXOyl;0Dg`LGEC%iUqX||Vbak6NmtWzmgDc9ApN-4mHM-hQT9Wxf3tH7ib zhtSO9XDo^;pP(Kuv+&ooYOsP=F*v^*NRG=99}E+o&d_h-6>RD5m1#X z=+c7otY&WH;cJBZ}1h31$J^L=c(Mj8lx+V-e@+{3;M!L zh8i(b)nk!t?iWtZxnhd&A}-8Uw6y$V{=lgcPPAtN-=HZStB;5VuOCFlh{L4O!eGDP zmIMb?cZ@k9m?G8q8MT+Qc!m;|p@|ctL}OwIkut$u6}EP6(QT&`Jji$?Va|A{p_pn2 z7=jvPdz?A9eGsgrW;UG@6d!Vf)$F3yb05O!Z}^Y-%pKYz$(7l&NzNkCio~<19{7C_ zezr*x-5{z$DPb?510}d-UHWBd*RVK}3ONdzYFH}MCevv+-_U_|RUNQ^IOJ>L%iHV) zpzfwiC3E8&#evXA8W3DvH`8_s;;U65f?dN-#f_850#=g{qjk4tH}(My2L;p}v6f`2 zDv;KNQ8Kk=W747lGree>sf9*M!6Vo4E{t0?u@Ys{7YQ_6ZLq81<*{*4Yi&@TDU*X& zCljk_2m`)XVkuR~!&jvaS^MIp+!INH%$K-hDR3dt zeO-Q%yc=-kN|Lrz@rA5vB;vd6J)VT|VSvHNKN5h-A^}K@Rc60K$JW?r#<%(X+C5g+ zBk|h06NRH6OS~%S?5CP6Z)}GjKHE2+K*2;`sFO%hz%4-0R330qo;1m|Tz#wWRz}rsQ#{~FC$sh?UGQnB86=h`~ zwZmA_7*_Tz+s!-fc*(1nqXPgNEbn-eK%s&u^A#daiB!S&hgm6rck0&AEvD-P@X|U7 zFkr?N9!xVayjPnkVyyH|o0VZKjKG^c%%_K4PHk%=yaNr|F=*1%!-TL@CK??F){rQA z#A@FXCJPLxUIfMK{t7QyGzlS!tNj;nH_;Y#zd3x?XF?>U>N5SH1#dXblmN$Fz4v&1{Cn@lbjd5m?1&^0Z%Kc6)#U{*90kXm#j0{ zQzVzg&=Jd!w3wn$W1X+!b7pFXN9#7?R+|&kV7G~>g5=Gux135r-#9HykyE~Ca*5SVaaCUSNPU;L~ zOI_R4^(RBur>N`fVs%|;zYA$Pr`Zm-iyk%PNBP1LK6wLEv|9*~x-?x2wOB1VK%w4s z8}i$ZeVK{&H6QCU&_BvRUx&qu`R+g+2zFlh=2N%~IgMzz3W|dW$e_5FEr_(#&No?0 ztLglgZ4+t(nvPj}$3n4g78Jf(OH^@SnyUkdk26CvXQHMOq-Q2yQkCuHX*hB-!zenz zfiuNMmRynVF-=47rBDEL5~B(sEbVih<^u1=cDocBQc)xNB;cYkPpT(E#lh7J1yLf~ zdcDN=k`R%x+5I2zi<{7vUXc~NNd?EWrN8L^<{S0kc$_APWZtimPCa@>TY61X9>s!i z6TVZLDkHR3OG{~|%U%YqxhLX0yRdAW-ha}b<*C&`_w5&=P`}&U*@730<{9>w-fVE^ zsH0;U!(qj&=pJm53vTP6wsdh;^eHR)Dn*O3qEA}U*C}$-N}rytFOQ&TNlY^p23>ID z^J6TW;$vugozYDgjnunu6}C}a<8EKn#(kapV2wgX*0{$P7P}~*rys0InjR9)xE%O$ zqjqgz<%GfUCj&{C8Hsz#X0+S{6=`%QBRQ^DY9{P{w-Gi;d6>8?zJ|+7ikz~~5ZK7w zv~*j*Z#BE}V?$c?5dz=5(pN*>m>Q%m=EeiCL~0QwmG(!p<*_&}xH+3+R_C9K*2l71 z`e%-s!b9NLHNJ3$bWL3Z=bFViBV|VBLda_vW`lm(`AT4+-6^R&wTH+*1$SQFEP)T% zm2XP(-B_>5&=#Tx^{m`go7VZ{65ljVpK!)Qa{3Y5)VTtboleLaGM@<<6v)}7L%(bh zyLP*6P);@lYvzGl(6ids4~V?mgbtZ?cnwN$H4GNJ z+`40uOV=L6mWB(3nM)E(UGG_-nkEaTKsP!FuMC%_!!2K<1_Oi-?}J!V^21#IomR6M z3L0_L4bTdoDRr?;dx+{B<{dJE<@({EB){b`1FyRDzU+6)_MO{zvKK-5*`W<5 zR3vV|6xM9B{u+j|KcXM?O&Z*$%f{}8j5S?HTD=YGnk4A>eM`u*(| zN`QXON`51#dO40u-&_UAh{yPKPI7*2rUu`1luzdSrYkBplUn%yy`ks>(co-T*(DoG zzicl3m|~foqigd;+Q(+&d9U>T5bE7wrb0Xu!vW2?G$M&S zAaUX(gas44dP&mMY*rEODa>2swF0-RSv{%MHlQd5na|XBcKLDd@}t6z7Do&sh%BQ& zi&}|3Z7npT%wx|1OYRR?xYEX{f$@}a0-ZN9W&v^0j%y!v?Kq(sgoH}#W+H5*7ut`O{^$m4nz#@gK#Eyc!R)& z1fUHK?ZlUq48V~O#J zQEC8{)w@3o!OF&6wM1x_qn*H(Kv%1~c1b%Ae?MfCUE|E68{`0m<9Sc=koY~|W+OBtVdujZ18aKFaU;1W$z;s`~ ziUNXlGFD(v1H#o0@CX3MZ8E(}y39LgMxmm)C@?hu5zB%wuOTn(=`w-zS=5!mo1O2K zFg6WFQM)e6B}_KsJ}-+aHmFwIj>Sx*05Z|ryOG@R4QvhK3B)(<0}#XPfQB~9(6fmU zK%}`eg{yn}3L(#cGfVkM%N>d}>R{>D)^tD%rz~b*JSIfVNHz?#PPV_$A^O!3fZ-MS zYsUyJ9K(<;B#E|}+oU82?%RXlr+~subWwYc>DfIPpb#91C~D1rrZhjb>ogN%G$oaD zWHvS-s)vf-A2tFrR)Iw}X{Bjqsqy~i0%(>^U4&MV;@KSx0#J*bKl6YDGI`P)Dc$kb zZ*UgnC0isRg>&KxV4zXi67o>YT1-7!s$!bNb~$E^@t zQE3u*OV`s;j`OU!yhIJio|5Bz1DtaSXa?xdI?a{Eg~&i8PS##0D(jx1jI9b`VvBj1 z{WZHV3<4nh!t^0EY#>BIn>(-DdihHWloOY&f#AByaWbV~~66DPwp`7!Ob@{9W)b^FFQSZld$gZiCxlzsG4 z;TvWu?>@H}>{f+tl&Ck7qe%Vb6ID2Z+Y(6FmHi1)t-tC40`Ld|H^**fW+3bBzQ$dP$srNoml~fjk*Q8CFaYjrA$cKKu00}=HQ^BD_9&W(D{Kmxa1pn79dRsw$<_N zWg*s<0$FElg7hn9`2d`^hIzn5j+o3y_4wX>0j@7Fp+P*1<^B|_o@es;+}E>wK=MR!Pe(wxx%Br~HWI0v0w#G(!4E_lx7?(}e!q#Jc-n!j+C z0NHHtitgBo&>hi!bwZ?n;)n_(@4=whyFbeUk%f>;bR<(g>^WJ4OUpFfYxr^*^7Mge zIy;n!-~FVo)kzZ_);XiXP}Wfi{%aY5#~US4NJKZ#cNw}tBKKxSt$|A}0HJRro{kE} zoJ;5F?*?~dcZzJP^r}fFKoPvGHlcE1oDqVdCQwaVQ~M2S4AJK21>yC_mzxMj%-ph~ zk^9I%HU6+&B7Hc8dBS ze5p`~>PX^##baZoGYS9gCWbPi{U$p$H48c%Dt|Sd_R2b{(W9Wj8`0~@xaHHQF?J5+ z`EZaSgS4mwHn2iS6n-mG>bIh=GSV9Ef+(2%c0A-Uu!re{9jp>t?u$@t*?#qKBM5!vwkiA*l1D9eYNg?5RkgY0-q&N3#s zkS-9O_6;e7V5lD4hYO~ma#5se7$-77G`x8aBZwsV4x}*8L7HD-@59}e6 z^5eb}1OpTM3kLQ|sN*|BRwAaULGw;OoAZ5&2WT^%@j-ca7hFc`6hlicN(?H$>!o*R za_|?fr%ORz#?0#_C*(s$a zUbJTuQ|PR<@FIeOie8B=T(1_6wiZrX7Fv*^tbWqKEsWl?h3>3{(bmGOy|nN|Y(ca{ zJz*F{F4P!*zMCs~RKV6lyY(N>URt}5L>ii~=GYiD4jsv+a7%hq075bA(u-^((E<-K zs>;H%@(^7Z-`4UiAS6N1#^sSA)1li0^<$-XW~I16S(n%2%A2@fqPeek>sN{S=ceSS z&>IX%43P6beNHR?2{i9Ej<4e?WGkfy|Uc{#0evvv-ooPs_fva(ORXeOKeZ-qA@ZSJ z#}#Wx+Pd@MTC$c8=b0>4ur-i$DE24dOG_iocOR@( zTu{yL6Ut)7_!Gt=an2LghmEyuio^5-jnt*rX@9s6)F$m?+R~SnyYMaR!tLt9*GpZv zBXr?g`{)8rinYDy-I^R=X#LS5&Z!234Xff5Y${Db>b|gCLL=z_ zj2@R9?B6)E8r(z6waYWIY7cQ`AZ?*oAIWSC(f3tSvyr0?sD4lGc`xK_n7_dZ>=AqF zd&`S^QnPy@R|UNpJxdQhLUQW3ybbP)3{E533?=C9(}2Q2xub|desQ@zf0jY!^N&1d z`rVR+Qssd3yJ%a{?>68M4-RrIw{33&7I6Lb&eS-nYtOJ}vw z@MX~vvU;-rm1Onp0T6z|e1J{Vxbp2FT`H|2aq1R>olvt-lREx$2`}AEiz~NinE3|x z8z+(0niYJ&st_YstbJ*NSFY7M&{CC9yR@lGk!1P4N(V9ExUeZE;W6>v>AYOr!`?@I zz#8EIJ3ifv%rS94qVw$8wafEurB}_tc`q6R!GBO6e0FeeinC{fyNB=)H1JeD_bqA; zd!2J&1&nQ3mj7c0-QaFrA>J_C-uKe>IbkkDb5+m8bC8}-$7tXnO;ga#QFJ3s|*a>qko_XQI zb7u{*1VQm;&-dh*@El&5Am@nc7YCJ+`8><_cpb>UqB!TGS#6nr)w#2}@ho7ZRxg*9 zOlLlhBWJ(ilu56rfRUH4lxJryh4?&B+u5_`&%bbvxn%GeHy6ieGcTMw^MX0&o-IcU zzE_LcbZ&O2@T8XSA(&87j4B^<2O zJ+#LtGoE95%~$gJt|NpoGJ$q~ur%LDL6A2SUxcTKv9N*9-lIvfe-}oGeI9XAFfE#8 z{5)C^D2ece?ERXETD0F~{+PBtk5EEg#mJ$6W<%GUr9{4_0S$ICB`vh`DUP}~>$K#x z@rYe0P2E}I8A#zEi!@`R3++Mm1OKPgw+I*5MF6AWjxiG&AGU9cxCqseGkGqw+awPV zRGR4GHR?vR&*@@fY|Y97B_l}O=di96InQpn6EkZG+el?1S*xBm z(hMe!t9{cf%4Xvdfi{z`u9Hq=&-wfX=tQ$2NX$kxZWDW|4-wCivZngkDpUqtTh)Sl zn76T(Q&pzX`vXBsy}Jq{93K8*Pzb!FpvrZlL%-71`Gp39giT5>ppCqHwN3R&n(9~E zRC5`odW&`Of7DzfzR%|RU;n;yO(3vV_rvFBu8BW=K4_;kX+rrhgjt7O1F;N2UY{(| zBOMux{>$!7nh?D@zjYp5V7p%DtEn~LP}F{x7OPC(+W>cu{xcgJwV%>ZTTYUu4ko6=>& zwqQWYTfmR>On458rTL>&zs)4K*7sMUHKEN$kG{_1jWG%=Qu7`z{~vpA9+>4-=KXW$ zaPB@&k|zsUAe6RH=w1R{thNMPUhT9A-PD#qHz^RHQlOBO#R6@hi{loct#wNm>khS@ zIxf&!b*#mzRcE1f)N!LaI?k(tlnRxXK5`Mz*&!vd7Ctw(DRc z>yRprK~V=oL={2*8wU?MI{BMv*M`x3kI`8TLiSfsl?gb<>x0*kaGM~$d7;ap3byD4uAlO74Zv9Re@OSX%z%8{{hvVUS~D(cuQ!lt8}QfzRwCOl6F_G{%P&{|PCs2mzj`hMhe6FIvaAKWAt; zp>YzWA8}-j2@5(}tM?Ew@Am@%TR!!u11`k9(h9^n1U9jF`YlEjA}w%0;PYXxOjRO6 zVM?qwfS8tBY-s}{$Cwq1a@G1}8o?EL&j{IsJGeg7-+GRMoXFxLNikJv9^DcLl38V5 zte*e$#>Cy>kUUdf`Qaj=B3?GnE>IUQ9|>&SJCPk+VtH9)5%yMU*OnfGydM`b5jO%5{a!|hz^ z%-dt>u3|Yq|y(m#?teLyZ z>!AI~+8z#A(QKjjx+XX%;%XhlN$x#JtdIq1q80) zxDYo_?}#Iq;0(+3z8N*+aJwwbTm=+gzilY2e2u#E?h(^evh37%atS8B!lLP=b^$N7 z@xCw3-Zw^6J!1KG^CWH%k3+IB!Hq%23Z{NE&px7ksq=Ba#mJ1L3Qaq$MT%>=`Zw%8 zbbyJxOkjeBO!EQu5pK{nw-NDtS;7)R+aGlH3@3dC(>&nrQCOkGJ>h}7_B1zIkG5M% zp}(s_Oy<*HY0Lhzk;_~RK})<3CWs!ZMi%XPaHpV9IEdw<85(X|3t6F!sHf$a@@s5t zVqhO+vW0K|GR!QWR_;ODxWhK4-CW#xUuOmqchw=R?DICZ9|wED#e1%NkL4;3@r>eeHVt)*E6rz|bpDtGQDwTWXA5p&Q2*NSkpO@;d0hQ4I*no=% z*C|TjS5gj+xMtb1UbJ3wmtVbT?#e|$1z1$7p#tO`p~|lAS+=5ganIrf^HGP{)A>P3 zh*BU^5{8ctTS-W1Q(l)It}K7RO3Wh$UHPLW%a$%=JS!F~SCBet(u493SkWcr_dQFN&Fw9Jpon}+ z7OXCRv|{ekg%zz3N^jYUioW&sQK-C(l)UBl6_FO{SEas>2Md<=T~}T}QS`34cELPN zGp|GNyYeSJeM{$+-_KhzcV)%&C=g!x2gC`SyL@Gzh1sJw=K~MRkph{l3;QG+Q z(z#Mw(`flOTHASw;%D7s8!TH9@8&IA+Ph$NX=YaTEnm(S44g@6CMNVT;XlL5h95j#b22n+=XC}V=EJP5ACjn(E0*K+gR36@FR>v5lX0GoJ9dc zwijcv&6b?<+ZMZp6j5~UlwA_^6ho`wjO140gc%}b6cGNY>jh+*VFa+nCXkeA?Qms7D!fy2=NeP;RZ0XF zn+eqf9CM?Gl_737QNGR7;9kf!*F09-$8J#viUkJAA3Abo`RMTFSsB)egmUW6#fn*# z_~u>wTtsHeCV%__F8i9eZe%cgLgWP?jnzlIkZ-ddC{tB$Z?8q!`g^>lpg&Ug8E82R z+C*@&^@FOm+aK4?_|xZt|G~%6AK+Rjc@)D?0B@Az%ik9_fVeJufz`HN+!SBHb*uV) zs6(_Hq7oHQYv?yURR|D;K=)LitWvaei<{w=NRe2jSkhH7O~XmL76B(+C8>cvtjhqR zK?kCJlRL9msnlw<|I1(Ku9J@XEUDS#G7mY0n@>^slDn18-Dg3AJjv+-ht_B6yjuC) zkf?AsTS}8Id8ZiZ5H3!EiC!Y&)!oYiYpoJ@^ln@66+La*twA@S6&FWN^SxCkj^dgi z`6C@){}@)%iMnImS#~D(10$g$Ni|%|*DgzV)1II+4zQPZA6l=Bkz=jF?<9j&9?I-@ zr-@2i{d`o~pNoN3kzT`YjDv^}vta2g@a&(~YO9h86S-$c>SUtPu2?XCaz?N5VtIH| z_M}KhvJMM5?3edmJ#X0x9bJ4LE6!*$Rj?)=aU3rD(PkVzCEAS8!`aEhx5X1x;;gb}sHoc&1<} z_OcJe!_cyJA(25gTe}$%=vH6*7e2Y%*B)ip{7-W)(s{`j<9#z`)Odkg(B(=W`VhP9 z@LtFrf7lX#&#d2o2e;Rq3UE!v~j@K9F-}7VW@F9OeVsbvuZ> z8U519leb!K#@PCBoz^(i*4)fpW=C z5h7M{A=@@hzZ8yTznhHcllz|}b`+GaV~e8v5r8+nAjsYITI84Nm3BeZiB>@F4uv;i zI}aYCoIbAO`eLI^+6V|DCAt+M{6g{C(`mv_>Wz^hi&R{r^|`$gaJs)sA)@SF6xD@M zT0Jv(;RYX5h2<12Qmh23B^y{R;eT_lp#lhOK1sgfYhUG)Gvv&)Omfu54uxdlJ-TN| zy&enDfK5u`>e_oc^@cTNS*|yiTe;P~3nvzhn!`(_rIfvM3oQ6BHQH^UA5BmPlbBC`9Mr9~;(KBuM)h}w^)?I1QuK+2 zQ<7GJE?k!Wi1qu$NV$WJ(Nf6osP!zK zt?uz>ew$(UX#*hshpY|6?*mQV-(c$lF`5TxwIZgOSZahW`ifb&=Clz0hvwZ4ijgZ4 zcRHZg_zzrk%@&h{wg75-G!b)vj^#xAEEfM7;SsQfO4kd;QY(g)A;ret{(~cM4ldwcGk*L)MletV^+(DM=M}`3+-0GI$-py0-T2$~)=n&OUYL2(Uks<^1ScI;i~(aIeG3fb=Nf>3Pl{>6-UMY}D8V*Z@7Lw$-O zJk#VKOsYO`ty>og=Ag?b{HC`}kc_xBMG>z@K3m5tTGEgdnEw0*3g42khL<(D*N{ohHIx zOKp2$Y_%_*!Ckw$!%7j0eH+2|EPp0jXX|@iYY6WO5TX0YS`1*<8L03Qr($QwelBGZ>f3P)RFVL4ypR$HZ z3fpIGUt973tUfLI2N9XI^|ajq-$$9wAY`)ar~r$0191`k*}BkBs;D^p2z*4)j&kP^ zMa-Qm0hW=rW+4Z8EgMb5zeR)wDO-@O2KgftI$~@2+I1WzOiD6{9y5Rx0Qd<&%4hJT z?e*8J9uUc(9%e^C@3S}F!n3eatU<+61v1o@3aOd<`G};yGecbBb;w9=^F**(RBD+ImgrFl=_$Y8QN5jt5?gUS^~ZX71}nc?B3tP?sl-EC6AYs(O0L`|{ z8?j;)?kR}gu+xNre|UpV)7>M$3Ej{EsT&(SXgqlV1Wy({hZW4IT;Ni@Vuq@v5wI^l z$~8)1yo!}jJ_zM8)deoKi@DI`8Aq`loFQ_o=^o#BvyEIJVMnnZ<~FjXu__bqxnXo0Z#r7`y|KtSygW~oU?EyjQ{WSNI3;;%OVl3gjD9VdcC4)*TK z_SC?Os+sxUQkBuEb+VkijDd&Hxp4xRsN91#PnzPe2ARET9ze5s3pBT3O$m@^h8f?Z zxgBkQ%&clJYarp^18vauhZIE{I|I={d65=dj1?_G&?e=@)&a6m^e$O182k8;{{<2KB!lLJ` zy1Yn@yhQ?Y;>w)x04g;_iL)utZ<9YN-ikt~juq6hA-Js-W#Q~!YBi{rmL=D6h`^zo zuMR}=6dyX7W=-LnDxD|#MafcmYvd39>5NM+;JJxDKro9-oXq8zenStBo4#P9t>JIiZ-b}+Ij8Psvl02dMWMMlAxsHNyok&? zJ0i%uZ-WL}wIg&11Y}LRpOK`*x}ILB2UhFrm4HjuceUCR7ls|eTa3WX)r&+WH~2Gt zLC0nqVj1;}KQ*U~w~5tTz70i*scld_g{gAQx!uH`P9z4(r_$@}w}Kr5z!GrZZJN1G{*V zPc_@a%qW~|k4WL~aEf9NcbaCXH#chRE8W}I38LNgx$%cEOLh82(@<+mx8K(3Pl$bd z7VmA(>Q{Qcg8Es|B=Gp){UipRjrAlxE{)aOZE?G~YZXSmGtGTa|IR*ye!I^=pmv6B zT7ne;uwW&C|3Rdtx+{{In%MAY_bwB%R zqd!K(7E~H-6PGYfuDO{Du52m8QD4u<+NSvnck(41k_tG)oq{dL$_iaNN+>xMGs2<6 z!ON63Le;2*Mk@+WNhgoty9u(=KgOLU!HD3?{q@0Ty7nqabG6~#V@GQ^Z|%?(q2vCE z;#!GXT%ur(lh;Ox}O2&m-ozDp}-k+}*O)s~< zdSCqwMQYEzlze3?A>mj;_4Jt_u&Nbo&xV#EOpiZV>I;CS12gaXqQs2Ef;^PyT_VUp zKr%;1A=C(uiA7d=+~Tf_jYxQhkD<7VvR3*lT4~ATEAX%c)Ib(jXjhX zky=Rw-ey$b(@75MMO0zxED}JVcz(ZbS4Q#t-YA}%jpF%zq<9|QKy1;#(F73=l%<%7 zz&yIfZD!xpAfe@^aEXb90?SspMJ$x281_Oxww8fRf_PSzF!T6ks@lk`xDFYJ7C=;Y z(Eemb)}~uvqA{Ve)Ok2ggsm&891xV;-hGZELtO$G8wXO;3LsxPSkFftq~|!m9&*pW z@kjRjzR+_(kR9AtB-mU|6uxbMK$zzP;bg?#j#Nb3$(m((BkQ-xkFi_eN52BL+#9k( z-Q~2q4p^C6VaG{4ak`TL>umO+gUPnW5elzae%U7-=tU#10A`Z&U6Qdh>>c9tPFx$ z_xp814pqvZ=r+QcMO?ya{B}gH!=@0(BnURh{KRJMUg20{{z$~A;+ma!*k)a|klEH% zduKgzKU^1R{G<4QX=wnW5ZFO4vE?p6qVM* z9N~2)g0mx1^ zZ)DnM`ePY5E?gS>X1;Ve6^$hB(DFub{T_y|GfWbyfQTP$vfR6s0VZsCo&SM9f9Lw$ zCYi`uG_s`Br&9NVV8ogq@Tc)bXLZsy9|LruBtY-6-h%xVCoe6=3g*dv?uP) zk%m7F{URmM8`!`Xt44+&Fs?-&Dxdn*55KbNRSWs<2OOIsnC zdU<)fP5#*O>KT|sTS%tF((T7y50Omm@PY$lVDt+d#9MW>ptwl4Sl0x7s+M!rAh!%C zN+PoX|MK$bmbB+qe6bM5Zw5ed?%0G4L99w%S2 zglhL#A`=8%?ssw@T%52it8#v}oT@})$YA~8 zAi@?w+bvCRNoR!#0VM6tV(yBVIz6fpK&$P=UvrFke8`B5V4!n-#Ncr05{dOjq?HJVup^nrW zZL4Ivts-eAbhFFHE&t*_5Jc4Jmnpvsq|uHw#yyJ1$DYqmPX+LXngY8j$b))Ab)b!S zSTCruXn^-A3X_4@{==%;?;#oBsgDnAkTo5gY&ZBD*$9s&B3O4f!l03(_K!c za~Iocs}t54@f1j&_vWU;#>!@lGe)I%h?yB-io8e0Kr{ugz_At zup!~uHok%2-y#gjXC$6XP7C2j9-8v4Y0z=<;}W&+upPkP^PpWbvx`CVKK~p0FgopI zDrYSRXOlEP*#h1{D~uMmlPup%*t4e4!WZd5)pmD3Mp&B1D)-tRo5?Ch#8@wezr#s& zEZn#2!Jtgb*;Kxqf*=B-4FofxMI1J?W>Y}0bOI$vv=K*ZvvG6fY~Wfkau@2@w6h1f zKY=&)lLKW_KcGX&eS&l(1}*N`%3io96$(voCT_f8>oAGygt>`WAlYE5ymdyvB=Z?H z**WY#Zc+N3qkp1mqIeObq;oA-9i|@0?wE76ktgmT#ut}UXE5=}&*4&ZTuE`RnE*a6 z32pX+6|9|`LObcby3;94RQd)9ZiuHsf=$M`wigtqxvd6MYD|s3sS9;oSXXINiBF)p zLU1z`QQ~y-0QsSLfc$hg50LgL7vmVXY$Lh~-37b4~UdHaN{3^w^Ol<%72 zEj|~)AGYYWD}(J7az@4TqT`yr#Y=i8FJ3wW%k82=@5sy~K8yOxWX7n!T*-e!k$q+R zT@m${Vwpp4unU(9ZuGz{Raxf6OJ&15mGJctrxKnNol2;@(y7EMpRd+3rxI0=IhEi* z5}isY7+pzn#VhNnIs96gqA5G2itZ(Z|hA|EP>ZYJEk;23;u z(et;$%|ugJ=4Qg}5H}N^RJfUNU+HF|56az4xG#4zvD>1XiQQ#xCMvlCN8R!zFZVm) zeWl+C4=VglxUcX#;lAAOgxgjBH+c#N&?X{6=4Z_1!o^F#3S5*qj&QepO*YBglzEY8 zO6K897BI;WcjK}u_%4P5=ZZZRLKNG!Re*v}Jb0bl^!?~{@;T83*gTZcQgv7g)nCt< zF%#l|<0$P@xg??%@0i4D6b zT78jEmig+J^Ix>+J}E93>$|uPX3-*ubnY89bGy!FVyVhxO1vcJbWz@_%iFzwz&_#Y z1HMnv=cv&wl`RO(IqabLg+}U;F5xz)VY9d=<8d%ple2Z@GlE}{BWLq^sI+jh=ev4$ zgdSexk1bob$RCm!53~Q|i-e}~rkoKqKpAXtMlsNfnUd#x!<(T{Quj7xw^b>!BV3nDtEeefU+m-^%aw20)egE_69;S)iV z!2*KO$e08Z=;S%lNvx?lPHy@llJ`N&X-oDeCz9%m8O+1}p5UugM;}hI(tijnyXH;VvrD=p` z;1IV3RR|G`rsT{*>o20Z)1D{ky@8WRmjS|&5gd@s779LEIF8XYZ7yRmjlL{aAI-db zgCP=-V!(K^G>N()qdJR5ECKFLOT|#UcHg!Psw6eut4i z=KXUl-E-0$jl<$`eT&{IdmSzZQR?akuita%)K@x?w+ss5Xc6iPUUEYS}rY zmj79wND0Kw`Ib~RaTg!Y<_D3YW)}`1dQ@69nI#Had>k7&d-0E}kcqH$z>q77xR5EA z3FAzGu&I97ho;Z%3cPW032$lyJd5hQ(QQ8R?X>uiwolVgG^`1)Aw5%uE0o_#r-1AEpaW zsDsnH3{M=(Q@}@1*|_@r^L_0(Oxn}H?OM1a42W|!B3{Q+Y3jemQ|bG_WgL_5q6Y92 z<`{igEU*cLyqa<#vH8Afi%txa+<-ZB4V32W7h#BgvHmA-GF=oTquwp&!C6^}yrxHd zQymRVW&A7G!%+);>-l1E5#$5};rRl=3cY5s0@}UPG$}rJtRHh8k7p#wLS)~)Af)jA zZmY^~_pLFp?4tPM?Hgms>3&Rn#YRrBSMQ`#HUu|ETE*nS;)ufIC+wvSI<lFf-RGQ8H{F=d!0P+lRzFHX*iXw&^4nC6>&aOg(YArkS>-~$!R(h>@~Py7hoZ9#9fm$2 z`CP#Mk&uWIcgS}m6Cg}nEV5+cFl5PHm^3A`S1KCaq5r@9`t*W>e&0u*qnjrHdM6k+ zpT0Jr{V-`blV|{dq<$nTPeA$)S{^AANYwe*adXY8?$Hz`PTg@W%V(-bg8cvc8 ztfN~gs-mGC`fv&IY}^=fk0Gg%_uhDsJNwq`1;r3r^%cH;8Rk6!Pb%(?(TI}nU8n;> z=*!^BV z>H<$vj8@yPvZccRnJT0!s{xTI)M^;al|}&ONKHU$3kB}Rk9UqvU_!E5jKuf zdg^6#fU+W$inDZ!$!tyjE4jX~uD0e#A`D6mHBvxY_D{lUWjYDpkbfiI3j>I+NM9|y z`&=|o?!yvCO024t_F)yofbPz*;&L`u6G0cHcFL||6SA{b)m35eY5QIhy6b>jv`y2! zR%%K>W2yzB9m{$5sSN|!(NiKF6(h3f%dP$NUVo+<=udN)hS6J}Tfu~hkWJTdo60yIG|ZLHQlSUX@V1e3p-Rf>@a0&{b#xa-yHFTC_J zz6kE@kR&Y!Vg(wKR`zpHBw*-Ait>O;lXL~JE1eQZ=DJALW2uL?wmO6X(17Id#_rwI z2tpHSgBdPIS93}jTG23W-Jmx4)j4lDZMocl+yi zYg5`CrNUW~xbsvcSRmk#tvZ#}EQFWXh-Nm5xg9^6!2s|d}+uwo-!nA@wW^u$;VOhIF}b0E5` z-_*#2p2>k9Tgs<@SG-Pg$3wtih8WpGo5~KG%5Plzd{b#Y=hpK5*gA%;KVyRt3N`{s zwp$nLtYv)SiF2@anEnR)?j*f5u6Q9O*jeCn0)gJhQiHVcBipqaix9al1Dpi7ZFY5{ z5dy_4tJ%ceuDG`qYYrFJX5>x1TMYs6YPpyGD>1qhNI-Gou+XNut>OqaaB-isH*W1< z0%BrP5HEKZQYz*_RE>C-_hZ*Sonk_%J$4A zRGv_7JfyXIoh-!1caRI1ISc;nzpj z!%DylmP3pWC?eHOd&r>Wk32R9e-Mlv?nUd+Q)8~1)oINdVn z%cpNQ*vdacTD1&Jn7fRM4o;mO2mHu~X3isvBlKNGA@&>aubrVSQ?P+kYdW4jyh z&Cn|`pI5-r*ghkqdt~pH7!MQKySVk*Y?DPMwz$=_^0Xr~mQ2SDgZkV8MbKoIX`VS6 zT%Ig$iiXIbn}eissJvOiNz5YN%^1rB&B0SnZrt%is|j+m1fLCc#`R*-BvW7;MgS-| zDY8ptW(n7?04kg9B!DEx!rV1LrtZUN)r5TeDnK-}fnSgN#D18#622tXWWdI)e;$0S zk`qEVta&ibRz{M0TOdBxsNshV(L~(X$4WK|XFLdF9e9h)%+FXICS9|^1tLsp>iFO) zaWjteT^#-ruVAgC!zppkminl9{VLr!%00Ydd~rwc@M#{_yT4kYXa_}trPTHJW?jcY zq0_8Y+{s}ulDrCll81bbt#QBT^YK2pYCNVQQOI+Ydte2R+_wq{;a9NV)u~}RhcJr9 zhiuUD2|R>eNcNw1H-OF)_&Yig!Y}NKpj>MJt~Zr{>VT60T>WnVr`By*fwduX@N@1&&QF@p9NVhp+dSiNo4P0v8!Z$GbDD^`)u#)U+|+VUWu-E^TVDp=Gz^KH`8oAKIH(i zBE?z=QMjUtLDYhAx`3&g%mR7vZNH_+c)-I$~h3zuUB~HLWsh8R7m}>1=%d4xhZ%=T{@kk=_e# z(bQU821>eKc%Q7Yd|GhTVg+w7+C$k=87}7}XOh69%Pc07xAD2F-j>L%r%J|CRk`t- z4sv%(Lh$Bo#gBvYeN+_*} zzxl8`wfC_4vn4s)?{g-FJ&akB0Q}G=Xp5nYL;rrOp)H?&QwPU=eL|6vsf&y9X~xfQ zF|y4=y%`ypCUf4M&gB1P_W#tf>+|fo{J*`0*b1mX>TUP=Y8>nceI@AmBSDBxzX$r3 zlQuAe_%@12s+}X{=ahI*1%izj(EG4lL?{T$tP^As#KdkgmRQgF4MDwUWMD4rfTgGZ zpj*xb_jx37P-4A4sXD$X*KM8!KUi-O)}=jigbzauP&H)~9eSJa4hfjZ@@kkz%C^+~ za72{5;$Xc71{GMOP~L0oKEBe%vzO4}%_YRHGTo1`8#t6FaF@aksrt5h?^y`OttK*)CTw+<5nxR%2O zh_@eR3t7*;9if0R-ob7{IC~zK!P0{ba}nuySiV~Ji?NJu^)BDY1i=3gddKyK;4*s6 zCi%^J%#ig*lqiH=>{4-<${3l|0R<3*!d}4@6NQCDD?;8r{+h$g%0(wL&F>Gfd;{j( z^M~9>`lJI{8hfi)Zaih$4qHq+fQ>0^{*!&&s>55(3N*R+|$)iCP|GO8Zyp{T%&FVW8!YiwgLBHyFknoqyD(H5#kuzE#AMt$}RRF=IHL*GN4Vl}R_-!Pf* z;IIM8OI~8aH-d;vzfU4u|gml*+mmyz!- zb+4;B*3R8jONGBSUyKPt6z#GL*p{vp*%3ZIYxY(QRt6432H4cxgmVwfqS(8SNsE7y zcr8f}u7HTeV*x<9VJju0A;(?{K@u!Xa*7)$55-9U4ez(ewt4F%kyfgqTq+w z7?64@u7`yKkudq9;HqJP#mp@VnhdY3S=lW5v`qtsKzb~&uF;@^egR=)ETRZ&-uRhN zPk2jMQ~H*dhPw&AfG@FR{rORmr}_zEt)%L5sj>Dor%g|8TuB_16el;Sv76GWrDl`EN6C}Jyh)T<<7)X*+%Q*0-{yc( ze717=0;PuH;qcxa)G)-mgC|Ar4wkdhyCb--lzVrmg3P-EL-2#A3?ZRbk1{&Yqfk@P z#lxI5ig#30wEkD6l@1>~sdV_@0a?b1>EkH+LM9PS;s3NuB1L}>;Hu<`Ku^ovJGiZM z@8Cg&dk6Ow?j78hyLWKAYKVIWkN#WIiU5Row5{k{3VhRM=8wT;G4C7Km3iNIfM1Nz zRVeg_W)fMscp({ysDrs(x!}6F%NKn#yp`bEH8ex4Y)C!gT8pr_wSuaBrN!_Hhb70O z9rX&JfNf%S?)&t0_k|c{MHSc`=EPAq(>H%eBg2TE&Y)oEM8THxrt(S+GmV+dJYve(T?J0AwQLu~zl2l+FEFcMDJX^_E^ z0`Jm0{1kK+A`TjSsLT64=9j3nqD4<@&ZaV%>vPA^R+mla;KAE^GwUlEai$cMxj*vA`gL#7yAUlFyj`x~bINLD65^l;B+-@h^&FmnMZ4E0C!k|N4P-#py|6*xi zZ0!kVuaT-Tn|-<<;h_tw=wLK-NA+4%XPV0N-D+fqeJ2RjUHHyC(sgU!!4Q)@pg$y$ z*k>%UpUg~U)$A@fg8!=Ou!bcd*Kma%T7JjDrmg&BkRJwH-QRtPZ`D?T0 zE`v=tXmbXc<1qD9+mPcBgks6j!km>}6`-UEYB+d5cd=^vPLW#OYV;p*P|}+WZN;SP z7=Vej?yY*sD6WuQ|1grbTP@2Vjxs1VN{TifgL zcd-wi%0AE<1%3GX}xJ;aHFhg(6X1lni#v?Lef!83+z0HeT-JN|o+`44IrjP07CA~v{P|s;t3@Gik z`oiec+_K#b=u5*Bd4mNY3`?W+ILq>9ngtB3Et)cc$fwtj2TA*ebK8C6lysZSeQEMm z#d2(bM@q!w|1#88a_|qap!o!qGT)IMbejfxS|5O^iqfTd^>?0%Qo}GUiy%cVii}U`?)CHX&hyH(4b| z9J02sBnfsJTAD7y&4ulLlqDVwW+rU5Sn1ur=ut{c7HBzgQPylM;O>gM7 zLHvUM3ShxEo#D-!6~+NwaQsS_@fPJ8Tb;;)!m zumu|*wTuSG=Afjs*{b>B`Of(M3b^VE<1>=+*t^&1S(7EU9IJGu{s@Q<*CGi;P90_E zTp5rsLIW~71#y>8Z=jsnq-&5pxxM9#x*6{DME3`w1lyvEg=E>=NSqqnXj8Tnb`f)h z+Euejb@&1+9*ii`*I9T3!rA7l-g2jiFSzI1U1CpfY!fT}F`gbMx%n^w6C#s4W%WzW zy85g$ClgAcZ}sGbOZ%q$IWX46G|-ksv&0ODb2UD3zwGC*i_oqijDmPu$Y%|iu?%!3!AARtZp@6DHp*#Ieok92hJ}A0u?(X7qb> zxCK*=Bx;X6I#t(l;lPX(nRaZ0m(v5?ZEcv}q16ou+dm#H|X5ICA4qhy)la8TP2%EuNwwqO*e=*VBYr&JoE0tH8~ z{z6*OBC&l`nPT9qn`ZUz^_}Uq-gK39j$1lpeNtZ;;_CyMhmid^3?%T47$M%At48lP z8JR@>2z+z z4p+(e)qZV}m_pqg0|7*5f3#knMb%F6<8ish8`0$n^~9yDHH>!_r)0i%=Gt?=mLgDf zr%+WOTx-)`#`WAwwasL(;EOXI)ayhNYJS5)YtXvnavhVldEd*G5XWRg`ZnzERZA>eTcTU5up(j*xxvqjth9=qaXp zjVs!_DIq&s*23+o8nDOJsFHZNq*p-F3?*0I#kws#?UA4&XC}U8=BN*A2I6;FpzYh# zU2(_JS%Do$ob#xu^yyE6+A(*JuZc$I@>$pvDOQ=Ukd>yzH%;|^zDUP82HP14c{J9} zrY~fU%uY7Keta)xL8h2k$<4A*UoBC|8Pg)5_EPoqsD)oLQCYLC0}89|VdAw3t3%&) z2?-w3&f|JYtofRDf7F9$pYp(1wj_ib6{((4>8`fl$nD<~Tm^cY8QjC7)VQ179vKz= zI&5#ZR$~Zx??e=%5wm-3>TIMwCABAp!1R&1WAS;J8)d}y!yB-!B4d`lH2>_$RKiL= zP0|WK0YL#Pb!svS7X|b5)U8NPn4`O_tW`jwp@_YC*+;FEBo_ zBkIGP6(sB`#*!>Q%p7DkBfnDg>t?ybtAi!51#qRi^ zqocof7tdhoe;MHf8(^7iOS2r@+p~FAmIaC5i2Nz{e|Cttmn^x~9cqnx+nbnOilx8R zR`@o05>~iVO)=bGTT}N~iQ1}jWN$04K9au)EXkM^R@qA5Tr52p3jZEKN)SL+O)?%@ zonJPfGyzoowGqiZvV}qMT<{p`onuwGlS!weKcxaaPDtg9cgI;pAdx4!WQQE{z6m;} zj$`%)w4a+GXAsN08vF_tA}U4}ij#UaZXztI(#{@xCa*_K`(5oe7LO!9SsQ%5Iqrkm zGCr4m4_O}Z3i2#H>)s=i9x@qGoTdBN1`NavF2*GWKR6BnQDxR~fVy@aJA&3(iB-OE ziX;WD!^CV#$F^iJbm?2`6?o9{Uh#C2q#Lt2#Spi5_YZb=bSmc@qP$&(c?5`jyJv)w z8z?LdvOsDr>?PVg?M1d<9*9-B6C0H@8s z&RB^kJ4CU8ufENyWCDHvh^0yM;Th{lU#JAyMr>DjXGjSl!aS8r)J1ZWMz{+{xYP+Zmg`ifddR{l)q<+ml~nBooeX za9}G4g3KYE93(z>x=kqIKkEL0nVgax^a#L6gz9crx^(u&dQjkK>IhMlj$)bL;p=}w zftP3^Byi8q*GjX!e6#Hyb{94ci~J;Y2rE~hUb#ayVFEeTmN;~zh6V)^lD4cz4%re8*3rz-#O=NszmS4^G?Ao}_nZ`w04kjzb}-|52((Bo!#>dl zJ}41n0Q&JHX(geDQH{fsj)97W8lA!lGlWmB-;oOuZrx|Vx%nnWEWl0Hq+bRzFr7y9 zjRt2)^r<5`BhxTl5-G!`E_GbCj_e>F?DGYoRm?k~E)y9(i!|o|)>V+?>oCt*=AJn= zOb)Tx8yP2#7Ndi5ZCQ`-CT3Q$HB!NkTRlv^{gSEEevMOMJfy&3O8+*-S`7=P|A8Dy z$iK-^`d$8+C-y#_^#Ol9YQJ^4RuOwbLZwj}Z4ObVhTJM-+I9hXOrPLWf{kmic}?Ww z;#O9j$O!^BBMQe3PSTie90Y^A$1Os_)yxpGcwu@AeF2o4M6mpse8W}@n8$M~==nH0 zG`h3V}b=>RXuGdiHO8vPJdl1fkTCf|fPN7+{pgTn?UI1&T zt#IOgDs5o|_%Mqt3iz6Htd4w+N%*Ap30p(9dm;52x0tZ{84cGqTUl4zx@C6GMS-v{ z0x9LijG>+RR5NU(ym1jPj|*Xb`vM+2lcQ}ghxySq{#vvnh4jU7I>_%gbRyK3(Qlg8 zf!@}%Q9%`CTG@Voth*rb(|Sov#jGKCCzmy!YZ3U(jVG128>4%i3iootgHJhVL2}`s zfKEuW|%?EK|%dti7^%8MQan(1LHP~(&0{Na;~@)*TY+zW=VZRX(ibM6XYH+821 zn4M4-m;ffYl`%oTGF)h<-gF`)quzT(VCsbs1&E+R+W~Y+zad<3)OUwBAWFRvva~Nj znD!fyCfJA8W-}dtt(qSv>;44dnCABxr+0CP&HOg7auep0D(=#ESamMsese<1dVG$( zQ~SKp&e0oXhjZtI+Zh&;&vlr8sXNbtr8uU@KIN#kUs1<5Fd?(ks*}(h2MElVPN|m8 zhVXM=AAv#_8e_iL({X}wh<*w1MJ(vJU`EH;2cTWPuuFyu7SkE87>r?MZ)=T!ko$bR zxFY^80uCdHK=`a;EfY67Au!DqK(+Ey(F8FS3J3&vgKr^MSmU`C_+~EKwWF&!fzH4ZOrNT?<$Ip0)CWGEdQB-A+2V4$BA z=ki!_{|_R0a3299GY0B^DdV?H*{U>z+RF4V`Si--q=pcAc_J5t?Y8K-p_58oWa*Cd z{&pH7)ROF6n}yg!6{{fBAiu79H#2(!vA#8;>h9bQqr*Nk{L)eiW zR=ZBaa0Ia&8&0a17AGpy8`O4VF88h1(+ZC5w3fI@yG{RcH&Q(};!%Wo2hzVB+VGAc<_R)AS%q4780Ibg zZnyI>>9eQ=9HmKGrwAukDAHQ~LT|{QgsosnY>A+=^8F_EXzcZqIKGp6{8as%&#PNi zGiPCAKR35oGelU)E(_23rfYrUtLVaC#{3%}&CWu&Hl1b-ckvQBic83QpMJ}pCa!64 zFc>wR8$ws)vBhYI)M!2rRKHRD%(?WTif)S{K@agN{q%>snCmtWM7&c14au4sBwM;b z#!8|BpNYrSsxVTMbH3M~#Jh0=1hL}_lZAG09w{X>(eA96J7KRCY*^%LFXPollPnXn zAPC2D1KWat>-bC>(g*89`jM4;06hw-4ke=!s!=m5h0sG2UW3~ z&}%JSO{8RK*kgCt-BsP)J)zmgU|MorRwg%!=WqqcRx}AM=`+^#i?jE zF>dN^tMg(af`vL4mHOW*d4AGZ>QJ*;XH>^et&y^`x&IK)=Kn&6f(loH;jJv9&q4c? z^P|JT!N~-<8Gr*(GS0hhc{qwQGvIIp7L!C|)(wn0m@ywT6@&^OC>2EMY~_5Fl`>Tp zPhwtHp2XJP0aH1EccaMy1*7pjlvBLo*$XGJ4%XhjHOUxVq+vK8?T2b10ft9!#MXq1(G%a<=(5%1?wEGzWK z8|sG>_UGq^6Shs~tIn@v77^bj1cT@_XJ)J>u?qi$=5$oLzd`cmbR|r0*3-xZLt64O zU2w6Ged?Y_q{>w4a`H>_bqFLy?0pzq9bss2l#CPZ#{>Y}p|wNDRFnH~6aidm!oUN! z@L6j?YVX87P7BBBs;vKZ%OFC3!q@hVeQh6#m(*tjr_s-J{WEih?)IK;#kKP3G_#1* zk>XrzF|>xrv;66C_Ed@GlIa886sGLT!zwF9_(Tjrr_1`(6!M7HYB0d2SCAR{uU^J~ zadl9lFohbT*Xr1}u+oW9IpyCMOQy0Vv;v5CZ3;yYc`GF8p=StWMQUa(B=^8Y&(@(C z-A0Y>6?%@}1S4C6g#*s`C#~`TFT3c`@hbH^U)wiMU)zVYZA4oLBa}>04d$yT>C*yV zD6TMZ#+IvQk?#B|7i z#v_TZ<^X~TTLbU;BJk`jh#OyL5?r0z)qT9{;s|f>)pLB!3ORr^qJkB7it!X!mf#H4 zr~~+@nvaMIPbsQ9(wMNh(#DW?Pp=bql~t=kx>uZa>O{KSxGhwuDu%BRM)D{O@~rCM za3F=3)FM==x|Qk37f$sJ=W)MD1Jnchv9yOuIWy}N4S_yWe`vSychA=-r6<-I=L*#5i z>11N~hh#m0wGRD7)SwlT9@7{@zPu+AiI4!2vLB%b_ z=Rz4=1a(^;Lj?&KBtfriCZ9eRvr>=~LL!fTWD7cj-SxZtiCk34oa}C!fe8bC>JG)t z-!8kCkJENFD(!k@iQu6tC@YJrBi2%QG{H6RwE}qJ?51|q&{Cv?tg4FDo%L6RW!^=I42>qo9Lt80e!$q@R{rB`jAtME&&C=>km0Sijzqz)>^dBeNC+?QCCO1R>gMsbTfTy@U{2) z(O9Q0a7|MG2h&wbe{~(|mNA-h+<62H+x86LJ`|xO_pGnGjL&BzTLP;<#1Uj|Fbx3a z7$h~_eoQYkBF#Kt;+$Fus=`Lhr?;5?SNhkYWtKTY(VvfM#Kk>l;C{3Y!`sxoBp4+LSqgjA zx*sIH$RKOTd>|0RJb$ik6ZBn z^(TMO7v}O5m0BzKw8f-##4g9$=~~}%2X$Z2+Uk@t8*LNzP+Y3PEO6Ex!8EoSWS}Yu zwZrtV;RM7N8Mi3pLMPxJs@;97By4LVwsC*F*YfB-dXwFWU$RreU~sK19o_wIE+Ee= z_b_H86ox%qm8~*$oa&y)4OpE!S9M7GrUwZTCF8SBHAH29le3ciCiCx{~J^4`$Me-uBxP(ox*4%C-vh_@^UHJSC) z1UtrmyrGjalid6B^rNnq_NSQb;4?QcII}I?9qRmG-e#ePRog^(cuyK!Y;j_w2NEvoV!@jLjZVI8=`tc!?ZWGjtHz!*>qC~C7md6sVyddw8Zn=Ncl zs~gqp&vr|N*Dh+6qvvRA5DON}l)}j0O_b!~$ooS#zY&M7DOFPOx@mD%BMdNM?*ppn&|!w1L&j9rh@FzQEqPr zV*O>!cSpJPzOr5$_?7_S_gaVukr^obDtvC6X-=?~F|9JDFlIUAPh05Qclpy)%M49} zoerb0iD1gvM-Obsb!e$R&1M~)ngpPbe#|yDHp+rh){A1nVCx$rv{^8KD^5iOiPB8q z6X^D=m(yY5zEnbf2K2P|$bQIgvmrlPx-!?Uo_t+I0#*slf~ULICsOi5f!LP$=K5|! z3ayS4uf;9bV896iiCyrAlq_HluqE^H`$&#s!JhvdLekOs=g~6%xg1@ZN@#kpAZXB=lHb75m21WER1E{hE884yX(a}H&m z{L*1$O|A|3CfThFp-AEal`Q%iesPqW2hmf!1Vd*zVCF;?=*xDZ^I|8wMGZ1fJc4Rg z`iawh3nVs&Veu)R>HcW!`>nz;kmuAs-#E-(xE$j>%)Dy(tk_qmPwVUXL;BiIU#GfR zvJ*Q==eN7mjEgu5WoUPj0;12tizg$dYs{@oj6vVL*Kw2^F9$p}J%lWEb^tk## zJfoi(evE$34R=T%bO%pqjtg|xl)%$1StWB|PjMlzkMN?jU-2cOkX1z?YmbDydVGFV zAnO_-RQxh@usNLX9e&i7PJeW_Ib!TUWF#N2M&F3MO704CwA>QUzLZ(HdmU4W#c)$w zTm}SS;v_AN8B@eeh+WLG6p=~G{NOqzS6L`wf*BwGJsg)UhU<}!GTB-LF+gDhA?iZk zkl3oPrOAtf4i7`HGTbh88>ez=n2+=Hs5H{y=44u?RNrqp0u^9Ue1i~l)I!aSDZK}n z8RaS)GBY+Y5~?L#2q1HAvE0?^HJyv4CpG^Z|tfH=@Q4V4C0$nY)dt2ssI1 z_?w9V#iS{s)w$jN$Tu>Hxd|pP(?>zPj|QB^CI8SmNc@WwwI?Kda!Vr2gp94hKxN5K0$ORv=YHuAF$SRo4oLHORLk;tAyq)@@ttc_gKx^DQOS#XpHN= ziikCF+YhDerF{4U(}&;>r5PqmQ?+YEY=-y>>{X5C0MvA<(y?RyuZ3VQ$?IYx(_-EQ znb0!$36Z@8FA@Ct&;!)Y-eo&gdA~8Y6za>z3+iD&V|ME^O|MNVB_QDI!ACO~&Q9ML zz@Vkmp9nEL!;d}BACH3+Dg*{CIdhvWLnHMTY_Y6P*N2$2)1eAGrE_o(Zbg=>GU*67 zoL=Dfi127Uz8SwBff!gGbqpLi&=E0y0hm@->Mt)4Rn@whJ-&v7qvu$0?KNfvw+k*L zdOTM47(|Ge2KoZiRETmT=IY|p`q`bkBsYGwEXNv%-`f>W&J{7Z}D0F~J|j>5c_u7^R)*l!TV*)oWO z&h~y=*5HcCCiItk;>I4*{fGhF>AFcX{xkU;`aJphWbM4q_-N_TjFb@V01{Jn@5FuG z)>XnqltHHo5RD9~po})|M;T@5?uJr82YN2pGRnv(Af3$ao#3W0;4E^*Raia;TdjyX zfoDUZDtWt{!5aH0xhfn}+X+MIK6@j_#ASATfetC(=yBhXAYEz0z&^*Y1UkPrI}*mq zm>NwrJbCePP*e$@j|9qOtVGTRORh*JZXE?9DQ!=IPWSyAck!0azk|jCuq+%Sdu>n< zZHg)!D}rv3HGiVDb7H%n)T^#Y8ZNaMS5_hB+@U%BmkrcN4LMC}TC#wYn|#{>F44&8sBcll-&>pO;rK>B z)9X(MZ;r;k@J?z#)Ix$+E`nArpXL@TabP1)2s+wt$e&E8se8NU#N`~G^doA164NnC zwN3Hu)3}u*-#^_LX@sB^4TLNH)2xZ>G2^?Dn%tdy`inqO25RDF2*a`N_v^q}dLK@q zZ1UCfe@_xd$^0w3Pow)!b7Sq(gH7w%hKYM$5axe*UH6ay7Kl;6;H06aD-3L z@x=l^rWl!J1R46}lduDY3Q|4 z&~Z$acry;Q)P1%Jx>=A=yH$-7{76G{^+KEk_0%-I-AIvQW6XCaNs)Q|ecDmc0yYzx z5vig>d>Hr64McY=TQ510*j6kpQ?JhZAzE9~7T)|Ky|SkvYJMEUd)tHE~4YLxTs(ib*6bp8xkrb&t}cCwM0 z5V=r;U`pg>{lI(e^J;NdP}Y|IE9Aq{xS`(}zq_<&EC)BT0k@{7$Jd~_zQ%~k)!4s5 zCc3>kHHl4N5I-Ei(}w$%i#YyP$f-v6A5J^ZaQrPiNZh?6I}N{n{S6&)GY|UH2g7DI z91j#4%u_6&cu;7w`%j~h+;88|Tg3HSbG)f#$uJQb6cGn;N0l<>uAM?4i!Oq|$p?J= zwSi>7z9W8R(J$*%#VGE&q?Sf14pgW=0OVZ^$TW8(2=$I-giR zlHS$37j?3q`-m0ju(>(Hb!i>Cn#lg%)C9XIe5;Ar$=9ya&`QTP+sXO#QTr9&6VJ6k z95o0PxcXqM08$7BK7ikGmi$m~Z__7&VTzX7j~3JseuC3V53~A0#>vL?Ibm^M*vMRO zv`y5)ugI{%O&$Ii;uf68o8afy0^o!7gN%ns3y{gxqs7?HuG!)&X?>QCZlb?BA*i+BE|Wy{$dobTH{tK`m&D}DV!zS}N~ z8($wqFTrfA?Yxlwc`1ShZ0NAaW8p5OxbX2~X)i*QcR*IK*hlUS!_#6HkiXTwoTqm~ zGOJFBa5jf-v`q^&=8lEJv6J8#Bo#*xbWBLYozQR6lbZMVBicdqpJviEv9lHLufw0v zv&$9(E=VHVk(^5Uc`Z!^F_wTyl+y{@hW+p|D})c}jttIAMobFCHUSS&Z16h$3V|ID2_5*cD7l?sHECtY?t= z%+RM3+BpyawQCLbv}}R8M4s7<*(L6~h4e9NuQ7eB$>Ph^xkaEDHtAC%`XhKjUex4v zi?}5on;mQCf)VPV)qMH}FxzipR#*k03g`4a5l116r_(yBL~IhGL>TYi5j0_#^y09h zvk5|xS6~n*A^~1tv7iS{V)$0@U@*3nfH3cVRtOTq%_~e|SpL8yh5(ncfQ!1yr&Y%W zN>zHC2*r9sxT1KM(1ihU84xyAtYg=dyvd@1^0;? z6x3~twdQu@lh&~`?fwoWN2A+bLp;vfX(Dz{Gsxsf&-#;@pvn?AoIsm1jgQRO1;tb1 zujK`&yQfFQ>PXxiD0fMS9!Fdkj&?n3>t)L~xJPqFSqGLPPf&fm%cq}-<-{sJQdzDa z^^4n;!=z8^B@~wxlL0L<)XL8X`v(QF?rBWb!pANzLA{D)PT*U0DE!^31e(Tev%pzd zbW-JB`EsZ*YBV&@2c-`~beZAkLnHC;#VQQKOs(mQWzxm=fGY9CjmURq%iM zUwCqBj9x5JVhcMgagUiSB5;5m{eC?5sR{@CW}gSwvizb^ZDG3o@ecmklQW+9PRMfH zHcZqw`3FhOn|IHw+0{+*nh(=R;+|FlNs-2JTVM{EznPI{g5uW;$qAuLi1q6tjb;nk znWGN`j~a;-UCwVA*{kIl>%OpBn0?0)I!wvDbA;4$Q@Pes{Z$-F8KXm)AVH$fbg3v+ z30w|2A)jVMunlXq4sba{R`yAoAo zXS_dEy*HH65u`FtRhAKVU+W&OEaLJkx%*l85^+b+UtUt2`h&19VQ&rxo`f`Xw~g%R z@5hVR%Gn5HLpG>3K)iF>Gb#zJHl=m4 z{hl=F>xoSX6x?nR%vAAqJA@#~j_LJB_lh=CW8Qt$jTe<8dI-C4;lx{+%Ruqk1nSH! zvb@7e-C6!`8>##5K>7;e52@5YS*dpoQ%du@Ut3)U#O^y*Dv;fW(8E~jyH+X^=b?vX zto(j$O;5MgcMxN@J4YnIVSfl%xJ}dLepC&CUv`wzbx3(m2T1kF{s?W4g*+M6?N3d2 z8AXXy7M+e%NuZ|^RuOAVWT{JeR6KPf3@?r_&0u!>Bc^q1>mWLo-!6gAbfdM$aad`~ z?6WQ2;BM&lGu*>8etL&*14b2Y7a50CTC6AOs4eI1LQZ}6esY})a~V%lUM#Jzii#47HVq}QV08SnD{!RR#RPZk@<+Qp_`tMUOYdGuq-}dXjKolR#GEp2i`_vPdi%QQ+r#7ER1uS# z$3(8tYh17TWfFi67fLt)pjgJzHl-k2vFnS_UKqY|QVk=uZ2kaB+L- zQ>ZXEQOq#*8}$DE4W?n$saL>bO&c8y^Z?O1b8KAF0%EEH@udj~%$z5z5hoF2AB*N+ z%W?~4X1EW&p<7t&xN=1HDRO;}Pf6K*E|o3{!u#MvU5k9v=vc(Z@$Cg0J~<1bHy+kh;&V?CBIn?GVdRi!h96+33aBG8ogddEsLX&G7LcXYxPgk&NbHrE4gm zuuVZ0SlHt0e__H%2Npb<*>}7jt>2&mbS$>+W+~3a_8?aQpP%oK?h+|{BuWf;dj=gP zE=Qx9_-}rEWY(F2fF+EdUE3r}2zST&?rn_3T_|S}_x+Kk6l?TjNzm7Vj$hk%vca7G z4FW#*OMlSMEHlj*mYs;F>Wu&#t50xyw^tzBABxC36Gc0U1tA3){TzE0EfS>p*faf+ z=w4^}V{gz!WBQCcuG{uPom;?#JF?%O=$3OjAOIL3V)u!=Jq&mMZe|uCi~ADJb+tks zZmiVWZ#@vbmLcNljDnAU%AuCHw;bZv|H{|dIhnX;O}7zo1!rEy$RP9xj0`|?4o#1L{Oc3K~RK@|! z#%_UL*KTbjh#Bguava8+tY5=1SVy|s44*vekGzTECVdM**4_WXa|zS{7HV+sS-YF% zJ<@&Cb#!z?+8(FgVkedO@$hAhI-&ueRM}zR;T> zQlVxlEK-U}ii1)4z|g-i{)oV)*f}Ffq&nV)fK(W?4Z40Dk(vwA1j{I&1rn7<#P7nB z+y7<_VEN}o*>Zrri$3{BjCF)CrH^PlAH?ScbIs|5w|?924b zWoO?b;p{V6{!>SA_EGs{Yo~<*ckK5FJd>tTNa37{Lz1)9Zd%)PFVniG9Vk+k( zn8XA3-PO6C_U^sNguXskgOkZRwMo7cpAdPoC*Ep+8hqB!yLB;{WLtreU|eU z;Aq&&?lhq6=0jYzQ{E0u)-kBEdU zT&Np&f355@ zJ|JQ>KGh~m!P|baZ<;Mh++Wcf=z6^uKKfXkif_~AK%lhEJjCrRnur^r8DJ zsGK_JKwM_d_H_&0S1{b-5En(cojgwLb#b3HGte;kngzb@CYy&ElQjf$0@jN}G}@0s zk@j_$Z^llVJOy%x?P`t_#FQ%D46VQ#m?h9LM(Or5VTlf9$;roYhsi z|3BZo_Y%1} zaZpQ77rfM|G_>qwCDutz6RcBNI%;Vr?f3pXYkl|ZJq(KdJpc3izh2?X+27l`J?mM| zde(DIqZ-4aWZC=GKhcx2Nzg1wywq9jhApIo#3$L+T>sdBnM2&5T=6F!Ikq#Xgh@jO^)NZl8`}v`C(~Mdc)Zu;I;VOQ zTCz<{j1R#;ur;ojNj;V`M3a$@BDLb+IE(!Vx^eJdRo_O+9$E$yU_Fe9&srXn`nc|B z4)@5D`<+C``PdfSGc=NiLLBW7`$nnv>VJp)9-P5 z5Fm-N{S9Q4S-0&1u|-?F?6c4XgWU+;TqlUs1!H$&&)q%mH8jK<1bIijyICnx0pvqQ zQxxt+3&r9INEcUQVNasVeTMNi@j;W~BlXi5zfV7mT|ZI}V^gf6=gD%rW|in0{H?@n ztc0dUZPJtd@^|+VrKNb%v~YJbX}9MmjXj12b~9;=;ad@VViiZ#vUQ?U%v-M0uWQtF zTC!!%(xxdyuBHU%4pMzPOc}_k#tH0F0fJL<0TBY;KDWqovSJbjFd*oXC)i7YKkrQ8*Fi6 z_lF8CglqI1CYf_9;yrRZA#7EW16ixE%O1_1EmP4z$fdiYW0Maz@i&#muAw`wx!F#4 zk^3-bbj_`Jv%A?&sFK=mUD6g9z+M}Tyzt{r&j4z#bKhdy6u`3X7Z*re@Ug~DGlR*v zFKN%G=8W(u!-4~bPjR$jPJC1)e*(q$sw}CRGO=h^QCB>nM%?FRE~&m9D@h|=gWRtd znS7|;bumG*nZ$lkP|~g$O79|1okCaP(XOpxo@>n^!Tph;NA8ac(vsT50)HueX@P$L z8>IU*q@tXBUu{%_ObM%j)quf^t{C92St_0mNJq6tl~N4_Rj)57<=P+ius5F-;S#dF z=J^}Xs39(43nbkGXU|>PHKy06meN@U?tDFU?Bo8lptEqOoFq-C+$~=QcT+#8+#ess z!tJBxOp$qm-u$crjs|VOcbTQEyVsT#I(t8C_p`;>9Y*>9$J?n0+9D#Puu+M73~?Z> zO@+5eFz*R1OTBZSakJtTg?2+a+Q8Q`ckdvianeWYVT@@*?+ksjxIm}2k?#!3PTJ*r zF&87) zxCaHMaLC+SY?TDml6dR1d$|Fd-uwJZ*Qe|IEf54a8rIk)7wNpK%Ga17Y(04+;bWLg zGH(QnV?N09sHk8hxhp4G(ujA)<;TQBHt_n?z(q=!R>=FRZnG<44|=Qbd~~V)%k{pK zA&*#A>(nug@dzABj)})N#^Z{)+i~ib=Wg}sc4GwN}g&EBN18VqQD9ZvbtDm6%@QP-+ZQFLxEYzneky>V?`nNFnMjX1*f# z*FBnjBm1AAKqW)St_JJVT_n|8J!bgIc6AAIz@dCqa~yD=Y>QLp683*qAgqmT*`$6F znKCC*ZLlnTt>QAW27F9ffjX2&o>LRw;5jub0bp{9xdsW-%FaxzH;k!S7Z3kvTtkSc zrg;3Jyuf@x=W#=cD(IF@6NI~~!tg=|a75eN!^H;mR(ZSd{26vKZ>Gri%h)<-KuaE^-KP+;j=rTecz+tjYmT2r)0tk|SZIE+^o zb`tLmmT_Zsr{O}@eUpHTHSYTar>c@2fUH=)*k_wG>j`Zz2ffjjaEEm&PImQMCcFtv zevkPF>$!X|%+dza$gnNkL>~%exz?aWP;c1arZ;SmnHzw<& zXYI&{5VN-1z^tWH2U&>R<$b1eS4p`DpO+5sYb=@8ilqo0fFQACR+-d!F@N?mCzB=m8uC%jr(g+{@~`y;+Q$ivt0+gcXm< zhycX5L*mU|TRYG66mOwo+4>bN zQ|3~(P_fbyws58|E~uroOF;pMf}aWnnW7gLumSe4=+Ns4)b968tU1AJYfV|fCjg>Rb7*-^r02_EMDjc|^`nR+QR zhEIz}e2hCuZATu?1s0jpsiM;TdkLfo(^395xyM&#$$m4)EkuXrYH%cacJbDvqleBd z+D+%!e%!5MSmvwN5{p7aF!!z7)`a|PuZOr+&W z9jfLFD=}mo#!(bq2R5o2+95kaCp;rr=^kbn)c0NXBM2wx=Nc$9K_O!zqQnwG!2PFk zAJ>>?T(#SPnFfcwfvywYt{R_35=*lioYY}4zvl0&m|su4S)` zS?R1Qdt-as`~@M=Qek{B0_yn?l1F_xXw|=ooq{y?b_$b1z@nII%d|{0=!dz^B50Fe zs@SK&aIM5Y7q>GoA?04IckU>~bq)bRet3h4k^ zeYVWvmWiX|a1A9#LMRndz8FOc+E8$)j9byIpC0|;^MnnX^BE#;B%GDmx_JL%sS+kL zLIG5X1J3xkaz>0=N756vNA;jnf6@V-$4yrJg2p&r$-{@cc8(5q1{jE;xr{l+cg64J zTq`Bcm14lyrj|6t`@_J>^efg)&~U{>Ne*^4rWE3}n6wz)Q-=vz{ozvEWKu`hzV$8F zE;Wu>@n|MK*SGlTyX~A8##I*-H)via_G3^_!qjfWqMM*Pp51A;4L5d6u{}iw(sXLFx?6vqiKXdjuS|EE|Vfm`FYr|LV_LXl*6JXzvFVlXJ|t-&myv+tyhOnUy4vgdc1OWiG6R8gmghPZX^rx!>ce(b{B(Si-Q~>e z2BuC&0*ohOQXu$am24XXjEwrCX86I1)#jL<=njCzCmWMp=HUFZ?&HE=e}Z6ff`kp3 z{jfd2SsBBRa(As?+fNe{0ND%eXz8toajoSQjPwQBj*%GpYW6bjuPZ%DWHf0ldL%a( z$Vi|0LV5XLdc1%HaOJKJEm&jxPCoY&56HRZ^)=)g;OCK&Z1)64>ClpCoQ5fc$H^DS zW6JdbQ^Lpz!%`yhB;$rYFfc?`BznD`6_DV>JPM5SlgUd!uc81mPENAskK#6?r8Phw z?bT@>!le@Ytuf_*%rR2Io0J7PlC_WHOE9^e*-~xjyMZ~q!VuQ*gJr;%mTC-Moi8|9 z9u;uO4F%XLf0rQvy)YERzDKi#?Nj8wX0{&*n8*_)ZqPZx6Y0A!s?NE;mY6)R%G+;9 zG26%&*wfKdS>9Koq+`X$O#UeBRI1K<+MV-n8qmSjhQSVnSqgRQ{r ztF#*s^Gtu6JOwx`ML9k5l*G*!erDZZN&ERubBT+xhMajI7HFLkvuK1FS0{s)_JRfC zmyx~n>mzfQ|J1LK%$5F5r*e6cOpS97@W+55H1wu#IUL5ApKXRfvHJj7NoWo9(l|wa zxco_plw1D###LI7SZ?d@4#U&f?SufSAF+GK4(oQ}&XH0*aX(zyW2@tHtPXRKai@0~ z=^4OTx5pk0AdP~}2U4ycAN`R@d@tGKU&?G%&+vF=HpZ}a_CsVfEgmB@nWCHc9o$Jb zFvY?{<&tO3ORH>IypI{Ku|3pfyGP=S%4T?q>{h1B(g0CXnN1v+H;!8N6AAJzLpelq z(w++;B@N@;&nO04(=mQwp<%{~SGCsMfa?uW2Yk$CcK`skr&h&z0rO9@?XQeLdet~l zF6@ZkK_Lq0V?Hd0)zIc$=15eruUl$#=iE+tLDwonLgcEtv9!A=D=ZzBMyL~9Ug5z0 zFFf2&A$IVP-_PZC#Q!oWes@QF^6_!~v2krHUj;>lcEywVSig1RO8(3_6g%^3cQy>e zMLfrap`I7ArgJ2r5mYvUFFcizgK#K9ENx3vQCG51jNwCH7;n-=&P9v4wd!rz41_mZ1Z?8 z25oQRo<-U9S)6!tZnh`@J^;*{|EF7>&WK;31=BgNKlOvdj@Qjq6S3BQ-_?@@78A6uidd^<|kc zgX57O;@OGzZ4RxAEyV5}lyigCQ>i-Gj)thyn824O_Zu-9;o8#y$=;ZThHhiFL0t;A z;zb9N6EftaZv+M!K^b+x7s>EE$qv<}s+0G0!=W}hNdpRsVV#LB+?2lA`g(OIxCgK2tR~p?I0S$0x z3Rg!cohSdK+&@jTkByF(QTi|w=u~i8u`yV^*0v2FcRF#>7l%H7jsl+6cJ*^Vy zpwvi1tcp5Sab7^-_1Rh;o)FjR%&?A!A~PGTTlnFR8yx2Q=aNf{y>{5}b#x?6)2W@s z;=W&!ZArRk*j;pcZ>N{G{lCgnFm9TtjH`}7FAQJ?;nC5h z6kb)yPJ@bnJDv5|nDCO>L?Z3B@olBTI%04s%k9D7wL4c+ZIq!fD2-IHnl#QF7)jf% zDQgmuj*1`gbSYyMHIXe1GSAIi`pjscWiX8!bT4alMzh#^w|{z)NliPY6sD+xSZ-iZ z#mNVB)DgM#);S7P!B(v|M+`N3B$Hb;E6~iq}o3hhLH<<>WPY-BN`c>nC+w={(u)W#Zu@ydC zUiL6*4Lf33&YU})&H;kIVrmn)-&tTud}X4jC231)das!G$Zg_~4jx^;iX2`^8w83Z z2v}0a?m5!d$TU^`DRZZ(U3ACq0yo3Rd(s5UVF;deQ=x~((4aZwnGdj~cy<3-(yTxT zpULdtP%1oru{I6$lLlWw91ywL;2Ews>K`I&ol~^}gq(IT-x3eBOm={iSWj-hXnVFg zi!Cox1cQLNV>jkWDkr;L%F%x|>&X3B26f&8!44>(l=e&?Cp{*Vfi_?(_&I+ma(|Vr z!Vz8Z*ez6ZTUe9X6=C1bj-le4gc9|siJ}$@2%|2u%xpdDR~$at6xAp}O1b+E3X5Ux zz6-to^miQQi*#3XiXh zFt{|rCM{z4Z;s$}9)z3pT)p50oYVJFK{jcPqrj5`6qdXyKxg$fMMrrUa97SEyVNCg>n zbJSuUVjbArxtm<%4(f>yV}(=umJ6{(5f|aR=gFk3_N(Htf+8v;`e%#p-!ANlM;VMC z0>-1<*Dz-ruR;Hnq1fm(LQ_nu<~uJGG8PQIpl%V6#I4367IVKg?A_!6L{}xp`e>XR z3zOu(ewWC%e9*`}StC04?JSXgy40PT-7YzWt&*(}(1KM$kG{1k z+mkfeKKPJXLH)O1F&Y(`J47bsZlTs0yAug8`IFzIZV33bkY5AY{#`WcfEI-O6zm@aCF2DKI&5W( zNBpRrV;h@MC@~HDLt<`g>vlgOIvK$KQX9)S%$j!OPur}yn+HO^T?dOt{j0zL@lXmY zFcnfywW!Bv)o?S&C8UWI@hd+`5>vgNUXRDyA@Fo8^h01laL$9bCGb=gY0i%2gVP1G zOPHi;{1a_WQ$B_iv!b`MqJ@p$R%2QD>+}+#-fgQh20jJb)%)14Y|qh7nYixdjBWG4 zPWLp3ww2SQ7REW-U0n<3#MrG9uy`ax;@8bFr+1&~y<*3rs%OCN7)F}{_}#ll@gaPt zw3teZ%HU-FO8z)MkvYhuO{iF;95KDLR^+SL%AE(ASUi1_!y!czTeB=~_%cjWT!CI( zY!n1R6Lp3_)D#_oME2cUF+VHW9?RAikCh%4)yq2hvX6Gc7!xztHsTLwu~jMuqFr!Wn{=d5TSrX9?=uoPQ(Llkxf~JcB|J~5hL_R zME>rH$h@t5w3hDly91KPm}=u>OB8KST7*|_eS2g?=vB%`*C($Ad2bezKL{#|TuCh1 z6ftKm?57>_OEY6c*nV#Nm)0~B=6J+1hx>7h zS@1H+J)st90XTGD21MpdGr`bX;z8M4_=J?tT65{iMr;HRESy<-RNAPWw`H2&?Zh+G z&x~u%q{uqi--t-&Sr87t?3{&9Y)v=C2eXy{)xlfi`njMtCD|YNdoUi;l*48|fw(mrmi`d~Cq4hfm*_C^|wcFiPX8YA+t^Ms+tiGF(ck%s=7ZKpl z2<%XHk-@f;WIteTO_-^=b2@l7Qp;zcJ1X0BIlab%r8Ai}Cz(cXIm7AKwh*3qlTLU;(uzc+|?d-{bD*eg{bx z_S5E{mg5+b@``if+!~@`tjIRO4t61CpwG`UlzSNdlfhzcs!x0n9Z^7rsZw0wU6%wTbo1PahOElAAsGqUjCQ=*@2XI zIh>!do+^rP=^E^_$KrZMA_zlzMszLSXfT~^eL2mvv7BqtOg~W4)6>D8v~|^v=WxbW z#YMexS1&hlio1thn+(CERkDXXC@aLNG6) zZ^7Sa#`)LH4=bAj53LLpoETlM6WNzsYyH5B}Yh{bX#jjO?9J z^xuQZwJ$~}r};lRX+_(-#fwTNwzn>wxCaULcKZp*Nqr@6i^a}FOO9I9tCGfv$1R$@ zp#7{lB_+K|_mE{TsPHYRoiz2kX55?AhW4IBr!BJ=wJmrT*L<7Lj>q+~+4E*C4bM^H z`}}-ZC#6|h`Q(f<7NYu})i&o0)deuI18AS!c1B3n%7fl3s+g~|t=Pa6r){O4G-03K z@mX)$R^Ejwm3Xyv$(-4~oqRtjQJl-wN)+XCA z$!B#{nK_`uS%pu|n$tRaY2gE|=Pz8cfSUP!$% zkBZa#*{~NbURu=Ewsr~?mMKc|N|CeX&n{|aao-0;Ha`?-om2Gv!o_E`7q`&TzG!w~ zi?bKZYAu46P`~hlB`apnTGC1_>0GqUTRLZ!%vNYlMl9f~zmd_(oHJ+5KF8m-E+|az z$H%khEGPove2m!&Tbes(QQ_^fK1p6RI$IB|bI$cGESe=GrqRM;vlpK=XSR%Gta~hl z#Y@B8?8S@P<}BCJ;uVl-ZC|p4yqW%9#nM6|SWDX%g%@+qn-%a7jLd(3=7P5Qi#&MK zVzafB{mp{Kvu7E^{1OCL7S7jNW4$k!C0uJs*KTU}!-uJH5WSnfcy^l_P3Z}je9%jk zYzRhC{2OlubkHw?7K5`qTflo95icUwg0;^6{H`GSlmC@KFgwu>=YHqL+avP_MAvK^ z3nNTZd7p|2r?V%B8Q};zT9P^vyXeQx376X8O>xz=RZ7+fBV6VVKwN=1GjY>0`%7HI zPRg!dae@-iyxX71RR{S2B)r8YKq4YLBqF0kxJz^%X-xH;^K$I~5~h>=HbMwc=Elg@ zWeSfXcY;~#?uC5N)vFaH{$l^y&rYHAxYErM({hlhLObaNj^K*aiKdTu9ue^}U~J#v zW4M(mDO!Ugbv#^6P0ipM-{@~H0W9p%COl9w+aWSt|oLq1j zkepCnan2k=^PLL}7H{E-C< z?YYT+PxB9$SkE$h(SI3YP+V=iJTH!Jz*++(l=_GLaPdH<{R0EBK{UblOm2Y_!4UYw zZb1<3YT`<_T7~!bLPpuCe=o*NG-op1x&mb%_yi|usFTjFF?TTG1nO3b^ zB5j-m^!SqqoyGa;tH@P?Tn}7?swZ1bgQWyNXr9za&mydtz47?HE1U8UD41OjMiT_T zRBt1<83x(aahD=6n6{mTX!8O1y^sWkj)8&Fz4DVyR(w-oaX|$9e~RKNHvDX z_n%|_yBWM&_7{#Qz0k!(V5y3S_p6+YET7Z30{mBN&2l&VESZafzKQ6-n0 z7KXbh{5oQa8d)$A)F2rZaJ&0r4iaPUXuTNB zDor`0fxU7y?WBf;2Mc}8=w&~?kmdoPeN*`o+}@rNK)VRKrsV4cWWPv?HEFG0mN-I7 zr`}tm2xLF9rDM|OO#xabsh1qc0W}LarAvOrq_VMlX|e_}ra^C>_SoBlxX_djl)asj z5_`@Jr+&rpp}{L+3!SCSm%#pLm#Q4f_j=4^V)+qktMSnG;VK7F{#}$SPrd^3aO9UG zG2l4O)|)P&C>oo)hYeE>*1-9e3l(Kh>EO8`+M1~?5f#Vo!3$Au5sNX9bT)TP&-lO( zG9?Qa1IRNiu4)SoJ8U_>x{!#>+BU5f8wX+`T7yi^AZn3f^u_gty9j$w2*iln{b!C; zoKdnJiffN%?q!>D$Iigj{Wn}4HqoN7Oi?tGYEI#k z%6RZp$-brNXC9L5V0|ST8EuAd$sjLestH?*6dElFKE9q(?tZ%C=vf(<#AOH4#P^ua zD@~4rG}oAi?8R}}wN&I~b}@=mPh}spQI5I7t5dVY7SJRa*D+ID9IO(e4|%E$ca<`h z9;55H3GNd~F8z%YFAUbaGfD#cXfh=W)H^dV(^m9A6v_4lAY$7iCA0+pKon*6D?5?KD{wGi!LPj{u05XSD`G4%AuE0ZBH1iEp_k(+f)-0jE?9~Z ziZ<#LdbD0cP!x>?w#fb-^?0fAi&{z_q>uHA&E}{2jhE7JeFiRk5>s@#4m!OVkbRcn z7*A%^Kjt*gAJcM~S!|sU0Ni2#W^4%cCjnU5aR_+c1|)2bDPRrbpN3yRi1hkJ&9=?1 zVPBT(df9m3<+oCGkVwe80y;BVp~nwq+1wDpV8a)%^+)bZ8iY%I+o%f-b0{Gor_q;> z$$qPtzEpn_Ef1LWH^q!?0d(PJ651lknU(_6PF(&KyjMa z7h|a31i_G$I4ZFlL-2au^mZb+fT^-pc9q_r0jdaR@hIVo;qQxK&kLC{ z*Tt2m7;b}YZ6+7K#`aCBK{$-wyAm-mLw{s|SeS#1=$#ZP$iXd`@Vi>|2bDT}uWeLI zo(mh*b<`50{nztygbfD|7{J-+$qVf$?QV2k3?XuN8C&yC>f`3mI@wu;{v!-KtkB~Z z+Iflz;t2w0Q`_-9@vJrOy&3d*gdbyv)jFlGFn?b;lFQXmqX*V2D>V;A z=Y~eXDi!MO0;{;;Izi-n+QTt?lbhW@cXFdx`H4K|L?l}SLV}!h>-GRq z%$YsPF!G*eMMush9|GjjfEb9l&o9$@E_Y94o0G{rB6;FjRuz;mZkM-U16{25LIr>X`mk*se!mJFKbahX;9(1{ZyYrWm^le z1DdaS$I?fpEB)YuKXJR+l{9q zRi8$Vt@8Qs8fAvt7{zZ(ykzP-%S7)8f~WY?GPH!hH>uKB1&g|PFXEQ^a0rA+=Sy(& ze#Y+C{*4s;?F9m)#<>G-3Tnki{_RGaDhz>hW-l=_JT_S}$nazQ^>gkHRy<&S9$cjs zq9|xy0)b-%ghe2(E=Ait0^1FYooQN_RR|k`%TD0Vr^w^!phjq=?G(qG1-CyLk(yAX zDOG2u-Mr7b`5oWQC*S67-f7+ZS2}}l>;yU*_OIGTj@w#Xu;D3J;?00bwo|Fc4ocSrv?&;z4fqZQc}Cr zUNPUYYb46P@&MN&;Zc^y$h8up%9V3MFS4 zudvfXVrtC)$e79s_W`lx%jkzBm(WKTuhZh1Ph%FxXt<%{r^Qu=AI+MdsqR+Q#{2Zd z|SAuVfTq zGOjD`>`x&(749~S>gcWrP&EzYl2+9#l2wi<%z8@@N#&8n^F?}yGB=(k9_zqy(srNVIIjF@&DyV?ii`S;_OQ0YaO~dW>@KXw`a%_o}Ot zC6fow6=nY8-?!R&pr1TRVI!NWM~Xm@O;d21;Ll)iOP=Z%!{ARg9{~n{pv+w|uoLK% zx>wuM9b?@MEE1v3;-A~vw3H+FsezH15grVku<3tB%`v#z zbo%|al*O7_;3u-UyCV!`kEJn0CjuZQjZqz!<`MDx`7u8f=6#dR`y+*84)cDK#%S|? zM0SUb^3r9ps4kY8p=_K?*O6uEyy^EEiE$uI(rH3}iX}PCeIz+jN2!nVbhPy7I+gW^ zUvdGU}MEQ%E!{o;6fTzVLNI*5~*x0R1vLzA%}^F=hbF-qZ2F2)Z$p*R+#=q~9Z7*SWIQ^`>utGh zg*hH)YQ<9`yR*p4LTKc13RRJ|#`}G{i@LP8d_sr1;bdgi*nH;(x-+#K zI06KgBWJ$Rmmo@{QHq1Rhk)QZ_LBD~>)wH;-JQxg%uS%Vf$k%OzO}<#X@`lq?Zk(D zYb^&QW6}|QXJU-U)?fnRN)}`Aw2L`ey3OS zv|_V1=d1~7alT&S-xNH_8;{XWvGJHyUSvF`3Rd(Q(FEf$br5?rZ^{y`G$2fi{79Cp z$Xn2W8HLt9{~w!@{nK`=5cvPJ9Roc<$hX&aY~h@RRGXE(oVPsVa_)RtgK@EJ*3w0o zpUR?*yI%7uk?@0KOBHZ2|)W%e`YzEiujJF5AHSnlO*G!k>#l*xY8Vez1; z+}&o|k%??gZmvVI#-KnVob9x2O1g-044RHiN^r3$>*NOu4YQGI%#zx>u*7A3k zZP+%y|IOVuzoWj%?yY_Jc(a0SwcXP1uPl&s2LtVk_gD6)u)l`=OQxFIYK!()ilzIj z-t{%J&TopmEZ!8Yy`oK#C;3g0^%*ur3huHg@+?n(^<}XgHBXA|sCmHW!H$}nydAY& zr*_ob>}p3H9`;%W^PunM$D?Ay>F}Vii$#Xhye~GK=0RV>X&x0DPV)eYSZFxSlVZbZ z9uyf)b6;d9&3&=qG!Kdlr@1dQoaVNV;WST*45zs--u(1Iq2V<5g@)61n>U=cyVP)+ zn?l2BZi@}4c~E3H&3%#KH1~yu)7&oWV>r#DLc?ipcQu^mVcu|>>m@7lhST;YHJs+A z$Z$Fo^Bc<&^YrkB(|QrMFD~ zDY6SWYMhv^@i*qm#mnyj!FcluQBUCvslg6nUMQlbQgU^ z?-=Kp!Q&d7U3@5iG)nIfJ1f=ZpMzYBkSvH_iAXLbQ+e{R9R}(;rR2Gh&_3SUG74Qp z-z>GHI(QEsc#nq5)OKyH1k{+!m3T#J$EqfiSifGMsF9aZjTNH;LH(I2?Dl&z$6^C9+)KV}7; z1!nf8?(3PL4tV&Y?PhoX6>RyCm$6I%5 zT{T9GZV^VS(yPl{*44@-LFX>lt^lJ!zI+OYq6WYyG$Ki?X_rx+6h0G3WzcXVR`@7U zWR|pJxwl|)*Y1VlHGR}YhxTz>!#5ACXcoXCeM3J{&Y0=YcD&J3zlNY8zn%|>@C2I3 z1X4~hshznFi;9gnT#{a|FOWD_{zH44!q@vF$edPZR6>9W`6aN`BSq55?u>`Yi8p;Z z-xn_WP>O&@N{Hoy;>|iCCEGf@6zGoid9BQyf-gpgrVz0I9VIc29}0Yi)*QLB&Gak! zQf2_?Tg<`AW=)}jWJzrOa)UbL&>Zh0j7ht-QGK{3V|{p5Ez5%|!VbGnb+ldMUUxhE zlDV)$Ag43`L1##pij~R!?qtKn#%`~96s}{b`qK+o)C1iXJ|}|S7_0mROc8eJE9mhl zH9`jmx^{wP1%Z7zHu{l!&|5DEcTy_TfVl}_{uo}h&ewCH7FC#;$&Uo0Bxe+NC-MZ| zQ}x#%VHD;hPN#oW!eipxVj@p6BLTj4+Jg^1D4%}mQ$^AuL=1H*eGE$y2+)eX8 z<3mpcdEJkana5WmP`_;IHl36T#DISP}ux)Lirw^*bz5@bdIaC}) zi0KFBaT{{Wp}Nsqd9aM(w?WQw=J3YMIYI*y=^JX&W7c=T^?vO9)SkNz>V>L{8UOV~ zCiihq;B$@wi;o2206ZY@3+S3q?2!~id5rBaByry$d<_B`!J3MVE*z)XvV5Q45tj-ttG;+UGck7IT(1We3K)bq{ywJ^tzmxtH zErM-y0$_E5smdcaY&CaVOs6DbB&1CJ4RXo67YT}pVg4cNH->qhQXTfa7ceHIDv z8+w6MuttE=wbtQ>4La7by9Am-O5#y2asN&S3G*9|T}q=~c$Z5qwKBKvQbwCBwf_L; z(;1pgZq|rgW6f~BoI}UBpT=_f+9EVF!okw~57YoD zZ!C#1y!GoPAd(*ot?r+=Ph>nF@QIa80pe>x)S7tIt%CP7!F9AdLjAp6*mE1}Rpj$S z>f@^b*`j1%Tcfh=b_h6ZmSiF%g;p(TFlaAYKNs%C<%k+hf(Yi7nnKgzp{A&CV4$Po-iI6xqqasqys|Kp$rd>GD` zF*2SaL_y)Ts4l;U%cGaDZUfPz)*gwWUEnL4CL6ev$HJ?ddtZe@k5lV71j6Ntxi#)mK_$nklGW_c z$??cjW5PnojX}e&l}~7?`@#jy>PxNr1%DAgTcg(-w$-Vpfn@xWx876sQs|YbpvC0` zP?kNU^olvZF;L4ytL2*B{s|H2%&+;;rr)qR#+K-a%c;tHZeH2@snH5R^Eb`h^MpWgVCQ#@B@&*ANya{B$2i{^m38L8NU$~$tk2&Fip%N|hV#|*h5itM9 zP$f517+^W(HZn@NGs#I3^o5atmok9~N}<53FKTs(SIMo3%SAhI-EB>Wb`|nwP85g%w$SK^TWl) zX&;GP4|%Q%&kq9gI1LvF^mi~y5l@7R`aY;V6jbPM7Iw>ySvL!&p}Du;o*lEZTH0?5 z5QQqq*xX7|l;ghZcA`PkR*#*U2c8%(5o~$V1ul2D8@Ss66n|48(a8R?@O#&%Ket{^(m=L2onRUZxiiXHxJ5IIe}M)tt}86M)1yTwT6FkH zi*}1WLfzPREj$hDgXke~AKgm5ERG2XI{I70Pvz(84m%y?PbKMO^@r#R zbFk7`#K=*nt=}&IHo?l)@9m89FKl=Pea5BcVNPm{MfpZ_ISmgWl?>=e`)Y)qUBDkH9%4+l~Jv{${Xt1%M?qt-BLpi5A9nI>H!dm+jQ< z%!>FrXrfo&S91lgD&5m@)CM<8i?`a5&TY8>Cnfh&cH|rfFT#&`Oyz^0QdgzD-$P0k z%5Wer#P+aI!co6yp%ffrDEqSk(X+;r6QW{NSp4fn48;4M4I~jXF}AB$`my~`htGns z@#=SWFo@g>eW7ezOQpM%*`c8)E-*Id_l6I}%lSd7YovL;i2tP`t6Ow8(<7P(eA{>vkFy z&imT6;n=glW}33LaniuI6a{(>Gdm?z5M0?kFS!3D)qgA2VYGPvMf z|0+jb^ietTB(HL$o??|FFGI!c*hmI@sl06l;|VH93I^K@?5@HU&k7Wce496eP`P4D z4W1NRYVZK^imD;AU5=jqtG7YJ&%Ttu}a6Y_$;{6n3}BYJ>O1 zRvSF%Yqi0nVyg`v^iewUq*&?5gCeCP_eDxa?u(UBxPd($Q}7N=Lg(m5wU8l<;$fP%G3z^1fIL$%7&-B=<#HNbU=@klgmwLh`6k z3(4)ST1Xz|wUAsFXd&%Qs)gjHNDCQ?`88W;#-SI%jDyR((vj<8r6Uh|%{aK3H*29x zcXNgX{vxf1XWp8Tivnv#?s}~mxnc1KGGm0K;7h76$dJihAH}0LVtlG0=<#$~@`w7X zaF8I1M-BU0Y z-*BFGKWRAKR9z{aiQ>q*43aa_GReSSr+t~(WB(X8h@I72$|7XKNz-%9 zlDk;iGAga=B0;x9e{drqsCM{f zBtj;lu~d?VzBR^w0CvgBq9D0cB36L~y=ucjMB$4YHt^p2Xw}gShe+5erRjo`SiaqB zeu$=T?jL0&$5Fe8KlMXUL4NRh%q0(*ytFqw({z{`_=9c)l{Q92{s^Oth`Wbtb$RlI zLK8^BiK|L_rXMAbi`tO(yQ`KP1ig&^<#c*Crqiod;x@iyj!56aoK%vR8vjiRad*ZC z5oN6uQR;CdabRW$YRsX<3(V#lZy6EjXPA$yc#Zc$5qEjIAU#PFc<)|vFyyuhKbOh) zM^1~!9!EY^99#ud&0w zzS6*GT;`t(-!d{ZTg`ka)l6oL42$g_V&e)jBxN`8*bUmoDf2z^9Ol9m-9U zHqFwdn$53FVUcfA5XES)|`RzllY~jmppMr@j7ZME1eA)Fdc_OPRH%s9nCfFnk-h zAEusYBE65W$9iX^%HCL39%q@95Ed(mk^>U@5n(cg0Ka?EwLZkl953B>q`fak4p{H* zIloKz=e`G6Y%xiKkDAo|YvG|StAlI~pJ)OBQN<_|Mu5td?!78~o#NC~#Y3T!U+OqtDpH{En0GS@M$-dam8p>BGnOLQ(HI>TpPJm6AhZw+1;3D5{WSGX>Sfk1N>Ay32O`CQwfg%QZ7h3TFMz?g#Qnhle4hch zMhYt^A%-i2Us`}Qj3XPG6ep3Jr{xBfAX_4EAmE4dM__Ys*2rrEH2OeAjRdIZQVD+C zWgPVC-OCp>$*@OvP%7vVx%-r~#!i<{`3|KAZ2F}f(#fNRxHIbO;Es~=++bShN_W#L zNTz#gKWi4WEFt^EJ^h>AbIB)JsMepRyylBBphjp4Yu5;S_?Cd z3@YTiaIAqs-kg=o9<61DQk-=0=_z z%8ejZCV556*@}qKk)JD{ka{`?lxQi*Y3%oNa4eY?MI8wV-RSYdv>Up@UAY{JU-4a0ukuVK zKAnC!uMf-F`;+dnoaK5#x>wpKj)Y)wR8-@*pssIucyOIdUWyc766P#EoH_la#HamG zS5STnIAQc!Uy%A#*KlrZ3ai5ngzB?Y(@c=Xt$r-O1|H>P*fPPZ(kHH;YXg?lsLmrm zx55Ls&ff1?ExkOTm-kFbcF=*(m<-$}EWjYBw?Fk_m`4J_uGqbsiJWVriw^QIi%%SqR4n=(N&4UJnp4@ zvY4pkHHv(Ddk*Cv3|flmCKD5?uLP2EWhRM-d!98e3TyOZYdq>`i@HeEO)T01z33OG z-eijqQ2QURIH%k2->P>%S%E(|Q+gX6@nb=Bs%rr&HA1-?U_kf$4z^jl97Vi6nJoSU zZ0NkUkW=M6pP5)2o?Q%I_-^;)a?cmu3}-3$MspQBm${#+Rr9om+5xgC5{f)?kx-&k`Y6%eCQZ%s~yM|nLBS}cBft%UiRFm+%>IkD-WW`7b(0Y%p7K^jO zcI^49tF=mvi_#x^$BNK3)hkMv^NHe}jtFatj|g<@Dbb!sjeWl=UGKKg+Tu!1YAUq8 zPobRb3<$?zhsx>kprw2>o$O;k;8<L_+k-26GqENWw8G^NSMm`ZK%t#FxQt zjh&c~Cm-5v^h1`50O=W^a)7%o)_|o@da@8ol`r@y+}vjh$GL0Znph{w*t0ucLL|w! z2q?&P86W2EKUco_&KCKd&3%o@e4|~Yht;uZ05QPo-Cd|*=*{++qLF(O7FzwvbD-`j zQf(7N0!TanK(z4_+7QD;3;V-LTG(uhw?PKi&P-p$AZX2-WMxJgNMf1tiIs{*ohSaH zln7=yPPVF$M`TZv0TfrP3$C_m3Xam!qYmc&?Ss0 zC)kBh!`tH$dB-1hQ|HTE!r_+{i|wb9!_r?`Gsy=L-ShxQRsA@L19U;`pRyJqQqqp$ zsNQ89-S6XX5gF*|;r?!lu2D|uXM(>5x|l-3MuIGGZQtW58YFF4?{Ne$5^b-hWfYTa5IAu>9v>Nm zzywZI@;#Wgw5y*s8H?}gbCO~aSbJkO?P?F@_Oz>#pFCuOEHju@Zf=`QFaRJ%N@tOg z@CwjI2{O3)!M&Ud2IShdVB`_RaIsn!gqdTB6jye+uk3Esvo);@wjS$mFZ~@1zP&k9t z*S3*bf#)+TcFO`Kv(}#WouW)nmmH)ULS=Dss;;b3JJX^pguimvgU}6!@fZo8d(xkI z{J9ni#W>h)_h1}!)l!U|0O{Fr5vFqf0fXU8lhib07C~^Rl@fUwioFJs5D|;Kx~U+p zfF<6ooK=J%W!c_b&I${2DCvpa32pI#?lQ6{*SkNpcOhqGvshmmRrS+4Q0sHJ{)Z&I z|9dUl2GMD<fLkg9qITPE9)bOqhC9Z`I(|sY}50Qtzl@75uDp? z6%TTcurF8xy$?bhu3m}d4U*Gxel(6k`>wWGEh8U(M)u0#5PS%UnVXv3FU_1VadhJ`8JpH8e$rdw#X)k|_~rG#7)2)H)iBgDl@!DR>z^ovq5oS2g5?WbXFQKr!`ofOqR|=Pl?OUmR&T*iUS&A0E*!> z92=ix-oxH{9wCqjGoK`xLx$RX=rB@_LD%$n=xhqjh{aJx*$1;b6s-TGcL%l8EuzE{ z1i>Wc_Emp8DC?z4=?Z(;6(NQdGNxp0FAG%ocwM&L{|C;wxh8KLX1bBN+tqSgypL8% zyB+&-$sY&~f!t6>6#s~ctR+1-NnRrL_C?=`$dxt0Kq&QcZipgSjFz~3vu4Wt3~Fn# zQ#{&pz8RENw5@5fkYlc{$NYY>W=rT&$3;aP{Wke6O|SvXQ4?WowCE*#X_IwCkesW8 zmTyCgu6ze!2;&-ye;7yKp=Tcw(h{Am+>!QXG}|(WCn};}x=X$yLin)(>W~Lhi>w&( zCT@z69H1Xlk4e=sD6Sh9m#?7ztuTn~CN)MR##jUTL#%lHD7488R#|Oab*$uRrx^k8QKh|h&DOB~z%klSa=UKe zsP&^n5g8_rNPks-(U4(st6X~vikb3%x4OD`dIw+24>FUO_G_~)tuEkj22hCFcoHc+ zcGRsu`8F-?b&Y2=lfzX^=UQR*^M`uOZV(V{WhvUO-juvA;C#7I-nieYI5wuW$Je00 z*1SS!XVi8kYs}Il3&{x!;Ros)j*?UPLh|h>IY%MeORY*<$#Se#pZvhVDPr% z0io{vc9bei%rIQ(Zh+4$BJG16t%{2H4`Ii@^kN5lA_HQdn4FcF_inI*>?4K{yFrcx zNPXaiVzeGC%*rGD!sKkN)0vKH;J2h=Y@CPo2&dpHBvBLdKC6HDA=~}GSVopBT#G6N zA2yZyxRbKPru;_$*PSk_3*Rc>Ao)N}PM~fAamCx<=K>_Z3l~td%E*FOo-BxSA1PXW zCI~@G3B`v1nm_K#@rY|;4sgH^hDxJ^^QauH2S;f)H!rD_?4)66y>8t=p45nSTtc1o z@jk=&`GcxP*B@6R0ANy#@QKJslkM(==I7kQC>A06Ur`R|TB8~wZK573L905qx*uW! zJ(g$mTDutSTMvE<2ti3@Xm3&B*)PV8Ltp(rsi{98PZ;Q?28%I_tS+clw z{_@mNQD%xo4=_o>R#7%av&cKEXlmFIpg+`UCpeU&@4~mQ`xi2!RkoDvXZu%V-ailWWCe-@p<>Gk~W$=03z z8=W7c2kdC2!&kIZe|Tk2>;#D1^|PdkY)Pj167U(f|DZ&sc`(87C8$;=C#LwYqhsNz zktmaI-wTuZ#qc?>L6#~yd4W!H6xH8OyENU(o;>i2$@cu_Y*ULq9U6QZs&!MhQ%|MuIl_Ai4 z)7mZ_TL}M`rl&poxRAVS zDIQOY$VrN(???IRyL~LW2w~|X(~;K-v({atwH2417)Ot&d|I8N0BG8zHK9g69NWZq zNX9i1w}G)mB=T!Y+R|}6J2D+d(6uj*4^rlg>szORt~SXLRd4d%@@mG&%Xv zy;k|=ja)fFjnrz=wbdS^@enoY!*8J>Ex=0;w5A5#(QCFKd0VM+Pv_h+X<#J(m9`Dx zZ7#Va*aCnq(&3|gVX(FCbT5suFjtfSDYb2;#%egSB=(8|e}bGcs&B(t7CG54kH(4N^n2 zjii$ZI+6s7*;8vvBcoqXuvhf=mz%i^?k%l&1jEYSUaNgeSldHJz z9Ez6O6NC5hlj)4d>4$Imamh+E)=2ZB$$2QB7flSN15ExQf;Qcgr$|42^P*X0H8S)U z&@FX0ngVo*e9RCh^FxzzHsQxAN{;pxfMyMd^NMOk0x6ChTRPn^PxcEBre6Zf>jz1s ze`|k3WvHLs3Mj4{A`HkPlXUkV3t)VAB6sh5w`+-Pm;o`5EB1|}W2F8q+B?7^5}#cY zm(GYQ-ls|?7bt-}pK|BERB4!)ZNwFckK7MtrZewpFsZ+^8DKpXn+}*A%?=Z;t*2LQ zYb3e8$pq3RCkIC99+I9GZu{1HF`xA0__X~_T94f4KWaSs=gN>Bvmm@IJB}`+W4CCf zpa&lOId4Md$SUuJ>1j;Dt8gu<&3-JIn*8?Yq+e;;Bj3&mFER5tFKQx`n zB8H|lkij-hKkOU+$IK^1C_|i}xItfI+@~LDEOL=7b^*v49q8>nNp-_zJpjfjPTEwC zvgc;2vj<`4)a8xt5?km=wlRUCCMMZGHwvYxsUG#AyDtwA*37pLz~pecmd4$uLlHbr zzkLMbZV-myJvmFe_}=b`5uUeqH`{|U_sbD7J>ZL%K5kr_aSvMxO8zjEyelpFqfqjz zY01|MO8$PBP}|qIeztG(Ps2i+8|^`vdu~|T=1dK-fJgR=#amEM4fb7tD0`-L>zM{s zp7=%6HP;r+CkA7c!J1(R73lNd$^H=RS>og#zvtmMrOD71)sD2G04Gx%Nh1t9I-u0jK5}jwz{FcvLputHfocX2|Wp z+FJF(l?f?Il{xBcF(0mudkpbdG#+zSG@6H+_LIcj-wt!3;jxG87n!8OeH2`C<1vD9 zr%Z~=#>CM94CcU*ID>#1#yA{|OIXA?_PF0=JVNT&^37z6m z_ySu3DJt`_wE1G*uA#A)EJl?l32swG8_A1hXYz+7jpCZzx(c#LC$)nOB687`=MSsy zVvTO3Pid`4cFcEN(E%0L@cwOqMrU*TTL$N8GBIoQQgWqJ!wT=fyDEJ5hx~UK;@Vd~ zPQQ9}9*}8}O`s!%VTH`@BTW}qf_Xb0wr-%Hl-lOsYojjT&hp>9ObXHPZ+_a6mj%G;Jjk6|MgzH;ZvQX%rPuEg@9P>($d42Iak_1S|A zIP`ZhdN#rmXAes7K#YbYo0tll<F~g|(G2wQqC-TSAu|eV%aF8oS z`t!K(?Xp$bHos7-j*a&@Jg#Of2qKhmbC8!{LZeB=9KWf#Lo9&A&HjpweFz|T^duV*jdI_<3VWo^ zq>4W@i2rQ8tDOXY;(m@hgsPFb7KPLVndL$rB)A-h9BA z=uR7nfKa1!%gug_e(7$qM=JPU=-PImQwBqZIRm$^ju6YmRaIO=aLQI-&u^X$*(9X{ zC+A)MoT_L2{BaG%zZt{T-Y)_Fi3-2191+21dT~5-M2s%|e;Jd{Q%D_>x zk1LEt3n`?0)2*!?zAfXH6zC9y+(@;4)pEeZ4kky`VjT&lCC%G8Umihy)p-B0^)H0; zc7L&m^!}8}vrE5Mvef{}^+3DAQcXtzEtp?6Bl+7!5}BS5kGFEsCV0P@l9|V)r&IEL z$rVnri!jyc5l3@mGYT5d1)+_bv3u6G#g57sakqb9EW3c671 zc1#tT(D1dqglOZPCj3mLzE_Bg6)mru8<)#W{fD-3q4NPGdED$BG@3(Gw)Rlo!ZHXY1?9LfGeUnGxsh5OoLC0;~Ev_BsR-%ws(KKvM17}t63 zS5(DLwaJ$h+_q)Xv_vw*$nBg8Xtpoxq?5g~`fgsF&vxt~6ArHM3Ke_DCi|Y*3zfC| z8dL&U1}XYzt$TiE088h-UNnHKatf8oX~s*to|ziaV0Y!dnQ^T2=J>q`mh~B@Az_1G znm;?rmbL3XvNJit7RCcdX$@kEuhKZW9tp|UlKsh1X8E6UcO2;#gs(uwKuz{BWFZ?b9lgTx1!rY(<+pBW9mgBt~&+a5$j*A@(ZQ^5yFu#S|5EiOG$ zyCTRGFv&C%fu+31W`u9gW1MVY2_7#{IcYhl*|Z#MKCJ8^oXAy0fD}gd!WAz&`;^J7 zEeSi%ey$qT3yH1GdxBk?dPV2{q|F_Fq6tJB^0%TLOm`a+P;aJx4CS^ zatKs>C_oSpu`h6HHBs_&0Cnsooa<%v=NQV$%eJIUy&C!=rP+D~@Z z+LpAnpZL}u-=(!5tF`Mh*4zn5OeCU-A;ZDVa{JZ zLi?Q;ZMV%M=YBsv$Z4)%uV?xV=Fb`w%rTH{R7-beo>ANQQM8i2=HHE%=Su#~6(0o| zkSUE8t>a)}mdw*A%wDav?s7Y{4fN^^7xS5H#@Wc!h8G!D{9KfKvK@?SFfNtx>g4zx zR8k|41oU%UR>Mi7qvA+1SEa$P^P4(ac+E*(Y@wwqWw5o9N@mCVPO^=$|0E9ilM1WJ zAc^FAo#o_Y!T?5!5B)gDUN^FNWJtes8f7fsxk|ZF#Qv@0Z z*c1;uoO$h^1-yK^0iXB1EZ}ovvz;OY$9op=lYEkA0nf9&g1{4F#R5LA%vFJK8*1G( zjN$)%rNs25Gg$#*?DBG1r1M#vmuV@_w>&yVDx2YM;5Nkr8n!+@PzPSNC#DH*r5eP~ z&0+F&22FXfiEK23YWZx6$?`KF@bqx=4B_Mi_p33P1CYSRoR1^->u=>d7%0Mhd(*>P zPv=181yEO;U?~u@XBMcA*j-mMvN@SNZH>)>`*nEQRnz9rFFarm8`0elKi3skjQ6AT zocNtK4~D6|ZW$(F_hf$CbX!U8uCduJ1i#Y*FY?fIS~$fxh7;lnL`xImQc)C!g`h-S zRE0K<0xqh6v~-V!WYjmeOFhUJ~T@27W$9DGVmK|rFoUFaj+zuQ3c+q;~k`w&l zkZwOs9B@;dT(_z_fWCW%2mQ#_0QxU;=x1rZhniNjiB0!cI!&}TdPpZlP~7yovW z#yF7=uJ~YzNZPFU@+r6`vDI>`Kbj>MmwMJ&z26-ZEsL={jd^*DHe~wVxJ%zJf78CJ z6BQ1d8oE{<`hIcR_wQTZznSm*_xkqzu7bYba^arPi`U06e4T*2_Uf^~Oq*#+w%YIC zuX&n*r|4LARd7N&WaFN<`UA(aHBgUfnz9Zc=r{E5Tg44-7!vD&@MH1e@j#>%tAT(u zg`hyY1jLmEuH#o-Q|x1+af%Fz0%-YpwyBvO$NeSkN6#2I5f&}P`f%!#3IJkVp@Xxp zPxF_L!Kk!eC)#dXDIxikHS4u+`YKn8h!bXGB+7DtVDo+rduZ9l|HIyU2UuBL|Nq<_ z=5iNy*M=<#1hLQ*dr=2#fT-gD0WRj zL}Q8=P3)-YF`y6f>iH*$W#$?_$HD`)vs<@}KKpR~xf0{_MS)Uwr=Mq!Sjx!hb+A@7Hd-jv zzmLv|IaYiMr?~I_MXH_G?7JUrzc%}(b=Ucd!^M%~U-6OGg1{Yum{y8Iu`+?|8NMc>5y?hvM2kCtGACMrm!1BoF z(HO+8lFCseTFn7}?Yv0ZNElC}-H+khxiXvVVHbJIX6&W(Dk@tP1#;5^Qv<(fJ3XmO zs2~f!*8O3;bj0rHnQWvK0-h5WX5vR^NRH9@ZDX#knIfZ8w>Fbb_^fiuicKkNF95|w&`Xz zK0l1ny7RYLI{=OjX4@#XU}MsSQa82+FjvDvSkrAIB7}7*iLLieek4W2+j}K|65Fc=& z;jAF-*QzUl)c)AC@Jjc<5CQ_}=UnE4G=XDezWDQ}rP53RtQUveb$n%o{`qNy0Q9nk zK#d`kirqI0>Avln$){>X$O%5RsB$y_B1P5#2WgdB*)PKZ1xDOUc5c zMa?95@+Bva*nZ(`GDL2!O#&Ll|Fejrh+NIgd1tARRxR z7(s3q{MpK%?`D+d->jtG{o(IsbF}O`5Z|ObM*1-MrE@|cG({K-L-_hHgITJzb>WOW z@N#F?a3Eg})f@LpU~J#)gt3{f76JRjk(qts5+qNt8B6QjVF)_+tje!y3KKQ_E) zN4F#kdlQ(-*;~mYUTn~KPRkyl*Qf7YQ)rE>2teLJ{XSv zF__*k2f|>OdfvWu;ZdgeK+y-AUFfa$_N^<3EO3W2wH<8c?RBhwhbF`Z3p$obOqv^X zlccHl2eZO3rF}I4P?VScg~8h$E_tcg0@i*kXNBm{4r6&QLDRE_*jTR3HxSYESv7DZ zbSvnb7g#-k*!?|x>y~06v?V?!dEOcpXxk9j68S^(b=sKj?x_sjWp2&MCODDRyXTs% z0M*6Ta&=^4Nt%EZtp1z~W%&?;)tY>>5mqZTl%FjyJAbgQMiv{^e#J|1@(c9&`hi;Z zuvHHCZSs9{yZgE(|9K8K6hRA$go%z4#@mUG04&k+hXgJEsbhpTBizjci9S!X{NEpz zOlXAn+ZZ`Hb-Fpyg`nifB#JE};qMT&`ItC&=V{7Nduh_yq_^`o)7yKt)Z5sN=VNED z8(1mRhOKj!9@(AgIx9l5mDjEXtSRku#{Oqbq#hKW(O;TZC%t!S7=~ zR}REakO1}N_WgXH2uIEc2B?y4f>!bUfedCV=C%{HpfIK$F=g&? zdjjRTW1yJSW%+3iAKXz+hi*L;>$$M3uACE>)v9(oPz=j)+NHNBWZdm)xz?;yol>C3Ep`rWd&jm!U*kl#>=qI; z;;LGmGri}mZB5VaPM|!cPF|1X8Lp%qBLLNzuhLhNoMva9d{v@NrSCz4%maOoG2WxZ z$$mBx(Q9&$2e=bEdMzq9xhsOOr@s~o0K>>CsZFWthekz2H?)R0K1lmSY0dI7&q!?M zHg=ZG8eg$ZSmonci%eV?eFw65XEN%w+gg^NbH9J|6{G`=N9Oo?+K%=@ zstrZ>BrbsKk~Uu0)+B@)N-mRsj3P*1!wrim=}1 zJ>A3wNfR4G6EC-K;zl(QhEarD?fLD8YM^gHb{H4M!uO3Xu$&eRG{m~_o9!m#ucb6_ zsK!uKKc{OX?8y-KRn;Gp@rXMl^i@G$2ikJ0nlL)QDS*lQ*hDq`*IK3rBgN<6DxVaUw0HMFCcCgGGUAe>Nd( z$TArH&?0-81BTb+P^|l!HIlsMHt%Zq;KB?M-6TOzz;vI*E))B4{sg0|RC3QYQgU>5 zG-+GWW&$Tv@pFc*wg5qk&(Yx>h&ROh4X4Jj{}E}+Ke0}pHG#~e<53iYqd}tOrbI!c zh3r`c0pxY0UD_eZ^H$CUSDW(sC$ZzmU zMY9k7YuSVrbD*nwC})rzMQLJq4W7~RJ;9>@{&TE34AN(BQ?d&|ZUq|;jd{$^{AAd*vv}Dl_$|XIPSH{a8)Ya@2+}O&fwz z{0uBW2&&#Hen4-}dgA5JsnjK8eS384@D$pC&JP zv^;Z)x)F4qcSFx2tC|HW3LI4rh%=vwjP|JAr1vt~OgK)2hRD)RuifZUI|{yMe+1 z+bkB@QGr%cr4D6azfNu)@od6khbTwp{QP9=(L+O++dld4mEhh@$s}Ykp^X2lDR>f!*MTHVags-@~9^FkD<`m=+{ItU_#6Z1tA5uig(fy&v6Y zF1-+d+{69F;%?3NPS1WZIBzug8MTs)5?qj1w}YJ4UKhX3dK*k`or=P16S&;j-xSPO z@)Hn6Va`3zx)-|yK{z@;1N;N{8A}41M*?VoS)S`8y9Zy3pdi8xV0i-618ByNjTx zEx6a|LlTDwLR#Y%*D6^n??#h;Yw%CG(ZX&CNg|RIaJVF9#qzdR&a+Z~+nRiD{W7O^ z-|m-Schd5SezCFqT2_F+`E$de^`yI=OU-m(o(!o+=3As@y9Bq3^Z zD;DwJF?w!EoxSLUh){3V+8TawYSNpCP{7U|9FaF43flc^bR6fDkx~UQB<}vWt|bdB zG1U9FwO_4$gC-5g=ndBukZqF$5x??Pj=~e6;r@r_!|F~paW3i12@eF(Z9_mq?gHpw zNmfDoC0QxLCAer}SVP?LIfq2F39&TmcP-ZM6=wKKE&s?A6t*@9syc6w&wYlj1;zNh zI>9j^hDc?hmkBf4I5mRtf;#i#{^-O!7=xho&;r5H)R@Gz2eyb4#b(jO-TeA!#4^w= z&o?YVkVNy|vuL z2|}Df3^xs<3Q;^P>~B|_`u2WH9DZJQ)Wzg)H^j}W^;1ZRk)wBf?2XXv9u&H)i+cd_+L6X>1Z%;y*-}>&pTb< zH~&VkW9GdZaotGDOIa}2Rx4iv9YiqeyoZxE-@_29vBGFf5~}gb(79`xi#vDWTsn7K z2=)4^ub5eg^N#&0h%i^$oLNkRs8vG!$A#tl;#04q z--=sm--hi`>c+zvdJ;-%f!9{U3pRyiZso~Vsu^38om*xv-!KnCrMu$f5dJAXam;m* zPu$a!5r<|!NHzQ6aT-LKJ9B_l_;}~d-WHpEva@FIjm`cv)ofeR?DduTX8*V?mr1e-ODS)!Ind}dl>|N=xey>t$MWuUgMq#WEC5`@~FxG#j#(Gu+ z@xKFzZ|{7pPsOp`YGW;G^p|m@x1>h;X42?o+k?!ul5K7uEQH&xV2hFv*`m=k+#lS$ z5VBh|yG`ylzwE+M0K8F7jh-L#b%T9wSa9FrglEynhOvaK2JB!NmAU7sAAo%)w$M9i zfuf{8hy_DAB4IzGT&qO{{$5pP+|`A!Y3sp?f$OnAvycnWcxVgIxU(~8{9MquXS2}Q z^6Lht_tuwtBQ)M?2aPoW8h6JQDhkl}MhX^`5-hegwTY-)Hlflfz(NOP_-M7u}vBmd@Z$6N|BPb;XCX8R3D@v9RUMjiN>#xg5jOHxK~6C&A?Z{>#AVH>$}Y2S|8s~s zW8bb&r?C^f%f~7L?F-2(M2-XLFCAx=i5^KubI!|8h_b}&Bxco zkFkbG$o74z8zke47>BN0BNkA_$<1sy?lX#Tblw9|n2-*5tj(^|DHU!2A{)!-STyt? zd28xyH~V)ZP5m3O(Fhy_tWo^<^4(Gy zg;=&_Fbv8WsStnzk9sVyD9m1D!EThn66lg?xnC zC~r>`m^#5pP7SLzoM%fu!A1qYEWw`yfr6+B;g&Orh!4S)NXZdwmXzJ%*T+!o44;OV zsrigM0?I6$pt86-W#6$tox*EPPy4{P1pf$o%Y7{!^cFxT9iUX86A2<1v|Le=5p1N)cn-*wq#ZOR{Bw)%x_180$t+3w2vMIzgNm(exYHcAY}I#5IC-ptCn2#_cmQwYt$3;YP!yoCH@0a61E2YCgd2Tj>C|rAMPf z=VCEqKb7OU zy4q}9rZe(tsu?+cCdD0&>=1YODkuW>N-+=^ zV*)z%B&#!IaW_~*p_*n#UdC-WAemeAW_oeg?luFw&qfc0wom-Ji?Yn5G`x=;5&G89 zBqB5{6vkZZT91%xrn~#k(2ooWWjav9aG4cmBnb)al@AG(F`kgnUhP9dubH25FLUrY zBl-6Hty(27`1CS)fvE}nH<=P3_0Yh$OjOp^$sfLyz%s6rzt<$w)JaI_t(vBeJ!6U# z68e%l+v(ddfi$Z1vU0vnm%30K5_$$0l3y{`5ZxxSPnG}ZS2CSmDlGW!h1Ojj{uCLi zySrDiF7B<=u?Y0egdPu>cV1oktf9?=(%5;7&n_@SSjKG zwYq_r=AQSZ&xr}lmgB=nKkgTNlTb880ov(ZWHXBtP5WUqh1tsm?nXbHR59j?^22$& z4?-AWa;yCw#P`aue7-NY?dWRk$2t+OFSrGfRD+3Pd@;R2gsSklOMKOrcyYFoQFy%q z!o&IF7+&S!(716Ca*AI+@ziiAWUV`8vZ9eW;YXiPv>*O4N}`v_E1-`!g;)eXygtMR zB{&Kj<-{=2@bZji=z9z5wFDhr4DSZB<_Oote+H$a?{ ziE&CqSNvjj)iND~(|(GH5uQxZw^#1#MTTSE}=xLW@Ux%B^GyZoe5X+OCVVp?MOhrysNxxkE{f}$UeX@BqFe2 z?th;8Rau=u|6a*_6z#5}tx_r}^B`sH^9Ku`$MEBac*VzbbO1%e*698mz@yw=*ur_$ z|7KsSrOyGLAyEp%qB}V|0EMwm67g`d2nB0pA{aeBTr<7-$;EI!Pt!bYv-Rb`bzi&G z_i8Z%8DU7b=40amQ8e94Sl1m(KAQvtA|XuSH*UtFTXAzu8-oWcZU_5(T>v<898ZqK z##6%_f*S~`7V7Vn*d zh-G2jW0<<16siycns6-UV0%7vr17 z9~z6dh%w-&kEfN%ISRNbBweCiXS2fKaFBe_7wk~$SPj*$+Fr@vGVTawyOwQL0Ev^> zxH4a<`?I-us@!sBq&!aara8fOt6g@O$v(|boa&V1mq^IW-OEE|6dfRSu^++3W8;2I zHjan=UPt=UW3&4il_)*J_xd~o_>^?E8iuL#5$B7WSpEoc6Jq3R1$0ZqmDoD}KGbZT zH|))8abmkSc40@E zeG)Bp%66Jjwnd7L9XmGc3=W+2z{2NdV{8jLOpHkUx0$@df3W}`3Gr<4 z=%G()+`Qk@#@-TJ*U;a!YCdAs18EYotCd#1m(7~aK`zlKnw zts45>)KnPy_l`-1ZdJE-4IcjgoH|HE%l(w#j*MHmU5>QAwpunRpf%)`%vmxjz-ihq zq}qNVh07tpOW^!v?mbK{C`Y=LuKQjW*>dlV`?W|g6IL4E(C^usUsR*%++K``$`n~qJuC? z8Z3Eg3GCbMvdSbV?yWeoOtv>(IO_NhVuok4?TRcWJnsM6B@>Q>vixP)+YNfspur?G z=<5mHpo&6Dl0$ga!H6!{qzJ^tNurr+%{c#GOEhzbsw+-3bAPE3iuQ?SZq;$8zp!N3 zAG7bvlD}PKro51Kd64Fg^u0dI7oX1W z?37o8by0FmFF8Db`lYsY9>$2FKto~UbCZIku-YV7wss#J$kFkUb3c5{8f`LW3)sLw zHw*?3AJe9MVj$nOKVdbPG+icAbt#KoFc02Jd8ZRF1AGR>xdVe&d zz0r-&tU@FIItfUNV`lyF2fih1%ZKOHa_PRDqr~Syq%#u9`H8HbFfOq_X29 zWl#=7*(d81KKWZvQTl~k+=~3dV$w(Y#b_CukP!kgX#rCIxM53Rvz)Ovt_SouuIj_q z@Um)oJ(=bY%mtNkk69{-%}?`>cgWcOc0PHmDbDg;kvmYao+h(=@pCjK(I(0}{4R?_ z8PVxbTt&hg6u`Q*gDGc2^H?ezn_Xjwh!xE?f4=!(M2f3PX=1^?sU;;{XOm=F@qi9U z(P2e>g;^xj7WL8gs3|hflT#%7g$R7aXX^2tttMFjv+jjyV$d0P6%<)u+T1F7ZNBzU z86dCnwo@Ow@%+>xy2>Zu{Q%3ewR)}W10hjR5Q@VZx(r9QHASrvqJ5=m1XlpWB&6P=g7p@21XD_(kmUyp9EwZurHZ9jZM2I9F0O^*GqhF?ww*@+ zQ)7L1>ff6AO9GKWV2 z{6+ZaEpa_qmU6b!*muXE1~!J7zrM&k5IU z&AMkWE@j-K6PR$*6JvH3h?kMsHe{(3E_4u9-sA}L$$`waab%d0lfPqfWOkFM37LHh zxn@^azJ}z-8FzcSJCgnB4r6eSne6}L1@%qlWx1c@TnL;t2){E)TWKxO?y(5t$4clM zyhnD7>a{@HSC1(`Wf{F4cVKpOraC+Rb7bP-dQA4n&yp4+<1TEr0SD;W)&jun{@x=) zE>T`z(&_6r*cdbheWXWr8O?ktdvLPFbCCkFI9B>r*-1(5YHqxniO>Y565a=zAycMD zB4H$Jj7qF$xYD+h4QPWN#>rb|lbPG(E6+?lohnNwhM|g9vo9tQsJY!nk8Yth4wtg^ z9aj2^@Pi$=g4LhN+{9jaCYp`T6DJd;=K4?0qL!=?QQ-N8>|{2!+a)Pbbw$Epjpr5{ z&o9GxZYmy+LeDNEkpFk_9%nUxgv9()d2{6m=XDvt!yd2Ba{gm75*X3g5Hb z`%ke1p`RaX9J^<-%MZxT&5q}f+fK`bm5!O_C^Ch+OBQO;$7-QTv8~iogST)K*2Ks?XJmLh2_+rwk5k^Y-HzO(2S#Dha1_fp5GtGhPU%!zo z$BjB#Fgzozy4$7!EUVhmH&wzzl1eh4cW90Z_QG-*@;fuuRbc>XdquX=9+C4> zV*=-@+7*FJ{D4CaEo#&CkfG4E2ud6vU)?vDKO{gb7I)MxAu{Y0EEX3_;_RA5jrq+F z7EYG6qL*9s3pp+-UDjO|ktpUIa5ayzp9z$lv;jK=ZRacK5%{P6Nh&(h($VPd# zT*@i<)JNEKBwZ11q3hF1sZtk_5s+$SWvi~K?%k(4TTdK6jU8odS69dL1><3$wW@>R z;9E-CS(d>tMI{#<%KB0cpD%JVFMm25h{0~tbTSWhR9Zu%8@PH!UCESr?k)BA04Lwk1HIebCRFbV`mpM-1{TiSRH*B zbMJo0V5}Ca?HL`p$yNw=Lw$Vm+}F(eq;Uc!@|RW0;`T8I_WL-n>yv@qoDA&p%?|AP zPd2b;iw1_A76$gOWMJnc1N(RTfwc*Bk#}l<09&01sVc&{q^8>}@%wzp9~}X1c7{llWlHb;T4u5cSID>Aan^L|e9ZwAc$U)DL_JkTJo*BiDx5M19@Y5L zZ%{6kKQSn`Z>#6Q+#)oPwiC&MZ6U?R8qQU1HAs|kE1UqYUl~y!JaZD44lcs#vsfoc zpKzy*UlVl7>vJMceDtpoFvm~0MkSx5*C=gjD`;G!zK=QTzRE*04a1N+CoH};c9`Ra zfUxp;b~*vU!4=kVaM+xEDCKXQsTd0j!48Ql3vlkey#s?nVT znVZb635@ZEG<8Cj=0@{QF6xG`p%^IJv=X=?hw4yUV{RBzZ^k4I*L^rkN=h$xX8B}| z73wl8VX*532k*`<52Jl|R$_bQN#2+%&vC~6GEs)O?qCSo7&3DH$OlHbcycyJ7VB*e~F=QnpNmZ%)r0gMhp1czjCb@!>G3aev=5V zrEcIWX4eyXCG|VmFHwelXAaNj``#mx-5@?3C!Yw$fJubHs{24i)jM zahDyT1x~Xs4+X#SnckPl5~71Gyqk@xTHau!!pCe}xJ0oQgjqi;7{L}t6Z;jDinUhh zG||{@IQvGwptTNgKN(6)M=B?7+6Q}Bc0aQVCO%lwf5FW0{$$;6_BColel?_>ysmr2 zBx9lalQE=79^y?S(juwUAMQ!(f zZOurs4#KxXo-?=OAfZ7TMwvz40-1~JUh%P&m7rBwq$fyYw{5j_4-{c_@ z{LdN^;lE}VD4ycrg*`=rq>XjrOGzQG0FczuxqOAC%W>yP%19m{DZeC=KyFSnYzqCF9j4^x^H>w`7Qi z+JEpky()8y?pSCkXx-1&AsdxeTP}HE8`5=W+}b0GF`~WG<*uQ5JH}dh?97mH=g`#T zu06sG8DQ;YlIrNcgs%NI+yAQU(tE2}$P+UF$3z_wkqDcuh85@6*-=@oghR7FF4B}} z!DsJRC_kO~gO2D>XNca$9#xvzOry$6kZ~8>@kzj0?#8T^00}%lZQ31Yk|;fc8{QTN za!nlAc)Fy?r*vBbLE@TEp$uuetChHuqzE|96j)G2%t&AT-lP)?iFCJ|0x``vFO}F2 zf<2Xn2m`N{9#2$Ii?2=MZQnmEERTI(jLYNoqnYBw-aZG^AYi$0Du#8?h|-VA5{Wa} z*2GP5O&C#1WwX6N8%0T?cdpTw$Vt5aJw2K)iF)@uXF#tBw1@4PEUJwA)u~&?w3|7G zF>-`oow_j~+D&{3X7Cpf|LWAlV)j#ri#aB)QxFItcKKF8g%c&j)v3iNr^Xh!?!cCE zy`qb6*8r}UUW(w7UH!iVtqbcKnMrxjI5v-qj|aFV!RG94{0P83T>#vT3E+N{2HcJR zJAgyIHP^-&uSCe*!FJ967U<58h;~jfqG99h;7*Qs_DaOF*G}6qo?Yegc=p<9(Z6`5 zOX1mTrzLoHEBfb_9AFzx*ct@8dSQUmpbZgDOXW8!pco=To8;+DqKBe`wi-E0c9}1` z%9nC_Nzsy&$>0QAQSTz;z?AgO`shnP`=qeg9wB5>n727E-~;mzKL7i9CoZe7@b&$ycS3B1WDuaPOQ0L_uOW2PZPc45Ki!AGky0zXk)%v@$+Ji zTpcS5O4o(Kj$hp;G31x!*hLQSePvQK@T{POfkpau!LV;}G?JLlF-lsn@h>ab_%Eev z7w4U0&|kqMNuGN#_BbRrx*fu0e0I6PQgtS#SF?cYL2~eI3`A`7gV%VrA^ImVmGy0N zQ<^wDcpL&X$4i@mp6y4}e$$zv`MUCD{CtzU#CGHA(2=C!mFZO0#f8fy#wz5gyUFkL zH196w_)3xjaUN8Ci;iI|<&Zwam+U?=_vql6Xl+EU?Atsz}^z!jJjVG$foKMrZXmao8k zQ}NI)hS7W>3QC4VSqNE+y+5@(Lqt*;3FurgIP$rX{KdPu` zJeP>IxW8=hTo=SzF-Z3cQH2@z44&mY{P-+;k73OUK>Ysc3Jnf{R6-3bg;BFc!JKgexhgEwQ zy}|32tk;t5Fs%@>gKQFI;j1l>3HznF;FYs=b1wKunV*j?_;b}MD%%`U`sac?Wj;3p z@e!UVZZ1!f?5VlnEs?NWG^+sS%`^CS=Lh<`>t7@F`eEJ$PXyFQ0V5?7A+=inqus{b z;072WJjR(?l9zVg!1UyzQZwP*L}sG0pKa;uFm9wYyFaP&~r0uQ?~ z^00m1jN^H7Amd2_F#;CE;N*l0+hX{L`G26m$*veCX>Wk5*ifW7&p{q#jCDlxlp=Z~ z=9kw=F;S33odO(`04szrBhbINU&dXxcaw$mJToqk(j`;kgt2}$X{r!{alBc+xu!NqAhH3p zI{^1x%+7g?yWWmox#vrK8$9GeSXfyb5a*DM5zu!Ymjd)W8X&hx1(D?WgZWe?LeGi5 zY=-atM_+cBFJ0@)&Y(-Vo1jd^i%#NC3h0Zf;oxv+u^TL6J~D5Eg5(mXl5uCYM6h$+8Fc}40PT@EVUq60jJKr){OGCh zohWeK-!;*sA2~Gz(EGb;31dU5$SiiG7T*BfI7Z|yx4re6Q~(D`2D+5K!;eBmBAT#T8}nDLWfbh0Rm)cMM#faG_-L1K-?MULt3xx<5^4=Qmiw%bKPZ?Xn(4@R!16DQ(V^1LreA&l_uWUdy+&N>LOPT`qzX%y z8S&m7CbQt(GHQnf0)67atJ?&qw!IUf`Vy&3@`Na?kM_beOXE&jge}L_uqg0ctO!M` zqhu#B>(uhN%#PDwM+GuP+ME}Nl1#wxt^4gL)Kb^_NSD<{o*0xFgWusz;_+lmrS4ot ztdHD3?_Zdly{Kmi1se+myAcZZbfjRvjTG#c$RJ^Y6rPYw4w(i7kX!o77%s|r?J%Xq zE9$2avCz-6ABg>Y_hAz1il8O^Jd-z3whPAlGm?Iu@j$+xdS?9$aafV&S=Nq>D|D~} z&AS;TFi-QoV>IuqJk5(%{AVJ~>+)`#(>G2`&FOpwc?vX-&7*jjiq)iP2$a}ky0gT& z(CRMvT-f$k*!+}Cvi1!Mic$V3*|{*;iu+w;2kh0j4|+5r@TTwMW~tYEgSP!@YfKzo zj9lsn&q?HmjUjp%T()C7b8h2yD?Bz@pMBo+7o?deB@V~gwxev6*RxbeTlxZUoaz7$JBP8I7iAcQBr_t2jr!kom zZ>ixI{o#I1*?ppDg;Sh|KU~0;$6jtd#Gh)u&*9{rfCbOd)gcW6`J^fJ245B&4CiIZ z2FsegC@LyXC(esRJpn!QiVD5Hkw`89kcyt3pKA_`@P|Hy6i?4L(Tk;Y7vl_uzNN<0 zc3SU;2~sDb-XS%k#R*hV>+3njADA1+6Zema+PURcvhxNlg9HTJ3?~TC9bS(*SL)85 zM4W|Qol6PJ@;cm=*CGj6ez-Xc&m)tf60Inu%kYTcTN8-3Na zp8co6dy=~a+ho?A)jy+S^4xg~*Pu&qnlV}VvX~q5H}r?}p2gEn|UA_6Pz4=}8hG}_`CxU4T1tzy|VRcBh_dE66JvxbogJHeW-Pf;~rT3FbX1Kkt zA9?$XDqS`ukm;BHlPqbGX_gg!G%aWR49VpdJPm!qsxE!jmo3yZ=>PzxNZ6FD;?EXV zv4(t6wf55y{69_VR+am}iAr)H{An_WFvPQ@e%1A%6Mva$!w@ISktvdQDOccR(+4jl z%ni&ixhTn1b|g3>Li0qjl(4B`fwuAE{nIsXkp@leE%GBh5k>Q7KSGoHKAK#Vb)Lno z8P?4A(yH9EQt)ijzfG*7wh>O2SC2DV3p2fhXnowRGXoB=L7#hi2Xb~ta8o8Ay4k%x zZ~P6Y|L8|3g{El#B80Z**3^gDer{S4LwReaPZ#}j>)2cnK(VQoh(L@xHf`=otSPvN zUY9$?WH0P{U=y-b5J?uvgH$AlPSp-@t#j>+5P2vwPp`IqBWHXskux%lO|8IHhLYsU zo%1Z8z%xgNIDmhCZ=s2ZRe~KAe&@IJ5veZNb4;eOkQ{BxB44q{++P|uC^Q1JQ>LbP zE|mgr52f+BaHYX;C0{m|Pfn*}yOnHLJ^LBoo#2zhpHYG_JOVauv85u!wGGSs}t>8VC;;T35oIX!@yq{@r}e_4!?bQ36sPrWo7O}=k>hL~ zen?Sxk%=02_qr}bSe4?!vH{6_74U~N<%suHWMcU;&&Ck>Tjckw%Rc6-CNcX<6aV2p z9sGxhmDA$RLi*@Z(m@NeYbLH$tzp0P$VYkVKW>v0X?rh3=oLSMu$ZHdrQ| zHZS}U9X5=*e!CP#{cgOi_X0+NA3qSmtV;+cl94>STBJH9Ihay3q+iAW{O=teP-jqS zM4eZ)6(BKu1ld$w*d#~>P27Z1=wyz)f9=$8_CcHB-SWa}_4gqBWv~EO>y{i9(d5sA z5x{DzYi(C6IjvmP2IYeIT$^WuFoT_KCXue)qjQjH!6`3Jh zni*^%(u~fX)sWFQ?%!Wb0&jRCR#u%on9UPFAh)qK8j(2IDAMC4Hc4b{4EPY^9SSsH zGJVgu>#76C>f_EBLeOwgZ-WkEz5P|}?ah0wQg5rRx2yLr>TNuw{+_);Z-2gj(p#Qb zZ_$9=6>e6OLRJ9gRYM3-tsz`E zAn!jYEJ>i=RQI+XanjE-`(k%jI*7r}vBOt&LL`~E5Q#RO2FH<*6)RYG?Wg*x`WZ1B4&=CQ^-b<~E?>AMCq{=!~S3rK=;`0Q>e zNqtH1C_HS5lQZt&>6@EEBjXQLh2{8QzF6mE{NbuR8GmqkVuyK%T{HPvcyM~VMF*$- z({2!G&Q~Z!@^++J?5mgs71YrPNWyK_aC z*GMVq4Vef$^3vCg=Puwlys7g7+O@=PWS;*Xdq#& z^Hb3LAitlGKrf>(wqG35g2|UY^--T%qa5}Z_@?|70RGz)2{G!k>J z6%32{kcii#(f?jD45xuxAWDYOKZ$#d?#UPH9HW0;lE>(KPTvrw;Ab$2JVM`ddPjs_ zhbgx*`<4*;zUwswxh7MQ6nsb`=Fl&$JEAjgew(9Xs^c7y{oAnle{+hiPEC;lzHy#y zW{R#mAx_b2waFA+Wswx#@nmbKXju%txG)d)QI+yM{nYK+K_~0O4K{Rl-WJeL; zO3k92AVst1bAgjYmG1XZrMo^+>7LvLq0Usgvr;lY0?5DDB`Tdis92vn7`n2_m&-sH z_OGMjaJ^9E##b5v-oHp8x+HM?Z$|EioM6u@uD7wcqt(YgUB=tSIyC;t*& zfT+ZMcf725K~pQ%*={cAY(XV^uSg}s9=2G~h4|LDsEA^$x-&#!K5kK%h!NZ)_n5@_ z1LSgiMlidFwuw{!zL{fXyM5}w;ETJJW2{)R+5v(EnJet2oa9Z-?wWB!rki+qLy0U4Woy%tY*1ER`NG{WbDgT2bp&Oq(4@a)RK_p}_lW!UUExiL1BXe5f(S z-h=>;(3^k8-kh874NvmD38sV}D0Ktfk*T7Co=A+K8rn2GbCUXpc0Qgc*U^?M2~4W; zHP|rB&e<^;k}%D)ATosOV&G6|&d)}**lgk^da#p{q-Vd5#reC*M}Bm6^Qn{gWcOxd zSXa%|X$TV-3%^<0IpwA_ZuwhINzuoB`8Wv}H?a&3p@90ZJ&@~5J9+O!@A4(w>(6&l z^n(RRTOPxKUyCyv&N0idFA}D5{A$^9oxGJXwY>n6L|YvlymE!q_VF|=F#}GuFrOEO zFw*6h45_R8WHsYT{gy&5!*}ESZrl^uzZ;eUh)@zZhKXdX zA8I|fkDIb?^$UtyViTW&3aU-!T#OxYmErXFP6c$B{kYezGMRz@DHPMa4l-0&Ps#QFwEoSFEZuHrW!kr!#VB-swQ`@ zeV~rPW@M1~gKedR$rvdnv2Aaq*SsWlOc6gqq5c0?Vt`b>)|M*-r~AdOs7?cQIpFyqd8nZrNM zA~~CTpQLQ=Ze2a5s}HV1c3=w_l1}Re?*ByTYPaiLA*< zI>*NBF}Wdelp!dJyng@$r^v-qS4px+i!GJz3DPQM+;w&gu)E>fg{wJlVHKYFkS5dJ zf;3`%R^kNrv;-*g*sSMgQP>XrV~TjChuF5Mqzu_b>JVzsb(i?ydA)5%1{RZ%l2j-; zhvyE{3cXvm%b=!`E`0aHENd?$Tw_tXb1%oMc_EpP-SWhs2r#MgXlk4`b#`<3%&L#?C^o%$1pl8N-nC4p*u?O1%B1EQ zGnzA*(X<)Ur!b0HlV;8eHR(aRz;QEXOiSNSo;Ksy=JbOJGw9x=x#>r< zj-5WGsFjl@oit-sQQw+d_$d92W+i<;aq5Jk`x)&YOq$+uQu>40Oi~)OhBfIYlUt@w zNZ(JGcI@mT@Jyas+@+cGCLB9+Hp?afc=PeICLJrBF!0ZAKDIf&YMyoMgh|I8JK@Ce zZuYdP6N&~mVbZiBAWm(bR5Zy`CQVQGY|f-(PnVv889^~YYcYJ(#faC;Pe&ULexj)ER}+}Km#=P zIux>|X;8f>vGd!0>-}$y;>O%e?Cun$#^_rD*mS=2~D`srgbP;3YNuIGWUy-q?f%c4zXL(YjlEsXT zC&i472NaKtjhj4Uv+IPhanq5p#fJsT&4c!gjYq|dEj~zhv52wpzL>G`pgm*bQ88oV zK|99AlVZlkgCfSpeGwnyzL>G`popFNq=>OmqL{Jqpop`N4POv}2mHz-r6jH0+=-0}V%D`eoI94ZAZLu)*~}sm zQD!qrSxMPrI;%C59i+O(lgy?=tKmICDx77JdOtSlRd~NWdK$e%Mux<_y$vJ{u zKfgw71f<=O?94Li z^>iP0(E)nAE<7Mfn^~jB;jWq@>w(O4VVg8tL3+z{eu&~?bqXT!W*QNZ*X)V4dfr|j z7cZ*jq72)N`4>f}7CY%LwDsPCOlv5#m{{@}QnQo~XWumKonm!7vj9&ZvEA(ZnHj=M zQeX?|j_t4wjf-e~Wo0){huoMs1xpj8uS-Rgj0@n^4xS@*Df`Rb>b|vfhJk?roRMLx z3tBT^Xa4~aVdJu)uZvZJR9FZW$(kx1LLK?@yU&sVLed*&_GlXLMwOC6PfN;YuQf#; z!86PG^_8xL2y2c%De=f3kN;fqM}K(g7PRHg<&Q*_-LfoD(2@Tu>UPwn3)01wTQ~Lj z=-DW&rZFkO#Qe?Qipj`EVl5VAhvLm7hCK)5nH(FD7M6h1+j$(?Zp-z6^kwLLAujL zVhit!#TFj47h8B#EVl5Vo!G*YVzGq>MPdv0MPdv0#bOH&io_P~(_#y^?Zg(I6p1a| z7mF<_kk-e!Pm3*fn-^Q`E)iR}NsBGq7K<%BC=y$^FA`h0Pm3+wwijD?longK?I^bJ zFfX=nof2E@O(M2%QzW*;&jRwzoL3NA^dgEaT;|0Vu8YMM9ssAPk8>juU@Lv*JZ3%A zd+c#^|5!6ZsYLTE);(`n9u3E}Or0h(*xqJ)G+ln*FGa!TF`{{*GVe!0Z=tHB`h-D- zgr4S)F1^_J@NE4RD{uctDq(n5&4#YtIayTosLAiFAH*1)k5jUz-8AU0y_Wh7`wwMs zY3tVBB9Pbz2V+lNDu=VL!9(n(%J=a=9VyWHJ1Kh z4jY{*U!ElwmOiZ6%kR9%S86A&r32;{*t;E(zjV4@#sVA=1#&O=ogIl%dYJeAJ{!YU z%|n%2OvD#FoE|mdC~ts2uK|eX%R}@T0P8Mam}}Bo)oEbapsPIWy6Rb1%~4l9OZ_o; zcI^mHNl(Q4^$R}+berOQm7#KLE5N3>tgq3R0H-QDt|n}fs8Q0eF=p~7SyC1G+*AEc z!PgHDpXzUYsK+o#fO|xHvfLG%X9SSl-%sBd>u6KqbRBjMlqNOQ0?6$M#@-t`|DeYA zutpU=3OJwWvZ^`(r&V1%?5;UA)pfM*s~-*0ekCKPKx^OF*AYjz5~l4M>qn;k_?(p&89QoJ_AT0D$rwq8GtbxT0BVDN7a@CyLqHK>& z>otS|Knyp?tDvWJp*(v_2vw9XYq4Fj6)j8xt)Y-yyl_nsUU$~+N0AA2j@In&$3f`; zh|Q9Ti_>IcaWR?50yJw+dGOTUkHx6 zDpMS_24+UGs#?OpR$GOgVLUbPP8eUCJH>q%PiNG{ z;81{Qjo(uxX=JE=8^Ue90RvNiElf{6*pt=2CwF`MJ=GsxEQ1D&HfMF;ENbUA7%HsI ziwKS5iw4mp6l_ks2n&%Yjw;50O7Dvpg!QKwJYDq+0xavlCPV=3x*_$s?bE-@A^L<^ z#)3SgtVf|icC`wth(y~?KL_b-LZ6+E*z}s|xom)^>eB2u3kj4yOf=)AZSDtSMOvwE{TN@7(75g!$6w$QlQJ067~Si3ie zb~#@}yp`TsD-SBXCJXM;At1VffeVu?6y506a`Zd=exuM(a z+)_~+S&T$j2ud0mt6pZnN*%U!LYPX;gRD~YD#nh=CO0+-QhhCcezDQV(wlrAJ90de znG#=c8l)P^A=7+=53zr#LOV}2pw24lRT1o3UkNWY|H^WasUZ^qbZjgFgC2$F0NKE& zpjqSzqRX~bvVd~1NNIG-Sy>ikqAVFyc#|lN1?8Rs8e4&-`hvHwebNt>6>@qg_GTd|=Lo&@_9)6I}Oxy*j;S=66dskkJ>t%-~aY)g_4 zWT{Y;*y_?CfMnJL^y7GOv{IFD+Zi@XtbuwHU5>|>I`5xPIb+f3G3eZ6{21MWD6^8)JJV zFt)HmW9b1lWawoVBG?CLFgclRcsMCD_Z^ zZfM&DN^_@%{Q^r_qpVp-FCB-$4bzW;+twlrF=GV6F?zfN{61ssR4H{J0ve~dbxmVa z1Mw6_blo%~AFaVh?`rJMAZin5Q;7N8&1|Y?e-%C9L;*ZTsv9ycC%{*&RXdMs6g{i; zRbMtzEvlm&E~4+HoPbw9c2SgW7LnAU#+|4-TqLegBA zM_!&O*$HYTW91+S=32{lqp9aTNEwxZQrWc9r+7uBo9JHl(g5Z5svk zp>`VS!&U9>^`YK}R5PosBD<$yHhybRVoY^xA?SS|mtk!DO30hI@3P3BuS8cZJ`KX za~LBnGXwnJf7#rNec-&7Y=4XqXOB4~py|c2S~0pBPFtaLV0}rFh?ddD4|KY8#{JqE zLaTGzlibCTI+4AsmYt>r$snZbsBMwcg_H!jk?w}mpbK)+RmXG#XOMLg>mXpI$n)&8 zV{ZqwaWi6~+SScPEYth0ZU?QVuGW(Y4K@Ii;~hnJVJ_7RM`8-=jyu{QBIF4#0!(IG$0>=8SI;>v2T2Z>XP6NUfj0&p7O)lI zAejKK7J3n$7@o|rs*ErTz9>_Wmm@dOA-5fK>q@E8%^Bp5gE%pRYGs}bdWeh72CIxd zb5hg1;?LbFh+~X~(p3sBnjuI>)NmCH+np>hR7g;BY~WW>n*h_l<1Aq23&X`o6W}l{ zz~Q6-_!0p=yqL{KE!r;Oz@X&Gpitr3_@W1mT8TLF64#^EmkpH0;Lx%bLhRW7y9S#y zVbKej(0DFK;n`%r8wau0`@UbWBAo2y1`OiaFn#g>d6w*+U2P3;odEP~D*{ z*rYnh=GrdJR_S4^a|&3Ut|m8V6fL^1NR|Y9c|oO`OuHKGw&$o_F{*NOg-VndS?SAB z(t4A9X{RHVGkm*7ziWf~1i z5T-a8c{t5)bR=10{EiUrUC#x0I(;X*s18kgS3dn56C^|(O+xaF--E<1x*NmwfNT6` z9`L)~<@Z1$Xi}EaJ!u-E+rZ2H8~l)vuV-)W4j_8HiSNG5;5cQNCsmj)KEtm){!;d6 zj&-PGjj%^zcC$B*fV0`kbdzYORG0_td;lK zn`MHr=yr0n8tng5WlA7m(#%^h!}!R6eyYw7+u(O%rDWVuLfaE!N7+DG=IS(KCp5HW z2@)l?geoYH6v7)rarP`}Sn9R1$d@!F^IH0PAu{e7X4}_kJh{ejX7S6-8ItQ{-OJ^Y0fRVS{!EZh$I1;@3)d@U z$}*gq7@$+5?=9LUz@zdA&nj_aa&2R5*(KXM7_t@&GB?=!4&w?Xq;y_Xo9tJMab>nC+xrV1ifS&JM}|E z$|eToUN|kztVBjx6Wj}& z^486*?9u3Z9`CzJYD`|Uz}&OE#X1&nc@Y!_-J#D-fbt6MyEVes&`fp!x}f=>90bIu zk4b&*Lkz4uB;`1u+jLrkGU`$Ge55LX_10-r$L)pOYQZAKlA}^f&Qv2#Otot>KS3Cg z2(#{`)0CJn`#`8@xmBbTcW%SUYqSv9bPHvlw}wC?Rec@3f)2CLE8UqC&U}r`0;jD{ zz!~Is4bODS5M8w*fhCX}tR6_CxJ>|6q)^B`?4fg=02IKo)5tyF%=wdos`@ZW60#AT zXLTy&M?kX?dvF1oQKaytNYQM8ce6Gm`?4!caGE4wG((9Qxq$F4x(S!!lE@{IK?(-k zGt<;f(&-*3Hd*&*OAa!>f!rd8_=*`M6%iHMBzayGi!<&k!hU}<)@quRS%^t{Sf4|M z9<+qXEVp|V+eKiN&@s$n!1p1{I=H}KK3Gsv&+N&~gt1vVhFGH%KvtixYm<6du3U1O zmNI1Z^%z#)!^Kgc`pctfYP9cV$8p%YDLzDFjY8aXa4lpLhyPm(n(z#ZKVqY{70QKW z5Uq)d3`l9p!d!N-MPy!KXSiR8n$V=A1@yg~Yhu$la5V&a-Ox;iC?L_zJ}lO3Ea&cMXYZulnUz7C_mCycAMGF27%FBLt>=~VIi>yz&} zX4Sqw3Be*$-85(gDY>gKkBX?g8|*0|>8RwWd}59VF=`h@sG3+PM{tr*og@kJ7fFIqkhwdjoYE+Tb&6SU$T z5JBrp`32!v^XRK_EX~{-W((4qWzi}ZF}n_PyJ6&W-@>A)A;B{o)2{Rv;NC<@o`$TRYXazOjts_(u`@(ZQaw5*p`O=-4 z5zetZ9lK{jcP3ZFRBAVz!hmlfUo3zc<}*8)Kj~O7dB3~|4RF=^3OOnkMPFKg7gB71 z*V+VLkJ~hVG`vE#{yag(<0pb_WLolz`(6SsH6(aJ%A@rVdKi&>swRy0I<~mljy(or z*7Rr#cGb=`@p?EsHIah!u4$@|H{@n`~$TmMVoczE;R zxOL0mcsLD?JGKap4@)}($N54JWgW|`0VhH-;Dm7#0gt|4|H{Vi#y~Qj}rKVS-Yhsqmr;-08qE=ZSZbGXg$XQNG@Ak=vprYkTg$Porm`oeT zsEQ|$8I$MkQWRuH6?pHPrwYNV-LqXvwx>=l-h{%A55DXk2m9Xl_#TUV-Br9iMWH4d zN|GE#G8^bBb`Z|@)UN#ssWl_$^*HaJ1?|&!0i&mwf>`MgbUyWcU%4Ngw?!*qO11wK z*#}49fd4WFiY;}GMAiJ|G>OBvNE_(wYYy|hMkz8*Vl_NQl5Q`z@ig^d%-ATskJiM= zJUd6Ebz?=$2}23pUo;!@yvbE#eb0j^g^pH~UHG zM1d;z28riclgEPBgZmWw)W=pz_Pl{XXBX0dL!L4r@ZZYAH{9lGx zq#p_t>APUCsMTu2tIvaTMOekjauQnq&ta9k7M-C|Fqdxy1|d_s*JnuR-u$$aB~93J zPB}9#p==W~_63%WNJ0>pjS!SB=bfxhtRMu2PI+#@P}5GTr~U&}WnSc99S7!Hq;08E z)3o^Avg#@o_9Hdcd!?~*todLjIi<0-*RcSP=~q(N5t13AyL4fzxu=L0aDVEev-R8$ z78dw*Q7wkwEEVNwAD6+NMGiDi~83Yq>FP$NcrOY5QLxuG}e*$fyDi=Trjuj zX~|w1cK!Bns}|ybsC2)fZ#nlpG>0DZF$y7IJZklEk9tin6PcEW8SR zcRrB`fcd_KEP+HySzl3)?wEC-3Ay5VeH4_v!z_%aOfn0UnTwS()==N7^lH5nbV@aY z0f##TWujP9-rS<%L}5NcW)(G{Ube+`Yz1-VM+MhaT9-5yFVq*gN%YMp&d9l{+N(l^I1N0+{^--2jrw+t8 zkK!|sa)Q6IH2b(o4%-^J+!ib(B<ca%>Z|MDF>5y!HvEXs=!f8}UV-5z!2JjZsvWi2)EJyD>vA+VIIJjCmR+cV_^MjY z&TRC%xIZjt(5-@b$g;>UN}<7#LEL}p3Uw=Me@(T|Dufz3s^q)q=WWX ze#>qas@2W9W%mMnH~W*XyITefbZ5ZOFe^QUn-w76jQBoAvysfiIN7kiU9#GPw7Y8_ znE5-gJ@3hdGM9o+q}KvJ-SrN9+SB)Uzd-h_brlWS=9?{kb>JdD;2?^Pwro&4xaqB) zqock|hrq*Kr+93ReF4*8>e_C!AAAsZM4@umAL|wyF`>Z&Ates|m-t%N!=Tx!4gU=* zU&Gp{KZT(R)4Jspkl#%)MBR)wgi-rO_k?5fgGTXayHPB+&eo2>Mt2I!`cOqer21V8 zW;Y99r>ye58~hkdMUH(aR@DbZRSjD1`;S%#@|l(>Nds3rDGx?vmcmC?XRnEXySO?4 zh=wlmv^?NI4Xm1W_IEFrgxagzd!&Ix60_yY!b7nOV0Uk2+BB?;A+KH8A03(nfj$sR z4Wd3Btb$)<{ODK(Gj?%f3hAW8isS1j@exg8@3`4@O$BqUOa z4~nP+;^i5EN{GNzfe`9eTw0o)VBJgBPsaT-t{;>dtskb6rDGm?w z&DS9AD+U`%_28+2S3odqe?*LupvlizA0DLWU|q@a>o`7|Eh4^_Julzn9?fkpCFa_E z_1Aqw_0JcoABoiIkWDmgn8Qc`v&}dghmmer$?mi~kbv^IoN8GsL&BpW&Axwbh^-za z=;Fl55i7XcXdoD&-s|>0n_~r|Yr*vwp}gEo(;AW{edKbEr0BHqbz5p&UV9G0BT`4) zV6-3M7M&^tGoAy;6)#T*42otJ)B$Koo5AV6$nV3^*7}Gc(v$MpOluzoSbmUzj1XpZ z=ubcZyNZZ{7we4qB|9aElyhg0Oh4cd*YiaLFxdwzQ`tN<&$$n9jEb7)0ybh3)J=kL zp|DAj8MGpiYJ@-%q8R{dPwEY^`C8woB@^6U}7W(!Cs8nz;bE;rS@)UL76Us zQCl@tO0IL=+YAbWo3%(aJz*V;b(g!<#w6J>qQ~LOWkgu?^}Bq@57^UhliNX8eGcUP z7}iDun=TL5dJRQg&o;jg&3sYSy8a-8!Xyx=WJ?neqKw=DBaKHIZnnoro!6$sjvu2- z`xLrVMVyXUIh2?#r~|e;EpTgVPk!AXn6z&hWc|ZwX>1is&%DM2{j>`Ua0R5_4aAJc zbnZkGY&sIO_jMN`(G;ebLci!LM?|1RdqMn(C%oEMQgiHF`4r!0Hg|CoX6&MM$K0tK)qP}I!M^LurYy2L-m{SoC z{BJecm~YaQvJvk292w3;&VF1(&i21XXCd!z{_NW|XE^WZ2|i~e^rTy7d_=EI7Atie zl3)<%nT)?d!vzs_dV*Op6qwAI?^?JfRb!`)XNW3C^K1Gtk7KeDUd1mKNC18y(n?kZ5T^C`v7rpAh)j*-}}}$Va=? z#)KHjPlRN)InDQ*40F)y5$>KGks*6c9HeuhWH)ooBvwg&3#?rUG_z>oah+mdx0y|UTfXR{xAnm0qP|7VrR-hd~W_my9 zX~7~;S(FUJ{=8Znwkc<|W!4)bNNcyEbl$Y4ph31*rHuY{pw4?Zv4s3UcW(4ypydR` z1oeH4^<9z@L3iqP&sNJ3KmZsTLl3ekAj9m6jMtknIgV}X z?is{(X77Rd8|`G^9Zi=1z-f;-!p2z~63P4rsiUPM%QxP+1(sjsezb7?CzlvZI496u zl10EAvzZiOzpVkW@2~{SP~y#8kYQVkUUd9Y-R`PC9T$(hMfwJxXQ!WrCD*=DYk!6N zH))`Ue%^o9D!3l{QFpxGelNen>gswHcSe&dAtiF%MG$+FiX2Uio2+FVBbol zT+zho*?d00{WQ0#)$fT=saaT=N6qG3&_+!cv6&Bl5|xwHHsC-km&_F{ zO)I1CbxTYmIk$+7uv=6{DV%#fFV3r4wcO2}89ywxNs7e^Ke30u4?7L!?-noZs9Ugu zbUR4bWAta16>PD;)qZ>Z?iIgoZ=1w3Z^djai`jIurENM!r+P#pp?znefvjNA{OHBm z7I0XJY^qxP_Sb~l6@DkQ*X(u1Tui)nD^Jf2QlJ6+1TF%VXGQha;uwbzz?RdnP@fFe zgAP3~W!*N@XWZ{QEfdH@2i9qXK{gw}kdZA#za6UYoDdlA_8(eJCE63u^Aa;$TN0dL*EYS+=ftN7UV~O}{2#jGo`5Jf*cxwdOT=pCew1kx zr!&`#eme}U0J$)kj0bbQz>;x~W;!RvdfU}{VhMRNHJ#SHMWEFZ!QCkP3tm|)(oFm| ztNhLlDAnj-?uATi>ngWjE3B6}3FV##OgeBF(?tMvQ(Uhc$UaZjp{PbI5Au_hNtR~D z{W02!IB_#o(h3#Km4BHhaVhMtZ`0z#)0I`0eGRz8y_T^(J*kP2B;kuDh6gyn{$eQT z2%+AQU}fx&V7qEwkw*EX!_Z~DBWzqhn)|K-UDqv1d?NC&flPtS8!6^Ehcw-9VA;4Q zyPIoz#;+{ke}JbTP!zq|VeMAPlPL9&C0Y{{fbKRj2jn?^qz71_;M zr3a$NgM+B?ZRjc;nA}=u&h~4avZC<7?|Ap*CWIlky&5Z-3x&=ewcZaena*l+bK2y0 zEjg*$Dx`=1>XK^%3w-uo+h~X$pDcg3VCjNnbPwd$P09MJ!R6qd{le%|sWP%%C@HV=(b-`~R``Ch&Pz zRsMgTT<@3XNs}gNmbOqz%UYJEASfy+pg$Ly7VtN+qy@w-Nn0pwNuL0vw3W0V=qPE~ z6r>bkRG=UZj$#1?mzjd=%xDp3#u2B8yV8n3=P#rG_vhUEeYPZRLg6?18~TDg-~Ddq zo_p>&pL32R)cb8y2PO)s4@t|+PDSS^lpnac2wRN+YrRo$jtZa4xPQ;&`@8MCUs!{n z$3ymA9HdC>&VIriq#lnukNe~AOgFV(u248}p2MEa98@=#uIT4}U`8f&KO*~u*3*ZqPn7X(q4>lLSfDnd-0 zom?2SHede$=m>l<_B~D=iG))2O7=K=;T`sZP;KE*@Y`Ky#=! zfc-nB3IXpsQG2O&VOUN_4h^;Q$Ep)^?yuL9Q``At-ER$e&IGvz=n7vc;Ny41Z&JdZ zbQ9$e_#R;~=0l4w6#*an;e}#99IMeU>4$3u^n;NYO9g5GBhJ!Mr&FJZJz6B77m0)w z2#9Vl#dqTRFr%gV>_4tC)~!z3S0C3+{aUvkoOY{NltD5FD`NW~MSQZPi0@Sv!Oc)a zJvo!R@me$mx!B?DvHtG+Y&JDjujT^Ci+LOdkBwLX(FzfZ*1*|ba{rrvTyJPACU7Sc zxZ4&_m77j_H;%X>WNHRl^%nyN5x!-w;2@J;g@d3wcoh!vKLrlb9^fGTe(FLrO}BfQ zrvI;CLCjM0Di-8_Fcze+4u2`2)qqxLX&ln7{5o5szsPHobu=^}gheb>)fURQYb0e1 zK!up{cQ@9My+DO*HtTf3QvY@q;0jd810zC($YOk8Uc$@nFd^21vctM3Q2Gr920OY&1_+XofjwX1)xd51V}>0ezTeu*8x*5cJVmf%kwn7x+r$+XL|)@$Dki!(JcGT0{mt0mW=V zAjZWoU}8m(MZjvbRAY!ikZlM zXs^HDukQ!sM%zH-2HcuW?t`mvZ>Ypw6FyTVzLnsthy}Fo3@(7}51?i`(b{t2TC`XLMJu4XdG4 zWy3JvzutWbvr`cmLG%j&BS5kajR3*y+jc(i2Yi%-|B!ie!v9VoAZetk>kT~d=L7+1 zcOO}UQ$>M~M0swC`=XK({C6NQWd0b4z<50y{mhDb|B$v1AO7;mLp=7Td9&!WQ)Zc>KC>XU(D>xE_rgxtw z@EvF{Y3$sFeNfsUd+a3$#5lXVeytYdfwsooSOouEKpclI^soK#mc}1WGaV9CS1gO#Gr`!{O8dE_n9#wsz;2A5m z233<#tS&iI$d2j@0#M^9MZBzQ*OJ1XXI*9+(k{VYQpm;)WsnWDgMw_}?;J22->s6D z0dJgMu(fkK(CWG!U_&(9mw5CE;uDOl1q*1#P0Vj<>jnvMGr)~~`vu1#^jsR?w0;JG zGJ*b7<3ziX!g+T4=zHR$12G}chae#YA}E1`*hudd z5@K!{MKnmL^FTC+ef>+}>jf}K<<|#-LE_g_97y{06lw8t;y|o2CHRN?h1C$Xg4fVb zB@U!t5Q=~U=?pj!k*H>8T01{cJ;y}92GCT1eMqALmV^n-dGM7PhJK|C!NLdk2KXWL z3Nxt$_%TtfD`~iaRLUBzlPpS{mjL`Ibt*2hpaRaL-o0*zX375rs0AP#jYSEX!n;~# zLx`*~RE!M*Y;;H%*eBVkzvd6ptD~kg)&?Fi1}%Q;V1YFVQfDsqPU-~W!d8VaeQ+2rm-j?|cMp4d;hS{>Ye>tLY%nZ>u z#KvBY#v$1u#{57HLo|;5p`vlvPz)~|2WzP(9tUp>J03@WKw#u60&GfFM;k1B z7@;`Krt)%!;t+g$CRRYYOR+dQVk{0sPKEUtPAm>Suwi7OIOs~up|3b6;bW~560qvwG?#HmA0)B#Ns$9ac{Cv9O&~8kay4uY##d0AZ>-hwVn8%Z;&42_2R9`OOmv5@j6YIz{I+dQiMf0@w#3xuyI@OX0_@qCxC228 z8{&tN+Gx-aCd8v83Z%Z_Ci>T@*p=xWWz#ED4>Ng=f7xd!=9oJfGs%8{qfRlU#CBGlL!D` z?5l_pF(f?-aiB3KQw6En<9^$&5Yt~bn)S!jOyLhD*a1P1gSTjOpA&Y$Ua&Zp_Q~|q zg*Z7c*LSIdHgp+6VkqcRKwb5P=w0S6xM^sZ1C1<)Ig}+YhvytfW21r%+z$9hl0Pc@OR} zG({00SAf5Oha3=~3nnr?*H#vV=w*0 zP@>I)uF`{sic8n(a!~Lz_cvEqNku%L`xr8zp8jtLIyK(i$y!?(HshCrAufDo6giv|;@D{S*{l(xdj;sipF=Mcx85UuOc$<|$GZc;{M$G7d z^oA8OgI8E^z5wPz5pX%Yl$GF^a5#Q<@h%LBQ5s95&fKhf0L_(SE>bK7x`qMoO!*bK{9xxB8-b(>LF2mc|jr4MduD&X>&N+7=|c2$-o*t)vp~qE=JkYM?Itu zFWO?Y*+z7XU$7j$8XbfA6IFSCuF)~Z6ry7gN8=?$$A}1sdxi*-MOz?O4$*y=Rsi? zf3^WK@*yO~O9+smMCQW?kYS$1rRWOL>K?!qaJffH17v`!5a+8Y36WvUym6~>QEpuV zQ?*E1KO!)Rd!!gQW4p!8D8pZrMZ-w(7iiVMUo0vMpJDOx&*&?FMu^9BkJY0jR0awI zrCJ7NacL8wzV>rBu{PDY->mFYyo`$k$cXVWmKY3U2m2y6oPT0ZF`S&K?6*8IsTGKD zg1cS0+*mf1Lsd5t_m9nyVFFV}aj7}LO`qxyJKMJs3+n`h zgnu2jt2%Hc!c*73%c`t6PPt}3wbdWiLM zHm6x$2XC{6es*b_C9kAK4x`ER*}36iT1l8`5R>@lJ#lvaC$E1KG2)(z_IE;_d*TI2X{xWG7S*<`0&a$X>fNO(Z=iQzl(9eylHre?7|xXZ|tr(SBhj)<)1 zieM%}C`3ON%_upGex?4C|B>jij``JCy6n2TYETPC`M-lSVxy5~t5gCG{Z{x=FShJMAHbT-{14&cv zBaCY?fA+Ux?dQbbnLkmPI6A2O_3`2puBR_)Cv(6yjjYN}6Kj_siEbQ-B)UQ063NX> z$WNK(*4A{)9#m-BCTjL#t{n&=l}n)_+UIt>?nLCFjY zIhuYwUwT_Sre?CL^)FkhU3n&fvb5dchbym!^@o({m6HpM< z_hZaE<*m`gQ>e`|v7-{?rF`P4D-X%GrTDTycioZhlpm{v?qc+mlOA1 zoAyL_VymK#Qo@V8bV$NmloB2U@qKw3Ddpy z{Z3OF5x{Im$K38le{CYb>1-bh1gL#|2?3I&?)QY)9Ezjl#tmd93JaZMdWMvoUmJ|6 zoax8X9f7HAD`6@Z>;+R9V@$<(;Ha0e!ec+|TTk?3$<9tL?7ot^8Ut)#&6zl3a2_}- z4tM}=!V^n*;5MsmpIKKBPe2?_q1z6f?x)C?aHe)H`sMF9_b!w*&@g;0NDhlh3?z12 zyUEwzj9}PIsC8G%TIVhywCrDTMZd159p#N3AG*#@eA>7CD?{t%_s42YSCDY64CAf~ zSujIxWh`S&=w@Nn_janyW4BrIzPg!g&53!}MAmQ^f&3BIi7FH|Rl$5Y;NdY4G`Dy6 zutg>Apxxg{8$IzfKjoH^Mw9Dv3Q>{|o$V(Qgp03>_*#O&PPmATnWVaH3~;V_89apO z7@~xgcTB@ce&QQFJ(7D)(Ekv$wEkQ_(V^o$^d0_y*$P8C@g#rTndJESJ3xSk zTFPRgoE9p&Qc|0e`~t#CKTEOd(HBql=RwL zl7A_5#JPz1Z}1Zz@Keqx>5uy$G3$ZBdLp|W6^(TTG(gcg|Af(Dfu`8<>#ux%s6gNEpDmX7R613SEoKs)^u62L&4qReg^_9n?vhM#RB?gvEFTG|#w=bx6`=8*dJGe%vF&*JyVOfonn7x4N$_ z>$gC94-smb#FHUIDNQ8H**(mPOO%}LS;S)Sr%F2qnIL7)MwN<@7xN2g;J((F@snmj zHxDlD;LG0t2cTmlV}*Aeoa{(Dbmk}mP=cWa4-!No{T1U|;Z& zy7qAOxt<-_Fm-lC1J7>0i={u`Q*u1@vXx7(HCQrQj!IEjqs6Ax9 z*$Wh2lhE&LLcZD0WVY!7=Ni&x_nC|eWoYjqDN~w%c88#igXWWsHB8gVf@!>@B$4bB z^evD9C6WzEy0vj)B>x5Wn{$7&rfrk8X3LsP^&!e+-Q;e=9oRB`rpcR&`D0tNXY!r( z7JON$bVt#*12V`G*KI@@WP4#;8ro5oL6#7TqL^M1ijX7rm>Is|bO`M^D5;fNUDc}*ux)okaw#zSdjuj2F_iTjbB2vq)7 z+QVUySZ{<(eyF6ZgA?mw?2-_~FGY?%S%bS^9UmR=W-nq2(jh^-n^;C8YiLfwZd+97DR?wMtIA4M%M92xr_K zdtVdA;5pEd6Wm9xXtPOZwc4Rc@w#kYgdcO^LW|m3bfbHK{?Dg$67$tBET@0vEpPZJ zjo7H9$DYvXJ~>U}WwgF+b)fZ!sy9`fN7{eU@q$J`97Bxh8r;)|m;eK3z@lNyfX~s^ zoO|Mmwyib;9#E!N$bWqG(JWjd;+IJO>bhbE<(g)-`8~enVc&YLW>5AgWkw#yiWUi- z)=h<60;!MriZUWAFS2GVOiQ1`>0+?uH1H20wLt9 zR3a!XejKEc`+TcZ9F~n*NhlO6GN)Lqa-X5oMas>LyZX|!llYr4i4cR`D4Yt|TYa?f z$wl1xrM&)87@97>O(Rj$ZQ?;oIv8Q zlIfq>L<(E?1FCcILVvhA@AHJ1A$j--97>FDI-7%DmI8MctxDXqEG~BH{pWonDEkvM zqIZ^#=(9r)D6c<7Nos`nhGq7?&yUtr7?{~Rb5>>;Wvt6#*50Bu@`K1Z^Vob6uEDS zm{IFKL2X;zw^rjAGo+aDHtx-Co;iqML9$PlV(BnaHr#llN2)<0o29<}p~$t8*OL8a zSSLKZ5rf<32^^5o59cyehER`{aqX8x|`8i!9gBVmr4epIZu{ztx&1yug$fJMwxqjVEKuE^T;&hu7uGpJO3@(gj&d_Z7oVh! z2vd?j_oAvr3DSo6bJQfml+$NRdidlm{_TDK_;!C@r$3EJnY>5i>hW$K<|627@K0q) zl}h%Kw%v}^5L7`>dr0sT)Q|7z@KWeb+R3c@S8`OqbMGSTOTE_Ab-LaejwQ=IrREe# z!NRk5cecyY1%H*&3!?a2zRdYIG$bLrYbr_unS6oK0@ebdJdF4XD~Hd%%Q&{K9hq`> z1~t}B3-2{SsxEFS^Ty6eN<|*@z_fWpR+)$WCMuD0^-9)#aXb5Mcr*d`i~rI+hWdVe zlWD+I@_}-szA}hm?A*y);zYfU%sCRA`?fLhd8}l6x4BHX%|d96*YQZYy_=SxfhE)p z^TOWzeU%Qk`&yaT5fzTEK4=VK?hQ|y+^vfwL!~o*vWC0$d~M7>aJnJx&5=yB%TrVx zk#jICN@=tKy#OO5-Eg}5~S{OEqB(p4R z7D=-Kg!@XRnTD$o$p~PXv^5aAB~l*qLxF zF;#ORms}m)dbACACvl&_!e5626Aoj?4_qO7F{P1JfDI~9$bx}BI@?h!caNS78h z;Srkb{*ekyaGxSE{2}h2kpRbt?cKLB2sOH?Zh>ZpUSV#AE?^}t23XBQ$cU_Fm^*^D08=+tHvx+bwcn`qk2M3;q;l9H#A?)n6N|;S z?=BF4yMGm8J+F1b*UIHjW9yGsg;fWBK!U?nnRaIRBe9!k`*GbiJV5R^8HKsa{pOWu z{0G!{wLy;0EWAu%a#5?KbZDQoF%JX#2^b=ML!)+RTjl;peS>g+LtOCwk3HQirF*yf zN(8-dKrgYFmJV!~j_D^J*7s>Q3&8&&yailor$5EG(kY#NmOJHH1oDi#wv+(VO~^tD zUZ~}RNxYNVF?t`QZ?$Q;9E?J&eS05@4xac8PpI(1Zu1F0M)@}w*F+;3m>wZBw$GNK zGMpMatQ!~UxccDM0&S3=v9H4h_ZjMz#T`N^OG$s$X=WTc?7coCpK$iEp%C*Rh!l;-DrDSaYUkb&J({3xwiSG+bSuc%*r2=hF&~Ceuu=Re>fjxr;7m5E zse;o3NDCJ*YQ@K&VL%vc8=My}-=YrLt__lris)Zt;QnBZ3e!3KrOAJ@DibtO6!<(| z5Y@jVkJ`T)Zr=rFWODyDXrvd8t5535AG(`0JCa8ODtJ8J+E0HAvYlwmG@! z^33+cot|xf2_O5<;>W^H=Y4$aHAF?YXH6D8nVP$A+F~5anA|Znz6%S)@KQ`;ZLQt?RYW6KS$TTxi&9`GXsZXfUt?Y?j za>fwZ!r6~!2oXd5uU#uaPYPzK^<@-O=!-&INW5%Qpne9;i5@@LzsH8w>grl+YgsMt@dI*~LLsD>4a>_yw5gy5y4>_s6N(O<>X+3w6VdC}7V0%C6u zn!P9uU2|qz8nY(Gun~yBriv@gXT)?~3|*JUtm%^&0(nF%O9ZWql4YX=Q!ogYWuw+3 zS~)Z6OF(uZ;FhH)D&S9ClPxNgz{76eEg@IY;ivmX8PzPcXTj*NbVd8mF17eypi)GP z6oW|J0e>za3Zx7vNlmmJhEbWC$d;k1yoQIuKf7j9#ETUY9U+!NBR^vhL?b5~jfig! z$X=xAMgb`l5*{5Tt9|JVp~Lodm8penX;6x!5k-^1aC86zsA)P5AFIndeC913z#gdS zBB5%^h`Er@M}cgW&d26xX*wTs)B?MHXlJ*kiRIF9&xN!c3EyQ!4D#M8NS4W|>}jM`5ztuvBK18gf_$ zW|b-nA@s9~G3PWpZ2&9Tb7r9mR#F;qhOkycN1Wl7`>UO?KzAr%Z_EO_YfWFOpwsg6 z5-frJ*dAp0`%P7_1d?Sfo=0oQZ6%h#ztf)dWmM6<-z!!f@FBJ*$97H zW+ODHfO(O^4Ct~d5C_bRDZ=4bhH#h! zvutpGogy55TSPeg7+_L~89229u~0oj70M9~KaU898%hxlKQBc%tgp)l#`R(;!eN6U z9JXHEuTfJMuz9l)>?|EYz34u@*U*PwN2A1sXq5PMG)inpjS_d3FuV`F%nXmjt&GCA zQigYJ(I)ZOpCQA0%oyGy#_;@j?PcyC8OwVpvb>JK@?;Ajt|Y^Fw}>@t6jS;hjQ9N$ z(!~Jgcg-G|-&c+KeP!=iP6_i<2HgTc!mM(`0Z9D7nBNn7UlV5M7mfKnz8B2z@ztg; z?rRqNYa$1$R1L6#;}{XdaejeHOp#!SK2ATF7x<}O=ij2A&og*ei|g>4Wu>x%jk>U2 zv~gl!NZ3p57A9JJv`Q5=Jkt_if8zhvBhL- z{=?`xsjV|robX@Uv{RQY=v~saV%q#AicXYH)7~&`@zVKAdKYws=iu%N4(+pen0%H)uaS&{GQou5Dd?K5V* zjSIf2s(8d3i5VLv4M)^s*}Mz7=BH0~u1D;IRl>s=U5=B>1wsaw_=;>PC6TYMir4P(owrol1dH0fKbMvJa<}agqU6++!>Y2NAVOc2` zbzQWqr>t)IUS2AFN25}DzF_hEvh!t?7rK`AUR3(R3I?gPYmJmjuXOh=onLxBf63ex zW!=-gxV%csSI(cid?xU{ENQ-CJU@494eBs@s4K;H9~Vyee2m3va$CtMnb0gg1rfkIGPrBuDk< zI1LGFqfXRk(S`Zs0_kIeR9Lq|YSFN;oNK}^a%sj%>Q1uvvU_r@?6qz*h}>#c5?9}E ziumhbnu&va-7=`!p+iw|%Y6TuE1-ZA#=;I!t1YoHKJX zv2jaRdn%{+qkYh4j*->n%Yr-(7)LVw=usO+8G^#{nvL;&mvnF=ajp7z(x_$XRzBNYK8RG-tVkS9eet+t3~qrd7Wor>}9`&VQ_ zArImth-&;BSA=3XjpgL6oLb8H+$zfP^#}UQDHK+7h|eqwnscL+`dfX?Ilf*fTf_|M z8VdwdtjTSXsann3!Y9G-0}kv3Kq~Y?pdiB@ZnZ!}bi+?jlXD&OzQ@*)G@*{KcgtvA z#x-_yCQO=>kBgJ$yK7{>E>!PO9=SZK_Nid2um6>*W;g*3*4eJUyoyDV{sGdnZzU#+ zy805|_#NJOB)&0QB#tH5{X-F?79o>`YJZy)Nw8B~$TTS}_i z6sF!+DKuEs2d!qK+XyBWyNLT$b=;qQa5V!W3k4JREML1`I$Mvc464slU%Q z`{puR+8e(dx;H+sr{0+KhS(eTkGwZNQPvyRUOrTBJUK{jY}otWxW246g1aZP>c58W zjh_anX9Y7Tp^f*xG4{rTBkzsRl=a3(z}^l%RqiY44NVo%#s@EhGj{qKk)m`zu;D>T z@#-Rn8E=%RZ5fNY&@-AEb=@9x4={+CXw7d@|FoDIJu4rSjN66{pc;GcfwopOyE$^j zU_m{&lk!lb<2pFa*G}cqsZwfoib;KFEeYStctmYRI;Pvab`G2_E!(#!&Hz`+%`d>Ojl16F)s1s*z7bqd?lsQ&nkQx5lUb zoG9@O@V!wX)*5}oOfc4o`_6zhVh1|4W=9+}>zkiv^}?wLK6|ZnRbcv#}X&P*PQ3;-)4W0hYp^N zGQkF;2Q9!sC$XN#Ar;^;2$c*WK^{N5R`lLXU@loT#&h1ux}Qnv#JtC|Bsa(sZm|cp zaBxzoZ3K<@=b;<%Z(t+`9gH`>B8`|G8gW=`#9xh|5kDQe z5nG39#9Lw`0OuAsXAq1BUj>3wlTpbx%O>IHFBjURj2EN=+Abo4r4mVBTy@ThI~Q^4 zVV3tVW#v6Fba~qcDeuf!-diX?m8{i5gw0za*22uoqofGJ z?Mq-Ye<&;O%2h+MwLh}-SF*LeWi!_V0W@wkH>?_x%{)^myvSyLx3Zkg9P0N@E|?r< z>G^S%PKYFq2qU}9KuO?*p$X&1Lr63YGb3SqYUG4*Ygu1?e(1jXc%iR~`k?Pru;jh% zt1+Rkmd3uS+f!dXGjv~FJH#Z~JS+Cq-6QX-50&-R-K&P$E`PbCt5W5`Lo4@Ibv8aQ z7s8EOr=-9+-FYUtHo{KdpRl5 zrd$oH%O;KDdbbC*eTj5VQSZpJGgUCZ_!HMjHM-94Bj?jOb~%^az}`%F8bYY?cTAF9 zV&42?kQroXF8#HLB=YyUU7_b1ebYHWcsQNqkLJmP+x%g@{^%3@!QH-9{v|WbZK_pS z7Tt2;2j_&6VssV-j}dOWwZjvm^&s}6$KwLl8MmH9W8oeocPN0xj&|)pwRMe58Y4q;p-Q5}`_J;QGge)a>q*VNV_{|A{g>x9atPcuZ~NZf7v z&<6AKkd^a?n8sYyt-G~y7R{Tfz4I^3${7tiZS&2%SvbRT@~Um~RomtT1-tO8w#`3F z+h(v|PI_ltRCb|V6lRK@=||wBsDyHe#aM{gC7M?wi9wMGqB3)@LqmyDQtlPG#VSZ43WRFMdqx4a+WnY0eu4sio@h1I zZBx|ptL2HcMZRtdhwM-j>Bs)8Gl0L-6T0>e{gEs%inu{6+ubZt&60du{Fry3+2ZF& zZ9FqFXubD;$6lOKR3{8>+v5u@5(`Y%YW6+42o`rQ?h=Y(h&9hHm*RPl z2_l}ypgsZ5LnoHwd3Y_w^XOg~o`-t@yD@deqPaa?3#O*nA#N-WcS^1lpg(-49QtEb zD}(;%11a7ZTq%bJaiI(v#CaJKi1Tu25EsgpPtHrBL7WEcN@+{Vpg}xQ4h`Z$88nFVQfQE! z7N9|PmO_I#DTM}cS`H23LK!rO^D<}<=cUjfPNU3NTKQ6F5Kjz*263?f4dQtD$^taV z?xfHlPUx8;G$_6nh;RAIA~Z-hA~cA@0yK!@a%d12=%)w`;)J2*V}Rk(w>ez6SO_By zN{~XFEnk^-Atxn}BKu_c4u?$g!h`}4*gmg!@e*P9PBeUxfsNkzuDHxRf`!31X}xHK zhfg=B%S2i5GD(Q_Zjtj7d7jI$zjl_-9u*xsXX_~gi}Jd?!RoHxiQyDZ_L|J3aOo%= zqs?ueG^s85LRup0$@G%Un&yiaK4_nlkE{xnjnpobl&Euibihk2Kf>iS;eyLU)yX~f zH@H7m>z19%AHJG})lTNcM_3M@^O%0kl|ya`EXWOK#GX1z9i@I!rDv*y#7(e=Gw!ct z-6Lo!AHcSX@v5H`w8h=aUW>S0|Pa zB9V*tzzc-lpffTu;E|9}+PJ3R3~r6x!8?(Jbc7=xK_x;dC)lS^T4)g7b7mZb@2?zO zEW#11VVcj%z&0xcf{Fny&^@G}pP3Q|t@CZ{KEJm5AX9(HoZB7D_tB6N0e5@;;=1@r zBZq9qBqG;9uEDQ3>QMk~r=a<-6A7Zl*S$jn-xQ-la1b;m*(nOE*62sw-|0sm ztJy+#AD6hkwUUF41r#S_2s%Ju!V>bTn3@^tWKwl?a%C7S`oSnz zX6rM$S8~6fWtQqRZi*);94I#;rAj!z!#o~^dc*UE2m$CH$HOA(&ZdWienR@r5zjto zzV3@kr<;s+P&E+{`SxA5?*Px((5V`^dZF2EX2f|aHeel8-b?8$<}Tx02--58kGjR$ zP(kuQKxevS%R_S1j)VukG(9gnTOp@-meLvn=Z|7(xLp8E-mrM zZ?R6#8kFR&aLg)|Tx&5#7@6AScQ#1%OnK*)iFp8z(LdAW%qu=F$$VO7MkMFsfrY8( zLuZhzL<#_(Tvf@ut{0DEac86-LlqemuQi9Gwo1a;Y9F?XQ`ih!u^Xb z6{tyT=j`NcKW3)SDP6*S8|=bt(m?RUSRT)u5#$D9`@S=EU1E*1TJ8_2peEKwlkBth zcwxgnC!C%VZ(ChTD-1#dg zYniw#0X8Fx3&h8yn_$kz6+_G`<32--1!YY!HM;~8)a{HwB2*c-ABplySRg~Hl!n>Q z^AXl3q8n*mxyN`ktRlf#me4DR2{yqY&wpn(E3y)~wwalnFds}xBCMDSl2*wz?SR$di+PchL~f!Ygv8QZ zUB7wYs%(pW^sIlqUQ=*LcX&VUqtx>UYhtgUz`v6(wYYyv8dTS*Z`Fpv=z&BCd9EmlI&&ybGI(2<-N}>a)fHEwqK@4u;&S9mZS>UuZ=bcV?Jv1}xEQaLpH&Iz7I$$v0bT$yuad zd&;=+!RZ4MoOCPn3Nd01ig#kXt8DtR0Ozby#4xvCreAZv;dQ4K}6hCG94QPAYocn!+zLEP&g$8#C0xt zMnW=yNA}Y)Cb~lnY^zuQg1CD1^1PmLH=)8=3t04RAPLqWLH#nj~cY?%U+zgU`GKm0zjW35c^%){$ zrTR_(DJqb03(99~UtZh?9dzaEgjGsAy*~q6U9MyS_m_l?sD#OSe=r z90lxPJGy4sOlbl`aJ%pDwh}kK|v(HYXqhUQ7pLFwc zu01MQTIS*=Y3$*Ky^)K#{bOv7a>}IYR205Ti69O zAXlajP|J^3BLHO#nI26lQOCbawKg`$B5CH4vwh8a|JK{|_kins-IIRO*?z*qew?P= zH*LqNj9^->8?=0dtZQk;xf(VSYB>RHgP2#V=B3ZvXv;nYNfP(7HdvSX*?z3WwaR4r z1D7e;caGr7P@5vw<@2-MQ4G(x$wmfUIJtO)#xL35$E;oqT<=ahVnfz&H}B>8l1*h* zvd&`WOBO#BK|pN0(eHn%uRUc;c8AZLleqg$p5S@|?DRy|eo>fWF#2^v?qpxa8(~Vb z!z%2{KToCO7Hq%_-u(p{L3ARs4T&}GNjYeXgDsLa6w((CxWs2h1E^%r2yGKcS?r&A zKGA0u(OpM@I5X{_dto12A=JCgP?8wJDC@`jio8sNVI>86DJw2s@}u5J0f=5i<;(PU zTb0Ux23F)mtImmSte;1jwz9pAs2Qg~$HKEPPi=2?p~zgCDYp_1WKl1+>+H(Q6j_cO zH5Wl9D>Y|!A##VEwDKYba*7?qU0DGGg*>aRr2}X}CKKBse{8Kdl!X7lO{CV+qcu#P z;5KoC&9(6#<8+(mlK4tUM3l?EA8TTbyK-%Zg@A*$Nl+;Rqx&Obm@^(Mya_j8n0Dh2 zcBAxK4G#+y+rTrjwd&mb@^bMdUFb6}30m?#7JdzqN3bB)I~;qqmOLUI8W{{aKP9TL zv(J%=DdT2nJw-XDZ`gKRzt=a1k3Q>16@t2VZdbi=kc3f+nc(E1K4(b?Tz9r+0V%|_ zz^x0VM?un$6V=#ez``>=L>w)tWX8KoLZsjCkyepT-ocemt|gfdNjOPh+2AJQTf+`v z0fE^i%YF;{wmWb;8|^XFaTkNc7;9TAX+MmoRE-RrV%>+WJ-laYb_*edVH_xTR4znb zSl7TDwkRub0HIGRzyClvz^Wuzxo1kQaKsHNh=ZcJyjN2Q(| zEUWUp*hY6_RW1aE_zOi&EnD8zgRQ40LZ^zSSdW5L_SLu$bj7Q2A%|jcj(}(sb$+0*{JPV~247;XfKvdJ^XxOz&WrkgM3P5KG{kx*nQ~S4^Da>`S_Mr1Q5sNo4a#tS(2gUP28S2Gu2hBk1|Ah9-@ejw$(Sq8=toh0nAi_muI62 zeTYrqg{**OJ0zruOWP~1W!wSu>_4r-Sj5g>YkZL6YSeri0viFeX?B4}*anyc5Gs@- zLPl6pPmPTaL52@wk?8&N)zZ*#)VPN_^2lJjqd`lI`l+f*;&gmb?t!mRAt$GW ze2B3@enoLMbI(+FRiwI9g`#B0Y!b9L52C2Q0U7FHvrUb@35k~Iw8&H@vFgduZly)l z#wS~+x#VML6-en|5CBs!jF!gO=v0)BUV@)2#vlDil!maX-#7;83?gf6GTUPHG}50Z zO)J*=vnVu2+4g|*vMRcrxPpX~GmiLoxJKGte{ z<;+5jLo{g8R+QBEmAdu>W#sS#)(F&*to2R&9xOZZ6E;q!=DCq9y_aq|n$|UK+2O~! zUN)jFa!npfX4uB$QhyLHO(qWj`W9Ic8j~AuXN$d=7$C`PDb(D>%o2h-AHdE1)d{Ko z=*HW#Ct8YndbnEQ@=U6Bm+w@M(>sX&)@Qe;eb$>)cWS_6r}<+Z3PY$kLFA<)n!ASg zFY9cqYbMZ53%V`(b8C9AjRSm%VgUVZ>X2YXNo*5IFYA&UZHuD)39B;++0J4T2mF*f zB3!ghsP=K#;+S|+Ak?CWYH|l`^JB4ruHdhhMR&Y*`Qp|gLyJ$&Gp^kL1_A!9+$Du& zLm?cDY?`3#PJL#a8=e0UQ`SwTs$ty>b`C3EmR!KWgEdJT+p&lyk^yh3ZWdMjoMw_G{tobrd-gjcoMwsO8WHhnXPr z21~U=kDYPj+OnI7>a7lE!x_4?Bg}EY4!Ud-i}ks_C=9e_4hv{@62-b}9GlreL+vy~ zWV%Hn(DwT@)E?+cl%~Rr7r6UWbJ_ig>tP{XY?CZ=b-F}-R?c;WSYBYad3C2^c|BVlBXSLV8zq#?I~Ur^Pg^dH zCNFayOU8W|J?tZYL*yjRE&f&>al+LiOH51L8I0~=RVw@Fb3=Ue<{>_M-P$3(THes> zmGHqLX@yYO?pGSiGpY|}t_)VE^0)7*eEZ)<^7h|VzWw!)y#4pZx5rrbJ{;aYY*;ma zs`$2r07sk~LA!ra`SwTj_E$2)?6&7^EH$ID=40T5>8H~V99Gr)iiL-_nF1sOzG9fK zZ?7Qjdqvu33`yDL1O8ma%eRc=<=ik7#nSYDj?pDmOZ zCw@_Q-a1J8Uc{ElBnw<+-vUcX9YBi=rQiU%XMUo2{dcvn6k+^!1uGbUWZTSXXLese z;3+8~#zotg*j9wtbn6hTmF$SvW7=#uP>e#D79gVmwQBo9H^XiOz$l;9Sv{LLb|X7A zdgCzTC9V^koNLO6I1H32HA_f?sYrMNf#ja`O)*;>Hor7qTn=AYHXn_C>>S_xBVL+i z=#LzjRg^8si8AzII&mu}X=~KtkB}m=w$~pa+(yXq=>fn5o3Ge*-y}-CjP1tj^LV@d z-Vr)4HIzo6XR+9FD=9^}$E&g(SvJt06XZ*&U8Kzb)TQmP_H)3pOa&@9%W?5a*k#t< z=)LT^0L~^SXBfbk2FlMSZYeuS`2_5pjoeqN+CU8vgU+1-np96@QSK;3`E+*K?zk=Y zX(-&g)Z%MxR!V6`RRnI_;Oll#f^;?6;8r07y}nYH+&CMMK!co;>rv3K3kBOl*Gh*x zKA5tTR1ti=MS<{^`yE3tD`^{}7C6B5Ms_~?h_97X0)q;CVW$kONrx<aF__4RTej1@@ zAn#(+dMso!R~1+4@Q52S26m^0#KKjOiVI%nTLO}5pAHWIcR$r3gmgSqz4a*7W&hdX z59?Q~4#7#KgKhyQFnWe>vE9fW0y~UnDv;hlga~0a5kpXw5i@1LYPQ)<4=ibMXH`@JYRi8hmQ|fv5dqsd5aV>>bSO?H;h)Qx-`OMalFHMt+I`y%% z(Bh}q-gCxZhI{Ab`Rt|YcJWfY&AhHpB@J*jKr+bi_Usp~%^tlj>2&91{G>jAI8b!b zu#9#!*?cES0{H~+gQM52!{>mf>?1!HH~hsFf`$#Y`7Tok>GF#|BsD=e0jVhX=2stIgy)VS^v`!kgY#i<8^QsYW39>ic& zaUfW%ykE!iu20K*k&xAtw_YKuDUZ`wUQZSNb4#`?*LDW=5y7X~)WgwMEcYLo(b0(A>olmm1iWj&w304IV% zuZ?<*$t;K_vlcZpWxquu@E)*lg2dJ(#0U>O!R^nZmST33<;B$e7O8f`qyL>I~_Z!+^vUAYBSsNStm?sNQN^h?xbKpfNP~5eZ1Ueyy5aeY_1&>; z#Mh~JU7G4(=$fRiw>F(h6Ve|10pBBf4*d7b4!9ImK-R8HS6_m%!{h>fICd7bd{^vk z5{mO>oH0Yw&dp@DU?`{qQLQ@Sg#q>^CeLNrR2t{H>3W3(m$(-;lP;X%?p=#&&NmUJ zz|@?WT5POkArp@*QFjIlpG%<~?A#Lc@dd!-_35m*Ph{{4ReJV*v=G=G+pj|%45J(u9Ey-Z4uwLKx$MP*nDKZt1 z_NUf5|>BNg(QvKnm|q(&XgDJaqBZt0`7$MUUDI@zU_)n>HM9ZWArTV+ll zBCQ`#r8vd<5J4hb&}hsW{DK)$wFDEr7%gm@A%Skh@!3^zp#)=^Or4ILR_51 z%a&GzlZc660RN<+8*l*+zVK-x7&>AYfg^Zr$iNZY8#)?R9{}07~7&4ASKm$E?S5z_FZ)hMGC`PHb!vf>xt6&b4S+Gg_u$e3x zqqG=mD>=Ez9|$mpAVbOfeBIl)Hq$J*2kZ7s3w(zIZ`cgux@@~i)|0TSOkQg@Btc?Z zgc%ECtlv?H4w6aScwEqvb%c)pdKI9B@EJ1CyAM`NhT)&F_F5p(N5GcN^*yd<*!XR2 zk;udzxeU(jk8i+?%++cT32(CBIs7V0gdA3k4IYhwv_6SfjrG> z$V+pveBKMPFJu9Ic>hku(XytduFcAe((FB$0S*9ka9w6##3T8jaA50eA0p>>)*v*# zk_CLXN(J~6D7UsFxQ$Lc1tq&t#GxoH z0m-em+rL?F%<(NV{3Ol9=_aho2m4`rQ&awe^7oM3E@-Q){+NpD^Uypt`2oNEPJ%?F zuHX9uIr|PmHS&7Fm8AsqH5l2B096%9wc+kK9DmeqZ}5_AGTR^Rr>M+Gp zN+`hGZIbPLtvXTdt3h8))3=3v$R&?eyq8Npq$}<1f@*|MH6|ZWf!&bOS%}NOSffoi zFc9%=jfk6{@rStm1w))qpcuFR7JrB+{SHa->Y>}MM#A!EP#d|?A@}PA!29V!?q8MG zn6??HEpEPpszp2g)U(gr!%$NFHiSK4hbes+e-(nn`V*%Fm6L4NU!%cEIh%NhqA1y!flS1)nSSDhP zs4*$nHPhTN378B?Ogi*6BKUy#xxBsnp>cX6`oY-SI1f{-TewXGvekCTe^{wZFxr!4 zmcw>Y)im=6JW^FlhxL7t>!hO^kV;^IKoZW8Y6shkf@0hibV{PTf;(a}49EWE3bs z0}>*bXrVx45(v-r<`G-!eZ6w$gcs4re+l0-m)nj;SdtZ;)t236N{DxFi63$+cZT%` zO@jz3&>@jWI^$(hx1ljdP|+O}iW8}9vu~2}d2@PA5~R3KA+>eWuZlz!G%7y1$yQk0p&EAirtk7V z@Nyf=YNa)EI*Y$4AeuM$vEjD5A*gaX{bUr)GQkk1(!W)|Ga$6)ZKks$M`0Z%1{%r> z1P~FC@_W7gHp1oLjq?1OZXH{PC~7(ug)GsNjZ_Wo){epxjr5IZrWrP1(7}l&imb-2TMwkhRme1Z;}ct)jZjy+&N)x{Iw=qQE=X z!cDpLeH_57cw>?!t3$XPz2*yXCaf`q>ZVmoSD~Tq(wk9LwK2q=N!&~rp}9v0p^GYB zh+S4qq=-hkC=g0FT4+GGuw3`F1m0vCt;CL#884A_(r2QK^ev?#3Hn0#sc2hlCX*~@ zW5>FZL7n>LYS-)t71<#)9@9xxE<~~$XDw>)l#rKtjm}nnudsO15cff{9;z25{ETMd zlD(j4tqiRFXf>Dx6JY8jUKwK$Rg#h2%Slr^W{xh#(bXEpS1U~_;hbxW6cUzJepsn0 zpS=k@3=3ScS<7}Vd7IrJ8x~}K88ercb0_e4#yxi_&r1Zhp!()UA6+9A(wEVBw;EzX z^0PdtwkJLI*L1d6Bfs{|Z_?qq3i}%^r8d%|v@U_@I`HE(G$!}O4)bS<_vObS; zxosU4%aro0@t#c4P>h-p()r~Q;u+bERJ={syxzFxEo~PuLrT&dEIMEzGans%4%P`u(ZB~`l~*n+M|+=0rj06>l=J_a>>d)RP*9C z^apMXwVc)&s^Au|5p#`c)pGQ%L$INeoz?&-?z!q93##YpeDZ*e zhyv3g+o%f)Es!IJ>^pr8m%7cpo^)!tM5z{!YOtbExxT96Rz|tlDPs8H$G~IbN0;6<>uj&Plt&&MaHwp z&U-7_IfebM3X8b$@n3-6YjHQ2>afVm*R5@X+x0Liq;XE%(<`Lu3p~>2E(q28g01;Y zv;5(w_!`Y>BH&O5Eb|udw4gx>1~xfqYkZe&vC-GY7l-qAWZWC`^b-n>jQd|SAhj1R zH1`$}9^YgSnz%P*{E?7jlkrsXKQ$Q9x3AM;)?Kzmu$qZ5%gh%$ncul_3W7O1Y1~FK z$F-dndcu9pG?ta^2&yg`GNsTEE!8vx{fl^tH8hBqDsqf5>t&>^boc0}$}h|LM(L4ZH5HivCeQA23F<0WYbwFfvt!R@7$&EN^c*9Q|z zYTQB45m9+MN{D>Vl&!cqhoN{#3A#i+(bR>gn4fiUA92>Ovgbo!f%>>*;~9-gS;ZvL z$R63j{+6i_#N%~Zd4NvvJqz-|$oHCPF;3rx5Nv&&5#mblO*@~ei{^&HdO>c;r`L>R zSRRE`CWyyrU_P(JGcWVVys2Vj2IDX_?f}zw&Fv`ioQ-=P8BM_{%+YjYN?6TH7@0!F z=!o|d1haBflt8#_Sa!zv9>lbbBV&F!HdaFo&PP|keFZzx8a;tPz=!(@r$dxMYvVyL zW!$+CF!RTjEs2hSvF!_ETVa%B00-z8GSP~%FZ=8LnvCXKC62k=7O)YQNd2%*Chew7ed$O4y{QbMZyvx zco{u9@@1E)rUFHZpf+klB!Q&CkG?f#;=!b zqd{L4#JjXdHW;g~=n*F3L#$|FaaUk8OTN^`NI)ObnM>xN?_hQ$R&4^UFph6OuWvWQ zlf&YCgFl=n8c|&DX-To_5zWSmL@qcYK}OCbcakPJ=RUVa5~jNxokQB6sWA04{Yh2a zr+E=HqUi+`%{y}Qmt$E%pF)emazsfdXY&c(aLw+MnF6wW`IqCq=NHcURw|KHm<@eF zTwMI$4!(;%!eVpqag5fR)h1%*Wo0&yl1f{@R5}}tSf&NI9`H-8>&YYA6QdR~t?Qt7 zgEc1@IBMO6$aaL(2^uS{#bLvLqYclIj2P?eSQz@`GqpI&oLEQoCIi{1Kbbd=_H`OD zg+8iF9=Rk1?#MS)S76YI_PoEbrA_h-OB}j|9bhC`tc_-Og&B)c&QA46^%3~wHW}UQ zM~p_9bU`yQBI+cz)#aZVQ$66P(p}!Nf@7_^6IHy(W^& z<=yy6UM5q@iMG_%B|oOtjclZ;S=b7z+Cdes>Sx+n7D7$4PYhDkBL}VODEDqDxm;U_ z7aAZwFK8#oKQksc>ux-Sm zmoz~S6VzSq`n9MQbTp6*K(=zw^5R?a$s)?slX(9uw;>X?L54xB~di_CRY!9-r zHAQmk4#qn4x5o2`Kn|pzI~%Q=JG`AxEhxUapADmUyWAS%^8~ZUJL9%5`A;C1@pXo&@)| zrTiz=f-z}U%Ocx!hd&lXtaus-G`E#z+GNeTFCh#1V<*Ir*Yz$ZyCSObU)cF z{PAkgEoe=Wxpq`=+h@G#=cl+7t%@}Yex|JeS(uLGn}vNoD~PGslc;WI+ogfbqkx#M z@1e+>;U`Fek4VmEHDw;Q?`o&#dNkl&RM^-X3nb<;lQ6mbQ#nzHE!euLmfp~0np&7S z!gW+a4J}#Qp6=Q#0xhla_xl=6fN8cX?Nr!D_d5zm8G^X<%OG;sC7UCkwq@Y`S-QtJ zuwb1Xc_PJLcPYCEZHIoCW#0}R{0zlRZX5}cG;nT1T4S6ESWz-=%j&Ii^{zPyEtYyA z#F}q-6NeE{s2)2li08KXhcO9*&%9~)A+pT&#ND+T!xuEJF5XFL~H)0-H&X5WfI(d9b*LGFWBVD{ubH0Ep*EknaN?$$^vxm+R(Va;1i zoDu0ZLO`u&@G!RZR)VH*KguxsT+0QEcsFY-9K`x!HZ%$i8M$(Sz8l?bik9)>7U<{{ zh$V)ehBz28lqbz2;Xf%=lueLGagIRQ8%!wCJ}IcI19(9kJLCQ!q;lm}EAWf4 zV1!lg^;fiu@m?aL`Trcnx~s2fN0)IhU}8aX56i21#bfV86}?LB+)WH z#6DW@jzm(io)~fiZMAzFWCoej6FK+%DrsD z2iKa~LgI@Q1R^^H^mpH`>fcGIe(PHqBj5~Wk9@5vFIFqjREpl`^$X(uHRiQY2vpqH+X_ew_)3*3 zC{BItmHNb=)}RR!@SI#Ch(e6l&skJ5?v4O^;gQ%6VOkW{LLU5A>J((Z^K7}Rkaz%I!p7`?QFLVNmT<;2pyM{W5o zRczGOr(mxME7+#O?vIE`aAcx4t>$yXnH=f-W=FR>?Gj@AiIMJ&j2ynkkOD)hDCurV zHgBS%%1)K38*OOm;n2uri%GZr_7@n8eqEbsg6+?wbl-Y`<;4Nc!FO*UrNbtoZf{=0 z!XwE;cA;;_?ZR`cF?&moKUs|lv)O&Pk{*NP+(G+_^mrVDFj9Ivd3yyp9wBP{Q6)8o z<*Sq$Z!J*cjkdWM-{Fr7GV2jW3%#cFJBZCX)VS5C@qvo%V?pGI`^VkM8xYr*w0|ri z$1x&DgVGH}jyFVd)JqYAky;9eqRY>(LCZW$$z>pE4z4V$OMY8Mnzx{Tf0;=WQvBlD z9Ro=5hyN5w@u&1e1O!gMWZ8(6WA;^#|MF5w=DDr+uU? z8+9-`%O%xJg6q=0eW=Qf2S`e6)zzjTQ0SN}?iH19YxNAzY zX*QS!cd?mzPS~4y(t`^oP!mGNCU~l!IXn51su*6@}+9xn3@^faI zmL+T9k@nYE8xwf3Sp?fcB_Xyt1UDfS_SaLtN?~Yqxc5MGqb)-Y7#y44S{Lhl&A$|C z$rcb(5-$rL5q{kvo6w6=Lt!XxkS?HfEeaqaYCl<}^@ok4#GnmY8V{ly0lMH)3R1Sg zo!#GNN^NY>HbjxIt)|to^%^u)i*E{y3Bl9rW|u*Euz+s~TaAqSDxr0upttX^p~)pr zT5qL;Da_3S|m7z<#=Eks^&hqSYgzkgNUe4_pV!9o%cSUBsnNl^-1cu72%Zl7$u z9`UsL4GmB|4!#^`?+J(SV|O809>(?ChF+AQ5NE-xnjlq&WCLY?!^Q zuQrB1)?e!ekR6FTO;!DjWJJmsYCYw-C#buIxDlP8R9*+2=l4I}zX2x39$1<-<%>Be z!Kdmls>L;J#u@#4%nUs!&*7_I;;St|ht|St6STi*#d%G3Jvs04fmQ||?=BN5NYs?E z^lk+S30a0GpQ*|OO%KO4eHsAuF)#190=0!Us*QLMf(c{mq3xsE$=&(%QM%f@QQH}t zs61p^%21om`xvBOL?}1jO!BPNZ$8uB{cLCrqEe6aO6z_-OPjc)FzhtZ1HL_4wP=cv z^^j=i0JuNO!#?BwF>gd#yW)m(7~G#uI39A}l5E=Uo}qfwpr|g)Vwk;>hNPza#ZhVa z*H8)%vLPKNKd%ry4@s~R4QBkQOP(wdv2Q`D)~3_e{*#}M4EIO-PM4#@rk;XC+y<;6q6! zf|R1dKodzHFaYJnLBEv4&p<*X9rNT$hF>ZG1nCnZ31x%dz!&X_XHA4>hhXx&Pd=sE z8l7B9{7W9mCBG^}?^oD^-(8O2tEEk9l&nERa@R*qc57!~(PB)NQ)s7z?~sYu6lM5d zY94nO_ai5n0r}W-zu)G`io9Nz{XFEDG95ao)?@7MdENAC#$6M{-4>CgNP9!LQ23KLtJjDGS6u{GL0=>L-uN#ScjH3m&`3)FuA2K0pZb4(F$|T z8X28vtnpXoUf{1_tm&had6n5^V6B7LWd^WTX*_phoGGx@qFrXrp6xQ*jkUfEb{Saf z4)@4#Su6G!vDOa)-iW+a`kK8(2n=qDF}`~Azem3MK2&&dc$%KltTSGt7>3C0hz|iN z38PF=P9f;(=;Zw(F`l@9VfbxO=UCkhG$3ZCgSb;}bhRJ`L`aQ++U~#`@C>sTp z8teYVwDvIWvHkFIjbvt;*u?hL**3V@aO?^pH=*+2s1NIiq%xl0VOTF*gZ!i`> zJ9rg-*zA@{tu_WMo1ubMb_$6%j_Y6~GsnfNWG2nH&xUFH7{7siSMVrWdCr2lA-IAM?hqbfq1x@GF5{@oG~>DusN8*VPjeP%P+LF~6ta!c4vZ zj!6=)Jnx(=U%6=Ribd)1g06YJ3&Y90mHDo@Jw0<*mcFWsD@rfmjjvqxrI(g0Te@)Z z(tJl^~D1BhwvSmw3&%2i_BbCU!3xdbF5*jR{dR>>5Uh0{4M0 z)cMSk#Vg7_yI}GBvh!t?7rK`AUQ}A>tEnn9w)0n{)InH=Wj*n1{<5X{uFLY_7D+r- z^e$h%tS6r9we+QzJ5|Nzv__F(^BHkf0foT`;UgtKUiD~u+tnlNt;aaa#liPTQ zL`U1I5Fes!n8QCwTj-m$8^!b^s7IYrpsFuj#6SGh}?_jdpWzA4aoncS{VCmn-pbQhSB% zR$RTT4p&B5fhBGZ2yLmk1RBdKW4a$Ti)w~^PL}$djXk@2wmD%z&XLzwM&H-cihdI_ z3JwYHwQ8vV5aNh)C>U&86toFas$ExYZioB1|5}3^Kt|z0wR9^$PlgCwj0FO+cDd=^ zuI6SAp9v|=I7&z0CIp_6?OqEzPBrwYr~}L{Hd(Y72JABuDy4YX75C7m&Ws1az`DQg zEs2TIc zGx2^|8lFtC;B#ner0PP6E!@t@BqjmU;|b?SICt(M??7^sL6A-I6QvxbcL*^hg9Er6 zHyg!=;-%HOsol7OnDq$xk>1+rPck5W2d^JuDW4DA!uTVv7!sa=0vFxWpWqstbN9aU3bORaWAx^d%X0rzu9v=bho29MvMI;KsAfJzy5!{T>cV{s{NN8iB9f*gjH1(1*z5bMyX)CG^esHjK2K!c1$i!xc;j*C=1 zvlcLRq55dFjQ+tc6L}SXwWP0;86r_!bW^LXg6?G4Db?W;zymUff>S4^yV3^(mu@mM z`|tVd4G)*MU~aMr{^sYA<=#aUF<>*~YE~G(LtrFxrPf9-7}bJ&RAYu>S|3YD*9-5m z859(0Uk|($j8w2J1g}tnvqdFcdOfv3ET)bh3d2v2O6i!+LNs%XvO#%%Sr}GO1`MlM z9X-A24%0xuY8iaB^1s+P!)vJ-U6Es$v&Ib*_iF;I;?yODqgwzrhPkW|hYki-IIba@ zF=w~8g%EdFueK0zA6K1B--3l(LHxkLi1;#=-Mckp0WavI9xc{+a|Tk>Hp?f~CynLP z(oY2r`;d)fzx|Dt+@PLP^`2U@L$%fnfmZQuRxj63Gk2-BS~=8KpJhJ~>O?G!Tfpz7 zl}h=VPt3_Wbl#7usEB9;b?Fq9+361nKR|~vnT34+*{C;5OmPN@WzR@?cuIAd*Q#sLFqpR3+Boz_co-r*$-_gj5nXfR6$NWYOQ#khw+m>`ks1kUH#gfV(m2~syOOh?+6|ro#9^qlBpbY4KyAmV z^#7Ipvf4xjo;})qcU8WGXnsjCn5ja(fWN;&GnKLXCs%F8a|@6dG=)Ua6igi|Rprx( zcXL6cQ1=sDR1swL1(HjYt$fY$pL17Uu_MxX>U15W>mZYqd;nI#>wzg)hxrD39gHLG zz_kkg4JYmoGx-~Dr$p?|Od+eM<>N%w=;Cp}z%i;cdOlZD}Ai$4}85425nQl5alicusP$(w;PMdfNs zzm4Q?sg5wqo&YSNO*e|Y8?THPSiXYZZUeltA$fy@fb6FguZ3Pb1%)7e{!U*j+|=Xh zRu;76oRIE0m*827EYsZ%dzaoT2gr}#ZWdtt&aDZkGVDeODA_niD$L7QKZ^Y?F^4`4F#m|QDDSl-IH?jCJd!X=7Avo< zm0J-rs5|UEh$rdbG7QhHqFI%r&9nap!t(Aa0ErcpJOm;BD}xsrenb4dFl9be_l=OC zpW;3nl+By2VB9Lp|W({+w0 zl7T1-Qr3+&uzcn>CG2Vsd_n7P@-q3e4+$VG-`BmIyn@C}3B*!iFwIVDN#)&M0bR(?FXyghy-wZiEQ= zKH-~BXh-Z`WYysQ6DFO}4LeG@K}M3RDwtc5JC^i<2Aa;bz7+^VecTA*cpY1Y22E@n zBuu6o!-Ni)5^9HoR|g7T;?GtP*-R(|@D^!DLd@RhQy%_+6K}fB!lUsb5+}eDF{D#% z!%=&Q-|r#LF5zB4_B~~)!f&4~RpHj%s|x?JVpuNDclG4aLA@HlvQ#mM4h7v;R19)b zPz>5}su<*CpkgpyEGh=MP^lQ?Qn_L^pR4CPY7Vy zKCgH2lKj-gO9{Z6ss?}apK+hM*#LuD{`M47Q4Ag(lc|biInwR{EuCq{CWh0YQ_?;r z1rmE-6*SuW8-fcnB62gfSSZIG!c=Zh)9{C3vmE7eJG}B5MA@zjlq(h zfTnE9jxljf15@_5DVStSwt&ed+w%W>pL6b8h8e^d{qJvAOy<4!+ zOmn@j+iai`XgWn&5nWrmox;p2ico2S0@3j3a=9#;vqB4LVWNemE`guG@biW4KN+Ao zz1ipOF*Ln?#cKriwJ34G--fSi35)W2o=$6yL|9-d#mqyc)_%|@Z&HjCI^k}X>;;ag z>Q?SzXm125Vt0VQrk)b9e);Y(QyW#-6l0j$F3u@>VGaR=e$of+ucVk{E1|~ZN^6#i zZwX-;o3M9D-N%#Mi8N<${gNV*_Z3$4C2i*2Mj5{3Tj9$uPcu)yJk31w@-*|DHIp`8 zCik_ru=VUDDLF(!45m$BV1wU#0%VJo()|?uk-jD;1gem}`ZQL-@{+IoJueR& z|M2B$=Al9}N5-|qNESgRhs48BDW~%$!*hg=OvtG4e{zztzeG#?zzw8+GP_a4mYHO- z62CYk#fWc^|C>R}7NZ3?dWqGTP8%55N@2j6Pg1ZY zGo`&Ub&sr*qD|cKq4J&(jEbH_Pu?x*)#K`@-rBYHZjRk{gpy(Fw(I7l7yJ7Q@t6b@To4w<)c3qqN-$yJU7%WEbCE z=nixLM&xr6Q6NCqD};UcKCjDPh9o`b+a(aD-^_aT5$hbQhzXwD&YR`sp>S)WVekVs z%^Q@0@_!AH0!{IsBx^GxKUu|nm4ZIcvi$425Z)sQp5l+Y8VSwT#>tI%Y%t4_3No!X zdQQ!|GI7cJHm5>Swx*?(kWw0K(J9Hq17@H%wL`%bEKoug|6+QK0D)%8Hy7 zf$ARAP{$cH6}+r@Mu&4)h!3&f?0&NDCVSZwAn8M=941j+7^-N!W(E1wF&uIMBnV0S zJ)eIQitROI|CyqgycT>nkcZr4fbpaO2HE5Y(f}khnW5_rzQfy#dmK(R8-kGoQoKq1 z8UQ07$jjE7a_0;I7U>9{0P#@<7)0LW8^WR^iBIzj%vrU8nUTG~NVgh2gHWnFS@Eu6 zR}g^9PJviZfD;v7mLFv>&@J_Q2r{c!rr6S|;2}O~?1`(ssedStUdxdesssvp@!13n z>M_PVg=R*Ps_ixY=3`~#JR@I(?HZ9ll!C!O5&4Te|VP{Rn*gZRrk#rBhsXC-Rvf3}F!` z`#<7#u!Q3JRr_w#VT*WU@31H=>0-Rt!KeyMgv`4K%&c3wp`XiUG2DBDyuNw5A7bm< z|6Xd9V`D%Nm0_88%M!cAO~%5fCcQSSbUjYSf5)mjcdCEEu^iD{$35Cje621wA7`+ZBfXBKG6p8sfl;kn5=et=a|eBbW>Ce()nmBpKw zPD9WLwD{wZk;)|KM-6eR?vvr1W-7iHz6X|9zR;`yKADFK(${*nIxvWgg$hkG8$ThY`1?px}X{t>q5{1^Zs+_8xng+xsOf z$%})!7ckK;48eSc@B^W19!r(vT2GvKN!|Rkk|qyR3qVgnOk_HM8;b}<5A4qJLrh5B z57xs$8;15x_lhbBs*_z@hD{W^xv7 zK*k_{EptqF3ug#v6FA8=%y-&Y!?6VAqq`aUBZQf=KD}o{kJ#3)E9S=7bhmcbC5Xo` z`6bjmdBiT^M{JNpjUr+yEqSkKB(oHQL5t?*9%H;ovlDykQ+(YroY3RMOSFpd z;@z~42*k#zVP9dF#bL}eQ3XEmaUEva6r1&U6m7w22VJt|SfGl)(h82*E_##PK!xZl zQR)RmR0e^P1)dTNS5dalcc{-{Ieg_)gu_!%*$h_H<9hXYYe|nUM;ze@3X%U~);ch| z@{HDqaE*XA_vu2DSQG~}Jy_1Gi!$z1tORvci7w2y-mR217g+;%Snt-7roz=B0(b{b7@6ca31G~Y&LcbD6*~XO| z3*oG!H!`^d4`{_P=|-ep9~V&!%c+JfI+`U*d@Kn1B76m#%I1?iv(bO2P&g8#8Ce|k`NrnhIg+!#7)ZNu`| zFCDaB+X*HBEDmv)p1dOtFuh(9HH|8R*X@eZh|ymC!@dFBv5ZIC*w>8R;sw6`V89JB zTfpy`&~&=6m33zjHX+Q5^_a20t`lo$BF1R=Rjv-})x?cL>XVmW4WqfBV6JXFPsw3Y z*rR4RG2nwt6(m6R5td8o_q?gP`=O)N`oA8Nooa#Q8nBfCA8ZZc$}-=zAKT0y&b+9_ ze^_rQhO}Nx#7f~$SE*A&mjQzc%OKZ!Kex713V7xYEdiyOf%CQyIm?txcL|yd!S(oK zY+>*|x7~21?pR)1B%t4ZS&O?Yw>fu?3bllif)Ca2yX|G<-m6Ul>pB0zfdXJu=?J{q zxBOb6KwA*~y~Vd|_O<8x7GhGJPUjTWMDhfMYEgGNZkOy795)G$`9}*;fx@QN4X4UD zbfvsF2b+1`98Px?1&ClRL|=Gu^w5ifj^}>=wYvQex>mD_YlTyN*Y>$(1KX z!N+r!cbV{_yeo6vw@m5t=F;rVd*uaXAv}0-2;Pl4Q|+XVb@pU$5(M*GdzG+b*XhQlUm!6B=n+QyL7+)l7Pi-pi1@ImR>i2 zayB9hQ~AmJLg%_iSl6Y@QtANl38gfHCJXed@M)7YP>CCE8K&Gp3nEv{RS031Yi!z zA?vJtVrTu(L|zsH;mBTMHD9i%_IDVX9D_@-Vfc`Vh*?bVcdfNwJ3DnS z*j*9p`~1mZT1|MGJGX#IbT4r!dUXYRB99!#Sj@4GR27ga&daMLh)+3WV-1Yg4h#lh znhB94XmY4%h@Bib^9}7@5gmL~auF5X7OT|}@kk$>g`P|dz=)6f+Bf?VvwZypq_o@U ztH4;VxA|p>`k<_v3}sYw7IC zwt=VT#wZ9P4H2Woa-goUk88>HU=4oFDi9(u>d~#jxmO(lsG``KVURWr z1sEgLtx>MS{L^8!wH_ot9g-c6Q{y2Sc}HUShVun5uG$x@w2Ve5MI!>r$V_{@ZEJAP z7gCoa{?~WP@_=4N$&rWhB2I1Gs!E!sqI2Cdh;LOy~}QQz0fwJs(okjM|}L`Vf{lHV*V z@Jy3*v|8#Mqz(#(UK4x^I-iXw?d^dTzD`~4EAJ&JZw(zDs*vqAq<0+tR!#^fYVtsV zc0&^2P^b~UqkaN?s&o~KmawX`QtV;lkUq@eO7exJiAC;Ni&YRJm5K}P zP!m#Ubjw7P=!|o<$tW3;z}6`lF$3z!k-1bh(%J`#^sULr$FK;wlR@4w`Aktt6cQB| z!Ea_@PIQV2Z%Eo`f?T%QqOr7$7ZWmu3RlyetzU2p5~y%?CrFMTyk&PuCxTFyK*Pqz z4%7)*?HxrYY#Y)M8pDF)1pOREhd#f)v_qrAtV}&}hm^wZ2pxj)uopJR*)fXDE!1Mu zF&T(HZ^xAOhY+bRLDxe3gcsYj52$NUOHpqVCWK^UwvHBf{&u@A!qNP0fRs*pS)xvmEqr^zket%&qXO6zS4Y%D?M)y!G?W7P6f#kj+D`~7I4Hjb0P9q-kz zMU1NL(9qOWuz{*T&mh1C!;&i=LM1d6w>bDtLnw^QaCYg)7PNz_hFL3_RH_N$lEuTk zPN=vu(k!_iHSAfQWGh=*lR_via^W~^#NjA z>BelOSH#mj8?GI6Wh-sf5(zihb#Jvj#=iX2U@(Y;ZDvjU2xFO|wd2>4^zr+c7Dhsu z`4&zJSRD~z)#B{YK@ngr0aQ{VvryGaC4Nwg_vlYQp~kJButfHle3AAWPHkewbIOK{ z?_*I~e(u(N(L9h-7CxfIH!bxed;F;=i_pn5Mb_eb@qihxWA{GW-_?_R-E!{4tV26! z+FcEL4u&V;0Q`a0Co=)vWjF$geVCiu8xFg?hzAZBLxhI<&V?ltDlx^k;f&93>@C#D z=9c-q8L+x#y~gs5fH_HtKTf?EF}e{#ahc_#QSk@qp(w)u{%?)olNm|ww}q-mgPf-* zv3zfz!(d0$5NB$`9jph?^Dk5mBI5c|8J!}&lVCKU%o9i{hGYpgKXBO-*$AB@bk4FzL&eH2-pQq)#b#!&wY-D zJJ(2se{?>y>bo%o)pngAxa==Ld3q*Bu}!%2 zrmmZaP)w#aB@A|ceAsEBdT|Dc@dpXU!mX%^O#o+2nm#!!PG=yn;EcjxYlgTx+VI*NeIDLLY4t_upX4X|Gq|@DpeWf|;BBlz}UR8~m_bPuSC6O{D0}jHaKB zTlb^-2H_v0Hn0*R9mA4(@9 z0j>BY_IbX&8_CK{&W`#J_M5Eh8$|dmrfyQNSA~-!+JM091&*@|PQCF0y0S^qD1!pA znK-`y4{Y(IopeHC(~)3Op15z)*QPA|9|y)e)D_|yuskPvggGAHScs@$aO zQ~2O)6UvU_YXR zY!Mr)*4JF_j~}S|;i2-hUEy2#C*#HYvO%u4K?VwoT)4@fuukM8DEz)!_t?U$w_j6U z-Dopr(B}3n2fSLEGzF4;nyn#vo7VzZTEhrsif{(9xQ)_v0yp*`41-3Fs)sS!w226# zng#Gh!y)Trq>@RYg+@e1KxsBbQduDuBQdO}s)V#KLM$u9V4Bt-T+xDC0rPf?YX4Lv z#8tp>)$B+EzGdk=0UtO<3x}zXgglk%UVu9iwPln20K~EeT63iz@q8dSyv=B+#q>$= zrDYC-O}-WY5yt6Ef!$j2R`_Jes0sG|B70w4G8&g#rK|k?yZa$^7dyh5H_}}cDz;;$ zhgiBr9az{gvAZ`FyW4m)-CbDH-7M|4z@gSx-rtXECrRJWDT2M(F)SDeo4@Egk0na0 z6gM}Th8689#f`2DQWOjoG&)hK8iJ?{N1=*8-3~D4k(8QJXi^i0kz9dMU}nloPCpYK z7Ht*Oh`X^T)5RPMh`V_@nT~~kNta_pOst06Bo&(GAh5TQpxR61Jh44JZo+yl9qY$AgaK2zxphT)a=&yvUn(o3G@T8rzN;&Gc< zDB;0p4<_?hA{(7f?q=)>xzF}S(=>2H>V7$&!v$Ze!eQso7HOk%#7XkYrft!xvc2kj zD+1&K4-9&wx^UcCrh2hUkJ)~%QI;r$^_4`&Hu&vciKt%V>yPuvFZ8z|eY*vwhPb7J zoyZ`**J#Hn1ee*tukcmy@0tpQIh0Ru^<_+Fg0Pv>i+Ml8#Jo!1_~dl;>QK~+h|QSF^x^O3R`W`Fe?}1TAd`@ofj0M()1iL^GzD4G1i+Saog;OBy*QLJTDr_*yv_23f{1cfA;NcOnzvrU@7_YCB7?)<3meXb+{<&g)c9cs#nOM4s%jexQS~bccLT;k7cq87QU8g z6OD-JLruD!J;rsGe`p8+CwL~vYvJ=NLth08C038NBCK(A2!OrI_L{i_9PqXEygnHx z0FFR31nhnbAD#rKfZg)>FYAxBss1pCRnR{~iG|FRZb7H~og#!&_ir0mSck~8uuw#Y z#gw8bd_6l`AuU(Ivo}N~fahkp2zI(5#$Wg7iz+1eLW`j-wabW;DV=DdzE8s>TvotW zkU`H*qQ_qc@+kBQk={T5=1&D&+Ww0%aKJ56e>YnwnVoa9o zw?5oYF&+|^)LFLh!J5GEALimlFoT(lY!Sw0l8j7Xt_Vy8IcjedjW51N=62I$&;%;( z3P}-iWR%}<>Uz@^rm=kmJ|u^ z;`e!Fd$e3^qn@Cb=kU9nX$iXxTM|P+1n^fA^eFnjFl_~9H?TFCGW^K?zk-|5HYGvX z6}a&9!RWEGOJf#OkK+n(N~$v{42r50kQAAeG-kus62T74aAn>E3b0D7fGs)IG`SUo zTz4T?a^zRZCSjV zb!MkTuC7ls*F?70rK#(Jw#10)H>!&LA;^9U70_)_yNBrjOj=Wx#*1u~vIWb3mN^EoX`NP3xU z<>()YNmpaaf%YxmcoN6MFwlyd+vyu`_lZ_EKTg7A5n?PtYwq2E5XoIIcHq^Wka@UV zoIrWIp6}Nq$P*qRP>&m^6)BOnO)mYp3GHPD7w-3}G(;lErQZzuz{o`%=Dr#^CWjI_ zoZKm-|2n=(F?~P%KPjd!;ZavF>i7Mu5hi^p1s{we0}Mfm?(+htT)f;RPHTW>|A)Wz94N?yrQf$Z0pVQNThUQ zX-RorFDm2VE8%-J4}IhLz7oE7DKUdfVW*JSi|JarrjXZ*yJB81Zp!j{*+a|gWgivu zdg;Num2;F(j!Qr=SFGKljXYU8>{ZTwJ_XGU(+f4_h&M`Qj?!d?;6^Gy*pvCWT^UL;7)37TWL z-;^EkG%M993|yphqTQb@lq(U4VPLf5veQk*q20sq@pvOwa!CQ#0Lt1OuS_0otKb2P_7mGp6Wf{#iJI=zND?bD0 zi{7sB^*;zTpGG5g{=3SaNH=`Js0$q_MrDZkzSBdfQ<$|v!xSjmbO)4<1-_eT z4|x!+WP`q>hsUSVSPf_5B!BLu{(O-&Q=}Jf9EHk5r)~QL0#T*OM1_BvhzP>MQsLfV zl&pBhJmT$>q%6NUP>8HsJrU_E&V)^3I*v=INfklKaa*5AP(%t_D_g@ESMqLi_HO4+ z$^+fS1&l-L{%(-ivBFe+g9bxFV&8GltdCJ^Mtx2N6qxAjQ;94jiXoUH$@)g+rVv!d`7 zBvDh|fK*a6at7$PlL3x>=<1nK?Ik#hyy?^m9eLYg@s#|J3&1kD71{I)q1A#$wAQ8#@2a1 znHsDz@wecgp>kF1605fB#)vjv#WI08Noro3J)6#vWns1m099Fj7if49%7N^#Mvbml z*@~s}=7!IfhAawMOH^E-)#*Svt!`r~qtz)X(CYaDt*)N;rPVc3GBnVreM2_en-{7J zd{v;jR6{upPf0lqPr=ePv2w1Nl|oHSev!Pl_hQ;!yUwz6aC3Nej#yaC&Ot%n>>L!8 zXXl6orM)l9&cXBY>>L#I&CWqld3Fv8`ef&zq&zzZ1!dVexG$sTxi2U0DJUcFxi8Jm z!EFHW(vg&9=irU<>>L!7W#{0&G&_gg7P52LU6!4Lo6_tY+?HqOpr9-}2lr*!Ik+#) z&cW@fd2?=BKCh#+^I_wyn71sz*OEB`_)_v-tz>C?xh^5^?Marlmm6lLn6@{57HS0y z7u>RBd6zg`J&5~^%K~}Nbvb!Y0rM2edv4gXvjhBQyV!O$J2t!LjfG1(ZYjA1AJHP) zY3Z6$hCo%{vSQ)t0uulpF5wV(tQG6(T)0?VzS=Hf7(!PHE5;5D{KKG*cm#gY_yLgg>RK#QnUu$4kfEF-1cYd6MLWhdLTKVN3QFZ>iD!$atvae#$|)1 zpL6u5M_DP`k+6vqK}6Q1?}>$5kJam06ycj!MPvRp&VI?+@#-a_1FL`zBdGZl*hW*M z)Q)NXo6J5IJBnZ#LaisONt0y}4~;ph^|jJD>2Dl_h;&Vfv~lxo*)6r+^8>E|l-ZQ>RX{KuwEUJVWdD?C)hU%G~F6H|5uneP>JHxvK< zkz!*TYXXI7+CGo{m*QlbtQB%E0HY+EXzsmKahiALW)w4S*`fuDO@5T9`UQGwdWuhO z?7@A^m@LRp1FID{gdqzL-YW1oX2kd&((PsHunJUi1nDlSrK-M-Ohm8&aAc#h^M%^Kyu-X5t0Gq5+mBib$>4 zm-%MA@p<3m60^j&5yMOx6b%uOoUA;a%<5gr;HTC4N8;#{{n4!iykc6r58O&+_u(lU z<}5$X*5PUXQoGrZX&4bj1@1iex*=^=?}shFBK7VYjQI`Vx+kQ{dvG0f9^3%5hV`yn zS{O_=8X?BZwM{03;T({nq`7o7g>80udca!Sk&WU&E=0GVK4Whj#CtRdBJhT}OP2b& z(S;UEr_aWw4644_kRvLcA#}u$-fnB;&MeE{b1r`%tN!gO1oc%&j-!m8#&SuiFx;I? z4b^59>TX~~+_1J@_Old*RhzVAQ@A=#s3j^9_*TA-)lx`fGd-H?8dQ*@S8$JK2Krz= zH(sAfN5n;F@w~+lC$hNAOaVa{YI~zbQR+LeVsS((LkKWI%_x@?cH}FytWV`8}<5NG#>FlZe z@|_%W_1hF|xWgSw0EGR5u-9frQ^|rU##>&a(P_$M`#wL)^^mhO7$Ga13Elih%OcLz zKcP@&X}_mc{p4y*d`LC^38B+mAUv#i zHv^La5H16CCLo2p$=tUVhSxi(=6d?~A)$i92A$0}`}*5h`O*!{w!&ddYzDIQ0LO-}x zJC~{ZX`V23aS{L1#`t9$LPh!(rZA9vW`rDehceOwJ0anW#u8NRaWKIQqy#T~((=(a zDxgGYgC@UG#O-(4;#a0$v&GP_maF!)gy8`L)vyK9w=tkU>lY#mi^C|svnmcki1vP+ zf7-cS)1tGEnUI7`!0*k@j<4mQqatlp3&sD>2f;F!3$m8D+-eoM8nxRFPFmQWefP^; zqEo24Sn_l(qtPnTzXC~zmFMeik&M5H|BfmhG zyp@sPsa5WGDSwSUcm%ywIa!pHEtXGSO*DPF{SGe(w=Me5fS^xy2paEMhq+kW1fAy@ z9CjWE)R!H_KKZ_mxh)Q22xja7Ye{6OmM0Lc`n?xS1(mgHFuPU|Aj8bY?|W?FnENn= z2=zbB-9qa`k$U)?#wcyZ?P=rhWO*+WtcLR`xZmC!4##*Vcauzn3#q0GH7!D-uuj$b zF^n?R4Ah2d-Amr!&?|XE6Od_Qtb)?VQxfd;Y>LdD@E2@6mhN}AvXu>?usN&Te_$mh z#LuLBV1vokIUa_^&oqsfmtD)exJi38bcs{*VV%2*-8%UP*~Lm}Pq2MfHxcO4LW%~&)=EZ8BSkXQ$f%Gj zBMgVyTrn`8K3&q^+e@zBR&rfhel*uF=G&vG|9|>BwjbjB>)KVs$KALhz>@NVXxRS?RP`L2Yo#-hJ5m#GPHYb*Bw!XOI5q zrN15|jO#0`Jv+9muY`J6m*wz+*sKN_Li=5z>{GmE9@<8eAgd64DqB`qcxJ*VIMs@S zQ6*SJv_PZ;>WFH@O$n;5W##5;IhXBLtwh(N8>|J3K~Ec0jcmo^id9ecr}DwQ{#2#T zAlh=0e7jouooadJ+oC^d#Ju z>PfimqbH%HOi#jnxt>HXlx8vKzEn?Qw*{%Y-DP?bZc6ne+?MM}C@9mDa9^e;;l5N) z!tJU)dJ>9C^(5RLt|y_epeNzFL{DN*GCc`5WqOkM8F~i$sHi8=gQzFrvY;p7x?E3U zpJjRyZh|)AHJhR~;vG&bP>uWN4cJH|PA2UjxH3f^j=EQK98E+l)h%WcKWlG47Hc_IY3>ckOtN|r&zH~>W+WJvnH4=diw;=82a3#T=^;t)gCUJxy|nz*5a3I+HMQlqq!NiRvShOYs_$^&Rx5x!X8<$C%_ozLWSon2#sbyo=czZ3j6O=yy|y z>?AeBj*`(j8sPO=uq}vqPfXk_n#9w?jp5*V|Hd4i#ff`EIN)^_ovQ_%LO!n|Q?bz2 z%#P7|))=sqPyG zs(Wam?s)^%-CV4@T6Mpuy!u3kIsYu~7HIf$DB3 z)U6qrQLK5CYQBD;nvX5iJZGSqhZSmeKT2?R%gm-KPGE;%XQw?@v0c{%UdH@Bgkg=N z-6Tx>BCjR)&+6%Wz4-;!e>CqO%{y6tgx>zUyjawqnzICm5;meKeX=Su|2p;k?E3GDG)125VF^Fjr-5lo_m1QZQJ9urjXOG&FQ2#K zmagS^0fcl)vWQPXKM~Y{WL{^n%QL_818z?_S*|PKidY&%XXsy_2a>WJ|Tw*Y4n}j2$&a zxc7Loh-@YsgQpjGoyUu!IIf%jk9QX;oar-sK@>y zc-8N8{V~h_5V$sVA72lDS{NV(YZgd5_U|qf4|`>>wl%X_E84H6)8rSMJB=8+@%i)z zv4xm^X*%V-;k0Hl%&g5iaGL&FANu)I@L>=qnWH!Qkx)5@#Q9hZ-Vk#x!}5jnV=#aj zi@(5@!Lql>VW>10TJS_6U>rtnEhYk}mfGe%d1AwqQ;cPtf;G>#uGXW^G5fi|8cQVa z=3#k+3P((_BJyL7g>?AG8)Qr&^Bq>Qo-BT+iMvPFX72JHo?puRsPGGPu20{jT48zd ztRbLezL&O3^siV8;TeA`B8kE(2tEQA8G-iE9TB)O{pj#|uW0Y+R%u1HgVYb}TY0szhcVL?kFy2f6|)KE}m+egHh-kP~D8UZ|4@@TX@TD-fYsL_fD z7$rqq^%{>i3tunYQ}Rlky>esmD_&@j6Mks1BK=0;nu)mY)_j}R^9m0LU>;+Nk4$x1 zzMNSC#w+}*)p(nKH69lS4zjHDKryZmj_k!-$0seRdmHR1Q0B%9X0K?+v@~_6=En{t zUJ!&V+4uyR!8-?)UZabg-2}ltEFb2 z8ZKoIak+f22@@~cd@|-N1VI>)f`Iz8F zrMA!Z$u(Mn(Cuj86N37hKoqT&`v~DsgU|AS@o*eg zv|>S5cV)1y!6V+lP#(x_w5dNFX~^VW6{W zLDcjY%Wo}UqoR&1mn6D2qpjwMM!_&%KiVAnwaq-XN87;dUrnzP_hG0#HUn4RHcGJX zX8y1yGNTU*oB2PEVa+zLvE6*6^CsJ=*?Dt$Kj+Oa29+H+I6qVOR|o0LsT>%-38I+X zmBi4f%Gn~zV$((fBB~Be(-Ad&tPpMgnU76#LP*nL>fBo2^k!di7XhBpi2!!&9y^Ct z`R2R1kI>i27QfSM5o$n^l^DFqE+JgsF~D{4eNhLAdz(R09Cfs{g*c@_Mwo%wSr=s8S1>lSL=j1RRh%!ftu019Kl?5fgWNIN`%+ zg{@pww|37Z2G{*kG?=~)Kjn%mT!VZ4{}%F%T;T@f032Pt1ex*NL~dk6ideIidH_tA|U zoAF(4NhX!u#d^o*huGT(Lo-#O8B1qyB}&D>4k)k~=6N`0YhyOafnO)xV_ozHS}H$Y zLwq;GXcEY}ec1f?^lHp_xcSR2;8LZ5E#yTsofYKj>f965wyvtJ?}W1o)jNmvnb1HQ zqMI0SLaF-@J*#%_+}I|<*^N_THcjmPv`-?Kth3ym#mhU$ooM!^m2T6Tu^iTk`%fZ~ z(sx)5Zhnf%H?)(Eb@xuL9q5y{AQAr7Vb<;5yS^>oNdeuZ!1f}w%Iwn%(L%uFJJ`5J zO@6_^!K}tUYIN+02yahV<%{27w#p#eDsG)OJI zIRg5OKwU3V4=OtYD&L>FX-Z*L0nFuBruE&a`}%q;6+2~p4|abq6)`pcxxQCXTy;H} z_~MCwHGWA1u9s67wB4DMj3vIG05rsDwqT0xZr796Gi&ad^+Dxa@6h%$KcmP8_{H@Y zJQ+=M&-yT(2OO~mn9lM!w3*QhapH{9!~Xg=J+N)0wctUVKc+&XzjJ`eGvQ2}yor9~ zWnuERX!5EZ3F%IBD|8Y}v}r`tB0ah7{p&l^PNFeH4SQ4jfK$QJlukv6pjHjz$P_M% z`$N1Ww2S-4LD}%{To;D_o576A;kZOlY=U@*I01MX1v}5J?Pdb%+;0b~hXhP(5dj+J z>6b)g5v-NY(>t(Cwt0dU-@+Fm6iOwz)@37HbHLYa_ET@;0bX+k2n;lnA!rH3zxi~F zExAv#*mT?6nIRZv^(D#zDu=X_l#b9QX=Qu#9yGKe3}sGya^z4#v{vwtNbM6Qq;59( zzj&VIM}w_JmI5U$ga-khj17rg`S1=j=3!4pu-c9BcP$h2pLpBx{DT`6?ULSN-;bU7 zpb2I-S3{by^C@`EG>cFvk*= zB4)NUV+_sLL#|bdJTmFP^5eZ){b25-Aw+D6hj16Tx2)&AxM09Ux*B>@Wu0-m)|)i! zM=lab!Xoc8EHY5{G_64%c6$Lcr{6Pq*bi){Lc3*dq;RS3_0QK|a9$u9?p_b>$s}bz z)+W82pg!w^pv=9&I(k9uC*(RVbyO|3tDk8M5#k1r+nuL{FX?9FTRBLzpr6{v7S6hH zkx)e)^YukiU-hef-od(bsJ?JGyfxpPzc~L|`~ROrS;DSYt(n;dcT5x1nuk%^Q8Bnq}&#hf`TT{UN45TK;KbR4BC4!oP}Ly zW}4g_Zl)Ovi)NY>^fl9@sN7657L<;s%uJK#44$Xzf4UHWKLifmEPElxlLaipmiXT)KL2u`8jMCVN|=vFMs6Y<;eg@?fnpZLiI zxAMm}nh+Ib0NJ>Z5(aGmCsm6daTOISOO(+@qP)}l!nMe)JHn+%&~F&!10i6p5$z$t zt_X*37`0U7e7AWrswnHYKSi8?MAbtScnX)JA^2N0<sVYZVWGbd5`ChXOwPSHXcl3orY0%G=YiiG9R0&g7^b6_t)?O(v_EBMn6UkOi zzS59!Gg1VJ5=2!a6_(Zq76*?72~LPcF;w=fUDGy+&YtW?eU>{EaWsBd?r8IxTzZSNaCRyWX4wWz5Q^m4fzX@Qc5tWm|~Bw5y7G5Fv;P)8+Y?| z6=6_T_>*t<$yLUt#3AQpgR6zy6dmxk@}SP23}m7IebApQ9&D1qTqhig45y;E5RPuB zz9hVl1w_u(-~?#15PBOyoe&j*VH1l0+L#msBF!t)4;k=4s#_LpI$$!g1FaOlF8{Cw zX{`T}%!jffy)VKI6cu*0AKs{~Bbk(fC+7c^%6}yKS0gJF~KPkt;Ao zHT3T57K@=X_RgfFh0c|BK;qsY%Zu?bLkBK3;2>!WIK&j)pCA!x0Arv0)K^d3O^T>s zKk?a!b^k-rzzxvD8=Xvry>Vssh8XsUWZ6B*waRm$Kr`S0#37280KW3rY1?OS$v*pJ zs95N{{Ij6+vvc{Qm;R{+nWA@`bZj(Mx;?hhcx-Ig+lXWOCi-iYlObt7YOtB%O&H7tFtNmU{ z;?~cXQ=a$B5WL7NMRFY}r;WY{-hVJ>3YdcP8^W_7&+F56{5T5vI4Z~W2#=gz`jrLp zL1x$)gn2^6q%x+jiYFDa4rPCW)apSUvhc9m<7Hrt@`emGv_v zIkesRFS4qQjkv;@V`Bb17Hdr>T8BTTPFLG&8$%Jn1B^#Gr=1ZN0x6hD;0sAZ;h3{x z$)|MEf&}&`K~nM5onfqaV`~L{ zC6}ALd9m^1qC$$1D2IzO!&JcHHf{Bns9S$YJy(M2hm+L$QLbLLrA5>MIzQQsNdQQCtij-r%JGw^LX=v!{|6%R5d*)m{S6hM%zyG-U` z1I0-V&yG-J@vS2pxq1(Ub3`|I~{N*%2kaua((UC($fvhp=zNv^poLLls0Q1_aibp?!*$TC&9I-dP5h-LU_mxPvL0r z7thG9ErH5p63L8sfhIR{o|@mO@pM~jJEju!cqyfm;*4io z?7H~Yb+&rA=dodskTSB2oTuwD_!$PJpVpHfh!8N)1vA1vB#Z^dp=->@fP#Qgw7RblgUx-%!}AE58~m|>)ei^#qA*AcHppvh=uJx@8|A;Q z>7|CskLtLnA464r&HO~YO||I@!Br~Stb+~SFYrTu!ozJ^HA|9;9ZEQhEeMg$KY|d| zT*S0a#7s^(Gu0uwupG$2T2-BZHAIKe>tyvnaFq;4YJMY25>b_?54^Y0$Uwo90St~`Z)soH&P-6#P>W+^cJh&Uo~U*jXN z_NUhcW}j-}7LVJg+I=;=@tJkv0zWK;bn)mPak;`E8YUA`k23t|V5FnF|I5HDa~x%~ z&h}ucDAcB?38I+>r}=IAX)@$7xKPSU*;6gyw$P?YfkK@P%ox#Tmhy07+I*pJ5N7Nm zx4INLe&z3c^KB|auGKcR7o-Il4@;bkbF6=i(%a=zPaTarKyLYo2LX9jYn-c5yl za_5e1@4*N(chL}2K#Z=F0%AW#`2SNB5QAppTQp~JAMd7@OWQE8W6_brHAoctO4gbs z^ULz7yrKtKytq`k@;_J)5cVu$e^jBUI?)|U2TkorQ(c%d9tnD5hoNQURmzMk-rr*SZVqQa znjfmOi}SO<65kc98Sa%K4W%X0gA(omLWna1nhHBs5jV;OA)z8gt2(2BlMWb|u7+Ow zwdh}>c5|X(Yoc_Y`_O>ZEqQkIT(EC0?eitH1$nJsj~W3pjEk88I(P``1cFJr(kQ*GIs$XYao@lEV#c(G?g?o5bHq$q*d5hN7K*%*wH5aYw$ zNF+5htn$OY_CoF^p`=joJ(h1Sqcby;n^{eV4+<>KunC)j`v%WvbRYq8UHDCqH4X|H zgA{DhhFvIr;nZH;PM1;Jn6WSj#;Yz%_L2-bn3&W-`aHBz_QlBj6JPVqeSbPP4y%X@56C(kW~dd@*$4)(yF_tQ3oSNfx7- znS?CAn~zH!s4$ib(<#slB33a;L2l#_kx8MG+^6YT4bdDVQ(gAFW*P#hAjYY89Vk#- zU3Z}b9Rdbi9~>-$xW1s}>lvinu%?(430tF#KxU3)YD;z<%gREl`A-Kn<>#q;txet( z^WectCIe|qkF6@(-kZ&UtZzR?8xeG%AGQnApbpjtW3@yEx)|u~_Hw$B=x(h2?w4?Dr*ex!?P7Qii*-AO zGNNqbl2g?NsObu+lU4y~4!Ov=YIdAI7eF7vyPf;A%+zn zMYuA6)_Vj>r6NPKrji+4kRcuiOD+$k{s+oxRmZ8@=q{K-Iv`H{;hDm6PZTg zhHTxfvD@3pB%ZogX@-Q8_6ptDK$bIee>FBCR44X(keK^;j>rgm7-;(H0|>B$$l&;;y>{p=48c)h zmnQ45`VMI564UW8>2+(^hq}rZgiK=8@-@W}Z)}n%)=~hP1cn`b9o^0l$m99O{6zk{ znE&)U$>yXAF;ao!-H|_$*&BmQNIjug7}%vh4Lxi_zGSdMi?f8!t_od|MjzRG5D2nZ zx*eaZWG$~6A||=&h*o;zW-q*@By|;c|83G&y%6)gL3F&-POsz^f;t4p2nk@}XES3u zh1)1g0Lx6h;KWtsp+2axz)C~Zmq$Ld_R3;(P|{C~4nB-FcvuX@E6NHi6*hW(?C&TE zBZ2h{_IH$&+uu=8G_vF7l~{<2=2@T>=Az8Vj{8z0J8t_J*-=tvWXFBEk)2*BHL~Nr z)X2_m3r2Q!msyB$Q)*<#ZMl&h1!YEd+?O%e+?N{Jal5LIksU>)Mt0mDZe&Mc!N`v5 z5+gf%k{Q`?Q)XlrKV!eyM=w4WVsR5MP#n_|3ppAnu+rKY#e}dtDKWpZ_lkz5?EOJV z_A7FOeh?Y!?;?Ul+Iu{N=kQW#`vN2XIIn{CW}1+yVbgMFSY9!Q z11m(MRevi@slINE%Zw- zV1E+@6WVs}+!@Q%R#45D3d>)wgBj=4W^#sjzZ(_w(frB8lJu{Xn!iwki=I}qs`yp3E!xXv7tDC*u$7j&2w|?&0E7#W84wybm#4p zesGVuO_4H)setKvdy+dlfp8p(_N`e`_M45AsNUJ*Pm({Ihy6UgC+Jn1(tW1z7^>+D z-rY@Taik9&%5(*e5l#qhsJx7#&clmfGF5N0KUQ2>7_vB(ESvBT{TOPlm2dQz2lTt! z=U>a4Ss0Dq#DRuiIL(P@>b(06u4WAE=?%C^xw#Trxe?uAP_kfnCf{XC<6v@zLyBqY zWosY{9AiWGZa5Hfr%=hNgPIuvJEXsA#C|{*ZY^ca;j)6uAt@=?XoI=Jz@W&A$*^z? zx!ib`Z^~n{;+TFCo{=r=75xrpNK!m@tG>?i8{8De zAjMAlREAM%2}+_NZnB}H9D*+W>4x2QcQ=yYA468%9tN|`?vBIGQSC3$?#Np}#qd2k zBpUA|*H7GRjF{Q%>}dBRpvkcw-sxL^NLT=emCA^A5wtDV6NGBoiTT`VLw%hrBrb_S zqx#60OfCl_gJB9-+RHUnWDlxs|4i5>KhL(wy}5SG3rD(LmTf`&xxC@z;-;YD!;LX1 zQ0GN_FR?*FR*D1Zgowb~x$6LNy_IQNgHNNxk=r*yxP!YWuJc2GMK1%LZ=sJmwAA`I z6JWU!9VUxNnsy`b5DHEojHr5-?(8TLR*Fz*2%UvAcWDXnP?~aL6tpQE4+4JeteKM zjZYudu=uLp*KU)P60R=D6A7DcA$@|7q9(mp<_$W-(AaAnmHpDH#q)?FYq3 z5WX!+{mdFca+4s&N@l6*^v}b&YjyYKax@4~`-MzU7-=I`$e;C?N83TAa}&pLkEyk( zu^nkyS{>;^YUWWmQEq{ep^}mDNxXeR?sT0FnfbxCED)pk&pUXTP4q#!SNQ6!^dOhF z)1K)*mAk=c@AV^F<>C`9YyVHq*Armr@Ndp8dD7yK)tx3xzg^*WMYv15D9iQg51lwg zFT_r0l?Q_&kJE3zZ=Y83Hlhf7pS`DF2^4SV;}LvV-ozOtA0e=`k4PP^-+mkUqmuWt zF8%j;`-B1eeO{k_7uR!Y$&=yx`~UY$L|fmFzuzm|%Z}V5xwk`}nh-vGWTQZ&MEW4p zeF!k5oX^0?o7Ip}d&TV~y@_F!OiF{{7at|*f7##Qg0ftCUejGxX3y!% zYI`(LUzF2lpl1X3#H9m2OWc?NdRf}z-}gE<8fg4#v*b$2i;*iG(UO^X9LTbLN}B{ z{m2|xAq^rLQHY#oNz+&?5qYC{o|n_d=G+HeEe$-MUzZ3u`-cagnu*n#~2ceYgVNgzdcynZ1O`DQU=M>Sd&=U^eRxM zG~dg0QE$Q8`d~LQYzNAOnIo zeA4C4Km~{_Ohy8aXKjiT->GpcpT$nxkF+#<4 zL{7X2nN8(MwuCeFx44AYa2=BZXG_S4zmp3~xck-vY6y9yvQ!Uc2@7oB?Iz2qajzl| zqMIsiHmqwELPPwaH4-^eBM~9t8SA*!OR)#=h9FQi>HF+iy~2Z%c2jmDO>QwukaYsebjE6+71f? zf`ou75N&0K2=B8|5aw06KMmM)c~{u(aJeP$2Uy81r+)HfgPo>i&$?a$Gcr9G+7*>a^h512BzGws-&wo**z zNVLKZ7@IyWnGp>h*V1kB+MbX#^+R&M3et&!AHG2Ok+qT_X;TO}zt;mrcyz%UhD^lI zT9(^t_mB_w-(IWmSgr1EZ$@X)yT!93F)#_+JpZ$}JLLf-6pb9ZxWrGzqBQ{w9`ZFs zWI}*Zy>BKnoq!&0YG;vQ{YH5R3t{j?bAVi#_=7;Ejqi!IW82&46LYlJBV-hmF}cXr zWVs{zHvy)I2V+nlMM8`duyB;Hx8Q9ngb?g?-pA<83n!DoZP$U2w|D~+C5+du{ZqZBtWd#R9N3{GWTer z?%-${M}gA|u0jDXHo3bzhE=2>L_DVF2Yh`a?`}joNxX8Z0JLsKZpyyd(>Wom;D2aE zsl|2kyw-hv-9epOpI}fs&Jm$(QclwNsAsBziNL{f>*jn znFpaxEV+{Qed&ZY5dhpXc`MNh;1j~Ux{nVAzqxO$lgVKcY#`hdX2Yb|r$G{8q5_j$ zB_>1QjBOwUaA;6mzlBL9NEaZyKKFW7qLp<}94lgoslDNxO$6$sa5z$X*C9Jg!{P1R z9j`7%;zyW#D_^`xB1?DeZu+F@IT1vNm_469>;1K98_q+=8#V|ag21NKPp>~xQ1g&^ zk<;H?nwPH^zKZJI1svo7v$WuJb(wFOETGN|PJ*(`r=K^FNoEF^;Iq|z1WCo|FI+|C zB-@dpe^lP;P0ttzUW91D>q>z$7cX%yzcp|#KiXd}y9%8Q5On_r z#Zc5yb8K6f=XqMe+S8eXw|48?dzZCvh^xQvw+G?*)DRCOG4_zKkhq-= zbTX8+|2Aq*c0k@Gq0uj_@1~_MIN?XN`B_6heMkKTMe|7ewE5Wjqipjr#Ra6z-u0o) zyty>bGQ4C$U0Ilg5x!zZDEqWm#JeRvdd$cF9y3Di{jSc1i~CR8 zRhH5Vol7AACbHi_NLxv-bqq+8f9@lqzA#|}o7VWDS4h;5F@H#K^bfgR%@ttZE^s&& z>3%4R`#<(W-5S{(-E0Riw3+*)MWO!u&j z`)`NW=8n$LyYCL(gMHZH3MfsdwkskRWww7Dh8HN8nMGn+MB(2rWzULz zRxdsJgh_`Kd_MN!CxL7FSgtpfR5L%`P!3|}z~ns{f#T01P&5G)@8rFUwZL+qY?6Ob z$Wx>*&bY%j%%)_9aRT)OHN&*_oUu^sWRyXQUF6N(pWxo7I?`3mawwMU1LqtolW052 z3@g&b2BH<|_YHuho)922psJnL33KW7Hu?eNEU_%i_Ib9VYOggWjr zbJYfzR#(%TAD>{W*y&pVPVLGBNpaPU{`%p`;9rF598;RlO z{(6JP5cb0^jtROwq0Oq7LeG$-$ zVVAlKeI*{G0wes0%=1_aG*v+DzHW#TIIxW`ZP4Zj5(}-@K7A&@NY#zp&#*PAcWc_U z=^5K2Y-Qj6F}8jZ^J+@Qn9!xkLk&z%9%HLuczG4#RDL0Vs8k=QQ*$-C7*_p*ZwM>*LU` zw2_bY$yuEPC?5N0tuD7ke{G}b9(S0SUkBD3n1Z+1 ze&}cB@N9MOgjolTSePMM$D^!eA4Z`sIDuI;-LhLK@cwt3P2>!rKYtapERP;za@EA$ z7U0abr)-KRgK3(3cH?mTTY!^kcq_qOHLB7_N_A3+|L;b1T7H6f_{ZmH+^XF#2ZhlK zNS_`OS8B^DmWsKkQoe;?d%S65R?rzFE)>|d<+a59N*!o6x{!lF8+KBh-^`F6i(6Zu zn|b?EUdB5j>|#{{){z(wjKoVuce!7g*pAuWKPY!HlKUVV!ST9|6Nj*ZlOnBm;jWQSvodna;nR)>_3^rYVXU@+=ACT_eI{3}Kk*^wPz+#SyB zfAYOdWPYJfM5dwqQL}Pf;Utd-i&Q>Vny$5AtLF5g^{GwoWX{A*a9r1LfJxU=Sed zpudPp8m*G6ij`#hqm9FurLG|YAsP2-(u>n}4Z>X|O<^-Q!m^+NzVi=Sqm=~0EZJl_ zQ}tFQ0Rc;jx5i>Bf}hYU3IcVOiRnMLx}Z;8YAdY~ko^`#gRtn=)*wnWnEc zFxtJoO~68z_PZW?OtT;3Xefimiu4y+33F8W95^p=pE1-{3QqqPhDVAD| z9)~Vpc@AL~dZOh+Iq6Wwm|Q_mz|Xe76!jo%fGm)NAtXB8;w(1Ysm9zEe=0GSs(wkQI&on;i;$_w4)AOOC|E?1()yCPrw(@;_>h zna_saWHTSnyn&lVWwneqRw!&J+)zx@jMZ)@Q%u0ovnK3;oM(FbtU!K|mf(QS5o;zf z>WEz=JeZxG*m|&S>)kiR_mFIQEc1`qj7IpNApq)d-+_AaZuk1)$^Vp4+_!IqeS}=9 zJI`0HsdKjk z@44@9kj9-hK1ft=vd7BPj(<))j(Se2A*7fci)YmNoR$-Pl{V6*aHboPex|alc24NT=H0vZ;*}(d z-&C8tR)GhNPiF@LBHd|Q1Rfqw4EkT;{sw*>JapV1Ed^KGn3?0yz0@!X1Yo{S%)kjE zIK=?eavIOkq_|gwQ(i|3CKL1kUQZ-v6I7A3k5s8D^LnW`@lTaLHT- zmu{sFYPZ|sfZkRcFf~L5Py~cwRX_(st<+(0shhZDJEoO46}PM`%rb4kEZfnRU$zZHs-?hT8JNGQF_CP_!j{K zBf?)*Dk(frW!@uO@aJoWRKzQgR(2Gf@`Vgdsi>epyt`uImr7kvzFY%hG7)!w~W30YaS*(O{uMY;(Q$2u)Cp)Y$SO^MfM3%Dtk9PEGMy?xg77u1mO!Yfxu8@;Ozn_Z z50}9de4;0!pD{j134$>K0eoFB`!U>Wuor#{yz`!kDH~U8DYG@C`0WUP=H{-sn+ftZ z$ii=7F+2s9_c?@;3nr`A_c8`@DqS1vbqd_ErX`HnBvKTX7KaUQk&r5v8hj{h!9B1P zXD})*j5R+Rq^`rb#X5bfio>#R7OsLd-S6i3FEWGE4!KAhseOjq74q&ACj5Fu4|wAq&IdcOw5w?(jcY5^ z_2;UrFUY4jj8(MzS3_sM^ocKAop{Yd2H-WrZ>rnE+T|V2Al7|0Ewe7;$aKZ>7g%N( z7=6{6UL} zjZ8Uw>R^QxheMr);qTxVA-VhpR>$KdiZxp?;p(IzP;R}E>8rE^Rl8cU^_g-iW#P{p zTQ;!B{OAR-StsaPzRzI$!<3D%?oGITg!|QNUAO_TY9`xvo#x`Q%N@?Xhns?g|M1K6 zT^lf#o(eMv(kT=s?j`%&-v1ExITd$WkQ?aAKiop+!TzUr&Yj;it8>=$GylJ~)%}l| z<^E}m`=>GPpE*79JS>$tJu1s%VV~?DcQK%0u3=o#%-pT&<^NB@FjTn|s)=Tv6-L{rWod}cH;f4}?hl-meCP0oE=s4auaAO>Ysmx?~;=OGG+&)X9-gn>>vniq8 zlNOer6l0c%Gq)kx=XOAeOJUC~)P`+XXD=m^-MgHL{A9W9G5z961m7T~Ub6kbop2eV zkJK_E+pLKpE2m>j1%C%qtrO=W?Gi3M zWejqu#aKq3`1uO0i@=5zu9N^aG%sfE&e#V9(()?)s*vMWQy`q<_HTq+Gcy39>MNYjr7yji4s&> z=kMQ#Re+eLO*-d?VfBeM8x*Zl&nBj$#bH31w>#6%j|>=_?L@W2u|U~i(1Z^DWDGUMdYF~zt9A)HP@i>XScf0;1n>^9uDjup*bv73qKoSz+`$P3TJ3;m5 za;Uy!w^03@p!$_&nJ*s^mVJjK@~OPBN3@5D=LF2LmP_m7;RaCnH;1qE0iYC$$k{`~ z&8UQHUKeX$0|-1}E!AShCI^)?ROI^Xkvq3>7qXtSUy`EN(bzqGjj4adE3^}_748a_ zlqWoRz6S->{VRgAW$t=VS~yOE0tNL-DWf_GpLIYvDvEA&Y1gazc8PpcW}kyxNn?=* z6f(bhY<}Q6qOcqgjKFmikcGPKxudpVs$T(Xv}p4t~7%{BRbbVH%|#W*N*JG z5TTG?K4Ck!;&Yg{l*q2cAyicpH*3La&Mi55_4R7mo{9g9}R7;e8pgXv*D)xD(eBZ%z{zpPQeJi0& zv;pITN=g4PuVe6d5HZO-k}~RsRZub<_Q!1Ph7K-<9MSSZcwxY_3%yl?et%^N<5sTQ z`q(^+W>*hT6ncof6GX6Ma&WU |>9YneAH~R$zHLuzlIY`wQ)ZIxi!5(l@fB^@0I2(k zfkYXJv(xi2Il3l;T_M!8G3fu`TSMAOe(Z%Lw>-gf82@kprU$-JgJ!91tjpnRds6 z52UEZQlW(jPX#Jz9c-=k_$Q-g_Nk_@ht07@M#vo*XkfER)A zo^anFTr(ND66=oy?_ifJrMVRr%KvKB3YY=hWy(D*2hL?r2TKmi;$3uoKJSDb9O?2UVecIK1>)U%UXw{g~%wTtU_UiSrKa2wDu%R z>6MUid0nY#*5nDIMVn5Lb{g;}n2UKq{$-}DRm5{$_CDhWWQwR=qlKN_PT&^JyZ^~Y zWgv!CG^)wWnn!573pp)e2!eJh<13rv6Rf}-0yky1g{`r<3_U5D zbwsk@SrJ&Zr5uNjPx1$^Pe6Gkr?Vy2t1#M$#_7u5KnVwpTKvVsrrzMIC~$Hg1QJW# zL~^POAn%2@wPzd6;dEXh+t!t-Bp89*5ZO0yLc&p$fM&UtbxlkvjPS0_#B4uqD?NO1 zq`WEaUMvl75!6Z52E8@9m3qq_DjH7MWMJ-*q!^kU=wHQZ=vz2}=k3d@EIoxK>oZf# zoDK|o_@KxLYef7n=XHsB+9_*<_8hOhh6?UdfNrXhpC*!aZBEjDWZb1uGE5f6*f><> zCDUdLDRryIu&$3%{esurIA0OI{~lX}m@Su5;~{b)Y9tXJ5IaXlGPvF#Vtn-qBqNv1 z?l)Pj(@2N5yD8A zxDSB*)8HtsuU0HJbM8auP&RhCno3K}Uoid3LvSghq3w*IbX) ztQe)9oWa3HjdbSe6<8-CXnVPRI!D(v`$a0s1^LyxGv#>2@OuV8*p;g0il zAOY+J={p2E-RNFKK!=63KQE>k?&zS`3S2yA2^R39TA7&VEutFMz?v^?- z$)LC+$XSs)tFSBUtRp${>uIz!a=mS;9t3uI_3<*N{^vh}IklYRZajJ5rq7=9iWAzx?AN?$5UD{y(<(!6d3KX#i$Z%6BGs)9%Y%6Ut@Lyp?K zrL$*sPM@}P+U)6c%Y^~0yq}wp>&(I>@+Ny8H+Gd*kS7>voZ#8>Y#ak*m3e_V?A{btF^4z$5bf{o=AZ|>=2)@- zx?J)6T*$tQ8>n=oQ3{qM!SB99{O9QKa>79z}3X1 z<6;r>w-Tbb`CBP`Tx(+HSLwKj>$v{71XmwafQcAp+2Lz(qyBZQeJ89qBBwJm7l}D` zf%huo^3*W=yg@v(n!a#;C}(ae&z!+Ry6~RB~HC32D`b zZ8eYTJ07-p^rJ4<59gBrDPk!AkVZru?sjb{E=l)IC^`iuJ6RJIL)H}w2T2;)URH4I zI*6>zHUt@k@ULp#39n;%{S1EHV=QLtu-Bwzd$R>DAz)j)+TYUG!xk4KdA8U4`V7+9 zPMrbsioVIayC~W&=}gtfA&1ApxpByGv2bu4vakQGfE!Hu2wCFCF;km4lvH12Y;zeF zU7+b@T!r6+tgRI$JjKp|pCk!0UJ=mp`AvqSEUwqezZ^*q8Q1LCb%gV%*DDRWoH>s1 zE@=j$6pe*%T@Ac7uZ85I@ocP2xVXKXkF{#pJHcpoMPT;*OGFzuAy!TFL(fTxyF)snBt z-1`0Vdn^arYdM)q%i1xAo`w(5U1jn_Q-CPJ%hwQjOBb<|&EeL?N?OMc65CW2NvuJ%D*m8~rn78Z4jqp(KfXbsTyl z?>X9OT*p__Cuoauz2pX|x->GvdF7FREXm^lDrx5&OW-!5`H)*KrD7TY;4lJaXsQ#y z&G%DnnZz?;%9I4vGo@9K5?8@m>NL+UYqIvDB!+q`2E2H$s2Q!O^nIpplS_=jFZm$f zVEX-S%cW?rVUN<|WSr3l3NJ3!3W~L{(leom=0z$L-i&Ud`x?axi(tLaD*kFTh6ZK)!)N8?Ec-I-G{EI7_WUz%!9rU zz)f5<|D_E2}e*~H=M#o;>)M1 zLnnj-x?}wz@r2bx)K4)y8umlCVc2Wd0NCpnfNll$x@1VZ)KDkj&!4c@kMsc8OG({S zW|%yge;bZ||IqTZe|m13_ElW#KW#^01m_9U+wAmp0LS5Lyiqz4kV|4uY)Z`cS{`M5TagIg`~xaXN-MSwCpg@c_RsLik)h!2z6 zRyPTAvY-3#eb5K^6JdF<;Gd_~o3l2I4~ka#v8t^xkL%8B)9oJ*+Dxv24elbE4t^x) zg;wo#C5Dk@wIP-!ZN=V7UoBah4tTTL~u&%NG>mh0AAQ@)*+|&-Mr$hFP<5m4-?9O~vi$s-wi!QL>xN5at|( ztJ=FjvP6xV&6NODD%3Dq;zWq6a87MfVhlefQ-TZu=Cg4Mk{HV^KIzFsDW~`_tvpnx zlzv7Jzr~tT3)}v3RiBge2Opk=$PL3u42nIY0U{8ygEMo!!bqe*Gh!x_9q&jOiH7<7 zS{ILGbdiusW8I6gc&!mMa^g$jueBaBcj1C`6#i6;9(B0GufVVp`lI{`h83k~b%VVe zM0UJZdun1tw$C@vBts0PxN*cO$y>D{Y>-4($`-hbAVxhsUI@?5H>qYzb&myVhuYra zb&nZ=fLbaGhEs~kU2&XF+cjP%j;ys}-HKZa?K4;&SgDjGSxIS2*~d8y@-)u|mB!7N;Io}?uDmBm2^A{-=<>*Na786vGjoILY#ZVz$5Eri$SFJK=VE!$X5&862( zFT9c$>hc$Eho$!}z67^FngYQCzViTyA3|@*zMwd>m@ zq=A;OtLx{w1V$-EF0fLaec$aj7@_PZW6)<2jX22|mH|eXMqEd&6nPBLz+*E5yfaEC z{UEt5uVdY{NR3@Zs&}!{w=V0nL)U~ok~4Epgg0P$-Ju|6&uC2CFnxBJ9lXha-FP-) z&kT@x?mB0B^)oDSwoariDZ)jo8R%jIeiuYAu9ZSfYw?DhV_!@`V!ji^Y8h@-&AVWg zeUzIToX7kBN!=nwRC)!!mr>97G*D4k)~YkW67FUVOV_ZjG+3QovEw?rTf?gIy83Sx z)}Lp+aE4mEy9K_Ah;E>!Vu71kVB_2#S=?S;;D&HbQL9OMpo%qq?xn7A(G0g~fs9j5 zi`-SQ$j(7?b`X*JR(eq?{frS#oTTF4bs!6&j^qy*v*ydOupW8*m}LAFgeO_sjJ}o9 zlJ@oalnknSnaoaHcs8=$$@UIB=k#a;w4|7u(k-r&hAB_za>i9gy-LDIx!FB+v?WRvYF-C4!R+kfC(S9Jz<&!TWc$22*Z*e>Ol^oyvmP8 z#R>`Zc-W<`PR{_^@E{@pRHoRK;g!P*t>>ZAsCYbYjcSj_lMSD&?YVQIGB6`UdTNYs zbQvnW-ilr<6oGB0Q<`Xo9viNkslkuj)JD#3Xm2=MI3%>-m~B6@;_=|d$`|YM7w785 z#`25v?Zu(~;(W-{+LcN;(C^(p5>f2Ek`aWr|58r@wqA@9weVt4QMN z8I{A$X|beG`H6a)g6Vn3$HU9>oZ)K3b&>-KMh1c64g_Rm&92W~mE9k)ZKG-|J#=(1v1X}=p zs5C17!HtP?zMJwYS8};k@x8Y zr(D*GNTDWF%GNU>X)e9iVja1nTvw59BXGJ9iX$!0yT%H#rJ0%T*uItjc;T7ML`{&1 zo(k+#!*+VQgqn+WT3m9TcWHFu$LZP@DZEwMh-%TdYL>*`#Jiy(oZX9?9hZaY!vi-( zNLbB1i>8C1utE?A1;3!>)wntH?GYi~lm!|#%qOflUraMW@U9kL^MX{P##BanwdvFq zqQhm9<&rI7C0d~l6?>tSNEWWF1BD7g8Y87Hxp1dglrlcLL|x!R*q0vZRNH}gvsaig zjUsJHlbwY(ZlOYp{SwcYk*y32CQm{Ludp$a$wWp-FZdkx>vh&k=ybHYT;g4h_6}$7 zs=qyV=ectzyp!Nvs^rY13 z5vkLE-BqUt?$GJPmom`{PPE_39i7wqr!UK6XK33J)JqEu>@Xxg?d))W& z$3k`QqqaZ=5+Y}KVG|PlZ*eCotHFyK98aV874~e82k}weX;of{a1+uVjNq#}lth;4 zZ+ARIA40!&k&vmro5F%W07Ew)&6j&^?nAR1%-6G&olWH)dJsqLIW;DFg1TC~_lAUX zOc68={xAH-y$VgM7DEq`UkkZBwlN%Hj*x>0e>I)(8Io{rArBh(dvY8LNw<0k)%)eL z9zrT~j(=#Hq7gBbez*@n1`88 zSDAGoTdcn%(6t}7K3%3EClo{12IHp4M@eM1)~Q}CY__h|hVO{4*0<)^tPfjXynVG3 zq`dhEnzN*e(gmsFr89c6%$sz%kYl_FfTnFgD-s*N$yDoF$9Rcg5h8UrsLg-Nt`yCg z5<%oVNF&~=`;kKmdQHs3JgqUpj3gg26}E6ntXZO{ zK=$T2W^Iyn;!oE5Lc#aDBt>`=?OK8wZ3=sm^DGEDId?{07#_kyo|H#$81fCx!ZXRx zBT=L#{9!O}{*LF~Enne!(1-Aa zeHz@3RU@`s;x(NYTpN#I`AAB0M3<+g@kN(02;lY;9Z2^kzALn6Ti{3;&^DqD?fh+8 z*=7wz5)j)~nskY=tmYt=Bli%`@nD|FFbwr@?q-ttkpTx#*oLx~D6G2hK1;F2AgwS- zbNI;0ZWI2W;sJ_6*j?2zFa=K^K3wNc^uWb<1DSB?@&fLN4nH0uE2ynv)Xi5-aI__~A+;wwRBg&G;;h+>$xPgK`g&d) zTcBDPMRMBsD;-0)4Y@#DtQbW-mUI9b=hvzr5X7EolfV?O7pkq!w(%FZe#LJ0%NHcG z>112%J;<7{C9j_F!moNU_DpMuRih#7m0Q$*zXS(#1)RM206z}Ht%g@k7qQu+j2~Iz zQF%=BmcgAuaGlv^*C9W;#BkdK(oj1dA>r13Rv^1t!l1_FG(i?Z`^kng@oI6^xybF1Fltd$>{qYAGOS~!pUZ}m0p^w*@X z)a!@pkCvIx0u6=bouTD5+!kyB2bsV*$T2rr`W8_ljI&uul&mn^$@JV`!^X-zC8bhJ z^UYatOO|4JgvVpCcw#PTJ9hL$9eroQ;oH~)ks@S7EmlG_AfL}9WQeavxLXcGkZKK! z*?++TyDxWE#Ss{n?@BN9!(aHX7lge8!D1qTU;^7|qi1QMOyVwq3~)n~H2fm=U>Yd4 zAG#GW*Z2E<%Vg!^6og+}zVWaf#jkUt&W{Ya&bXSzTjQ(frlGA{ir?_wrG;#3xdko! z_hfS@Lrf6?swB0C1ZLY3(VS>B$BBgn#p@caDsX}GOtd__Om?NYKz#{ij0f^{Gdv*V z4!~FeP{PmAvJOO41cnORG36A?$`2p?r7Z1Drl@3T!}rfGgbxPyEdL%#OJB0pTJ;ze zw?_ouP;`dIQr1EB;OgvU=d4RYG{rTB(FCJ8dp$*I7Q7fL@3hti%<42Vc407ad>l6=_}5SFpqte<5iNO{DRErf*ZGg^7GQ1^x?2e; zO+=0>H+xfxE)r=wxqn&cQgqK^US>Sd``Rvbe8svCaOiy(t zfD7j35@6z3)uTErn8xDUAf8LN(2pg|_*-4vzQv1xAxoS4xZRA28rb6?M%>F#V6`SE zx2mqc+sW;za&O7W?LT(a+4Xs6=)7dh+$oT37w9evzexs#wRv@kUz$OoIp?5nsy;9m zfIh^wJ>VL5KSJ=?WWFxq=VcnQJC{L@x0^)`wqvO3(|%V9!g^ez!pE_kmCVcG8`gx7 zhMmK#nA>!%+GgCrD&a~^DOGjC!5IcUw=59!aAY_m4-+=3^Y-Zl^4uE7@3#E64j_l& z>u?Srkz?P;j|oj+rx@O|jKZwL2*z>RcsU4B;s6gnPo8CSUkFbyP)92-FtR%7xwC&u z4}TgQ)MJ=j6O=Ui8+f&m57D@1b`)#qyr$<)P{c99tcNv*nk@<8DeooB-4GS|MJ+2_ zxtZ1E6rk>r6{!*7PlvmCix3qGHZ$R37`6(xT=`Z7MR*R-0c?Ga&#=el*p;^FY1Qi3 z^9^j%73byK^eY}k6mH3P$;zCH*Bno%F?Qt>;%Jgl9uwsif|Anlj_2%bRz_(0FF8$@ zt;YGSoO?`^GRbUpq+3*9v||a^oB8cXTj|$LfRisnR`%=@<*)`Hi}i9hlO9zWF7h$x zb4;&7x=Yzt?dq$-yQ~S~h1=xPU~#cOT%Cl<|;s2#b3KrBv__dQdg+RG7ktNUImLw zh+lja8eb#ijFAcT7_WLe?U)bd(X4R{*JK+x2}ck|Td!#L=1Fnv8hzD!lZGp8lzMz* zMRAxXyltu;FI$`_4}-cD#zA^)4UAFSN%{k-@^U(#5#ilftXht?^YiR{tIZ6&T~Y^I zFKvc7#i^4ap|cRj_QWIFl}N)w5WkodEo_*iwtM^2O~VkkaS(iyuCIjn&Fp5lXN5vd zkJ_Tu4!_jK_qW;6OD=ty$GUtb7I;qV{|XwkvS9D+-pR~!(> zLDn2OtD0HX zHQDO^w!FGRMJ(mz{gzU`j`E50&cl5xdu^HXnVNC~{evCvQ3ZCs9!$fg*I&SElVq=; z$vIXvp+|l-b=j4vU`R$7V)!LNzBm|?Se_KN$-hIeujRf)D#Y+;RVQ$F3$-etlKbKH zh$WBg>onX*NeXQ_`DJHl^BW94akMfJeYA=!RWeo8TghuR)J9=az_uf6@WW-|(;<@OFO^{zA32fg=79f5LECx*j{~%}v?owG ze4<>g_0-|~8rjy?(FXqhCgYZwTR_arRE2o)A z1)A^UoU->>JJI&iJRo#)KW)9WR>}MC+!{*oFS2$b=uiq!$*zr|K)?7?@ype2!>pE^ z2-CRL^zyf3@snP@qCK|a?v)gphtYS%QTTk7@!M`v%_L}7n`;U>6c@~)qm-y`M};Z< zA`MU(2W*Jiqp0Lacl$*JP?X2Kwy2{^@N5=7&Y?70<9L4#CY&|?6xbraD(mOh$fALM zBD{^wIA)m|9T&XNLbP;ewRb+GkmI>>VWst@t>(p2y3;e$u zD3^cV2Jw zlseME2md(nZjzheuK2`hQRlh=$1ayT194&^A42+m<#<~*H#1DP_1(ME$4evyoL}yu zYPWuaYpS!58;n&`b`Y^_9K=F9X$0U!$wsppydQtd>CeKu@zUi5pf|cW(P=zvcy`D( z1NvZIFtwBf;FSEC@Z|2bj17j#7_J4qsGLeviXx$26B7fef1?UXUjo;i^AgL<#V^)7 z%Y64d6Fd3s0sD8)Gm_5}U#bTz<30;$f^y@<*0oXYio#stRHdQA`-Yq#FK8_3%6fa@ zE58Wa!8l)E+-8GWgL7?}>)0ziGql54j!VyN*MNBNS#X_WSW=-#@I`hg^cLI1Y6);B z+eJ427gg=reIt?2uaMt9QgK&&nV}jgW{=tR`ny(`&fa82iP|XmBV@ELu{!u@*`!U| zi>hF<8w6BptPpl98 zoy*A=%E8`e*a%iG_ z&!jl&^|We=Y>Kc*c`y-a%llq5**4%wg9e>FIvE?Tso!WF{Cu9JPht_@M+XPc0o;$c zzQp}e<51)MoF&mIgd1|0;@T4lrfxErD)GB3HcqfsKUg02_h}UZOgj5xgvM8s?-C6X zZ{M?WtBvaimE+ngTt~Kc$#y@UCxWiuF5CUM+~W0VA*3Mk19}qM^SRxC=GvI-c$-jq z(RE#ib_%ww2JXeUkpEhM?$sQUZ@n}L@xPO8A=y~!V)5U35#6%PR&2hUwt*7bItO)$ z&Ue$s>Jo?Z`zI-Pz{~y-atBm(O<&TLCke>E|L;f;@IMyy|Nnom zBnJ}`?~;y1N~o`7o{MaQiUa=vUN$8+*ot=%Z+ep-TI5=h@0G@6Tg;0cc!cegu$AlS zk-5zeSzMmPe1+EyTfo;i^$Kf7sKPFR(YNF zU6)?vsb=_VI|7k<-zj5)#FYnT5x{_9_1~E6lD=r~BmjPZ29tSJ;>k%2N{p3O=~1O` z8etq8qxGPu5_z56w|LT|xIgn~kpTE$zI>)*mWqT?egIvg|0Tc;m(J7@ zG<5S^i8@i*g?db#WPidLMw5^EASzUJgB6c8*f>*M{x5 zDaY&+6?<^GzetSJur1}w;ZL(M$$Brpuju9C)XN_S?&Xry%dquxT2O#@w~1$hIFKf3E;_JP09xMV#HIOT4^$OA@Ow;iie>aZqCjz zJ88HxqnK zE_sRF$C3QHy5ce)iknduvN}90*0@L;igtYzTJF)4Y?$tYd5hLX_*^y*^(u=cxa6Bv zoA@$h3CU67kTs~i;t-_H*YoCf1Z^nS|0PT~;___2T)&(b!6(g*8>_>TfccMPp#gj%S#Q$EErhOZQV^F&PjUKgk z8wzcP#tg|8(I);A=P0>8Q2qrFvY<0ZA84s6Jj;tRx$x9o=LpEliBRqt)>Z84M$zlo z>~Eoit6`UgmAvX?;T;W%0!oEHO= zH`uA?;P#KcooN|F2$*$H^Jq)lu=OgcEq&mNtq%-d`k)H2KV(5kI!M)-H%WNV5C&%^ zUPg}@kZR+nkhjZU+{4~Bs7|RR$WRgm%F9RBP@;Tg`E|whhR^dl)66^91Psk+BDxIf%a{78+7!<|AIuG3T|(b>=o`GQ@aK@@RCh!<95V-XVe zEG+$t5yiq?V~G5J5xL^XwQX=`b1`7c2D${K4Ta+^^mN$mzK?d^-`v4Yls~vv{zWvA z=b^K#IIQ{Ju`m-Heh9E{x#q(A7qi?>O~}1dvoCY)O0?x_r!8lR2>O!m5yxp!%}skD z1Qws#6wmNZ6`BnT$C#rg7UepCzK&?xwNwbz;WWTEZ6|K|f8aOyLj;OwzEv7r`eD*4 z)Le&VH`YvuEf{AGk1a~FG@;qH&5dK?pktwUFP#+^(8Wwtu%pG*PR`ighLKz%b4hr9 z7`?_wQWTkwwp)@r;|-wOOh8pT^nv+CA3UmqM%sIWtI2$asZy4Wg0}wOjkh8-K7Br5 zFNWegZsJ0(zxGGV`*wIjW3V;EH#3Mif-4BRwr&VX-5~aaHSqVHM)H@4@61Cv?xA%? zTtVaea)l)tABJ^eJ8Npir!9f_EFNXvaCn4srOZZa&2-YA$R{+F@6WqAyaxh zv5pkwQtc>AURdI_AqWWK>Xg^SsV@GSRmdhRvgJwIWtKH;Oj<5Ef2_-!&fkvWnJC)BPw5YAuPmmK%l@sAa7)>e`~Bc6~{~5 zV32~7Tn8KMs7ocH*$&KY2D8=sBKr|T1pfvl9ExYIBEFl$O-sAQmLrd50_2f2PH89I z%EApx^=vWxkie)KymW+C>(rTCv3O0#H3q-={+fS;}VLtBkK5 zDFcjg@8Mfjo81EPo5h9daaKzk&(Fb>aB&-G?!PrfLWN|MrwsOBl52XbPclneWn5qb zqje`}%np2Aw!wzDr|L+13WQKzAeZgyNE9I5W4RFuKQB?%W}UDNxT) z0!@XBhJ0N|^HzL2P0Ouk*csfO$Tc|niE+3LO{>J*>n%OOrV44Dlp4|{-aaakJqZ}} za|GkzA888k)%ppU?mZ!jWkpGUNO?2BRkEh|eVWB3o&E2zsp01ww#X76?pTS}1zmiZ zn{t>@WgQ!pcqm0S=%3gV=bS*CM{X2Wy&e)W~=@J;ASn^iLC_%69vLCv`GA6Rd?Dw|K5*WiT=tz56%AQOpEZk3Os<^LR zQ(8jZTPGmJqlVea1`K2%rIn6_jo8X~^$ZR;K!uEdh^TeSzan7j#9S*ke2tgR@ZZ8o z?~y7ck+_w72~)72#Iw zm*ZpUZP`1M`SBVd9-NtmD@|9K2u?5}*d4_*4+6R9gZ!@_v{V@0?gDe5mbI8Ye5ma&vG>`((8*i*#0P3R zKp|r8r0ifdY7Z)VKq1VnKAc-PA#%OisdcqY0FNDABBjtCvY$%$ixZ`ARM&@F&C_(z z9y395N1`uAQIl3ngTP$+fFkh`vg!7>KVc`QAbCz@c+NY*Wsl!3u*HeIlH}7}^rQ~( zOVkIBU;4|PnEQ7$c0u0QGmW-Wz7tI6zk4Yfc36u4Gt-wM%(0mQ>6q|GhjaV5 zDJiK^LMY`T+E+>o_KGMf2N@!^B4Bi3!K0l>s9oy2QSp*FT6c} z;Xu7WPRIdXc$v9AT^*EgN@8_*c33wYLm^ypj?lX6`Fc$VZ)(~KM8UTJ=qQcUI0y_9 z%yht9?Z(oCPk=p~K=()DmL8&v#MdWGHa_#hpk*cJpNCP%!&$A-$pyl_WI!)C(~E6^ z>GH5-oD!YsQo7W1$NbCCOZIeAm2rWrH+;*h&4zV6%HxfmF@K5Kp>*+VUvE+GR*pQ(%vfKdpas-X3qqV<=Bl$LEC8gkIs8}2O;Dd%+-9YhS-3|T zkNmot@b4<28F1en2V7R_X)9i4RFaUS(t}D4^ESvcKKnQ@;@kY8fNo6Qvw1z2$~|CD zvFNnLgTrGGc4DT)k#}^0cg)wS|7sqAl*fYNFYe69MC6>>aR2%4b9)aH@4IFEhWHtF zseKzofe;Z}I^=aXlJsLD?;N_}JFzvxipX@bEQPODbwO%xTZ!whoq-<`4G=CT*%~N8 zk_h%6mM@u%l1(N&GmH#1To)#hD>WyqgB7+V!|O?Yy_Bic9*g{2t!rz1%{c=3+VI>k zSKamfrWiMUtwGc8_d&4PM>lui=w~Os5Z;{|YW^@xDdAKyr$6qp@;l+`l?9V&x`1wR zy&V4zC$f`Kb0in;_n*Cyv7t1`GXf;HDcJ-s(n@OLY`Jvi6i1cB?SOm3Cgv<+!JG-! zS!56oJB&tMQYm_cH`;vl^gdd895DG>3xh1@e6X$%L+i%)GRZ1y-H)*Now(P@{3Q8u zZZOrVjj%pT;Y^%4!=7!&&M&tN%*@zI@Po_nh)-20<{IBwM+0Tus?ve@ zd#_dDOb;j`-Ggw2x)$mw@#6)eFDGro8HVpC~oLybAduIt;VnwhboXgZ<>;gK*y!t@vA z4&0A6x)gS2S3%Mf$?Qau>}WB&b$y$|aT~SS#NNGRCv&&_635wv2psYxe_#(&SMTiP zS1CML1*U}rAczTSJK08>X%G!XYpg@~DU|0xPk&UlHtWS`aiKJ3I?6;NAH(zW3Z^j= zZ5SmK?!@_#g@)~cdo4rwQ$ul>ow$qUibW`n7sQ8OX%_%^6D+v;m|!31PdtM|y^eaG z89_ywcqRKZ<7G#*+pCj4zf4Ei5|bQVC@bbQsGWP*N1OWtx7q1!wEx%jwY5Qt71{+e zb1<7-pg$!JKR4E`kHeK%-gQr8t8WqVQDbDrwIPK=dg6G#4LPwRj(i|NDgOnaCwvtr?OGF0|-Q=jSqM$lH5?|^d zpt4~y5dMxJ0~dgD$x2Wx5eTw+cu>Zgxe1`((^%cg3ge~UP`P&DG!g}dZK9I>z}V5` z`_6YX2|P&8R3e-VVe~=D$d$tFD_Tt$y{}Nhhzn!5_Z$67ZMk!o! zb}Pwl816@!P(<)rb~FEXDhUL#tD<}gz2;o|QG{0t&l^n_x(yN8?rU=#Hg9X}&M$p6 zUHZ>PXsbW6&GNcZD4-Xq% zZ7Pm+G*!Gg*8h}&PkGtn+HD|)(#+s%Th`gZ156jdx<0;)&%K3+CL2d1px;C9 zA05X{jC)_m4UFViRP?+K0f!euUBC_pO=~Vx9|%-;cMx+pPN^;SA$3+`_72WxXen@s zER?d%iZx-7d6M+vP73NTi*9R~-HS1+0Xqg18PN|u7GT~;yv z<8QGIbsQuK`v||bbP!Al3KbVwSA9Tp-0NtT>sS^OnA0JfWS9lrCUo|?q*C+@EAtGNh;M>dmo6IY2w1rjn-Nf9=BN3%EH-v`sV5hW; zRBR=lQk&Nl53?t8>A+nPii+w#EEYwT&lc4}*O(vL@1^7Y;YKg1_!we(XhAil4#P(p zb+!v(t6!D&oU0#ASHJC76RP}JAA+C}o9*2U_h(3Fh)@TlE-sokyEnN zQTQNZ(<mNVA|4_$lCFZP!K=A>kD07iLt^ILj(r5>#D~=Gmql2 z*qEJJ&@S*x*+hzz}C&!bQcTtPtf4#1<8CJh4MvvwKa z&p4^6t*^rz!}UxFU#aTO0Xyfa*BM|#nX&D(nYMckN(s^jL#TFURKVn#+1*kv3LJ@9 zH*jRA2WEI3xgs1g&jN-2gIwGgu0$@@cnJRnMuo$}jldc2(H1{&+v7X4QpN#mgz0@2 zN;cjfe(wt2+e&!7G20u?1?h^BVqDpX3gE zlYb6<6P>+9+k?WFu=VzM#0)7Bj*uilU_ArjS1EhQzz58^CsM5}5NIEoZEzz$AP%6G z=pzrwyGGm96UUH*3%9(m2i$BgZ=7Pg*a9et^I_3Tm;mhCI(=u!q%W z*n=wO8qZP8aiduY$iWR^v8ThAmv4(fUzOrRePWjSY_%v)jedl$ESF)z>YaQ0;dYCv zE!z9~ld7G;<-6rinka}oiEkDN!bsv%X2#iW(8sCzbC6&9vdy6g2V%GATPC*ZNBBc>EV-h} zT^uez3(-iWHvg2#+rO>T8?=!R)Y+Z7gd+WSS@+|-oX zc1RlringB2Jw zp}YEn&?ubZG`P*y2(s@X8bQ8FmY`~YM%@E3{2l@%Bvbvg{`4}_@O`wQ-rmt%8x#&u zbAtqZ?3JFSn&h8X=wg$O=n(s(*$uJ8fI~%}2I(|)5eHq%jMB zT@Gueq=K)7e(zYPuk-=Vt$EILh;7DI0yJC*cS*Zp$x4zo>w)v}IH$4C)fRiSWmIR7 z^~NlDa6(*Cd`kKhdK@jHdnH$M54Av?w$tIsB-e+|w8vw6BO;Lej--xXgVz0; zV5`ru*<_J{-oUyoyjBg~DoiFfogp_eK6=tfhi^}7EJV+CymhOT002ta>Hk#I44XJn z>GXf8UsmMFBNK6v(Rj40>@yOR^_j9kRA*iKDG02#DuDTgaw<$&WLhMPyb<;G4NF^* zcYnw(#B328rnF+pQ|LQ!1L&eq{c<@>9j9euk;4-Vy@A{pQyv~wrL(FetYB>zc4*}|vuWxUzg=`+^Mq#kHy zSSFfmTDe7m3X&`8!@Gdxt?EKYv9*Xi zrP>5-FlO9?kHgS}lO?JG@~w1Py&ck8luN4) zLUb;UAT;lwY@kyUg!7Pu#OnIKhp|0ydpdL+>6=!VJd#^tHW(;2qa;&E*{uAsYn2b^ z5Qtiu8p)~0r47HvRx)M_X|W;P3m~xKxdeT;Zv+QZ=wY95f^;3>)tyN;x;gP#?@piC z40w$6Mp|CgJ*^{)p;;%KS}@{^2OKf_yj_lXp*1E)C5O<;0XK*5F<=yS&9+(fVWxOI z`J;K#uC+FxePOrB>zl1EZ0=1G|26=s0efbhG#2{D+B}t%$e&%1G$T(BsXh>=Um1-| z4!R$L!jTZ6x74>1Mgry`DavGmL0OcI$>c??Qmx$k5E(67#rAgd2M zqaSWEs}lB!^)@07b=z)w)_N1v1jhJj?SdMfoA?AK+N35Su`o4K+H zniB~HRb!`6@l1W2>Vb%sMS>7A6_XH zjG$Q)X{cb_I5+pzgfB57Rq@N3c?<89qwb-5k=%1nvWOz7z$a z`$U&#qRsg#n+=FG#=5n7-{l#TC2ZX!PzwoO*|#>nVXlt>1oW0=4LA5|)=#@;vZWz8 z`LLhVE&oylRIJFqtOsGe!DTJ2OzW_4l4&c_Klm_6knpr|<>%v-q)%IK0U>M*ZvB8jukO-l_fLTHi+I>eE>lApC2YrrNbeNp+= zb@;1I16ggTq0{M6-OX_iQ>XQT+0IAMc3_+@L(7nQe%K7kvk<@f z7-wneeEsYQ(jHe(YipK+P@d?60ozZxR;1r-(g+~}u|mh%ZVl%SKw>nyJ=!lBiV>Y{ z#uU>w9&Rb?p(oXwE0}Cujb3ORepioFJ5EsStds}xbQ9(&;JnIdCa#cQW~xnfG)T#y zvEv>yULTUnuhBCedWZ^iy7ZALa>3&^tV27u96%`LkWKPz<0)X;jv{>;vmySw&{iFh zVBR%a3GPP!LnOHKgjRWqyS`ulOmf#n3b-?-r<`(UPG2x>er0|*zRx0yoM)Vyw{+&z z1vB&SXHGw3;f$1uZfV!_sq^PgU0V6-8C+aYd4W`Z)8?MpFa6w3N$qr@@|}Msxtl#b zU+}J(^QTWeGyk=qYid`zr95ua&zL&xY`?c)_N;0BR(aa=f0!h9Q>RT^=&Nx0thwjR zJ#(QgU!kh1B8y%B%y<2h*zJ(v&U4y*?pG;v>q~OC!H=Pk;cjRggVAc(D`8dQPMTXW zuJVL&cSZ>+SUf#rUh8luj>@aE`Nkol_jd;0qS-`7oRNcI82upNE{u>4iU4QRCXCz< z>A%nK>NGR#lJOoH)}A1XghdQ^lYjAdGlENT!A*I{s878GVppG7g4eu&3m!ZHDUNX$ zs78FhdwB}`xu4OX7~j*!1LtCz9DC-@@;!$eQ*XWMo zETt+)VHO=86mY}xa`}+&8rNmsN4KXp-qi06UL~=QlvSq`C*6{@b>TxD!$Mq*@#GoG zq+`P(OM{+taJOnjQ2C({JSsazMf~j7Uu>h|7#XAS$~u8)qa-^Q@F|n0+?|Z< zsnqLx2k12{1hy*rrOKI5K?FxiC0e^5UnexTD3lNL$?#eH>@@!Yv_sNgI`jsN>;msd zU)Wj1DCY*ucS^e9w-<9u$2t~XA#^ZJl{E-|IfNhYH2g>sII7A}jImB?fSG2J7~T~r zs9e8ETM#-yp!h8#Tu#XvjK^P${m)o+x#v+CRC}Q=Ss+F*vi*QF1|F6{~_lT*~(&Q7hCk?szEb;bty;fR?YvfsP}(NILvBObtY;G?_P? zTnqsSvbK=Igh0!a`r8(F5UbV*+q!&NWLUxU_DzsB;-D9If2MN;n5ehs79A=N_6Ro zoG#sv=n~{Sr;~&dS1cOFK(ix_CY*%>&blekit2(89c>JwyrCMSz=g=RPF{cHB;#YK zL}^qw0pWIE9mMMr24GS2v#&!>?%=z`#7X}ki==g^l~XoC0Wp%UpWprhE<>nwI%#zq z-_wt2a7{E|e}qv6wa22(R97hWOgee{&z}hRhjk@RJ zY+MZvBkzxIg5z(%R;{rK`UuC_RcqqYE4y{5nq%pW8caU1(q>-*8-!^h@m!!5hH$rP z5$4vgCS~=im4!@QQ~l1O1GWIZfiM)Ha}P?Y2$qhK^Je&#p%Uto6!f5ecjH9JW2lQz zfV%qEG9lenEsb~%yt5MAy21&#tzjO0WaUbR-j#-anAw2(s9OG{0lX%d-n68LNkt<@ z=oFzEtLQyp4C(!R`NI+eLxm`kWri6p*qD+3c99(hhuS4t(V}!|Bu}!Z`w>n%sy{d% z)H?u{(2=UatRw6@$q~F5aKpa$Cq!{yjwtTk5m6XQ<#C5bK~y1p!GgT}94or)4*2rD z1s5LXR4WygrFP=I6SbS&3=o+8bV9WWq1;>DW(XygzDn3F!*s-Q4+#m$QY_r=Y`^&C zoVWSadCuExAXUZyyiK~Dh4q6fc^g}w=g$Lzy~XD%xTWV)i`@gam~Io3xpRw~`&#^U zg=liQi5InD%}Srpb5)w~u+XdOIV?;eTrP9V@FrLaM+P-;8ZHu?WgGw*pzzqQ+XA?S zCHP*~Pto$#cUrWl&UYS)vtdWZLdxa`Lji`@LZ-2L4D>B=f|o33$%P)mGu2&rMj-;M zyJRW|x1L|XomopK&-slqlyWNmEWAZkJ)8)n=jT!6yzm%7`jIkEVz;2g^_}r$9dTbR$JZ0{ zKk2SKJ(=Yi@Jwa>zBc=UtFw_bGh8}L7dzyxbO@Ko=A@*u>T1F$GaU%%T^|Y`lt)F$ z)j$`u7a9-?21+J6Q=uQ`zsRkL6+3+6fIG}X_$qA4!+`Td+XL*Ydf3kTnF&q9&Wrpk zV)ASQtTUxfIBiHmhpKPw9kmWA0weaOn^zlId9$KX+1u=iG4tujwWbjM>wj|SzodWp z|46A^#~7QY^A%?kF4>M#6p|zkS@<>26~mvG^#b%{4+@{$$|gA?p@rMd)3Mn^c7`v}g0eG^SFGJk1`B$M7umVdo^9m2Gacaz z=Mkf3sNzqQp5di%JAewje!~1}WW+VKh6sH8kW+^bIw8p3=e!O9{t5G2VnDMaFMz}- zh7u^j7q;*0u4C}b6|*+!Ign+uvvAa5BBf0Vh|p0GXgX~5<*9P_ok_lMLbPj)7?MYh zPK4bVICXJg(nR`5J*SOlqTkPutA~-&ZVyjp_oftwt>g2sNQE@Vj@u$9F>7oo3<4z7 z^HWuQBK-ocW$b(mKRd5`z!_Mbs4Zej!qqTsIi1H7j0R1Aa%wsl9t$THU>^={-3i8> zCaaA*)o+t*$hyzlLgESEkRNlLU-~)_?HM(uQh0P(S_8(311{GZ7(^iqYqb@5)93gYjuxgL{@vmNLRYpT3wBe=_~un#`Npm+L)?Z$De4L z+6CjM&7OskplbZW1@p(xnlo+o!ZW9jU-If#p8m>L9Lk-AOAeheXW{rWW_2y_M`q7D zWBiP1({_I3)%n{mqN(v+OXp2b4W>RB(FxxB3%tKz>4Lsz>9cG4{5ex+S5+;WH4n4N z-1%Lt)2R4Y`4i=IbyXE==2>%(;Cs;b`LpKCIK7jnXLZh+E(O0`J@d@zoqQiuRb>Or zFV9~%t?TsHpD^ilTwq!IzFC`G%xH4yg43tZpFexnf-ZlJA9LpVy{=j3Og~+hd0DT_ z={l7E=lFAsMa}D(1@op)^QYYIaOi@WQ|C`V^U#XH%=0@HSN@x;HRZ!OCk=#Q@l6xN z_~9d-x0Iqs=giVj2Uk^9nvTwy-ZgXXnUz<(xqsTbSSW!;<pnbK#t6mA|LWp1Po)IZ!2sDj%4)blTK;3*2DC2< zQ6)P`%?8w)qC(rDN~SnPbC8_~)kRrIRUQ+1{v#K9er!UI@hg2i;3@ho8eAk#v8S>M z*HBr*5+Q`2hmCUNR*zSEos3^ttF`>>z^RI)+=Wns2&c$K^vz;W89MP;AEZe#D7#-< z(G&)z{-GEMGKRo)^Ar7W1-}oYAq4M<_zmy3Q-JPQgk*a@VY>+XTzAI`u;=aYHy;%w9_?xq3dkQvP0$ z_EdXoa)sT+6iTkQGKp4Ww@JOo8|HvZfMtQi?PAQUv!Z{9nH(UZ$sRE$U@=>ios2!& z@6aH|bsp(OSeoK^2?XVT1_1(wJd*4hmI+46RMe+fmCL^Ld9%E5_k##rFzthzMd-#1qMF2%h2-UH-K!fV0p^t_xN|MeROrI>Pu!2< z2n&kUue|sJF3KwoK5uZiVWqib{gl8ZXKpvxy@m zV;68Zl}f{(xPd1wOp{V}mX3%EVGVx+>1p>00#u2>yb+M*c=!T;IG@Kvf2sTsxhQz( zuiodb9{P(t^!)B0dfp!TO?qf>M)K*Hz0r0Yx*2_!BMd1Sj2R+;v2e+nIMi4gFN;Q-?o;+#c zFDv|dez!JU#N8GpyE%def0nu|k8?f!q^)98nbop(s_p`A&qmMPazVbyu^Jn(RDcqw zxyui?auW~1lxn-(y%m>fb0U-NNyksln<=Anw8lf6(T;Lb!6P?h-3NLtBui5)|8*!y6d~u zcah`Q?;;Tj#p{)EF!%9OT6keu84rxkL~N}<7OAw@%lWgovZvJ)kabtr?P z>gjfv0Ud#HXl&gOn_f>MDcrkXrM2reQx;EsgwP@kKtcqC>;gRIy&_cjDT}%#>vZR8 z3x)=tYemW^xEjU127`jf)Zp@h#wW1QEVMxdq$Z49Puk{m;Mz~-khY|7pz3}2%nG7= zx0zc$F?Y7W6osa5S(h@R1=wm6jz6-v8?SuK$wI)*5!p{)op2RVmG&tfnaojiP42r~ zw!MV~)Z@7W14X@?)@F_73SS~aw{7O7zQUFc#@u5q5+;X<>!mqRB!XSAnUO#Z+?H!> zwyPPt4!p8v7T}h0+Dylh!!wfejHA5ISM?AC8kM(KQF!(=Ei_qHOC>KS*&N4n;YKt= zFa@M@XF>3HK&`P?ugDt7B^2nh$VZJ&ETCLRu96tPl(J2B#(l+Mcs(Z8YOHOpTs7lF z3;s)SY%P^PEN`t~+cmqT?CG>T>++{GRy$p!X)i$$TS@nXX|xUnx3Crd*6uxun|cZ{ zBs4x|BNdH?v8t3c6gu!swa!t=D0IekTYdTe?d;lKhq1-B@{6QH^pxmXIGF{eQLI3k z_dZ)01x?#%?6bGm6?&jdA*Wjiw}8b+8jc!F_liVC+b+8$yH?7U2=t`p`i;KGNJNl8 zi(jOH`v=Pu%ZAh{sHNISbd~m_P#_+?=zmNyzZ6-mL@2NhQ`_G;rB7r z@4yDgT2%~J$tym)fu3%6i;KF^yW#UPHyE||gnNFy64lo<8nVgpITbTX;a)tC#)i)? zZxhxT6Fx^&dFk3XWAD}&rC+qu^G?gn&LEbbo9^y9jCLlmg z1-4{;oX>hwCzi+>`2lVp%VIKQ9SNWAoi<(NC5L_`hG#P~B@12gFpk2%=sd-^+8|mu zL`bcgeKza@g9vOBRZzXJD3I!>$FQI^yK8j*7V4b_REAoh@Qtc2sl-3eGfQ{|O5`oW z)&Va!>LG=yn2z#BL@Y=rBy_bsmJS7-IbjGt zSuV;EE)CM>K9kt|H3#)t_BMIv_#Gf>sGn|*j zp9@69i@C1$exT%HXL0%v-gg-VVKQhh2_zDFBW|JgT7D&81s!kY!6-cyhbI$tYt|v4 z9_dKpIx{+30%~UsJt!p>IiyOgN)9TW95YOMMu-7Ok=|5Z6dVuDqAwcyU{QhUsP4kq zj_peiMk4+!t5rpdZc!%hu&#-qcrq7q37w|bfUQFmV9&CLu>`iU9oMbwAR^S)u2eDn zQWK?uBJo2U=~IPz_7O_8SatuLA|^eJ|-Eif}jvm;KuAy zrzh!soFOz%ibKD_+Dszm%RnF7_2hW)R!IApcrbEQ^D1$Kx9F7Mc2O1>rU?I`w=7>c zwNRj-l;K(J9g|yDY=6=m$RLMwvor9S}NUKwq)iza; zRyQR8+uHV0cAc1T;G0lnPaYTVlKtC22UikIYX(>(yCd<_LS85y>8FV5wFw?7GMpWu zY*z?!v}^Fs<9W_`I1{|lIvF@a9BP8*6)QnIzy_J$8Np+mb01S!wiQgn2eqv1Rsu46G$Q(|epTsi~++?$I8-6+( zACX%hNlfGxSo2E(4pGb_PojxM8iC*}H=@bD62>y9a5_fBFs_668JeEDu?fR>Av}q= z@HcHYJ`DvTnhH*}nwu=s9XwYbzBnbFJrdipHzr+u1DF@?7z%ZF?kd!h{}kvZgKx9) zP&1@oAgcI2@dFc+tqTW(XmJj}@ZLC1%OBwk>ae!*WE^>lcyXL=mKTLY>kp5Gb9d=E zT`xsaDw`lK;3OT2uuUAya9YH4eLGjlHz&3%iV1rLR;+;=rK4~|cLAWbFfnU%KWMxb zXaU1kH7>%8c&Hw}E2qCez(xzHmu{PU_}UeXWHHmQSXDNViy(8sJ=)Gq%RRK0xs?oh}Dpi z&qxj@TcKP2JyRx^Eg_h|iL!mbQ&((0gCCUTa47~lUu~K>qkRInM#c?1TIhPMlyDXn z&e663XHS-~nPlaI!y_vwNfK_YIFI6V3gMx2=nm$o5zu5ggIa2Et=qAw5z>u@J1idB zxO#LjWK}pQd>&*X;UaNTEL@AIceskwJ#cx1E(@Ia$v=`xYd++}VDR!exI|x2V<;a5 zVajn&%fjNGd?jA!lqRFKL)lkSinJYM>$DtN83O5>8AiB!VKoUAX}37c=-YeQKVeu? zS0FN*X|^n#_sQuM-*7)YLQRHu=(*gT%~T3x4}o1EbNI^Ym+QQ$evDy0B_;smfJT@b zty`|}ywcnq|ApiSS_p@?rmJG?ArkEQEOx5Hqa_0JK6@ zCfEvAm6lc;on9j~GoYel+ZdZcED~OhbpkgzlIepX;kcv%tZ7F*Q9r_IEUu5Wa+Eoa zbtWS$88rA}5v;yf^h@n9+6v1y#>RhTQRFXRA6smx3Sp`(DJ-L|YDYsOtQF4l&J}^R z7^#UnmfwMU(gUp`c0eqzSnX`#3Se`>332}k zao9<5|K$^e1~38a&y3{b#a)zz`%gF~9y;L|p3_Y`f|iVN8?;7vfU2P{CouF1!aG?T zA!oqLpb{#7*d_s*i3)(*K){C@4@-cO+NSMMZM-KqxCMEn8MZ^GO5Z1&(92VavnXX3 z(<3+x{{*rz?6WrRVcQ^C9q6fKwf`@B=K-f>b>;tg=6WCBsmw4l3?R*3B7{*HQsuDGjF7)PQM`otvCuBwrB*;!$KfY0g*0cHcd+$87#X+U3a-Q05f&rLeIi|r za0dyi1G%hAABWjMQp9g1+s_+y^+sx?`?{|&jw4h0aCd;2+`e*Y4>xS-Mks%6;_zvR zcAd8gDc90|lx@wusMGLoR|+MOJo+z)3ld{(RyeY=AToDf*X$Hdc3-O8Ly91CgC z2NcQ%5ik&4R(mX-iVy$H`C1gpki<;g#YQ(6ML|T~eKmF?bDgwQ$-aubT$F1KN$A41 z4K8tP3@YK+Cuq!S;(;jqh~h{A(5uz3r@t%hR7n1Gwj4{SHWE}e_B$&V^34}?Dg7I# zsHrQbTsxKvUr~}6Ql{C^ImZPU>6N8Q;&jebn;7eKgV~y<8D=KPXS@!hLpM~SELdho z_wB%|KU~8oHCbH$tM>O%`>LR@{XWYqyTv&2cR?S>Q|E*G&8Avd5aBmH*35)l!XeTd zdYZp;h~&idB=Z0rCYT4&5}va7jnW(fL7yC95##HLgLD;}cJ9sd|CRGjMdw-FbGptw z>%w#95Cd(_Is^FQ1dpBIkArVc=I~;-OZ{>1)rtN%{L1`sZ4m5h9 z)PaWUQU@Bl%pGX#D)aczm-EiLplmj!5#&5Ck09qpSp+%PvvG7Qg~qIz7nWWwoO#yy z^JaFI-U_}~^Jl&@tipv1VE#pft(U%|>;N<5p+XNAUCbVtJ1<_%n2T%OqPT*9YJT@c zMO@Zr*+;m1T{y2>-fY&!oY|c-XIwnPg1~JW!7)ZN2=00IUb%~neVDn}aAEtA?@IRL z>2%&c{Acp&BD=Xzr=HftCH8)lF$%* z9Ao3=CzyAXFD@OG`r^<=snZUZ(WI(1Yj_E#pLLxm-VZ;m?-_UlrQ7mVPP5PtqdI*83sv=9R?+D4a%nlkBh~&XcoJuCbxG zcim>YU^bb$XnIr@YYYS_b*;l10Q+Z$nyc+ZcfkpKlChz(U4*%1f{{$+&D6`SI|2DJ z$l{LBhH$`#SL;xbs8X>dc%5W?+3;)(K^=)8AGpS7MCSESO+gTq^9}{n8N*Zre`&gk zV+g@|RfIWa9Rl1@N!J*?bTw>}lEftLj0r*gFL`hkqkO{GodX-K;UXx!v!i?l!B5GJ zGB=-KTENzkxc6g?LA{?)pV^<7-d||Czt9{K8rhqc5VUD|CEwZORuCZDv*muf!RZ15LlWx|sCQ9e1B4iL=H91wMuj2pvCza`uO zj@uD_AyX#GF?56W6W4N^vP5jmY9_41bqS7$fdNt3UeW=W+7;lcwvh2^W<0zy?m&3S zz#d<(zhY@`po34F7$^T5ZWucb>`9y~T{i6r;F*FP4X+C5Nq%ZE#R=gN6YyD3E$N&5 zs1Nfh{HyXL2X@FsFm_mS_1b?L3qkIhI<`7{Pz;Jtos8Fa18TZOLb9&XQkDR;_G1lu0k%+sO9zO zt^6Bd52+i=Sccff%p{$ID67^HisJpNh5c-vfNLBEF#oc)E!!;c^zNmWiM#sE43_|u z>NnV5JAbt4hB77;P|~?nLxihd$ zRfNv@n*vbuUx>`B$K`oa_{a~iZ%tg?@-WX8nVwN4?C6Lw?FL~pBAm_`|A4X27kTo%xqZAIu~8n_5`2Wzsex-m{}z`r7A!wqi= z6KuUk34<;-lV(3c|JS{Wgg(<0Ee}VV4w4(p`?Pu+KQooQt6q~YzA6A19_XK((n`++ zLE?WDz7xL#~7oTNn=tTs(J1y8-Tdw2c zPjNTiWb^a{qp|ZkEH3jmph_T&SIOO@^5nr_8?G*|4mC%HNJ-co-2K_G1NW?|OJzM&ha zEN%-_DciTgrR5oxgo0u(0!{vt2^&wNgRih?SSwcwh-)Zr9>{~jQto|moIe^hX`;4_!@$Wmh! z*;(JGDliL>|FbQ9K(FEQ56kq7Qbd_S(wq-PH>!2~1dY@X5=`46^*Y}FhH$^nA#^Ly z7tJAhP1NChio9xxzHtc?wXMoC2yAtb6pH80Y8!m<+|e2+XfGmCx8Ii!%`BgJ>rGhz zx5gRgPH3Nio%a=@{wlWl1{+k^91%AsXSgX9=YY6r%IJgbBojKGvL#{{zuyBZ7udpY z=r0GN`!vieRxs?XK=qv_S`7-46)2RrGZ{gdXvI{TNx1@bBCCW7^W;+2a}`^xk@qgO zR(@Y$&HPSdkf+mN_a|GqtCk`h4dX({-?2Tm4V0G94hgw@UlY66zbE(cHOd?pSJ&P==EB%V}1R%xcXh%1@9?`o=%D(&5@7lQTkTGpZgq@ zEwjO5YE0bY2z2g)DrX-EO%>;Pl0J=Xjaw>Q;#4C1(JmQaOwr2Dbi6xRBB z=z__w?t_A!?Kbl=#qU>QZOLu3>+JGvGlcek+fev7(rtHaW$f%N4qu#w@g0Uy>`}b} zX4I>(3}NA@6a5pOtkW7AS;H-<-vbGj?nnK`OGAZG|1592?|Pgsv^72zu$t8Mfxrrf zZV+G6cX#{{)D@x%xrIa!%10xCdn(?z@R4O#FwLjn=D?2YmP*!$+laC{?2^*&g@h6W zc=e2BxFQ7=Lv_2V{~1pKFBz&UiG={!B{_+00B!VtuH6{gSbf%1Bryw<~Pyw+IUWFu)lT?g@Xca(x@hif#AL7)AyJ(qX;1- zx`<{Dos87CF#pYN6MyjrzA3Kx$$@&28DKo2L0TB4G1Fo;7vRHh_sy^J$?dj}gQ5L&{S+8YLBIh8xxg;Z5T?Zm|JD_Te5i8yoPmZ zCAR@=_rZ(t`65FM&z|6>5Uw#jPeyY#!QBf1cwd680}A!6S>{;ks>-$-&_OHS^456w z_hV$Qdl`3=%glCM2xGg> zIy=k%TxufYX>M3!lMG}ZJ7r3=k6kTK)h5c+K+Bz5sdy)Nq-T=OcxOetgTIs9GN9Je z{C=Fb3GT4^vjCHgl($(6zldJ8@26cO{8}~we zm-l|n#i6g~(x?t%LYfBVH?tg_q>GR$2{YdyXr8>8>FO4N!=ca&^JKBPUoV`3QCQNE zssJQRz)vud1jcTvL`npO<9#v-GwVHj<1ePrwt|*Cup)4LXibpeSx}EFthlyXnKDdA z?ML9Z&I6YCER^D1e();qk4Yz=7;Q-5B?8h;G(@2c)({dhDK6z;nA_JeZ#3m0FJT8` z!#Q7e0i{2ncM}N@L~bW2tXYd8B%nIGHD%+%T~MmGQ3z!IkZ!kzNzef+7xwYr)XvGUH}ln%05?MIAtsQ;3*NvTM30LF3Ih2Nxqrj2W{K< zws_}TEWd;SF|R??Xnd0&$C6F=r8uCRA* zs2S5?0f@yL9bG6i(fbA?RM6~nPYa*@+&-&yAFNSsF=E2IdO!wUkBQex?`PMHM}GM5 zhV5P9<0raMO9yyd6~+|qZ;y>$Q!|FFs>XCm=Vze+xb}XI<(d@M3Agm>`CLvkbF=mM z8>>fJ>sB%mCdQt5>`f7}TVzHMYGTh#Z`EdrfGfO5P-Fuu>O@%m-UWgNVR}^(MzMKE z*k57yaqoS&idr(QAxv5duGechX%93LK4%*2Eczmdco+^(3<{@QYR_+MF#OXS(s_+W z8E%@XM|_QR#YA|U)!K64yG0nQUI7_ggp2VTFu)seOXms&gQK_wFB3#-_{!(*0PR?5 z6Zwdb-ywVO>dWw`mGxu0iI?W1c>~LXvPh`{S1D`_!NJUnHTZ>cQR^PXct=Y&dZ{VB z+fVfIzMyv*ZIH6EULAgPqvG2}7p^0<+=F;~ql)Ft&)J)1JRqXfJ&aDe*4?|f1K-y# z;`yzY)XivK)WEdM?WHP2;lynS{Sdv#phl2ZLMsz=W(RNag~z!f5{vJL$nubZeC2)q zU%=i&guUzhQB3b&%<3!s)lESk3nC~iFC-8|4rd+f@m@T@eTU-IFKNfrGcu}4gJ4U1 zmB8QP_dkX=7Md1sYY>Pb_*>iucn#^U);)c3PbX{lA!{kXa_}F$UyOzoFBXqhaj?6% z(+|4C51uQGI79Y+@PS>0q)#>9x6pp!4^2~V(w)J|18v{-_(5Nb4^P&8(QN;*bn2s~ zAHX((pD8Op^(z)Qz>+Zl2y}ycTcE;S$eF$Y_Tg=mRtH!|30MtX1~}k98qz|3%Y~%k zX(u7MDQ2q~PL+s8zv@jZ!ue`o>J7B#r(Na&@7C3zdQ@A#5;0=8)Fjq4mrR#Ax^7%s zF^KYd$|)<=_8{D_vC`oRQ~@wJ?ZTX3bigpFs8rD%{K4Z$MyWx1k8*q39Xc_CCd-gd z%a@&T?+<4lxi8%7H!8~j#@i+t6MgM0KU^6zgU{21vqKQ1Vp>*6XDFw0Ve&ZNqJ-lc zqGkjRK)hR%w5=iauS{bBWzIArYfiXlBK^1edewZG8Uz2cgukFZ8RU%|XGPM{9~PIzP*C05nz`b!kSP{qy!2KxuicL?*4{!F$P{@S~VyP4e`(qCG#U=r5qBax}vV}0RpKUyb8 zKy7kp_(OP*u;WM|P+f^Ybw-+OkiA6A&nXT7XB_GzNlX&DylWMA_ZeuoGvUnAC=z+`<^ z6Ie)BwM8AaI3OSg__)Xc7t0oT6aM*ek$*%eE2Gn--G8#if(2kaaSLie6&*(_L|zKo zC18;I*D`+Dt*Q#+8MJzU2V|;nr749wc;nlYy$#uKYsunI?taqacln{RIib?V(!t=2 zk7a&N%&Mlx2>5#gXcD}M!qRUOy5O}18*Dul#23EF1~Z09-?r33vD{Y}b~M*C6WqhQ z?&~15=(QV1k`o^OjQp?AgU?*TR;STc*IPa2#E^CTH{C&B&+Wv$2Lriy0a>1POias2 ze{oAs7l@2o`Bk^#0qJB-bzuuGBp4+L2}5w`#MIMbi*Ne%sZZboR&we6bTNOlQR^P) zRwO#G{}47@Vhn=1O+o&nf9h*NS7ECqi|v4-e^#6)R-}Ni*HhC{y9P$8Roh`|mezrC zFK){M9$13=I*L9w5s;!@J_Z{hjH`10xqz|NxOFJFeR>2Rd@K8)s#RqldHH5u4n4W5 z;Coo;*kUu^EHR0N@!+)aWa$1oq1d+H?lh4rptf+{@Xr?G5$)kRb_*k*2+SH1!Zy1L z+Sn1KlhL65U7vC^>+wC-45*ZpPT))S?Akyg>5hyJfvMdThdLdgu#X@01u+e$Och6_ zZR*-63y~eZG$CUG~5_b);`yh9Cj-l=jo!8jua^77**mtL)H(9&FJ+Qc3ot)Xu42WTyEzbZ_= zuQ1vDEYT5lQ`Trc=q-C2_F*z5-+}v1g?VThRDx{4M?VPucyaA+c5A{|o)v!&CEc6J z4~Rb6M#grqSSRflY}|QeI0Vu=yDan2{(1Q>15tK;o8cxK zJ&vzg+F9Ibj1f1*2!JiAJ56*%Yt#o9`mcXB?NOUaO3fV4ZZ{hC_AEt@2kn zT)23WkOxa9^h1ydBUzr}iQb$W;N8|ylwe&bkCh#I%* zl3tO$Un?=4fi_cN29n4CEh;s01NhMv4+Q=l&l8qO`QUWo)Z=Fc zEuX=O4Y?8V#J!LES7pa%*?BBIsxfb__YxA~xM%m$E}F#q%d+=#eqy_hTT^c=hp?7I zNzBh*w7f?s5o?Wmc=39{fkIyf2i7=o50sn@Wq^1@BI5@F6T!tK|25+y$pbtoq&_M9OwiTj=5WC1WaxTo)2}<@1rx%hj04e4>5j_ zJRj~QeD=k8K3FjGKZm13(V+QH5vH8`FW?`s3;qka&jJS5mo)ge=%_%;d4+2Gy(i!} z_x}JMrH%?(1S`2w`a+qb0&kQ%DsZFBQGx4HM+Ljg9Tn^)GvX{a=!#_l=&ra zUFMg-b*Wzhmkay&C2*_MFM-ScehJ*n{Sx?H;+J4gGQR{a%KQ@IXZR)9M@7E`J&1k@ z{LK9l_+9RoV4r1v30xGn@wsxuDtA7}9B_EAf}_8xa?IR#pxlV|jRVC_lsbRJRlb2U z_lO>U6iIN58GiCI$*hVa-}_uB<$XG2#zU`BjzKeJKe0H%`!O!?TmGQIs4H@d z2Ge{ggD``l+SGug&B_BIHtSGBQ%_UjU_6mVP^_YP*WrMV{(kR>UWk|}#eAqvpF=%n zj0m<0{XHSRqWakm&8j_X2shza?b3blG9>Kqf^u6rnpY9TjM;&&vr9|F?-WVG6Jwg( z4=Sw*CVjl+FeBpBiY586oNi~DZnOrShbExpdz@%3WRgC@onclvP9kXmGG~lCtz?iV zi>O74WY+w5T@+Sj7_ZU-d8`yQA@PKCe|3{dxy`vb)sH&?4^ncZVJ65{4mDBX`*eK0 z^ktH0Pn7p0!Gk3#4UXJ105oeU_Gxb-mP1I!_{|uMM!}%oj&gZ%_+&7vZ7Bwq$r2=8 zDHWycB-QiGCUKfArPOseeu|gP5Gu z9VG7)LO{pzPm&IA@4^E5{s;g(-p?To7kUoh`4(V56igi^;Eo`CBtDH(G#%u*az$js zN*o&IBP5xv=dbhv?w)kNi{m8e`)v*e|Z7~0iangw}8F6yb+ca1#9yWp}kJX!)0S-;cLPe-d z!z3AxCgH~-n?O*e9}Z?BSsbcA;Md7$UfR|>ORk9X4NW$6$d3Fnc?hW!*_Y|(BKnC% z5hlQ{^Si^3I@UKVRgZLtC_Kp@dVC1bnPiBU;ZMu;taUYRDZvJJXJv3p{d%}YR;la^ z9;{@u$*LoSZGBf{%@}*M{ybu@@RZdj1CBNPRcok<>z;Vs5mo2+h%0lKlaL)I-CV2# z3L+8ehx;oF&Ts7%OQqN5$;nlV3TMRO%9xa_>X^_bX@036wN12SR4*ox=lrO{{fJ(@ zApiP=PswshfGL3FW&D`TMZq;IdMH>3S4%6cWU{toQaU$~+p$eX#q6Tcb*zf7^%dM=Oi^t3pUIrDkfl*Ub}Q#$vh<{-0aI(-tEuf+mK3TN#;uB)1nMqcRNmZ8lXf08coZ+H(;D zu8tV+Tt3xnDifVLi5~@-8^MzC|Fu{65vPXbL!3c;s8Gq-`>Yt3@X_n zHpI!}+tQ&GYNC`2@j_6fu~Dc!Vo|XZ!&D*zKL9oXx52~;p0Y7IG+^WwpiHi%%CHWv zG4~5IDc~t|(dHO$?MRIAmBW<=Y>=5oU~qezijM*nJ# z_lFwcm7+^$FU|sW_i9@Qc{x2law(HR+eF#BBE1v2BOO>y7^C^(G&k?s@dy{piizg#$Qy#7Jx)}Icv>8@_VX0kJU1KK(QsXY)w&<}m#r`fwBLCvam zjM`h!*S5MVxK+!sB~>@c`V8v*a9}dG2OYD~AI$m_qEywb{HnWvs|d=!*Ze8`m<_%S#~e(oTF5>r$bb%f3Q2w@QU-F8d4B+{}e)ewPT<_9PRkxhNB=<7dIy zUkTZWfOzRV|FbQewV0Qz3nKMJi=#;0gw~%NHm`%e;*VEt)<2oRw%ajgahVWX)XQQk zI76yV4bFh)Mavxu>ua9#`HF*@Q9A{I}1n1r)8^ekl)+IRBvK9$spJY zcNk}du_(oSkwGtyP?w#CD+?3*{2xX_?o7(>>er+&BlQOl$oZ3GS*vPv!SR2jXYQ z^YVm}WdUKpW{;jVKN1X6UVI+M7o=wm#D3jnk=RoR3>pdLZp8Tqnh3>2_ZGCD!JS-L zs~Se4^da2l2NlxD?CRTJ)!PbIuk-sH=##k$pV=pP#@hLy6JU8@#Jl@FAYBy1-*Wth zG{*K*cag;Ur0OlZm*9Xn!Y8jmEpR>>VAs;Yz&DYhpMm2GfZEMO#M_rd2)sE1fFFt? z^1k}V3Zp~`}lXu*(MQ_p9Mxn9Fgai2fysx(^u_TP_j1da-YgHD=1%$X$c^Ih$VGlU+V9K^$wmLX$MI${?=d%+ zlSpXk2+H#w^NwzmzEGC;nCInrkGat|?=iQ^^B!}fPu^qhl;=I>Mp@otuFLWsb6uYI zm>XrsBiE(JBbR;5klZOVLvmeihSUqC@zPwEnj!5nH$&Q0W`^XVRASxznZ(3( znZ(3(sl>!(Ux|rZr4kdD{Us)D=EozyOC% zyW9+EpJisq{LPSD7+yYn$mN-&S)MsBWHjb}=e)U#XI@BN1%9*lNTq$j?5HWJ*vc+( z6-)T{|BMU(1v$HW_8h22=iDrr#6L(3D5qplz?_n?I^~oslE;$F?%c^K8BErTVg1V~ z8I2VwnXzwC_hY{^O2$QhN)~SxDH%8VQZjCpQ?hs?r(|km?%X-0*X5Lq7y42%Zk1Cq zZuFsK+$pDI+$f`DT$fQYuFEMIH_9j(*QJz<%RZEhJ7tuN>vBq_7fLA^*QJ!qE^|s| zR~aSaqLh+xSx(8gQAWwQE~8{zmr^n=`%*G)l~OV;`%^M*=9G-zC6vsbWR#4HGD;Rd z3sNSP14%uTf)g0W} zL+eTkSnQ#7rFw3WlbPgxDgn^{VOpnbTr*=Cj9DcAx!|m*uIrk6K5UxNLpEDr>)3eZ z-erMO_GXlFs3;}WPG;l1zw2vBKzNwndpdG$a9;846M9etBf2`&0;&>?&-uuB$IU?J z5N-_(_VeJJuKIee_>W1@Pa*QkpGlOJ8;vV`)#da;v1GikB#K++1|k+t@`IPjR!Wi+ z9P%wk-mq=5@uP+()nR!|G zWR*JWh%Ce;Y6(m(?3GI#u1=GDE143pjLUrvLH?tD>}!4N8+~0H-&P)C<0SoG596I> z`2v~pu(Vs2fZ^Vm?x4_yHonCUl{T68&aqk;zkLt#Gavb^n$NT-r1dUJ9c)t(cRO9h^N=Y6mA40j$xW!v-9K*74D1iyn zZ7j6iXb&#T9&n$7_%+hTWtdodvu`+@_PTSUNHPIk7LEf9b2yqNYKBQ&rG=_ey1Y=9 z1Zb%UWZhbV& zd6ar2>@?vog%-a-X}AZs`@Kc>>UvUq)}mJyZqL;iJ!Ge-I~gLn%v`dl5SzGW*{$7t z9fCR}LLS{(%i=ISrI>xFCzM=*Zu>kAem6w8b5}Xr6!NWyVK3LEgIod(4#JQXql;sA7=Dyy4uQ=$ez_~hAvDw@}&!Umc! z>y7ovBW>yTifn5Gg#pI;S_&)q_D)N|gXfKS)H)2H<8w3XG*2QUv7O3__TNi3;|oqC zs5n|8YK^5OjgmOHB;Sq{KAWWG>77H+ODlwFuztdvK#6)vtDh3C28+{i?uD*3&CSmIQ z<)+;b6w%=aZQ?Phx+ns}o1-}+Civ0j25!+MLqol}HB9~Wapuash0GIX9)h)Nt__v# zD%~W7pucY8MuU;P89(ZO@ktLz}*YApzuMZTHMX&AC&6&AHL1#AIkL0pT-L8aq;dbYv}3&-5!{3F?oZw8JJzqCz;T?qCqvyli=QT& zn`;p&x(gJ6+`tr@C2C3JCDFYluncHBX@_V_;IMR`NjeGlhgTCpACk4kPynG)y&rXw zlGlzn-X|xnsdUIe*O5!wRh-TC>1W{i|55STHtvKAXUyq7XXZH6i)Q0OHGQ!t>YUjZ z7SHz*b*SjanVoazb$kDY(+S@UL|Gq%KxzLR9)tW~+~=tb&N zFS!p8RklYm0s zsm7#H3#Crbh&D-mC>7nZpjR6)RqjhQ$(RXB=yYQ&Lp8X*9U)9Mcu zoIg!Xu1yZYsXG~^qdQVfoJ{lzKZ%lCz>O72g$j5`8MbT^|qp;030IXja(KtI4yf*6Nj73cW1D zCy#gtt`7N#aUhFOmB73{|BREH@0#s9*qm8Z_2v2yOUDKSwXfo1bt>=s(X@*Z7m{z# zxT1x)@acK+?+^V5UepW2b-O!Br{0@RRN_%SQ909Pk(nzHu9lL5MoCXSTI0~ns^H@$ zOtajV{LM#g>Emw6qo!hr?ce(PxW}7^pj`k}?m)9J-!v9&gv9E>iD(mi1KC6mhs$CyOtWx(lUS0f z|0^s>#YHk8W4y_<3;(+u#~!n6Ak}+x4tsPCyW@gVVtuurvlm+!1#92mz?&LZr9%Ltl{Q?84g!@cCGB3HCk7cE$AV=)T2Bm4A05q+J?-ImYcOBID) z<06Kh?rYBqMN6;}ikd4aQ{iAvjwU~{aJjDy2ixnQ*I4N!-iNc1fZM=gtkz$J?#^l& zVibPxD}BTHex%xxUGBStsFGrEK0lYqNUGeBDY|JpD32i3y9gmqCnu)&~H zYjNjrZ?XoDnC#n5@FOPr(c>8&=~8s|?W0ojf!~tlQU_xr^(;w0+itlkK1?11BJ>&R zBi2Jp;bj(K4wulhEsQpmp`GDQDjP0Yy)UOJ3d(zjjURZwL8a}3kD zy|Kqi^zEt79>Ss*by_z-!4?p{iTRV%j;bU1+vM1X)1Zl2A$>Z(&e+V-PzU!zf{P)_ zL8}1el#nbLNLICLaP8y$L2h1;Z|w!Tv+R!0{0Ljbmh?)?A>5KKTP9{5*kX{cqclO@ zbE6WPQbT#HE%bkZrD36$G3c0`L_ngytC9|b)0!NUw4~tOBoPop^+7j(}=EpdIsn*1q!s3 zw*y2L2!||{1x^vh=*qjH&_z}cEz}qzOj`t<)5NiM_*X!gl$dZ_YAf~tW_!s*P@I(P zJ&F4W`SQ;b zW78C8Q;I9JLYRtFmT6K|mLOYo18lR~RJq0wM-j2u3`-FK#H{yCR|tPB0c6u;xztF% z>i!)hP=(}z)U}2OrJ~;rLIlw5nj8^G=TeFYWLfOA!nemYf9TSA6p`v)e zPOa&th~26~|8ON5(Gl)mMo^0C{YOu_qipCqLg$qc6D7JJ z><|eQ%?WP+{7|SG2$ROs%j__Zq7uO{$@?GY5HLhC6cItud8p*5;a4!Ya9Jtb zYUz!LbsB|Kb`7z}iPhq$_}PbejsV@&WuNWQmrjz4mT168D$S{_4`!KSW_D*8(3SZ7 zV9F%KjjXKXXDG-p>}X6dN)GE=S&ITVsCAG@Kox_UF6T1ly-nxv;xxUeK}nNBZYFUW ziq+%4o$TcIaN_6?l20_+k3hkT8`mhf!JEQPNtPY;1d{bCFOzq#>_~glPBJ*Tc1ZNDw{JDc*lJ-^V4COhOEFY$UyH4t2}t zv9KBUA#BL!0Wyp$QZd_4SL9rkvKkHRX=`swKb})BwiQ`<|B>59ioCGm-hZoPdYpIp zw&_o%EXi<7kL@85tQkhNdhK7}xzpMk}VcEw6c%>|b#RY~S(BL|(JBv>5{RTJ$T-%om; zknuHfRcpH1NO^R=nGqN3{h)aWiahfPlJH3yQ5*beu_by|N?fXs0}&2~%4=OrFb7L@t^SKT8^GH3+Xr$A#l*c?FYaq-YRtmJY!^xulc)8g>bz#3eB$ z0PPRjGt|A&5{+sPl`OAbf}rj`6y_ON#JibVm20FucemXac%*lvnoSW@p9`NDs5S$t z&xY$Q>gW-!?rON&sxB=Y!Jw#CC(Ki#YPwPh#(FLf{jRU- zu*jI>sMKn6UT%MtAWZ0#{T=)W-`r+)etm}_SUdGbak1m9rR)wjrb-Etc(0wMO2V2? z73E%)oQ2}VX|e`1V#;yTbGOMoo2aB>otzG=EoS=BrHp$`*he|mRk>f2eN!oLM#!EG8md69&=9uzqlKyKY&b{Ld(~gLv`7Bv&BZ5M*uBi>)+E`$ z5Pm4IG&6)@?kJFEjjx^I$CUS{szB33e4wxNx78o&-oU0I?drcEfiK%$)*zMXidN>ip2e8sw>Rt4GVNt5(vo61jJiAG6kv>jYBFTKAie_Xke!V>WnF zY}bWKv^)$6OGmi(6Zf`{`>zV~hP+-ua3qQj`!LIB*B4PO1g{KJr_v28^Hb7-rw)6H zQC}ucg-9$!4xo_H8}q}#Gz^vxNn5%3hO|!A*qdA1+eMCeV=zP4em^ZOUx&R$<`Te+by6pSX_ARwt<<_{~3_VrizvAn^bw!(P* z85jN>%^%9RhAAA9;Dy56_O<9f6{fTVQ(@1t|H$00T_b-F?Z2vY3W@_arz5z#gg}mE z($Wgnq!ULG#?A<~l2s^C6ZicLLmO}wGK4-7AkbEeY$!ko4x)Eyk3ZNw8y4l-d{G!! zrkU)!CY6T{?n^$jC|EXr0X=7Ju3w5c%#dz0$^fbw*^-V?E-W=SVAr#fY_Ah%qH`y# ze%0DGYNg>Bn|{n*^yyQPe6127SdYr1DcpNJFHC|6O`w?38mXmele*l-jrga0gBqBa zBpm(4Y>X?Dt}fGP>1@l0$Occ`$i2Me!*Usi%jf z=z3rFYBkAk!H(U)-_g_j&{MgBc?%$Y#2_!w1`Fx?0WpD~C+N!nxIbC-%;D}T;-17= z%CgD(JfvJSrsiN@jG?ga-8-S2D{nx14xZ$PYXp|uXfsDr?KWZi9HoOVdSptR8Nk!)L2(*Piy&zN30*z6ar+uw7& zthkl*Hq@Q2U}g8kiZx~-9?|ZHZ`1gA*5uCAtkxQkjui|2r~orjHuZ^&kGNdT9-|B| zH^OTIr77e6@Z)t}NBe9Qz7$q58MZDt^68t#L-l&pqtjm9{P(G8Z$c!YlIO<&`XJnEL7vCfp+P z{Z!3dFr645syagARtB;Ug;~!G`25$YSQW8@!P48%)oUy9CGbFCPy&v z+8NHbFpWk^Vhl%^8F8E6msOodD+_`pdw37O4TE6>WTBSyKtT7yTuh1!x7un(jMC0i zpaQ4=t9=VBtWb9)?+}`Rv5?3VEz)4hL{kAZar=tzKG%^@h2iyX)wAi_ti^bn*QOiz z4x-K}1Y!8U+EBv&TNsMM8~|>!0xe*!)>wODDDxO5jKjABQyk5{H7M_Ro4y3bkB7h6HQ!7AEchOWONgYGw%ZAsfXk%7^7 zA*~t0*0s{7dSr1#oPT|(YJ{*(j7uk@XjUCA7-5NmpGF-CeZ$yp2t<5ZHO3iLsf12}$9iqerRF(&IsTg5L`KKqUD+#SRxD0p1qc&_N?p)h_!HI%R!Wz+9q3ON z5*2HkqrB%1RygqL z@TyjkW@Eh+==Y%1VYA`eW~Lu`QP#}OMaFfFRAKr%kdFoIC&0Lccr0^~k_8%BHk`cF zJ7O_WioKTi-(px(|7P0VmK8IR*Tyv(d6fIM2)j`hh;QZ8v~jtoTrx~#G#_Mr0yj=& zdVxYd&20bmmsY;ac3g4tCg6UJ$!p~RJn>zoVMyGD{3UZo|5kj5`R<2E#M>q7{33+y zTK9d9sV29=Oy~yQU(s_g1w(eifkaYQRU&=fb2I08+pP%fqmk9oMnb}tE^*KrWYH%t zL5Ec$i|Xe9vM4j$RbkYmuaS(quz*wUVPyNneex0pEOH68g`MTjI=ho2n&wuf9GJk3 zpdqcFuZ4rQrS4aJYFuuK_Y{lytHoOYj@wVbJ438Du;V8(KVOP3*0;X^l!^O7zi!#L z4iRWTL0N6B)ELn$AtDiIwm#d}Mzk)VQS-4=lQy-V14B|ud>0|2$Z zfRFFrz!H8NGWu&l%^!Pz!$t||5PXx-zh5q+tC&)mjIN9O`pf7hjw7Rwd*L!Vu-%b3 zC~gZ)Qt;RO+mZ<#J=|ft6qQR;Ss}KriR?jMpVGS%d0n_8nf-mcEwan4!EK`ZK>KdP zf$frxmqLa&QGQ&I=#S=4sSGbxcE>V&uZ^WB!!MT%{}7rk@fs{FPLra`h|IgY$$wU| z$pev|)`t*+$M3teHwJi8d#2^4nP4#Q3vpJAgW5LIbr)1%b*K?d z^))uAzU)t1VSZ43*`K4iD&00>R(8B?`l`OzHhTY2Hcoy9yN_O4=-dHzQ*#Z9lWV)C zni>GcO8TyL(|1{D*0o&ZxW20dPFcYiOOd|K$}yiG4b)1ME$E4;$a(tWj?Qg-0U$qO z1i$AO^|%$qB2mDQm66FY_f*EYrne3M@W4=S@gvukj&@q; zc1?)K52m?cjOj+%P)t9E)>u5MYFCnsEbubZZ9c8$ww(zHVWT`%Cb~0}4*^H1nv$D( z%{7?tyJi^Sy0IKWCWoc&cS@DkgeE3&!%>i36)yPp2;6`U34GtFFf#Gy*!*W3 zyjSZEu;7VPAd%tq_)e`m%pTmkG=Jg_&OaJu&tA_X>{=5g3Kae=YkKjv?AKfJ_g}t7 z3FN0zG!ZE{_qYT=a}bLfd~%VmKTZEO;1ifG3rsMp_|*y^ro+Og!PGQ@O5$96DBMJt zaF|0Re7PW*Io=(i%MD(FI#CxMUrXpd`TN24bjmO!0r8nie!&Zgi6!RleKVh@s?|pmPqegbcWb2l;a8p z(A|bkNcoi}y`!Bxc$pu<+pdo6fbyW_YdEJy)0N9XUpybq!B~4pGn>h+A~f7Z2Sl5R zyEbr>eEJjiSHZ2hM78w#iLQ^@_obriAor|&aP=jmM%(pJ<@rPW_6C0pV~Vs|O($=<8G zQ6`yVGrSRxq}?_cqj~`MY4*3#Eh0CfqcSAgR=QchN(M|5zUqrC;Aa#JNFzH=YEsl~ zROA?Og2%~|bRR+OE1Xh%!!KFU9jib}AZ_jm)@v_(lvHlU_TQjxJFMa(dz-PX>GVT| zV3SQXcp&tg&}UqXH4jCyNQsTm-pKA0gc{SY*dW_x`4QJ~wZh_>qfES@1!;RXC8>^!m-#bPJ4Q;+_pU9)+9@l4iG??%Xx3 zPrciYDFtT`Mlr&XxX1h+e#qoxk87cBiCFB38o0J~$esh(*uIJTD#uw4wp~C_R{l;t ztFLSeY)?HpCTy{WM+_KX3dN)g{<5{47Vt@ddH5r{R1h2FE;KBsVy(PHgxu5KUNXXf z+J@*xgYIPmiG-|o58GfDur>S#z9MO_yHP>z`D1TmRbt>G`0d?eaU$0PV&)DtPK-kl?F%c=uysQnVvD zO(Ik3e!{)?)}5C7(Ky@?38oQ#jt`!9sw~;l;A~JD%cK9>K^Y={gj6NR(XfJBx6sz; zbV!>YdaNJ)Htwu66_(6Zf=(mLBC@@YEMncwRLwa^v2cvJbans}mR!4&vt*edYZ~iM(@?hFf|6yiQr5L&QCqm*^R%|Ro}_d=~W z2Q?|m@DevE9qdqujScILzM~u!MrngSA-qJeWVa2rHy`YS6=Af^GHcys6k-TA=0j+D zSSPz`74M6F+FxY@aaXda*{+;^YDSiY)o{r=Lj*+e0^x{uHAE(JhmTZCLC+^;`(z{N1`0@*&IGT9*6b?*z zA`ud;V`@rE?Y_v$%d+R*i2Wt(j}S^b@?An1Cl|RLkJo*&GI%ho)7jL_Bnw1n13hKP zj+eGY{*GUqaZxKcrL!lzc*YJc5Nh8fr&HuGi4wGU7~+@gLsgt$=_inPf@qRDij(O+ zR_39oNAv9xCMhXZ1)Q3y4&^9D`W+{Ew~0DV@mWAdE~eY-b~yuo!$0#X41c+u{k=fsmE9s zEhB$kSlEnRU$>ve;9oUsyY`9H0T&vUwaPCp2q?OCv!FLioLd?USL~=OQ_fI4j zf@a9Z^}kw;v@`^xU(upH8DjQih}oSCF)uW=TuCfSPE)dMa(R`HlGJqUr}Ds*5P9;B zZ%5CEZ^3I5$7#fWvWcvN@xfJ;!$wImZQ)jzAJZl03Z0~t_>#%9T@Gq;@TipcDlr+x z1CYi`45Oq|N-U^ms>uNo!*wFj3L>yI-_tfhHu9~Z18#2IwGQM)mv!)|O3q<)F$z4b z^VQ#P_o%ZiEpHI?2FXqkf<`Pc%G8k5<^=jR+ctkg#u}aUI>Z%xAW73a_wm=%xvF^u zH-v^+zHz<@H{u8DQhYvP74TM=srOO^UM3-rHlgnM!pKhAM&pSy+Yi^JD*cSjAL`gq(Pn3qRw#vzCsaJD2c?t&|6=URWWRB==Y zx9f>=9MD4Sqc%~w>JN_F*W22Vpib9W9dT17!i-HxKOYwp!@U-PD(uoL{#kS2FTpPM z_j)=0X7k~%B8Fku&kw~vg8Db}&yvJYNlc0Upn4J8dNfuk@U?{?YNXS-W8@6%n_0xM zbf$3;Ppm&kkKyl4y0XFA0-H^tYYaeWkrrk$-`h%(ODB%Ic}3tj@i*CQEwx(<(Hlxh zcdQ>KX-|bo-?KR~zUF6`_HfM3TQ7o>Y-$QT-x#o3?Bh7Y0T?zGv7rOB4~(ZYVNH{J zwaC)o6@g>o6t++LsYI!${@Atp7geeLywQ(w=i`dm?1r-DN8`T7+vIr^NDHqMgie(F zgs?Q89U}1)#OS>Y`zh)Uv}q|R1^rNVplw0d1$Gb>(94#S$}a4@?63BgR%*CRim2fL0L?>DP?i#s9=y-6y!sDUUt(Jd6KHD=iTRc2@gnv$WRr-Kz zsmW9n-q@x$*z#JrS=j7GYnIn8UC%Tje_^gq^N!91`nrx@!su}zQ2FO)_5GQu$9)As z68R%0G*xEZ1{|VA1{f~e(7o?MZSj12pOzIqB0U9T0IZ8;xg;xTm>JP#)e60YL^Qa1 zpz|;6;R_VHh?9`*)7IFY3VRjEt^m!H=(@KsFl^F6f*X~m^v6)-*Mro6`w+bhcRw3s z8^wK)tHk{PH#*X-Je^l^!wwvwPNN#;7p=tDyoEaf0t^npfgodS?J+M8^&KYFP~`(cgtqdOSw z=+qq@M=KiB+V0=nZiS?n%$oxi9uk0>kOqujdtGk#_d3BJ0CThgvmLZSq?6eSVEjcp z2^zSrEwQ;bcKAaqDU-X<+;X)t7D@ z7p@SWg3E-#{Cd)BQC*I~Y&WGLo`B&puUC?XTbS?12^P)l(bEN$1J$ls?+5L3(++lG5SkP z1xm;lHh$Vq+?BFGrnFLdpbQhWZaFttwDX|++TGDYDMBOP1+%N9g$|bH8^Kx&YOwn=!&&YU# zrG+cFN3c(1ORoLH!kceDgqzyFErWDQ(ZQ82zP(H8sRVTG~^_mtIHTA<47{ci2 zFkzHBt};fLhz7x^8pW_a&HjRk3t11vVke49!Cjz~ndb2#MXy!`Dq$3BI>IX3SX&*I z8p7K|oe%Ro6ANY>pV7n?@isT+JM*Q)Zqdg+VCi2jt> zpGfo3^==WVal2JUba;5x4CP=;6o+O14?f$USz zfof4<+v=}#RbsMaSmWDtlPyonYWX=gPZhZ;+y?#-9Rxx&gka7SheV&Upd_vl$>iL@ zs%%UdXQV(9rZt#=z!Rto>iy^X47LB%j!VzrI}jD)sVTI3pt&Lc0Q&4^_b1nBZf{pz z+Ag0(Ui@!}dItWQ^dVMl!&1;rfa?R3&8hodMbL)pxjSu}^{}?IhX(f}7kryw^=8?KvI2r3Zx$bo-%QyTf6(IShipMUCZQ zUwwr?@?lz1vfelH?no_lSmI$f_~u^$utm5mP_@)!T`FC|(<2q`#JTBPz)C zV1VtEUz;!*mSFG$dnq4mHQ@?|!8Psy8ES~* zf^PR|T(doXBZNE=);fhUzQE&ueaPUDxQAYN8xldqy&?7deM#lf!9NYXVG0>??|@7k zKhW^kFx9`&DL4opX8?IT2S{N|*u$UXPoju{zVnlqJT!&5g7>R&pP={pv9v?Zx;1Hg zT9_iv`fIjozw7@o-|h-;*99-sVE9PG3)e#i8y5Pi860Bq%&hJx9KrDLo9;V2?a;t^ zW?O1t_OXk=R2pB)_!IYd|8{6*r4ikobD@kAQ|M9-QTLw}oeI9udeHFf4n zC)Vc8#u=mU(+hN9wsDL~B~X&3J6;p1W%s3ga_l$#;Z!+;Q>1GG`ABx_E4(c-`>iK; zgb3Lygxu-BM;1HCw8nK83w#YuTM$65L}z2O}RhlNkUGLZoR2O?H6YmhLZz4~SD@zvZ{B_tG1qnsP(<%5GYi zp&U$!alGiaLDSz_etH-F==Tj@#H8$@wa0SL5GhzA`2S_#2Em*4-VM8EvS(~0(KB?QRV*Tk|fwl9#Tdqcfm$F zYB;Tg#3`I6F7|*4WAqc1j)C?y+oKWXP>_!TC``@tPhGxVQ|qyk zC}4Z?bKiEVPaY-CJ6R83mb#To$I#qwDp2(HY6BWiC5kYVM*>N7NI*5UQCcJA*{C8( z39>Jx;XoU6wjo`mIjub%pi%jC#E;@AVn$ zbwydPzX`pX8f(YB8jWcxjqwmRS3~e z=K6b^>lLBb|IT_{nf3Zi?Dab9^|$Kvn!MNFTCdlY&Gp&P>oq&?HKhGn7JB__*6WI_ z*Jmrx12Um&t=Dbz+U2f>n1+Rw_E69Ag(dvhF&3@t)g}G1-$;S+Q(t$V->-0^matA( z_YSpFxYJhJ62)=4*h+H{2AG2$QbN|HLkoAAh-;Oufo%zOu4kz?V;EA z?z~s!MDV2cw|T!SiSxcT>-F~)kjOwfEYTMK zOacJDt+Xq)#g)}bk4gb>OJZC6KgcGv6STjRFTLBm!~j6HvM`}7q(+00Qc9;H0Ni8N z_3i5V>v`9=Ti1`3b$v(Z`l~zd+H#}0FNCfi$hv+k>-z4}t{=6o?@`yA^RDl)t{*My z`m>?yFYml-dSll2g{~jUx_&h4dShwV4_Vjusp~J~U1KEz;188`eShfs!JT(aZ*+Z6 z=o;xL0Q{k>>jy*E;E&+1TmpZNhruh7pwE?oYz}SM!jHkG?B3DEEzCar(&?FTDZ!b! z=qg1XW3W;QjA0{0D)yo78rSYz(h#Wv8WCOes~^MdJWbNKqH^PzQtu^BiHQfBF!@XX(dD5S3^BhL)}+HJ#)8)IwB5r)(af!m2s%E z`VO_8p;AMve5i;xL);k}>V6vP8M`&qk#VSS5sz!X6MttgSjrfo_;^{AF#I=qHARF=NeMdYp99+t@Qx0H)V28MqHQXaL+>>`} zxZ~n*-}(ZF`~EoGQ~M5=9IFQ1H!|F25wcfln8%AE7H#xF8I<{-_9LpOE;`MZnY|UNn8D}H^Mhybs2VO8#;62 z8E^!$zZTFw8Ny4BqSU=wol`kYvZgfuW<7n`i+W|;ZLZy$1pDe?EMavIy zH^5#cM9yn{ZcqxoT|ZbbS%;J5!%JV_5ZWC3ie;yv!IR5j4IszNR`yI zFQ(IP^y&1rl1`r-xYPA7y3^11>Gbm@oqlcLPVal6oi=3Py{%8D-ze$y{((DvEOaVv zzQGfQ?ny8foohVaIHsU)FH_LNFw@DJBTBC@kdEL8Vs>UE{m6rP2FL zKD+2*VZmJ}391SrD{?--C#3av3@WG`>R0o#GiXe*X`rDQ*$ItA?bN)U*%>|iOw>EA z(^ZfD8KZxqkDO(Bb7v8StD916hAkm~v2;p^m|%>x9j?3b&_t;t37`A0Z(fe>bT(Q< zCi<-<1*{^xu3WXZ=fd>YjCkBdrjH`A@5@1lY#R;ZloK^(h-2rtA6F#3=Jof{rE>er zIqBd!DSdb(`oT(Bb)p~fE+A=PJNzw`8RhL&egLeZgKq_0KkpjxsOlv>XmDOE>>E{O zA7?;#*kHC{vFi9j68?r{0^)^Tb>!#9hXYQe`0l{_qnb@g9?jA57~?ECJG9i&Q&G1~ zGz8m++e}oXcb~hgEiHVVktDLdGVyvsyA;(W5S(UB;3uNM z3p8+IO{&0`#BEYoOS7=;i+gioy89QkrJLl(Gr~QvHz7_PQnkBhlqs8&>FP}@GSG?_7kOIM4`rb@CR)^%Q`FCv$;VUedtOk7-Olr)Chqe`! zA7qsQA{Ll5KgnPcP25b)tO$yotzom4aE?~6IV|8D{G{TsUmcG9s4^JFJKqR$*&))| z4JH|&WV06h5w*OF)X2FdJ);cR(IUt!TU-MfF2sbmFYJwj%ZRu3g+2WUL~}$90^~vb z5$^N0O5jOxmGmZ1f1+}uX>jFGC~L3niPiGv_2?ROC0e+*{S6|lxg}^nJ}Ju^@sb(g zh;E3!>hTy`Cn6Ggs956DLYG7WSJ?)sLZ@8n-fN!2n(zJ!?hdP???uhNN_$UIk&&I**UiFwgQCfILR$|S{0|n?IN1#1Mi0s`)lZfA6wwd! zY1KMESVq@LWpF2qHE|yv5FWc?ciI+7+HGK4dvA)4CwRxYvy;G0H@l{d=F_$RW)Rz8 zvW+S3B{XqwB$007zE1HqX2~%e&o%6_EolM2`yb)(A(k9g?GpQeYQXYGxc^#+t86gy z0V{V4^H1EL%m=Xm?ZSiU3Ot{aX=&l8B4f3jS0A7;2)dT}_hpE0D#PC3HQB{WD-`!; zr6eW>Xc}R`ps597^tR6Aqqe``s{Y#1snq?6^pY2f%KF;MgJd6nGh3xj$qewTw@>VF z4O+-F_}s>PoIV)}C2V+EJe&C@bfJG?!%3}?d9O~ydsR6r+;oxR-}m*v4D3PbHq>w^ zLYKPPN@_%=7s3(X1Wd+`!Z(vc|BldK^lhd>&1|CD$FwF8w^;vTkF%oP2MNnsk;yn zVPKEer)!ix(gZjo?H(&?Yf$yQuU`m}Up5}cyeg^O6?Q+I-*LEq2H*;>j ziirMvX=nRtF|fNZxkgQHuGaQ^I#NLjrjyMM6#EM4*|iyk)>%;OG$V~w>GrrE!>;JH zyYa&1x|yTx9I~<=%)FK)2IdxX33Vm0*O!qY&CYtNdu(Rkq4l|wU>GNZaK@`{b2KP=eYlE-_^Ajw#<)1$= zJe9^T!z;xwxKm$&SUl1(U zmZ0Ph11KTf|8~h{a?aqrkgW}32`r|1Nw=knJ%F1mgLDyN7102Me^3fx_T_0bHNd`% zK?i~8XyIjm69-~}B5S=I(i*XaNS)UhVW5NCQ3)nOu^IJyyz`nheiucq4sU$90I*E=GH<7g>O2%g7jJt$+q${Eci6>TJH+9 z(NrFcKc`GuXHZ4i9uoJIA$kVSX7>TR+l06Gw`zb!M!aq_c#6X}cB&6#Hdx+&i+CuK zTyfkuqkwo&{njX7ebF{uq`ZNtK3%trOaw&)JrS+remze+kW*XP#X*u4#3We&mN78z zseuShPHp#;5|5oMGbsx!T&_43suv zY1s5|qv%!&ZICfW^S2tPS%!!&bSZaEkit@)9+wgU$K4&4Qgp^WTC$WU>}V+;VJVp^ zjBiA`DZ5C6%9m2&fMY4e37alkG}BhHNO`iQRD?{(wbz&Mpqn0O73Jhrwu&Jkf4Z4P z`~?dX7SZHv62B$xLtzy=r6STIKDDDoyrXOp8{F5WO<)N7h`+a`qs;jKWA9Di>#oZD z|9d2Co#RW*AEG2E)KxspB(~T~YmMV^73I!dP z0`5xyai5?fxD^n03!^iRqXlRDIWDQYjKBZ;^PKa&OS&@Z{B?fz1-ak#e9w8#bDs0; z&ovC{OZongZ~$M~ubLf(^x9eS?>*VB!TiPn!MV^4T8HX)EPve@t0!3)bB)KSo=#wsxA-cmu$ z+z$diF^XQ%vHPpY0?^BwZ%B(g%Tv4;0p3^Vp|blXz&Mpx65#jj+3yQR^_wp(q*t3N zyZrldmyPtkX;hbg=)3$w|{0CLwm0RPK8EM7+V*BY=w3mU)S41^P3MwlP>inrf%NV`)N8e|IG(mcf2d zL6_QDt3}SeM^c)|`Nb3+e<2!Ut z#`xFo6=L*3+8%LnFsnNX(Kw%fH=31X&n#hXZW?#JzTI0ukmAs^@Z|@ClId&qRWL%o zco`?Rl-ePmD!jDP;(A8-?KUi?B66z$2w>qgD@L1DdQL7hppifSz%61x2!dK(2GMV^`=cpW*f;CWW)^OlGjLtxlLPk z3nJl4_-ahT)Lim(NiS{MMX|mx-_o6?$tI*+CXh<1w@gSjL5zI4W1=@$W+E#4pj6Pe z(Aw|=L#e;&Zp9zFM(cLjO%$1m?P)RYF`wrra+e$VvOyx&+9f=VTI@h#svR`i(t!c6 zv!Xpc0E$i$Nmb!N<2nT*3vVZ*H!!|J)KM&n3eTA$hkJ5_J3fm6ZZ;A2_%s_&O;MZ zj{)<4YT{emD>X0S>ls2Wn5xXkflwe!e7_L)peDXW7F${VcJsAw8Be8k6wn}8gD4If zxpz@1z~`d)F~zX{M9C-WJm>mua}F%=ng0Ogb3SL z##j$Nij#9?`UyFrj>i#IoR*+E_BJmictro9Ezonj7EppESmZ!5T9fu6pAo}Q02nB8iXip4Qk!*O9QM>n!tKc&Y(PE@SqR754X zhdPB@KPYH3rd~TEY>1mrjH9#SW(*erV+^pSvSC8V=c6Xd{4YtR#79BKMb$|+kY+n4 zKT(C>hG%BN*04l_@qDq4Qc*+4$?NQ|?JuV8#gilqDwn*hdLnJ|CVC#)qYBke@7A+G%NyMiBI|!y9&PRx6$kL6>92UjO$C}{;PWJQr0UKF%tJk!>+_( z1%>l5VLKmZzXL=@Q@b6>4#H%E_;VPe?hgAzbegqpv%FB(KV z1*~9`M|T47!Y0!PX{(TJMiB_SyWGnlZq2S)*^=A`Y6hy22N=&y#5zb>1-uz`8G}ev z;7BlZh{fWy$~T=Ss2fXeDT~uivLqVPL(2yB&|y2{R@bFC%)GmX1))mt9$D_@HuSXD zW>kE~2$l>_jFmj;_3SEHx4T!I>MbT4DgV8DPb1T8-@Jys$3125pdKx_H#gE{_jGSD zxyN_=A7min5O5qLVs#kIfZ-+|QJv1-m!=T|3;%^7_{lD)3V)kv1BXKG2v!zaZQb=9%J&UhVCCZNg}bzoVpOx-I2F zT(8W;uhvG{6t`@O$BN$hglo9JSWx+ou1%xtRSyYl+t!kzw2$#j+_kAd)oObrz0%YX zPLa6r@~czdiS!mUY;L`<$K2X;ng@j7kO9IyN99&rw-QRplB$Xgu_N?S{&VA`M~}4! zKLFB=LnF|El>j46al5^B-B86l1>WHwUCC(8X0XVp<$lZuCg*=12<^?4L80&R2$HKQ zhu>Ni^j}rlB~QwK4~NAgZJjWF!eZgbxLYlM17CE>1NN7m>X+W?M?IDcN{oa_WZuk9 z%lth55M_SeP@^o+zi-I%m!5ONe^r^ENo+c6aaY%@)u)_%<;f?_T-vj&fA!48%lc=X zLWHhNLy=!`xuTZnfw7j6W#J^bVxlV5|AK{2z zROUP0Gbi)HMSWc>Dj(sv=epjdzUAIEOBVF0ZNAdGX5pf%`xpC@tJf44Em*N)!J5if zb+NDV0%Pi0zHm|Hr9Cn(>q6xNf6Ku9w+zhBCIhprRYTA*NT0dP&t4FMIbbbK@F=jK zP-TU%GXi?<^7ZwC!CJ1EZ-w-Ert^6`b0sfPA_E)L6PAC;Tcb9`bwPpKhUcM5{Xz8) z^#(F!J~e?#TB!2_hleVB7aU$3jkAJ3y_DkOB`Ra27CNl?S4yRbE1nVRZXD_*B^9vu zoxzUNFYcZsKx{1Phs0B~uZP9aO;(!(dab7$5S-66;U`Y!PSRe2yq$eHHS?rSxY5QH z5ju4QJWjt1Wc6qZWX|w!$92;sn$~U6c5fq`<@r71?u|>VX7SmirP4j$Z^!B-o529z zVsD_%^=iLWX&=p)YKomAYqxM+BA}hkauV_b-oGe#@O6ZNl=b(djw#7Cr7b8s7dT$4 z{a!o2S4DVp`gSR5_BuK8E1%6KODMQDz<<^bWMK|rmxc@U5`jfI*gju!E^v2mMC-0e zOa3+J@xsm zx4UPVwnH{vKd39a+36p6XiOzf2pVy%2V7cIJKV+JH0c z+S;nauFXET&s|&h_PJ|w^B{I@|300x{WR?0?ABoi=W5uuv!x@hm9|Gcxv02g`NGO8 z)jK$ka5L=SoRoHOJ5G0SPWIfv!^QFr&V|uCIG3t-@Nl8BLsdIC_q&%aUr?-kpldk{ z#-i1gmsTuTwz$kE@Dhpjm#-*u7hEa!^HSwI;;Smp7xr{joi87KVbQYw>ndO9gUzya z!-VLQ%NO=nf1$g7Sy$x~T}v1ARe`6wr}~B7HC+pO`)I|t*t@2^|T7R!^X-`+x;JOwqU0V6+p5mf1n?_@c7cHy2y=u{dYga7luDs-V z)V@X6`!6h8aNVN5UOrm+jJUI|zO;L=r^{D_v##aKii=ijJ$cCV_4k(1Rj;KlfsV^o z^oxn*!LCIs7l?J_5ES$bD#uqZE%q$);7woa(z^5~)ob5guBeH?>(!MHJT>4|RtD<{ z)Vi*xi&NIR=Kwx)THpX~g{CXpTCIC*tqS%=?xS%B=Z)^swJL*4uvJ_P_XpDlRCc`9 zJ+Zb!b(JIczBnp|E1g!tS6A$vudP)kz{uSfOIhbL{&54hR)tiIYeuizTH{>(02fg! zcgD3($A#>vJiFB^;HG&cpI858`&;-7d!kPYr)+S@%xveixadsJp2OMZRM{LSukp@6 zCL4S0p`_`}Ca$6imE*Ux#}sh&Ib$irbTNnXg05MagVCM2_n;0my9ajIdv}rm^Gb9( z1vgds)|FU`;U(_x=w_?uYqrIWXVFY{G5mu>`5Yx48`$LYig{oUL+LP(v?rb9;vXPB zZMtz_{=pAf-=@d}`>7yRKgL&JSHw|VYHBZPPtbXVIiPo$%yqZ0Xo>rfd?%ocX;m_R zSD@9zb!Lu>;*&@#t;d#iq>r@_lhwjEcq6x+6mjn5Lk21os%+{j8J_WK(uYc=uOS$y zNWaW0v*6K^<~HflCi10WV>oQ+4Em|kpjCRgYS4okaiYIyVyC0DgO}T5*mrB#GAf<7 z$GC~((YRlR^E_%VRU)9X1h>Kj(J%MOjZ$<3V}u4$)ph3hJ}F$ja>; zx~Wnj@G7X*NUf*?_2qHe|1mCS@Hu~-jgM2$y&he9)i&Uuw43rxJM=1?n*98DxdFFx zF4rl7FlQPa!OS&u8~cskadjto3Y(IPeXUvL7=WXs@nM3Y3oar5ROr&D9le9wxSen0PQRs4O=S!c}HL0_kHR|z~ z#C05(XTXTM2m9vH@{3|XpNEd;kv~F>98Bria45|#zvwEpc zFWFns>li`iIhglof^cE}9^nh~Ws>XctJD-R6{j2vygXtfx6z6S2mnpz#`W?sy~c=5 z9;t0j*4Oh5b!?uUoo653ZuquCL9iLu%@+3%nm)6xUCS z$KP>1_pRKfpNCAMirQs3DC*v~r17iA>Z>7w;;?({l7N7{Ot3oBx~8`@dL}oYyifP! z!)6uR%QmHJLA~sYL{KP%QMUEnO0(GIU&SRXK;8zNV=EQa%~6Hq;C^?7=l;0g_^B9Y zACI4#tO~pEa|Qr$EOY(z#pWgHrB`&s(X~F1`}!$Ln7LA;#!<9@Hy_~06M{>Qe)Jl~ zPrYTG=eVA79paE0-7V_|jh`BE7Op~R0ZMCnksq*`%ECRU^Ks2B#%DdV&Q74dwpY5< zWR?AKXALpZ)?OdH)4c4A8g~+>g!q^)^(1IKSW#buZe)dd18rb}%MVP9Ju+;-v$cG~=Pk zkkz|%t8?(Q3P0ltx9ue8Y`SNRwm0-u8G%AJ$EbFRo75pM9M z6NZg3CVBk$#njMQ4C^evm|KkyPPmKZey14(kNJ7r)Im7BC^oMV@hE=UUMpsW`pn&L zqA0tCtHA$1a0+5N=swrKcY`#Adc>+_nR)1#cJb`G`^_+PMOcX@@phiv-%33W9&ol3 zFPXfxHGw4J*|q`R8}Dub1zT*dR*)%dW_Ff;`FsA;s7bFFYOkqrA6Q3KGhQL8+Gzz7 zN@Xkd=CERaO}2H(NH?z=*lv$ef7({uGdK7Zyt$^lf-UoVt1VzD9S^jEt>K34TEWOn z%+6I*$q9?ttsSUwSEx`Ozc02Yu9u@twLJCz?6M9^Wx8KFF{zHU+~edOVVwvwezPHi zjH9*om$}ZTD=xelb1Tb@2?qP_x`93We`H;gzzVqhDc3bVPY@yv#a8vBf96#U{SB*{ zlJK^sA(8H!UDa!vCCZvcEVQLIa)V##x74(SbFcQerKTgChc$jnjbGzW-Oz1o{w)=2 zeDK-r(tpis-1f@TAj5tSl>bH!zc){;Q*vxOx7P<$Z`_3QRd3wmh2-wPDmLx~EZORf z`>nv+Z`@&ppPp{q*m<<5pWYyUgYu$|lkbL|`_4cD?he2E+_^!K_z3rt^*iFj+1Iv$ zNXvI*xg4IW*|}5@YD$^Q|sTI{9Kp@}!D_cWBotqLqh$K~vJ)4jWC@n2p=h-Chie z-|f*4Y+GNncjOc3Ze}fc!PHmdlp~F%R)U8PtBo$*M;#?$o|K-hE?VJO0h3 z&m$h)y>7@pFD`-PTDIjAx@fEPdx1RM70AQ)Zt&#cu0S5XcS9f#cLnnBjX)mmsUQ!3 zkO%qy8!W(I0(nqoHNW%kjRW|~Ujnh9i>Pc)#t2;lE4*(K(txXr267354RnQ?>!} z@P~DOe)3SsI^0$IIK<)a!^b^w_>G7|9U?aL#yxg}QmIkmQdh$1Xn*D&Tzn2CJ|{UJ5P;y9x?K$qw%qAsHq8`@S^7 zoFEn;GpxqW^5ao5!(X7RV1(i;Ksse4l;_One5lX>NcUuMaB?K5kq<#lBFBnsqN_Pw z&FQKN1}o+}FVlm5TWVtSEXcdZgElNLH@-abusx=i@-lPyN*>x#o~P6lfV|1QUrypg z$JqWpFCn!Hd&$rSlAV#cu;3n~*Hm&eH^jR(WZL%6dh`TZvw z_U*MhjRGhUMOkSyivj2c2d(-0Uy*jdE(vFwx zN9bh1y<xz87wQW0NKbx0*#!Imt@(Z= zPmjmrP&9J@DDAd)%lb!RuhI##ejhUs11$MKFV61p1;FL=-U9xZf6lySYLuHo6s?pD zQ)q9!;P#JeVVD9ZD?-4C9!6Uuu1n^vR$n^QKl`Dz@IHGN@-(C)-P_?mZ2G^CYGZ%X z-z`6_RFh-=z+RKHwMvttX`8UUJZ*dGac%{k_w04HEA=?c<%(f5d|c$UQ8{$Nc(Wf5 zprMqzRj;6|{#ul(zkG3enO4NM)e&n7B6#l6^Ps!hr5tk?i{p0G$w6WG`wi{lk4u7tMA7`~0S`Lh`Mmi?dckm zp8l0O6_s3m@h--DV%dVFdwRW?lkaF(7e~D@jCSFVZj&-lfgGqxh50#mHOBSqHv~Xs{w|f1ZiYp}-W!kBB zcCxNjxhQj`-#_s~w=YFxml%OVtig zTo~m5#g%FYC@xevKyhB>@5Fhv0~8mk9H2O_bb#V?lmir3svMv=uXcda1C;C{9>BB?l-@s~w=YP~`x{d6fec=amjnoUR(>0L3MbDc%8!(>)!axL9(4 z;<$HB$pOmlqz+J=0GYA_RCvuJpIp3B2PoYL4p1DH9H2O^c7Wmna0=9g6Q-KRYRhkP zxVT4tR2-~YuwogsM{Zf1m3_!K8SOY_?K0{mi&p#2am=e6v&Jf1s(7y2rK)$0?*ca} zKF1l<0$)E5!OC+RJ!#m9)zI64~q{ zEfqdJi>GY37u(-b3?`feqn!-s3K|(!NBzJyDn_%0c4SD3k}Ie9SZ}3LDy-+z4Q-mZ zFE884BaPI$Jf|JQ<54(nzd)QL4sT2qj$s?)+VkSZE?t_P`bs@%vuI9D=i8)z#3o&H zypy?tk5`cZMyLR(o5}~clV>}J5irHceDA6N`;SV$Y)p;@=5q+E>+&im0Bs+4+(mK% z(I@wOs~pg`mwRjW^WOgM_3it;ee_bGN!*VqAaF3aHRkF7j~{66ZLL}FZPsg&IRXje z)sKxiAhNO8fOAUv`W^iWMdYlHj3uKN*}Ou&)v4x?Q{svOQUg^Ivy6*aH%MsNWXlSDg90@aO>++?cK~$S-(; zvY!`91501IMS666S889vhu2s=(A`)b4NaTg!ce!u_%kw4-v+GFpD&VSj+~%+twfd} zUtB88@r31r{T2ZEEwI}`2kLQUkXXV{zsehWf4~nGV2A?UT_dN){Zf~-?>|fX{_k>T z@C5Ql27M?&9l$!KgG6t00yQcu48ZwUX+jLQ@vOkko)LAmu$8!QZj5NfOvysgG$?9u zfrf%sh569Bx-f0!b$!4Kr-?Jc1U1=U3I zfGRR*-mB+1xi&krb*TW>kLbQ0aDv;2=aMpY&-r8TOO#aX$(F>|N-18QeCfFY+V=(fpS!l64B>$@UnRJXnIcDmWtYOc@FS1btyiX7{k(GO2J2Ke^7 zY^^k~Ryo=G`Xg+|N$5h>R{cw$U7}UldU{cTp-5^GSkc3rED!oj~EC zF`$XZHmZuClVSISuStri1!5mkCL29lGiL&|e9DNq#bRZv_-9K3+WuBst2H!*a+z{= zNfSpbvBei!(YkD)|2dzAMaU2(Pw@(~7rB*UdeG>IL*Ogs(L0l-e5veabLIN@Mzofs zd5}5@V8--X99FWcIAHbTn4lZdH~ExIZBfw09gCS~AA^hicG^=l6V zQuo20FuePfnnUVe_`Te1=C{C_@yw&VYP>e+=0JC5^BmKFE80ApA~JVSg;6_Kn!<6u zy=zI(G}e%SU;5N=%(U1EKGF88(Yju=Ja|lbr4_9y@{KH^K7I{;^2?cBngrDavV`21 zhDPScXNN|#FM9xKR!Ik7&RJq%o@;sV$P|-1AFnwrm;ABmdT0^WUzwjhgGT{ zAyhN&ti8~Z@mWe``|E(hG|myeh+f@vZJ4KD7mcg<2z$ZmqVfeOB4T{#TZ)ln^=Ej} zk_jD8;6v;`Q}tuMY;}WpN-Og+kGPj*j`1;gaq?6c+GhKu4=W&A3JEZmIvhmsJIk?i zHNMqQ)~hvNG2qv*HtPUN%EpC@=uZ8`aE?JZoNGR7X6X;fpvcgZ z8)pT}`3i-ptP5AAUHE!I(?qG6sE_X}uCytxMcCLAujXowXp@p8)_(XLOG_WxWMA_= zfTAU@Q=W|hgsWk?uqBcRW^LCk_Dj|%C26ECw=BuOR+8lCdG?oT6S)ZjS&^b0ae?%x z1nC|gM>qlTH*sHIrX&_-0U~`y_S!en?;Qalwt4ua$u|_Z;1O&dJ9KkA{zfKl6Dn?~ z6(0F*eivxIH*TF1kG-C2n~ktY=5oD!MQL#+Qfgk6H6&r8E*I%Yb4tu_u{|}P{HulT z@&US6&swDTy!=31&meKFg_U8WaEox+i*wWCh_r2<&kio2+UVrToAO1ud4h9Rd7G$? zB8pt|MQ&cGFbz7Vn@RQ={n&);^N$fTzq&0+c*g8RJ{A{z9H%Vbq%fvaCxIDj+n`xm zrm%c0p8C_`+)Dk`2BPJuU+ZunHk;xXs0%;f#?A3jJOK5b3IUei!tFdsS_pLJ0sg4# zacqI3^6^Yr+5UjgjT!Hu`Aq2!*QauMJ1^9_|GR!ryf~9}Q^~;u2{Fwf$>E&>NftvC zykt)sB8pq9)EFlv*)!tY7E&1*i=I>VP(p<|4f&5>5!N4-jM_cY3c@8#0-{5dEZkhS$Qdw(#sb7D{k~P+`?BK8;i% z{>@xA>6gZ-f2v6u)tHin-v{4*I}7<2s*TZ9x?J#YhDOF1W?J=s4c;7Ft!3 z3l#zRn7rUO3bRmK8l{6=T(4lf3++Db*io=Ck#0=^CP3F}0Qd!Ka*r23{G zE3~pE!M1y6ALTn3zTy;3Z;)wWP;CIQQzFo0D$-pO&)00BfHj% zXDbg`+um&JwQug@8+IOWkF~8wg<2)P<`Zn+-IfcMo(}k~{+lYZXM-#(-DQClmxm8- zO`5mIQ~o}Fp7J(5pw%GkVfB1)!;n!umB8@((a;Xx)^{?Ddq=X%=HjO|7xnJO4PIB` z-n~96HL=aXPAO=G*k2VBr--)G*zul^z-=by`1uB$+0qgC5eq%P$cF_p_epU#Zi^I| zVMTm$qhOqMpBqDAAD(z-%zyI4CNFM5h?jAM(eK`Q58b`^6_80z3Hw7^p1` z_3JmqiW4C8ioZNYf>b&nqqmo+0Pm_!2`vTpTmGu?Rm4QJ8rld357@`RDMy(2~5q%M-n^wbqgrz~7)hmNq zEU6|YhtB*!>|H>;TMhN--|}H&FDo0FZ~hV~Q`ty%L-y8zz44VyibfC0F*1Pki!o?T z4VC>k{(fU5TGrxzImRT_o`DM9G4Cdf#@L-ThiJTujel!FSs>vX?oH%LG+O#qeruAg z`l~3y1N<>zqNP&MP!eqnAHEs*7;8>5wap-t8YLKV!(gC5u0Z}*QC(hpmy#6{4m`t6 zB4a8qvrG|-bO2E^<_QED`!49)uxT`!^lT2@SuSB0HT0U(Y$`RFf*eKFgpOrAn-?F$ zc>(1hx4=PeouNk{SoX0i5mgln!Y$4-QoHC^yPW-M8t$TyB>uz5#e7Fx(cuIua_mr) zO?G|aMc6FR^P*Il>{i)Y%yqJO)RiW1h!rq%C*yoYn^uyhewZaEvDz3t?_D-{y4mUhSEN`oe8; z&IS=pU`e^RlbTVi7^o?iOjE~vW@8X_9#rB;U@28Y!)76eCb>i^_bWuFT*Sc((cljI z&pEz8N0L<@fEwX{EX`6@s*NmIj^sv1SV7aRJix(<+TAKgW#+B{h6x;AVWvah)VORh zkvnONyH=5bIh^aXF#Ur|ps$Fe41F#l#3*PyM9KPe=lHXL<4qe679QWki|as}Q-$tf z4}iP_B!uzv5c$HG5=b7{=wb5tF%>}h1P^;5+wIkg5-MfxGfij+4#TF|9v_8TMBQ89;STg*>{Lg?a7xp4PF%16He^XSG_-b@zi?t1Bgw0l$S%{H@%&f$x>!Y3 zs1Zj6AH%)~Yh%i`7`vl8&cE|Yec?EFT+v#1W&2J}>s<%h_JX?&0WMEo1ay<`GkgQJ z%Ud%=nysalz=pUHXP?u_=Nv~Xir#wf^~;)oxbb2jQ85Ltwtg5257)vfD-g?TA#!MK zO_{cfk#6SD>_)OUnz@lixGQ}bOnKza1MoiiVqAEGy&$s_StBP6#^bX{T8#dA;z8M+ zk&}f!yvg4jQH0^qaXaGX5ljP29$*2sSz-%hOhdy9)VwTspA<e!zD@8GMhMuR{g+F8AO=N8nR30l$kltb!i{fv2T^Ci{B;LOLW5`mu4} z{4=~d=q?+4-hHRmN-Rhisd^Pq{GTzMWI-X9M#$K}6pZTzu0n8w%r9x#)Id*QkRheb z)kT2ux{ZTg{Qd{;C3njqQsaq4ksklCI65_MRBp}W{v@v55;tZi1J>+Q#)rpA=4jI+aOsoQIaLY7$Sjg>qkda1bCg$yj)QJT?jeO) zNkyj}&etBqdZXn9B}c(t%aym-6;IdY--g|WN60vD%dr$v73OA1>g48H zP_os+30U@D<#SPz`dU(2$@zn%SNOCXku+l*&NJz_7#)EJPdw>LepicSn1>I9dNnI4 zsyOZ^*mJMwpu4tb9{0z@S9M|{l}=$)fEAfjY+pV!%C6L>1unpJyPtY6BfeW;^#_tS z?dc!5%=6QIS+Myp&6Y7A*>3G0PC?%h5sT?%coMGu!me&EUCnBraBn0$F3cREUq)!j zu|a6Nl=R~(C*`wxb6h$p$iMrZ6j8{P% zy@y&iW?Q<0P@zb7KUrT1HYJ=8o8u$-R2!yy4dQmyv}jT`?g^j^PHeMn zXaTa@%m%`GG`9iW$sU>D3CXK`gOo=o$KzHd9Ky*Yi8B8ljm?}s7WB;=Wu;H0S~&Du zoO>%i*Y9;amt-y~*sDj(jwfEi?b)VsC%v4WoXS=>4iB_bIr9bDC(5qyw`cyF@R?_z z-aicgw9iaER}(*K%7oxHrxo9tRi5|RFgl>u8j}Ea%PfxS5UIq|-`9D|IJ98>z_2GK zzrac)_2kX0cmJ$x=Ah*-qe%9&>=0EsTO*$pg#l(g{aZ;0B%$g_kwU6R_0pnNH<7@ z@Yey5kJ&bXp(j^9B}&? zuV|V*6#qG_)aevM5K<2?^V6Amtxc*TjhcMUvv-*vi+q`p#{ebh_%);$h?Bb)!%Y(z zWjeUbmp;EC+b%T#MxpV>HPpId=e&55(ztR+abQ;qv+Pz`&A;026lPbnOG6}u$Z^RM z)_XMzu@Bf`t5o39F`kEbVTr9vBdHB~yTAxK_TCL})#`ELejbn~mn^XyJglb*I?&|) zH8W`7ynDTYvyKa%*xtRqTWC)c|3MSdWyppIB}5Lblamg`CJq0#h>R*keINJ-^TKp= z8_!AKK5I0KG!&(o9q=>tt(u`^#|V(cZTJ7IBejYA&O582dm z4c}u^_+IAXAf}KP*%Lg*Gdq)n(O8sTLl4(w!9x07klm`XLFVp}eou zC9ZiNDF1-R_)&=>0>XD1!f)RL;lBc;gaSCfczZL74kNH1Dj^)x*6hAw8)~h)|Avl% zfKgxKRq;6~Z}Gv>8=a(dG^G1-`4KP&rwy&1$bG#0q&2>yX26i-6F0O&mh8aqW|zU6+1_m|ND;R$lb@^6ZH||ijkH2;AxWU3CeGDu zPpK>stt^n^$zB-)@J*&oI!SLpy`Y&3~|5>Nz;Gi12G1Uv>f(LIifsWz++ zuM;LTa_-p!&INb~?Bg~Y=Kk^D2Hk)M-H;fldiSreI%8cEX-6D(1;EmR^4xRMv569u zth?cS?$qrAopeavHk;&agP%Z7Zd*aQd7mjaQ3nQESyFC#2aTZI+$_-=<>q)Hf|Na} zLi0AJIC6h4m#T6`S!&vTM1%B)Aa z3s%#TCB|w^z*8MT!gkLeDCx}IrOmU7^?+x&u86Qdh?$+@)Y4JGvyF@yk{*q!(s+7u zDcaLLBwd6Dugv^4tJ*iFw6SH58Gxjk(Su}|qnfOHJ?czCl30Q!*`uebR6YKlj65Da z_nlQmo`Tg{!L5}#LDH{_^e{`NE%;#^&p9QTCzUhaFsK!qNg$YZAS6ouR;ou04n1Cv zI>CJnHL8#WwEr-iY*{f0o9Yfj8}5$Pp6D~Vz$CYYzI$6t-PybRyO-v4-amZpz`Dx#078EK}&5$9mRVG?_f>CH)@rK z+Z%OOkGz47)VU9B>}W@qV`5JJ1+=~({IsDD`AE^Ek8{nVKWboit51*`CH+ z`go-f1SvK2wF(tf8^j9olSW_bu*E87%B#uWAson_(5NpHYpB=oEAp?U59_QWdDKz| zO=oeR8|N=kA+kwwepzMIAUb|$h}JtlYq*KILT#18_40^*Ib$P5Ywq;EfhrrKnkl5A z)WgH^%#OH))|2dM0Qf6nflFd9aDA4GSbpK}VjGlW_=X|ohW+eHwu-eyGf|#TWU;AN zP}9jiOu7KYVVhQu--`M9P6@0U7(jrEpWYhY&Phx5w+B2h;1k23e_M{WM#x(`qd>y)9 z>><_N@?y(iH{IYxNB*eoRvw!$#d-k}5i zCU9|;<+88q#F1hL)1lstXQ7Z=WhRGBELNdbD+6$2cXcEK;9UFQE_-e&l zty9RJT8lEmYI%-xi>Z|iXdWYn84j3je2i~*CLm~*zdZ2ajnRPE@Tr}41D|WVK{pTM zl_8$t^+pbH`WIYY84kI6oRzH_O3V^JNhsCidfEpD1h4*1MLPieb9SI-Y>yk~$F-}# zEXpSl{u7-p)tmxe4~odWCJ?#b1R{5HAacJ>iQMM>6S+8HLjxRHMF>OUbbJW0dY5oE z+f%iBabvBZYTFp9*&X*r)wYU!6skzty~dMghk?PNZeb)-aF&W(A}EKr6+5$Ib%l93 za%3Mu4m~oN8WD$zVyE%>dD*F~zi)zm$rVo;E=qZnva!|NFJYiGFhO$7Q=a?%$GxXq zG)cO|{f=}Z;}C{&xlxp4XM%kg`V_Yio*;5?Pnpd9dmwW+mC4*6`oW^22a{ol9Yg1Y zF+x?(irzZM)`DL%b;L*u?uW5xj2uUuGLYiZQUOy>kGFSsdnz?A z4Ri#cV>y)hy`D`gao6pHo(&p3BaS3-9}4vB+g0?eL&z6M*BGK_CATx4T#SzxCeVlpSsa#P{2b-4iuYp{KA2Y<GrcY0UCD-7Z z+_LS-U?O6yZU%C9REgY4$33Z2yn}0Q&yMx`tnO0QYCH1)b`Tt821t;qOt;{CAX`EX zj6OsPTJs5$LPPkNM-f3T2}wp7=}?L6T%=P9;VR&r4@@>HMB|6x0XD$6@Dw@ZC2FAs zY)IOP&I~;KG02&eZV@&%Cb% zZ@K$6lK0ot2Yd6blds$X-0R$(8+XV}?nZNyn?KS`*N$a*biwC5yWw9gyx-sGsiRfUqove2|t`wZHsm<~MkZRGM3B$18$Nz5u!;UWm6@cF|vaH&^k zztU^@Qs2OzaWA?danBvpVDF$`Yc0$P(FKlF+FQ%nRGw!ErQ}g@kBe>fP7g5W?o(l2 z-SvZlz}qC^rE`m~rJq!ACyl)(8r7TQ&eK@nB=s%XJiwy=&OFjl)+jj9D(sPHl7@wB zvKR>jD9J?l2j~YX;?I;dRV;+O3N1T>TW$uu_iu!!-zO%Mq?M0-2z(Jmkkc*S90rFU z+b~4_2KO&x;L9S1N<(D!3PctGQ)`-JcAqYt`CfAA+q%?>sk1pgO(8GlYPwPgF((89 zE-nQE((Vc=lw1=jGeQWUIEf!Jky-Z-$iBMi!~gJb&~y>FZqoRn*(m^<5WqYVgOp&C zit#A~56gw}%5<%HVTzZQzz)drK=2d|62GglYVM(n<#@dunVnVlDR-_gPe7H`1x8o# zDK$Q9Ccu6`(vp9oGNdrBzdvq%u9%HYGP^3b0>Sq_x)2{-wnQ@P&>!NM`7*J9>?Hq`Mf8MGl8WTa$sW$F1XSoXjB@ zQBE0F$?w>RFHyBqD z4pPV!vH!$kT(6ZEVDruOZ2>eu<7f|!_j$XiPTUg~j8F1%@XFtPzeVHw3>g(UI%YGq z76eDC3wx)5R5DNb40;lx`qofBcN39u_CGD{PhZ56uu z={_FlkYSmDDF2DkgUl?soV`OgVsm73l=!l-3skPvXVaJ@=<8b#rT1(;29ahw8=#B^ z+T`A8eU-97eQtu0Ko}p2Ta-n6vl>Y(k+%oNuh;m5pFQK(`$X=mOD|pXt~K9+7lUeG9IlL5^vI>n%t?b`?;)YA}uQWZXm{;rL;b|8hfYd)3=Pza}mRFlsN4c@yRnzoPmWvAoiD{;glkAb1dViND z>13m~9HmJMEK!2PH7}<^gAHy0S-)5;lLm|iuu}9Y(*7yFw_5fmvvhLyv4QwxT~_QF z6qe=}(kD?gkAL|^|`R48e^cqm22;fcluhVoL91B)s zLw#x2+yW#KBi#zqo@YAz7JL`5HKKitT?@~veMQG1hyqz!R3wU4R;cX1r z#k%&SG%H?ofThZJA~}G%dQ1v*K757zd&{#R-PM1Nfe?KlgAziK-d==bBTbi6eM0s- zVA6?1-l#9#WYgMu2V2KlTRd1A{JIO-8f>yKP^S6>fiF#qB83;B7#d2t*WssHA&oQ-f4I8EWX3JGFg5;hm(y!>t(=S8nO!=_IKnj?IznEiJ2yA zm#pfpu2&CZ=l+KAKXwy_BZ2rBtl5a3eIFSm;|jwTYXh?fayU8WoNEWdF$Wi;pATHd ze%ix{8!yT9DZVZWtMWok@dP#~(T#bwe?!78l$xBnh7uKAMqEn5vz3K}>cqa|a;hgM zDo41g5nq=TO;d<7T#PwvvveR(dY&+F{j~+KuRj^Rp7Gg>1}xOmZ!!v}A*tT!VE4(} zrEdPn${i@WP&dDXOXXyr7KP*!fthw0#!>6k(tO5IcKS|o6K9C|f}9dd(;L^WE=fy) zdls*D6T5lj-tN<&%C0TOK{P8*I>d80V|Bv1qc;;0#VY|;`vzN^ zwjmcvII`q!B=TI3smw;?enFu_#1MbMy*}?l{~zY6YoQ}ENgu)UGYE$2M0;;0+0U)O z;;HxDr?_R?nbh6qB}j%S3(*h2GEvVXhk51gczlTsq#JB`6c_hf?ObCH>drQuc;Yta z)9iMP=~pY*1jVMIl7CHJ1Fd(zUC|k`cK!?gT@)uknF{!)13%Ak(H?A!tVf$Y-ys%6 zi9>1REg^B}Q)%v$H(KtLl+G%Fl!j042@jGx`YJ*4f56d{pw48&DJ+U-kRZtTIdN+4 z`vxn0H9+NUDO8396^%G}ihm8za7M2{(7Rr=|XrLy*Ua+xaHwqLFM4V1VED_bvxJ&frE-;(H~Vek`-V`4~rN(u&Mmqi0=EZa69Bbr01a{+i(d36{T?KS|1=yDiR#)a2n-CR@YKQcAI(*Y808F7VsnVR`9E5QXn=>mO(~Ne}~G`UD;bej<2snx7V8NRE!DF z=iGm->!cTXcb~)m57xBva&cvD8Ja%cP<|iP5Yrnl5>_u}L12Qbz(+ z!||}XL!D_OQBA$9AYV3&6BUvwQ37}!N#x>W`N~$Iv}CZLXxM~~j_=JyE-Sbtns!&T z1S?U8fMIC`PzU(=$JVQBG^sFGHI1>B6s25*=d`~Syy}ivi3y^7+_K7Cv=K?NpE7=& zRE+~k7LJO3+=)5_H_PlzK9i>mik>)0?N02CJkC&*XibhIgT?6_?Ijbf!mL!^}@gipc{>6Jq6fUY`hr*AP_^U8jR7arFEt zI-nrAg)_hE$q>%`<3n)Dv?+)0l$2of2th}K>qP!zra@gzqWi)a@I847>3*Z4H)EO8 zAj=XmQfG3L8?{@dE;jFw04WVkdSRQ9xyI}?yxk^uvJgx@kxPZ9xLzva*Vw$_3ro^B zm>Hj1$E$4MW_<7#Y}WIDCZ;l6PhS*|djTC4c+sQ0a6r6?-_r}?9B-E3Io!?ouhF7L zb6%$|x+$pNlYvfr!DSG42iB)+#ad3y6@z& z7L>_1$qs7}Or;(a!d}zqro`%!sI-IZmIVobr{fgC^JDGeV8X-9p2B8;Ra0^ao-0iW zg`}A1@p@z^8ILlV)F4pw&-F`lkg_;iN?Y_O76(jwG;Bs6Gg}lW^+nr!(!J+D{5btC zIvu)E+B9sFz@H=CG_W`k38WeSD%vnQwPvJp%lN3@V{XitN<*N9d}x}5L!MJr+C9Il zZDT+erd8sJb|f_fBZuLWaPB#nyZJ49c(6)!IiI{q>6kDdJtYo7$)3GuqzOl$HUYH6 zXejIrk9^}$X>vCYMmr$OT5&fSZZY|_2!&c{wdguTT4x%~V!|`Ic#1R!FJAq#! z?hy>ewZ|u45+gK7N~d(3fl+6lRFDXa1(u+5;+DCrUaTwLNBgT7QH=Q@!!_An<7q2r zUlO;;CN}Lt?X>ReYn9k?x_d9mw)~CqdW?^yts_{9a!T=OA0>*KhG58Sv~Ne7qLjVO zdP3?<>?Jq}E|hjKxGg1HX@nV@5V=XPkvy!u#tYy2CDP1c5C<(M<66nHmZdrSbxX_{ zz0!+4NC`qYty6Ij4(RTdrOX|_10Z^UDS0q}17><6kx|nQpeg!AKdT=)svq$Z4n2gs z*t0DP1@^hMB@b+?aMoGuoppAKs6WYE8S_mp(;q39X2D(NOVrKwVJ(lQK!!SeB!;#g zHanhnu4nVUw6?udj%t8){@v{C|r%08G_o%6Kg;Q>J@W zWy-j>_cCSN7*(c>E2T1Jv{PNCjGLk1eoDfn<=NKsE?=RdZ4^-pWy*LllqoA0EaO^5 znKGU&Rs7O>)n&@KQeBkHKOTybaZ)NuX2)q!GEVj^N)|5mReo-CQ8J#XE=m?IRK8PH zl#Kh;Maj4@x+oc!s*93wVN_8vu2dH#<3d$YGR~`tl5t*Ll#B~iMaektTU4y<_o$*| zJWy4XjPvTEWO|^oC>iIKMak^6RFurl(xPOXR2C)Uw7Mu67b@`I@TICK8TTuTl5x6f zR8cZDS=7?-MaekbvnUxCOGU{zt|&@ochaI{oKzJh3$J-Jt}IHX8=)u}hoz!q99I`5 z<3hP887HNRVCmbCH(!)&k1Ap1qGXjN!~7~P750Nd_>y6T?+390XJNDll4IbX_fe?p z8a-hq3$p_lQ)Dco{Ry=tn!VaGlaSGcEg~b6q<*Dw@cKka_T_RD)VGT}%f9M*8FC8%DB4{*#d{`+f0FsZhDg_i|!YA1!)V%+K%P zeDw5ic>FWraSRz6m3WiJc#>7a;BOkzArBX^XY?=3v13_>tKuKe7XpR;N{beSecU zk~S9N|6-10>4Ls=Z~PleV)c6iE3*en;S{#xRz|_@OaBzCGD={}oJj|-eEr2DXU)HU%xXT-!Yetn*VyVZe3S z*-`6&f3g&p5jXX7kX>Iqp3>RisG~fMbLMa!HEW5gY8&P{b3$4*VyIF-7*CNZj~Gg6 z((=h^dXM!&fM6lPgvUp3Q%SXb_cgyOevZR}uD%{rSIb?ToD|f>^Nhil#pgYIy#>$c ztNHLm>TvyX9ejFNZOy;XXvAKd4Mk3F^Nmoz$cI6jFP8LTo@_|Din=h4UXC$iH9cG= zC~(*&gNZ!G!6me*Ob)5VRd|T2Ym4g5_#%(8+!ynG)oC-50C{3f&gQxLnPEbw{5VYY zdkkZEvk9H6I;t#_%&e?J^J!P~;K^s-ONAPxe|lt1P%zzyFh$84@RhR|CQ(?P*kC-k$bJgnbgRVrAU<5 z?z^88K$~6;c7HRx-IUUZ;87@Lv)KcD$|pS6_CvBfy~_TOnu8-)jO!VB z31d7)(6O<*-PYM$GodAHN8e^x_0X<~gWj08+mA!Wbx%koz+md}Rzu(ryhO5cjR?o` zy}6K;r66`(PONH5LMl$c1{!;HzAxs-o|Be09BYDU6b(m1#Vom9RcN%C%3O5$y-=VW zwHzo$QjmKn7J?lcvJ^0;oGJvX_oo51q5J716osY@{v?f?fqF8%WesTsYt)l z8&sk*@mhf_kzz?;Vd>UW7*L1*Nh%ovfCCzD3%~vUok3QN309;uK0*u!_ZZ?c5lf-L z{ce4m29tW3+Mwi}>-up52qG?n#62P%=Bs`lhWRo^nRfe2v7F=iXfEkxP*u|S30@ix z1KaUubAE&+k59q_rhD z*>BKYjM*JvMO;HzlYzJ#a8YKClFRscM&-<9`~q8j<3zu*6Ffb?)3`U+Kj7`W^zA0^ z7Zpe6C+_3sF`(@mrOowmZYpp3g0v(Ovvh5|aF0gQ5EoX*bxhntOEW;Vh)+*!z2~p>s#_Yb|;hn;BZzcl{!aTpoPP=L~RygmyDl__TKWBq5rU{ppOX zLM;nM&xutcy3JVmq)KNr<(K~J6Ev8hGx8vtgIOGeC*UeYQYcPzqS=pDj+eIPVQeJ- zJG3>X#tu^D|FCA}&t?It6q5I}`TR}6vZyO4RQ_fKx~2q+zh)~??;39hLQAq=ok{!E z{XI*IGkcbuVMcM39l6X^fegA?#x%npp2Z%pn=J?@DLJh-xm-;>=PI(>&Zm>ZvDk=tjn|=|EwadBdOtO{abc{Sl-KE5d*>iY>sT^RaL7B4CWcH;E zsTsVZwmc$JCy~R5AZ}em*-bv=j>4zy5=vUBD=nQ!$xqCavp#YkejFp-W5iAMJ|d_y z_;N$G_)98$@q8X5ic~Z5?ogKtmVTv<_+52*yZ)GOJL-W}m6~cIWC1apz!b*(MNYlQ z)ta0*4>s;_7}3@n^^(^yiFXgW1i64wt7{(3Oz4!~7ji8La^MZw?*OrhANMm{V*urT z7hE(yB_F2-wo7%7zEdVpLY~rGsN>?!Gbog-7C2eS{RW2!n}SNelE>0 zx?l_qlH_I{7i++NSwInVUR=1y2Is>LSK2mfN`N+VBr&(EdGU!F8T)lfuAc`hfSZ;I zqMOYr$f0-rCh!aYBIY?TfVEkC3sbn&-pOIn^adQHj*27;G<@9mg~g+vunRPiYPaq& z9;=Z1CP3NN*IjfU2MUvE8_pWxL)XZPg4FU}J-d#l=npVQEhM3Y9K*zXX6rz5836O-! zz#7J}X*=|D3Nw>&-OPm!gwnV{dM=XiD`9+4vU%a$>)A{!`2XR8Q0)Edy�IFK25B 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%0A`& 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

So&__>~Z`yh+JJt51 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 |_5p3KPw3Sp1%`9=?N-r0Dtf{QQrQnf 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%0D^&0xvUB6L^h^{PCCGRSz?^3A|NBUXkAFkC-BG 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�D!#z+u#Cfe}a_hZzj_iUv-lM02N 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%0AC|NbQb&)Fih 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�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 &k#mvB$jO;D7<=&v;{rPhyQJwwO; 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

  • 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

    XeZ_KKvjZkIk-Vgs-Q<>=hFV>h6-J{CX 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

    2-k!WG&-~ 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ⅇIHUwP(4y(Iq3 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

    Vb@1 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

    e&(FGnLm?mQB@zBBw;@Rt}0BEQG{Ckt3myh?+7A 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

    #1b2WE8buBo>oA4Af#xxzSI#a-Nd3K~CLAg*6z+ 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

    rd>Pt|gGK zx61O$_LuLN3W@KQu4-Q-Z35Z9N*H`$^i1Pw1KHB{SiOtl4c(qEVzMPLSeT9lzJ;2- zm36(Qa&$;g1b*VG3Jxszg1U< zYHZj5zc80{vbeY$ZqQ=9T6upSPQbtFkwX7e^!P&t>Ve6Og2&9;7_dQbae zbqVC#)H1*M7WHX^d_L0z@-1m8QobGi(Ft(1fqynqHr}F`p_&gj3negEn2rU$a-Cf( z4z79g=V_Zg|9npmUSLd_>2vz{Od*pFJ)!~&g=_*tHrr(LWQ(;846%*?m$TGafBA&HkEBc&nWi4op(q;4^7+6DBp02jPBu=|Y;=eW zFm=;&QApqZWUqQ!z|xz{|G|Qn0IZ};y=Kaddi)Mk)+69ulwr&m>p(_QCK3g_nGIKV zKBSV#8>h1KpK55R`d(4_s{QSJe#Gz7RwfFNw-t!Xd{>`03<-%h3w_(Zn4gV8er`bD zM%1*o5|zN9u8ulhO_T}EJ6se~)zz;Dmx00MHZDJ8X4}}9X)b5x$#m8F4bz^PCwq*~ zR1`~1^r>A{+w2C+U00>~&Lj+DjNR^Muzj zJg!W=D(VpR>KIFTk9mUo9|?>=N}>}414e{BBO6ggNXt1Pmd%_d28#i$gh|@=ij30R zK)U0e)k@YI2Qq6~9Vw!7KOCUAXiHyM|?4IE+pcavq=@!doXW*eKcbvApBE$1d^c4wZ zcvS+B*WYw}jNf|GA@XX&<*Khs;LV0#t`afV-SS$+b?luxB@p8>qF6z3b|&tx{vRIV z=(a^~O=VcpY&PTAWaYpXLG)Nmc2Z@Rn$>!$EK`5HZ0JuWmzlo5)q{PQWKw7tyIDBd za|F?bv^LYUX4lJ&RB@1;o=Q$9yR?JFUsUcN+U5&!pmM4^{U+%-7SeLM6 z?%8KdW`+n|UA0Ykp`EBz9^B97-wW_sk%jD~pCyo$tTV5e^vw7Uk=KuWv-&0x-n7Z< zNIIOsyDH-KqW1>lK#a@G!U~GBlWh%Ev0hMBwG{9Znw=|+u^GoEGYeY;(POd|#geM# zPE*%T)wNM~Q|}Y#K(U>w*xyuTX5gOVGZn?_%CtaO`a=Q&A_XDW%{1598JLbzJC#iK z2!q8(H2%+qf=NI59w=IRn6zalV9X?SmYaYXw%i1a*)l~I{OYRrkWbLAiTjxe_*s3? z&c5M=JIIH&r3YsiQ>G-oJU&xVT&YYCn5K+RztV#b8dJvHUE?zqwKtV1ygMlQ*fV9y zj$oE89l?|>GlDL$cvcHm5dNy@ZjUv!7IP0Ihs>|3XKf}EA_YM;bcmT^&wXn#xZn_Pog{G4 zbmb_WN$QAvISIIa@a@V`I%G@ufcI4S;tY0-WMa57H(}G2$~{j|D-KVFbczih-sXlX ze+#Q7k5AT4*0G>kuEEKYdKzmKI$IQJg`h zCQ+dyDma3If{I)Q4Js-GeF6qiArWU#)W)Ddga|4U)F?bL^46}izH9Hh_c}%EU*G3_ z{-5+mIlsNmn%COHIrmmotxWP%cZs*!J)lYctM<%R)y8^rdt-7=K+7JSX=-NLW*`j} z7QDQ2VFu>OkPlL(4^tD!%8c1eGm8pm5_yu+_*)z-6DSvlzGl|@xwx~jPE8$CcwN-1 zWNLGygi z*+gzEPZf?qXRgb>r+&T8W?lz)hLXg^ud{?sz>SRXiL3% zr=#WtCO_-GTm^|37s^f7QCG{;X$nu>-_K=dJYg)RZQg#J9x};(~Vrm60E50B&ZaZk~avdYuMy zmIdXs$2%UJsj5!ZY4TB+N)`Y2}C(jk}1X{j=k&yKd2ci z&f-5Z*&)wkJo~h~PrJEL)<@YJOj)s~OjmE#o2Tnl)+R5gZS~o6cfC4?s}K@?a|9P> zd6FQG7XO#1;wU*^N*0UvOm&{hU94Bv|LN*Vy&b(MCw0Ljy1e&dxh`QV->P^fo%Ew? z^4UJ5GWl2P5|icY2A9oy|MAr#8O{P-Rs7=UN7-+S?g05k((dVeO8K`iIcLUg{NPMg zHLFY~m?p>3m+H+`#^jhg=E0eog!4z2j*q|T8pwJn2OD-ue&4lo)~Tv9RmF#+s-&m} zXZ3beKP=U|?~>nGNY0m%#hjV0zN&J!nPX1IR<8-u?S%)9eNE4YQ-SiAZK`9*;YbtE&8SVfH7#p1xe4{>#5~HB<2yJPuMOd9rlh zqn)GouQ6p#02k@ae>Em2UspUhll%#AWm<15d@tIyWOCcpWh>jYWOLg!_p7D5qPCw{ zDmp-75?OD}zoQ7<$#iH@{`T9+k0VDNAb$W(V#xmhn;X^#RKwkR4lX5&r!@Kfmum4R=9tq_|F$MfcND%C9W`C$Om0WHY-LB4Y;NlRtMIF(+*QS& z$lHEvD>#rpb08-2zmF%R{4e3TjvS;~|2Aq*N}s?Dl_A<3mNti_O}8(h`kmh9&oa0V;W<-FD>!UkE97i$1=iW7aXb3uwgP{oqS7$J z311<9w8Gsa?$kt2o18P3e*54|Rkfl1g5xdq>i+oq!ycSzs(OX`LdBg@luT|ZT(+_l z^4g~`S!8*tdWx2UKfvMol{2;Y<*<2v?N^v|{936@{CyACubipHFNe+Z>rI8p!mqG6 z9HJ}4flUur(i6ZVl@xx{U_Dm8HM(5CO~dwpUPUQzgKe8zjZ#LNDpeSPeIpHlpPZ0o zbeS>Mz*lV77?DR|;7TLaz$=Y31g=(6;~k^>jj;wk{0U|OxVw@XSw{Ou#zrFkH~f-{ zwtxSV!SNboP+!nFNzC&XKFpxmw$g?PH1OWmL>=IHM(WdQ*CdkQ>y51gq~~O}0G^~R z6l{Xeu(s*|={S)D(s4l&ytXw}2N?UTcnQ*;rI5JAGWCWeUht_F?;L6QZo&rsnXz?% z>sY*Vz{eP=1ALZ|=794?>Hx{BETq7*lq)0(d})*fl2?%gGJ}I8IOfwiZ&uYk8Xkd& zwz6Lx$!*mkLUT3(dCR0s_~$UqR8Bqed9e1HFwIm{bZjLnT4?PxVG8EAR~>k_el>Ib z%wrcEv+gCu>Al=_PnZ0bbS3~Qgyc!?uU^!84TS~cS<7qECuIT1kt{bFw0Tym>KU0` zIpURO=hoNR8-s9nW+Y#uN=4c6g>$YX8~0stPX{j5P3Mo_)BTA5ywoF?Hu^5ps~iV_ zUsY1$IHT2(5%}VVHaeufz$1)Q1Al6yA@E)!)xb?3Zn}Wm8mR_eXrv+VG9%T%7jI&^ zfJYdq2L8@SL*P1(K(Gcr-$+B?K}M>9#~Wz~JlRM!@B>B~0xvXD4ZPb(L*Ttes(~+m zB(4sDD~(hGpT4Pa0bgLG8u)S}4S_3-R0FRz(hzu^k!s*uH#3XCGmTUOhmSHY;NeE9 zfsfkUxPaRlsRn+|NJHSYMyi3Y+`@DLR~o4X{?tfA;JrqwfnR#G=>lG7q#Ag@V~h)U zkdbQOTZ}XWo@t~Sc)*rXm%@XLR0EeatG_&041wDksRq8%NJHRCBh|on8)*m}8>t3f zVWc7OS|ioKE0&q}z-x_E1OM)E#sz$nk!s-A>^Y}+S+dw6zft{{{qO%QsjQ>YfWUR) z(gkE46)qs_sO&;O)=}XCo*Z=nSx1EncwyuMvW^NDkabin0$E3e3&=VuTtL=Q;R3Rb z3Kx)dH0aVrl65rbQWEQ^Z~<9Ig$u|!DqKL;QQ-ozjtUo$byT>3tfRsOWE~YQAnT}b z0a-_d3&=VuTtL=Q;R3Rb3Kx)dRJeewqrwGb9ThGh>!@%6Sx1En$T})qK-N*=0{+jE zx&}+?;?J{x+2!=lp*>%c!}A0O+S~L%8))DeJD7HWoNVRE5coRf3XKVqag4#T_YF*itppJ_+m4sex`<~SfJ|jv3**ruN_#)jFf=w{HhXe&YDPaSj zsWf2&vZIIr;7y4n_^v1kWS0?1;01by53YefW9Rw~kex>)fk*4PK1hP!WM};jkljcm zfxGD`K1hO}XD9m(kR3`Sfj1c&;jyLB9g$95=k&mCDQT0ixM_4k0rteydhx& z-yZz{@~9$y0B=|pmv8XxN)rP>9$!Qf_#u6g39*Cs-Kx-HkF;WNk z@~ur5@CYMyfdBq@;{yK1NF88&#F}f^<9}xYoYHq)k?f+twZK{Omy}Y&n(&lT4^DCP zE_O&NXHxVMq|Z1k5aDP#!z9b@YNA7VRr zAGm{&IzY|<;u-Li!E6pqp&!;1|YC9r$h|^??@|sRQJsAf5p?NVb0P zzP9!EfpbRc069E}GT>&(o(|qM?&-jhk@~=+jMM?1Wu!jvQX_SM94EvJ;PJ^W59S0Q zGZA=s!Uq0MJPZKWv0c8;Vc_`WFaUm!v2}o#8L1Eawvjr(dyUiwJ~VF2Ku!}9Ch*Q= zLpQvvS=c1ZX@%PvsSn)ONFCrxBlWLPc&A>&oG`2#deE6f)BHXeCos{ZRKkb~rKUv`{X|_z@a7n_*~5FuS3A@1dJ(m{2#Vj%4L?Wb$TUVcCVM2myko;P?SZ${(L9)Cc!BxH^ zqUSfxb8g@LUYR(~xlEtY18j1p#SGW!>OMVobHH{rJxMijzIK_OrVkA~khn~%lqq>M z!56O6)fbeB#}QZ4AC!rw5tnJEI#T0{uPXaAda~(Zo9kND+JB1QNB*K&{+$V#b2~r58dNXU$I>m6 zM^!L}+^;*!FYV9#kuUjpM~fIhiq^^O%7Lad+wbWn!SO`6QYBy{pQuWOZEuA!hC*_> z;wJCrou;d*Q&bbL;TKPP&fSvskE+to>NWHV7(;H_&&a%K`DWEP(=Qn*)%VF?dWG$K zszD@gDQp(GtfrRg1m>NFlgrTj;s2}_XQ;>q)p5(tShDW2t=C<)%^2cYdQ(1i<3P-3 zP8(FmMt+E=*cMo);RGCPUZ?7Ah&H!2n-Et=o4Jl^iglM42~L1j^=N(e-!Z-eC^cQF zH+f;;YFes$0-p>l-gY^6OWWNOg)zoSFZiLq-Zt1FO zJ3VLcVk9jd2M!*8(tBRGxh^SfuA-&d`>Pj2y@vXL@vNoVyJrDNwR5BG)#h}CEh!K% zn(cGoA`dOqM)FwoNZ3v+oGYp=zr0!xqr3r;&OxUH3ykXBWgE7&;_Ir76-G%XO;xpzvhk6aEV#Vi=lNPld1r<-brDI< z6n8geK_!y3tZIUV8PVh;Gka)IVWe@Eg;G2{*T^+aX+Z6Ly zE|S5OuX}DZPOAlV6URlyVP;p7RGRI7U)ON*(2`0dzo$xt?Uuqhw+MIY%LP8hOcR~IcuMb)`1G3Vl8omn zT8gl)z65xrUPIczc-B&c|H=Z8BIHKfi|~L7V@vV|jAr{s>%;2n?ai8-N+h4CL5Q-w z6-H%_z|-ICFzs%%TWh8%!-W89L_-)H_vMptPY@)EN>qrAq!mLvff z&GvaOiay~=8wrf$6E%pCQH4>ND;YlR47GDXdocOHyIug(z#N>)s*D z8aJ=d>*8h0xm(J%N|n7!uOZQ347p`{l?p_r6_xXErLv(@A_GQAcSnTnBdS3pFIE^O zomwn=T;m2$9gC+a=Wa>UKC1NjdJSm;W5`X@_L(;=2M0brK&J!?jOyJq!S)h0B$7uI zHk~xdUo=%VUf-pwEt@#6;M03edME#z>yk9)Dq1qT@$yE~WAqv_3&t}yv+_I6vj8Nw zxzYA@gO`uklDq+<**>2}kO$$K41Ci0Cu$JFwztBl%#qwk7kD<1#nYT~w`6ojRl28M zLk_?gax=Pl=1ohl^2Q&X5-c#PcY77KS`CThd|}f`Q&rupY^fquD<1vB`sQdEq1Z zc>AEOvy;N8%#}P^+1RbpZsq9Brw!>n&x>4_WIR{VQiRjhi}Umv(gwz}mLi;(1t3Mp zjkXtokN>bG=>#mK~ZFg&~@+1g+vXYvg z5oEMqWCY$}q#^KLBh|o7cgMmIxUG?D;3Y;H0xvUC4Sd5BO&9QFBh|nS|Hin0n;NMG zUSXsm@LD6)z~}8@x_}26sRk~2l5qhyHc}0IuaSnpv5{)v4o@~+z&(sq1OLHDL*S`K zs(}|7X$ZW`NHuWxr+A!m20rHLkcPl*jZ_17*w?s#dl;z( ze%?q!;I&4of$w~V=>nc;^fe-H5H)e$ZrtB!C1S#^X9$f_e;Kvo^$03 zBV0gM9pM79>IfH*RY$mhtUAI4WYrNaAghjW0aH5H)d_y-!o#W~T);&Zpqan;vh$ZPkS}H7kjb&BuLq()1JBtZsRKOLNPUh{GkW|9 zlHiBfk*LF2YPW<9+=*;J4ps7r81R}z61+M}0y$`jB=B@Sa|PGHpSE*Y2gu<|B!OG$ z2`fl~cehhl2grITlE51hN${_uB#<>yB!P$Nc`eukA7f{@4)9hZ^;tr<(9>Cv1V7bI zY#ktLsn`Twlt_ZV9wmXSuObP2hMv!YP4K|ZY#ktLu1Equm`H+IbmajAcum3vzC9WM zvJi^_;B)m*7+eF-*+H=bWN{Wr;9+`DTquF!W9;zQ0kU9=BybBo7A}-P@%DC9>;PHB zMH2YyL=wEjj*lH63%f`HuTidG6a3vM31qPsN#G57qzsZ^R(mM{@cx7iys;fUJ3w{- zF#vq{KFtCa41l*)niv4GD~Kd;H$9;SN$@l6)Y<{EQ-~z+8G0TKlHkMajM@RRdxUi8 z-5U}~@EuVS$c`eCzzg(r8*GBFu@i3x$SxD&)D34(y#`6}+w2tF2cBl64)A5qYH};e zfUhx92lzoF^?~OZsRMl8vrQMUZ=??JBSz{2FEUaG_=XplF5pQ<>Hyzsq(1N*BXxk6 z7^x5ZtdTmvxI^o+LgPUAud_o>O~u=P9)w1&QEN$w_x`V<#rAwQ_0WQ^(vAHsw!wFR z7a3_D_^(Fl067lG>oOpxfS{jaz^Tb*4rZelQQ%z(8+be0x#y2p_@rdB1^41+3q0OP z^T78QsRLvO7dL>%CtEW3UAF&rfR`9)9{6P=b$~xL(mWgYDB0t{N5wr3$j&LA0S`&` zIPl-cJq~!Tk>-J)Gg1e5tC8k`zcW$?xXd=fdEirw)B&=Uim$-ql`HfC_&re)c$tyr zf!{V#2Y9cM=7H?NvatYnPBvBWbK-UkJkdz=H!55=*;K*HzsMuu14wr4>!{M>AHxaU62G8B}7k5ZbH z4){7Fb%0+o()?z+FYll1+2BLto((+3Nb|t+jno0IHq!idx(EM0*`L8rvR!um6ouO- zTPm2XReA&X0^3sOfgegF!M8-V?RDeaMXw=g;HTQAI{!?C?8=fy;Oi1eFx#@Q0Y8*so~?@ngjS4LnS*!NBQ?KcrV-`$vU8 ziX`B@M(O~UKF9PwO5uDYU9Rx+dJQJQ*G9JM6+ZI0rtD=3U#-_530@i5Rw?{)ByDnF zqvTO~4U*uklqO+rukeMDbeO`AMACf<|68v?8F-!NnYT+74kPKq3O}aTAPN3-WV=$~ zuOkV#;q%eo0d8ZY`JEIV8%bYL_)WbAli<~n?N)``*qLkoc!gilYmfxr7};)DcvmF# z^aG?hy-H?ZqVS?fs=7@mYw0!U2XCx2k=#t-ib%Rd;s4TWkOY4rvVBG2Mm=&ie~7}D z=ru@!kBDr?E4(U_mi8MZkI-w71V2`3;_VI!_lTr@6uu&oj#l`gNV-Vj=OXDV3cnLc zw<`QuBsFfu|4s{h-agIvD7}hfRPL5oriLf}H%PuuC6YDYY3(S}pdk6z+N?>tJ282Z zPt+ZX{Y<>2seZk@Si;H0WvZ%AC|h!han_Dq(I zD(OiM^cJcqDsyUm1CwaLZGLyrmbFeHW z&(LQ{9yeQxeuGZQA&^OK=L-g zIiZ&7zf_)COQv(x2cG|3A5Pt^5#(iv%k(W};$4W#G+kY4g_#)6(s{oZ-bxIKkk>@9j-RANU6&)gRUu6uhVpl0Vedg*V56mU|s$3hzKrEAKFY ziG^HpN(kZqys-LPO|Jal)z0>VR}f#OH|3K&-nH_Hp8UjLK=u8xlSFcOfXOJ zh>tT56CfHRJ45MbrBfbp!QXC9*>d^9RwP0Wq9my@*?TT)D5G&|1=f*3?mxsU@SYxPK!%_}@Ak}O*a zrmMd#A}EfRf%jZxTUVFzv>JTiKqII3a)X{ODNC-RrBYv1FTSPMkXtaGwN&a8D#Az6 zQmNc%d!;VR>`HP=v-9Wc93v0H<%N&rf2dMn`%mJDug`PI>FU3V2;55Dsyg=9twpMF z>&A~=P&dxsSEcuIgJGQOlCtC~S}Ikk^^Nozatp?@mP*~F0q_C7R4O;xUa5Ok7+aED zU^F{_u^!-fSJzT0Bp+|PbY~}p`$kfpxan$ly%{5LE47_|Bj7Z>N;NubYo++0lGmo` zz1(0J=endUxr&xbJyWgs^cr#t#h`O?Vz$+};~927oJRm)XtROOrrAE8VzJ7>c1ps|U*5!y_z z6Teyn;-mGZJZR)y5XLXl7ZH50DAUchH{M9_aYA};O?1h;%T=^Y#Z%Oa_vtm%2aIPe zEp?2F@I@t=in-DDYV-O9TQYlq(d;~LWXMCyR7CQBsYk;01%=;Al=w80WgAEV+u7N*$tJyhg7fw_rSLsnmfg!WYA&Qn}IgO7U_I zTasL0G&|1+YUH7%Qb@j8JrcH46`mhSdE%z4Gl~e@N_F%#10RW})!=O=pAe<@a)V)< z>yonMDq1RaqIThiHcv7j{XnUo2b&D-YE-;#%=fg7c&{8QR->V)8 z+gRbHk(4KHy83VtL0PG(b@y%r`I*E>|U*}2N5nFtHA-yNT75{Qw(wDi4mR9}RK8>;)^%}ed z<5^3qepW?DlC)}Wv@Q0k`ch_Bx~nuh&o?>9Lrbe7`5RR#Y!4`Wn0_+oNKRKv^k$5p zY}HDB8Ysf7a&sr)qry_huUMiIvZLiefnO#Y4X?Fe~ zeYr&*S}KL)dsV5hjTK%RNqOSrq@p)t1ZAbBZdE3}R@k!qKkgZge!gm$mW;1*@a4Aj zUhY*G=eneJxr&x@K3%QA6$@f=0@Ag$@f;UB^3Zhv-5nFg*>#B z6UmpTN5Xc5!Z$`zp1A4im?DC*oFa9JvTdgCjfUP`5MqwSTtHnS_qEzQm!rEkDqXJ0KX-lv4{k^GG+6=e@7e3*S` zSxCxerZ-~*Zl%7VY<#;`s$nlk_!0zPsZH+%*Ybb4E-6c{qNP%Isu#b~Ysf7a&sr+= zT@}HSR0@dS?UmviAJ~%Q0;Adar)q`JCtP{xVT|N@v7irExJ@MGlGD{@dK0%>R=*!9 z8{a=ptHBpt_>M<v-5oGlRUIk3dzT75W=>T!hIttPn>*Gqc>v&?wpE(cd5XAQ7dpA{ld5W7PzHg zzWFV`tN)`X^7U^%AzmQz#i48Tn?d3^kS}L1@bO^G*M$~{(XUCgiMsN5b7|)>7?-42 zxkEzA%?N2ybvl|+^+YSa1Fg|h-Z3MhRNp0qzu4U@P z3IdN$Dwrp(nyU3KEg*%-nL>C~^)_XEf3yHhd&H}1t}u+xQ8n~ZdVt7vr1v~sQQPOt zxmn<9C56nPctdNiSzlkEUZa9h!OmmwU5Qfgy=J>RrITSJn-pCj@p^@9eEGQQAplvW zfC$UZbNPt`!<=bb*{{mt5Pc8T_z@M7mj|Mak##oKh_<)L3dzte%k}my#x?>bF`QfO zp3^fG49SvwysBYkan{=DX-6&(Dtr&tS+Lk|$fz?1!XJV8(j96S%#%rHzvPlnLiho(^j?t7 z|K+-5PtR2dDVGZ4m#G)W=`}Pp7|)#Q2ho9waCDQSVQ#c-ipZZ?%k0XGD9z6EvvTC2 zW!@n9UR5e=V}+MSQt&zbC$FybW{ki+?LVMw{3K+$Jkn15s9kz5H3rUgNm+6gEtPt# z{;b9hdJVY+<5^3kHc$~ht(HpVM%ydJkAh-Lk_(Jx=lQ8a^3YN#B%h@o3EK-49vVp` zi|ceXC?aqxb+NMXlc#Al_`w!Fu1W7A-7;WYpK*fs|Y_N zBbCaHwpWTDy~UO!7Z}aX^MgI)p`}tt{!%>>w)+)sq(83XNXp`?H)8~DrMS%x|EAS= zkE-BDe$#ttg}}KkDNC-RrBa_#OIPYOl3ZXkJI~J#lLz5S!v-Vy59*Py zyFTs10=H5G$agE!YOK(oQ{^Yq(|Z_7uemNMORl1&QYWaTcjz_b7L4_l zO65j_=qpqWM~l`u#gFn6y(E_(D#pB!fYB2-m9Tw8t&8Nv3a^f&G+_ZxSDz`ob=7aI zU!FN$uTl+rC(n-$^W*U8z1(0J=endUxr&xb?WES9rq_^eFrKwkY6}(Nd#O^D+-Uop z;@2HuOOgwWX6O0M0OUcqyzr5%)gxh>S9nw;<&yGqE=2@xrOv>pe#mCB8_SBhU8fh|ccFq)m`*DjEU zmP#S{BlSqw?ojxsl(NaWAz$x z3&yjSO7&HQZ)!-Ta-;2);-|*3CCLRwv-A8?3-ZuXDJ0*i9tqo-3O^o6Wu?w8B5*5p zud?xbLDEX$8NYKby_Xvd<6M`NC0Ef>sZI6wFFanaA-7;WYpK+Xim>EKrE;U~mEsqp zU`vt}1lJdk&R|ggmxRtt4+4wyyQVl!%9insT=s2hB zUT!dqb6rxFTt!Qzu2nC-r`M2MFrKwk>eDL1$BlH>xT*?E3h2YG0z z6q3JCkA&@Bh3jhu9m(nH_eBJ5r9y_6HZP8=UG*y8cLZ*xpWaBCfR9yD^LHH>-5(i) z%JzR4dx9Ao0Do$vA@B)_vB8+p%gopic;N&iqu)kGAdUw22jezB@p3W~%ib7&G`p;yd`#=sWP+Mp^;9Es+FM`~?#XmRgJ}fFxSt0g@$I z5rAA5v@uAtc!X+xbF=__r;$29axNBtbqchRB#NNr$S1IehPs+Q1@g>g zDh9x%M(O|`nrI#HH@>UQBO?&=Q`JCkwp`FGKTiitjdaaO)Tn1ISD}W#u3jY}!0n9G z2kva78n}y+nzS)`x-sg$Hfei9y}iuXY9#lHq)D0P%M6?UNs_6ij%qkK8UlXbNGpIp zP*M{fqq`#`@Rt*ej1FI`G2L>i!7qGzt?3;AZ#2?85HEsHgE6CfA|ntl8b(IZr`A(M z<5%fb7q9-=jLiY@BN*$NS3ir4K>TPJ8Es^lngil!!$__sucePYe0-Cc?gLYey_N&R zQ7ZNp6Yl`8H_{Nd(I|i4V$!iNdbY+CnK~s?L;3s6YS@1;`(88K2cD;-nd<1NF#{?g z8;frSh3_|o9UwZ^tB$UA+xoa_`Bs~KT)Cp!!u#p!ih`-g!?cr!f@#v>BQN%V*}t%j5G(tyWqmW zd|lsMm;>Tn!^r5bA|o*Mwe1jG`q;(C+s(%zFxA*~XUXX*^fA4LZUukIXuG(wRdu6s zkPF$qiSIEMUk8Xc)7886!-~8D=c>NT^eXx;SBNu0!rJd5SFVWh+m&S;S%J41sgFYW zmcqh6nRbM+Z6u+SYdF7w?SUhn37tt(q<;u2MQt@%|0pR-QGD38Fv=PIcQozYxm1g-AJe;+Nw@sUCiUXi@((RiDJT2Hwk8163}GI`?6%HDQvE zY70%pac8YHVam;4uX_JOukx%0e85OU;PkqUe6z4I+Fq&Ba=@J?7#VdUBd|Zg$Y{6q z8$0d^crpY6_@Q|_FlgrHrWE3GvxzX;F){*ixnX3~i;O^AZWtNG0Ols$4U-9%VOqQT z-9~52ud2*BC&xe00PnXzJNW-dbE^Z~)JT2cawBzc^QDpWa)s}UB;c2fI0Xq*I1FI@!<-e7D>Rp zjMN9d)JUC|D?B}tfM*z~54_SyozE-0Ba(ima1)y*9pEF3)Ca~Q6bpNvynR%s{t;K#V5qiVX+CuD|1FUOJlRNn;CqbJ!OibS z(hn4_ZK>}7cQKN?8jzgJOxfIh3W=~~H7F&ArQ{+Vfc&LqxwDS?x}*8r!Tp0G2{s0&J_8~QKzFF@8KVhUkrhjOp4iH1m!A;JrQ;S6R z6;;-xAx)=Y6Q@dYIs#H9d1VevHP)@W`8{g)_ZCbIe9uD~)AD)=_+BM74aDgEk6Y|GG!c?CQocbEgA5#Yla8Inzk)Ogv0) zzcI1_Q6?{Y_Ro?e!$+$?KB>)-VnUR#0@p00Ko=T-w>G#Al# zRnJ{9hFsKnLZ7Z)p^h#R)pS)x*_Rg_eRE_!%WNJHMqf6@0r2}q8Uk^yk!5tJF%E#y`$Y~TRaK_1i|07jG(DrQ znW-)iFB(Qh{}~y9_|!1QZX(ZB^=A<#1@eJ15XjAW2qb%LXFp=Pl;3^MnQ;u2(q-05|_Dk~|08LPOfDgCy^hLPDa4TDXC#(w6`(Vzypo6$TSM-{~vZV&FCTj zH}bg#$%{T6tsb3hJRdhy)!C~3O0&`je#b~1;9W-Q zV|Y_D+%F9m&0kHeQWY3>&M0BNe@xkMM%b|U`{+bWV1uTs8}(-5Y0flLp0Hfdi((j^Qr>0h_ zZ9H!2*AFWjQ3%`X)%dCAM4>)(`b{cHWFmQiN?g`18D{W*sN~P|xjy{H`tzw1ZT9bawf;-XObz_S4h@&Q z>HAk2SqFk5! zl9^nE^LuB4{MqWo$MqUsPJ!{PGXh(rH0m`fu$uVG8RqI(}|Gc#|tt9dKBJ|1`dE*mDDgYT7Oq#1lCGw7#W=u8G%<$Ff#gXWGq56!Y?(pr4~>J_;Mo+fyWuC z1N>(r4T(7#UW3&bPfk=lmzcgj`hF8hz~33E1Kis(-6yBtj--E6xLkjNMq1!tg)fVw zV-&tIlHRWHYmo%J!AKq8BP{2A>h<@LM7_QeNrcZ;zQm@Xk&u?f@G;7^qh7=E1*Tjr zi{W}I64_P&G1|TuZj#xR^{X`7|9j;^pSu`7QJH#rb(yLP^}8EeeUQRKB8ddX>-1uh z1njIA;Wubv6W2mMFp8*`qv?v}AnD`iQiIl76Q;0Eqa&GP`6A-H&<^YLpC%dBX=lFFOC->u-mm5zl=peGEOn)0cKH2W~5W6g`G@ok(N*sWXxnG@1HWT_Z**Qvocw_?4RM0;tfhPN zleHY*bE96?8vn@`wxr>J(QKa-l82V=Me^y^Tb<`-*>xnRs|%Eg4r_gs>FN(tAFfx? z2K=CrhAWS0VtcP%o#RAcI6x($KIf}w}HM7|04QBy6#lI-|KaQ>d0!{Wn1t3SL;5o`55AqD%q%d_mw9u zyz*`C2L<^*@^=Rg$S;oqn#0Az*0eeDi*}}vk6ZQj^Hs%kwd_lN9qC{Th$EthUWD!(7o9k63=@tr~97%-xF)f9&Ff{6|%u#kqAx_B*L>-lNCgrq6 z`U+E}AOAH$w~_?qrGw+>Al9%Alo?#0P2~W-V4z5YAEvjzrPt6JYaQD}_ei}4 zT8uZMTvif)2(6LpNbf}r5#_q14{{YPt&vNLrGKY2auw;lXgfuuYgbEK2S|z}leylO z(E(yWcK%$ia~KF}3FfA#3>cLa4*-orFHo76={20n!T(^iUB+M(wiTs1==7=`bMBtq+2-#9B4Ootm&(e<)osnX3}*hJKlq@{ZM7QIeayNzkuQ>+7bb62cf zR_c51qjfXOb)@$ihbI4vuB*-6xm-m{2O>!XV(C6QFjtY@o3zh}bZu{bbbuI;Oy+u9 zl1ngOj>>>hSxX1XpF>rtr|32GAh>U|UB=*78Ew}w7&D=)gqUAAs?edshROlKLB)2t-w;V){OYsu&RYWts*P5%1d_^Yb-->g}8cO%VZr4{y} zS#urfy*yiCjIQ&{-T7Qa%b^@eA`nZ{`{_xfWmhJU) zRdQxj28_yz+6Bk9R*3_mBsRZmRd-qgrk@#;v%TWh-KM-?3O;;OZ@*cmQ)rEks@^Le zq&0F`N&Kx_=sK3`Nbd!^`9E|Wr+&yWD_7BS@)a<@It)7vl9 z#tE%4cUvDq2CW{!6$t8|s!82jud;anqcSx#>CV@cdQWr%n}=&v+(S7`Z!o6eq~h=$ zPTV@d+$xxY&~bWuKYh>-+vH!X-aYl&wsq#RlK3NOja)~1FLyTeV>|Ujjyk!DmeY^p z#Up5qT!naH_dGAEigdll($)czBI$!%Z%bX;vhOKrHRF zubzH#73n=JPhLsaiI%nw5ChVgx!#s$C74H9P#s`Y*4nJcs0;7ZYiL&RKN@Y9G58Bc z+jR`aOj`*<@T*krEWJw4yke|u1M6-66H4Q^Y!+U zLz<$62jdT^@lRQ^mLJaq?p#({VHwSu>qzf4mL~s;t~<=#xm-m{vm!|Z!4fNLt|GlR zX`d14dWHGX0b)SXo$GZf5EK&3&!aM6RMyh0^D1+^UPG&b-)*#A#$Xh-zu9=DN}Z%v z>8&>@JUfyI?W2ozAWT;o(~tymown%t47Mdn@-qplWwmLmfxk3TANVUJHQ!vt+~gIF zKQ!?H@Kz($z*OU4JgF&+{#`}jb0(zS6T7ch0y%Y1a2l-^}-c7b@Y@D)u4Ju}t?;>Q9XgQFrJ5T_RSq6Z}^ed^^t$!{Xs zr*x^8yA;?;k9xUBfvt4I>pc9BKU)o?gz~x#h-aaiqcJ0#6Imd>HH?gKPZ)vZu3`LR zeVr|Ro%4L1b$p%me4QPazRr5S&KB!hwd5DtYIxvGds!m2e~#8`>k_H=>HM%nW}?lU z%5%1`zA7i4%da&7V%Kd}U)I_RS+A{pQL8heew}?`OMEI^Cf>{GyYsBb-y|wC|8D(# zo)gT;QnyOe_({FWu?6^mk@~>(|E|#!LafJ(HdU&~0=J!DWVA;my(p)(mQH)CBOek|}Y z*f;V4amwxVG?}GOz1*kJ@uf?>+@-))deqB3^5%~?$chQ1gt9CH@vNC#jBrk5 zf%w)iGQvG!1d_XkF-?}@MSYzueVy}sowZqlgHzQk5buHuvtvd$D2%|=*K&2JmV91Y z4G-L98U4@DK5AQ*;iL0qSq35+94;q8SmF@Ib6J*w2)oVd%UW9@>$R0HYIR1`ud^>~ ziBE;g#7|kc@QHs#C%IgUEXy6O&ueVH*T63usSmtPNg=#?%xJYS*1$U^7z;0rfcc|M z#Q^wmCCRULufSMrT7uEdQ5cB*Ang3p*@pEunu0Enh$Y7zF!qA=u0{XjC=A4U!|2#w zAeGj8SjUoB-ye+fsj3IWPGEDav_?6?4w1NOC$AxsYd_TtCsqD=u3sYKY_Nc+Jnz&`^M*;mGMdD zU=4h+k>-GhDrvF2qH!M+9{}f#Gz6v^+wzLW{Y<FxBYiwba)`Un=b7b$_)7 zpP$#6@Z-Eyb)+(%Vouh;tBte*_)R4>xn;E47;E4i6O2t6C;pq6f2XM!0I?}=zknDF z<_BX&H%D1uYTm6_X8wJqq6@^P%vc}>gZZwR|8bNBrsm!9wwmvi=7*m7o@2h}nfDr` zDFl_rqC5fs(?Ca#rIBZ8RK6COIa6~(2u>@8H5_|%k328~Z&MBaY@RYv_}aEbOyGIg z+f+58O<5+GeNPXaeN@`Na z=pbXPfrn2pGFllKfhSKeGCDId0xz6kOdYymqY`6(5QN4R4crwdRC}I&5a(AID#9!F{3v|Mj)XyjEv5YjKB+%z{+_k z(LHEjqcX6Ay}(9JV539TJfQ@CM^0cPFR;|KZvywtK>oKD}jIjppH^Ip0pvVY3e1dVJv73S8>krM>0T2gefd}GUQ+Y;vnF|9T z-ia)5MdSjej+TuizB-QHWsY`%cqd<_1>#z8v};M-*IeiV@vdQHbZBG*roNVa`(VEI zN?%uazV;knd!Dboap`N%^R=8N59aHr^z~rR*OBAv$n$mN_&V}@EobF}`8r$rI_LR1 z>-akB`8w3&gvoKNziT zE)0NpC$hjTBNs4r)Lo{{Yf}0NbF&M?i-nJC7_4u`xWco z%YBkJnERA2^>UX2Tj^0R_b9NX4k&i2i68O~0Z0kuvq~VIg=&th^KedNf%w)iGQvG! z1d_Xk@sIU&w)Az*^L5tob=LEBc3k>8>-k#F`)cNs+G=><9(vKgmG)8FnhPJDFKaFk z(PmENISY#y!gwxgE)Ze2S$$b+D`dU4@Z;o8R)X~KkTvGZfQ_=Q9XgC9peAWpeGoF=pMsh9f{ zdbxC|m%9|$N{@QEN8ZfvI}bl(Ed)|RS#W`P)=V2lI480|d}|mP;hr!8$z8*kCQGr? zc{nKV9)LI~FQEWtsM1>#-9$Os385t#Z~&iiWS)!G_(;4Zl6zfGCj7F_t~ z{P3}>iXa*sE+;`)yb#9o@Nzm6cAM3gwYI{r*H*r$)frL0&c3iEJ{2w#FQ2Gpv59|9 zC-I%Adz5>l6B;Htcmkhgq&~2tq~LfxW^|A-*1*Fj7(M$94f7kAiUIHdC53NpfUy{I z4qg#OfmmPsOCQ+Y!W49Y#4EEMh`A7Y*Frxu$^tRoFgl^@w=qidz0&-gXTIl{?|J6S zM=x=w)%>V5KlIFx9P=a3eEIN3HpVNM8QTz_i*qNx`Dq$Tcg{{!o4Z>xiePJt8DqNPy7q-l&!cOL`#g5c4 z-=$YsTY&#+q(1O^C53qEF{9PSSOf2vV5FtWE9T#BDh9x>Dk&@wU@V5U1$=W91!8^i zwFTQBGzDEC@ygl)#9Y${jD8$tff)B2CQk0se6KV==b7(W=CK(*j#W=m^JU8|W`0zf zAA06Tj`@*izHC|=pp1PM<776ZZ`QFi>sfL-e976G5JGU*7OdT-%x!B6d~{ei+^9$t z_16|e@jD!CGEu)(!VE8kt<7RH?Ct#U~%wHE4DW&Euz~|Rk-|!rw%&#{)HSi)M^?{#JQd4I}UogfRc-;hJ)%p+fe`hKN zz>Ad>ngWc)P*?DmqbLyTLDcz|h5lw!&;=5&yx0O_u9@hJz7}PH7;hN=81uc-{LnMs z8<*yLo_T-y2riL#EXunePO`-qm%G`E#g^v=; z*%cT?%W6-_@e@(}mURM%s9!5z*fO08mznm3EqST1lRPPr{PGaZ$&GrI<14bGGQ;q%-9DTgQ#Jj*h7^x3THI|?C2cPf|CGt=R zOohvQ%b$->d+<5^7A(lIQZu!gC9wv+%t$MMFJFVaqHz}!9{>+kQdo!B|d_R4&U+Jmn(ua_v}<>p`w{C6YG0e`Hd#qx^AFPiuOc#DySz*J*fUeS21 ziFbiF8>tUWHTroi_4Uw~3VV6|irRzE&#Qj7`5tASeq%F}Wg7r)ZKOW%2}){m%V-Z{ ztbzMYFgB_u{+pR!$5ae}*pyueh{0ffFlMw@lm({d-HK)AH#8MpAU5U0Yaj-L`L3DY zH_8H2^L}|lE=WBVWj6w*mU@n*o@dGFg{h6yIYMxHVQLC%&rs&JV-kF1SvGheqD^Hc zDlLO4`5(e~E(axGDqN<^7q$$f!cGPjT1vI|P#0S7n z8mSLVHTqdV-}_9s3rvN*ES#w#@U>>)5@r0X*{Fdx8)*oUg=L1OUY34k*vl9Pz|_2--^LltFEJHe;5J5@17a|km!)4B_BF;X zFg5R0h)k5`dzjzav<`t74CZA&D9raf^KGkPtUMOwxf_V?U}@x78hMtyBllYBBnq8Y zl$}SJo}t&)ok#Cecg}wCU zKYK=B{k?iF=QQ92M(P7Up`_qiJ!W*7G1kCqCm0#6j*P%NCKwsr8ySJ?ys61RW14Iv z*X)Pt2yCUP8UTq#j$lASX{ycWswfL26p;nq9JzqRAzZ*eL@r<&lDnj|g!Cp;)ddoV z9BP3C5kl%(t*(x;K;mc^8T~ji0trQo0H?Jo()++Ps-3 z8<$b_@~A@iy>S^>&kM|510OW7Q5o35USK09u#p$o$O&xZ1vYX58+n1bYeq85D*5|` z&5&5+TaUoBxPyaZ0W%W)2Px@rhTDnDwOGEw;27C%hjxvXD6MEyPpt4Jwqg-M0W!uZ0L zzEs#r-^5SQoU4hr+8VhA{%<4oflJ=p^hA?3MjI}iYvj2#a@-nuZaH&k=9^kt65}mFQ-r;nmZ)tNfsbC3BNPzP5LwxF zVIe>m&t(Y$rov?(_`+70RJbgRFKp>cg`M=-_r9s`KANFpteI=z#YXA_uT)Yjr+-U$&zGHRRs20vpE0~jjTIBLTRea z=vz@1NGKu;ygPCMiK9`+Xd{bi03<3=H{pFVXbI^AGuQOPh13NSQp5PCMAa*!TH!_2bE4|yQ3W@8<1(_+m4O}X1vYX58+n0^oWMq2U?V56kr$Y|W=s^3iA5~(P2(iv?CgyYT^Un%ajzp zI0Qyz+xJ?l3Wa-{!Y=R?Mj8Uq=hte|MbyaY3;1%=*axN>%K`?CrH3Q*rNU(aWjj=R z@Hze8_+@!`;CO!a;jWh(N8q0Inq{fp?ybCpFP0L1#@-x$XB_sn(|NW60X0AjA0T#Pn1<6R)e zTW4XGd2C9Bf!LHI7!ZR&t2}I}S!{|dFg5RWM^l9|_7TR>9W2T7Q(yR$-4Rg)P&maG7ae*pinDJIS-h z@@1NrJ@qPc4ERbT^?}DIDa2Ec8J%d1HSp94MsH>|G|WHQR1APeC@D-bFc!o71ivMU z061L9I(tNKpKlIG^Ec4iu`3X$Tmt8|8 zO5-Dp6I$?p?CjE$?7!C&1bCHYT&Po)CWGGq!3d*X0*;JP3gnwUg4&CZ5SDC z8ySInOfb?y$u)Tj#Mgf^#|A(glwAjicfo~$`MQz0FaYA6$O3naT)@;(_aNms`XzI; z3&cD5ku_lIXxAKln7Pme;$72GjCPHTz|>dwh_| zYHdRj<1UtzXg6)Aw#5=Y=0$kNt0IUtGtP3MAS_x4<9T?;>j;-U>kC^GrIyPk@`bIc zsc>0UU)XY=3Ol*C9eE!Ob55_aRs!E{q(1NrB{j<@qp>m8z>6ms^OVOi=4VaC0C=jB z!hr^i#c&n^|6>#dVtw(m5Vl`p3c5hzm9r2KbIl^h=;Kiqi1CIohH6O9LZ$g$X@2OL z?~P0IJ3yfnu-Asn=(g$7z|nmX8sRR7MPlM4=tJbZ<>lO5Swy30;cA> zW`0^jm9hg<^W~aO9!NbF<$(j3TIxBLdY+}SN2;lBX<&rl&JnE5Xe4cO1U|AXa|DQJ zQyC)U8hRCBJWtY<3YY2fg)IZAu#_L7yz*;3kVQ{O`9@0C&~g-^KQj5^RG4)T_84P z0Rdt#nD34mogZa^sd>M=AseI~i&A1Bx`U;jW2xs^a(ZFvHR>E8IK416g|!QmxorV~ zk1Wdq0z|Z_OjhfKubLu^=dyqRQ{ggQVF4+HEd!~rlL31WyF`QgmX)gpuJyLYVfjfQ z;8G=pcsfN1)t3BF%Ss6D9LL&L)@(bEtxyWWOoNXO zlQ|BIqW(b|QT&z}4n)*%mDDa0Nug8Wve3S;l_?c2%j64N=2KxO^R~9^tVw;oO_Cb; zW+U~1rzt5UqaHIl(->>ug%gZpF!`cEqCyD~GzWCaL?H8GX zE|7R-Z2@Ag=>taRM_C}o{f3dyb!{ol_e%3~p81|-9-Go~z|?%%a*LTCmF9<@`H^FO z|?E$_A4se07o#+zE#M z8FjyHg26|Y!xO&hN3^L75poT^iZGrh=}Lvmbos)TfmGPZfHnG34Q{!Ws|G&PNPXY| zN^1I-(Lu&o0}r2IB;e$#jgI+kO~n9+O=)x>2Agy;S`lS|srkhk9rHVwiY^eF(&#`8 z2J_u9qeG)CFg0IRjx3bMdl*M|u+(!b^*l>XnWuJC=Lo@VbgUhw%x#ShA6b@02O`>3 zh6uTaUPTzsrO|<@aG5S&*fNj`I~lM>KT?Bxiy%7GDx!C<~?(SIk(0#oy4 zstr4SblAn#F}anY^O$9@97gZfqKd zz*M8V42W_x-fJ4Wz>Q2}ADC(^ixqq=_4Uw~3YW#Is{7Oh_?&hX1G;uBQ|ERyCu`uq zNPXa}lA7EyI@}m*;K~Wc5K#6nGrxza7yz*;r3GTJnIMc_6J>#^dADMj`KOtRE)bit zbOA9K%y-9(j*7Ct)VyEbkPT9gMOn6i=nj^8j-{Sw$?1iuz0^5EaC%{C3TsCzbKBAd zA6b^A3y5e_nXJ|e@5&Lzb6L88sc@ODuz-}pmVs2*$$&NbDh=*ER<0WO86)+9S12jO zQ;!*4Ym7B;^#o%cxQw;aFn^}07yz*;jSj?MlTJq8in74e{9=uc`45?jE)bj2=s*kx z^IePnJ5d&xnlCFyHcI0?jHi}*j-{Sw$tm;HIqDoCxQ&jr8Qm3Y#B%`I~iC=_N{8@Cwi3^E5ME3*_1=d4BS{rO_Nit$txP~HjM+| zhNiI(Of|agSfTH?rmqW3h0E+z)x9bLpHpJ-UFX|Ub#A#iSp%PGq(1NfB{i8~bdWLD zz{4jPCsVaB%FJ(TDh5Do%5(=}uxTnrE21ngHSgv(GrxnW=mN1ReE`H@FfUKuDsyO* z1*Yb`3N`s4^;ndB4T$bwNuIn5OFhq$)9h0_swg2iy)ZR}{=<~HZMwrpmcx^`iXhrl zCa-sxu?XXNc=C3H%XIm|mVwl=lL7m*0H2OjqZjB^ratgyBlUqlS5kq=dqqYd(Tamfh``oRKWXlEfy5{429V%_7hS93w0Y45ZfK-A zAi*`VjQ+|PyFh|#7#Zyw8G(e_FcM;N&7!5O1SsnSkO1YS4KR(h=fv70RzeAG^u~;c zMvMRnrD0@5G{Oi>1N&p9BGJeT5g^gX>mXnn*vJWN$vvsu z0xat_OIT?PvrY`NUJSEN46|MgvrY`NUJT9)ge9NSnMAt1okEszvcxJSD;w|`+UlWC z%AW+DGEw;2wi!&|x$G1`ME$7~c8XHi+A|d{+tU}e7D$E57Vw2F_o=Xx`(lskXeLjx z#iIsZWu!jv>l1lrwAvVJ;IAea89fjgfg7LN^mJ26Mw=>CN)Ft1f-#>6GR~GV`Qn>e zTV+-UK;n@t07x*wk-?bJ%~2Nkb0ZCb#Mj6&THAsc0Ew?*WVB^u1QP8U?oovLPV=n` zBtF@rfCLx3=vt^hjVjdVWo{Y>%=hY#W3r{FzdxI>%=hY#o(-yOWviePr6(7D6+&Vl`L3W zX{(1m@%AW0;cMHY;KOs-qkxF|Qzz^crLeVUDqOawFKjK43YRV53tR3}VJG+EwkXhl zJ8Kp@ws6$IV~x}YuA0a>qmzxX2A(^?$mqhz2)t~95wDVK;%imm?ek300EmmSq66_S zly5L*^sXoi{GgGBKwNHQ8GXta2f#Fd#okYZkZ}Knrlt$TXE`MUak%L|M(>HTK)h=h z8C@C~fvK;qre3X=+#h4F>I|1)#H3&dwxnt(VQT!@X>3sGyxF}k(F&176^p#JiHcAd#P~Q2fnZsCKWCV;|p8* zQeh{3R@RPs`cl2hvIIQKNCyMoucVNSdd%oTW2}K+oM1F-1;G3(O~n9sx{>-o3^ui3 z^eJN;08{g2(V`caKgLvaf$uZY91w%SeAlAC)EK+K)O=a?#mx6Ge}-ut0#oxn$9&H- zUp5Zr%h*R4Pc4lcOC!&c*Ja0Q6e#p2smvg5(>>CJz)!1&rsMFP>y(MY*EYj3f#>1; zpsEpV%8F{PVV;%3mg`iw%(X9U=}U#Z^x*^j^nGiJ8o2Je8z$M#fa@u#Ng1O}jj;yq zJi&;u@{0MJ%=`d2V_N$_3)nv5X7`wpK z{9==|G~dJg64N>aVlbHRS@hTp`?JcV=F7&R2&M56##2ip$I{5Nt3jFqj{V8J%E^17K?2OVLn8P~oI#YKogDDRbNU03XKXm<~j=ao9xN)5}U!fhuQ*UZ<8&E5crgYqB_#JeU7 zjQ$X1fp{mfz%9+u0WfvcD=xnxGfnE1W~>XuJ2|5OaVaYZw_VkBq?7 zS9is78UP1nTL$8wd;kW-yWm34@wMmq+8dX?_B>y`1v0h-t%`f{O$1=-*2r;dKcuD#DWj!Q)-w`y_Z z7CNrweoo3=t-aU9!QT6zLPd_-aX;%MMLmSqiIcF7Qc02!o~Y)g8*Ko$foB;t0sN3st`O;mLS;FyIAZE8;OR=ajRF{x z?tAv7f%rED+h%YC_(7w_fY>YNXKbr%rxr)Cc!pW*0IL?$J{V+i9v0tk7MsAT#eB!4 z5$=z@s&ek*r;hqVE;A|0n9ozeOD({*!Hvr+hdcnTDIC({WL=NNPn*RS@NuPF*Bh>w z%&z7I2ES?sM}Wj5S#uFkA9`Hm8#CmsAjjdsp|e2)p@DcuTdYXe9pdJ zGFDchO-;BBY#G%Ajw@C69IeAlunjz+PcV%U2KO7Ai5764Qm&i9cyzY{;P(bqAl{v7 z<|j&h8#6EhBwx8w0&!O^2DFX|xL{IxTU8;^4B z1!CL9KQH5HUd~fy=^5TueUL(C^{CbGcB~2yx}+jU7t19T7*x~Vc9%6&iCZqHKveU6 zl~=Y(SC!LB=asE^Rpm_aB6Q0-mIl>ufL{-8cb%B&Y)MKG`_I z^SG&x0I^)wj@JJQfO5R;ufUZOytkQb#9ne0FN%#+VM|lYblxs{a#W8wQ?&xAN(?F=AHH1o%)9g`9S1zp zs21>uuawf0_K2z-8q|T9k<|fMwU`!JgH=m!H;W@c%*caBVAWz~6IPm3O9z?7Q6OgI zCIwivnC`tbMt4wa6J~WD5L5C`ZU9%kweD5rwh#CUrCfRE^=RQ<1ieD;mwG(VJns)& z-Q0`=G3?yzpK&uDdys`{cyl$qleyRr*fFXZYnIFJi7N2yEp;y-&##GLixA!^3J=pk zCQ?&1H*WgLxum} zv`aJs+{@<;cdPAhn~%0esc{U&u=Z(T z(sb^$;`}R5>3v-Llm0DPh7Vm_vUD`PTe5G~K4)B&Y!XNzW6S+l{w|)?m{+&K-T)Gy zj3=VI#ztKONWdZ$M=KPeuBE}rRuxF}A{B=&R3>hvp3{hT*NEK!JxcM3A&c0v6T{D5 z8ja(?lr6KFmb)79T`RCoVaf_q8wydfaV<)gpvXPnN3Lsb*G$5SGscw1bmr2K*BnnZ z$K(3C3{#)YR5MwuhE4B2>ycw)^M1HZFIZG|w{g^byFwOEnbTBdTA*zMxdO6{dxwNvB@$ow^*s<)h}Z3B-wWDgUmV3fy)8 zu{D8rDK%UiTkFxdPsvi7)(Z!jHgNreOUi50*jUL@n^s6SJG4me_0}V!Ks2RCmT=Ef zRDaN=9&wRb6`oTOJ74kVE8Kr8enF4o;iKba0Kd_r^RRS&$^BZ7 zj`JB*ez_~W>{g8-@!NHzIUPnF2|138PO5}8S*W{K;sTE=C*glU;kXV>=i)<(8Kb%I z%eWuZV3{;d^2=KCJ3=o2?=`Arc`Fzy7VF9T^(cciH)vw9S}{Mi<*o~eooy}~KmyFJ zPs65(Smu%?myam%jL5Jg{Pvf{oVZBx zh4{pvNIo<*NpYR72B|?2OBbB7Fx7Y{62nL?oOuDY^4bW^4LPcUolm%>=3{4BvTE?I?HfrVlvWla)_6*4R} z^I2+GF-3|+^Cc5?KOTg7xx$xgHbT8pAztgJ85rOGKPWF-@dh3xY|>NGt5%)~fOoOsGZIf_r^+Z}r|vk07h845QL$02nB%~qiVYxJdT%aMF~%J`cqhkz zV+-#%#vOZj$MqMtC}#E(HEFv4+)uXJ{{AU0wGchwie9pfj<+(;!bm;fj&D{9~{aD@h2+ePS%Ohi^plli5P1$ONA4Q z`^$0k44vROdV!KVj;mWuEAMrqUT|F8366{Vz;SfJFVu#F9I9NR6=I@nOBYO5_(fLH z{i*1yt$O=Y(4zwt7gSy%pq|HAJ@==ctJvbb|0@)7%@f7A!a}jcZ*7V0PmQh))MO?4 zVGxTevSLj5)nT&oa6yu%F_b4<_vcX_2A4=ti}09a9<>OG&r1`ZmnJ?hO?=*DiT}kC zpO@xoOl^iPQ)}o^9uNb$V9GkeK<9#)Sz3hRVz{5VZUDJ9ij?`TfZNpj9U%%JQTWYJ zMP(3_h5ZH{Ti>$b)&TBm4kpN{tIMkF2Y{q0KCkSuhMpF71i%j|<>hEx5afWY1zwJA z#G6Bvfb1$H6lxg?H<8V_c11FgMi^T3trQ)n!9%tm4pw7FS>;+ljLHB>1E~px;5nu{ z3jC;2?xi|#u$Qb|wc;zPaF^Li!gVeYqjzP43q&(JY@BY;zC)c17Yk}V8rYFfIf22X z?EAfi%CFKS#A-Us{x2AAgv60R36a@enfRC3B$?vG$2P~(2Oc&tbMt|rE)AyP);0~3 z@fAKY!zB9tLaK_}=+SZD%Y)HRC}eI+zRYZ|bmIa_uvc^~I0bIN;rn0>)eF*CV)aa}hBecy zM15Aq1r89)T+7@uthTzswHuG%5XJ#<3TgXZ-5LL0k5coQx<8w+eOe>kh&0lTNF&{d zG}wsjX=|)~G#oy!X>dofl8vcGx)DicEH_^MSbM7`z}8AWr(xSfs6w%A;-fF2_~e`D zg^EA;7K&&IRVYR_ACL(Z*LU&|W$-NS#zA^A4%3rypq`9F^<*5ZC*yEE`40!YEEn*y zZYJPm-AusCx|x8Nbu$4k>t+H@KOCOC!tzmt|KvF?GJG61d>lD^96Wp+KYW}5{6Adw zCAqRM$(4OcuIx*4WnYpj`;uJQ)92`umt7tq#}yYUF1Ao{orQ`^EL2=wq2j^{^^et5 z9#f|wcG3_#X^5RP#7-JwCk?R^huDArT(*Yn^@;uLp~b@DaK#J4G7Y@ksEIVA2{O9M zZl@>yOW{ufMUu1Zc6x#&FE(nNB%icrdK18~EHX+ zNB2$4WZ`$0!nhEQqY{s4+Kwad4Kzu|5k&O`EixxfCrAI1uj9bvK2&Vc19O>ha&cDu zZF+X8_3Ri4ZDxHo2He8(Sx|t(6>p5R!vGkIvzE7v;si4<9t{_KCc#@u86mef*<4>M z8PlVP@r>&f8#!bBDTj9<(B8+i8^B<20)q?8U;~H`xxS_EiOP0LHFzG96)O_4Os>J`#m?K7U%2_xx`?)bbInZ$h+*fZ zm2s0SSkBE%wX>Po8^=xvaNJ4ef8MEjm+8^XhyPIgZL>KF{Ekw?#WA%WjfX3`;6DZ3 zoZ~h1^d=_OK;wl#}+X7Z}mu7XnQ~k1e z-{;m9yT3BKBfz(9ST8k;Ch#LhjR3DRstM#M`2lBbWVV2ZDz2Mx>E78 zthj{e$uzo>d5IcZFBk<@jD{XNDRj@`E)6_Q@*t!b((%sGxewSOYfTc<8!XKEz#Wtt zF1ocIjb@MozTc=(AQM1t^MJcsUv+?c8`TExqttM*aAA+eh{<&pDP%;61A3fEA{6l8 zFbjb1G^!0eR4IA?e_@XXgGV;YjLc_Ebv|&-Fjs)DGO7)HwRNpHpur3j2f*D-briU_ zQ7s_zR6dOXGF&8e;3Ol*Phc4&>1gQ0BXp*lu=3@L^?DQm`{4{s@R+?6mb0QLZq?Cp zkByoJ@J#FHu~oI!p&Q1CfNIHfCjWU>r3R3w22T3#sQ;DCX#=O5T1Pi<`beNiBzOFS z8fDPSlRKNKmX{vSa{5W%A1zF|TPeqzMdl$}d!LO2Y-)8HVz}xm6Twoi4Ch-UPB=l4}}} zH9-<%HD@jgl?K8bsa#0Y=fg9KDTxgg=jl+wS|+Wb;sG7R#FriY)2AlpzG}5V3&Ryt zo_0O){W^B3bCR~+qD><4|Lm!iFRJ_4zpO`@OTasfngHHyR2z7YQswlb^+*r|{%UFI zN#05TKC4uzYpstV*q)~FrAAEvS2L;&TwSTs9IZWrAaH-9CVwR> zRjD!uTI&Tt;6|6>VFLIuquRi488rcX+^9D2xSrVpE;gzSJlCiR;Dt(+(bC#;8Rpu+ zTa20j-epu9xWnZrP5{p_sttU|s0rZXN|kZY`k4u~fqye<0=U*E>V^A}83=rzQ4_#V z7}W;eX4C}mPNUku*`LJx1n>f86c%)Hn;ORz90GAlm z2HtAa1n}!dwSf;9H39sgQElLUpR?$J6GpXxufE!(fa@F827b_}3E+o~Y6G7%Y6AF- zQsr2rHTN2G3fx1fQjpe3K@hmOPmtC{K@j+HquRi)8#MvEtIr&*&A(s)0^ev<8#u?P z3E-QJY6H(UY65tkQElLbMoj>}XjB{ckWmvw{KI3-@<_``xhD|+LqF{5wz6$l3%HX~ zL&b4*@Eql)yW5djb(*_YM8SIni@;VzY(K>ZR5)(aEu6xwFEtKRN&Mx*t1Ej(x|kl#};a(@jQ;9mNveD>zLs zTMN--OL2#7DO&6lcF?P?(_{y5N`>Rf{-p}X75nK5$CY?Dy~a9wT+rjge*cE}| zYW2KQPLr$7Lc5-{xWt^JloR8Ea8SxKwYrONpioUL{!j5A-+g6tn$Fbskp~Cr2ul%YkA{AH>@bF-rP|QPTJ)VD#izlGt z;u+|;cnUf$o`a5yC!yowS?IWU8aghXhmMOUqT}Mx@3?sQJ1!pUj*ADoE%yt+Czh7hzgkn;Yq)@YUWHR!F!VSk^ zfF5y=FZb9TXOF5=$ASNBYh(jROiqlTZn0Hpb`Kl^Z4l^On@Y2L;1GQB$Y@$6_{jpl zv=TU&Xyuvdm0cRS&q$$o51>yeWgi5j1eM8x!AWLDY5hGK)@jyR4d7WujRU`6 z)EMwKqZ+^v&ln?V2OF&oUWfSowc?vv zbgp}n$(7wytT4fQRYATlwo#A9Bi41vAG%9jWX9W2!9{_KXf_Tvvl0BFUU_{SG`<{m z`*9Abi)yCowwRVz}d+y*I@k}Xecs$8pb`_R8#UiZR0RCRl>+}*u$QD-$5PK1+*hwyG+X-Nb4^yQAKnfu*t6o{71ozl%86oCV?e24g0N<^5nqD<_?#3^+f1+;Plp*f# z+5KWVjl8X)A^TTL<5=Z2Nlbs$GHMXkgxvs-06EGP@}wS(HFWDeUC6E1?$Lam(MK0T z(+s6=#3^L1_A(IV|7UA(1ncsTqjVe*;lsUyAJ?I7N&$r8XR#SI7o7=`$)!jY8Eikwpe<2yZ$%S{CpUt+QXaRCH zrM}x+6l1^;*vPJWwjHE^p=upqSQy6WviE96uFJruge-v}%dvE%j4|#*ag%FrnJJUz zk70xZiBY=ma7`wJo7Ax=p3opy)1jRiu+HbbI_n>`+1~)J`^mbGD)SzY&gCHLsW*QN5S zv?M)5&Z1(x;G~m0w7ms(IqB6ArmPeSEc;5q4=!Ebfd-A z0RGjeOj(QK8+!V?Ce{E3%}js)Q00SA(jhL>w`;#G2>lHVDP;mXRpoDf=UzDitQe=c;^y`l~=?J_7xKu8*uBV(TgW z$mr#hd>CUn?5L4GX%Ua5;f-CVG2CvkjHQmpQpW@Cxk~S2>XHh{)fyP0>7>zg(r7wq zG@Ue>%s{g`cyOpjbc_|F0i^rnu3~97j>(g87kV=8L{G-u=*c((PsTZTvOi|qyG1nB zy+d;*G*xVanG!D+{3a9orw zJJ^^msKeEjI)E!lUuj8C=(Wi?0W(u2>?^yON?d7`s3dr0Hmqv(tnsu$y4b0IPFF7msN>=;8nERNC!vZpmZ#@z9*qJCMMlb5-J3Ls zpIcm`K;rXql<#T13dn1~z?W&vUXI3VY#AN}a^diDOiL2>WLi9*k|jgrvRNc<(pA%X@;AIhg`3us7)Gkst;ncPZ3>&kSnMYhSMzw1H^L zo9Jmxl1reBquN?(WJ5i=kr=Dy2fXBA+OJmaX~lv+7d=|oT+Zb(W7dg@VLOrQtvIr& zhWH@9ikkFp2(iTQk+Xn2!U_L9JFT~_xxQcqsUV}1%n$h=G@ia_pAMT#VNX-lMl ze0(obq{WL?A_e3{E0F^7qLoMidC^LwfV^eZ|IXFnpSPU;H@!5)Eo|IQ^(Ry9ZMq~dzU7`TU(hg!Vt(4ykKG%n8uL8EsYw-;2Cz~ z&;SM>9k9#G`sbK6v__!sq*CPwYXE zg2;wo0y<7W5778Y$~~KLQhKq3$3Zg}^ zslGtByS?Gu06u0^2l%v6ZLY=P>f7N$$g+~(){F0dQ!~L_19M|`F>ky@duT74DM=pw zZ;8w0f&YD74d1E9p>qAOR#jjXr_X|nLC4X%IHH+xg5l0lX)ImxaN$jiWz5Sw?tMj{lD+lMm8 z*o|wWe4K6WJHW+8B_El)Yy16rK_?RbP7LObRowwE%EY?ztT;1)gAcOK7a*6{vl`t> zy}CawPbGi^JYZTr7iqfjnyO|taYcdHcERbp6$Yp2iY zmZ42W_*#ijz&*4gbF)@ zme2b=Ng=74CwW_(J55hgCTikIszPR-j1%)@oSG*y*+dkB^45?Xu#()8ZYH@U-Ar;z zx|!sbbTi2<>1L8!(#<5dq?<`D{qvM$_BS1%FR46622)&lQ|wc^q+f5>wAnrIUzMBW zEla$~`=pUS86T;;v5!XXL@M<*j^h<<5oiE+F=`yRyHPDxjpL0P19pu{)_a$PTS1Q1 z;1*fl4d92Bl6S$ny?Bk1e?Mmp`sO~HX30vZwMyPCx=#mP_?F8SJustBdWx~f_X&jp za+K%7z}0m7>Hl^djs0zNJIeSxSG&#Kdt9%W2`T0noab9fMp=2NwMfOI)fuB8-?oAz ze}`TRB8RjD@&_ulETIHrX$i*CJZAUOaB?3F;GK%GV99OCY@#Qv~LF!VK&TJpuXvbI(YXh+_7Zs{hJu+h-utCvy zRv|N2=5IshMz3C2pRr!DmkK&q&IZ1sR(lPr zdJ^MMK>`TpVoaqno2{HswwkPxTZGT{_Ei|x=_Jxxfjq*wNQ2ZqYI2q0v{22iJX_0^ zGd7(m=TO1CtbP$M?sIO2k>#%q$mR#gclX4{l)vg7yK(K~m(@Lep&n%feoUQ-0`JwYHWD;Ps*EgutwE{` z+~M-NmzFB?2{d1~7YayzgKwz*pn1H)>@~Jf7+egj@*}E^6{#{XXg3LP*h<<2u547c z%1=i2U6oS@nJW9*RDKc7yEQj=v%-tI|2x0j$^N+drAj`7*j6v3E*3WPlYQZlQBg^2 zAdK^skwd!tsSBZi`+TzQEy>8?+pYXj3y}iyM=eAO$oF2$@kNV2Y9YEn{-}lM0{MPy zsY{DLY9YEn{-}lM0{I?osY{DLY9YEn{-}lM0(p#I>e4~{Sp?AqvJ(+q-bq-~_C6Ez zBHz6iMIeuRM3H{w`|=_MWNRT(1G_Og@#f3xo?#Tr&W2tMUD%`xKWV+%q-Smq6!31P z>hYsOSA!ey-}?=soaLGbn;vEv6?A2fWclTwwKvv4fS<-_1o{f zy;}WFI6I8$x2`p7JCqh_GMGMkdEHYoM1c<(HQ?|55CMNUMRb8|?PYiq6My1Eq=3Bq zHDD5aOau6|1=0Y1+o;TdxlT_8p=2x+#bLUG3Nd7aisYyM(YohadX#K{YhGBMa-SC| zTu+bXYC~(^APDUA3DSDE3ATav7}WvZ-=|CKF%xV9r(a|N`Wz3wRAoGkBa_^i znm8qxBHM60RZpHbSjb&`ex|2?qepl7h=Uk>NkRJ=)%M?Gq=89!+3RL`3v8pruAK-` z2ZU*?$P>ait^p4XQ_W7Qne5P|7`02aUq7u!mpC2#e1!{98cKAh6KaR?ZMn{tYbTGeoZn??{~A5Y z5Cf94)GPh&w9~y%2dku=whq&k15uhH4|#4o?4?g z_O!RX_Sj;*t=8FMgYr3@N~WHQg1VW{Vtj2i6iS(!Gh!^&?VvkLZO9}526F=@QfhAg zhH7SeGuHqHbMw=@${liQaDw>uRD*8K0v{Bd0E3eO*Qu)O#*KB~JWr33J8n_vqVvKla4iz3Zsgj_J}+>G>SZEJ2ufVe3I^EE4q zQ*;b$X_=2vjB5i$+UuB`F+AgD;5(w28#iU)(Aml?&W{{5bKSPf5EQvTe&+S*8C za(^l$wwFp}J}_}g*Ql{?=ut`n#QuPN<@J%K8zre~c3DO2cfsi_O(r-UFiK>SUtjm> z9;`=MhJhR2P@a-W1>9UIH=Wx(T0aPa-d6le{um~1-eYcBz_mjjbge9xo ztzBx`Qa_%Yrwu}s+kGI>dbx{Kj=0_62VbG*ZDwfQ)0QI7_>PA`rrwphP+o63ZI zGncs|G^-QzD5Z)gQ}hNncx9PzldhqC)ulmD|xNB zNwfTxWjh}jQX40=FdycpA&=wuyBglhsvjaBU8El&mm6aI(eEx(aEKw}aFP|uC71uX z?IU%6;?H`Ng&27Kx#cNYh=G@!S5ia82?hAu%9V>Vt&Pq%W#EWXP8ocNa-}k@<1Pqp zz^5uF(Eu;2h=FenV!*E&)dqgUs4?IVjA{e7USc@_A5hBW0DjEG+Q3)Y6RJrcD^mQY ztoSY9SGB4#8-SG7)vDE_HO~s&1X9LQkXDFk;P@}(hnQ;C`y)UKDy!$UT^f&D-9~^E z#>>%o*s3%FBqA^8d{6d6Tzgwwqri14gJ`rzi(w~A0FannVMcqjHnGS?fdpL&(t08Y z0!g71jN@NECVZPrD65;`XJ}STG{=D#+fbMQo~zVwv8dal!Gx5Lc}SRPCKSVf`6Se- z+I7qwp{NO6>EejTzKF#Yabj_<%Q-?XFxcgJ`%ozSg5b9c5JnQc|xR7uAzg_yjGlw@8DUi$x&i_sY2r zSVhO(YI^hrX}rP)WjpRDZ!p(YYv}T{wmsvPoM|wmCBnE%XI6=_Yoi?m0=Z6Qyf5yezI^+lctL{UQ5-jV|_@k0CNS2j@1m>?MesrxzV-xE? z5vQ?-lEDVdz9ud7Ndj0I1IxNJ7z-i?tj!ua zz}t*+u1>M1uIOgEe5*q1FI0 zlEmA2xnR$;U@LK*my7GXTwM8o)tMMiiI#cU)3eG~;#!)EYiTa7rMbA4=HgnKsTZp- z(a~n2t`@2XdVWk?oUm@$4Y*?uWOO;S8RCQf> zgaYnt)O=vaN?@Dc#ergaywMUH1HM_Qnf{}Q1#;5?Gf&T~TrAR8Teo@jR_i;72|aU2 zFb6zYsa5)vj&-jWFV<84rpMIo`FiG~dX$u}S9nvPCa=32qVLixI@f*~QhVsY3k7bR zq10tzcz#*o?STUBV;2DVsOTnbe9t)cRW;G31Ie3S-7tSkDVEq_03hCJQMJGfud{yEmo3X!+g_=IFFymNq_u1*s3mWR0W-58iHdG_NU@G%xT@$HX=!sA+ zDz`GNsVfsJl$3_+US+wC^AXKjtm!(nCF z>}%_4t=<^!&w!zP5qc!sc69lfQR4GVnK@bF<+$Tuuh9C(1dY>Sz!%j5U zz~hxFUDNt(5Cq=TCrImkr-@zgSo}jj^!6>*+b!UmtheXWud7)v%%=yp3>0ujqZ+`IjG9l6ekD-!-2&^9 z`Sj9tfucViK8alCKd$h@)q8Qu-k{~uPk7HzhlTjVu?Me+73m5fh z+!y4i(D$rp9V+x2D_UoPj=M1aI+-lhY6vW|t-45u!xwB=WQ2<13bhp?Z9J;fiWX^B zGsN|zj;UvDY&C$P#8$hSnH>WLPpz~}V`-Vj(lU*OaB^s7Gz?@XnvQ~Tx_8(@90!IF zN74|-(-6ng5Xa-d_`59bc#8%|!Q24E(P|pbP_a$#48>;~H@gSE$hd8L;7=I0b?+X< z48hzk&~0MMpBS2!qx|x+6Pw}hE_zT0L@Kn8NL8TTAE}(J?dv0+_BWN6 z1b}x(qH&=~Ag(riC}@eQC4WM%SHISy8ynz1DmPply;08^b~S4cD_lp9{FxiBCO^|Y zayIwVh4vkKL^h6%&k2a@Wop~m0OL=-s67=|neTHCJGb(d2wu1@J1>)&B#UZBTqtvQ zP4;oSd8$|P0dK6Fbope?57*K;=irYhC#v~Ml38WPLAQ{MT*k@a7BiPzv*{QNvLBU+ z4`eH&TPp4S;HH_nNtOe$xN%|K!=LK0RvZXiPOoh4t_X~4xqm*dyQgLmJRgYJ-0|&N z{`Z7#0Cugnx^*y-iK}H@YPtEzWw`EZeqh4zf^q7e%ta%Ag4^wjwo7r*T<4O$|rw#Q8ovO%9+pE-5$Ywlt zp1HMS0EPk`uYTNw08=!n?+uyWncX7}oO{8zn4Zk!Zre+D?)~bX0?Ql(o@S$V3`k%y zkO_f0$gMYU8=HU)Ac2Y$VSdV_4*XoyYa*4#J+9$gWnoP^A&TN#n%W#4Ao3#Bg^7(3 z^4LuWzesfyz9&%UDC`9ac&}1!CW9XdVsRpR-O`vyN-`!8swfn7VPIwIQnP>O$Q-HZ zSB12JdujSIrZ=)Nlu4Xyy&Mhll>z}tcR=dD(klE}kKSCIlP4{91%ryzOpDZv4GvsG zf|GryuB zbhQ*5H*oTlo|1PV^|O$z)?egamgK~WE^x z?F2Xk-ob4c>YcO{na7=4kvB(PWX-|}BV1ncNS#c?PBI&gqPR<~uRJ*2qBu^6G?OE1 zX_*RrQ;%7ppQ)QQ2H)zsi^god&Hk|6ZqMIhaorb$9dqW{Z(g&RY7V&U?xNoIF|Q5a zDMqzYb1m&DJJgC7G{4GY9XqSQ4RpkKTqm;`$Wx$lXBI1$?Tz&=e%o+24}7;#W5DB# zYUjm**Z-ryw!>Wfa~d`6~{}vG=i4{Vh2O=aL50+BqLAU{JvfJ z59_h~hbL&!Nws1gL3~jKg#u2~xZFkp9KxCxhvnKoQ7hC+x(66EGiAF@^?qnkBoiRG z`#+GI-XTcA{|`Cm3iGfn@SWc%WTDT@mojX0`FuhaCLqsy%7rPlm@FQl7e1-(ueFF8 zz(5L_IPfW>+Q1_ZHJ`u}lq$2LRUC$38~CJAtpY!h|;)ENvSCC;i?>szXdtqI!9FO(U`5I6cBioQRBdWH>wTX`^eIo1Ogm2stvr< zsBz$fO8I`I@e?J>V$s^^z2*bhQOax6I48&f|5lZwG5aX92VAhAQWP5hrljNsyws>R z@G7ImfnPSN4ZPE+ao`V(Y6G7(Y8?1`quRjDj<)!LM=9m&L1UrGwSl)AH4gk{Rh7nb zN|qf#YsN7+ZUfgeY8<$=Ql&1fW)K900A2FTDV1!>W_A_%PZbF1gOsPap;tNggFt9(i_)t|!;u6t2>R_=Z1POf0? zvj)8qeax;%^MUsm)dF(;8ZNpU^=NPuYd{8xmt$;j6geQn!OPKLG>BY!k(nP~PrND@ zk4F?%n0zmB}W>T$q> z%t!U~6DHOGKChJg(Whz2lqlpUzD!FTcjyvKCb?&j%${R(({s5Voh+E$jy!o|)^b5` zV)05YVlJTS&#*PH`MruC@Gq2;(19-)H4itd>s3Icc2vk!BbT6gF21g|zH2rcz>r}R zH`tc00?rAZfq2ez=uqMQSLnWRWj%`E8`KPDg*s#kiA>Mg3fX}+R!7^I!^{J)9rWZr zgN25QIWI0$6r(Eip2;j7I29oh$Q`-oU~QI*1#2P$S15XsHBzW}11?m&*A|M!k2xe1 zmrGVXq2hh3P%M0`c|x)Lu=WVWTEj9U6e|taMxmHe%vz!1jgwFeIIfjK#RX$Z$9#XA zl7=f^{x*&}b0g%pel#e)yQH^!as9n$+ykDB`@oZNFL*NU2T#U5;mNo!JQ??fC+QD1 z)Sje4CzUD1{Zz7a)n{|tVfwEWjl0nMiaXJh{oPX()Aadc%valSC%OfY4*mK&>R!}6 zcmuCt8<-}LDdoiI>rM5(*m2;!m6O#9xTP+nPK>_4($<0I*AzahM<)he+pd;P;3B1* z7&y%2W;~80j(ETb#cP2Sn& zz3Pf7c(l#bEqWhNd`X3SO7Tl=s-_=9PpiZiLt?z75)b%l<)qWn#bkDmVa@{L>P^^3 zScsCIVp0)vz~w7ZgULk1fMFe)ZGFH(>jfuEEKbQOp|MEp^y=xw+>v+ zoxQk7GfKjLS`^N)3Q(ruV)++(aiKgJSIU!=>NG8nCuz{t^1&03B6vAQB31AtWngjj zWLyVN#)a@?TnSHxbo-F|aEW>6(ZxFHD8`K9w;wuqPEo}5fR9T8A6EsQD*RBZ1<&~3 zOh*zt1^SszRrt6@@Nt>osnn-+$iP#qU3K`t@2l;1MtooOLgPj2D9he&PD(~q$;LG- z*|>rw8`rO7V?Ks>UijYI(j}+N6%;K==n??J)fzg z=QDNme5Q_`&(zWLnL2ttQ%BEd>gf4Ux;`|OI_^K9j-Jod(es%)dOlM}&u8lB`Ai)> zpQ)qgGj;TQrjDM^)Y0>qI(ojZdZF>6b(DvF@uftlxO(n+r(Phqk_r{qOsKeALdBI5 zDlU>xaeah}OCwZV6`|sS2o=)rLoZqje>WLd!;^76JQ-KSlW|Qv8CS)Vaa}waSH_cZ zZ9ExQ$CGh=JQ-KWlYN!xZ%CbL$%g}v>pr9w_O8I4jXDs>E?ivQd=ibNL5|WLqJv7d zV{Bc+__7_^wLuEVQJ(6a)}!%Nl@s#R9*ui~GTks;_cY=a$d1?tOk>j^N55=qx8DcS z0iV(xj98=6@6b((Y_H%?J}+R!_>VP0X}9_8_4cZo**-R zUu(BqBS3E2#Z=2IwU%TMhVafCi$TP{-ZOc9E1VxuV(v*bpAIj}*n;LnkpymT1hL z5Zp`8)s<5OpE_wJ{V4twdh}$hJtV{%RO_G7MrZHfIeq$7 z6uaqZ#N^eWTqK+hPa4}iL!4nR7GyM$KStfiJy+)8nyXa#lRiwe&pddnUipB7r{@3k z2ON_*PF|gH@3rY;`rvpxePlVFKC(={7(LjrA4>7lQcuRtJsG?AWE_AeDKSU+OmUj~ zTycN>)I2=DZC-f#k#Za^5DIB! zgeb#RT8<(4Ys>M^uzp(XJ~2j~E-q&u*5BGu%%$ce2fjh29PvFD$YTuI04z1#LM70+JY}q}sE14Ud*rzmQjj0Z$DA~9gB^!rTvT;pHHm-q- zf@PRbH)Z~@8s24{lbw>OW+&CmPRUr)&%Ri9z?4MyUftVDW)GdD&)GwM(+g^c*{r#u z__*eXSmt`^`sv9->fSgXtIB}lQ?yg;_9z)+!^ISY$}Nrj!_n%37po-_VDLJQL3aJp zUFqvhNq2?9;N@!dCW!#AQ%e5AeYZ#B@gPT{XN81uy^-B$BsCD%KEscwp^MF614wb@ zqd*L4wU;-bNRt}xeQK+=>uH{fk1H46MMqeg%a88uqZlz!xaY2hLenc)`@(&8euJ{CZ9M<_p9PzdR(PARlim{ zbE8*xzg5Uz3ypobPL5x_mBoG^T~V5P%y&~TwnRPtU5_iuzk9M|Xy&YqXTGpj4|1Bm zEBune#bT# zwRVr@G!15jqI+B6{*1kxi^oW4&s6DkEQJP;ddmV2Bmud2-+WS>f+yo7Cb>GSt1dAv za}|gm_ht`n7_^Q{y(FuT8?m+G9qQxokRI@KqdJc&3~tkvTpm#ui&T#Ol!#;1?C#QC zfk^GMYQxVx8aVEor3_Y2h8_bAnMpE{j|#tiJ#b;9?fvf+W6W48=eokpsbCf z2iWjDn&Ft*ko6%>W6+WzW)9R$>09Xq;PHA&o?!r~mq>k2&r+&P_tlC`biwB0lI;*T z-VkK@m(>x7ZYBw*Iagi0MUN5(FlaVI!Aj&b$5rFtpa~3`$pyA3j#T+`gI;WYx_l@@ zO1N>$BpCZc#a77*vz%!nm95&0q1b^8*4H03Ck~}3vXbjfS#r;;q}(UtpN^{Z8F^;< z%*QwMMy(xPRq3^so{}9EFqq3OR#&M8U;Xg)dQR_m*=uHt=!QX2pwD*-B@rMdC6UY>vnLkmJBO*c_NPMRn=Xd86KJ?q6|CrLtj6|EI%n zId`-SM}%?!i7k6EKT+i`3VP05^=HK-%gl|&P?7yIQ`L^csaUqGv8~+4Qq!mAF%`>r zbfNKezLo5TyaD8cnaq~}Zbgf}S&1 z{aMjc3YM~~Pf)7=TirLV(xc=7{I*eJ!0#!g-%!xjUrewKJn$o>S(%~0!;NYKuQw`L zxrvbYwlg0s;9W*FiEBeM*nFMB;3HFsmCi21Twjm5k>ajqH>#_z>CwNz`jj?M&WuH} z7*_jh=~4O|_^48Hw{m6oX>D{gcu&UF@+6kiWBZ)CClA)6_yV48ROb?fR~Xd*(qS?R zW7pY%S%yI9_>yYiZdL1*aSV0?wIu1NNghuQYq(p7uz}<)<+-+t>!m?%b@j8gxo+&C zFl5|F>*<)4)y#%wt_{S!d^R&P^_qM{TH4=B`#E&}!i{=VFeD-*Ch0HvW851hn_Gh3 zEix-lBrqDfWdf6TS~3%9w{+e&%eY*I3<_fx}=MH z=Bg)2Dn72Lowl+boqPJ0NiTyB_<9wSKPg!2(f4>CIAwpXwZVy0k{}tn&Tl++b652c z|B!}4v@$b+A)xsSRSG{M1;m}a;`b?)qGTc!9F@pjLO-W@1p8y;5j2y`xvI)DsHXMTlP}DKj)PrzI6%d!n9W20K9ZDl%4Z8+?qXJ|?-^mW6xbhPnqY z|5ACB?gidrR1^3OrOGWLt)B%!;In;#wAQ{6Cr#jMl`1XL+9L@1=qC9^0;^jPE#Oy; z8UqrtbJyz8dO8RK3Aq%c^=gZ23`oeOAgz!0$&^4KGN8(m27~Pg;jj>VT@N^=NWk z!PrYRb3C3p9yo7X zYUp4y*Z|&P)O>ubZ$9RyKC+jL_p6cX%~%6ttD3Rok}-|i>ya*4s8-y?eUakR&GI}T zRg!UXbC<>w6g|W{VzvF__yI zx^;YOO<-;%k?)DkJ*=f5VP}v z>lxJoj+pcLz$1)m0Yiw%ymEVW{VBhBQr>OZJ(rvV`y&zGp-H%b4gQfOHVPa%qwcNC zdknzkj2fM*@NhjkW8fQ1Yy$Xgqeg$E@MBiE3E(G`l8?X_^=Ld4}z(Q|Gs0EZEg+_CunlE=%8jLABQvdWrwLpLt0C&_#lOH(9i9IB-J z``liSzY_<4ioMu~!d_Ue8UI%SUX8i~%pTp>%4kM}wT@W-88DDDou% zq2lm`ih~!b8neTc-(gk`CR%mUh3V90onSaSF)-s;R=7vC>Oa<_6JzlpFvmI1)t_oa zjwh;BDzldmm=?|sn9|5f-c#2MZYKsNJP`v{BW2JNv4{aD3*Nu`rr8kqx(O*C?3^YC9v(GfxsBmFRNxBLfPqj4&M zU)f!(27}wiuDXT>gULR#nqr)u>xqZe6)q)AAl}_=N1U@$C7qpY!EXQwXwV%C1>U+c zNvCUmxRpq%!8<%XCVYFc;rW6(kP0sA(pbmV)CRCJjF;tx@v=#WG1c*2XuQafUDl<3 z3{zKAaAn9Y>&98<$}m|GNKO_dt__9l0>**NQ>ivoc3=GgV|;8uloiItUT=kKCGu|#r{C{io?Z8^LoeWFuF#Maz_Nb zU8$EBi}VfHSvB_#Y+YV~<=i*&GDo}DWZ5(RHkbzf#i-VZmST|&-FY`Dd@xY-E=LIy z_&1f3e+Z&JV}bm`HydTH8vAomWZx+J%XvL^j-Syn^D_C@*k{()pIP5P@;pxdNk&e5 z&IZ*e@JmX0Lky>Fbf!yqK!%dcpqsm^>4Ne)TUh4ByGH3drpo7nROst~wpC|`n9~Lj zr{zBkf4uwGfP!9$Y6aVT`q0gVSjvsU`?Ry@PZ_Ll)SAe_MOkaThpEIZ>4^|!jkJ&uok1BHuVE?H)WB#|Gfv1ckttglumOm6T>1rl9Z z$z#>b;_ho_x^$Jy86cs^9w{}K^hZ9Bu~aj;p^1lf+`e|Rx~JCIygbT`1nyx}2Y7-~ z<@BTVc@t~{A2O-~ob`J106fm94)8gn+Q6B!QS1QMGpY@oZBz&NZ$`C&%ake;pmjwM z1b)S+4)E)Jy1r@ye^J(_wY;*P17BgK83$6xa$%tLax29+kSdjev2`j^pj zVH5G47V!vhSBrQINQ^F!kshs!f*_FIF9m7UEwwS=hDuF$pTo>rgC;qa`m{(>?%;vd zj7Kt8uxifa`fJN|6v#-I2arIrb0LgcuBX}nX#yEer64T=6pO%Wtm&r~E%n?6CDRgXBHZ(dr! zs&f7km@1Ftlwa&>65>e>j$-hB3vfPgjb>Q}_Yes@OF6kuT->FxQ>zq|_rQQZP|E3o zpA2F^YU{+nXIh=-1FurbiGd#rVn8bD#NwZ!;+LA?-!0Q*8yhRpK1fyWHPr?%SZh*_ zowY`?n+85=R1^41qZ+^!tw2rSD~)OZDW^;*;BSHykZOt)kZMX?z-O$8O>*TpJyWnm z$X&AKpZe6YP+>Q3T0P2v`;v`4mn=>>$__v`1u*zvaLQN%;?{LLPIt13{3}C}U>S2S zGXAJ$Zv3Sgxy;Cl(Ij01BrEAal43Od-!iZ$4|!*oczYVCJxR*+o-C*2_Xe919U!ws zc9Osu*0mjG$%ZzJJDVyzB~XM(FN#MXD~Ff|hGeF&JiJ3AK1+}8QV1qqxkPWNAvg5s z#K6p9xm6(ccU$aZ#C}nrfIX##i&MKj8YCvx(u6YC^0HIjuW^0865maViO_(rWX z-CB>vxRSDRP*tiX=76Lo7r3*!G)OL&6sZ)&o;nCVXv28y7>)M=i@QO*J6bpm+}v%H zb>5GSN}fYa3!XD5o@Uj`j#Ne~_;3rl0Sp7U1Ke2iaMr-vgxrAijTG^`E{)$;bipfx z^nlc-G9S2tcysg}Me`($TZ28|e;d`I8=2x>HB-9`#iYI=lnHpVQsqIU9TuALg!zILtfw`7QX@DDQ{!R=`A|eLlQsczH3|SE) zPX?kB1Cy|b0U4Z5EUx-c@q{M$3q8t>Oe|CsztTZ9q+KJ{Q=yWn&#HTHoF2s<@Dih% zz-3C6H%7FsU%#}Gx%`(-s=raXT1~k$uT}gV^Emc5g)6IV_e}=yE6v{+a1*8cwUEa4 zLGBQR#{~+wu&PSqj38GHz8_C5l}?(#%_A)6WK0YdnEkX0 z$pe`i-=`0_`qOd~ES9bn`^7?`ecmQ@-?&zfGKPRZFscJQ`*o#sIfiKUl$E_1aOX{{ zg5E>sSL(cl^ADTNCJ=Y!T?Z{Z4IIF)R!bY1#RhOMqdL8sn(7G=kX|13-516H98dFiwUDugd0~j=uLJSo*sr;lu zMe%19E3Bw(AoZ5Z_|4s1XfgLhqwcAhBjr&BD)3cGm7|i@+#m>C+$Tuu%peH7s85jA z6+sYqL!Th6ZwEo(rn=^rF~-RiwT)HfBvVbwJ}gh>5ZhP9+zJd1s@cA#2#8Ao->FuP zF{jC(EQ(w8_M=dK9m~ zBaLbT7b{ivAFa;>LEv3|g0vnBg21Qx1ZlN)E2EO-47kv!Ht;s1n!r1aY6Blus*IV| z(?Jlp{qCjHQjpdO%1S7}i~9s=-Mo**41CGHRg1K~qpVm2zVxkCL0U&ED}uml`UGiR z7X*RR-d43p>s`ux>8jcT=h?53SK42>eK&AgzmoAn^Nrg2jve{C&?d zr_b+I9%XO6(%vO}haTmE1zc>@$QcSBHL3&rvr!}KY6qTT9XWo3Lb^^olK7bAGeU}2 z1S-vCb#?SsbC^8KD2j9RKDaCq$&&D=}MieN1<|>XXq03aXm`j z5A33u{A!Q7SJ_I3X7$`uY)PK6iA?H4VrnW;TsDO$2H3K`A)JaWI~Qk^vsKAx4-F@i zk+X!SVHI11Qn$uio*3Qs%f0-Vo!+uC-vg9w&^}Tv7PF>oG zEy*)Bkx5;O=AItPfB$SOTycJ%iSspjaXCzn)f~87a5bo&i}RZ_N*fSyx?<7JWumlm znJDdCCQ3V(k20=fz8{F^GOb#sYn*vfYN(hSm0&gi14iX;s)D$T%0rZTk2%eZ%HQk4 zvg)pNpP*FnZF4s8FnNAb6dCFFZN2_frLzxG)=|ehhXD2%96&~Tk^o}qYyfXl$47?% zb{ZT&MtYI}V(DxEr>f)2LIB$i4j>~vNdU2QHURnib?Ul!vyFn+5dw?xk9BdA5n|_j z&qu#vTQb&T6Pe*Zq*h|>syEC`(;Z6n9D6A?P}OtsPO5q?3f`WMX5z4wAQOk3%fw;l zGI7|ssm4*MCROnmY*wx6_ zm35$X!hlXiq0+;b*=Q5t`T+UPMM`jx4xdj+7 z`Q#r1&?a5Gaqmy0p$$+F6LvU3?vb}r{B&PYP`f8D?%Ibi8J0(_t{9PR%c+p zS9gimhuxx`i&J;)*p{Ron;6iUv1Tp`%2PcTN8vg%W6L^>a4NR!+*E8;GP+5NlF7(f z!qfXy%ylN1dJgE!<5UH4>A8!Q`iwcvY!r)Pj&|Z$=**SqOrG65qfd0CjCL+g-L+#| zl4oople+7GShMO06Rh3Ub8!>{Y*~k8Y}vV~*s5goYkTsQotb$0cNKG;38tO{I`e8( zL0mfXyGlK7PP3hPo_6BZp)*&ZGr33GTTMtA?OdF?Ysa=E_1MIK&Wtsyo-jdqs^{V; zTxVu%S%+n8*}19Ms$}#wt82D1@$^a+bDasMo&!2_1yw;@I&({bl{&$kCY@O;h=@WtmvK@> zMk@CY634bO{pL(xuJPQeN9Phu7z47rR#mlXg(9yq9GKZLnaRqoNFjEkog2F;{mwSrF)cv6zj zGL_0@8A}bwazr1W9HB?&5=GLZa(s9KvqWLgOtN%?@g4e9?SJAyLu^a(jGrK6 zQg_QwtSQUYKlQj{fGu0D;&8-|opaTw{^V>;EhA?IPkch_Iup!;o6JSpsV>zIbrF{# z`xT|`w$FRBof&_`Eb0Bz&(LC9k~%k7?6{n2LwgKy>CEGmI(_oa+(zF7*jJCvDVXQo1D1n1k*YX7M5&|nD3l8? z{<&RGKcYwH6dYbj$X>kfja0?M?{PNSBZgUelBXM)oQ5S##CBA17a2IHW+LOE3eRUU zqt@9+?2(Fna8S+m@x7{oxMcnZtW5T#jAwV(m{1bFiwv<-RLo@#4yxJ6j#3rGC9;ny z^$ByD41`({ztiJf#zUpZNae16v8@5C-Ypu>{d#mR!Q5VFy3R#)m#X|Ar1YG^pqXS@ z6x`JFtRZ9G)gQ5AD>wJxpqj1!VXA_-)c+i%E}rb>o@YlaJOd&_Y*k%JT+P5iH5=J- zs)D#gwwY4fPrfe6Un|_Y?#f<#M315iJaeb=RQbx*?iWt?g8S&PWIdJqN{zO1Mq9m{ z(e$gpd|irTi1sOs+I^wCy-gYJJM`$dV-=rK;Xb4I)(Ur<;)g5TFBJc+!fmoc>ElOw zbUrrFGEpwa#d$d{sZxcwUh}x$dZF=Sg`_ASwj8LDkfBhgC`E!oU9S}R3H3XrNJXfM za}R696K|+{wD}v$<4|$zOixsP4HZ}F+5etY>Ipr&{C0zF)r#BFtSi1etQEgdp{+EB z{PGn`4Op1|pvG3H7z5)VGe2D@!>Y219%Z6zt}tk}tGwo2Dak;B}DwWGJmKrdCUZt+Kt+)ge#()C7PE~f%qhvXzFlZ)Ox>0bEihV+l zt~bH=nYE4+?f?0_p1j3`68p8{em%Lt_I0nFA1kR;u8OhLfGYk#UH(yz&Lx;I22}AG zRe3>=QpI&N@SvGw=@PqB#lBz36Fft&Z3CR%qbiTrvw0Qen_c;xCGaRA^nj+-JqMxB+LQe+0WF`+4Si0UUWrQx*lR+riIu8|Fs}LDvI%Zmdg(+36@IUA282OTo zl{WBOMm2$VD^+$bt<86?ds`9{aBHPXL0U%#LEy1{g0#LK1j{h1zfabaUo@elsP3iX z9rg6P^(fD2I(#tzKbWYVtGd#(a<&fQ6T^%xJD1q<1d&Zx0uA81lyW;-44)Ci^7aay zjdeZBYy=AMI?^@3aiu1kpsB?c77s9s&(f}3=(lwS1rZR^)PdR&jPD+8YN+VYfqIR<#LQm&YzJzAFp zLExo*g0$`pg24Ow1U0DWu&v7MXzC5%kw%T(pzuEf71`-)zEZ{3H}M8=GoxC-;HN{@ zA2z85aH&xpqPZtfeeP-0p3uVo!aAS<95&r~RPaiplKVs~E~g@^22tQ~Mm5ReqCgSy z-GRa;M>j<2jY>(-oFrMN`6e|SG@EF?h|fb4&8c+vP?5=!RN~{DP3xXIRFAT%0RPLV zCh&fx%2kEd)ti+zGFPjj7*`d9W)#o;NY;SN0`dcu{FV95cJ^`V?L+4EVBiv^a)0j0 zWx2kd-%^j$iwkBRe8EhbJ1f1M(DDW53zDY|zEZ{c8sC@n__E^EV)@6{n)$+7Gxyq9 ze)p)$-v$ZntBwxVV`8Cnl>WYNcHNV^Zc!ekw}9tv3DpFCOsTTBXdSt=33^+T{=(s( z)UiAm0RG%!=xn2o4zU}&}NOrD_BRyJsS{5U~kp38uGL*Wst_r%qP^U2<^(u8~eK+U=pD=0+ zNMTD|T5qrdjsO=LH3p;yN?lrC3W7lTr4*#~GZP#Eu4BD42BZT^U0PcOK_ER`3esu@ zK_KJ06nwG%-a(_BXVEr*WGov1;JHBxND)Meak-oY)c}&13~V4Nh$8TCQye&oYnsqz zI_nsmZkGgpo6X2E;2}!MpJ7?lqw$^~_d$i{=+T)2UmV1Mw=3n%(YQOv<*Ghe#37RT zIaT+U>WJ_w=4Bj60P^%07-AU*uC22}{(a|e=BiT^EM&hk4-Fu?nR{z_pArX>)m_biIs>d0{LjO-Mr{;=+1?4wp zumNOM$vik5HXrD_ffd^yGASY%l1K(iVJoxG7%Kj%0TNZtVa=qL4--1}7lbgC@#mD* zR~um^m`LY%(%Z5ltnH;^IiMt6ne`G@Ger zws0Z1`*yCEja|y4Y-9_CXBagGJX0xmX>a#veLe^Ruk910b(0CUf%o+ZhPbNeH&Kj! z0IJ^UX0k&#%K}xkQsU`)a#IsZ3REjNd9n)SM|>)kd)OaK4OqjrP*=NFT!Ig?ShJ&Q z2R*%yiM0<=_})Opr5GwOOO~0)QlZ@E)j6s3BIA~-Ne04yXsG4Tila^244h{|ioliU z*1fzW1bl^3rFB{-1VP}LeS)->1wr6v`UGkHEC>SEeN(+~KZ6o`P!o97oKh|`+1@flli;A5Jk+Zd2rZ}f-92vKAKG-m_5Zv@MbDW$B*Z!@=0XAo)l5hToiO!~ssUn~ z&izOF`OLX>Z;EadT_Al}b`&kTQ3Qc6)}zkB#&hfLP|TTIcL(_{h5XA8bL$Qk@0eS6 z2YG7Vd2nvsq2iIbb$4)-KSsZ{n_KtHo_ds3dcMN<1j>t4ehrx?Mt5e1m~ma8ONF=Au|$C(|qS=q^_SewHn+`!nCuqlg06dtZ4<`V_dS zQf24U;-AnGL2oPjD|IxAqweXYBWHEAN9$r`o9s#WN zzWuF z3Dn@>7dZrwiS*woy-nb_Z+11(__3rt$pQZ&l}&!;v=ub6n@Bd44a@A8=T*C9yxTFr z6};Q2Q~bE?6?mUhgmHc@jR8_=8$A7+oyP1X3uxIhd6Djy6|Jd; z;?9oTmB!U4<=YuQCz)G*#21w}`zhwk>W6{~_@q>wX4Awz>WL)fZEC<%4-6lyn_)G2t73=?0rGKSl;VrIqZfmxQ*ne0vQ=29&4hKGI z3zs;=+HRC_Hf{ILMppVV>y$2szU5@Gw+rsjkHOkKPGyK2x|JEFil zy=gD~`Abl}CpbuHHoVbTOv)i@O(|6S z$#rp`YZcg>YyPK7i1MC~G6873zvMVx+_c=k$+DwccKCpF%ib%1L|e!n5)Ao&IDC-? z{bruon?10(leJ{M7sg*x(Wd#LcLN{ss_bi_Q*`-CPwT#0@HatK#EAbLt;={Q_5yG) zP4?RkL#VstV7PzPVE-KV;l-aFk3$vhe```=%#vHU)#o3f?Dto$?rJ2r!AvKuBjABv zRliPfPEY~AcnyXVfG=H(s{T*GuIs!CxP@0u0Pg5j$sy2W{*n9MKC3E_gxxZt^(?JET!L)hTaIK~gt7$76q;L%_Vtv?{eXz*yjvbS~Ga(8(v&ndSVftXGuB%08cN>UnTb z#bN9%m55ub;+b~|3|>eepcUHG^;umjIs<-JIvWNU=4&tTrlx5PzT0=U8%V|NOb6bn z&K5Dje+UHtGA{Pu1f(|B8F1ZD6CmZXhCn91H4JrWk65bPg+2jylFI$@tiy{xo`q^J zU0UA$EX?QEIJ)(3e>IrLU)f*J(wVtb%<2Qg;D{T;VvN?b;K}A#wxWA zfWuX?Ma<#$FNHPOsHo~v<}1_qMoNRQo@^+nb(b&S>*`+Er6!UJ&h3v5;3kaA#MoVU z6WV-*xqNWbyaj(F%-ahDe;!moc9h1Nrg5gSE~X@y`-SZ)@FJDIpn;jymIi#Qi3X+! zmIkErg}3HD7Pwf?QjollyA~p?zCZ+C&_WE^wnu4Ss`TYe-@Q7J4i#BfefO5|$y9+W zc~u=qADu0&k)BuuZtYcdAl-JhwCK5gegvKyY=O;n$v@BLDwNixhr0a3*QF2GT$i3q zU3#d?%09n7AeAWk*3(amV%Q@saGPKYq!P}S7R9i(!1IDFu(>YjS+x16QPk%Qb($jl ze__u5|Dg}LxtSl2|GVbr!0YmV*M3&a`KzO~THG>Ow=et6t2ZqnhJiF8CC!$HhrOrd zu399qn|2&_pdtzIxBYIENdm(_$|SMBJWTbTk|fg17o-{eyRHW1Xi2-r0nhZRUf>l{ z6?<>3pVn^z5%_2ek=C1m2wdd%F23_fYuH0hYY*ta9i(zZS~mqE@E;J*oIwGyDrL~0s9@|2sH8&7} zOFr4`k=D}E+JQFzOaGWt$NAx|0x$BaI*?gZbiC^4)b*ZN1wPLi{dsP+q<43(O;PqZr1-{}{b>P3estR1oT+R|m2L?Fksj`m>b)p6Ly%KvsZd0mEXbE_f|4t;hT6)dRf5tNMV=)4In` z>jwi7$gC~qVNXA;il1S9K&Gf8(xNN&#RV|*sweJMahEz(o6kj(jb~NiNBzc>xdCAq zNXav~F;~jNt=?0z&lE{~R{h&ivPc4agztMM2@C@%lSEA(_Vb>yNt~cb!VD>r0N>#! zP$mfsAMm715*O&=6`qt$Vzw?nDp@1}9^{Ld@sHsuo|MV-NqPONPog`W6Y~~Kvfm>T z>22?+FZPrp)nigI`lS3>rC#(I%stZH@?z6q7)Y5uZ!fP^Uzlv+KckMYixf$K*+#NS zU>Hc5Bx>@$pD$N7iHo&=vc(ojfS>VuYsNo@Y{Z#gw=w26dAQ$u$|f;Q8}IidizL9m z^qX=f2@G%Zq|7`$OBXNpq-+xSctErw3Gln#G?N5|+#s@*ctjqa^PaLv{7M_fgOWuO z;CKCIl1TzX?)~{B$?7Ql1<`3T|TlY z3Gn6KG~*vb&NtagoG1@xdQaITuGHn(l0_xJ!GER_7zR=%(+A}BsrE@M|8Q5M)N4x? zNr1;mm;Ie53^~JPE3uJ0Z09}I;(;x8%n7=Dgk+HfIQY+00>ePcRN@$U{f=bj;h;$3 zdR^uOS|kDH2%4=#Fb%XxJmc^PV}D*O?s?HBfbpl+iGu}$v&^>B;VobDy_&e_KrBPd zVA+>iW^R8u%X(^APy0zPn<5T`lz1wJ=`(s3+)c6=CU7WrX0BiuNSV1(lh^(H6K5^X zv`AuIRhs9JA_*`LA|-PL(?FZVk&`)7GFJ$2WSA?*2nJ`_xq{_>!Sc9)SQ?XB_NA8D zxsqDeQ_Ez8vk~JF$dM9H#V|dmGtzraCoym+c4n?%7)Y79GFWqD>GpHwR#lp((PFNE z-}M8M@sFYL=bOynJ|Yj#c~991Ta@s9Q7ZCRBm(BS*zV%2j}v^iCIY|fRmnNKIY4kW z31>XLWvBL9N@%?AXr>zL>SA!7nRY2DnHP5PE;w8$9Ba;M%q41f>bAdcu;XP$1&um?OTCzw29Q~9VD$w}c`hbJHstR1itNMVeHT9s{Piuof1U7edAm37@ zqucvrdw^f?stG{G$GzL3H7gK-%@yhK6noJU%p2}EFX$MWA3ovJh#sA6)1 zukk5nCO3wGl-X-elZW%Yr(}hdO{RhCN8i!aAWxOFO9FU{SM>saE0vqpwB`jOaDEGs z*1rM~IOxtUQ~a}Wfg4KYg3wy!E{MIrb-k(voG6vErS+yK_5we5w{z!+v|g9izTE)6 z=T$Y}`m>vDY5iSVYYSZe*DXY~4wke;;8iU|S`P&xaLId`J<{4xTI&&bXbX|nv_J%Y z$E#|<+gogD4WHve+aSO_q;f^1)pxHa0{8K%8t{b&Jgcrh5inlTMlk=yf1~eknH(i) zcV6H5D#B`)NJwiB;e;UR4LO4xFuT`6W<|mw;2*rI4rD>uY=NvMn=P=+gnKk%w5@FlOR1OMe!Rp5oc=`zJX8xeS&S5<+mY0Cn#rfnaA zVR_fnH`^b{~+H;E1&P{VeSRGJzeD){egLeL%*<5otXbh`^_%azt8N`#rc1$oM%TEr!sR z7RYEiA}yr-4qH0L$rD!bT=b?Y&puZin80jw+1($*K$>9PMgNx2aINHrEjch1N!+cq z#zHHS0C)IRk@1fq%Q5@f@@aX0&9CTe5`z`!6Ou&|;NU-VAH*<_GMTO+ub=VV$tE#X zIkGVoNr2gzvcrL4AZ3y`OWrSTUx~GKd9-Aa1ei@Un*@e|lu2THd9AijVvctFd6GpE z;3d6jW;iemq)Zae%j=u|zLFh|NxJ;CrX;}JnzEI^Fpx4yoG7nnwol?E?NFvE3Gn*f zG*bx-11XclV0l>Dd&*X#Py6W?C5zzzpXK-3jDHL{VPu!+5%O??_moZIGM#^Jk}Q${ zKkv^*nItgeR*+3%wmdxSJ!O-4ncz*8s0auDnc=`NkTRKmLY_wYN_0nisyz&>wqTO+ zq!2E-0pv)@Nub!EmsX!S!4`!FbA-*V0}KNx)8~!keY^IBe@?yTU|J*r=46^p0>ePc zBr#a4Y-xWU$d3MQy3Dz^NCNyVZ<_Is;boqbd4;#XE>88NOcH0^(bbp|KbFk)IVB|n zYfMT?CR@eCM-zL>Y=m$5l9H0iHaO!cA$3}>`|7a30nZ+0fG_EiJN2|=U>g;03NMpu zj+9xfczD;JT$0iZ_2C{6Dfb80I?QZcg=J51apuEvu7<~~4)a4Tfv}k-spm*ZnN7x1 zGOB}Zd;-o?V4FMeeyMDylT3$r!zR}9aes`tLOx(+e!HjGexMP05i`YXu=ewM$Mckq-(=6m>K*SI?6Lv!qQNb>{2KvE ziYz7|F0r?(BsR|MX?e@u)H3Oa{TWDg;xIo{nbD6)c6MiO6?Eh%xtbPS0z>Z5;VSG-R}!le8IYx5d3IRwPsmtI`&Ud%h`PI z-}m@%U+SdCdCLjZDp+O*X|x<~=L2*DgJtH(y}kH{2D`XRMSFks_@K~p;Mct> zJjs)i6<~jRQx|7@QpS@pm+JCNPwNH-%Q0#8Pl-<@vroUq%opvS!98$QU!25!F=|YQ zu(bNll|@)u+3`*-C#06y@xD|6e&$o_28Ni~GF~N%dx9k}SSJ0nyOQ`MXm{ke);Ur( z``B>uueutlDU$Y^ufSWpsuy^-RK*RT)=z7lS~m<*s|S=W!R(P^YdH_@x^Y+YrEbW5gAW=ADbAo<+rXFoc2EO;)vJ1eM@v;?S?j0uTp$8p zX(7@YdPi3yzD*vugjCKWtwPuPVvMl@M^E>1K#9S zRp5(W)d!@FaYV2*Ob=mp^*8on${eyrEtq5sq>w?<#~dk{RrVd1!hNwkC;RJp zy7*;J%7jZvNjUpgCgh>b;N(adPl3h^ww(duK0ld@;b)*uQbNV>gMa0_nK_bSc(*5I zMtX)W-sDM{k-mJvBx4|joHC_PNlC$qK9ll83S9IVZ2XRp=`)6uHTyQ`X?cCk_c?j$ zvwNn(tmMNbg)yGAh9_nEjHf`#_L&*6seBcE1|Q`8XZnm`=yP)4x4(ua4^{6e>2p~A z(?vQnkb#$Y)db*WQn@KiYx%id4TpBF16P$QKiAXn=lWPx;7`1&4kTdVwc1bXqdt5c z*c`syZ;sG=V%l#D126L7`+x*2!uR;_%lhzrz~=Dz-|x6b-XE1LW&n7QcbJ(07=FT& zGAsRgd41FOA(;Wi(ThN&ZBISG_B|-Z4`WJhZ=Aqp<9zioX1aWcnG@zvmp)!;eE66p z;LTn&5qOJKZf4T@z!Pi0ZJ+9D#IXAca1XDl0r&E%iNNtvxd^ll^TZnPD6h(lVdx)- ze(vdWtpcz2sydLKxwS&;Sx>A2>6{%vAf2;s;eb`2YaK|>Tm)Kl&e{S)Ka<^%z6D7y zKkqZ`0p93UeL(tE(`#x1EgzqjsxkMUG%`Z?`0p5ez^#=LYFdkfub|y%m@_= z{0*hW3>#vOF~dIict1|5SMCqu6}QUbe`9u$mvO$6y}5?&J?~f&?pZDuqR1E zhyEmcPVv(wcDdWX21B1hn34Tp!daid3w-46xaUPR2pxKzzSnlIEO~KR>{)RR_CbRb zSmAcT0_kxvc(tVd)|R0NC7H-vU^!cNKvH(@Xwd=d4j9UrS=sxmE>nGdlHJ*j^ywmm zA?!=@?Mq{pOv%(;J#|-4-IXlb)ZN6?-Ne*grXs}zW7dSu_NMN7Q+LUHbuShEWA2Pu zR-3|xesjni4?m-eVIpNnML&(1zN?e{l6KwzKe3y;WcOm=%2K&GN9(RYbQa-jF?W6_ z*PWsjI|`<^H|c_vLvG$-O;$|_;?O1-`?IRp9qk#Pb?9zM>k#;pO^7@Rc%f9T$Fz>z z)Dv;rED7O@$qXBNPXG>6I`*^4-#eB@v(L;4PdnDb@_LMSvB(Gg zbm))GN*eQ}w8aD-u8wyaYuw!B0(Y=CT1*sVvB};ge@}Y9-9Y@?9UC~<*SH&ah*$Lj zNhtdhS7}Gm1!`wmTp4=+q%NdvRdH`CSeuTUL-Hw0Cj zN%6PQ@J7AujUu(o?RGX9qOPhC#oX-a-$bn`E!x zquJ77?1^MEj7b&43L2v2vZ(3Y<bZ5h_!u7Z6*6(>`)Q_D%I z<)oaYF`Fk*yRohMsNKMjNV4W|KSEX;1Z!aES)CZ;JgW{I?^Ve`$=&Qpd23JnknTvi zRSr|r-nM{W_o_bNH>7g6En4RVBJf8oL|V56BJlPWq8cS)gg37O*Yc_wu-Rk&RybZp zU-iblbmg3&67r(yE+pL{l8w6-jnkyGcMjkgQdP|N`@odM(tsqMy$KeRfDj9pw}Kmn zmD1Tg0!ZoX-~*|VJ5Z3~6>{dZcy5(ztI65W_7I3ud*_cmmY%G}$z8DZ1-n?6Yy=<) zW;d{cj=QgU+d5-^Zcq(4JDGUVwUmR~NZN`5FY~H8@CvW00rwm39N2mQza*7gbhIw~ zh$jNC@~Rr}YN?zpt?QTZw!oXbss_AmSVw?{K(Tz+#{6UvA!t1z~;=;EJH@``OHW5@1pFgemIkRdy&c{73^?7j1#HJ zK26^8eK}4>w@X&c*9=xvuFz3EDp%-o|Gq0fcl%^|W7EtE?@at>NX15qFJ`)3r9d*v z>_>yW-7i%Tdjh&^y)_#hNCvt1wT?D%aFK~qvA-NwG3*gnsszokwo?3RCJ)MfZ01^A z>Y^6SvDk!cJ%EI_dB#z#Dh`(EP4lvRLVaPf7mw`eq8yc3l(_{s$}hk$-ADCbu4x_? z;HYG5LLJEHJwMSVkq~Rn9$e#1!m60n46#+kkxNdz1Sd4bu(cyJ%iOBc(DgKQomopE ztYMl>oyf=zGhf|)N3vq3aZG?@-^jvR-EZfKtAf3_F0bNg-9Rku`-NMldCyIN`Y#r2 zf!JosS@AL3kUGt)A9az|_?VMfPcbR?g1VA%m6T$rCk;_NyL7vMSh7u|?93Xf7-q(` zzCM$hs@H%W8B&s5#hfG$=S$k;MwKO(va`vN)STe*qH{_g3}bf2WpUJ=D`y+{yI^k3 z#YHG~wA3=UWMWHW7Ez?-e8l93u`3HlTHbp~2BOo@v8H_{&Z&|iC7uR*(jE$Dhx99D zLz=QP^{<$Da`lhk^4z(lLmIQQE)UcyJXtcc3Oh_nO8Ps$sT0spUZS^G<{No0fG`$yR2=vdX0FOgAd# z_v*wmp)#A7xlGv^mz{=v_^a*q`ZbMbGlr;S)N=+hLj{X z$dfJ&$z4!Zxs;tv?g_biJ-B@M;?ijvvokI`4gK6)j%ydLIHC!`XLw7>B_Ah**J2PB+n``JU4%hz1wY1woGhAIAAz8d00{_vMVbaIs zc9x{wl$nIj1{Kqd@vy9Tz%#pfNX9<=D`W^gF%3O24LvapJ#lBv22v=x24-5=Zyz>? zZ^qB7aj);+gf#AiH132g6gR}kz8dT>L|~0o%+%pv=6S_@bvO>`P@!wiw7?aUnY`ts zNq%U1V-oEzMMF_B8~4WrD0FcJ3SC_0LWke~JxRvr`p%6Z;XnI997Ap=`pset@L8$s zW^vOr8gB<4@Ly6bVy4;e=N?mhlu(EJi7m67r2VA-PY8ZGsDK+v)#PAPsk#FjSWVe` zNp)CYA0c>hP@N|DqoDeU;GIDQ9PB>$#eSFF_MXOSQri9ik80-8_;%o(F8H&c0(K5@ zqu&TYV>Ky@5P~~4^Jp9qc)%Yw^Jv^0c);1sJQ|M$-qV7w1l4>&Gt{MQvl}9~Vo-|AD608HyUpR9`KX8&o_8`s4=ctN#js|A{bM) zAX!dfFYaYIg+0GFUjFuo!3ql-V6w^BCl)PI7Hh?PMJa`R3JSbC{G!f<3^vW^TG<5K zZqi-Cuj+0fcdbV8n%xBaLpi+0C({iiM#GvY!`84`*8F63 zWV7xtF)gcxARl0a$hISGUUt}tDIU(7;@~0^ zr(!0{?yDhAn>QdaJL~dNxq3;mv^EgAz1p0C*k%F@GT8k*Xwl*%7ZEnRC^JT^QYUpyCH>xo^+dJYOrhB?weQnuCMiQ^^{o!~5JClheN$3i=MTK-iG?iia)Tw`#&zCTSS-=XRp7%AtghTBhj_sK!h zn7`;O)~QE4J17AL_C!;QOie>5g$XI+Ns&itIizm>FO3>>wcyJS58xAdwS za4V_YyFgmIcw#Sbw-#c^AVy?#r_ZPg+|+xm0}1F}-O<`L5P{9%b3ga^YlVAIvfUlJ zNEtrWYAPHqGNrGW=jH!jA>z2iB!>lZV#h>w6;bMX4N-*3zH$MBoZuRdd&JU(+P3BuPNK z`Cc}S2Jze^qeaLDl}3o4>^<5U%rjAmiZ_9TulX8HN~{IDYQ|V1p$!vzs5f0aqV>=~)A;yF>#)LFR_SIz(<#hS}kz`R*a0pT- z$U}aH)zct#mv;P>5W!tv>aH(!m-(Ui5z3M>*f;xew4$BTeBsviwMPCmjY>mtTF!02lOOy1b&Nbpx@qOFaL> zWRzxTumxh9sYk`fY(wfahkVNQ<`T)QrL9CMZvQp=<=od(iUx?S7Kw0RVZmja zBWcXexU`=dD_3_&X8LQtWtotY{tot}?}p?`U#_O?OmY=7V?8$*f0xW8*O4J5$#ojK z_gF}-^fhhD&L(%WlA0@N$G5b<6%(^FE{i>bp6=z3QvR;Wa?KQ>cq&dU{S7o&CY7UEG`-sV@$^KOG!jMLLPf55=L&whXq~x3Pl?*BIG}x2ADo?ilrSDx*cDDW`bz^W@ z`ueHU#O#bqH+}6vdV7bim$Zj<;G`YgCHpu5+*d01SVrrxK*Vh<2{Y4&sRAc^>pBp} z?)i&W2vc%m552kEhv@8BOKWKQxI%JB`7c4$lY^`ZvwscBPraglw* ze_a0m8sfA$f5+^s%SBXxRU~cdi=DS-W1y0=wf({Fh@Ek1%$6ec2A8FWla!rx**bBi zZ|d4FNZRrN_uR}~vOnksJU}WpJ88YWIm8-pi7lMU5ov8Ct@Q{T-9n_bOCUNw5U78iGg4qW0p&;ulEySo5M zxd_+OPwQphfeAoTc0^j6`wmP1lCmSx3LQwc-{J=s)BlQY-LEc?Z1MA9nlay!v}@vO z9&^!M9$rw)5mm&-yM=4$)(O{UaSh$h;o5Ajp*tvC`wiF7 zeJfmhfNSV357&OjH3npBKOmFR(oc%#iu>(3_xpO`Yrgb-ap@~&^ZswCWR$nifhlXn zY}pT{oCOcOh`LiToA!g(Y0`mr_PUMx!3TNWXZyk5^14m>!Iyj8=KYjvQ(vmSv{Zd@ zsRk8_#>exsz?hxIn=J4s)x++Tl#6l{G%)2Ten$&TS_Ll-ZpcClERRi83m5V^@1y8I4UvDAOT3WxzxWN9W{qCXP z^ufMgx@j7XX+DDO{tiTC!nIz=M&2pZ*dJ*=u|hI`jVds-9QGi^o6Va%@ifGSg;0$7?X&B!%X3e=jSxL zfm$*QV-|J&E*bx*D8+P6Ewcj{SsJsBB7N3J%sjI%6loLhDVZGhPaf*x!=9AfUpg|R z#M2;8I!T`F{iV%2G2+6`?5`E`OSyV5xNP%IEM{k2&X=oA7xM!e4}o1V2`STGNJHeQ z-3efjcL_U_T&L+?!sRkWGCQ49Qj%P!p?jYX$(7#hQ+6h~!9KYIl$`Bv>8tsaopIS| z#wxqB%Lk*9ka9bC%F4tW>RlZgs?z3LA7lqR>9--d(szz2 zJDc20CDmCzpE^uRN|Ng|9rCoCq#gV=?^t7YHo1G{YF=F$HoET!ae&mT(o@Q@O)z^ zeCb`nn3$c(-Wbl_e+w=T_#JIXI-XdvzB$buH~GxT?XFkRdwJ)Qn@P7s;_`; z9XLrUN2GPiN}dS3(5q^|7rd$td_yYdj@I&@@a`N)zoy+AL-)v_@sLM@9PCew0*R7+ z802ZI!z`!Ld`7Z(B>bW9uO#iOll4@XjeX5}fqO_*Sl*-#)7AW&6Z%W+5N9G|gH!uF znU2Cl!rb9YK9PuYJM(=s!rG6KO*%M%z&tXibG{?C`2I!eYE>V8l#@ZsHZWK`%#A(tIQ`$<{y}0HRV8h&2p-oob1cd z4aBnaF_;n_9&CZwW{PCLr!Rh6(t*pnG*6byc(Na#laP{n*$>1K=~zj7$0~g?NZFY^ zzhcgpt80VH(mPYi&bTZNhqL7DRY}|9LE4SO#*sY!7WdfHvYuKdmFYB)KBh3XGNp&Z zl%45@{XiTg|4gV%o5Nwu&bYK6XC_zd3z?Z^k_(~ z&6}2(olR~LCAEsA9gH?_T4Hv_Wv8K^UoP)&B|}R3JJ^%93dxl|DW>d9a`wX(R&;}K zkz{r-Qc{v!r=fc%hveEk8OQ8watAA^>5_IZO8Z+eF+1b3*!<|}qWL6-j_i+xIHk9BV`6sJWf)y!x^$b}LDHrLTytedv_62JmdZV!(b_Q(fxTW;16EsX zY0Y2F2Wd{L!0wrAvJ(5IWbuUbgzzvQrI%drTlOG@yA{3ZL`*^|6XR6u&k-r)j*{&* zn8F%9#cZl8E;3_N{0xaPUsH_xC5zX$73E9bg)UA!_nO!B1dkWXqusV*hgKE)%WQ6~ z?nuz~Bz0F$-6b1GhdEan&G3EAeflk|rhqP!*00yg$vwWC-9Ri$9~>ynb-@;hZKfU- zL(Dd$PD3ev>}Oqa%Bo~YNxdrOP8tU;^xy;OjNdYyUQcJpDE#SNar~vNOq5%pY|e zcvI4jZ=3Im#q6xh_^4`Kwz=OH^AihB*VZkN)3rTc0y%8BL%N&bWnbCImL1_3)(!9< zUR4KvAeHk>YdQCwHhXlf14npO4Y;~g&XyLxB%di%M_qB_BTmeyYtp|qjiO3wwyW3dTNx* zq{qFdBwVMVV;isGdX?=>N=iHp_MVoMCp)BVUY+3*cBcLnGfS=>4KCXp|6_L6F*#`9M?ZEoc&2MC3Ql1 zavd2`lH4Fq+E||Kd@4P(r0i^R2g%j6;Ihr}KW1lKb{hKmXnB9_ZB`cpDe3QEPx^64 zuJq=ZvNOq5%vCxL+%0KK*yi{jv$HPaqpEe;ri8@=#e&ndbqnNlZO@lL&JhDS{)Z*| zzmK{;?P63VZOXt?ys8fTzErLkv@Z3;8t`hbssnHEsv7Xd7I(Dn4n*JsUR4J^;wND@dzvESP;PqZr1K#Xab>O{Hxz5pg$rEe9o>3I04m{YaYQT%Ust&x~t7^a- zq;f%N-5ZF&k8I$B0zc_hHQ<-Mst!EGt7^b+N#%mlx;PMlm$VRR{UQ*7H?=Esu#$9S#+k_PwT2c1hNx4 zBCY!a5y&3rh_wC`h(LBe`*CwXwmoM{>#bl5WHYq3Kz2fBOKTCoBlH5tOoQFdS<`wwSOeJu?N2LB>8J6wc+Q&EFu&#W0@)aCy@BkC z&X(3H!4}9~*@#Sot}(*=}qQAbX9orNwq*hXu%9G@doAFJQ1t zPO25dMIK0O#%~SM15z32i)$$8K90 zV6aRoQ!$q-(;Gs@ZC)K4&&PRF99(3&VSi0o{&|kibfY6fN|t>w3-I-leA*muuxUBHNAsk$;l0bEeJv;+UOv$w7cuDTSGBVgDvlkY)62>T|IS|^v(YDI`wImqegJgF2u@a5LKQg^8eDhc8!0-(*|J>hpyT6%JV7t<7*04#v z_~?ETBdbD37Nn5-i2uAt`|+W%L#vAYWj?~V!(@gn?nP1flvZP)SN8*6k1gGPWz06B z9P6pQrwFzmw9EjdF$Oe&AzkWINV2t_8*}V;qP!zne7Bzo)vZ}n=t%D7Cf!rQ)IRr< z0?j=j)_k8<75KIffAsQ%-&OAI8U=pdM?ZRbGP*v{Na)3&YK||Q?YG^%h)cJviWv0T zs)#|SttyVuVP4BrHD(oUc$C3*71&&n)D%O8Et5sXyss>nc6QrobNqejt@wkhGTE%H?Xy2VBmp>cADfss>z1D(8;Y z>VXJc&#UUdQC?L8ZqVY6)^>pi+`ffKYfK;lds~RK4hTfx7g~t4jt@lO2`xlgX9Obf z2Q5TeKMh3SWi3QncLpNxHLt1zm)_cs9Pr~_RR?}jDmP5Dw)Mms@F1_M1CR5n8t^)= zssr!zsv7Vvsa#N6e+We2s-x*c9k`iS)qvmhsygs&uc`shk;(<7b!{L5uWKRFx+f5U zb6SYBUJOLwOD#lNL$)!Ee|BjBhf3vgq_s*Q0=rs>v^EYz;AdNiv~~|f;OSmf2VUS+ zHQ=ATst){{SJi-vZcESVz~#KE23%Vz*I8PddSY^?a8CbwU)ewB_|38kyx*&Of$W$? zcdGrgmh}s>7sy`dh_u!XMBoNeIU=pC0};sHXV1PsHa=%dYxiIa9OG40AbX*+rM0&w z_5#@<8$V<~gALMI(>gX-1KBnk)->2Poi(k~f;I3Auc`vsNS!UM3q7$H$o6XM1!Qk^ zwzSwK?Snp$Ez%Kb-RAeMULc#D4FY7RbGEd;KbqCj3uMn~l!gXdmb0dHWv~Xaku|Jo zu#Y)wT6YF(AiJB*8_3q?Y-#;5*aH9TRaGE+U?UkCY=O=ptq#AF^a9x!8$S+0gMHCi z)B1R@2C`e)t^nC8oh_|V!4}8{+K5bp{nJ^~Vvn=41h}%_#i~FyIA=>MYe`0cH;^8=KyTuls>stOw7)>>@>Jy^Dmh*&^Tw?$^e69QW^UfzjW7FM$%^7 z_M6P`ao!XM7nyF@k1Lk{o^Y26L+emSLdw00ET#d@w)M{ZGeYp6basfh`&{U3>34sJ zw2y;}OlLa{=Tf%fk}-qEnbp=37%Y=+4EFB-u3Ls3v$o$fY7+++*>3QV#bZ=SH=rFC zMgtfuGu^=M_%Ir!uTuuw(SVP0TP`3jGTo?{yX2p}DbtN&QbGGe=ms!YCfyk1?Vb$X z@ZVvwZd?8hvaL38aFOlClB1m~lCh)S<~?xC&bs9Ez|&SqWuWn#W(yAtmPutQW>3w} zFNJwpdhrAX9174qF~2ZAXB?T|IS|^v#&t)u;O10L^HeZW(sDo%g3ep**}Vh#A3SM>qkXtAX=_;W5B zTSwqGy{ZrRU8!7LTIYFU4S1nf^#QMLv2E^q9#fGcd>5*~qr9pYNDbV1nAVGd2&BV~ zNb4w{Z!eJEIU=p|0}IslzIuF?4n$fWb0(#avh#bG}?-P<(qC ze4h_ne?~C)%gj%F1=55@jHWO4*Q@2}PD#6imHsYg%FevkF8VRx!DvdQ0bLO=XZ|kC zRE|AX%u*WYH6(2hzc+W)1}`(lF+0=4iut@;?LQ!wF+1b3$mT;&%;qk4Z|7QHm$an= zj@aH^vU@miU8&qIK$+0qJ$ zPE1q0U8TC;mn=DR*@KxbKHy2o3m`oIL6j$a&+5x6_g8kN4|P(z()Xc0MCAh=!xkJt|C^_7<1Rk}>MaWEoOQ z|4eR0vjb_&msHE|`)Se#yjZGEbM&-+8r0b)7MIzoPEq>blN@TkW`-PXR_jM`sV>;x zKmyWb&qYBE7BNQ`ZdMz$Qa}A=M6xG<4)fQj+Vo zWz5dF>@*C}VZmkTyRDR+b@@%XdPp*}A}S^&B|~RFdRZQ>56QKe4KX{DoH4g0$t7`( zVf$NCTSNOg$Lvhp4zsyjo#%I(a=sXIyp|PAlxpne(m5 zkdnz)F%KxIXG3yr#y4hXlCwWBD_0@8B(5ce>Qco^YPjV-7f6!rXWpk+SeD{fh-* z8q_S3k@^J>7?ys8Jdf%3G8j2C<`sGbvCT4!p@T1D^+K?OX< ztHuG(mdbYO*nS!pdR`59y;qF`-q&pU2Q}XFyc%%vPS>jrGj4gol_Xs$)fnMf9LAM;Z$`B4OophOs|Dv%*_ z%a>O0n0fGK+iLY~TW*?1lby+ApK^dqrXprfKdtxVuVOao2Z!m_LuzmP>DB`rtWkFU zXoX4G^Jx*b_S2yUxND0ot@(inWd67yw8CuaNoPqs+XL`6bl{Zy_3CrVW$RPCpA zav%a9Y$4KmED(XKYT7!Fv_9=8a}`)^A<~)@h`?i7h_p@)MBtBFh_tQ>MBplK|X9DwiXzzCZ-t z(n6&5dLRNjhqxflBdwLBwV{C{TZpti8;HPNTZpvw4MgBqT8Olc4n*LOhBoI&>qcp9 zj=;xTh_wD1h`?=i+;hFA)h(^{2;8TINNfK<1b)4R_#auy3*{tT_dU6F-;-JQJ-Kz? z)1R*Up4__c=}*^vPj21!^r!2-C%5i<`qOpalUw&a{jB?6_~qOKWTh8F+|y6%%|HaQ z(jAc&i`|}IfUI;!q{U*lL?A2O5oxj5EfL5{cSKq&c1r}Z((PYYxM>;<*1F{ZS?CQO z4VJp)0a@oRFfEq4B?4LJj!288ZiztFxg*l*^^3U&$U1jKS}b+z5qMwI_R!N$Yc(zA zMh|JQB{-k7e&yGF4{&zV2GP?`i;be;lg8V@8u)&THLcHR1R$sRB-RuVL=~aEWjpZS7e?kZY zWV+k8u-9q?Z}qdF8^~~G-qjN8RGl~O_UDdnAY0R5bIkPV$M%0s37_B-?*=j#G9NTR zoLkg~M?znKtVo+BQ*GT414t>`^u>NignIFp&>J9+8rB}jmO9jqmHl^QKV!0A2oI$9 zZNt0H4%hwv|GW?p1xjk9{?$v;wl2@w&ZX(sN z;#p_v@FA=9Zz|2_lPkPh7$4jK_f5$ANpnab0}oHgQ>8gGkb&nX4pmnzixO=y1zL>69EnK>e@ef@N) z0$FN~NQ+fwJp!k;c%;P&vqT_E%z326>as*2%gYgIv9c@?$kK8|TK9#{09jU!NNZjo z0-uq}5oxi`Y-r${Eks(ZF-rup$ec%7OZ(|m1+u^#krr#qdIYk#9FbNvcm%TK9FZ2Q z&3XjxD_cjTH8pqy9??Ribxa@vS%A(XEmoQh4P<>eBCRWfN8p^6(5ilmaD=0z`?jRL zDSk?(+j_6v7YP!uxX*)G*VYn9aQmBy2e!ntjp8VALK^gTMF^((AFpwi!^Pgkr&t4$ zs{NKO@CvbtqSg9o{W91B`9@gw+re}sja?=7CEjHpkZ5keXc5qkEHK3GBT_2U*geF) z+{c~>Bw7)>$M^eMPwWAP*qNUzG=`{Kc*`+BEbY1R{Ap>vXz)O?9cC=>=iccgU~}GM zeclwx+5(B5`RjH>E@T>g9MLaObesQ-X*8PSkITd#NBp}wU6_V74U#IVKCa}=^_A#4IYiH#Iqlq zJ&bPd+3e8uyzDDoJj#z!_d4p@LB5OKbn&x3`R=qo-OuYPso7UGz>SpAlI9q*!Rp7D z)izxHsO9Zh3O&8BCfQ7FcDpN``+Zsy7=6lZpW#XCai8e~s#5b6&HSK~i~0@u4x_sl z@Jd~>#h*Ei2DuEg-P&Z$5z{MvLXuLr68B35H^ju(5bJB$w2$}GruMdTaetvQ&FFla zcNyoX8$a?@>;@9Z_VA`@aj1qej?+*k{jzsIqOfG`=7lZGGqa!BiZt0?<1-us#GQ?M z{XE<)=h=RHh+Rr#-U%y z$K`cY=qYm|<0&O&Q!O?Tyiu%wqi*(N@RUEP*`IBkcg32GshCu`)7&L?xO*pa&yI5k zG;VnIcmoXk^rS|RrZ0KRF|nnsOL{D;_?RI;vg_vq^uz%&ztEMptfrQkbM73~>=DV# zS%h1IF{1=I%h`7gKu-R4@&KC;b^rcDKpNX0#5pzC(h!q#w!MP`Iqq2&XCrPanVN=? zPXqg>j}W+zz#LSYo-;z=zBF)VNC?e|KSUWrls7aG_MU!`!BBsM;WP!k)X+e0yC7!&gn&MrWxE zo@`}+RLIT+Aa$|DnmLU~NXrB6s1WuOkEZq02(u=CI{Y!t3(gKI;BUODcE4ZEp8_VZ?%yjW&Eqk$S(0DXBxnhkHf2 zwY%X@K6`M3wZEiHyjVkMUCGgsyGgQozp8dD_LX9a3%hwG_Sp64`stECiu{mA93Q)};!iK}Lte4{-s0~kd4S|sB+2^~wPX8jwU+mk z?33JEGUlHr{biCo_TEs!e@psd+QgTTuO)3Hw%|Z@>>IOyy3dOmn1)M@$cGCm%ljPEa~r) z{H^5gOZa!X?Jn`ZwRqb}?kKtY z0PTr$srbY>uq58M#QUz~_a!fojQcZJ`bQ)mmwc{-{}<`k*N+j9$Ja{o;m0Rd5`PuR zH3n!uR=f$4lO?|>8TW@DbGTU7e=2!h3I7G@UzOyCDgRl*Ur#?Uuz}=8lG{ke`An6b zpL9A}?Ndtlw@5!r@-E2-OZb&VT*RT0i%Kpl8RxUJ^m|D5NKPo>pDz7blIKcZT*7}$ z`llrSB>8Fyf8|A8h9e}`l-xiv&VPUD50?CrY}<(#LsLKH``=DbG0X zx%6Xc$D1KJNBxNVHGFx;na@b1ldY9zqBYDZn?)oi~t`)w1 zRQ=mVGWHjk4((J@k6F^ke8%-mUH_qE8K1f$4_wxHEUQmkkGTJFKEs!Dnmr`PNuDAZ z^U)JOju-RKlArS=`z5cHyixKWlCk}Q=2OgPoy^dDyIhj_7xT;JA9cQR0rQ1**rjn< zM-uxu9(nX={%@lBKUVTGN%EQ-t%G5j_uZ1CHSecL&WqMT9Dl~goMxWnW08OSA!GZQ z|EB%BvZw#INBvz;{sXng50Z5p_XmF?G#+t2F`s>laqCk3_K_T^`cuD=+J8n%PL_O3 zGWI`5c^K7YF-hXZ{DqAl+cWP@R-9QMcZ}ic$MKr~GfMVL_$K0G7stC_{s+pRuDV`K zePvHv>iDNmxJdIQ%i_oUuc=>U{P`NEAIdM1cnh*$U3P0pj+8t|@{5wkOWrLxS2C_2 z>;5ZR|BMs!F6MKe9I3i754kVI{CTT7&C8O1mmIZP%yjJ;(qArlo#Y!O{IMgP-QJRi zNM0@(M;X4l)2tvlLUM1(n1AXTPIE>i?^k>B`tJIXlCk{_;@vEHo8(=Q{lO*n#93@j z=lK-zW|Z*Xl;3wH-;=Bi(0)VlHj&(1a!1Lyf8El5Pm;W5mgIM&c*jUimpo~J_QZKw zeB#_)5^t7xvnA(9J}epcXYg81v#8_}k}F8Y{9UB~yyO_ki6#8+Nq?r~Ig%HZ@E?}` z3CX7ZG>Kyo9=Z6xFTzastDB)=hfQVIVT(%&liE6Mvx_zz3J<|kcb=Go&V^KB9FmX!R6 zKK{ClMzD>+{B3nlz1(%&h$^rxN2wIyT!mx%W>$txv)DH-!$m;O!3w+)=W(gx@FqHC$KT^dpXPrg%S;JYVuM>>~sG4q4Y-*iZhCEUC}S^7B{8HzeOL z@xQ73ZY8;m^uCs1^ zoXFsh;yo+*g5=*MBf42x`HqlWQ*s0P5gCk@eg{d;4cylwx|yyzAWu-cUvmCPXYrn7 zY=725^6`7K?B>ZYabo{7#TzIe-XpS`EC0la{og0vK>6_I%WjtZ6DRinf_MYv!&^*# zXG#($_TQoF1Leb8O?ES)II;hgbbX+Fc$>=Z^e9g3e?wg#C?8(8?50O?V*k77`at>c zz973Pl2av*kR)y#Z*N`yu=cBravr-SFWbh&@zYh}?@jqxV*{7(G~fe z=S#jPIb<^zVJ*ox-nP>JU~_k6uH-z)DO)=IbjjGh_HWuxk^LKz|N0O6`#}D_QPRJ- zKX-_Kw`8~M_WzLfwS}}NPsU?G_5Zv4kJ+MiocJ52asP~X1Lb##zpms43u(X8Lh@JH z%4NK&$``8|VByEID8D!_Ei(_Q=lLJHI`Waeeq4ZR+#;s2)419>{TOA1Hb3 z|5Cl;`uw}~7^nXCN$w+gnZ**OL|JoCU<& zRq+GH%L;St5m0(qk6^hsr!QFBjdvQ9J#ym zggkE#c`jM6)1|*jG9K4>J=2ePJu@Hwr1iR>`N%vd+ph=O|G(+JLjNb}z7qFmhUQJ& zpOGc|)5+?`os#kWW}x|hC)!`*e8(l<&tu`}!E|n=5O-Ttjj_$t@(elQgO`=N=^c zDfdO@G5aHRkN3y8KVMfq-;_L2@>xmzpP})L?Po0{|1REN&Lz3cckQp_4haVU68+3x?O}_ByW?PEg8p$cVWaU zzAHoZq7a25L7__OXoInWw~iMe=pYHzi|!m-g3nBsY>gN;2j@ zt#N!_@=eLJbiez8?gOk#p1aP{b5`sx=68uVQ2s^>;BzitRe7x`$@_pfAD-g}`kWry z^W1)(p5K2WIcjvwbnPN-ib2rew@7<83Yej*_=Z&XxSTWb6<99wqOQ$eZWz_&pNm zB%TYIC%ji!(0hV7AEP{WktF_|svq%3X+J0a+Ip^x{f%CLznK3~y+7MRa#x+Z4v;)l z@`y+tqjvmWEcQQ8Kb-qw`vY~3JFL%LIc0*AJMQb`Zjxgq%j^%8pCcsCmBgQ!=q$S@ zIXPZ3_J`d}*<-hX>`#|`ToOOiWPSf?{B~Ow(LozTO+BvF^QNH9I^XX^LWOrq}CAqC+@Z=DDqwAfL*vEY45$pQ{)oY06(MKd%m#hQkS?q6` z=FNiSdEy~=(7tk{q~8~!0A+shvmpD^qqqy=-yr@x$rmL5DjB8cfA@T@F1#)IUQAS* z&%oeADi7>%7Y>(<&EO+<7jK~Umx_<%^DX#2@i^W;#9yr9t_+u4QL>DW-TMn^|I$x~ zG+e$a`Ih86lK+x4eDrmcz$Vfow@`bR62AGli#O;hCx@RkxZ!ab$;iE#d8Ok$E%_(O zXC+^hd|C2U$#*1Uf72BAM9I@7&y$S#=4uxo*`fAe$zhV~!;2iC-%{7RCHE}he^&Z| z@=p@~+mdHUo-KKvF3C9GKS;mUHLhPHB}Yr{BzcVFv63fB&Wz+WYCj|y#~X8um$;pz(OUCi=GfDmqlAI!m-8r&T3FC9jg4DS3nBEXlu0 z&X;^kGWP#)iT@em<8O}I^CSoAA3tUJ#`z4p)AjQUlG7#sDmh>BElG2io5J*$-hZXdC;}zN`4^uNyRx*a=PS|lE0BG z%V(VO`KIJ7$;*G^;@ztJ?vT7k@^Q(yf7s8KpL->LD>*mvAKMR69Tt_0`y2B|i#JyC zWXW$!#{82?>T6WbjU}n~zgypajo*cmeHstOE6(q;y1v-}$B+5;-qHtNyhUu<{$h!HxG}N{HEkF4>|oz$=m+m+ILFcD;fKnCHuo=_mbq4N1XlW z$DI6uK3HpxbI3MOiJg)aW>gqLD z@;^1sW%1{zzAq}?E0Qt)PStC6$vlerBcF8rxaBD)-;sRjY1fYVdx(FsN+OP9(+E>+&$&zv2aecf0=<2@NJSUHotUQw+ zk1vY0`OxbB;e*vhVr4{duy7KT^EWlHHPJ z_V_Qei~BcQ{vMT_`-01Bo@C62_h<3f7jF;AUdg>ACrTb7IaP9&ByrwQJC1jp^vILc z{;uR1lIKXq_A{hMUZ(cdlGjR-Pi+5}7hOGK`O%l0{^OFnzV6zWNxt(h*N**-5`XN= z?)vd>Il2AY3&;PC>_*D2%zm?ycpuh&LGi{aUZ3Q?lDA9VAxZxi}{|GW)mWry~2olEWkyl^iZfym)+ntLu+RJ}LQ}Z(Pq)r9U^47pQ%quH^jlH5pgbIGkG zca)6n(T~yfn&e(3{BKB){C~*1_b{95^^gC{c^q4E8VVz)aUMC1P^+9Kk&y_AAv8JE zIPM9t6g4EKC_@gboJI~!2bw4i9ZV_>MU#q&Xwqp2O(DPEweRP>yY~Iu2%a^>d?N2m0#>{W;+J^~bN&|Be@p9zJ))uq2jsd>(u7bGDyx z3hQb3IL<@;xnS>a1=pX)wU~|@aT~skyV3T$`=WfESTotr$LW{;{`==Ru4_JtoGX8Z z>(3x-9GAI2!Hw%aYgnD&%4vdF^j=q0ZYy-vb!$DfQ1IC7?Z@=8pX9Jd%$f zUjbWSE7ZQWUu~0b%ep<&HIAP+r{;L7*|BjKLG7K%^lYBkc+?ySR3o2_O<;q zr)s`AbvCd2ZMl8}-sH%?!u}_iR#fh94ch(%Mvmgxhw4#PyI+t!iUk$9~x$U zH~G);6rM#df8oh>7>hn*XV%^DZnWof%{%Rwr*mxoevbZy^eN8u7cj?>f0+Fx=#7;3 z-URLWwU6~jNB{No*@#;(6MfZXUJtbM4wAD*l25`F#;h>={mC3xza5T#X=bjT!QT_5SVi(*0WG2B6-TK9>XR+xnq3 zy4HC%U&!1`#@hN97MTK@)3qz#iayp`*zbbf@it>m)??A{@J063pIECsYszyrx8n)5 zUq1aJ>Er76F1bB;0BwCVeSAUs9WwR7@;XQFTh(*h``7DMSN=ZEy8v_WGxXJx=iCMD zJXgK;QA6#Q%A9xF$Xxw>4K*CUzhN(V>ml~P!PCa`tnK~Sx=Z9r^A~-oH?dYbv(9KD z=gvZZGg+^|HMkyczFw|(Gfrl0&!_XPdJgsf>OA(`x^|ua9M7qKl-zeTHo=H!*^fkf z|CPzr#3u$&M^^cBk?dE!xNaw=X5pN=NC_(Z;dBe=W)Lt{sO(i7@0SQ z`|rhl&Bmv2720_(m^nIE=h^=E&}Y1(pT0lq5Z-UQ7INNMm`xvj59(P*f4y#X<&&8^ zpq|XlVs0+_d2Uakeol)q|8i@oi{$e#5(8+T=kLrb#=Mf)7;XMDJr{qW;Thg*3C^dV z-*tShqd8YE)c2~-u`}mQLOW0M>!??^v$pxu4dnid^Yu7}?-MidP-D6Nt?_5pw%=9s zsev`|I<)y~nA03PU{|#HRQC1jP`^Lu*G+)ua?tU7TJv>!JKB0XZzQ<~a3U^1o3Fyx zeOsJ?v#~y3&yDeVY=gF69G{m=)bC&VISuyn{8sutfU7YbU&gIifzL@*$LHl=Uxz&3 zM^T@8tjhbj0Frr`JZGoEoc zuY){CtG6TX)$zQ7&2L2C0eG)*EbC;{d6CS0%ea?yo}SCRKs(P>|GA_7Va}n?VJ5i@ zM}8a6a|iCky=ac-IYED`-nY%~vxIeY#jdGuAL)ICXg`u89?_V9l^H7smr{V_3^V0KK^_;5fygJ{i=TJjEkM_|z zRqO5h*6UVRK9=X)5q)Ui!`JLLm%4wm+UvWMe5=)0d2kv`xUSfUhBx$V?WgXB|6JF%3yh{f%ZJNvfm#EV1gsx zy^Hi8j?3^{yofh+mE2u86i47c(4OZJ_8-G#xC*y9%wqpa`?>0Me?R@zh;DL!YB|N~&9~>&wd=e&adLmw0`~3wJ6&Q za(`A2_iyjd8!!2)7=;b75jIC#AIHASzFeP)>G+oMOV+l3rpalYE3enBuKXGLpT}B# zRS7%SK2>?bEV=F{pB1R z(4J=rxpchsPRZYnci>R8^)d8K!es9M349sfMO$A$oqdiY9eM3z{nnAsS}XtFYJ)*? zU;5{%x&Hr+Nzclkx2C4BUWoSmU$LKu-{NTY?CZPDicWM94J9?8d}&HDz+_4jcf?nj$%K1}i_&~vY>6EFqS z(bnJVsE;HckD>M(OTY0r84seJU!MLtZ*Z9NY<;l%y+r?VBjhvdnxn-^r>4*KlI z_l&mxIh{*iAL{+u{2yWF^?41YZw~5x*#2AYllSl@?!;Ya^N);{{FAs4^Du3!T+cvT zUvr#XZ;C!lz$9FbwqEnyxSkp$zl-Z_9+0{5=*Iwlgn8KbLCM?s+DC0q{$}iot~vi{ zzZClGxoy8CNpkMGwkJ0~o{LyIharDu7IYIj0GC|I*c4OTG zZ^ynEz_s|IaSQ7mXwR2AQRZdgyZAZUe1%DpUycEM8*?xpBPUC~JKBB&$PLBeMw`#% zy3UIY(m#*uzu>QU0d0TpKjggXwXEymFdTtn@gcPR>Lp9RhS&|qVgNHR3-i(T>&?Ea z-sZLMcGI`aLvk*gAHe=t;~Yo+-l@_j2`AxvwEc%oll*+k2~bNx(+`Pb<4Iv&D{81snC@nJkBqkXVv@$}a@w*QCZLd|O~pE@7?b&l`B((J%!p!@^%%_%PVtFwQ z^D(M|>^DIl4o7?5PShpflc;@d{s?`3LGM+PsDn1IxgsX#%KONT#bkU6ZU5hO-z!(V zSPyMJhW);nj88f8$92D=bSi?Sunc<9&hzL#hFd?Ly7`!jX=vviXa7$udbK3HX!G~7 z{{pVV3`hPn`{gRp7bDU3k78e~!@533{~pzZzz~ zBL4$KBo4$0xX5Vle>2x##;ur*kyWK)2-^Ce$Q5D)IjysKKiAdStd}_YAJ=}>q*G0d z#dOTXx9~?ijowIm5?S|V|4z)p>NVtgG`@$nOPlJl(;hqGE!d8_ZjO4*^&+qHw9d}k zNA6QRgvZe4Q@Eeaj{CCtm0{*rhndgeIed+IMth#B*T_yYjKw%~n5Q|Nqq*xH`Qhx3 z!qNB;`f)y*+w(jSW`1Ir`7HA4F4pg1HvWwEe7avgO0Gma^S1w4uD6YG#!}Wofh!0{iK7kAI1^nye^51S@zZ>>ISASc7dzksYVdg8; zm5Dx#$H8dN^8ov+Fdt7l@{hCs1g2uB^^3#IFAX!V=h#MFF6w>R`_JHdsQF6uq(e1q zh)u8)#-p#k+Tj=V0$YgWMiWAfM#u zpBZNUtuXTk$>*cKH$9g<|JPyWkA<1PK)!-`F8Utqd5Vz>H6IaXekb{#F{*)_AO`Ju zJ}37j9u2epc$oS8F!Mt=_ae-}JjeY^V}B;j#!%~1!puJzW_~&O0ItF9Xx~rqhO!fZ z58wn$apY%5%L&!_tlz@{jpTYF+WXl+ZZp0T zX8pD>^E<-K>wSDhT^#qJ_hs+r5V=tEn){WySo-T6+y5tWq2?FUPhHOXAO;%CgbcLv z-XQlD?hdp5{V?+%hMCv!Ic~SBttNGspIi zoq{oFt<)V$_~Qsw4R?M5^VJcopThv=p*{a2>_3L{a4Bm2Cf2ro zL74ePVde|SpT$Bf)k03<#hPf(cQMR-5&DGMKZbl~jKh9t&l4MFzEha_k>sbLA9tcX zPyHC#>3}|*fi^#f{pT=%M;!UCEv3WVI27;249vp!a6jf^KK_Kiqdi}^`5E+?g^%J= zNB^U979Ol9NQ?G_>b? zkNlT-6pv#Jbw2EheQ*FK;y8Q=?YwaFe{zl@^ecvXf42WtuJ6GQ@e}m6=DA>fY>BZL zhrMth+IivTf8-n&&_mxcj{YOrpN3hOg9q^&%*R5!gr(cqlgm2X{4)A&zzp1uc8Zs| zYDLy}V*-xGB;0|vUlsNnViRnETJL8)2cN<;Ovlam2HJVy=6lk|b$_=1Ir3%O$`vo( zjy7Mpo$RzlAI782*I~c4$#-|;8-((rF4X*Z z?Tgws$I*XnnE8F=%XgLMqkZ!n{fm+dHQ$8%Xw<$1j{ZZ#%%_mwga7K=(|+=0{brc? z6Xff4qaS^}j{eojg_^&G{4CVIQI7so!pyHCe+0E}jHCajVdgKA@6cVIkM{LB`p1w9 zH9wGi8fxEoNB<|o%x@!q4z+KBqyMQe^V+v{oID@xo8;)RHyReZNci{HU+9RzGL0{>EChpO5Z*PSpEYtBjZ^plp^51lS2-g!a2`AwcwDrB%?}LN!O8b=_ z%=xj3!@leX?vZ>ZUcx#<>`7(q>VKvEnsbipu|2x_*;922Gk;5%c|FHa>QZ?=`rPb! zuI74k^rP0f^4E~79cF#qF!Rx2=DBUp0uG*muiG18J+p}XmmJjJ|5~Gj?AOMIXxnry zCOb*R#bX$1{Zi`dP*;vQSBE%1kK747g&8H~JUMtvDSL8R>mReRpX&t}9U<3ausim| z0cgAW*jZ_eTvcYdgzY`>NW% z2KCy1v+38>(Qgj>-{Fr~rJT&Gf$h+qO6y;tt`I%sqwso1z2@vZt+Vs`(dQA&#vClb zqUCL+tTlIn+$mFMtGx74E3@v21Mof^gGp%nO=5oS@thrLy~Jz_GVx0 z%X$z#Xq?D;DlRnY@26bG{!7MJS#QTrjGwYTjK3IvW&HbqLllc9I8!!h8(dK7V zmz_B{7hl7K8gl(%oP+bw_Vco@b(&l0$p6WH34UK*X>5&ocnM2fD-+A0ou6vzG*`=! zpTYhdoQtnvLQU=;=iofF^S$hAo#s}$^8CKIYIqHH!zg}#RwwL=JKdR?1rI3+R(xU-mbnpMG;N9W&5&O{7lyv|z3elQ7M3o?`UX`zg^- zCfNJ&1nKL#-?luD2T{-A%Iovg=ip_o-j}`qXB*4Thv;b{>jr4^IVR_gA&)kHl>Bi# ziNE4`)Va2PIp^4jIV~ii{>u6?+WKnEWv2mpTgqCs`CjDiz~ML%ZGISY$Kq_9j{)3* zwtgn(nTMH1oB!l`*|~%n?PQ&UHXq+gb{;{0TUoC{o6jTHy0u&>)n2>?ZC?L9q5%0M z&XMLgkN$ft1KUU^J%_rUb7f#+tmIPB&VQCZ`%vfVbFul8jp{Wq0MKK`wjn<>tK_zZbzRf+K*gKM?SKn)TtFZ$vOt@loB_}PB0V6 zZE={zel}jhQ0Hm?+$*fFMV;2?JLc>D8Lq3Y^XmQD`_no0{wCcdJ1f!SleHIR_1AxD z?k(~KrtYt#{5QW(d>m776K=-W(PRGa{?4)y(M3$fn69#p!xfl?U!!T~(LU|z(+MAR z^tJW1yUC9J|HGr=WSxQmJd3}h{{Ka7Kkak5```Dm`FC!W9bXSI0Rxzap4)7ttTp#C zx!3Rm+=u__W7@Q$ul{=;-kuVONB#dFXRtQq9?gy5`u+G2&O+^D>&IOm@z1RkjBX|C z)@buH!p!IK_v-XpTH>Fr5-@--VixYjPteYPB2D@%L+y8;Bd@s)xZdWbMko&{ob-wB5g3g0(%*0`}EKthYJx z-dO278#CI=I&gznh$TD7+Rpoud_1}NsP#6V&YYe24t|3+@1_3)bFLH2vH4hXy-YsC zk-v$Y+BwYnJ@i#SVeL9!R!4b`>PM^(VpJ!&9)tG&GN)NCD%>carvZ2m-j6mv;wH)O#9Z|FWZ&lfT%U_iqpkl* z`$@(@bg)J-sbRg&h>fKf9zNJ$5#*knB~!btQul(jJ58MV;#T^Xt|G# zQ1hCbPF*Sn&@zRMQ1ge$t6#GI2EWAu{2vry2aDr17>@(d)>jELuYIql&WGI{{hP8M zYCeIyI*j#5OvD9f???Ana9#gBmoFUoCG3Zq*W4!RvdkQNo^@OgHD9KvbWqE(u85V< z_4fzppVP0lCVw01pTj?wwLNdwF!S1XICV+*4@dvO?1!4)P5yn{i(grc=GpR41INu?LRQg zy!M?!T@?Lwj_p5|T&Q`?&85yuf1P9d&m>M*7gX^K@HTNEMIrur6_MW%d4>kWH&wC5Lg1aye3((Hn7G{1&nE62^ zW#SMVj^i;E18C2uf1Z7)`7vSkug$;DxCu9-{(1J>SZARzzI)Dung1=!e1GN+!XY>glQ9MD^BEpy{=P8t2gs|3SRY1v9#<}(d;y-t^H{O8 z?Ii0XT-W+Pg5>X@kJ_L0AV+^!E|Gi^PQoep6xve{VPET~2FV}bx_XH9VYK~SxqR{k zcoxrN#WJ=N&zI|3|3{E~7y8^~9OmdBU|(Is`gKP>uAH1J-gqbLfw&4w^Y4XLL3@`k zvHxZTxsrz~uChs4m*RT7N-oKfFGsE(#^5a>)=wwr$2k~4d&*zEvQx66sDDpE6lD>#9_p%L6i(HB>gqb`XR!Yi2Ji@eIatnf3JbCHJ+l8l&cpSqFbWe*T~$Z@ zZTteE4-PO6W<3h+{9N{rV7~E3*5}dIM-7$xQtPm;kI{HL+Iro;hwDlB4@dqk_Cw8Q z4U_Y|i~I0*gZn1Ns53AFvQ*x!!_@pDK1 zD8JzS6^kUw`6AHvPhj6WT5>g>k$)hojW)l9e2M!dUlJqGhkl%e^Kl_A!X>yG*WgCn zg4=Kh?#6d;FMf;%@i2NqyuWPjZyz2Ba=-TZ_?Z(wMxKu!KSG=TmHc_k2$J`YmA;EG z6W_#r_$k_X9{xcq@VyD=3TiY^2yxSGpO^oJLbFk-DvtfNUnJbDRSy^)|qJYy8k8D^DrM1IhWqItuOh2ybt~S=;tMu&yBwC^}P2=y!R`8|EWA@ zegF169XQWWoQaR1e!d3qd9w9$$UTi8;?G!?uM@prdq1|{dpw71?D&v8FSR@CkvQGq zEcR{x8~7hcR3GcUX!E*%FW3E3~Zu+^`=k9uLw%^ChyMT?kuNbs>`}0kI zp0sv+|K7{b!~J*&PoeF9jIZ-k#$Q;UL;X1#Zv7?di|~E9JYMbi`4PpwTAy`eY>BS( z=)P)y-rMtQt{;7E{tNc?*9W#fgP#-XHrDUp`{w7!oxC@75bOJJH0sX{J8!3>{|D@U zY&^jFa~$rNH;(=B#wo0)8C~bgW6lZu9`)yry&wI#l)&dR3GL^8E1x6#>o|QcSNiL= zV82eY=Z)s)X$x$NJ<#U2vHyB>A~n4!u|f>tPFQh59~{ zc`ws(KHB^3Po2I`{dIYN-k<)u+Q;W28THp)!G4`(-c2j!Nj~pKsF8 z_HRP&PD~=Fb=UBHq88fvmDH`njrb~N;tsU+d)Pl{JnYEpzWOb>?}FrQ?hJW-F8a@b z_I#Jf)#16c!C1%h)US(Ce0`{CtZo0hP3{5KQyh8ivx4jE(0)JN$j^pIjmnqFXyg|4KWtuFxdSa;Qs9W*z@Ug zo5b@=#`&0mAL4#2IZK|)Gjqgk_$D4keU4xAJoPy?aXha!^gWMl$mw&p=MR{?k9>be zf9<>T5jl6hdC#_gB00?$kT2=z?|D@EK8gCCa_7o^{5BBImSUH+H_}J3apI`2e3kn=hch=99@SaOAtuSI?t;_3PO7&oudT z`tEe}kK{f*=Kbh%v+u{wYxy76$20dCT!!zUomXeJJm&`39M7ZuK4$9!Chz0()gNvC z80U!PbEI})ZSx+J3zknrnGoldp#LF&bU{?qGg@9E5LTF6Yty_B`?QSNpT} zERypV$BKA0R>mqAi*Yyr2jf^AhYw;B&caa7cdtGd>cX8j*)dQ1Ug`a7U)TL;|6QCv z8!uoK=hEjHtlt9ap2lUk64&7dd>LKygUw6jeCo5TeT(Ju(gpkA9e5}9!(>dsG+d6G za5KJy8Mq7W=S9z@>iJf4&MTd_)iF=|Ug`a7U)TL;|02wfzz&#z`aFa6+sAV_fQRu2 zp2Y9*G`i*on^*lA`CQb*I_Sdzn1E?mfaRZ+`lk3KK8^PM2iR9LSkGA^ebO*0P1d&l zwJ`HL$PcFP{g`Ct?P8sS`B;D#@lPzq`6AGD-jd|YUH-a*%$nkbeVpzSi02 zHI#l&Vg|-8mFMeSCMKcpIa&L$({foSpzZ&t>96%YsJHpo$Y-ZSG_mP`a+&}B=@J!P0wTd{Yn37oXd5-$LV|e3j5pp z)pJ(hoO+I{9nVKUH?zqVdY}5aN-@v9t)u_*?61WQSaqemuUL#jdq01YuN-2& z0=ZE0Gsw@zR9uGkJf2l@?lKsOZPDhpv%eE}+f45^Sk1$*vH}B?2kly-emUgSSx+= z)5QuK#A~n_w!<0u@1_IwFEm&us9 zUY<)9+WanZx%lWh$)};szaM6P3Vo*G!>Ds?|HE8Ag2!-%-Usj7_1^V8Pj)rocoJ>DX!iY>g6XLBpRxV|kD%?RbvwAe6ZJecUu2VMeucK*9Qyg0=gW{ji7zt;b1;%V325i#1ew=` z{x!nv{~CRR_3uOfU+^M&g3Rk-?kCiFY4l%?0bGOWsOJfGeti#V=5rA2y%chP`d;+& zpzmMj+V}5$N#1i$jK_g!^PSjN?+lWEoa;~E(|8v3bLPLo^M6L2dXlw14}1P9ugd)n zK;LV!PDPt9HWF6Tb&phUzWN&EY5kO(Du{& zu=ndDul8U)0&QOR&*}Bua-Y!{i{sJOucU4-euST+*7u`c9mqNn#~EGoTyymN+F!ME z?D?~pdl5^$Bllkgt7A>f!=JGL&ta)|rM?{6dBN&!Ue9%z^SRD7j`<$u>N#vbAGyJp zfcI&=DHzXw24SMSbk3V6QW1i*~kXwYy zOkEr5ec08}Z#nzxa3kj8VLXC)_#NiFFVE!&=HUta0SnMRzhLz?-Oa9x@e9nu1o}+GEvR#B{|~7P*7p=STd(`- zFXVp33tE@`_n&VM`xEgpR^{9QT#t6X)+JLn9ltYu^to#veJ=l_A9JSSOw@DOe6ziB zUn6i7j>fS#5zl=n`Klj@kysP&z`M}Si(ubXZ}VR<_b7gkH*=2ln1{ESbJ%_laouk$ z{W15037CxYF@P_k?Z1e=+p!M07_|Ltz1E$eUh4)>uk+VB=4Z0M8_!{veR6-5J{23_ zRGf+SJX)7R{X$%ZJ*c|}XX9K)Kig+LeLlc_cmVBrbpJE1AHrPx3M+gf_Ze>eks$T? zTrWodQdrtCZ!r6#a4c@cowys{$B%J1&v7y?z(tPdTW`PIcXKQ}AnQ_&yyljZZ%b6@(ow(q;+XLA4Duoq6msW=Ot zz-KY-oYZf`m2Kq@$XShcp6&A@eQr1?eSFv(gVkqI|0CM`5A<1oR{9q&BIoO0lt0MF z6lhK@dS2?T!}_Rw{t+pCmSQ&dy&ogm$@P?2@#-7IYtW4MOgbm?rWy4)+x$=DE~4Jo z6z=aKY|i-(bFSlfw*B9qtEuCB|GH25eTe$r^}g*K`y6zxy`O{*a-P?)<}I>rg3a)H zddw7nOunOwu(B>EM7Yi4}$$N^vRb1Umbmdo4r-oYJ zq>J=zhOx$utcT(V9EJ8gdR-kyZk{8b!+wu$a*m$Z2e0G4+h9lRjSF!x+Vj-xDt#BB z?H8;*pSn|6j&oJOO4t?ce7%poTtCuN&htB_nESBxpHY|IUFtG!6Z25}l%>ye==!{9 zzt8D=6l<9NI>(-;fP884<*_o_y!L(0^tb0P5#sqb(q}WijtB5_`~oY|w-VMw{TvKo zoq(h9LA3Xiz}I6QcIzSUBN=U8_owl`9>%qpj{3aEGgm(sw%>B*tivssgI{1i{)T^| z?Wei3Tra_SN@F>!h}EzLHo!4x`yaZU&nq6s61`>rDr}5NgJl0vJc&P`?LUaRA$YHG z4C{$#>vysLvGD-w!*~>J{h#a?jhAzm!-;6~y8kfOQwB<1I@@Lxd*WWGc_Gs(1F6U0k&Z9` z?em(){sLTtX_$l8^E~bIv;BII)8~I@n9uVx@9Q!~@!qzhoma@ba{c7}=2EBc-R6su z3pKB~DC)B5uXAkws^mh=YpykQne^8=wtr)Cq2@IgN1c8hJQ}-I{ zHynB0|DEf4KRM?7O&s5EH2)!aRqO5f+Vq#NiyN?y@gCO0(bmsl|8aa8e|F@{^SP>G zyoR-XpZ5LP`C8}tJlVW{U$1VyuXksy-pX1(Z?CXE$a6i4w!ijOwa*ahwU2&&ZM}Yu z)ke(GpF1|6#`RSWUtnK97q-4&u)P0r_lTP@4{bh*{ULZSjz+CJ$GX@M=^KHz-$3>! z;1qn=n8MoDhg!GUQJ=&9PsY=%s}Gg)*D_wm+Meez_Uk7|T`azcu6!+%zn^syu65Ke zW!^5-e87>{+>hi7un=#iPUmYM*Zir&7U@}ueq({v+zCq0QaNznM=P^e8$l~g8iyk3-vzi{pN99J;8eX z2zgF^T#ljEpP|q1SeE)IZ13o&`=QQ%i#`R~Z={^thuyIsCg5bW_v2@O1+K@9_!4d! zC3CXysmr*Ag)x{v$1U-YA`|A~Ax@-?uLsUJzbdcUKetB;;X z>s9UJI^WftPoG}`f6;;;V>pKob4JVkMmnBvFZ#_uKR$t4f0{n(Io1*MEpK$qbIsBF z(f+EPW8c?M-pd}$;5odl&xPlZhXs!3;`;pgO@DnaSK4nb^LOJ;o}>C8&vCZneZ558 ztGLbdv(HEGSNrRGv2$GaU)`Lq3+D>8z9038#(At$F%9*;pJa}@mi23R2<`p4`s)4L zKDJ&zN4dOr{T%(u=Si)^bGP*+$u-56*c$cgG==qiT!gltt4~|29clZz3|^*ZK1PThQ5X!_an z>iuLp=2T&h>wbTxe;V~GFcS+=&mF8^GxGh7BUo#FTh66+V0{-3HoDI5nxprl{Z%{1 zKF^8|%KM5#&v;pTF$R4Yk9VQ%*P1@agE@(U-({Ctd=C~F_)VIfwVB-gv5J?|3wEXP&2!O`E=e@5;& z>iqARZ}WGsKLH~+m)CK=C&|5pn$!ET{UavJ{no{3Y=$$OgwPZaqW zOhD~p>+fRjmDc;IpNCK3614MNIh}9w`#67Gs=P-(COjqUsW=;5^@r%AUTMGT3uSIy zY=;B!UYvkaaText{tKw*pXoUNN7O};FG{XFwnZOy!8o+fL;L9chuTMyc?d8^L0cY_BAH3w&yMWtkieG`b%Wp5S!otOiYvONw^%> zpzS}AzSD39uEUMgWjN|Jx08G}RyXHL(DUIQwCBXwSQs{f}`!w&8ho#{^u4_PywHw*6}^mG@Z>o8v3St*o=~FnX3r zeQmV;CzE>!r(=rNn}Vh6yXJd?%uAqs=W zw?Wf;sbzPqF?0_o1zK)opd;*RPi6k&WNuCA9rFu91A? zIx!CK#&j&TUaoubbF}^5qhASA{~GIH^>x!_&O?}o`B;Ea8zg7v>-8dBS6%tEAammB zGt@D!$3{6v)MhaeKineg9L&g&^}E>qWm$K{9%%1p6a7nWl6(VlT5t33l7An+z#oj~ zS^t3-(e}HIxp^4L{pkHI=6;rA4(6flHG-<~gr`mgaMUP3+Z*WBOtdY|;S{q(-{ zIqQAs=gj8k(`O+*jlCWBpTqTU@Dx@gUmar{^^^F#FML&=e*mLileG_bWXjr}_W=;uE5{*t)QO55ZEuXV$N2%&m41K zQI7jcWIq{aIPN!}{(sD+}KHftD-XG$7(fiQ%qW59XZRbs=|0#^&dFbcB z<}=9cz$`p$>O0WqrXc-(;W=*GF7G1`qu-QuJo+&e%Vx>-t1$}eV`H@Ezw-^Ldj+@R z>$n4V;W#tj_8U)b63)Wq#?`FX;bye`&auBmpT`b4ua|S^^U!nY^9XR=_A5%Csg8a& z?<3a>@4&I9{wL0L-ki_&)B8~Slh4DXx8(i`(6dw4k(m6ptkWa`b;$`C%89-hZ$A4%>uOvHt_0@vUhxCf7*eO`ym`4^k{ zeW}xVFR~7`|DW_P$#W@(?TuYouVVfh%rfWc&-@{%_jiEx7wEd*rtivg>|nfy^*Een zoXOfgzjXFDW85CzC-2+7Kl{Fd_3KH$49vs>sQt@x-`amMYujJ*5nNZb-sW}gYi90O ztZn{lzD|6+_q%uwUwt6YW2krMYTd#GSs2@$e_R;TK`nj?7iPT+b{X-wi=Xxd<;6=3awzHpw zd8ltapa-67UrOHS+UyqR2|gQ>U%ZT?60=jO*=LPyklW*^sf0mr)TLj6^J|Or1 z7(QcM$~qJ6{XY1q)NjJW2W9;Y+Wd5K&*NHLk2e3#XVPyEeu?!R{fi%xd{0cqckmoO z`?=)oJXbz~d_4Lc^`2bmdow0r5(Y3E?fi~kNPQxv9+CA@Ty;#=?_rnYvL27NU)Lc0 zY(Cun;pQiCo{d=ejhw#-_j3$On)^z3+~2$){p|gP+dtg=JDleSOy~aI!!Pg%R_1>D zp*^qGzd>GoGsOBzhvoT3p)XI?3ycBQ`nmd=^Q3(%`4wo-r}K+OKJ_{1=d8Tr^QCpS@b&lmQJJHC^mD84QTtSO z^y^8V{>CKMaXja{9MAi1a-rs*C%+q;axVS8VV{@gz9z5tp>;NYoLoNsf@km|7U8*- z!5TQ1&y9W`vHdmIhWupmT4(dc_}tXNQRKDG=F5kf*S;~->DTR0=GguX$c38M&;3g3 zRQ*1%p3lW5$LC|j3Hf}^L*I9@PQpU;=KuZIOTtOnACC>lH^JuE8ehV9Fp9o0j{eE? zeG&`ML%r5@cGN!-q~1P%os&jgo}Ft7p5}U}c|CWq=cMl;)jT(S5Bl89aXhc^9NyID zaZ27#8MJxL9n}2ylJ}z4MLX&>*N}V@Y>ryj*-`JRyMg-s_$6we0rXRcJNl2IE(s^% zOtjBq75i&&J-+J5zsr6$eu#Q*+kXz{ROho^>^OfK`|3*8>m2zX+5ZJ^`$694AhhQh z%)WXr>oJb}1oqV_tYJcU)@m+m)uVk> z({Sp~GDn@pdKS*cR5azD9QM`ytPf%?{)x6;_sjnx=kVdJX!E7m4>hm3YpILI7LNW^ z*$*`zPhRcAx*ra}8EEfE_n+i?0M|S6kFy_YK7K`se~wHwzRo%ae_ts%dp@o2XX@9Q z`a;&WK7oBdYR)w;;tl1Y_qX*oso#x7f0wlvKm9}2 zc^Is|tf{woowJ8|A7LKae9J5T8R^@8diLn96-*Vj=n*^$V#>!3Qt^2Ron52RpCL7v+9SVp+TnZNC0Rd4E$ciP`uG z+WZaVJL3TS8h^m#5bKAT`XSO+tbI!m#%tw3P$Jn2bskqFMPr5Aqr(g~qM%&+S za(S!^Fu_yipCyTC>o2h1y@=#ui;4+o^L5EJGx;v$bUh8z8tIjol0CR_96muFo z=B1O1;JWrrW}S}(j{4!nd`4d=(-V(B38LMF(jKLdm7~1~(+5a5# z@r)zir=-li3lnhy{*V6be~$Th#*yz+ivF006VUcQ#(ud7sq>T;z39rH)_y_q(e&+) z+P4mM^|2wwVLaZ6cVh}ZhxUA}n9~m1V^_5KQS6V$MEXu}^v`Dhdt>P`JU=twQ*xi< z7kC0q{QrIYJb#SBCXW7|Rr2fVsxOH8&z+4Ne_v-^^4C5u`54T?0t~fZ7y9+a{x}#D zalJ7&AoIP<`@cTVICGviS?6LQ+V_*p{t}b>Z{3fcV>Zw0KYd@v%gN_!PI)l{cjHHx zi}wE8v9I;P@<|nBP8R0kX|(+xcI1ya^1iF2{|rpUHE8>fWq&+Q!YQcr%UIj`RIkii zfzRVQ%re^g9Ik(j-{46sFxvX$iZcIa^jS*(M?4QD4vCvqvlJp6;zBF~N`ubdt zuPpr|tBA2^=lwyxn#o^FzBXRxs4q|5mDX$Bwe+ctdVZbjI)5_fnvSWMhO2QKZpUo2 z&to?G^G#msY(7v`p6^$fkBzJS{rerx{zlBkqmFzOKWD11mG9sBbEdiD=S^qwpRJaB z0p_e>jiL5SqTdws;~PdhFYv!SZ;qL_k99tJ%>70(-@Y%+EhewID?M)%@1{k_bM#A~sx<2+s2 zSL0Z}ir!jsU#&3-{aAoE)s~ze*P^}uN9g;a(avj3Up3f#kIuuk#&FN~m^t4T)_R^6 zoKK&}6xMo<5@!AldOq_&^m(}EnYbs|JexnnxsTvooKqcQ?qeP6mvA`eR_|x6@7d1N zzN+nS^9fP%x!HpSShi_oqXUzQFtaaX1%(wSz z@5i27&smfD40JuGgzMzFjzil&iG6i4>vNi~EA>%W4;x?%_Cec!6@6CYdfbRFq0Z|X zq+bHp)sd`EU;%pT$+;_IRgA)$(Vll9^^0%`K8LGN=d}saFP`gaKh_5^4?Xqeyv4C3 zda)(i^UkFHQG6Vqz=f#u>Idl;;QAWegukJ$ft+&~+Vey;lpiceYnpfQP4fni*o63D`#!Sq|0xaI_@9+16F!LLmOP^CML~o23 zgYh^=*VoJS<(PxNp?&_@^#2Gy!GjoO=GppYoGTXfJaC$`VCOwd-3d%$ z&NRoopV|Kv&*MieLs92dcD(;D zTFd>`Y$N(`9NPOG8Y{VFxDqq*ES6|5xsq5GZ9lF1in=`0$L90t)8z)~zXa=dkhRU1 z%3Y)?$0&PK96AYZ9bK`>eH+* zVnj!I?lUk2H=ylj^MN4wJgyhup-wU{7mM5|>sYk&v`#%upLpsMQ2XYYzP6vu7Y50X z<6L*%Bj)di%cLAg^Yz-iPtb8HIifU>0U$xczPZfv)o2CgK!)6m5PT`!8dl zo7BIEHm|uIMTP8g5(p*`QT)a7EZ`~>>^183kIoQqH3 zDy-5=&J}}waR5$2d%iu?d%3P^zhL#hQn&MVng0oXhcUf57k0!r%*0&m*GKY+cmR)} zJ^vEsJcj|?irPPm{cW?=QcvLA&b(VjPz{VdGG)^|$159gq*f1Ujj{Uq@COX`d>3=Szv3VGC)#;e4UzY>8nf`~ zp@0AWx^cZ1p2tgQ``<~QL70fs9sRen|1+M!nhA2AT38qDymIV^nty=&1pEhX!hAf7 z7qH5(zkfbj_d2;8)IRpS?dfwD-i^cXUi71_-@yI>y*^ydRSs=lbGhX6@Ql`*g4^iR z8~fs2csH)V6L=a;JCEmHIbTUEh2zkVOVHNWVZS~$!xq>MyJ9?!!qKSnY=7HF^Qz6~ z((fxgIYREQ0B4Pq^*sC(^RU_|xvs{u9)xyYL6A8C$D9K8y=I)A2mUkCy#SxCbwfk^Pcm#ojm=C!@Vzo&Oc*$iuph z^L)yjb7=eN`NndtuhG`o^VZ~i9Wm7N-_AK_;T&9mX_$fbx!Ln;?hyIIn1`pZ08`C- zvi+jDem550FYm|ecyG2|-@EFez6@5zzL+JakaD6Zi!F$n_*ScW&oKn(3-Ou_U=Hhw$9g9TR$+C9kZX%z8 zryTXG*1P`%CIv^D6|IAE15%Zo-#Q&)tGP-O=^DLhYx0 z>(Nj9>;DYm>aY9LshfwXxDr>Rect@?%)_^RkM>b*KU=SJ)L`@OFDo5VaWU@1isj^b zG&aRPI0_%eS-1wX@LkNt0&G!U`nShUI0XH;72m*j@N0~yV4sAnA7DQfpTg%I`KYU; zPOZnfJ=!Tr?5mSlFL2~vV1Etn#%~?@$GtLf6M8Djx)s{n;eRVeLC60U+`|7)_KX>Fkl{g?4$7;H7&(FROyWm}pyq|q_HtQvh z{BHI?!~+;vSq?G)M_{sXI_nuY8|R|A9nV$lS4HhVl=U#wdA2^4>q{_zt8qPkjkaE| zZ{+$bnCr+Fu&oS^vrPqFgVHEgbnY_K)L_*tP24_t*S#ax3u&da0|7 zRq+-_KR^5GY}QX;Dt?NGv3xZ-Ur!u>_SEU*H{qLjrTwCr(-d2y&oO@t`xEdVI2|9u z1^6_!kCZ!k0+*n@zun~D$Gx~8zre5XcMP?^=0-FB0i5hO&$sNCs4gc>#AKX-kD|Sw zPuNeWAy=ZV5#ungrmQ1siCu6w%I;tPd6s@1>DS!R?;L$EpeIPbLi%2G^uL}tZU4i0 zPjK!nn2BHEUw111?F9Qj;~CWFX!El<-&{<^=g{V}+0WuR>2uHFdHsrIYTHU#&$?Fp z0Qcj0v{g1&hPkg^;rwdU#hd!Ij`!{5KGbTgYhVK$goPLtC3lj9ew5w6{!{y^uKum) z`&Xs>w<1wusPpukPn&bb(MQjj!dklj^`DK{4>kV+bJpPo+=zL23jdlU|4nnRa6Jq6 znmT>%w*JlQWap~7VgioG$@mX+)#ua4*4zAL`o!0hD`W9}jIJ;HN%$lNa1;K4^&3b& z0qs0L`-MUDHIz!1@mzPA#&wsOT;GWw8gp5@tP*YSOxE+cuSNK5ko(l

    y*q=(=y+ zcip${yY5@}Gnw;$b^jSWha(|AkK+Fydmd%^JgBbEhkhQG@*GxR0N0>CFMVIZ+|2W` zpGy6F1yi55t=G?6Fnc=Y>*q0;gBf;;9iTqf! zv8-#LJ#QTQy^RN1e}z{yk;+?|inpWfw~_oy_$t1RyYWi<_u(AxV*z?OPb}&=?fE8f zeHuQ3*%;AGDk@{Nu_^23*c#iTo%c3<-#7iQB3}`8o~<9w^)WaBGqDhhH;8T3@9%f}qi5&&IgaBz&hxX@%&g3s zk>!kKC1V)~yS{5-(3r|th8d@02Kvq?%K6N~vIOT9roSwYIn2vE#!}}bqg^~CEOr5=CM?$RnN;|a&R$OvX(Hr|AJ_#q}+zZ>zYe@>G1?kDacoPvwcu3yUhr?>$R z>Ea?o*cr3%CA9UfVtzEI z9xgHy!{p~;6lY`2o-V!*279~l0Q?8q^~bZ`{TM~tPr&qZ4dW^ddit~LH6dR6+hO{* z@gJCVwBI;++V2m&Y^ECr&AI3tQu?^-y>JcMDi?EZwYYvCK8erZYiRRx$S=ml7{}$f zzx9JBxfMHOF@At45qCWm-DuyR{Y+j4an?(jAC5VgixV-5FXJm1H-5@^1C|>r7;nW& zW8J=ifBttM2950)cfhc*KjSkn8?V91Sb&AbV#bTH#8}2yRxp;8jAh_tw;$Pr@nLwW zt`jD7{~qQ(Mu@v0LHwD-XJWGXlmGYe^3S9HpZ<8!<3NuSspqZqJ%0-#%J_GcCzUV% zJvtDGQ^)!a^ESSmdFxl6czv9Z`gkF2efvDt_*tHhHr_t3H7@nU>-lco=!w_I1M5~# zygpu7cY5NVJlXB2)+x@q*ajn*iP`uf&coM?A29wHKQV4+yaRtRHayk!b1)uiY{6Kz zVl4YGJ{kKPuVOqJ#~GuHC*xFOjPU|oXe?#C7T4oO+=i97%eb4dY}(JAM=BnUZLvF^ zh!>&D+V^K6_j@4*Id|Xv-k0hAru!cy&)#>9|M&j8^ZK85|LyZk^EZhsB1ExOr#f3D}e_n^+Z zjPw2szd&1mUnTdqX52U3zyG~o?p%EL%buSef7TYduO>l{Pit#WydJ;Sj-GfuzO6kx z@p}AQPxi#?aWD1wmu9;G`@GQjX-|DUU#zn{@w!h^Lj8~rR|7xBe#i);KyLf)d zI()p6hcK4*d8Lns@_6E9I%8=+ZtCNwyqb7<3uE~JWBCMQef*Vkn76*nyj;e373$-* zJ-=%?w}(CFXX6$3DDjV>&R^$k)wxTZyZry_`D_2yRPLKSe?1JyJdt|7tgmLg@@)TQJU>3y^9y&P zjgMrwnSXuVz{g4Zb%MSQvH63^pMlTgt7zkWaSQnP`8qB_`*o15S4O|z;a1zfNeJ_G zl|8K4TBkS$L0DU&~^gDw2 zEAbi}gORh`4hNv!?=8eVg@rf=v&kFf$v>L;vcZI&5Xn$#1BUsA7lQ*1b)i(&+$tP zoa-vq#~>b>z$3Zd20J9MJJ);R$qBrW>zCnG2^`1u+worGLyRZm9Gr)*Ve5am^XP&0 zyc3zsfmVlT|Z z3()rS9`oN~WQdCxj5fZ!n(?XBNyCoV1-qiw&0>5#-h|`O_EUSPn|a^@XAuT2bmK5) z;vM(`+Ip?2mxdki1hny|GCv-*UN=wu)2kVOAMp?2BltLKzj5u`G&r0-uEQHp=U~DE zy)SYzr(y<39le;Bd6{u3~;1mf@G4`0J|~ue$l<7315U`gbs&Z2S>5-H!TV20n~-zl)e}T+3Za z$1`yV=Aq3$ka=IejgJ%mDVCvrzLt#-*LE}g@eI5WFTzXkQoI~(y&IU9xr|pB53A!c zLpTs^y(Q!=H~AkhUWcmJH$lDmT(83R2e=ixpn*2Vb^B4?Do;PQe?5?@qFUmLB(C{iT{ka8q_T&uGAB+xDLeU5SQnPKb*Luuni`gKY;kRPcw@WnTF zE9T%0_&S#3P7E}0@paJltGqXfFU3!kZxW)^k&_uefluSt7;5SYbioMrLsLGmmAoAo zAg-w=KKD>pp%C*@-8hQ2ekSvZo5^^-Cq9<~ay;WlY+=SF##M~J^u*`zb=xhNhxejQ zyRn+_Z}Iika$JQC_{$8v>oV4-l zx&AFyps#*MzRr0Xi|{q9#1LQCgz<8;>z_mX5WLW6<4>o~1*o4R?5qC_aW(k5Cx{`` z>zFv>Dmn9uEhWKN#GoFgJpAVSdh+p8hp7_)0 zS3kcvi?4^It^X_6f5*L8-}Cj$5zM#7ws^cJ{t@OM!>Rb3Cw?Yh2W`b{zRn5pdEEA| z>(>)k#MdqJ(Z+vA+|Q_=6YHy=!@7@S8E*FU^Ddt+zs4=N9e>0ipO2ejb8LydFaw99 z-H)%nzK;4c$@M~>`m>nV*G-EVFU4i3uUl+?-S|A7j=k_g%*OGUj}y_>8_c{f-^NFY zms1(fQGGtoclCU}Z^3*BTPKK*QTG)rM*ZB~QpTU5?e}5oPs5qG5;vp1u1S=?*yP)I z)qk0|1*kk5uXPXL>ys?Z(bp>`p#fjFG(r3IkO>dWAWp^@uR|N3c8HsaU@k5|8$XG8 z{an{47{@&Es(TvOGw}jXd^ul-ZNW-xeVFT{47Xu`ue%yx7V7IWS-`yA&&AXki4o%T zb)JpSY362b$88vBZX?~;#_viHzp;hO+k-hR-S`f)tGvkkYV3cwi#Q8y{08FcaXlTC zXXEeZ`nOn#!6RH`2q&U1f2GN9Wb*Sp`O5o{{57b4?0TTFNVpBc=8WqK8Q{55LDg( z#&-SEu$%cAf5+OLZKNBAn3t^>r+MQ0FfTJ0U+jr*$?M&@wcUDpJ-XlkHu}nJ0f|E!WZSSeJ9u|Gyl@ z_zL5djO~8*w~qdu!Pe93|3Dpgr52{3jn8HNVSE%H_ry2lKDNN_#-5DN#KAZe?fTa< zf3wF4%vnM$FKfB%nGi5i26N4pEIt<>*%I90`2+_@;cS} zIP(Qqh&F#d^ULsET!}wm725psc^#|Qzj=)JVxstB;(qkR58`$7`Iw7!J+FTs;`(Da z6$|kNoQpABj<(+buP_cuRG-L9zD^^Y=^ zQ#|V@%9~1_`m_BXda#>mjz{C|sMl9<&+Ds4iIa~p4(N5LS+F7VZLkyeGWKO`(gVrn z4fW*z$h_3+)v)LFsf|0ExN|-6U77EN5mcVt&j_x|YZ=EdmDiDaUActUi=Uvar@U3< z%a0jvz)fiL*LmVnJ@;Sp=W|_;6ZM@!pZa|x>btRC-iyw453Mf` zBCZLxHvOrNufNOaLuNA`g*ljqW_tn6-@$d=SM{fJ(tWo1ckp<)7eBzY_$hvYHva+U zA4L6o$27*zViC^8SJ2km-#RNi^(vVE33uThPke~Sk?h2{J7(ZuwEb7|?;-2>cZ)Rs zoueNXVKM(+@jf>7{Ch<$>O^p7lJUnR8L$2#^re2Zj@@5B`W%EYT;%CraaVCYYVvIT zDz4Y&-z_4Tfi_-o&A6V0mwVzTF+bI)e=pI$)7;I!hsY|%>HK>}Cfa_w6PJaB_!Vx& z>elOR>b=ES{q*znqr6Pw73b@JG;!Lu)IRKfb=~TV_wD;uPydRqZO(m|CqByjOe`|K z$hc?7?W7N$jG1^9=Hks5F#j#5-YV3;d#z@?5$*3`*}=Ri7f3d*uBV>{%s0V9v9%{Y zjrrrT8|r)l=0DBLKE&(%On4xV>+*iakKN9^ZHpNz+__oZ4u?y-vOnU*%OM6~6K973$<0Rwbj88nu zWuA#=p{=)^_*M87ev3P>3T?jf%DCQzb-H`jQ(U5T8j>Hx!#wp`Fn<)bMfG9(&EmQo z#rS4CskO^E18u(II&!@S_Dm3e7xnWo+5Gv$FT^+TZCrsL;8*w^+Wu|cr=GmM%-3LF zDW3glUDatrT$(4oA@fZ!6_scE)$gUc`)GHi2qW#?xF1eMZ$9hXE%&qD&C197aO8g0 zdzrkG+PTipMZ3Rj&;C}CFH0GJkM=w?zmw~K;<;^H zxC?(X?qO{E+21;~IA>e$7Un16WB7z8UcaB|s5Dop4IYEG{w(HS!gq};8E?eR_#N7M ze=>gnj}PmC%(ui4wn1A@k7Mgqp2w3fZVd5b@fJ^hA$`>9;5tdciD>(Kj`(+RC9c6L z)bB&eJH}O*fvSIur@rz=5q~Y(I=h(v71h7$-b(!m3HDRn_;0DV70>MG_IEB0$5E)? zhjb(3n=y`hW6!~1d(v(^w3G89%*N6906vH@+>ExW*3s_|DQDfroo%EWmou;5(;-hf z-d&d$GPYF|Z>^$kL-JZ;x~V&mv9Erzb=0R+UE6Q6^?dnP)9)A@hqvQXI2TLs6SVzQ zw~o#Kg1TF94<6XXMYh9Zu@??NTd%rxZ2tAsorx=OBmU@7zZaxwS64BN$73Jd-}Uyl zzV`8w*~iz6Rkxw()7P)+=v-7s=b}0~2i1{w|NrTF2X}KT+-fXjY}Z%(iCn)5uQU0! zp2l|(_W=Ig`ibhP&widh)yJcrev~(Y>vkW?o9fBeIa*f|zZy5;LEYVnG{X>{h!^2y zcrA`KPGT(AGv0zfpgn)vr^eOow-fcdVY2<(erz4PPmQ%tne2Y6TR+kH`Rb{!MEQ!d zYCraTs(W7&-3P5>`>b_>Te&a(1C#A%Cy(#lm|`9m{TL6#!Ki+uUC&q7_dN2g<9l9d z-Tgg}>h@=!*IK`v^H3jh5A(_1pG5oDdeW||j~iOo-Va|N_j(>Lia&(whhqoS<4oH1 ze0lb9>RaEJf1+o7^>I1ZZ9mGh>)SkEKhvq(Jl$26w=&Mh2hpyt{12(~GuAcrR9AN9 z`bl^pX5lrszw7O9eeGkt*+(P#QQdUYr>|et(YdIO&Ovo_4yq&V{y*&LX4c_){043O z5xv|@8*Go=(8lZckbT|TU8%xGeQcx~|H*X28tyL#V+%|(+A6iUzQ6g(lXiW(UWD~z zU&fc=aMaJC(EAz3GjHpin;_rD>-~_^$ScNoJoQVN{|djw-xOcdtxy;3ddidkCEq0I z=W85Ay|$?D?~E|+?^#cI(&n4x0{ZzH!>D%!j>9~>7j3@sq|LYSQ>ml(k(M(4)KfoD z%T>_N(>auJd(_YGIEk@cPkGYj+xSfC48tpM9OmQ0X!DgPZN7~!q|SVN4OgIk9?%zz zZNBoP&A0I_YP*^C#*U0_yxyNXitA%h@0;DkI8w)Ey0P*{5EsJ_F-)E>Uq9dIY~lx@ zey)+eUs&}Qas6#vidxThsde@9j0))|?%B^(6c~+T@OCW37+S_Mk!<`e)r|j*_&r#I zk5dQWLB^(x@4<2m@qA3j?HJ;5sGozwGXG*H`L#{Fe(p{d`PX3qK8^EmIsU6Ke^Fhj zI?`9i*RSeG)tQ)JeVvcuv=7_wOPoV7>f?*f!Nx0YDe)2dP@auf+zR4#&dRg#GkHFI zgypF3Z`aQ!8hC)sbmRAUUaZCx;`Dv(%@`ly$yeT2ig3F!FW3A z{o^)YaaWi)U%Y-EkQ`jkRUCn~evEm!fblyRuJ1B>pv`}?n(?Z;n!FHowT`W?pX-xs zyyCv3evtZF$JXCKT(a?st0XT#{kop>`JT9BQuj(6cbSdQPL?N9H|&u!qYjK>LhJ4VswKg<04y57)5G({V~teWu=>YR&upF@_X zzUD`9{W{F^#Or+yQtx+o!xO)Y`9ZwDA`A6%n4*mJbCB%*kL7w7?2hTE{ArABel31p zz>ye5{X791pUL|VhT;X7g*N^z=F2d6u#4z~HvS{#zsK%PTtp_?_{_#`<~$sNBhbc= zW&Ret4e!D{)`@!7JM$1%aXjk#s^>G#Jk(u37w!6Eh`R}IMqfRfuQ+|*c$9p7zqk5` zGp{~|dHR{m{4^}W#h&=W!(2y0`TpiCtkv9h>c;7*&fci^tDni(W?jJi7>rRrjy68K zn(=yH{gdQ9jdRe}k1_uNstISJBMXh7&AHelw z;}sVoFVC!F>o@0mvhj-RNM4Rv$JTGd^x7+A^`+`dTi;iwC-rRnZ1(#y&c_8~bmSH*S_0(p@TT!o~p; zcoW`%_u`}YIL^RXsGpPeI%CsL;Qv$~?|J$e&+C?Z@qS#2wtvOnY2s&l;xFO#&TzaQ zm!Yk%xEvF=Cqeu*CVsOg{x)7G9mDINOw`X!)6YwLhI!lHnl0H^Lk75|3RILFbfl{r}{xp{ZXcl?a%I4 z`zj<)`;sYY&ln83_#$l8%8l)x+f9C=_-?!~*n)}Tdr?2xK5c)Oksrmlt!EMn zxIPPqgj_&2n(%t`l}c{rt1w(Jrq! zMsNt)RWcLg+xRKO*Q8z=b}{SZc-DKB{4KZ@f5499bxyKgX@YvTf8V-xKei9;&(>Q_ zpI_r<{1$C|CG&Cz<0||OYqYVMZhTu?=MpT%Pf_p7+RHfD&c!!ITlGcaV)!ch>f8KQ z)J?+<#x9H}U;#djMYt4g{Q=DT^5-YWAD1BCuGcut%^ZrU*c`)nBHH{x%n!wjjh8W= zhb8zCmSF|j`nk;e@@@Q_YR0FxcNKc$N!S;2@D{Y|MVXgRFrI<4a5=8RPciKnS1}!J zeOqtN->g@}IxpiJSfhhmS?@nBClP!SZGX*}Pd0uX@g2ghQU+#X7LG={p5o6k@go^unIQjHuJ6Tqo!trp z@fZnQF)qS+X!}#$I$T$sA&f`jG*5o;cvtaj%Lr^$f%^9tlg+=1zEg-uc=;>iqs%&5Z#45`a4bgA z)<2W^^Y8+^+!L=l){WJSU*?Hdo$tB69jiR?|C&G1?X0uMEavV0?_mBud=NjxGTewZ z|LUG@W(>x$1XrToCt&mQxc)M}f~r%__*`JFbm7E z5^aA?nfK+}_`8XJ-_#B3{SPO(jKk69KSQ3J>8YoF52bE%JOcl|~$>ivN=iEn@= zJW$TO+{}0j?ogg*Kj$z%3`gK7Py9p7e}h$cV8nHHC0>VacHf_c#LvPx_!7R38_?F@ zSIPY?QN52$J)8d?*WXWay->teI1@ARTpWrzhk*I-Xs+*X{xjsy!Z@zNfcfuF=3Do5 z7lz<4G~t26nNK!eah=GEpj{`&v)=ZTT?bWI^AtDkfF1F8?12%i#M-C2ygGOwHpauy z?l+(OiTDssLmNMXIz`yIpNoj#Ll{My{|xgp@p*g^=VPtYTxJkcF%7$;t*`h)P5g0; zJ15BR%k@+6G#rS7a3;pE7)$UIwEZdmH5304Mzun(e+<`ygF08`eF_7Wn>tGN= zX#4w|yrk=!0^_K=2`lket#`UhXpLb!9!n*2V34UN)onSrN-`%V` z6KCOz_%aq_6&^6aR&wJI^Sv>G{XOv=nGa)6Og8^P;vc~&_!S1uaDCOrI#>_wF0NyK z5*FebEW_<+^Mg#tgBc%!si;ru4F84RAK9{on>rj@V_OX4zY_V2@?>@M^}b4Z4eQ+Q zS#JsRdVi$8&rN>Fb$#Diw5DtHd9?laujOXW!1M7E)cfW}FuoF>!S(nJ+WIx>xS2Yr z_qEh#oQ@}>%~#yPTo2(fCNI;IukYiL`hK2mDQ=~ou?qjdQT5#Q0!*uKJ9Fckn13B( z4cz=YxQOrbcn32Na@X~J7?&}=0$;&6+EumQbkBM=Uf;jd=|Fd-8|wEm2O7EgRJ8ez z68{)Jiwn@kYkm>e-^2}`_@g+d(=bLK`u)eY{$q+mecygi9{^0k7UE=I>YsyKuoCa* z+~o<>?T-_&z_XsMZ}Uxi0re$^&_}lEXPW2npggI(apWscCR$&4PndlD-ej9^<7d*R zFaAKD2m1ZrO&E7VTVMA{=c4Bl}!nvk#W|IzPtw(I}SIn<#}3N}Jp z-{zN?I6ZE(u8kkaC$Mu+zsLGK#!;MxHh()4Kcn8Suirmh#OH^%JfB~bSBLA$%QJZ; zp8Ry?PeSEI8BamI-{1DHybFl)3yJQG0q|X2F$|;(bn6^=hJ$8{%V4H|7C>nDVWN~?{o12ycli$ zo_wA;36~JJ2FtMAli!cLb5ZaAt7L4~)B6SW{kQ*$^VENpI>k7JxFS#dTf{BJWw;6h zxc3QNe%TVVHT@nQ=Ev$4l_vvjYLmkK%eB-s_1U$$YZ$mBjyy zd-2eUzuwPU=6iqVu4mx{wEb5RzZ+{2m*$Dz%o|0wVik7T>elOpnOKHZXxBfC`Q}N+ zci-mL`4fZN-B>ndd>9^%X?Q%IfVQ7^nSUQw<0tqTevV&ah+p(|I-aLr{ACshGv62c zVSi727V}Ggbo)%7;y&Q@MpHiU5ba@kKI0~=BT)Y#bI2oV7=P}v-V)QW| z7ooRbv%w%AfLdY*kHHSu36I4tXvziNWj?sWo$u**9@_X^=H+&pKa)L-5DDf}YB2-^C;oA?$9;?t;GimE%tQ-9>|u8&;I!zkK*MpZL@Of};>?s5He z!wBAiwx4EyxcGFu5VNoZKf*7t5^cR!dtJT9u@GZeio4L}U&8z-wE5-C@9^YT{OQ); zhLw0CUwGB7;lA(+qFw)d;x55_jG~R#yeuGY8qUC&CtvdmxV{)mJn>QbmeUxQVyLFu zUwgFu&Z}m8gs(SMFVW{~{CA{OK4XwmCO`G|QPTEN)%dRX%x5U2MIxA(k$ ze2=(f;}y4&ydZV8j@{2E#3dWAxUJ*`sIPTw{cng%HeT=heTdhYg}4B1eZ6ih;PvAs z{2pz57OzX?b&PX8uUCI#zCN!rQ?U)&`u&){nty+a;vZ<^XA-aXZT`;qPu!6p|4?4n z9)U;WX=v9Q&3vBmJx{#;{d58UZuKUn@$XPssQ2gD^%`=$F&=`g(8g;%+4_%C=R>T- z2A+S<)6ZF%!1X&ZANB9CMV|c8%qPm%@2R!>`$Bd3_qIZedH((Fd*Xk<9r!CI%5Op4 zTX6zTM6J7&@w>PZgN@w|T4Oq%jCOzB$-4#<)wlVB$s2+f;z+ddH!|*wA` zy-!j<2S>j*_a62e#c7`X=P{pb{CwgU;$q`lj0ZMxoe#muScvbV-CsHR-=gxfJn(y zcO2JClZ=0~n(>QF{C38^ep2bPC3eIxcEhuAFkXaqf0LMh0aK4~5l5qqf4Z9Ss{1y1 zDb&?Ew*ITcB^$4}b>vkY?kZ{>TYn{S$;K;gD|r>v*E+WTm&7F-ueci2)%%vUj;;SI z^^=WP++ox&G3(g+4Y{6dd~4!+U@>YPTmQIf#;fibU++j)Q8r{8#vz!6cKxQ+jE@t)6JsG) zaV^^VHCwrvKA45$(Z>J8{GV9kC>K#1ZM^0~Tra{>PyBhzk3hY@TzU0cyA^_H*IQ4X z-iID0u9qi%Q#IokQfDKEj&>cKjM*4P+n%+?5{q547=d=H)WRt3C1heUkR~MYd~iE4%Tb%qJT^g7^t|2d>6Xuna5k zhGX1%xp*r^u@VCvT-X`)fJCnZbdL}%e`1^>L$>!VrC)&@C>@&Zk z>*NufiiN26+b&?N_u1P1dvaa%lrL?(;-p>Q#>c5I-(#H8$weN7A+-6vxGdsxj5dEN z*X1((ckpMhUvCD!ijDh076 zreQDit!L}MOQSWEIh_T)eJ(01^ z-@&|oujjHZE@BJrz(%}}*q5(5JE^zZv!2%JMBQ{e8EyS;-Q3J67{$l&Nt}npSb`tm z2DJ678$Xyj7viPH%NXB;d3ZnC^|PxP-?F=_px=8~%6JogjVUL%xP}-)yM9$QmZJ>rG*wGw@lQ<=MaH-{E>B-F29aw%=XE)!}+KRNi#P zMV|cYm>-XET;+)$Tg~{=94%&WH zN7{M?3G(Aym&+LM!dkuDiVZM`9nkipI?~olO^_eqx;&Nfjd&+c#3;@|+mGrC1FP~++4)s3sT77J$8wZ(}O&Rya9J~{4 zm1mfL+4wHw;7Kl{7v|w~wDp=-Gro*<{=_WuulLl~`@!Y2#I3`Wi0h~Y+Wx}K%g&6? z!c5G~@edg6>lV=au-$0ipP5{j=Ps0R(RqAr&0lHVm;LR z%DXX+;!L#bpThh(#%#thT#Z#2>Srstv5l`uoG<=Su9slBG4C{2H;#7ID&qD2^OnRN z;fas*cNKE6$XJ@;uGc@^uH?p@n7;;d2DtgDSZ=gclsA|B4B}-`g8UeHuj3+o3zwqa zXPiYn^;yMuz!|nPH%_*GTk2G|{$~0Mk)J{zzJ7f1-8}uPuCG74>%-4H-!94F~?KS7iarXU$&pusVn1*OR!4oo@+DRILiD~ zoQYq1;x!*0?D8{=b`{0R9>n*>Y|KHMU&#EkI2)IF;?vG^6&n1*nS(c@tsf@7E1rmh z(Z-Kp{u&&M$*y;MHRGqA?>bnEc|+VdhPFS&rEoorm*K1UKHB`3hq{@z7dpciIq$_7 z#xZYph9bJls=^R)5Z&3(~*D5t-)Y?l$iA)I@T=lnCN_Y}VLAFls1^{Vi9Jdl3v z{tmg=%?!tpI0|k2;A+N4i4R@kD&^hiEJR!XRpM(AUl$uDng2ccKVYKueonBS?eApz z_#9KOV_z5;>&9uAkA)bz$z4xJJx(U^c=0`tn~ZaLXJ9e9*?oUDywv^u$>GjIoP}>= z2?j>EI6aOtcpO*excNNokB>Lu>)m{i`&Xj-$o?K?Ume+x_N9+AE_>gfNB&>dug+}? z=coHx!v6Q|%>6CI`RH+&$@z>z8-E`0LoreOQ8&8^Z)4>xZX6tME4%TD#1$tQUqW1M z>Sj^5&{JP=5#n?38H|y)+><}(HrHo9PQ(JdKhIr%8r^8$pA$U!k1)S4(*5lV=0g+Q zIFjc)8{KH%p9c~b#3tA*$$YKTR`HmLYp?=q&_~eI&y}~k-o{`)7T~_l-QRlL>FkaD zF&l0C2h4wiN8jZl+MI_4BTfU-FO)DxfsJz zPyF%sySxm{!$P#HG<(3!9EW*Wh&KLL=7SU6l?Y~`ji12$-B^G#Jn_ZMzl9Z8<%u8h zpj+`u9F6y29Lv%6ciKa4W;m8%;9(o-#`Bpk(en>A*RvADC%f*CtRH>Etr$b~ai6E3>eioH&HC!=Px?!xkE2k1J>=={XYzdc_IyvG zzjN_CwCD0F^Gi{E*?MPkUG*;V)YEyFCa9-4xh_F`Dd(~sLz7&G5w!gVC%c)au^cNg zWs1Ar6m5Qi$xjp?r_R}rxk^zi#9~~AcD)Sdm7gd+=W$ozPmC0}aVBQt4QSV^GWm(( zLsMOam$4E9)7*S29*uUrB9osezLYwbKH(}AVhl@gE!y>lFt7YX@p(_W3I{#q%)~6r z#kn;LN}wn1kcdt`}fl`HA8m zA-(`(xD#_`yA`Hk5ysK3@2mGN^`h0Rr@XICKdNKbuTA}W*Z@<}#;473GbdsZ&c`@@ zjy7M{Kjymh#cQ2G#79x<+WI+j-Av>~=Z#o}HvU`U(@gyBj0+Ovw|>c0?1qIn8)NtZ z+VypP3D>1BUhAAqd_HPjTmQtD-An{?F&}MwKju%zGjIqhuYj@5f1mk}@q65Z*)f+f z2J`S~wDoj-64#|K{te=m;AdEg(Rpr#X;_4>;UX+S+t0DgACFz}3{QN=`L4n^EXFdd z#NC+kii(~aVpyQi|G3WtiY57E;5A2U^)&&U%heE zscydV3OxPT^R1MYhBy#>C`<7&&8*(7&l@${)x%f8%caAeujza z>H1FMrEh($b0_iYU+da_+b?u8$6^<}6$@}N#_4JXd_W7n_0$j!9Iws<_+_*0m_ z1Mk6!_z=E`HouJdFYre^aIuYa;~~snikD*%roZXpGSOCnOEK2j1PLtcH+iwa(yW-H~IC++uwY<>ao;21y934XyYd^ zAH{O4^u*s?&G`GP8DB{J$G93d;3l+vHhkOdtPwUryI)&h`;<2RDe63jv$1lCiwrGw zF2p#t`M_3ks7Gc{?<>YehbcjBYurK$7`0mJ__G;&ch$D3Y&AzZOpl6F%GS8`Nv?3 z_uaS;_Fv`3m*ZaaosaszH}3LupU?B$@5_lxHa<$c?|kfj|L%UKv))X69_M4g{5Oxs zd2Q~G&bJNcYr+GHFD7p>mZ6RRvYPcfp{b5@F140bn!dT*UwHq4&|8jYPny7{-6`(g8S-&b-jIyareh1}O|Xg}`iK3~H9 z9gg+WeWs z&BEFEn(|FT8`e1nJ7Etr;eiI!IT-bMOnusTeI3<__%KFr7Y5ju&9A}zYJ!KNzD}_5 zmwLW_)#n{w{GH_K>-F`FZTvILKaVePE0eA}OmSAQ)y59vD}ox?2F@%5#1uyC?SCA3%D4U5c=gwU^N_yt(K*aw9baEM2fJRFbz~35ORyAo z<6aD`c9l}F9VT0Us;R%0aRqL}O4R!MyWV8#Xg|L7Z2#lPQ@-ub#;d;;oQL$CkIrEh z>-hT8IoS2WtRs6cUV^2#8~0*hjjNP`?J(K;Q%(J~j4N;(R-)G5-}NR_NBi-uXZs&V zp7L#fHeUU;;5?-7d~^=8SjX3w&cUu1W*yms@e(Y>-MAM6Yh9%jY=_C#pK9u_Wn6*V zuoAWY{;oHfI@*tKJ=^~{@|17;v+?S$1?M4s=c99#ebPjgCFzd)3jF(_3?#8_s zSm!FGU^`5<{!~+cE#nH@hLx!G_jkR?)X{!?>)HOtk*9pypN&_4EjSP9J0G3HEY|V$ zrE{?Bg;_`TV7vrNaX0S8z$dO!3bw;!>rXZH*D|iaZCHs~e}C7TOdajVx1Q~P9C^yO z{n>c+*MjqqzVp#J%wip1Upfc7UJuqe6^G(RtirQDwV7`0%YVt_?_r!uot7BFV=#=> zUGIe?*R#9mO`hHVjm+ElhnUxTc0V>=`#FVuN#Fi-ZcAAw(Ye|6u4J7X@IGu%<|5N@ z0w$Zki8{*fNPY&MiJ5o-W?^;LTc6~5w*OJ&+5JDqyp4a0d97#nW8<}->)Ds|?N8_S z6YC^8H@n_c)_E2eVz2csatOYR$>ujQ`4=(H#qpSj_hS^RyIwu=)UR(n+y7IZ{jX!* z#{a;)*0cMu@!HQ!`jfu>>D-PY-nS2(n_X`Od28`Iyyi0(nU7y!viW^X{zS$_I2U91 z2F9_v>-8W{{rc9k{eR%ue;w-C_#>FtdUiiHUi(=?p7iZc=QfCV-#&D1cD>)otG&Tp zX@*Z?F&?zhX1cL2f3(S8%(x6UVmW?~l~~>Nt|U+W`qs0%_`|dRZq&2!XECq!?0#&# z_EU@VlfM1w-0ol<-#&D1cD?qj(-lw0Rak*1eQq<|*q1-uaI66 z$@T0mI+17hKZ1E1e;e~!&+f;@Yd>Asm-OvV=Qf{p5}lh}Zz$_rj^l6-rfzZ>*J85y zADaA@I_dkVs8~+mXTF>ss#%n*r*_ZU~Pv`a(>m)ii zyWV}QGZ|mNj$gRQ415}s&EHEM<)2A@HeQ1{cr)fv{T^5-%x!Btp_pJ6#xcfFzHsbAlEw*T$y+wQ*&^=y0}=Cz*PkB!%U zc9JK3`_s9NA>OwSots@R{VO+fJ_f&W<1pr63~m0wU%Q!dEZgkHsuLkE%hYN9t*zw7 z)vecvI=*^&^z|^l=IOVRzHPs@%a^venZ^~)8s9mOLL2{XHRFH%-c?w%)fxT48An_H zn{969_U+Dx@I{Q_VhmQgxFfI?9*cke`X zzipu2PguseRQk@x#DAM0K85Q?VH@m%wx5Hm89#w@z7y}kN72?_zk?a>%b;J~_$e&g z?Z%(u7q}U1yj+u?Ux$&GKO-U`g1-axcj zioc!syYU&c@y|1#Z2hl@--6%cuW0M1(WgBR?Zd|3TjgdZ;zRfd+W60z{|Yzb7Ek=! zocl6-57(frzm54y+=+jB;`{PA>W2gHQk;m7;3Rwu?fTE`aWh567-Jj%GxPQSa94uZ z8prQ-^G~A9??_x{?1?!TBX76z|8y1VVtou^mq3kw23&v_<47Eb_oD4b>uqE`)jQMV z-|fl&xtjgj^|!O{D*PQsP*?kmvEP>T(H^z0M?C$trA}{8J=>4g9Yef5M_>H4CVn*i zT!*?3HvcE~^&19=Z|vF6C(MUxy89l%3e2qK=CiN_D=|>pT@Rw|=X>h+sPXUhv#I}I z>X`z{uTOrWc*V8ztY^vx1`u~P4#G>&#^*5Kkp8s~otKTjkND^D1yBAc>W#(qXzLY| z|1)ZR8B36_zIDG7-9N>3qwbGbTle2I*oNzh|2aW?J?b>XgRq^aevJ7=Xdj2BoxrQr zjDLj3@ncwk(=oFS&j+;Y^<=&;=HgwR`1#DQ#KTft{f>A%4#6q-9L~YTX#1&d{7>{z z_W;*NeS8$3#`bmHb-P|F*9YT+#&X6%PyUVUBMAdE&1Ky8f=h96a)1H($5$zgy0@aT7Nm!c2@~q^Y|e$IzjS zaSe7p%*_{K8D5miJidaRnz{Krys^0(uWsR7k59IAV|$)!Ll+?bVDAQb#sr+#17p0^0QsuV(y=R<8fKI1jhu4*VJaz-~vmyiB|RFU1_Z0dKnD4?kLQ`a!hUOuD8S^F%6%<7`};1aSLw4%yzDx z?WchC3XMw`pGV$Bn1hevdsu4xiLqU8WSZ;aY8;I@7{fQv=I6I}`4jPBd<0AJGqm~B zI=XxrKGu!1&=)_Qyczf$&g$gy=VAF(w;F&_)C2;=xJ+V!4iomOU@QyCX|){Rgv(YkiMIz3$9jj)L^mGO)dU0f;7 z@8ia{-U-C#D!!+SOY7y##3;rvM7;?5>NltEk$4myhqj+%d%JbJV0SzPU&BTC7Ouog z=w~=yf!Cv5Py3G2kIt)fKhGgi{VLYE!BgMn$NIYSkn-x#AUR|{D zTZl_GK1!X(un^~Z>ZhIR);}Ikz>CrL6J!4M^Icx=DRurCax&WZp8Z^0N`|v|pfl|( zr;Sf1F6Rt){fu**Poa&E5+|QyJR5ENr_8I5KJ4RkwDEoDQ++7zR!{sZ^f~A}*SF&4 zdg6x@r#=*C&sXPc`wI+l>$JoWcEV#ZjGggp^wkS;J%R%~@uQe8#2A)h8P*%>`n2nf zWqu{rxzNRh(8k|O+$7`cCSP@IzT)I!^4>!mufA4ueJ%dviBGw}^*;}_kFaMyiq9p! zHF0e`@pm!*2u{XAEW+%I{`$Q0ncs>(;UO2h_-5D=kHA(K#%s}@*Q3;X45wlRCd!{q z+-FI~KT97A@O4~@rI>%oU!TV;=9^sVt~bYC7{ODpAD)gw@M*N?F^~Fh;F}msGGFn( zlb2|{ICWQG@i4cq+~LkRW?jx0Ge)>^DF&}_<4O#SbmM_I3hjP<>t*ccdba+D?B^5Q zh@0>$+>VuK_a89*lrpyKDNg;btLAwns`s_0-Wu*hqWqoYclX3s@;HcRx%+3&LH9jw z?t7-^zT19w{WsTdMBh!Y8MeS9u>&59zWv(%2eI${-G7$NH_sEhUJmiE>bw)gYae=E z+2^hL*7H{PP0w3BPjB!%U)OP7C6~F!M-h*wII3O=kB18TalveG)BmA*vy<#^5B)V{ zzXzfApJ;ywq1HFY5l~%w|NeE(JPvgK>^Ud8e;?ET|MdFTdLDm2(*G{})$GSU zzU}#5!Q)it={rB)`j1`Z9`}V9y4sD?(XRKFCoV#KHWqmDcbWXW1o4fyuD+rP;!C-{ z8gCfo_7g?BpCQ+{>rWe3F)qc`Scw_bE5}NlJKEJ-fyu7-N;T`h?Wvzd9lIaZxBb{S zjeYUj|6vLC@9Qr_-qF|vd!g-bgE<%7$3*A8)pI_!p6|Z-^0TgW_cs@da0lA{+vT|U zI@dWv7{*M@$3jfK(Z$<(9jG@IpTbJC^;IuMU0W}Myc_Xmob0J*^GDKW)>zkX6k}L| zh2!1zCAbQ0y=$rW34Vql>SUtUQ~fgLZM}))FT}U-W3=^b{u?*DzLV{LC;R$M`@7ZU z*GF4F$ov4z#3`QmF3d+T4<{LY`PGg8l)7DRbNk4{LbUt&p7;RQo1x8*CYc{1?r3ap z>e=^m z6IY49;{o@&IGaC~yx86DdK&RsH_EsOZCzWhgmn(cr!P!J8$X2k-4D>;MCTiiIlw)}7+U191r2^)|3xob@Unad|^n&&HP%CwDRaSHC8qE&XRc?CPrDqv_Lx z2Zj+Bp^rrUD^7i@uJ1hTdfKP&d~N(ioJ+Ft*APDzpZJ^kMdZ)LS4} z&$EvD`;@UgFZB_keg>Y2=a_YE{%)@Sfi();Ih=wiQ{6Znv#|3=KkTktk~1&gu9GcGR&XU%ZqZ?N=PH~t)l zJ?F-^;@fEZPqv>T`l$R5um8YI*JlAv$LG=Z`v&`4YWBN>v5kN2c~^fCF2kC$-28!9 zfN^a7g1erBXU}%y7-r0I@WR4)Zg{&KMx-eXammL26m$2v<~(O3JOtb0w`kY1`HJsC z{KYs7N8-)+pwZUf!}aX>uD=pYeZ`G!d?xefFb&&dXH3T#X!jpuUM^rgO;oZ(y8@x8OHeiOu4!-xhcThA@JCF#}J>b8rYQMf>or{MqV;QxDXd(9515Jz*^U50ft!jC{Mr2Z%F>3cs8Dk=cBD}_rH~X z>JXnx9}lCAU&MUgC$8^8`t+Tz;sWM8m1paJM%=+0T>V3^Ip*RgX!Cb4{|g?l(bbvx zxw8}>*zCqOzqN_a*yQ4J%AI)_#X|Je8&16uI1+PkEZ%|>Fq1xQf4crFaRK6bV_)o- zAU{g}llT%gBrk}EVpmVSC++!guDv0p> z^&_m4XuZqHzYP_?nfxudRehTSKZ<=+R^Ycr18-3OEqoW>#}DyiT!&46ap&C+&p}&%9P_hqDXzhCtVElC#IJ6h2%d)7I2v;? zh70fwjH9hTtjg8D21ny`oPp2bOPKYW%ge(BSc-w&?)s;{JHNzlF?EldZ-poP;l`(8 z9^Quqd)@VeYc%@j7KY&Bnr{3P+Woyk9}(6ai1|1Xr(ukBKE`#p2`e%Dr|TyV@5cLZ z3KkjXGJYM)F*o4$5yfdZ9cN?QxQuZrmZLqVr_4ExuItvb=cRpFv*^>tFQ$&Qg!xjV z%`Z!FeKf4+EW}qa6m;`pwE6kOO~gQb7oUlzk$1KyUvc3EF0b++XMp&gs5*9io2NdN zXXB&Pn~O0l#kE+8HoxYup^Ju~YU6}8U5ll9J zdQ-Pv@DOL_q0aL#3yUyxn7bZ9+t1t7+m62^sIPiqPrWdGorPr>q941yjjtfS3Vrdt zxt=I~2yyB|=Tb>OLH412>70go_BW1tFXC&azO85bkEXi&@eDqP#Tdu;(dIwJyf42b zLH-V|_iW+%$i@w=+}N&{(#*{(zL@w3@tNq$KcD=p=B`d5R$%OKHy_7A)XVYo^9A*G z;l&UU|0uoz(Z8n~m>qlsk{(uqz(Y+RaDs z#rAG&^9QtZ^YSdlQ_#kTsB=CRqOblAuBUWx>x3{3GcnxJUC+jHOzGt2Q;&6az@cdS z8+MF~E5{&pRNuxgByKUjYh25CJ=%QruXWUa5$neP=6=RzI7g_F+SUK9(k;< zesq3aJ@H3#-daa-z0Eql^Vd1+9Mq?5OC9xL&-1geyMJ;M)vYTdj59C`^YDmnF5cGH^%!v}#QEZH=K5`zkI!Qq zOR)?acmM14uVQ{Q=Hg=*!#I{;%@h8*-UZBGg4y^K#<3L3uyOid*9$Q((-@zQ**#p| zD17!rH=c(Ja5>uZ|C&11-OSr~&08C@zKxGFUygb7p+0SV1#y+eAbDX_9h-lBPq+VA zA7^D>XXs>S_*7>EV_1qC@LRO?e=&6<)XkLS`Rdww%CmiCnm&H>^mEKFkcN~It zJ;ljH@vl?I8t?Dc{qb~XV1V-(jGwie!g&D42^%*(C zjr(IR7Mw{Omg6A<-F!>T#v+`9^D%UmiywTpGY1Rsz)Uya7+2zI%sj_kk76Ola1DN@ z>*u=oa@>kLF?F!JZqH|jIiF(g;}Tqk$(~omex6su|4YuRDUTyPo_zPelE;DWSDgD4 z9^~#r9@_iSIzjzJ`6rQo4?0GkFZ=w`IsT%3dY*4Vo@c)2TMCa0`|%``dG%M9=Yw4@QGMm@@BZw^ z5BvDE^^Y;gH=7_T#r6 zSK62EqxveOPwh+h)t=uK?5hN;n?HuUh5MOb&c_jJ244r*&x7{!oSs)XJWdKRhIYT( zSnt29zUu1hm<>G7Qn>$N)aUIy`iy$|RlT{KM=}1V>JO$~qWaoL#oyeI{kkqrJ=M48 zr2DFKviDQ{pR$wcw`y40%s@c%G(?{QX7@88F_4w|IeQY5PBd{Rv*MoE(nN~KYBAdEvv$fSeH zX`)C@gD6B(NvSX$P%1`32!l>k8Y#vhrc@$vKko1Kdh>JL*1h*Gzx#Lp{_wQc=UUgg z*7~f^XZGy!`|7<^!28L6j`Z`N%=tLf@y&U!pM~A97hV;x^#%4hY6)&bUthfWYsWcW z^$ex1Col(R;Szk$>Fd+H@vbKnpGW=g#MqDBTrbw!_U~vs7V8E4iT=iYY+O2K;#lP^2Zvl`kE1c5oX{39EJBdeSXb*sOyV&{HVbGJVgHtoR5p}?SN18wfj)HpLrJg z^~IZi9Qk66S3Mt5*8z+$zNG5HMoyn!^TxZLP<%4$ZxCZYdUCxtX5dwLQ@|b<+CJZn zb8t0&ihh0Z&UZ$f<5gc4b-sXW@oT5ANAn!&dg2|QA6U;x7ui0ZhSC0H||nvM={=dV&(6sy2yJx zX5x*Qg?C`Q^S5I?T3<)TE5F~5?g_^CarLK>U-O*B{qKc+ai%*LO#=6G0Qpy=&!1?% z5#(8piH_I)H*@RI{m?o>=kr1KrwHql=TP%aC(l=?eT}!C6wY~+{fLmK82a;ZW`gmT z5+H<>wBFZg zml|pDDXjZY*Z%_R*7|jSl80D+UwMqRy`)a&;*l&>TEk!ZdzIX{K?6CQP))mt7% z;aK$R3C-{8Z|Bapzu!8ax}Vw?-OpI}&(EiPk8oo_$>4)*&{$3M>aX*d`2@J&30=l2W@&FAaWInw*e;OtJjC$8o_^&Wog{F?Un=;wQ#_sqKiKcRmEeukgpHq_4# zpZ{~-Te2+g*JSkZS5v3Fk@i@eh!5aCJb-^-3EtZk@Obp|`JcP~=c0Zt=;vS_c^(^O z??e3@oX*cfdG0NC{TjRzXX3B7+4bZ3x%m)YKGympcaR_7$L)CjIJ;hDyjc^|F#{*y zR9uY5-N`&|L;QY>a6eaX)wAmb;Vf!Ph8h}N(R<* zH}xm;9@hS5GT-Usxx?jqlYMgA6M2e!5%MKEejek0!bHb6WM2Io)A`f>>U?N_eEqEs zbG*O5+DF|#?W4}C_AzvSzTv!F!Sj^p_)?7Pc8KHkyn5f^y!!o9zkj|*1fK6?&b!XN z_DSbl_vuidXYFg~d9HYqJx{9F*W=$G{(a%s-;#X2aQJ^y{&eNN`Tt&jy!9$yU-HRI zX}9G5`Ta>W|JDC;zFWvQ0cT?L5bM?WZ^@JBdgr;HU;g~+=TBeWpRvy8YVv)FNw?bl z*3ZX(D}Mp`OYn0ylt12jm9HH6WJTIL(AS@6{%Zenz7+Dc#(ww~CR(q?Pdmi%ce~H#4p12367sRz|L2rfo4bSd6l*GJwpz^_s++~xCHfkw?6mkdj)+@Fp-~Y zQ*nX&T=X_SuRg@?qiue_-rK3~Ud+Zv(8o`s|7l!`uLk0a=$AjyK8Q!MFJ;ircMbi? z{NAT^e8PHUaekgAp}t4b=U)Fkl0K*Db8rhjpXqajKIiD?=97FLe#Lz*);aR;aeZ#| z>v_Vh$JguU^Z9+g7yspaACm7N9?8CI|9!o_9^IeUxIdqU`-uX&?Og@xM3ue0$yRZJ~VoIG0g=F6whvto-G9 zzqP?m7^>gbclVw4UbzpSz-8#;(_Zm&P&C=dBpM*NbMDi)NayV69o!?u6g5&Kl2Jzptm|-PV5*4#Z2SZvb@+#!MWI zKA*;Ckw=cFJrVE6Y}9-{-;4k9dN1SL72Rj+zUu)q2M2KhuJ1rUpN~J{{=ctV>-_UMWM04Sbk<*= zd9?1)tV8Sa^J!mGAGCSLaNc$9_1tGZX4m!H=Q3aDxliYL)O|?jer(6zamX~wn~nLH z&biWk%Vu4Z(LYzZuUXvJcTx9o9{Zs8%8P;b%h#N*>$hIxa-N-?wqDX5l=1 zk@dgKeO``v_zwDfQyD+q<;$ln*U{dLn$PFEAi?MM|MmWD*3UKnIZ^K+eJ;`GX6=(cH|TS+&W+BA&b7Z^ zy?M`Hh(4c>zl5K=m*G{Ig+9LRT-%TSn1wH(kKaGf;v@6TQ=c~{VGa&@!TJjqm`MwX zd(q6n0WVoQ6LXhYy8t7vS~~?Z@g6K(W!F2uX;xZoR!3j|RO;UU9C;U;4`Aj}YcIj9 zSFD|b5$cL!&I-G(IxD|n?KJ92d&}AxxRtt6-?9G3a4!0Kzop(N^;X9FaWne$3}ijA z>i6?i{g>+>%{f?u8!;!>)}PP$&^gItp9@g?oW_3d!<6MVe(Y;zB+uNx()9Nsi~BKz zbCQM0+!x&^zaPpMVPB;3`}pq6la8_S`+Zr!zLa2JqNsh+zUUlkU$WVk0=G}~*`Gi6 z$rbG9X~A)Va}nN#|}O z>rUd_-TbzVTZwvaoyWcm#nCtq^&VNmd*hwJ`=dAeHX6sG_A|=9bw|DT*0O)K*q?a! z&)>hP+^1=%{kW2S@bUS?eSzCi_uI$&{a?)f=kp%WJpWVsuR7LKkJS0_>(PBlVcior z-#X_y*ZMi-?@JE%OXphWxQO!{>)h&G>b(`~9O~SC8aRK|7TNjkfZgydti(F~dRMXT zSnKoqcR`Hj^50&cfA46Y^|?UrMSX73dqnSLy$AJP$Oya_^qvfTZqR$c@5fs_*Wcjx zIBbdC7u9U^)0Kh}8FRfhPM*b3WXPaNR%`8DsMt}ov4Qv>_+${O3pO}HJk z&-)n{{m|laJ~FrBsE_GKzrHmw@+X?_7xES79F)Oy?1id7R(-2k-+OMIHCb;XjOPD+ z-RW-KuLag$h4G<$MeJj|`Pz`LJ$A%9@orSTY19>OevNC!dRw9Hlk#X^{r#><{GpET z%J_8bgBdso=i&31?)EWM-`$_seav5LPS|MH_|#1Q%*?=)P1erG=w@pV!i>+Yor6E& z30tk-@6WSt{#f&!a+veI!+h&;8}7nAsQvKu`1(&}A6jEuw?BtlZ+Dk3(fz%a@ry9g z@ufKjIuE+vRk#oT$9}A{``iZGVOK2NVAuDfAD=;7?s|($Vg7vd=kRlP&V0VCK)z9j zm@kKXvv4lHfXnbb`~bBcU!T^edIs{GU4xnKxr?=4pKlD~_hX{tCo^tyoa0w=-*lgK z-}D?sI5#>+Q?}TB{u-a-ey+w1sJi|BZ41ozBlq{;p6?*@732IK?JP%I>-Y2f`n5l* zcgA7vhn}m-yvI|~zt?q6^xpRO!M`U$_r)}wRtJ^S_} zD!)HRzTTPC_Z+^A%Wx&CeqXQ8m(0&OS(kQC?2Y~L5*&_McsD+T&tbgtwIyEp#s|hL zPW25UE)!$TpHX1XZ?`YZ^zCLAW@FVI)}N0BScDm0+4U)3lc&(k{MIbM!tbp8Gy46w zn|c~ikLG`YI`$@5&yqkrAH`YEKDWNZ&G+lSoG(<*yK$~>8~byzyI=8+AIbgDdC~o! zOM!7W(U%sdbEfDES*Z z52LV%{Hfg6Y@8B!-<(KZpT8gHDF^+0R~+Jebs2Z4;~O33_*BMsbgCYI{5l`9AGFzfeD3 zheL4~X5ns({A%MWqo41LJ$5~5pSgr_t1%j5d>Z4@h}Zl+Pm!xfd3`;}%=g9bR?pdw zl>ARfH}vtR5Z}rNxsf_F=pZtT!-<_e*^jDNZPleueaDAwyv(2j)O20@5XG* z!8|-JQr@TjPuu6qj}foDi-=o{FQK1g5cA%K6L4ano=51PhR@==&LfYo^~kccld%^1 zdY&t8<8pBo?!ssZyPk=o@R*YSynms5Ke~L!k!K3#ps%kz^K`;4I1;DeHY~);j{N8P zLivWfd{4Q2MYMf=nas1|D4S2u*?EEItw9-!lZ|Pgf~~PV`uRSm{|nrQm5#Q&$73z* zjOSt=u124~H2tA`K0d3g%{%rOQ|s;>Sij=sos6G}xmcsTbNLS zkK*N{jDHgga63jTSl$8Tm*Z(?W4!Y(KHl=Zj|KQM`u$e?D{;m@e}d(|u8Ns_qFIE| zldPSE*_eZV{v!H+c0N_j@)TfBvbA&ZZS?tWt7>r_7?)bz+M|e{fXe5`x2R$9Phviv zTHE@2;^;co4vp{3I62zo`>d9YmtWFWe(ycZn~hU2FTr}Wp8hrCtG|G{+Y{dz(*xu4 z=uc%m8Pqq*)f-{|uEo%Pc5wUT$NBxws%z^i!e6j-J?k%v$6`A6#!E3D3ox_3jUR*W zp`ZV!h8FiL{_ZT+$gY<{KVJRGTu;IDKzug+auV%Tn2%{E+q~(x2L1fU(0>9}b=II= z7yWqkH|F{vyfF~Ji~gT=y|L9<5qT%tvi`r@pAOz&vWCi?`Y#b!upImB{05XGmC!?U&2-RK5oM8xEl{(Y3i?l z$=Co-!!$e>d*Nj`5QpPvybJHe$8j1yhYK+e-$d>2DE8$p^!wSB{g1Vex<7vW+V-}e zy*rqf;$R$xx8hy+5I%v=;0yQ)zJVX$2Hb|<;XeEWk7B*YVl}LX&9OCh!X9`bUV+-5 zjkLF;-;b83*go{ZU-1u2YGK#Q;&GUKy7gyaUOQ_?xIdLK74_Ws`P-3iKPq2pE6Z2Z z+Dtlw{4T-X7~@@dXFbNMuk@)FA7!1YD~tM6S5aGwo5DW)xgV~8YBBQV#u)$D zX*N%#RI?g3z~Gd zJP~VSb8L-WuqS5V)p#RjVK(ODR`mO!eb)2rpI;xp*gcnNX||6#_ddQ0*Eix8tfTjZ zAHeleSO$+pAKsbs(jV))_l}S6nP9x~W-?CiHO=Gm4U!YMcHTVzaJl(Pvd<2$LHC6r}Q+>z^-^cUV+!*O*jr8#;G_D7vmea1~=h${0V=< zGVE7Htc53IYwUo%us>dd!*K$x#*OIrL;J4h!=G;-e>~?`=eRTHHuOCC@%yRc4=m33 zGJ*5|HRtRA_T@YbLZ5$Eg7L~*vAdlIJ=dDY=PyZIyz#2jKUb44w)uSi+ueJm265x? z0St}Tdnh!{&lkDK>bMLC<7m7cAH>J;SzL&(H0t$pMr0p&v!QQGu`-TApSz)GV$)f_(+`Nvl%}LA9MM9y{hXZ@@M0czNbui{EfxyHt|z%wunuf{xR}T!(3d2KK{UUb`DAoF_+*<^zl*pPrxZSEfAkV{{YO#F9Y#K^vhket6p#Q zRl{!B9S7o7I0AkB$I|cf)epo!L;rkSf@=ctDVbKMY(cv%w!?Jv^<~m8hthr$pTdQ> z2-l&{HzyFE7l>~&)apMAJ7HJsiZX9Oy7vj&D zJly&R;beRU^U&9;yyb7O@yWOZ^RYnJneT3V5OZA}Y0Q@~((+!9e*OXE9pv&i__y*= zN4)ivA7S-Y!lrmScEm2|*Q0S&+_*E`xN`&Jv+3W4`>_Z6mxaqPAHT(4@pts~t-sOM zw*~*eE~Bjfd>n+Ual;t9o_v#;ezTd0`!VGf>+g;^@;2+w!>+emJKp-D)Uok@xSq&p ztNUiue&n$)8!YZ`=zrwV! z|9pQ6Z?*ni7$Hwftj+jTm!~`VdgD@DiJ|jwQjGk5{rSWn=jzZt`}pp}$)2?P;zgK& ze!S+X#&xNE@bS72-|2bc`OtIY;-;D=LVEt_CPseO5z*zOo zj1lkaR{MME_xZIR@5!vs$EVV-^`|GeUY}3x+d`-AtLpUkG3_Cn$ItKQQ9G6S+hAwxis|U{^`l?)hUzJL@Sp1$ z%6`icw6z{TpWg?ywI4oS`ykI{Uv9v?ldP^^(T`W${lu4g#NuU?c2&%L+^%P%&o}U4 zyM8x5gmakxG4d?I^vB4DxwsL1{!uaVCz@|I`4-?y&ZV@IsJ{$qJ+bOdXPv#UXtJ$0 z$*ns_ZT9t#!2TAS;>O2_PbU6UJOhW}Nc^)N^1U3G{~p$%`&js>)uVN39om-&d30|4 z{Vc|Ql)^ID2vhJPyaZ#-mmH{H=k7z+u@SWn?SszIpXV@;ZzbdZt$g2*?+4tAzhiOs zTOLWf7xqT2CszHDC+z;oB-#xz0|zM1-9W{);ri9iEZP$=8|R@*7il-u>bV(j!;M&g zMff|mebUBt!W_)QZTJmVe#+ug@GR_tkK=T#IL+c)VJ42jWjS_zCEhT@+J1ePQ*UT} z%6}1gE0eD$`h3^N$QNt8_V+FF#EP%Y{)P5i`!R?52T}LTK>f{Qd_MaTtDY?Gqnto{E*9Vp^y^XF3a)?S+^=yn?Rkr0BlP*Y(_i#7 z@8el!2|Ny$VgU|(#^U5NwB>%E?*y8`Ag{}Oxy&!(R9aWy70{~4~H2=lr05yf>T z-kVN;AMA%2IGnmi2kLJ}obtxX=j&@r-QDmK)V@mXt9&uAUd4NF4a7f8zw*ZNS>m5R z#C);F>%4f&&bIS&7xy7_o~9D_H5Orq!2SDx>s#;(+>ZW!?Wg}}^2uXpSHY@*`D#3C z>!^n**a7`~SJ6KNhv96@#Z{P(AEVDVo&L~xAD=VN>U{?1;sOlCYh0}OU&vE#zRgn! zt6&PAhkibdkHi_D@|?{h&!l}R7QJBC_u~9T)?SLsa1Hu;o*~a_%*VXvEzgt%W)7y1 zCq0l)<7YEIR{VP64q}vbXkBv_+WZBW#JtLzNjp1GkMb3eSNZY|G2bfkydB8r_gC|L z%zSIzdVIX!hbFnU{_dE8ow*-=Uwl5rpAu)hpJzDZ{5hDwI?~y9e;;%XeLXry!wzwL zAI4pXy6>U+A}`whU4omi0E=)hMqaY`QaBVx<2Se){rWV|)#SS$L-T4rS(&^kn1%VM zc@NO`^J|>1+vm|b{P>KQZT$l<3qQhG@#AB}PviQ0%*D6R=P#gt?h>m@|J{5>;J=^W zPQ3h{c3;M4V7&Q$SZebg`-)iu>*Ep2tp7Ol^&df8XuOZlAl`c;{XSm(-UkBlo2b+K zE&bo&5BMYQ#-DI69>ikHZ6ADnC(vITQ}8rQ#WT^5uSWl&j=zNQo3IE|S6IFM@iNTB zx#;W3rC%95&!c|Pq7yb?2UIA&oEzJh*!%~OW!$yf{P zVG8>3J@Tx+NmzNMwUaULO=};--EUbt^=;GVyNo;o@oJaf$G=0~5AY*5pN~Jl{1N6a zj-h(;n1BE4R&SJb`E?$kzy2E**9TXxvi8N)m4(`uDD@O#`*$sV1kS=W=-0FJ5bH~G z^`*P|a%mrKeeKw{(Ehbx-wIIs_1{&`d9I#h)~WeAb02b0`~PZS|1S;Xt3}>K^W90l z_c77&-Q0fayy<>wT{>@CSLl3Q7|3@A>q|6W7WrPsM91rV=)UQEYM=b`rY{+M8TZg3jvxP?JrCaJ=+DPT-skzm z6F;`?1+B8sr1jnwYUXU zkKd0S)EA+yBuv4Mn1R>g1bhsa<7zBGKcDKjE3hvj7#uWs{t3PR@)tQ2+&JMKw z{E5crkjJ}*{vy2gGplD5u0lV*;wOA+@wpi9_$cvyd}Zdl2rmiD-<0uJ;&p+1tLT3p z_v1m-e13iER~@<35!#O?Tu;ST*c*NRYMX4|yxr-~#66oWF0#e!h(4dP6owTQ60q#IQUU3V#z8dp!HaTGbysIFNo{uk!fuq4*;5$OE*S?y$Pja18qScG2%W;;VmN zZyWkE@dg}=x%fKz`Le#YyxvFY_wk<>TKpGSh>gFo{^)mRXS~CC7w!A;L7anrz6Io6 zhKkE0{!RQOF#dsWt)9vF7_LM=-~8__{#R%7oz_1Jr#N$HFU8l<=l6Nlj=FrI{Goh) zyz24s^?tB*r0+84;6}{eYyG*Hw$Iv~(dX;OIC(Mc47?IE(U0Gy{@pguQ8)FQ(6bBXMIf zFEBoOnBxypho8TI`8IOBFY`Qi;GgR)^Rx9UKAX5ud?xwiFxuIH^}I{I_wf@fz|Ozf z{8yr1kFH<9^*)#ph%X}VNnEdw%H#7#58C_{@kFeKjj<)R!cKTD_QR`iDE`~?#mb-j zyR9b&b1^#-{ZAdbUdeowexX1`t@{h^QHY^^Jn7}@@qanei?Cts4Mpf zn^)s;9esjD6O`IN`kyPf!N@CVfXWih|6J0;Hj)O~uI_2iSk z0DV1=6Blp1;+AN?$g6pL{^yB{H(qhxb>z`Gcp(Tn=Q2!#V zNd5ir5_}csoM8Fi#aQdn{vKqXW5xF)t}qaPE$i0$wVqVgrTTlgdY1<3)&8wy|BiP1 zr}Zx;pYnv(U#zt4Pvj`GsEpZ_{3*v;J5##zG>ZE$5tEOz_~!Tqb@=mkL}iQf`+F4g zYW|OzuLJpYUPI$U^(s%S`g}dwm+I`x>DbBb(@5&pKHbKCO~8jx&)+cCqjS85_D60X zway#ZuN(0$JdJbms5|HFcz%20l^E;!)_O~E9^S%Atk>_4?$bclUyiymQ0Gqd#F}6G z@f!QE-R*~8uV0_9Pw$njJST;iS>Ddyv%F^(;g|ReMtDy3-0ED9;Czq4iTDVX=iJ}R zK9u49M6n81$L6T}sP~rk&9C#$!25Y`Ii6S67pngn>h$yZ{hLQzNw=ON)^!k%p#CJ( zdPDV(4Aigtl1Kf2{(R$pca;KLFB60D?|Hl66 zK2K#mvvDr!bB+Hw;^&WYUuxq8yg&5b_3>2_j91=N#_4mF=JENP5EpO!MxKkEScK6N z?YU0DmgwhupZ-s<0CxxCo1bKPPsNe=DEj=N_;JL``vc=!)87%##&aw@wU3w9*2{0D*jR5u9s+F_C~*7O_*;0 zenkH5=;KviKJl*-r*S@BaV2Y59rK9SI3KULR>V&sUgLbc;+`jdJng+-LeDwKM*LSt7KHW#v<MLhh^MzSe)m|KZkz2 z#(C?L&p)?*d^O_YjlZj*-IrN-XA^7B#znXkM>e(Vd#=`ZpNK%AAP+KlPC3L8-FIY$BnoJ zQ<&#PH=pJm$b8qJpHKBP=6*HD*4PDg-~D*4(_2J6K7KR#zQ;P8izb2d@l}HH%KIDR zP9m@7@%8K@F5dW!J)QP3v&hLVM_3Hkp{#f~cC;uJX zj|uoHzJYI{?w97zVE!w#-)=&G|21C{`Hsf=7;8S4K9XquY|h&T+>G0CKh|M?8)9?x z^J^b;en$q*XU=JMesw-|-}Jo2dp`a7^XDs6-{aJ;`s63nyBCX5r>{4U=jt6?gCF9b z>v08We>DFFH{XUh$B(1_yYWHv`3lKbgY(!BL-qOh&2iMH_l@>J@0W{t&h|77U$y&c)0m5AWuKM0vE-|AF4N$FOPf?&Rt0?i`t()wELs> z%g^V3F6!sI-aGm^@#oKbmq4EjyiuMj7aob8Y45e_SPz>z(`g^-_|}Y<9RvAB)BhFz zh&gSo&LYfBvv#DNxw@lSypwtMIc7J!2YvmM-F(^P{WHHC@J?sTdrTMe5sY^}t;4&5 zb>%aEf!62dUqoEI@rwJ1ae3s`JT86YZQ|mMSKJQ9Y2RKB)W3ZVlv%cC+==>TYIY0oFg)`ZF*ab1@&=o@a5s-h7we zkN5GnF>fAb_prRV=;KwV_aNi5T-|>BPsGI=ueh@0%|y-P^Oxd!yzz>w$~f)&RkVHn z6BGy9njps(+4#yyEi#8nQ&Kb&B^@-ARp5q15HzMk2{ z#T&njc<(0qef|RGRUId>&U)AowQtYSUW7j1kM!Sqq3!d={^kx0#sA80%%V9I; zaN6=F+CIPPNV~}D$iok?2qVS?<7+WqrUdd`M*k?xA8d7{U1RpeA{=$C^=DpZ z=3?p)Yxl!Kj9zd3DR?SIGOgdQuOah<=J)aMP|sJW`QKvxxiRMZnQ=W>M`z-*a3cPh z#}#lZ`}X}HTTkVyP3>cZ{Pi&%|LuLO9@x)y)b}ZF#zJ(jCoH_d;**A%^>H6Yhg*O3k!EM? ziWzt{=3p-7WBD6xd|$k5l(p|1ZRX%xcmQ*6vg`Y?`_0zQ#0PO9PQ1mg&qja0{r*gI z`=RykbnCyAeHer{V7&V=*X_s8w7aqo+7G{eU;j6*UO&H&*Lw0;&lda&{ryut7gCqc zm%_NK@LC*&S*ZDZexEN^9$&8?|3345jB9ZNY8`%m3pigspU%7Px6ZHbm&WOQ`tkmJ z=y}ln_wk|UGmHDYe1x56J%6ghKTl=3UwU4Cbk9rwLwsIVyZQC}j^sJ^&!1mkaq3ci zdVc#*kB`scxmt#+a0f=H=R~ZHov<(7h&SU?7@BV(`8NgTtHAg((9buR{z(|`d|Hq4 ztA6G4_10xS8=!xG`gpzPy~pw1*SYfg_ln;4QqQ%{p|`4g&+GYb<7V0X2DloP~O?ggzJS zBrcuL1^#owV)~2l*IVtq>+5@x`ljR4I3IIy2`Y+En!OE8j5kKAB*CpYI~ZXQ01- zszdkdE%xa>{22ZI^=AJrLG7o`pWnZR%rCW{TIc;-ms+>4SLZ2Ir;pct^{P%E-{3Yo z&rLB6&qp7hNxvLH`yPB2pT{@wbM*P@WZC=;unFFexdGSG@AI{z{~YXreen{!4u|4s zJluSKe5n5Xz#l!?*<-vp2($09b}p8lXl-Ag-zViSOa3XS`IJA4d3?TD_51iP)PD_*aqH1MZ{KP4 zZ^U@l7s}s}`j!6;+S;$=2{zxHyUk^ohZ}J#mI&-`WSoufgTpY@&HqYZKhJmL3uu=k zehMZ!zO)-ZleUaEpXS#%85*BO{VP!WuRQ*IDE?U&e-HJ_;CL4oD_(W^eNHBiOr`DX z)%cav`z9)%k5?X@N1Ze2$&v#l~*dS-Y?2CG*I7*)Dds|x11BLL+_O|@@L^{EWpa# zk1444kYCS8>bVJT$NNz8H6yRo{JHeMhCaXYsD6!?8mIdG_*Cwf?wjJ)yLHxLouk~k zeLnph@_x?GDcx7Eer|>G`SGFncD(21rL+eH-v1ZU@8d=W;@8k$=^p#Jk%G<9*T0!~ z`3vo0f%rXK_i@ocd>Z{1U2@lOz!gEKJ~eSDNW6)_oW1@dRme>tiSt=s4K z@v|8hito(6^>AK8`=v*1KbGOd#nzsQe*W7THyIzt8Mq$z;h~OK9{F7$U#Ewy-tM>@ zXR@AkSbDO>^~b(btvw01J!$R8Q)V(Y$2{DKg}7vz#jnmW>rZF=Ofwr_on>uV;TdZ; z$BnbCU3HGRWuCbo4?J(}QZJZe@FC2_6{!0-m;1O9-^P<(v^@U)`2Bp3{oI1v@uo*? z{8(Izo!M{gzu!;o*L&>ShQR)1&anJBSe$)~VzS%cIkZPUZR66|?_aSj`+P6^`wT9? ziO<@&H*q6s|Bs$;*Ec?Aj^%zF%YIkI0<4&8aorZ0*J0~L*6xT$aX%`e?$-);zdobw z?^o(1%a?{af7(C4U$NG!^AVbFC+B-N{)(lzPrg2#f88JL-%sqLkN4*&^!&cTbDaIS zt^fWf%w(SD^HKBWaX#L`eAM%%bJ3FLZ3qrSJ&!sERX7hanRb2kv%X|}z@3|~IX|ax zUfN+N^w0Ox?p$5Y`RcvE*1Z&U&SrAnBAhdS?mnV_ec&AG{jrsEw+|0s=>72p?}3we z4`~0FvETlF`}^zfM|xoYwy}SQy8eNzThHCutSb|>{&?#>pZ7?p-dyU{{kfm}^Dz4R zbu#toJ)wHfq(0T_>(l;)>hbgY@mI6oH{b}j|33Z_)~)B~4c4jqvVh;=i_307ybB8`8idS&yijETz(r? zm}}2}HPn9OaPIv2eE#PH_fPjxenMQl<3sVfzj6onyAX@880+!#>715fzvS_>b#C9% z?@unlIsBf~6ED~AO{mYQ`kb%N?K-77b)bDwre13c=z9#cDLx1jl z{zQLI^uHJS=fvml%3L*t8x zlly4bf7$AsfzP9_w;26L;xQQS_|zpf&l%Vr&%+Ba1O5DGCm7#wsm*sX9`TB`GtuX- zPJatb!`^}TRPuI2qHSP$KDA{*%c4Ub~pDEjy>iTfINCpbQ(eA)k` z{3y@rZo|4l>q}c^6^z9x_&ECdvX@(re1vu`zKqM!k55@)J+dY3bnJuu(T|V5W(34WkdOBk_?1dRP2(QIqn1vJ2 z=WkxzdQ$Nwd=&q{5+(ddYqzAoGxouZK>RBD*JFWmJMEv*&zfj_#gdkxE~YqJ&^{ae ze2KbKJBZ}PnT%?IPyG-InJkPzl?sqMB{%WPq|W-sRGtPpI>n@R(yZ*48a?4d?3H# zWUTn*U(ATdx z87rQzF(dpM8F`(&YXkWeCu7C8IL0dMj_2W(=<8RUj1|9%JX`P!+!M&JI2kMc{0dg# zbvP8qp|4+YGFJR{@*Kn?jDG%{bJ}A zpg0*TeiC_}!v(l1kY8~!R($PBR$v=!hv%a!KcYApD}FI~-p7w{dmz8!WUTlO$619J z<7GG;ef^4)vEtW~XD9B$636?@)>fR16@MjpZo#oQDUe@rGFJQ^@|3M?^&Nw?(XT>r zGFJRJ@;r&tad9BO;$*D&lTWY;J7O2?kG_7z$yo8z$@2_8i_haiT#E1G1}wlG=+Mr2s3Q9@VS*G>_l4YuWelcsEWB+z-XcSn(%UwHZ5N7wnI|9>vL6@j2xA z34g|t)hu%qYhntfqo02<v$AgZL!o-~#-s68pFE^vgN4 zp9{p-r@s@vit80$)AF8<`OeCWM8IZR&A>&7qjYEdk*?~6OEt6JO$1Zn9t{5;o|ntJ|+;q*2O0g zS2hr@d2ir)KDKx3Zcx`(X6-h__j2P)x$yh%!ijX)+i1=u;s+QTplm*PXE?fMT`mhV^VU>-ypZ& z^WA>?cu3yzp{cqqp=BpL>e)=dk zpWYksjxRx-Z=&W)3e2ZCslP_7`KmE4RPQ^y_uj{R{0{y87w23gVHvE9KK>{Awa~}n`D^n1s=g;~M!PECKW1VUM)>}*JNCsPI12ATzyG7j zKMs{I8i;?2xS6Q$nR96;Gp=4>yy9LVUi0{Ise$q98Mg^P$8XWEuLAp|{Y!LzI=Fpb zLR7eo2{{EGAS`#Sz0uOELJ>uT>D zLVF5M!{_lu^!YBPKLanvP(D9ial;vxg%eSA%%<(fucBYyXY2dwN_;<@j14gryWzQb z0s8#w$-muMo_OVJ8)v@X$#Vqp#W9r6*Q2=5`c%i+ z#I-?vzaH;+#r0ymzE_`1Tl3Zr%-@~3(0E_3;xZVQ9hi3s{RdI|;PYKcUH9S~d=r!T z-Z%yQ_+iA|h-2_(RKA6@{rIu;YyMdC6;j83Os-=YH}QRZT0Lu@jeb5qemdhc-p4m5 z|LNEP@55O0JxJUXoQe79=UYerX8al}2L8O^1p1S)5%vwlUrhg%cs))H#5bfs*@$*C zY=LR$8AFG>iS}3=huP?Pmk#+J?T>IR7NBRz5!SQPxsJAvA63kHUcfrVt$jNB_^HI@ z;7m8($19)yJDwIX@-HUeDvS^x`u?~J*ZZQrAAXFsucv2%@ydG@xhRT?Z{m|#HkYK#>)?-{6Y961z2G`?_ z*MC3Ns-$I-U1|IL`hI*d*Y)2geH@4%dZc9-g&S}OevRLvpD&&7ZTsS7I0}7yCg1Ch zz+3S}%;o#r573YQocvIXt4(C1%A|EIVaKgU$Q|2zx*`1|=@F$cfG z;{x9wu8vxUHTVI3hCcsp`VZoSV=Urf^zj+=Uxm52ED*2nVUOl}#Bx{#eg5Y3x53r; zNgzIl{@GZB2Lkb1`Tp-q{0hIvG`@#R4}2fjk?;BL#9S=G6uys>etlVPe4ZQc<1e9( z!I+Qw9?{2Nkzl;?j$~Y(o5$zBp6l_(D{dU)?!s*J`Src%_gwGBe)dHlA9eekMqA^2 zd>Y?l$_})9qK_ZQ_d><^K16?it$^Qelap;k3MSXI_7$kl<@$R{cJ;4+{z(3xaG#s+ zuSom1TFhG?8)3^pJ$}6YUgA-FkD%|V^!F2e{Efujgn2bAq7Z$&_N9n=vXd=hGCq!T z(60XV&s6ei9_^$4-k0{Vcdft1{MUa|d>;EBD?XFBc;kl?f3wTqJWx*|{Rf<-YX8@& z|N8f9=^u(CaYP-9$-=p)-!nd~|5uLx`fp{3D~}bh8vfVV|NZaES5()oq>?u~kYDj@ z$+r~?1Nqgzlk20HCl7r+570jeXW@&1_?Gmy!Zz3?5U+XP|K!O{_l;*PUYR&+vv8*1i#cLF@hNpZmxcAx{Ao;a`#VZ}sRu8Jl8D)VN=1 z`|%U$&&H&t7LklTzNPw8?8WET@AnPl3FY(gihG%H+Q)tDXOwwPz-pL+58%`2^G_zP@_$cW z}H&!=BD<^*YOPXyo}m6U*BEi$;OBACG_#LIluGq1zd(cKE0*&Jczlt1%3Rf zsn*lvbh9r`XyqfVU5V?}F%R?6k1E~TdZK5Tsdz~nA8GBK#P7zvZoD6rbf)!`!AkfQ zM%&u;F=>9JwX?WB9w%Tf`ccctvl8=hJ4W39weDygZLu$Aq6?3tRITuzF4>IsY3Sp3 z(=QLwK3;#Z#tl%MRDAJ3eEnprr#+sHJ( zJezSB1;&?Pp3-jn=n%{QMd8dj|&MbLscK6o`L?e)%fxqy|>cG1v}$eUXOLjYnXT z`rQEad&>plr!}(t&tg7)hD}bk>#5ikFF-eaM0pmuJj%C~{%=ru&vJP$4dlTO)%dNCEpU(!!^!vr&O)DW zCH?*!U&wh@-PKyzy6WM{I1aPX=l_=cW!-a9C-A&Ph*NxJ;zIGM#AjoydTu7)Yut~} zI_3t}^AqEnGX7L-i`s|K_+0YJ#k4;O%$L&I_FcB7eHQxt&Z1vVr2SwZei{95VF4Be z;`0)WkDg)m%j&f2qOX4d{h64JIf3}W3C0%@U%Cx-VO8|?{GMQZaq`5QKaKc)n1R=! zujkwZ<9j6-pH2L;n2RgW*Yi|@@iP;Q&nI54rTqo^dK4!WzbOzOJ(F{QCty=d$3A!= zUXFhLP`Fz*Fx=kXUkcKvSc>VKG5<0!nn*pdGk{~-GM zTLtnzK>mkuvYT%&^ZtSdG12+|U_EK%k5z9e;^K|(MEpJI>+}23Gr@S>mmK!-Zr1ZM z`uvf3cAu7E`g7Kv`@Fdvl}GpaUFzD44Hj5@6KsPy+=tI_D}IkToP)f;d6?wti4}i2 z>y!g%tA4-!tLIzYBXJDQLY>>YIKO`U(8C-^0{36Q4uX=jTf_e@*IaiK*Bc&qA#y(fmCQbNu;? zzZ9>)$>{e>{ZDW`(Ry`1J8(bGcAiVSKVFKLqpzn9_q`dmz&_~Xb^hcx@7Vb({@&m1 zNc*TG?fg{4p{H8=cJ%q9?^>Q4a3pTVrsO>ZPsK9>^ZER$Gl}>z&I+`Xu@=@vpRYU5 zVNbjmufZWW6#e+&^pD58aWU%Wpx$eKeAZ!(U(WdNu?T;`GDmU$(9d6Uk=-wO^;&EH z>a4rY`sY`)e5*0HlC_uMvg54%20nG7wU^`74Xix_eLWvD??&A0^zo|m58{eZ=aE<% zkHsoj6@5PK!+7>Z&ZGVK%eD`)cU@c09Lzn<+U0ovw#Ez4&)15)-EbA-*Q1YDJrjw) z&pCQh{`7U;N!!n_xQn?y0I$Ytox^C~f?0S6`uwWv zd)6;2EVeqo+y8e%;};pHFp-RY)(Vl^`a1Q!>+Gkm~(duvi>EFGYwjX~4{YPSHJT4Hgyq&q;)!CDF23~;!(a*2C zr*XgJo3zV+ZtIYKd`IHW!R~l5`grAkn(MQj&(mIxui;Ac`BbO;l=E}$7OPthr|rk@ zA^sQq4UZ1QD_<|J_jX=P`x+dAL($K#x?Ax-03$PK>)c2`zJPt%frYp~uwTmGmi%Wq zyU^}~7vja}=U1KbHU1wXHD77_FZ`v%Ub z&TZ2aJForG=X;lV_M*m*Cy$S>;O6!7cZe~c;_oKUz0QYePsgWmHu`$BZrO3G?aK~l znF8zg;}!QU@jIP+XcuFANlXglQys}mZ9dtFc6;_!`|Rscd>!KJJDbvOgK5|veLl^5 z+bdR&oJG6W5q3VV!^UN-tvdH7Tf1Ei^JdiVaW(5%|C4xrLu>o@Wd6z4@9Vpay065m z@Z3Osp?bE}{^$H9$WsohVhX0>S*ZQEnEmkeYW|oPx8^uO}tJ_$!DXfuk@BeSSUf<2c`UIq#=E6{q10^!ZZU`$6Zt zD&Oa%pnpF!=Katr&i92rU*+;SEA;;OmU{N%Z&;f5Y&C3xem$zcf~)^r+NyU1b!TBV z`g|qo*!$o_Y={F;`OXQ9KlU)k&tv><)I1jk=6f~4_{ZJ*J=XnsIS_v{KMy8h=>C@A z{-20-us>@46}0{RIF9~99lwk5r@DHl)AsX~pg-RD)jVf%>KgkwU7YXdq`oKApDUbl zq@A<#N|{Aik>4Mi;nnZhby}S%UEwulV!B*A#y$GZGJBK3RId;Gp3cO7H*qecbuqsnIT31(7N zGm4%0JhmGBe*DgPD#83oP9LxO8WGn7n`29Ci=D6w`g~tf|BtxOt;ffIpJ4n%*8M0x z8Dl>lPB32gN$U67(aY_*l+$SY^^~Q*0v?BT1M$jtE7!+5C(wQrAH%8W=U2V*sGs=U z@0>;3kFP_2Lu`y~0`a%eKMwD5-cNffPQw}K=hwckF8(&@vm@SU&EF7ao~O{{|V$j$ytkbGi-sU zp`TxM%603l-fK6Q`g;>=%iDWN{z`iae~zg?*Yx?TlSlbt#m^(}0({Bo^Q)duiQDY_ zlJ+j#gFmCsr+v8eRa<|jjemFbL2D=R_jmL?VVSbFKe8F^22tx@fRlNzXIHcSBdeSD zVLnE9kCo&56@9Pc>%E)%s(O8W|K0P?{vV$IbLQ{B{qpONwSU_fUxa(G4*C3ktG~e^ z&Ue;fo(EsgR?brqHsbuW&^dAg6j#-qKaF$Y5#>p9=W|0Kzv8ar`k!%}XP^JeqwV~E zgFBr*Ue8yQ=j&K!725T&5jH`ePtT1!=R148=Q}^9?Z*$M|9ZRuZwtgL?*gtbb}pm+ z4z9ru(a*2CpXNNucWLYQ3;8&|AL!4Kd_IkTmhtnQi)g=&tMF~~`83}%%==u7`Db!H z-gvE3roU$Q??b2lyvNr!nz&nWEIx=nUU}DYeS`CJ+TY`kxEp;w)!mTmQtQxplzx06 z`@R#4@L=G6D1TGtYwkRq_Stw2c1J(I>XfxN+5Ts2Hm8)Z=X-O>zpKAD*FDMl`=I`w zkiKVrm!E&>%`7e(mtb;p>u-sb+F1Jx^!4_kzNW6eDb)9G&EGgMzxLq^=G*T4j`okZ z2Y<(sd=HR>etkOUL-TC^H9Y28xmUc;Zy%iV!Luh;dDxW3l8iS{@6J^qNko?dU*d66YoS^Ht%GJ|fc7vPiKEfy(|y^>eUiFQGv2iOCAH5>$tO#dvHK?V=YqQ%SpPxv z^WVk158@nXW<<5`Lv$RT;J;aiuNA-8Gl8euaI-H6N{Wb(=N&SlCVr*y}Dmg_o>QT z_FTy{+PW{*c>ZN3ZK?NUw6#57_0X?J`Kyz^rn3R<)36n`L7z|c)S{lc&c?J`B<$E08>+!7P zbG}{2ec#pR_xtuo59jrIp3n2VuGezE?sZ%o-@tJuwEm6pX$ISP{CD2ve7aL7SpNa& zUxBZ|DexV*9NPXgpZaWXWY~O9lqf%pK&z0L!@&u#CE@-%Ym zW9v=ixStHC!FS*?_!Ry8(|VfE9{j#BJVbm3o`vV2?LR-qLm^lKM!+(Lm56J?I!*H2y`Qs@_jN>lPsQf< zM>hx#f#aan%kK-eZ!_FQd;}hYC!zJzx{CVVX*WKnA?o#Aea~l^*-WI-d7Zhv3{cVvp(1VLw0xm z>v2+_aP_2mWJhFMOXvYgAJke)8~Z5LA-yv#8B_+ z>U$%)j#)qDEhm4a;m5>Zz-{m=X#MhYeJ&15Ltp)(A?o$LNijXc9nYr>AN$db=ex}v z2fYkmBewlFAg`67{QgUiPZQX}(CXDkUvvWuhY-IAUxEqH`e_~V^1BK8+=m#)`(WQ0 z-oWd>*6%-jZtGV=`CGkw)A2uUc$zp1{s#Ym)=zcp??B9Fes({n@jNd~_lvMR)P1;~ z2iki5@O=d)Y8|1~t44)7P$#e_GG_f8u#x$JejTPbGgl{2KlStzP5T*sk}Hf~|Kq z>u@jB`gOS1tz&(DS0vi=`yvNf?_l+Z(Vv7r!csxjYfhi7wf|rYwCmHK@kE%(<7hwL z*NgMi^&LO|G`|3K?||juBd`$bT*kBB@6+!uQ2V93N54Kqz0TKaoUb(v>k~f!+rakF zuD{OvrMukuChjKI>spJr?&)=fj@w%>;EWqd%?bN0DJ~M^e@#bflql@14hA? zup`v`rs%qECZPEx)o|zAZ#5mWYB}bw?dY5TIj(!Yd{Zv0Hg%f7R&YH0k-DmH^Bb^z z1pE|kgI51Qh-zbD~nX!SZDSFrs2;^Fx*M} zJv;)BLF=b=Yq;0-De8BS`tm$W)Vk_*V|$$HcaBPwxc>UT%Q~)sM>(#udGu@1?Su0F zoV=Xm`RXa}6#2^g-g7=(M0W-L4s)|UcKr%7UL2M(w0f;?6Lihs1F#M30w0Aj(E4dV ziRJgX{g`a{4Y6J~w!cGln%AqXe>?Iz!7lI#X!WYQn(Zlu8;HMxX>bp;e(GE7^Q)WR zVZ$4<+_=pjhi*Ka0B1p~m+x`5|6uqN@o(@Cc!Q_D`fknZC!$`*(f1)l+s`@H|+F1>AYQ-S8Z7Cg-QV_hkJa!l#F! z{H)o`Gkf_0#K%V(Jw)uL8gQPu3x}`O@9S_S+33h^xSAuqL#AdYxL- z@8E3y*7YNvCbs!6GX4sD6~5)s%kN9J?=aj$d=#F5r=YE`zC`WEraX>_dOYdK>q2_n zYTd2wc#0_K_&C)2_M?iralLP^@6G9V1Z+RMIj(+!U*mrSTD|&vfPUK;b|UTxpM<@k z_0u|>WxdYB-#zP>=)Z*f;X!x^+I$@+qQ2*#&j;&!OWCU*nGIX^_-c^S|3eKyqhTJ=3B+fR=Fxb?in!&@2u725uM^~#iV$8`nhtA7XEt-c}S zwqMPEChPHz;XLA%a5YSU)=!_C*YEv_tN6USsNZ$F@2FcZQRj6s=eMZOdE0vOOTmAg z;YQ*#xCed%t)J?xrhbay2I8+^8r%b|pXMnpIqc?J>d613eh0|rZ$ZBeegzLftCw$C z{O>ZXLfin}2b)0ar{CEVcU^XUH^1^f`3$km{}1|e@B+NiqnB@Mwzo5UkoXDs6zl_S zef9n0A=j^{-#^s;5N-Y>@}|JI;6iBi@;}S=bB0;OH?jY6!@QpTsXoWCT~xn%z98Cu zDv?(eR)_s+bIq2C=I&hu9NuJBeKH~;)z zsVR`0?)K|yxE5}MMjod6chJwBh82iw!+T)^X#LtS9(T<3A?o+p^t!g**Lx_JyN>H~ z()u2V)?s=Pw_W#v`dtORZl>3fin30T^_|{+4olx7vi-KF-+J`>Z}r#0yv}9&d$57) zGZxx@w=lj7{sL|PS@fTc{`12KSOHdtn%_rZuDPwk*)A8Ag{ps8PYt8=8@a+Fi9PfSM zKsW?G2bVy7E^&#+?{RehmR}}*_fSuDH9vbi{1KvF*O#Fj-@^?@6Tc1<;hWIb*L6z2 z?_z(aCz9h;=ZSvz$o_7Reg{^c`_=azZN2;X-d}Tm2S@&csT2P%*Gr&YPU_9O$DLQf z_Pd4rui)44Jhbx*G#{(a1-o?HKPcnbRJ9|}>gd5M)Txp~hq{DRo_*MjjjuswXtqnGajwl6kJ zCjJzD1~)@nUwyA({lxEy^*b`6&F_w`CwvkPfmSd7b!`9Ca0~Gs_znCPT0iw!<%C;z zu`{vOU9|Zb`2GYl;qRV$@~?q^ZNrAdtzkRZ0owZNQ#^sL_DMG%u{*KN&qRL_X2BdD zz5MF4y^&!v;!dy&>;`Rp_5CSzMa@IMyLK1%p`yOWuJ4`ech{_c48FZ!EF220UiCMz z{d2>wh`)n};ZbP))Nf__uWDGExG8J_TS4ombrH2+m$AO$LC<=}GClyt!I2)l{8q7j zjp2IY?QkdD1#SQ8SG=9~FQN>G5Zip|nz6kt>;O9(K0@3J#=?Hk`X8h3Q}Ac_3%q3b zJ8@3@^1%Wgf6Z6aJSUKfKcZeInat}IqTZLW z`P%*#`q}V3xWMoO;*a23xE@-6t&6D7*_OTFu6Lr|ztiWk^ml>ucYyRe272B%y!iE> zzij%&`G(;iNZ$dUF0dQyZ$RfBp6Bhwo500#1RpKh?j;_AGc6-b7#Fum~&$ zt)D(eF6zGI;frp5Vmz_U4`VzB%ms^j^zwU*?T;JwAsz-tz>(0_SKoX2e7tytSbd8& ze+0VG@I^QoTD|Y`Gv_V21~+wpw-KN2-}Aljv}4_C&9_k`l(M*$H7h9 zzl(aFv5o73zNcaRq`#T`e1?UI%fRxmBD8*bzf08nUQh8mIpPFj{SJnH_ul$R-w*xM zhC_+R!k6KAX#G?#cO`fI3Ws%|)!)Q;uzJl)tk3%k^9}XBg?=X}8^52Z@5$?Tb58QT z6g`jE?+EF4^liT*sWTS7Vrcd1YYDm!;0pL5{1k41TcP#4%==E7Pa>Zu@Xg2OF9=cp zVTk&#(I0?EOup^s66=2r-o)!c+8MAxjOs4t3KDG z&lTu>2wPwEzNP;6FdZI;Kfw#|S7`kL^<(vwO1SgN*T2;_M&Al{F!@%$itV4kO;GD& z^;-A(tiP!5JL~)u^*v8rH}yR>{m!cOmtPeA_rn&j73>Tjfjyx0dpFY^C*r;5T)fP1 zFR{(<%y>809rpL=<-3aQYYf*DZ-+bKE@H4pusvS{-^X8xbT&)_a-_3|%D zz2b(Yi6dbRSQ}bD^(ktdA2{#!gXsHw@z3~PfWN|=b^zP>vH$=xlhse{_>C9 zmz;&?;0@%Pa$)jo$@bQU9f@P$6Ywc${dC{>9G_1W=M(F3U$pt9(3ORE!8*|DUp%jPb%K}ySsjfb%}MKq`#|f{iQF0zL?>i#8qK+ zSPNRe+EKUu-yyLc@sltPj)kwl@o+j^46T1+3FqIpv18OCH*fFng*0`#cVQYl0*}Gd z(AImjnahuXy%a6L=F5K={%P=_r=D~p*`5M7nmk{>${UM5 z2`(`{>ch@gdDGC(@c5`No1cK*mv8l&#})E^hdElf{blvt7#{*NS~}eYX!U(V)XVn` z@($puI@bRcbiwMSTSnei{8h*L&qEiiUb^k%rQokR*8ekf!Rn>UAa4==s$=~RqYG9q zT@HMwL)EeVzu_OOUb;K*O)zz=e^IsvtCy}0dBaT|>tBuS!Rn=pCNBo|hSt9o!1Gx87~6wfbBf`25p^B6PO5R z!bLCz+J2Sy0NdkXAfJEB&-SA}9;A<0I2fv~X!F~l^W|Ip#CC4|mcX#~F8&Z&eGA6L z*2HaLG>m~Ze=y_2;3&A^>2qyUziGqbiRK7IT;skCcXuR z!w6{W)nL31Yy<~-^ojH{4bFrsp!HA3XWWCX|LJfmjO^mZtHVTC;Gyf!H#>PbVIFuJ zwDq50ybl}z)sNNxz;^L8aRK_W`ofHhw-Z-}(J%(u{Fcmf72F7S!wmR#*XyrG2euD_ z%1;Y2|2K5k;7!zt^3)r{xR^lvDtsOK`hAl+GvF+!`P=m=(#_3#DQx+Ki`znQ<69qgf@9%yxEN~wT|M(v9dW0rR}3H3dz@JH0{QPkpAPe~U&cYZ{+W!w(Zj97 zR5%kZgvsy|sN+iewOTKip9<4q)KhM}1N7Ao!}px=KfpTvTmCC!TtC+yzka_h0`yz! zF_)KwkLIU5JHNrq$G5(T%rDJzyu44o)<2c_1hn;{InO7-be;G3M=(G2?aS{=ULd`6 zBTcEIRA=0^_!y zS6P4gs_#<$-8{s+PrKOW7wGNA3&Y!CIcW7I`Z#@ASOG4Bd*N|-g+8vqd;_Ql*Tc`D ztyib7)7OU&K+X3!zGvWGe7-gG&3`U_1K1y9q5Mza6DWTHKH_5H6~;eQzrEz|hv^~u z>3G=9yr#2GTDQK;Z!EOyue>a+54t%X{rBjC)gK$;_V0f@{F(79@DEsQsLQkcHf8)0 zOd95NY0&D|J?pmTV0%|M0=69Pw#Pu5f0F!67)YN7-~6y3tO@JF`=G6ti#~3F;jo0K zzb6?V0TW=2=iI#N!G&-c+z4%bfzdXlr4HyO6LA##nbJS?Jj^c6Rovh0b zh7o4JP9qk(de(0Z^HLpA^>m!{!*8JRmHz_){MS)u1N<4vzYV_8(AFEtxLvO_e2&AO zp8P?c{4mz_Mwkm$fjgkq!`AoZ7bEWuSlamQBHjl>^)E=C?I%0?LA;r`h-d$(ZYF-= zT-SA-x7STuPx%?-7bL$ZjDY1}MHmgOpB`tL@OaY#c7YGW$Dz${#JHvP>*&e1I@KA5 zel(m2C&QW0_A{7qoByguZ*{&pvpx9-85fTd|K!pC!MK?HMR(oF5AA%4G9ES7>FndK zuG4xPwfQB;s{(64`C0vgZ0`s4xS;Ex)vrL826f%jZQ|p636{d z5X7vgcV1dM>aU~kwT+WZELH-=4Nv`4SUY0WGBHMgI2U#a^p z&C}M?I;624_P)*POXFV&R)K@zP&fkG{8o&&haF)Lk3NmZ`Moe5UVz2kaPt-KAg&8- z{gI4|V~7`c^lwad{%^zOa4p(58|qVkuL zx8fiA4JUsJ4Af6K`V=b@SAo@F6twHniSdVE4>-xAUrk@@;6|wRv;OJ$9G>CUQ;eSJ z;>)uf3%>I|nMG{l4c#e^UVVnsUstHUBgj+Vwx0BllGhVH3!jIt!ijJi zw0_SpZfX5q_T*cg>b#GB72F8FfIFe>XCdP@|5K0N>U?$fc=Efj-eL@KEbIpdLfdb! zc|$z;&E9p#Yu(w739xRGi-*G>p{@S_`E6lG7-{?_6DPs)#(y>OR`|WAUM&6#;YTn6 z-%#^E4>4bLeDl+KC3^Y~ls|?%U;ccve$r|E?EYDSel<*io1xWz#kjbe_&1L}JN@P} zeJ6S5AB~Sa&YtqvAx9mMCLtzV9HwCkxlR-b@A`#iT!Ibl9n5Z(i; z!CG(voCvM|>-bMIJVR{t+Za!Sd!bLCf4=Mc^diTY_Z{P4GR%Y#OWpQ4aMA}ZUJO52 z=Hflcj<&yw)T;uk!zZBpYvFJ6??=}Hwt){ptCw#q+xx@mFu}~n=1cbu`Z;h1RG%$9 z{Yv)@`h)NS`~%*yz^zvSSQN^)t;avp<0oG+H-2`0wvUqN?t@KXSE%Eo7srG8>PUZG z;3!YO4LtsB7=Mzy!JhoJ=)^CHcfq~z0JQV{k@0K`-Fn{w%Rn8^b2*-Eek3}vCh?=t z>fdKvOd(Fn4 zU%*|^*1vbT+izlH;s;ui|k_?NB$ z`Y6~RDlgoVFWn&YL*X2#JY9!vztSy0zXa}sR$p(4TR*WiaVOXXJ`8PsZ^mDQFTpAB zEw~K&^82$r4hHg@iSAuE7h3;O9=}A7K9lhaFbm$n_4ID2ZKD8kS8wu(B*H0zrnE8*RL=Aa&)5dZT(bJFNr+)oV9h0K_AxPb(jl%S9lD{$E1fX zBkyAvhdv%!y>y$=tB&%l{tniu7wiN3!|5;$o`e^m^^;zlg>IuqAIG>jgm^qu-J_oT zE^FL=o(Jc{g)r(Pw><$KfY+eye^8KqoyqSBE1!9mc@nFdj~YKEEbx_xbe=(yu1EIzj61MW_1eU-fLiWjKlfr zk4InhnCnZg3k~tSK9qs}EUfvd%c}>&Ho3UOX2(h2Iwr%L4!XE6taRALEufu$9sC-= zDEJ_ZfkWYQa16A59T>OygFJex^VNCTlRuGhaWe4+kN$qvrA3hI6Sv;2-(WZlz5?HX z2jHXZhnJyUAL$~sKhvCl1dQJA;ushYw?gYDAA6j{rQ-9oV;KG^yIhv4<3Lgq4n2sm9^3B zpNKt7uP=InD4Nou9LRkOxEdw z*6TB;F95B+8{^%fouAczfNmvR4L3roKgIYNcozNwbFr>N;25a&{-^61XuX2%uLFG@ zf=A&=)32Ss=Ap;Ix;zfHhV9{l@G%$*bzCKKJlV(1Y8)RrPO2Pn`@0LgE#1YHVW9s0 zzpAHonap|f7F-Fp!M!j8uI6!SE&LRo@jQNg;qm*P@g3xS=gHT4*glt$ul=FE?D|eb zXKDTBqO?hgrWzIljc+#QmVv$1|P)C%{CH-lzKz zy^i1Fp5wO#$GO;+xC6BP={{8F;npqg{I~{7eD2~Xcx0!GoAdb45yrsq-EMm#+yQkR z)pb3GxvnP?+y2zgMf$l6e}`7D@j(5bVIH=B>*t&Q@gVb8@i-=aM7#;wdOn@j%j$Jq z3}Zd)y6bT^lH>Y09yi~DdS3A;kE6Oy9`YP7`?wCDgcLVj1k}8) z(6?PL_46QgR>L^zDF0{j&qJS|<|W#G{;NK9G(S5ZtJig*IoF3LU_2bldE&cn=y{Xw zt96{~zE9T$J+5mVbswYSb_mCBpy%gJ=_^pblRVcs^;@3jV}a`V*5ehAe;_~AeTe#6 zkFy+KcK=A%9eoTO1V_LrQ0t$^b3Im`sQmHd+xqJn-v~d47d`s@jEmn9pZ4fW@I1II ztN<%}o*(;k(H?yv*5P(o61MfMkB-Nl9FM(qTtd4(iC?(uNZbxbT{rA?TIX$U&Uf9{ z>b%!|!TsD9*w?FcT-o}m)ZYTXgjb;Y>E$`T4x&2@kHMdytta1WY|p;c%{vmVrH^>(8Z(}_<&>wl4P@ekrW z+g*QFUxab7IPo&5*v=AQC}Z@Gxz`;2m{r7jPvmc*bmNwc79hFzY4Q658r$y z(Z@7618P02e_pOLVlm?K(5JULU9YUZ4*fQOO<^>&`fZGh-x41Rp#Pff`=HG`>B+Zw z(gl0H)Vw2j{MPFbdR<1Z+v{~K-IwS*)$0yAZtQx`+LLc}s*~p{cRp&prh1;Q*FyII>;#{Lw%=D77pD-!dxGYX5 zp67YIUd_1pG4c8UdaKj%VEfVW5y|;q8#aPg|HU!4t__bnwuP-uxH#&hpO({L8db;-@AD75*~%|SmO?uN>%;K`S6Kl<-ruJf*L z)d#usMu|TYq)FJK=u#Jv<68!>2Ag{Q;Qsii=Ca`q0il(0ty-e=b}FKZ4`4TpeG1 zUp>{e>z9e&1(*d3Gq2lW1Ps;R>NPLX&d=&K-*@S25nK*e!i~`8&tyDM{u)ny2IIbU zvh{rHru}906U^~Dn|L0adcp1QnJ@|J`0mQ_tK&w;r`9dd@ffK7Is6B5{8@iHpO)y_ z!1nMFX!XANt!AEU;g|3$xDS5Lb!ofj`m_R_rS;!}&h}?@2hsfsufUtAp9dB&eWela zh1!4GKapH7s>9lz>&FF8{cQNkuc9ZvExHF`H~1*D^Y`icpdSQZ^5pw;+HbbrV2(F& zB=Hz%_0t%C7tVzXJbIsQ4f<5L32uW2psoK2=jmrK9p+#^<$(pE&DZ0O80hiG=GUX1 z*n+qdMd3s#6`Hyp4_lASu%kVWg2ZmjB z*Uuc#`i(aE@)6}XO@79}>gJ^)c@d!^plNf&sz71!4^gi8k^dG_P zurBM_8ru0SVSF{*0QbUg;dvN;&F!C;p!G{bXKDRTptJc_cL`mdKV02gU`bdS-UVwI zwj^!~)%UCPKM}6;%qJ&#wtiv8XOZ{5Cx0)x?_oMT0qy*Kx?K2Q2`l)2Q?5aqe+r#= zj`*UdzdZQd3U7nOJpMjiBlLN1aQzj4w!c1%KV$eT@o+c++WhL-oc~4`m)*tF;Q<(N zqZ^NgZEtdMN7w^e|C8kZ49^?C#2n5i9oqZ})XT;8YcSaQssAv47x`CVsP(n3xtVt= z)VkXF&SD+s!eqGFv%XDpy7hYiwt+Fw`X@48IG4+dfS*IFKg{@1_yf$Jn|xRkHigZh z^~=q;FW>6p8oTRMTk`a~4ZiO?+>F6(usn=~32V(& zdN#*uQkvJ zen$K|jJeTe#K8<0?tb>f+J$A1cLx3(z|R`gz`voXQ_NFOx|Zmri$os{AMxZXuM_#o zt7r1!Jo#FeMDka`4baYSDC5$n1ki7$ZW=rR2fIJ39yT0af?+vb#e6V7EDUWwRT-}b zTfyDAQRZ>{ItW}s`Ka!H)ngsj!7S?J^7u>l75cBC*3(SA~Y;q)2mac2Fi;8Pveg7u+2E^WS! z(~a!E%~0o))n~F@yg+=@ElwE@%RrmofN`-g@faAN&t)V*n;(m=9~@}%t^QNCZ-uG& zZu9s{w+FrYSYq<_d-9ccl6>WJd@{yU7| zi9#fdhOv4AVG6DyZ!O#kzcYU2Jo)(G2{8^D(EVQA~$&3JWK8`g!&?@Da*doeEdCjJC&g}Y%oEO@(f zih$*y^&g72NMghR0zhya=s- zGsZg_zDz8?wZvOtIt=7L8lBJ2_9LBdezp&rpSzeF5%Uo@g3<6v7zba3)~_z(zI>~n zfnI!_On}i5_e5}OwdthzY4#vTFXzatH7;g$&!d5U)ej+*_ zXR`erxBz|%(_tpG{UtO0Axwd5VW9k{N;t>9Z~z<(li)&V>t`^25&jCVdGvRbbPnZU zc~}wN1DnAZ7zb_r|JVKQ3voUZ(NBfb;0*Wxa1)Fw=f=0fD14$}3`~ScQ1y-xhf}w@r~V*xL*Z~JU)yy=MK^K`rd4+F zPtfY8qf3H|-~nj$Q>wa=`7jN})N->B(Erob6+4x9%ULYu$!KKBGHN0j4D zFc&NUZ-X{Jf^o4Lab1so6yxJzI{eY29~+`xzEjCdgQ{cupUC!L_0r8DFBz_bTcGON zdNbMnck_ofcKa#bFp=2SE8fKEAA+%PCQOF=;dk&bJOOjv?|kyY0?^j8{(* z;Qb!|M8?H8h^NAt@H?0Re}R|b?M>Z$Z2$5VgAiJ`uMAk z?dMB$!Rn<8v|eGJ_1Z_hznhCOW``hZN$I8@aArPOF-LCuzp|TXY(^ctoKuh z`bhc~8xc42%x4edceil!uG`Y_VfYB_0eiw;un(L7r^5H4oxkcGrfxrU&wBLI~`?vnZ@CoEUDu7=(`jlTQ zPrtUGPNu%*{ROQv+Y9qdflY7>|dq zK-IDR4DRguj)$4>Dztj(USWG0Jm}Hqc+mNaIf3@I9(_N?YdG`}(=Ub}_7ro8Q|o8J>n=54r8dp`BkGx}k759H)GfFqLuDODF!bp3z^X z?(eGK)%BANM#3ogvSCy=rx%TVSg8IsUwsrXb(7T>^&f;bKPNinzecS5W&!e*S5oz0 zG*sP(J@s!x=gYVKet^$PxEgNs`0ryp9cIECA9nl2`X3BYAB~ULk+=)&4_||}p7KQL z2Yd8O8PC<-_1_i7!&Lauqt~BbZ^rw=x1mq3IuWK$60x0+)xU(!r_T-0ACqG<7 zUaIm z91JBB2k?)V;k(fKEz0ILWWc}cpYkvJ=Vrc*=_>}R-^(HP8-ZVif5~qi>#pw;r4aA% z?2oM8ZvRKeIzA2KA z*f_@o82`MB6Je#-TwE2t6l6X5$5SU2zXNdZi_Z5HwDW5~UK`jRc86B4I+{<)Navph zqei)S7JQew>SOd+w|yF{|B{Q_z*smFo`1z{&z|6zbG&0mxR&+W4F|Dq!LHu|=2?dQ zV*8Q*XZYLoNF)EIznQP~>dSh49$-GUzVZf=KisUp)!Y3M>Uvv0t&92&bbjdgFFMHW z$4rjXTrapdFZ*5lLC3-8jNAIhSoc#f6UyJ}H6BO(4366{*3If`qH79Uz|PR>bNonHvfXjH}Wvm>Gq7P6NhgCJj!`-74~KQUV_#yFFqw;DOed= zz3RrYJ%!^qVz}!kp7VA(wE26{pMa;}1!(oEvx|CL@lA)i4rt!fnCA-5e8=H41-=F6 zL0eyS)7hTLJhNadeQ4e`e<`|8;0Cw@TD|H-40h`o&VH=`_i{bZd1v#L7fHU3;~0)- ztCuc%h^wdj51pra9M^SGkK=hpJAJ0PF6q9)UWabu`lIu__c)io9Bzk=*l*p;e$;hI zkNdTF{BH=?LEQ(u!TrEb@Say)y?XEn`~#NcarR;OF1!ry=03u%pXPHr{kMmjpN_*l z%*XaW!}LFpeuM2l)PA$m-_3^M#8;`Gn{^TM5if1X#{^&f_b>Hfxix}#T$M?DJ={l-Qwb&k#5aj)PXO$7wx|>ApetO^xW^9(S6Tu4`jizXed&@s8Y2 zJ`C-3+V-Qz(P-{_rn3&o(CVd2L9fTPcpl%hj(S|S`Tfaz0gi?fJbpG`_jPgH-|43&?u!CFuIO=3&vW%W z`ViM+J0IKczujM`{j_D>w0?HJwtwk#+-qG&v%Z?Q?gM=J@+r*uBR{LxbxHS4+Hdx} z(epCh*Vya4UiZ-JLwelQeTrW9u=NjcT|5JIo~oYpYs%wpwCC|x`P(@Dl;4Qsr3+Ml z@@wt!i^pfV$1hO6UT1rGfO~vRh1Z^Tv91%k&$a8broYpzhg;!!!w7tB{+-mB3}?Y$ z>u*N?4NQk8p{=)Zg6sE7cmRF}bH47j=Y_@K9k8NdRpL!>_(YeV3a7v6;$&$1DUGfy ztO%ciu~5D?KRnU-SAdnNQw7$8v7Y)D$jkPI^Ep4+@e2GM-r~tG&h{#>8mtd(zdaa_ zfxX~NkA5BF>)}SIKCOSFX|De$*bEMaRQ_DFK$F|ZeW7g~S$ zzJmYUnJ$0i+m3VIb(}fdF&jSZjPDBK{qQuj_3pyABCG-Rc=Ycx{sCMGv$IZizSHNpK9|F+xh{^LNB@f)8^D$@7N*1S z#ZDIqTf+z7%*9W@I5-w2!uMdra;L8aJ0!cfJGAp%O8x)9 zi>4o|e};7!4in&2m^t6o3tQl*d9`JJnpYV8HlWYu(AJx1{Qs%nTlg)8sqhT^r~Y>_ z|3R=Q>wdRq{gcss23N6e2jKRFZXMHM7uGRhsT*G;a=e7It~zeCuIi%^edxI8NjxM# ze;b1AFPeS^8QOl2v0cm}j^;Q}zyEfBFX6w{bG&`S_yKqbsvmoNCa^yy!nffCsCngJ z|IC0o&wcw#>tO56G5-J5ZwY=M!Blt#{!{i5wwD}2~ zC$GXuQ0LKq={fG+f=f7mK7m$$mh@><6vB$U3KwfwAy;X!Xt3JN-nM2;YNNf0FSkpSrwAct5oId>foD8K%R@ zscziri?Y2Zd;{A2aPq4_pWi{YSO3h_i-z}Xyng)*^!FHj9C0E{gJ+=6FM5-!(;3Ei zIFfO@9=?2^KJ_VAZx()mJ})tjf@!cTpMx6d`8?EebRWWx;3jBMk_wE^!le zw!%a37_@%+99R-Q(w+9``=Se0KQ=`DKJ?$h@1Z`IXZzRZ^a|5&QCJLW-NzBX0w+Q1 zm&v&J2XT%Yt|H=!TPWbY!AD_C!l^WxjVm0Y^&trcZu7=F7OX%^;L{Mi8vV^ zfWG|d0rJxWm=lWi;#zgUzoLWPUt4 z@kQcsa00vpbLDm&l!lS85sZdUK-;f=|93Zj`{6-&1pWg5X}$j#KlNLe{^~>ZZ~ImK z{OB~lM?CYBt_0glL9LhaeCyMc-yLoNTN~>4j(aek2ET>2|4xhttM3}3{%-So)B64E zrJmoLmcBmQ1L;%IiJOTp%b(v*t^n=)l_x6ygvr0%lYgFZ%SQY@aSWUSZT-EB7vT4Q zBVkR??*R{C+;ThPnXpoRTgki5MwE3MF?*X^(z9btl1OsNWN|{p8~Jc1ytKup_kk7{Jiah0CF>UmTwZSOzwPR^N&7$Dyrf^_l3dzytLAXWu5F8r$31c`?5*<`E0+ zJdIsgck+6|C$&!UGYRGJtpx9ZRfDXjz8|Fj58w_sk-GEXCPV!$t@u23MbmCrsP$~V z`h3dtsr{rr^*gsV|3~_}f!_~ZQraojK&!un-}%(dR6(o&szH3 zPuLM!{Vv9@!HDusQ5r_UR`ALF+krozu*{9P`? z_j{z-*q#G+g>lf<%gJ~lm?uo!W9XzNX6d@7s?t5;1efs7>>gC%ReGDAp@lRr0TtS@T(SO2tzACQMblA44?cBxEA0w|Zx<7M=|^?NKy|FEe6oyRUDKcXwfWM$ZTimd>3;;eQE&`=9a{fF_=vX?*M}`( zcNh!%LhDzHabLdGKZjl%LA)2H!)(=EW;iSZtzRjAvhb-4Yr$xbe+=V&;2^_iiI+lKFN^V} zHQg5d{(ELEt90=|bi?2aFbUeMOvd&5@_+i)cFOE9KlJ5?(@(JaTtVs^qiYTyfbF5} z*Y(BOc5Z`o|3A5F)N*9MSF5W?0&ZD2r zc-OivKj~h_WEffB#nG@kd2&w15z%4As7Gf(T6AAKQM1V%!u-^chtcnBVWc3o}0`p&^TAB8W#M)-7wgALy# z7Vl=B;y0_VjEg6wyU%qN4$H!tur{>)UkQ+J^@H(Af)%2iqB^wtH_^QXXNH)+ z82yd-$H3t*6V_-PcHRF{$X^dr;pb3(eetm--=j;1$KY9L^-=U8HYaWiJHp=3=D)~z z0-O$)dh~}GKMsF@zj*Y0nz)JsU?N-uZ9f`c#`aXW!=vAEzjF}Ni1)z#@OxxqxunBAdZM_bRABEw~oZ>~82;YV_zX9W76!HDA1#AOtzQ)A|(RGF0 zVNXxKE>mYPu8`gRqYaFK@h}PM^L^>WQ8(JoT>Lr1+o1d#kf+bN`99yahrFXu_4Rvi z4F3t~G#}~I@1H{cp*}QU^%3rwPn{cFVtv>Mwu07wWHvXl7Osb>(CQb5sFzO~d74Le z*7r@Qb=yv?{buXS=O}*i5v^XjUxU<3mzO@|8$)dUwHxxYp{QXA;xaaoI5+&e`Q6Cx z4WEY3K#O?RVLDs@mq4q3oOv&YYoN{xtKZG`{qSG_eOL}03~yCz3ZyZ931+*=32uV7 zz(}aiV}|84MugHmgMKJ{4vvP)U@F`UcR+!^97`2;Yyzv_=3@O_?5)HZiDJ%Qcr(xJ^og=J-nc!K5u30 z!YbgC4CCk{9!B9~eUlisexKtL&3^e)M<0(Aav2NZDAsotwEM~Wm%_I$wE0#qo%%Vf zzUe2B{!9S9eE&QS!<}O!jAg$hLj4{15n>xV!Z9g9{&n-}XgYg??{B3@ydYwnH z=D5^xkSA;fSc`bD#SKcWqK>fYfl&Wq#x|(AT*b_bj z6W}6vydD+nJ6_@mk7a&d$LP%S^5;Cy&(&`p({Dcd_4W4@{m{*yIM2GtFVuWH55>XG zCsh3t%=6f5C0d<^3 zQ*S!dar+~6Z-{i2eaG1v_V35=D_D)=ZXSG`<17vihU4HYxCP$a*wwX+WPCN;3GMo5 zzPrtQ8=3hoAhz@M`K1}ZS|vTi~7k_(?q9u_eI(R6>HYS1?savx!Fzdp>IJ{z_{xL}8#?_K=<9zY^RWG^zTUsL`CG{Q0jmEy z=-=wKPGTA6-4y!f^BwaEpUv0$s}H-rTECT^_3O%h{|xFlEmg@?Y73u%_wzpJ zQ*ab~4=!)u^47ytcm?V_w(RSi;n3i~5@wpua8jXZ^O|BR}8# zeEGZn;r#77DfX>b8tZgZDL0cj5svdiDz!+q4&!#=89qYj7TQg!cII!Dtk_=J3`KZwp(-|D3+TH0+{z`A?_@8Wq-9jN;Rt%J|+HsiMn zKjp9StoQHqulzvzXzIKS^*EvZZ0~byzsi5sZx>}db#Y~rA4p$@ zbq;oa*s4W2PST)#UZ?x|ce$UQ1K)>wUU!z~C8C}u>3Lo>&zElFKBp|a3+i*V79ZT2-ZQZdpFZ^`|uJT;Fs3v3ZI^%@0=p4fpK@YPglq`(8)6 z-stnodfc?@b;RUfFpslV@AFrl)$gOP^H8soS@!bWk6WE$pI+a;(fiyZdEA=}3$hwQwa52Dx2E!D>_JU__mIX-Qk;!yL0)%RfC2b=w%{UN@` zcDvr%Zt2tOeW9<|&*BMU>wlHUz1y0)Em1HA#=*(Z=3i!9{Db(ZW=@#|k3pMXkMYhy z>VHLdLv!a;7?y(8zX{{bVK3Mh4unJC3osrg!s*cZCo}#rT-3rT4#Bl8UAzI>{806( z^AP@`^|{RUXzIQI6QTOrN_nJpDy6{wADm^6Y$`W&87R z6dVVYKbzR*7jNfAB48O<5q5=-L7Sh(_&#_59){uVT}BaT^Q$vn8+L{LJo-h9uYkj& zo#Xq^`fuvsMs~nm@Cq#2(QUuWurjgryYLV558QxbHb;H$AoC_$$;C0~5}-!T|$SZua?bOA|<~LHx7o1PuA^~PmSL>v@$<%+Gy6VI32i4WO+Vv?#-7Kj65Q)Ezqb6pa_BhaS zru|mkv;ShKlMFYT`dUZpU)QsKYw2qz%#W^=M=zcHrK{o5S71Lx!z7pt?Rx4s(SFmq zX+Qm!o^`qkWAZvhUpN?k1Z}?6uLz*e!FGMGB%Sy)tZ<8~a4)p=0_E2Xke|Tz*P*_@ zutW9oxr*V?*58C~Tafy__!*`{0-l4#J^Di7&LINUg73jp zSgnAqhbLhiwDXT={8cy$&hhAz8Q0^`4&q%NeLCZ(;Z>;bN7{bEd0f)>AS)AB^E_Tf zG2RMxhdn*|^*ruufm;oC5buJvzejl7cpMIcW8hL)gzI%QT&3%`F|>X!7{8xF^ix0b zQ9m2-G3CRiGq6V+be_VTuo#SiNrsDwli?|_-}$Eg0QB;guW0?%wwR%RsIFmk zV*UN42E_NlCa@XQ^BFsj>ddDBe8e+9`RMlzy5Rc=RJ-DNe8h{y;atD+avX_8iADK{ z^~h@m+rlnTI?<;q$n%4oroQ?p=sCWXr{A|It>+b<=OcRF@+kFsLjAoZ^(n4qdugtV zU7_l9q_4+3{jEbE#`QEi%nc)@HG4h=H>Z?`W7GJdML&ce*!CV|5Fnx zPpryyt~$IIHiFGyXTw-x`G_{(<~>B7FMm1PzkyG49evqzJzb4X{FwMtxC2^0`96#9 z^KeXndQog|3p>IdQ0pMJ^yrn>B|!crwy)y)yA2+OEjTW9oW96?weHW=hZsSg&o5AZ zJM#6t_6Lc3K|K$fOgsb5f^*?~IE8*iJ--muw-~Ii=BGSywx=E&%fJWWBd`bT37>@h;Xv4pbrFXWi?*M?TSxP?eqHH9efReCseYejyU#B-{fqh? zgu;xMgr%YF=Vivn!-;UVp?(Lz=1c#k(JOy0uJ5z%QYWGh1IzV@t9@tV&!P z>gy>{#9iRSum`lL$bC;WsQWPce6b_jhr={z{Vp>88_dQ1QZdi{SR4l8VB$m8nE1=N z?uCP|VI~ZF&+~!;!UbWztQ-O zgRj6T(AHnc_(yOp{M@5o$UIiU*adF>@zDC0VY~{g2BVeaei>)JdEZKam7HZ zpS;NRGY2N1o9WTFTkP~5;e+sLX#FeTQyr?0IO0?A91MHk`4@uLPd=L0Ci2pt@*+I> zs;hY}Cr>`#5eMo^b!t*TjpUsc{z|DWza>r3q-4ndA(CTNQpKrK|cs<+*ZGOjPu1;s_O@y|- z`mp(nSGfFDF!e(hr$MXVif%W|ly0@lv-;{Q-FR&n{*jBzLaQH&?n4-}#_5%pL0;|@ zH{J!7`PjwQuaC+95&cDI^)H2}SN+fMI{|H-+vx8O=<9bA^FC~Nk~p0HYD3$<^1m_q zA|Cx0=z`UkUgg%gpcNlp(FIC6bhsB`_R{uKlN`$*vFP&#aIiAH*#ARSr zSRK}Z_d(lVGX5XJ9Z+?xzSvrKyhXrBL#vNp=k#?yacl`EL93sLekz;^zl7=V@A@tH zm;KfnKRch}A@+Neb!oNUtyk8kj@Mx12G$YAz`-y))om{WZ9jkDpB?|3pz4L{my7&L z(B|9vs)@*&qkiH4U;Pwfzm|g2*^imf_FtHJm4L6n@o)`H zg*HEIi(8jGFdP23#TheUgVc94mSTq z^vN)sI)!01C_h_2a=WW1)+BBLt$xf`PX7U1!XH##4iCUgX!GAQ`GNFT&`03c0LH;l zP<_~XHosYj`Q_5weCxo@up6}Xitcv$Qm`zn2;<<3FcHp#)-Pp`^ZOL;g8N_=oV?fR zY<_r>8&74s?z?^W|9ai$Fp-;cKaO5Y3JaQFhW`V+kW^&>nBi}3!I*q>ORM_5N} z{a)sMw24spmNm(r4ny?|Hve|~gVk?F|0UGt^X}q(qPnm(wDXT<{9&l~t)3%JfD56` z4^^MZ`zhiD;@_b4&*c3NF^l*bw0eE+Z6fb$B*A%bDO>?<{zb;~^16OHuWx5UtIvim zSiN-jkeAB)K07?`|LFacVD-|q!#^2c)v^6IMHj4Ix<2G3;jcQ@|1osI>ZKb;o_+^g zb*%pgbiwMSn@wIk{i}}kpNcM6y>xoNH4cB(vHp5rGg!TJ`{*kMf7P-6+tCH9m+lgI z(fF&5_5TmLVD)!#9^DOVz*aDdda7&dMTMxBZ!hv9@mC$|{|LHZ_0s8mx(NJL$NIm3 zf3SM#^m*5C{8h*Lzk`3Udg=5z+A#c8$NI0uKUlqVhse`)^aAlksJgbE-dFs)`S;xF z99zOTZu4Ha{_S2^qY(A-eS*9gd{xKJryIIp_0o+ZFB*Tx)l2s^c@g-lj`iPyE?B*Er^yS)Uv;d1I=W!>(%oDTC;U~% z`rm*qSiN-R$;&i#tbYl%2dkH^1$pVVjw#TP?ZN7$dy>2~Q^(kc^~>WiyhBQjbs8P;S@L%-Ua7DJ71!K%lr!WdDyCv(~0AWi{Lu=yj;|P=NGoV4SmAu$FPr2!KYyy7Q<3l1}io(8}A9ZZIr_Hq-3JI$fMWm zyTax^Fvp5^iHKt8N~I(l&i@oYE;7D9_665>#r397UzqJ#Pd<5Z4)LSX^SZcdp4Z1MO;Ru4SE);wKH3NIC60&H zOZO3VrSMzzkum&$d{}*ieGpp_kAx*K0ZqG-Q5Jnye4LsyC8RiNsu{~C_3 zhZ~^&j-l1x%{PR_@B#RQzEPNhUfj366lQRL_B3eZDZ1~w0(~yJ2_F4}=)&qhM!yA? z!BmgG-mkYET^7259{pw9Hy#M{U;(u29Yp>bSPHj$^p|sASNF58CcYkyg1XOb`>9S$ zwmyM>3*I-O_s3-u+kVpjL0va=nXnJ^)hDZO!F_45C2_d9{o1*ze2sw zA;)vSI-k6y-tSPz@s~XH(uqO(@A3Hs{tC-+e>@B3dhVC|>g8kiuP#0D z{UY?2a35ZOZ|_y&b+9S-9c{nIOug>^CtLplKBDINxBT?}`!d#(7O)=8VQJUDkGW4a z`(^w1_OCT{?colndfQKZ&O@jDDI&J|v&e_lAIHAveHg=uM?>BJA5WYQABMKS{4zOS z7@+UL@vwU7G_U4SA3KlU4--~j#604Y#LvK$@HMy&ehF>=?c^=XabH$UBkm4+!CZJF z^!dvtNdG(Ygw;#uo6pWun>oYkFF}6=90auv>pz9#GvFN_wln`ua6WNZzkgc4nz>$w z8{m7e1bza)g!*@lvpn-2tnWAY?|@pL`uO%|Jad$4Ke_+962{>Va0jfxeYKjf6>I~$ z!874FXwT0Q`o0L~;;;TzALY1onoswQ`vvsNp#B_a>utY${KUD$CvrcpJM`TTRGp~$ zukcZQHa@ohFQ%XV-Nn~02cH|@Xs9~t{~*VCIe$tK@j2X>$bz|W2AmJW`h9`#H*g31 z1@3|SU`70Gf7|b1eXHPK6KcId>(l4Oh)bz|3FdRZ^+C`5Sk;NDUrxPUU!45q_~pVW zrq5HJeyT6SXCJJHzACHc(~{O@nz`M&(f}Ecar|6()TQw2?u%Rd6fK%9@=>h z<$iZ6JlpUN;zDTa+i*j(FU*AtbfeQ0Y#=|5`@V5_3ioM^JVpACsT2Qc{dWA)=$nyb zf6Za%ZNz#mgWI6(<6E!pgP%j)Va%m^+fRM2Mz8(U-?O#)A?U*D=g@ySyp;Rsd7k^} zy6@hJ<1u)asVgLI*VIke7utEZ(RV*oU)5WEGkksht-gJd`Z#lnYluIG=@HkV6SVz` z(QSlVldLbqw+Kd>xenc+?YBHh{W|n-LH!*)^|AgN(7gvYnL4ZgxUTyFwjUmIgo}@d zR-Z~UJb{5V3?MribGn@cdz~|vMIJU8?3-XixSL&>O zANi*EiN|>S%Nbpe{%riUu6*JJ@E&+SwDV<=zZ4FE^0WFl$1UF=Z}l5l&nK{A6SuEN z!>i!+(AG;I38~LRCr%`O%;T^8Dvp=JuRZ!5)RShpVCO|0Viw;SQLA{+WRK3pqXrj)Hm6_S;T=hmJRMb2frexCh$$ zE65Ll*T5Cs7x~(TV@G{^F4R zE4Fa^bv*0`2SPjV|F&Lph(Ys=WX?z6TKK+a{{L;g<`9GC*`qmIy7O=}%!ZTU3~0}X z^u0pri_mp%<@((NABNU{Bl_L&&m`*;_&(p-^(%&HZCsoW3t=MNRW*C-Ec9q^DHM{1fPaF zKSBFt&)+{iU)$*aGc3<_pzFiVuYTY0f#u@CUN8H(-YVl)9ZrVR;7n-e=}P{1crrW< zo(aSHZAGtjiNm@6uZ7n`J5Lkx&0#Cp79I)1`sqAGI4`2TPD+w|++O5){Mvr{zToq3 zgOB~b;PaQ?3f80RW*z(T4tx*V{e7FdV)z045?cLE@_XT*a0dIO?_<7s8=^ZIo&m$w z4`hD^!>i#4I2zsv$HMXO7I-V14)1`E8rt>S{>kl1H3ssMDJOyUL{EjZ4 z-pR2KycI5mMX(g6bawg;a5MZIegl7jcKs(am*&gBSN*Nt&aZh@XZ2cN7V8urCw>aX z;Tl+<{Rq4M6|67W_50?V%pBIwuJ3kq|Jr&?1NqOP&m#CR)c(xiyv>ITb$uAWcc}XS zZi1yy*VpTw`U;$vDzG|Cg{nJneVYEdUUj~Lu21P}ael?yiG%8oLU$}Y9fqyf<6`cS z?r|1}_Hm%=NRQ(s?1!kwi5^!vZ^=Hc?RKu`@oVQRWlpP4C0_@&f*n2jT=HY!czBCP zufG3Z*&of5U|wC9yFAyobiVoR`8wdkb!GSaE^{5|dMF=t*VCae71o2zVJmnxwEnB{ z{|bH&|1JN6^*Nt;b-njvzX!n~p8YSRZX2{e*X;VGUma54>u9&{ePJGa38r*)$J35= zoCXVFG{fZ+@XzC1-0*nE9dIwS^XAj%9{8Z`Zwgv5PX`!OAhpFUt8W zf!mr(TjvTn^2|Ci?Z@gMdJ+W%zdPu4Gkeemsv_0v2R*w0E(`>XT& zt>=8|y1$vnK_0vX+J4fHN^JFa7@g{T`i=78`=ZwEdt7Q?b^Y7^ zHM+R(Guz;gFafQON|zc~4~;rnotM_=^> zw?Bu#rf@ARg?nMjiB8`G_JVz(oyX@N!!Kt1Z2eetnkRx@bylx=%cx65uR5zA&hZiO z8Tcw(3y(O-tveSMzyxe~vO6Aw`LGba4>!Xar#QWxNBvjP_dC-+g?ja~^_oXIJCD`h zi@&&xSaaBYu=Nk1SDp6hQuambtmj#;t#3wM*m~)Eh3wapImBMXgFW-TPX2B9Df|uY zg{Q~3KHzd#3eP^(9q$PzLA##~(aUd+@w56|j!UP0X&(Q)B=zzMJO5nz7QmO_R=Dmo zw-4__yPiDqx59ilA1;LVKwH0z{1b2`R9~ylI^E6FA6^Ud#cuBSLTKyXLRXLDxiH_O zkCN{Wv!Uv&e-XzUp5f-uzf0fl`S)q*#iyu$9&UhpVI6#}zxvpDRR7&U)=#G23ve_1 z0@{Aki9z~Z__RCI?blhb548T$i9z~7_$-9a!B;*0(uqO(?6ch5;vnLQFb>y4yPjO~ zBjE%XwqCk>sapn%;0mZYZ2#LiJ{vBA2kVzx$L)vKtJi1vuK%ulp26|(B&fevsn4q| zB5&uvf_x4f4)u37RTuZvPbEJC-VX18s(X{z_SfI_&Ej(p^mj6IiL3HH{WQ1@#?AZf z6T~szr+z-X5bE#SF5&&^;zPtMVGZ6Fo)2F#e1&)ewCl0+*D&*c&77Lo*4y>{-(Js5 z=DiPUKZmiecK+E(>gB8RDPNs0>#xthJ(d0M2K#!>hpwYld@e=_ti|VDq{D-~&NQd4 zr=aV|u4gOP`8GI{`Skayt$shc>(J?OF@)@y!)AkH=*9PyM5O9=7^7W$q~S%@fprDc6<057_nJ#q~2E>ho3Z zBi8!!n8Vh8f$m$l9qxrz|0j>HI{3*~` z)$j|?e9C{r@t@#+k6!0p*Iz07l7RX?uJdT;yMXKFB6tbRfmVMvd3_FgviV-;nol>t#Ir^OcpS+=*@zEaUyqwl0hJ z&02%EJ@u*X*W8pHunZSO&Ya6GJjKl@yn_esa#8Bm`SdN%R7 zFbmrLY2=&22y6~pz>csJRA1|-K6&U0VG*?YFUeQnebV~8QOjN&7xljDW#m`FI9zA= zIkDdFt@mZydE{^D>u38YPPSi=e^|ePtkdWB3CF|wb>)5KR~Z%&i$4=*@V@cxhBtcN zPp;3Jvk7D%^i|H3Lebo1I^0{!dr@#CxQ5mbRzIBgzh4VSz&vOl z|2xV52FqYY-jALN>p@%JhI|Lu33m19e<%MZtib!z2f|!<6PyF*LA@`239+504*5$$ z>ZSAbxBgr3J&yOa=fFHT4bFtNUUjE%JPXRl>fh%0`>+)5f>z%<;xghz#QE?pI3LEE zrTo`_nb1Xl{eO4FeQlX)>iT)=tCJ6_|FgO4SH6W~C0GYWTDp7`y6CU}S5Hze-xk!R z;;TM?IlHgwqYJB-?r7>t;dW^K)5(X`Ux0oXyc#ZqG1imm*{_-CX2Us2)<25=DX802~B|LaQ$zf1lwKN$MZ;=r@!9 z((otZv~)L7TWIH#?pOJvtM1Xu=O~UJ4KqCYm&xywuC1HkbZF=K1>J7AH_3YSsfvF( z>}>jG5)X%C45ty>`6{(@nZ_PQ$Y;Rx4o*J?c0ba^mqP2GtiF&wOW=cW6}0|uklzFw zF_-#2ODx*@l=d!@fLhlq>a?z0)>i=6!4j?eDCg51=D<8y0B!#>0{Z_`|F4a|ozKpr z^*zSAo`TP5ou(jet^?n`)c5R*u}i5(p9Zidbz$ox)U|}|psrKfPv>>k9V0dEGDa8wj3*d7w4r86Hvx|NHtLXOz+zjPkgs*kgJeHbIb(+uC z_rf=uzShysp)u?X&oI1P7WA$rT_$j9LZ zX!|`$KCJ#L^gG~B@Ml=*7}p_UcpPyS8~}6R2x#ZCK8k&Qw*F{*!|ErYza8EWpD}!g zI01LVlrC<9>d?+(eH45BjKMnkgw@w#jx^ZNumy2fcsx7}c7vI)FT4a^3J1V!I2fAo zQ`AQc>Syam;5!aZGMq~MC|n6w!&l)NxE7W`+iyO3`4tD~zu@=}aHrvJ;?%CLQythA zwu2pDM|cdh^Hm{l{URQHU-JFnrLYX99_u>vhqm9N=)QsxbnQL*kI`*~UnE(tJ_+hH zUjx%OgIMfNd_MH8XC%i*!vO$ zX}&v&)whUPj1#{Fee0=yyjx){*wC;U@uM&fUx#*oZY4hh&Vq#={bur8;8*aT6P$Aq z{0iEBd(oHUctvQ~gQxzx ze^@X7EAbx=b3OeuS1pcfee$vEdj#E+@D=zP`~W^w#Z?x=v#Po{6Fvg1|F@p{RP;G; zil<($W3&Ck*2{ks{$pXDr=NVAaa`+@k6mBuYA%yu*qzww_4>z~I6eX12Is@Q@K0Ew zx^qf}tziZ{9ol}GAyH$BLo#T9H{UhYV>h(I!VX4kZf2U|F zvGq?SA69=S`nj+Geh0sYKfwgt3-`gwwd^D=_WA4Y4_QC!QXAj8P_Nq@N<1813v=O3 za2&i9hV{P!z4f#8`RML~^9&ade+v_EFWd+BL+d}Nw#!@z^?FnNouGB(E#D$<{ca&Y z6XwH%_4}RrKVa>{T}Qp{GeJD7j-ABCZ8<&yO5X&1OV|ru0QGu9{XLy_0qkLem$&6N#v*uYJa50^nZ-xv6Y)k_z|D@@-t#CkoVUT+jiA+EkfdI|BV>fH`Y0`Gf5Ymfn}|U|MxOb{ zay+bFx_s(N;ekHH!gRg}tCwyub;Yn0S}Y(DRxjP-)WzXiXt9h$SiK&%C$Qf!codJ* zI4p&>Uq1PHun4No>L25A@|+$oJPxXR9uKdfdlSA3zf-+wa6LYwVIhor{0H#38Un9^ zH^9yCJ80Ua=<)g_$8{g6HTQ9>ei^zaU>dsS9(@7%Metsz`%u>ZW9~O?ff?q$jMbN- z+W~c-C!ad2uRy*!tO?tC^pA5tB*uLR-5)sc_r!Ugd>1T)X*^$U2v3D)!c3S8$HPf* z0MC;L!dy54PJ`JzZ~6v)2g_hpo|i;mjOQ6W;rTEd+WlJPS-<|yddmOL*MGKIUzGFX zJD+y{mQ()(d=VaskMI2FbKLr=&R$=dYYgYT1SWgF)%Okh+v~^9^AftS`opCazSK!PU%UtU{0_(G zcz6mt{U7>k9^F?FhcV|0_$Ji6cX{Sj-DFdzde!;Xt2*0P`(^j%GrmvV!+nFrP;;u! zF6R9W>iP4r^_=4sa00v=z67^I+dqwd6QK38`XT6sL%n}f{jL5wkH6}yzBcO{2<>{T zULRX@c1ZnC=zRNW{k6{}+@H`oHJ8=Df-bCnAA0S(J#W^3H|OzBsP~~Z;d#H+*Wr0& z8l2Y9DT-l`ehIqgJ$n5eSN$E?auMekg)aK*|I&Tm$mR6DsiLNTY5wyo>Gb}#RCKEQ zPwoHtdSk?8>Na!CgLgrf{pkGRH^oKx4j0MHl2(h;Au-7+Sx&al| zO?Pb4#c?FG`Y8GlaAuPAv(Yaw+(B&n?M~8P>)6J6w2u2c>(Tp%E|wmKt-lfdM8i$Q zc0EV6bD0uY*xAKJaO^QI&V#nTr>PIpt51Tus_mU)F0}quA4RA4rCboQehd9<{l)*V z-p-qk-^1{ESOSCeF9+x!KGHdq!igPSJOx_+mFPBv)ED5hD(al-a-HgNX#KaKuOCvs z6aAq{>Qz_fsn?u#zMJSX9^ML{hgPraTz-0-zQsP&=;|ukLtFm{kCP|hQ}AWa<0p!b zcntArFdr^}w%>_K>gC&;x;&^p*8d!iht*4$OG zGPrSm0z3(x2Fu_d(9V~a;W7)LURSC*tC#LK^o97U&gzTNeF#h7SJ3KDJlKL^*r_dWWQ3OK-Wu&VN=!D8~_65>Za`lS_}K?Ux|>2tesiH&_qRq_#-W$LUx zHA#KlB=tq;SHhQIOYRe9!}qG#$y}`0JBfX(yL^9Ws|pTrnMH6h)aRo`dA@%N#+yZZ)oe+aX&-U>qhjsS5~jrhm=vb4-Ts1l!dU?5w_CBt;nateo(JV*hZXy z)x;JjS?XSZs{;IN zeFl97z-jPKX!ZTb_lK9lu=V5XJIBdzC0qw>za|Y_rWwqH`uB3HZ^7{nP@nH~8nM+E zl79f|-|N5h=$Ddz9O~ccU-jsZ;J!&?!xqG8+y`j{Tfnx^&O4ZV&&KY^6u1snYU1*F za4K8|t>3fwy$D~1YoPoK@wfF=$=8N;VMAC1HJ`1Qt{FP@QJvKvi|%;Xn{{2~S)X*; zFX^;Divsqi8OK}0w(vM;=R1ddFR1-jAFJ2>Eb$2LZ#DMZ57XxqiMOJ=-J|amaUHwB z40tk(!(y0X{yT?!COjWr09E%faf{T+f{X<>Yqxo-<=+P2l_@~ zK3oJ7u(IcVq^+NuWPMlk-C!wHU%MaDorCT?I0RaK4s(~l1Z?BEA1VEl==Qe25czZ>p_mD}4%TzowFli{iGJdb`N`6+N3 zoa52IN&X%99{kLsuhzlMRRg9%eQuLoMR$&$3wy!-(CRxJ=`vAxG&}`by*~eEB*#a? zNgn-7@_XP`uCq=Zt+R`L`n{g(^IP)Y!yVA4uS?(hun|o6%%i!h;rkZ4uF=1rU%FKE z(hc(HyOTc`>hpl~`98KwfBFxA1K~B$>hB}J6fT1+Jo>rJab{=d^zhM+uR`lDeNCfZ z<PM3w3&+Fh9{novtKk}0?9uO2p7m9LH9hMsBfk$G zdW@U6Bee6M&VBu{u;5syD1ughCA#78YIuFfdVNmGXXv*=ecp)eH?phCtT#M@`NYeK zuYftQ6ebMIXV^}E-$#AbNA&fxeG~`vlW&k-I$wXgs#Mk~)+cTP^|>H%>5g*_5orCs zK(`H+!3yYWz*JBDmE!HOI5@Gey-A`Q+e9jsZFM?t9Czf*sdR_h?V$rtg#_?V-7v2P|{_G_6f1)2& z-Z_mi97j9>PK5bT?-RJ2*v^wmz7A{*J9_kc$v3IsoLayW;hAu(VIJ``csGp0Z=s#< zpZZ(BF7ydIudTn7dNG@LuxI{vDmsS`;3oJfj8}2T^|=+c-;d~aLw){3q^ecASnsD8 z#kW)G+IjTSP1Ltvbn2tJn5TXdb$>vuL+^|Df%T=RzPg*UIxK>3!cXC^(5`Z5WtX`T z>T@G5L!S+EJ@tBj#{<+atLFTkg0`P@kD-^Y*rRXEdLM+^H}%oF^m!GxAL2UR2_Jy^ zJPJF{t;T;Z>y)4BSK}l4{Q7cUE`yiDJh%<+fp#9P^GW8aL*I00^*S$wW^UC@p-%f^ z>nBsE`XIgD2h$DTv*7uj`Sg1Hp&TC$ulMLLKh#ZlB^(N`hjR{d$4jAIk92wH^|=-4 z9)05)&Y=}N7G0i4uYYe|T+`Lv5BEYlPp4WgqxS<0B3=Zy!9CE{Uqs$lZ}pSVi~8J$ z86N++wVlHPxCkzT)_)86Z7}_Cr^tX-UzL0#qwC|*N9s6-OvtZ$DKYo!m$gqh-=mv` zz5qt*xzZTy4z1yH_`M4^!t?4nrTp%}Hx-|{9>2}heFC?@?a=nuza!62b4L~#-bcI) zE{7HCJAJBQ9pXl?F>DFj!lR&_XA=48uuTJ}7z0!JciAYk^~+3M!qi#)8uT0BMyS{2 zTYZ$@=SpEFzfbA?+6iL4?n=K;4fFhdp?a|&^`oHeFTeiy1^xc=CO+@MjZp7T{hC;F z+kQ3aa|Emp+rSR6E420LBz&~`ViFrY+)DlnTWItp#Fn3umyflXd5(La&4zQ~ThQw7 zKiBESrNoAXy*d!V;tQ6I-Rd>6hCH^DjhFMwhD zO+DZF-vRH0b7282gm!()$v*>E!c}k$TnlZz@^5ndLs;t3x9scY&48!EUeNldUf}c* z*b1gYtGBx2&~<}7;CY^UtII^!A7*fV&V;uAFmxl}7&sP=hm+t8I15@ot6P9>iANvd zaS-;I|~hoR3mbs5e6s`<~a zR41zL8R}J+9kO0^ntK{`g`WB)Jl}W~zJN~e|9qpZo3>3m$K#H4^!>e|KkzBX^PWnu z8mtA6fX?l&|92yQ4(tW5hNIvF!^y_;uL zA5Rh|+wY(H4`i-K;6u!(IqNZ(*p@iMGq3y>{!4y(UHAw1mBKHf-LKu`(|A30E0_+g zz9ZMUu6KJqS^djg|DQp7{aU?r`_OCO^mwrPiad^dk1wm&b)&~q(DkpMgZjCqpF{e& zV*Ouk?lPyhaLnfWu)Z%_{V6>0x(s&b`?S7qTfKBQqt8IEI;)rNUi7Kx^*I4nFWoxy zDd<&a_0mOIXBqk$=}xKdYeV_|X6wJF&rbLotn2Z!^{Y7lzrd~L`<~U8JKANM!*m#h zR{t9LOOJ6!hQOgPGsER89p|XOR%xL68sQ0U>|HhpMEQKU%+k9*2_1Fzy1zTG1r6D>-cz%PlQuFdiiGH-|8gi zcrLsE=0e-g)*qi_{f(UWJXio%8LlQ?*Ue3kc8251o{pu^&gb)Aj-UAKztnH=iEe^x z;C1kJSje23+s?ZH-Se;%rm(N^GhIb7ti|J`KD2(7sMC4X_lX$aFSL&l_Oqymb65$j zpRR*@@f9B+UUrVFD1-6yTwDr$elw^S=l)CnZ{t(zWY@Vn>&$^8SZBUxy{a#Fko8Td zI~n$X=Rvz4S>$hqx51en{i;)(!>8~&_ye^5xiOcS4c|P?#l`R`t}9(<+2^|Bd2j{i zQRmei{p}?T+_^w!ZrccRUaN0n0z* z@>c)mN|$f@yyKCuGwcR);j$NUUq$oU=AO!m#YujGX<%uoqpo$j{0}b zMV^1}?14THX1wO=GNG|g8H(;2cwLh9UwQhJtZ{vtGxxZV^I!a`tGgZM!@Ho?AzsM3 zE`q7_jlx{RQN(#LAKnG$!R0V+7_|T8n4v7 z_NF_&4!#Fd=+g=If?04B90%<@Cor$pGn-iKL7jZBGrn_)ee1o3{kk5Gg89(yo1HJH z-s+#m_gVM?{19rLm$S|xQ0FnoZ>{mO`krsQ^E3!9gU>>%FDBpoBUh*Id-r+1|6RDj z>4tpZSPF|bx;XVi$37*F!(ro){ujLG>h6HWn_QfLyWw6~u-P3K7ZERmMQ{U*F^|}d zSn~$0{|n~Y1^2*|_uU+2tUsIi?0#2bzm9;**f;Sb=Gg&*>Vx#^)7tbaqObbw^z?g{ zy6534SOT?g{i(kk>b%?et>2r*&+30-&RuXf)OBX{u}9o_(DkgJC%)^sVR`4!8n%PJ z_bV*s_`@(#(bXRXW3VT*^Bv0TDjLD};OEflAH?TTsK595B=K9Y7~1+DDluPWM}3}H z4)HSh39qmC8Xi*3I=MJj-La?PKw`Zfdm^!Qd4~KB7(K)(?uE} zy14PHijU7vugka=onB8p#?wDi!_Dy|EQ7-i`}=wI`icqYCczmnmAX1mpL5@cSbz6W zuXC_nW}Q|3i<@n^1qB@73B?>Ec{;%Z*;2E1yl>SXcm`_4uiu>T^xKokE`r{|&nR zh7}HX6-U4Zup>MUJ^|zK$U3%@i}m*tq%TFUzoXZXI&VG4WAJR)-*6bQouViCETgye z`g?#^pc|Z|U)cIj@%=*nypBE1^Lq9edGS=@{xBO}1?~DrlNTotuYk|Pw(iH?f%gea zCoY8idXiE~{4=!uq~~d8X#Gn3$C9{FDKUf9Q615zV!50 zoj3&DRUZ8akAJa8|1RM3K~MYo-4@bz+oQVnPk0B|GRt|xJk-;*p9rN*H`b; zzl_h@FpbyMw1qL)8)m@)(Dr|f{7SeQz5(BczSr+W8#%}0;hBcLiC>2sq5f`yohQNZ zy|7|qrx0rp$DpkrN`5%Zg*U+2a2~Yvi^)G>_#E*Ia22%mACdnF?t+3Xi8GW8#gt!&7`l;k+!bjmskA5}z$`R+34fn!G zGnbzaUG&%gRlf(HWb3UyKcJsprzkE%|0euvGWXSWBoZ)E&VA7VX7IdC?{7kO0MZ?e zJ`YZX2ZVfaukjs?|MSr5%b^!55g!6;z%*#<`;hMouZJt4UjIM9)8ALWIAr}qbaxoe zA)XHxLOcID^39n~b6(|{cQg7!IGze4N!C{gssE0Cd*D8(&rPuFnS$?hcprQe7Qv_C z8}Kb?{cN3d6S+T7%Jcj(!|FWG*WVr0=ZU9OaUIfO4CX-F-}aHuSKKG~0S5U_;Q4X^ zw7(ZM_WXXK{(D)k`j^mG)I4@w>KCVP7SF5oy!#n`Z`a@Nw(DQdKB|xPm){lmhV{FZ z`NepIfoM%Vo_ zp6g%wYCOJb!G_Sz)0O)> z??$M{MFICozT)vw0iSg|Pbq!E%BkKKR$y+^yALe{1AsBhT%2=zYwcJAY8|9tv)&~1UA!>^(B*WVuq zJAXIkOjfV=5e4l}Km4zP*TEa0oqs9$W$a4$S&PzS_=apa2aXqdzr}~cNajx$(&ADHr`zCta>v87$c|C|e zFPnbvbAMF*+Hv3Tcz7cHYtZ*#`(JJPTR*#>lhBJ(iRVD8e~a%^P0e}=Ip040e(JP- zpZ;@nJK=9|FSP!eL;Gvbm(?$4PThb0g4mvq?wpsf^|j6U3|qg8{*|e(25WfwpGQ6u z_J@l+`X9(2xW4!~<-2~R*XOPTUGL?&ZtK8$Q1`*@{(Z%DrT70<=I4BMsGs}#y>c0T z`n^p*hxL1b_1F8FPv_s$#4*GZ;4RSBAIiUv)q?fm2*Xlh&8yD~5`FXAe){*iYmDD+ z_TzUbUt8aYx{Kju@JhIgdim`q7Ax>`{t%c7)1d8l8@}`4iRkoqv8~>Bp4%|T(R{!2 z-5);{-C!u49_O~7Vt(C9(T_dd2Gwyf!WZeVBRmdT#7Inp)8O6EB1S^`d}5z|RFZmq z4&nzqFHgXVp6AoLU(kf(P2q|Em-J`wyr8$?JmQ5=f7eX^?!Sk8d7kIhfcpDn4T+n< zJUAWR0om>Y@Xe$7)c+~^%Rk-YHv^q-Jz9qtw4Pz~3A>)Nc|O<^zRu6>PYpjOKClsd zp}MWq$N9avSietG=d15W-9o76vmbl>Y=2vC`&<2^_&x!jHhhlw18D0Dcpkh6E;h9K zhdKThd>6hCt^OFkG3j#)Q~187&%w~^F&dM%^_NnA6hBABzQm$_@69G(V)zSj27S6i z{d>MRk@G9=BL3ZTy=cDi%qbtyuIFQPU%?%)HuG71CV8#XuFtN=)@$8I@bh0>N-UNV zYuyE`S1j_Z-}>8nJCA-}=}y1%U~g#kkCWGYLGwueEOpWsdghm}KJP{A)b|ZLk93>) zeL&Q8oyQO0xPA~DgM3r>C2`n#`4{4^=f4ko`in4~_3x%GWGn>i+W=4s4z))pQE zFY#P|5Al5Hakvuhfq%dhp4aGeCVkJheh8?y`=RGub?}$3o_F;m-y8OYS@05g8MOYn zoU6EMJJkPTJ8#w+U{K!zR*ZGaSt^bp}n96-m(dy6PxL&`LOMDMp3?G2D z{$TZE@YCym#7X2Az@Yv`==3_Dhj>21+ac_@DL%d4&a^6IeR*_;!g_{T!~@~ghMMjCZh=8`|y^%YYu>UCbcOgd#d$J=mU zG6VL2Jz;NX*Ef*-AUF%2&V7{}INS5@0k&SR!wOsfDg911{l+{p!ugs_JVEr$neh^#%?R=k*xAUpa zu2=J^&bPjxdfTs*IsVW*5vQmEt$ufs`UpN^OX6$b^>6}AG5>8M-=dj25QEK|8zJF9 zjt_;`!%yH|=&L^y-vYQ2E^P7l{XXXS=kR-YKKc>RSN{sfEe~zUdSRs1-}fKH@!{|W z_&MAQef8(#dj%Zh;fv%GFy7kDQv%zy`TO~N{s-$wg`z^*<)5mv4FevY`4{ z|9$v})k{|k-|nW5^*@B;VfE5QsLL>YtbYTJht(f(y4&yiup#UOt^cjvoc=aA1KtO% zzVca4Z&{1H)n7^8@G{xs|--5|944^PEo~co7@~i{LtFmXo6Q35xggKG=sm?}t75 zeAh1no(8+YOn5o8{kD;B-q-nbgxz2fOh8*-nS3?40hSv2>LVApzG6$_w(v;U1={{G z@?tmQv*CI00%+^A$%})Chr+Aj4baw~cA=ZUJIsOuq1Bg?7Zb#%^m9JhFbCTDv&i>^ z7edupebp@In+BW16JZRV0d0LI`F=1P4uXSW4jc~0Kn2^&GHKa;#~o@(^bJhnb|nVZ+LKY4K! zv3z2l`Q@X!C_10Mx9Jn4m#>{ib#{GM;U88XXI^m)@y9R$cf#FpAGH0yzTE9^rGbv= zup^AYp3v4$B0mk@4h!JDhW8Oa2(91m$FTqz~F|_&%uXJ-=0k492a2dREh|>*+)1dWRhyFdd z(eN|kFW}d38?=6{=+gmqhA~fn<@<14^G@{Whvm3+&4Wd7HMH~08S3Tp-z3|jpF@>5_TEHZqGcqM!vTEDNze+T!#^sC$)G1w2<`rFAb zgb7&bYFBUdR+onENO%*x%TpgCe?II7FM+vGKDPe}*SNVZgL!Z&EPxL}TfdY1_-mcd zGPoLAeG2)o`eO9rd&J+sAK|ai_EVi`>#aVT>(+4|%z;y()fbcB4`bK4`T@}Dr8|t{ zQFyFJUzL1VeKGp3BitOha0)Df^{#iv?RzY3oE+tAGnso#oE2R)hnlT@N;df53D;nBYX12@Bvd zxDLJ#OQD_bS$toFak$I$i&C$C7Z6_za}94Gz6ss|HD3|2ou}zIxBj;9C^!^OgKMCz zpG$rbydM^M^wFDLzbjxNTn?>&$MH^oIn0Bzq1C5MaQfq5He3Q%!XIGOJg1LA>sJ?D zCwL8<4y}GNJ`cb+e9z;bI??rS1!J%$wElC*KMjlF=N^56yts?F(k-rU8f*$%z;tN) zC#%oK=LVP$@AdeXksmtA&6f`!hIXC`lbvojEPzi!tFJP}>2qK{d>C5&I`Yw5U0o*Z z1GC_j(AMXY7e^9Lfdz0ed;l(k)-PH8H~9PxQ>VIhG=bKCGWpx!3^*IcVKKDzU8Xtz zzAzU~gjWAL`OkIyHdkK@TKxs&uY>vUK9Bxa@^z*=-zYp4TK_5J?}Kspo=0DIhV$(N zGvVdX`Y$2B2A0B~J^HRQoqs==3nxPBpHE(#L%a&U3|GTq_%%$x{m}Z?y4}r_20Oqh zun>L$ZGFdCu3qdy{1_~ORqt>*@etxv_!YGNs{bCJ>(Mu^WcnZ8}w#yg7SMGGNUC$i!d*D7;)zo*VJ_{DWmC)z^7=BN}6)+C%JYSIa&13ai zUnJx_gIU*Tm`R=1wcPmFe#IOYHxhph%iw-k;V!N-X#JAaUyRRqSO}l=`0pp*c#fMR z275z0&rI@hSaq(es{^e*ll)+q2WNTo8^~9h=X@iuFSP#i$Uh3>@Ewo-i22U9J&eJg z(E5)fKeE8p6~K3()xV7Xb@&Oah`u(Az@y-aum{Y7S3=u=8TmN$&7;1e?QiGTT%w)N z>NU4$=eK&TOZ=zn)A_j9?8jQ-^#S`cZGk(l_rN$ThTGt8(5^@NH;n!#;-3TRV+&pX z3t%oB4{g80?sobnFaw?qtv)SD{nO}6U;>s~&i??}n;R@zh7ji^mYhU^mzg_J`Tf&T}03gRRe`K5ReD zAr7KG7mkEe;S87$?fgT@A8dUd^VUc4!#KE(9XYr{K3{2Q6ILS<`CCV zUko?GZ{hba0qy+j$scTeDfMCdRleUnu7<)qxCz?%T9c2$W8kq+^)rd{;a$-BC97AT zQ}H_kb~k;N5HEv|LfgN9d|18uTwr|HdHjDPf6)VOpL5|G(9UxN`3P(Y+d$QiBhG`9 zp!G{uuRfjd>jE=OpE<+@@NQ`PPa_{zuRdoO-<2N!_sMUDdtk*SfB*C1Y4UNn2OhfA z=~H1A%!SjSU0)^gw!Ss_qu@XFtBX%(cnS=f=hy&!H;(s!TJLD$o1ky~Lm%Y2hIw!n zoDJu~yI~2m^ZWd!puZnJ5wiZF0R7yD-2C^$2VwPPE+2#C9(J*v_ezfE!V;K(R==G5 zN~7CNya)RFUBVnEJ>urcf#YC4EP>l#)kmGaHjF?!-*5Q;uJuxX3{<~dV)dI#ybu-{ zK12Khd>3lI1hJjxD(395+|550&Vq%o6ei#w(E9y>UwMvKfhR)wEhT;gz7FMIMr{2j zKj!9~3TMEpA9wizxE#h|)hFEXG?)QTgPG9wYfXK77=?qN`V|tZ-|NJ0!cxPpiMPZ3 zQ1eAR^AwR6R}gr?>rY$8QcSgs0$lD$It( z(B~)pndnO3sHa^2X3XKMABOHaL)F{)gVwF%n%mYFG0$EYS>fiK{fy&0_$ajXtEnr4 zJ*Yn)2Gy%y7xX#w8RzLIo%%?pdF_0c;Cllsg(>(~gQ=c=H=|z&rHgv>_oI6eN|)); z|4zR9vu?k0;3#O_G*lDGkr!zbq z+Wztp<@XFeR-b}TD|l>xe>;xbc~ocpA40zz7Qq!T4tK%m^KPB9U@=UM>DL4Q^Wb>+Kl+=7R~h|>#0TazdiB+MgVs~VoQ?2p3Zu~2rwn9YieNF^;@PkN zZGGn#-TBIch467`=l|c<4|vJVvlHg5a`EH<-otS_ul%MNzi}RYP#+!l_0!yzhtf}M zMcf_sf>}`Ow(F6ve1i0q@e8Y$&NrW(rz!qn_2<6q&gYH*)_%q5roop3xSiv6zCrXE z3a>M~fw%zP1Mh>@FKBKZ|C9Qlxpn*<&;0VU4Dt{1v-Li`&Vyxp<`ugU=fG>>7^w4T z_fx*|3DUR1FRWfV-+XqSlkpF$pAvW1X&gpZyZGDy4(7P+FTaP4UpJ3FsE>~O`e|;< zkLWM{LY&GR^Xk3gI=_bBLZAK*{PsiDTfOqyU+t&u zQ%1i+)>q`&j|${<9;EZ_pL9WN?&;?{pEiF9^}h3K^W&227vvx0XX|}>ohQrFIX~hR zp6lbPweI?>w$3pRR$cF6dws0r_-Ak{OhBubuVr)e;t9mra0twWn#<=epCElB{KD#` z^UY`H>4JY){Wa|KIGFpc+xKzM`cFbP8%{!3=+Qrm?s@n!Z19%rlYpsjySV5b$6}a( z5&RP{QtWiyVJ@`u-uR}|iG{=~;4k$51FHWErhi4x`X2t5{WRw!FevSzVpqxD{;P5=R5zl{(F2>Z?6~i z(RCu7u2-vX!W_+DYiO_Qi@Cm|8{GAn39~sry6(EOPkJ2cakWl)_UkUs`FfZBVr}|1 zhU%9~-+WjA?}qn6&C}0w{agQ`)csrjTF1w%OY2ByJ)O;ds_$g84y~tTwBNdp zW(DkT*m-WGkLFRoZ1z)B{~PJ+>#x4s*$?f*8SIDZM0>s3`Xi}Rz16Fau4n0VJ*$uJ zdb|w(%i&;X9|sFLj|rH{zNJH5x5dN>sP7}XPW3qP{hYAtJA{5>AL2`)`kzQY^)Dg* z1a2|&bo4x4tbZr!{w;s4;|Q~k9O7S~_E&u~%{sK6Qu5kwtxNl@pTj469xutxa|Zo1 zkNRb>pQ8G=rLV8Q_MtWF);>%jR-I_C4_kjVb*i^|_0jb$ovv^7(a&95znk^!hZWv) zKQHP*t5?1`$1`C+kNy(!mbo6i@_8Je0`ookBJyIK_#-&xeYc)vuoT8VaCvbiv0d+n z#;*#xRM^4zOeOaDseh1<<`U&==aXN;vo6)2%Urfz$1Q#OUGyoBUp5@?@&D84Zw%01 zf_@-e2j7Qw{&(2 zgBQYVkH6-VkLL6F*tr$^=9mBH%-NDTI(g>#6rJ=(2Iw_!1fAxwTkISX0%*@)YLfbN^hd+4@C0}=j6vJ)ZStFS{3ADS2DEzVK1Tl;Ou&*7SHBH@4^!}a z02X=tgX--(>RXXMn!7vx=fG@Fzhw35lTE)oxDcvOA^o(@mp%QDqwW-VI=m2G1p7m~ z{z2q}s5x!@*pJ=$ngA!m*I?umcRU;Bd$@+Y^|$p!=zMygzv`^N=CmwjesK@6)-i-R za$%lle)-BLNWaPS4bsckH=kYaPW;2_M}O+h-&i;S9`c#X``DV}g>dK=r}we*R(IUa z>+3&*IU@MRpsl|b-4gg{$ocCrcYWBztjG5CtxNeEm~S*32dBZ?VFC2*$6Ds!1+~9L z%(n~L`7-gf`{O%*Ht*XH>!yfW~g7hcj7gjHwZ$3LuKm5b$XMFC? ztL0ndV_&%Amjv(zj@xyfW~g7jNV z-ypqwee>CQcHptnsxwpHX-$jKQ;^okza%3DWN{ zeS`G!_04DJsluFL^|iin>uw8=g7IxGpZT5R6WjkgANk(Jw*M&Vr&C`{{cY6e!$MdU zpDr*4ef}-Kb$z37KdeH(Ltq+A&_8DSMLqK$g--e!=zRJQ=wAXqf!mroYc$K0*3tOy3~Ae7*CTf!@JCto|3) zck~Xo&&%N20G4vxv`>*=BjfjqM<3Kj$9?@Yx8=F?69*GdgLl9JsCC=*$X7l=`ZMth ztC!9;&yR@|91J{$tZONH1UCe0H9l_=nY( z``NAcJlF?b4vSy{Mt^boQ=#pjitgX?YmeXA@HO}qwEca3wH`5-dhvGRUp#E%S+B33 zeB~GM)Jv!S()s#LV!p8YwmaSVS{T5`Ii9}D>2EYFA{IXbt{{ zun?+`^$%Kyj%z)(-mXjWZSF*jU*CLoo{#YltDpa?yZ#ozLih%Z{^pKf9Kb;w&x2E;oiE5o$K_}1-(xPz zpUI20JpIS)cI){FZh=3-%rbYp5SGH9p`9oHU-o+xzm0GReed%0FGBYcTm#p`x8b|c z&VLoYW8ow?4bFhGpsn}qqxMrwQ9W!7@Aq)C^roS&pZw)l?5USd{iXBuI~<>|`bvA< z^-~QV2J69QFzPlgheTc!+V3ucplGUqkJ^GJfoubxVNM3z&=syhRdFGLi_)q;b zXEyW3bza!7Tv+VcN6op;GjAt+yTFrR7L

    {`UNSZRU|q^H{yk^Vj(O2z4Hzd9vgb~zXOxRm2&ycD1RxAc*Jnx|g6J?N!NN8b*{JoU-y)u$ipmTy1& z^Pq3NzWuRz`Plu^zFSUZ9B7R}@()s4I^DM+ato|GJKefEO z9*bZcTK^qM>O0|M*`2&NfH)s&4%=Tosw)i8pJw_5>E&zZQJtOVBK*VZf34v5c@O*( z_N?ggKIU*dvy#(23GF;S|3j$H52%;!4AU>0x;!W!+ut|8&1*fjUU|zY%p=}U9AzHu zi_cGWu>k#8(^uedht*4Gxf&m_lsJ|3)q@eJeX{e&S3W`d7fs(Fy?lN1 z*?B(3KdgRzW%qd40N;oCRb1Z32RNQt)#>tJ9M-Jn@^(Jk?-Tm{1XaHcA6qY-Z!YD1 z^U3!|`7@_)-kPj44K{-3d)9B~)jUC5gx|eT^IJdVE#uUQpAi?D^WyVUT~UDkS<@#- zFJC*4>g+rp;2%~mon?y7FKi0);8d6owNG{)`N}Uy{~Pm%)l27_&(2eydBf_z=KB5) z?u3J@yT@lSj2z#g%#*m z8CLc5zZ$*ebn@Z@#M+lO_(h@i$<8NV`2^|nOy3~Ae0}rTdG5hKtbXaC?mGAYZibC( z@csNS$C%;e#J0ccD^njabyjbE75n@(m*w&F6Z;XDnswOz@=;wPKp!=Ig7osW^Bkx% z1D%I|SiN+Xqwo>u635|MSPT#BlbJ`p@(I%C;ulsgoo_xfPRbqlht;27(_O#w4DTh5 zq`Kn+pzUYtgY+Zt9StYIS*Bm6r{9C>>sID|X-`w;G(#zM*qdGg!DfoxgOJ|vbk2saM2tEhnQ2S)(k*|D$^aJq= ztC!9bUFJ@)7cn8$Lz6AC}g2_320acb-jb=kxh(!>_9GvGul(VqZVa zY1xRm#p8(MQ0ub&<)gad0DW!KCrB?}JCEw@JRR{5tC!9)3m+lb&A6L&^$B)3r4WA=UOLMxE`i@boCyv9luoxcL zCo_+H#c8c~ochL38T(68b&}AN9cRW%>l^(jp2{_;^>G(i8X=@X=vuboGAcAgLM537HbdEbDQ8@tC#Dr^or zLEG;f^0&Z96IXu{wEDj2E`o#MXm}I68QOaJcgDX9%<%MEfsf@z^5QN}zccX-;>Di+ z8^~{jC9u?^PjBk>uOmDf#-QDgO!8u1;t6mP%!jsqOp^Ml5jWplI1es?OX0)tQTPPH9E$7AmGIG1z2 z?wecbzgj#5ZNJVWPJ&m#aaKrtEDWoc&t25r0~bS!i6p}6TcJN1YQ7VQv@p%H&a&%WAw@P^eaTS1U>{GGxa?@^=r|+4c~?8Z`YT0sLMoQ z1{?}Uzz5)R_%+-C+tk1Z4uvD&qi_ZM5&i}{9_H#Zpxq~(H#>iS`d!a}$iegW&# zuO;jcuY~u&WpFFp4x2Gw2Y3a%2Ij%3a5}sl7Qn^uez+7C!RO!$a1~q!--YkP4`C_% z7H)?>!ZNrYmghRE1XE!>*Z?+$>98a047)&G*F%Vh!Khml5 zC_44E^EE!gW!k`W7=>0}yPnI`fz4q$YzL$8Xm~8-;}BBP-P0&*pHf=irRp|ttOuJw zTd;uqBDlAB6p>Amf{?n!PamzEQUJ_cN2%qe*;c-i3{PyaCIY>FM)@k zDGwE(&tN?Zz6^ub|ANn@)Qy7^V19yr+y6s;wds32JOMU^_IMnBipz)%h);p18MY*D z2d&@#FZ~(JBl_mE`|LuUWyG^Tt5e)7j=nqVqEDZVPMk!14ZIG%1K)?A!BAuOh*X01 z@wo%t!vXd8C8(G0E7UEAE7i{o zqQ4s5Eilpg%T4`UV)g%uSghxn=MeLR&>ssk;7(ZHQ?I_yqEjE={%^#mTN8IcvfxZ; zkDByfQkN4)zX#pF;9=9x`u~7mB-O18ua&km?RzNvG_fd%k&7=!zv?Wg)H z0_w*$a}HO+o8cMFT|N`$w{WpIpEwFjp`FL)pJx2)P+t$80Xx9KFkZhWng1pD8f=(g zzw=GMV&WL|?bp|TJ#*OOqq%fEY#*y1PXCc`6r2dH{!a3G+(bQoRzJ3-%UlU>_VA3; zoh}O&w6abv_W1>^f0F($!Pj6z)BghcXTcnp2YvJT{MXaR?n-^r=x_U2{Ri~7Ols|v z$*>^|!#U9B*D}qmNFPC;4Rbv8s`K^t`S|8p#2nv2^?ii?qOZRC8Ezl7U|rbG@cK4R zR|NOKQkc@#t*5th%z-XC@~^L7n(1fzXPf?Oh{f%3=7})R*nc?RBg`3e9vzRM{Y&vb z1naV|K2UyV2i%X2qvp1c*O5oYeWl~5$5(R?q2Dmm*VZ@Td2lJrhEaGQ^|PU`K5~@x zOQ=i3U(ZAJwf&?&DWLwkGo8b8u=pGoe-1apQrPWWx1I-6&v)^`3mgv*a_m3Y@n$%0 zh>MrN-(jUpm!C1z(f+Hso@c(X-JL?5K%CRVR=U{M-xNn*1)n;wK0FaNf~P^-RrSfN zi%09%6Q2ki1T*1sGtD;KeqE`BvZeHdS{2k{*+jpw;^;TzbAN}JP#MbCD6!2^Z!HosK@_9^6TN}@T&y%n>_mDo^D5C9pYkW z_xoTkmw5y}1~)^i&pXd$V(`HME}jjoKDCd_On_7Pd3qzX`W}2A^nnqWX*hz|)>rH2 zGK1iK16@1=T7C8YE;9^%iZ15SOZPN->2`Yb((OUN44wMedAhQ$xvw$*-?93`=qqzP zEtAQg6ghdIYE><;_DzHk=|4R`tvp`E9H=^=sKJav*C@< z_P?L}3>bxPc=R#ydtsRo&ap1cxyZ$q`Q&YX`R&B-7~|*De~VsJz17<}6#M4Ux@E3s ze(9#MF8cHx*k5PZ6<%gIm3TVLhjxFNai|fMrFdbfhm0M4l;#hc%H&xhZ`f5E$NbL;kB&AE$t3z$n>NF1GLD_v~s-;AR_7oPzz6At(IOMe0DV$k{= z>h6N~!v~?=mGskC7lYP+f3b6{Gm7JrgPb>G16pw)jt{-5f%dHfHPFUR~z zum-gA`1DmgdL0+B2f7lE{@h8fGn!Qm%HHZ1~`fE}jjoz7X9Xa56u4uZLFO zgYUCGFak3TM-bckYS+8WAb8(RE}j9czWNO=GYoD(_q9ha-LvSIqEnsqmu?Sw`F`i| z?@C^C-*5iEWc?4JPvUr5RwsXg=Xl?DyK~Hk&%pB2Y$q3M{aJJi;6nHod>>A|!_^f* z>-sEx7Q$k<$r+o;bE=p(7RX_&+RXtb@^@3RxRe|dLeuR zt~Pv+*w$b7w9Bl7`^lWrM~_~*!RVz^A3J{mb87DL z{Qpe^b-LdUe19J8a2$*(%T|C-}hg^s(Ri;ny| z9iLh7aVY;1{KJb}O)k8Ien*_#S3bXa_&)a!{Z${uXE|IWU*=2q%=bI{DT7X|Olh^Idn{Tn=fR>TcZSxa23Iqmbr_A6$N zQGx3gE8Gv$m?PUWPYdQvH|$1ichPp4%e=zzSqVS!94{S5aTmI2uREVP@JSej zyWmgoR~UN3)zyG0a2T}n?x$Z_>czIiXTvZ&2c8S9Uv2V7TYm}l6X8uz$3y$yL|*%A z#s1Rc?AO-E(|?TLmoNsm!=GUIO?M=+;aNrY$hbJDUt4_6gw{W8h4X6zhr)|sHcWoY z>C#{}%!78yp!1cmZ(CoDd42O+{awuY9JF(Wid=>7cv^kEIQn(;`3e38%Xp55j?*^Q zcSuJcH{Fqc3t9ghehqE?ZuuN3{r6Xo6}iMbxB$Kg7sI5Lp@09E4m-W;;%;y>blD^S z2KE2F$kiNzwqIzKTQ3W1!`ydVJ_?Ir33RJR{tY_M(xM|Z|Mja+$ouB~uiF3nbyw!> z2Xo$bib|^;`@yL&o4K{GWRB~Jp5wa)zYpQ3#y?TNVaz!TJ^`PC3*chtc5&oi)sJHR zGB^(21drCgl=?R8vxwuh#?U?wbR3UN>b^RK-yJ@Lta*1ywx&aVr+8s>lG@FlfL2%rgv5Hgnqf2C%QE;XJ70pyL$7 z$JUQVKNZH)PfSoR-$$u?654rRByZC`VaIkp?lM#mu?X2L!kQDDVww28}@^?ek6HY zuemi>3ywoy&+*v535U)9oyQW3&9rVCDsPyi*rTt&y6DrZzol;;t5aOxGmqAfV_o#= zC!iCviLdtf?@|6scOc5aYOn@uyv40YU^cXePxVRE9Sdv2dhi5T1WTdyyNLW~!wDXJ z5p%r@cfwyh^Pc>b>v#%04TfPa7%?19EKVS{^S2@|KkH-TMC<=w>$P7?-~O#m@g<() zrS&YcLzRq zdi--@&Tkqlf;n4VJ|D(l=pW7#W)A0mNQ{oz2UIsc3D-(RM(-V^qPw*Er$wmwE)+(rEK zcBfndUxP*PFf6mf=_vtocg`X=ffBb{lj_En8WVseDc0|t^O_M+zNAH^y%~+3@?J?q1~U3bARR<2sNkGr?TD?_Jy|oLh`o0Q5lzM z0f)jXpw(|9zZ)K3mU?LQ70bCy4a2&`RzIEm1BQ=!^y?}(htJ_=SnU|=?BeGuJAMa4 zRa{&d)_`N-|8PlA{|@>M@C!Jqs&mePyP)k?YV@%<`Y)?H2i;fqTjJI=th0-Kdfj(d z^wn?0cNhE_wom^1ep|`!fi&JdU&#Ls|Af7c^XSR{4*!I`>ixZbYkimB1%HOk8vMO}(g`kqJ-h`jhqmg8 zlU(LG_yUYJbopYKkzy-d{2BU3&~1ci9(@irdGHaK52Ns9XpzCsDX|Z6Ul@UdpsjzL z{A#!p{^`*-!$53K+#0rpVQ3K{Ar2(I9OlCX(Be`OLG@G6-v)J@XIf+88xzzQqZjq- zr3xIs58)@C<0)MV>qVx{j#-!WpnB=rQx`RTtbc3PgX*Qz^DW=>vHp6V2Gvi+??#vd zAAr_BM*a`2^Z)INp8tRA|MMm24<=auH2>c&fcm_PnCJiJY31F-Vq4-K(C$b1fvji2 zF&=$i@PEm(@KR{^zlZ#9(Dt$V@togGfgeGg_gH))uB%ZSOfU98Uyu=-ok=R$oBLPhGV{s8B@f4~suvvr}> zmy$2bd8~LmvDHr{KOL6BGM@9_TNBjF_fhKf`334@=gC7CR4?6p>Nc7_)_*SRLG{ut zp>D0|WBp%ZJ*a*F$N3^S5?%_&!fa^!sZLC^egnRBk9W?;!TPWPJP9_2Y0%CiAMv01 zZKu!o@JBe4>#i)WyRu;(jKV^=3fg(Q;xo{2D6!QmFOJY0@KQJyX2a{D_1j3ko@Z{W zKPVsc<)G@VegxN<+3+5?7+U=k_cz{ zoCU4_coL$n( z&gXCE)xNUnD{7xsALcru2kZ;4fO#+<+WJd9`kCZs$EnxPMNz-6yMdo;wqN8Fml69B z4~JI&Ir+^{pIfolqaV=NIShfr;APPI=aRn<=D{aC`W@tdh5O+Fco6FIC2YT>(_E$+ ztP7h$t8Y&J444gX@aSiduiC^p-3!-4>tBfeM_3R?uk{zuy&Om1iuE?|OqdS!`4*bf z&UX>IOW(U z{j$aV5lNmwpm{fi0ee?-zY)-bLd}y zFTp4*hB0XSN%scpsn5H4)1lSBiY};LeXAPZA;ekmDtIHD18x8QFSz-Jz+v!0m=9lo zwqCkRSkHwInYuzxz3Q$tb?R&Ty@zfy{0e>xt^T+d-TpelJopN<`ise52FJmxJ^K8G z&i{GCC~+Zt2iksTEOzx_!(GH;=w+vC^@?LUjKY1;`m3%s_4Uy;gYwBBF1y6}*M!zj zKB9a?`DA+LQJttdQFRmJ)Tgi?)wMvcx;s4e^Qn6tE`-aW-R}rEI0=9u+*bfeZL*Q6A`E}=G`%R~hn1QY@9011#tiKn( z0(d5M@|BNh=dt^l$o#iJtJl6o=^pgxSCC%?*T8pS4DN=uUyS{TJBZ7?@%P7f0{JQM zTKF*h2_As9-}!Gk-+^#AycT{0H$hw9WQD6g9kzj2L#w}){2Z7Me}RW!g}0n<3LFK4 z`t6A0*U{tGjeGnq^futL$_KYlgIw}5GI8q9+m;BNRkw8z8eHx<47 zmU-%n$QMKP`<3`N=<9#{O1ICBFb~dyc3$P5XT1=<1y{m%psg<^Kjv-M_qiGF7lTF6 z>Qh!ZT{bL+A?im$>nC5IUr*z=SH7k|{Wh~M`t+J}9{OkDJMuSkYfj((g-~5$VyT>mIi{Ei^3AFu+(ZyiKyH0-zydCBmMv1MT zPyY~l(O3Tmb3C=?zt5fQ>GvkOui!WEJ6OQJS9rolc?^T^N66GB%3R)m^s39)ZK;rHFX#eT%s!n_aM zdI7Zk??*QSrlM;P&w}T{zAzJ7Kjo*gp7x>ZFSaFa54*w$w0;ZmDT1FGU)7C`Q@@0| z5W0%6GE9L(q0diqe1M;HIn>$tqvV&u*I|)I-}obUyn4YbI0jn(Z1S~>U7daoedYOi zxDx$Z82Q-M<-v`x(mI!q!4hcu`}{69e!Gcnz4HHJJzl>wbedapRbcJ58 zA%%TUh3XUZc+2k%`Umy<#Pj%_${a0VE0_^yK0Pn&@zGp*+|}3j{7KtILG>@C#_?^VPR9^-DbUC8lqbxz|A3Px{}fi>J5yC}EBa(x4M->2bBkM|0_MQ(xcXzn4CxF!YIg{3}E2U;b0KejH4LVQBR= z6VzvX=KLe@CAb}a2cP}i=|W#PPK8gvm!O?T^`-czKHH=J37yq9Kp%mlJ@q$HKi%*? z^)~}X@#(V3?Msha?MHcmg3-T;ekFVl?uYd@I-k#A3gD%5 zdQtOQe>+E_`%(Rk^z+p>@f`2ZsM`X+fd^qKkDEQddK~S3G>49Z`uZO4Ec}0sxyLni ztK&J_9DBjuFcV$^$G~xLDqIIYft%sCu=953Z|A?)Gfx_IR{t6L9Oj?O{Q1!8XQ6uw zCgbb#m(MEvis2!Tzt+EDUG(X7yz&DcpIzvFfu*oE$Fn{39p9pP?zj)x;i%t-`JNy4 z_?0KY+XF&li6>bhakT{X@@+(2CR887zo3`F1=UNZmoH?PK7SeWg<=znDID{yRAyn%^F;MXWD@OW|s0^*zX+3;V-CFy8Sv%yFpU`Tnr| zq-$utkM#Xy_0qKqsFzOPuksbG|3G|ifVac@p?<9}o7mRplYa*4ajEF}{@+3V_9W+2 z08g%Don3qi>*pE$Dq>qTl>7)NT`_Soed>GqwIhEv><&l47%W%Wc6RYotUm_};fK&x z)yAhCoCOzq{CkljG7w%2gRz0m3X%yWpB!g$Y@T>PGZ@|#M%{9YwC+X;;(KMr02Rd4kf%zY1h6h;k; zh&8|7S8e^$I9_MKFx2C2^_i@XfFt2#X!SFBU-Fai8F(cp`cvUEuo$-D{lsly2fe@8 zH1PTBedF@a$JdmHzGt2^)BgvL{zUR8!^Tkc*1r?)n~uN%Fbi7!B=RrAdhENUXa952 zJp-RL_13=`39&hGYuFZsp+$s*IFxt_OyN4Ch3EQYe1iHn(AP4)U5Iu6o*|xo2dEFR zo&>9V^l9XS`ah3ee1Ui|Tmp-r#u0xfFY5j(Ww>rB50jzl#B<4u=MndV17Q|aov8Oq z>iv|toCnW>(utGE2i5$VYtRAJ(t@hxKQ1og{W7?h3oZ2-Mu--Q>l4h#!QHzcj}wBLiV390PL*vFMa14}A9LIIa1UL!iz+(6*+z5Y#@)55lulg-<^w%5x);N0k z-eGl~>m})CqA!Blm*y7lWj(0=!36b-ne$b+46gIcKZ)zAKVb^jCHKHta4w9(V%U-M z^1e{}6y=wFl=VZXJKFkb)cf|MImK0+*Ei>Udj~Afb%S(b4c4vxU*tt!{Z4$xa-RG< ztmZjCZo+y{{S}#QLD>8lLD~@J8s9w73sEe9D@)fUQJ*Zx~To zANh*6u^v=^0DY4C^H?YaHihyP%aRYO?|?o7=EDV0zGAlo_3|A;T^>{)`HKBm52}~$ zGU{?nANh(|tOwOEL%$Y=xSvoZ-B(D)a8-hO`SNn2P>Jbd>_fbaO)sm8t3RGOQ(+by z=b67zf_nM3r!E53$IjoH^`QFe(C5M;_#U+Ww%27iFoU-xMXs+Vple#NGb_1Askg6a?8m&ASDvfwyq{mYUM zs+Ugpk&Bo<*1sm}LG{v|MqL=HkM&PsJ*Ykh{Y;n-pM%!_!36cY(U-tOuom~rD}w7i z_s^?DKBztgeH6xEb?!TF_cM(3i{L1DAGG?P$nQ7w`RArMhgq-)Zia64$iLF%8{K}7 zUOqcm7k&EZ$*$LO!y@9fa5Hr3Bmb5*a$k=*#WAO`qwe#Sa;l5l!wcXj=vI&Xdk#K5 zp{+lnbYJyBH`LSL>I=}l2H%Dopw;WXXj@s|4*!H#vtKcTeTj+sS^aGM3SbF50ImM% z1oiS=N?i=9kM&>7dQg3()0{&+m<7i{>wj#5dige?E&|oZ`k%~tQ2l`>&LJt)F#?A| z>tB|9P`z}=Q5S~lWBqHg9#pUUrR{9$oYI;(c7WD@8@ix+>Go5Xg0K2m|6kAr)rXop zhg0Dh@D|vvg|SLij%X7#2h8_bd5>T5snR$3m-bK>l<% z72fL6pOTs|`rqJTc;1x583b zw}Vx>_+i#}8C^q<{zY`+BH}gBcKL$*PN+G2{@*01f3TzL__$#av7KlB*)H<}EQT>? z^-=Om;4=6&RNeQ)w*Jio^`)JhL)p&%opp$<|4#CI4J&l9N*C`Wzt^xr*rO-E*RVp@ zzt^AB&E?NGyqMTly-5B$m~oC%TnMfHV|1Uu&rQA6%Wn{VL*n?q%=&9^8C(Oce^Pgs zsSE4D6QR|=NPaO~0$+nMxC`3)*U7JhrLb%dt8{TP`4eG7*w~|AN&X%99{kLsuh-M{ zITbd6Y0yqJnS3rRhB1%+dh$2JTjA|6Uj0mTPr@i%4eflPb6uvg;i<${Kc4&~SOWLM z1F+0_w$jA|$Y;Yz@LG61%z@TLbz-9RTk+iuOW?oYAsFgoJG)qQVxsk(@Erg+Ix*4u*5^CNvtcKA4(tgd(DqlIm}vd=_}&AP`nnD^ zU@e#lZU5<}zB{^zsq@wQ`h`9HH0QHA9_Zv_=gUJERKFPg3b+!kfg54SGvD18xCzAj ziJyY=VHDbVW8}ph#QQz^aKt(EfW6^hI0O!b!{A70``<=hoKCzB#^6r48~zMS;C@&N ze}{)*Qa{%@1vZCvo&xj>;cHOy#H(MMp#FO15N{#gp!xc{2``5^Fc;nnAAouAVfYAq z6wZQk;ZraQ?eWNGj`{Em!N(T zewPh)lZ}UyU_Ok(CGa(9_p<`OFW?TC6tKP_x+X9Uc7wLxdE_sGc3!I=kf1&@LH%a* zrw(zQPlK&s8tec&!Y~{Hhr$ct9BB9RBmGiXPqe<6I?Fxkm+3mzgtq_r6Yj7!C53T=r@-tyk9Q}Zy&fzimBwPTWhp)gTun5}z)rYxE9oP__3$6Z6^7k0d zCyv6`;aa!}T0iNRu`UL!-$vaJu=Q})VL6Ok=;E=^_Md?6MwkO1hgM&gy!yy@lE?p3 z^j%obgRgt^8_{opkHpbSC(a6}--*9i*E3I3@~6W#Q2VjRr_2bKNrF{jCusF~^ss;lm+d4&t|#ILRbjjf-7M$44MDx zUF;Gkz=p6nH1d$%2ei42TZzH#(CSmlxr}%+aVl&M+dx}?JNY}|eef}lUZ0;lrMz=` z0zM6`e?lqeF5$x ze$2DqCcM9*8Eg$ZL+d|>L_T~5E`kSvSJ`?=;5zv5FhsFb^ifT@1N;d$vV4O@54Ej^~>RV zQ1=!1oVWy*t^D_XH?uws<{H|n`K&(=7sBPx>fa*oo6qVsulO7FzWHxrUp1>Zr!<%i zt-th9>ZI@N(HEjCfzoAp^jTG1NAY6f2jDEY7~1(%C#wD$k6!s4-w~bz`@(^64z%?r)OVSd zuoVnLtM5g=FYFI5^XTg|a1ITiURT|mxD{*-ZND&i(Y`*q59a-- z)8SBP`>(|BYZ!^6{|McBxFx}Q^*Kmgn11SO=i7yD4?F;a)=QV@@zPv&o{G#{1=fZC zDgP*b;u7K&P_JLs>u~LSsuNYeoO-M0v?`?2$A$;CzMYF zA5r&Z6Z2Sq%+pWr{})Gdo^~C~gA1V_p%l(1#m2-PU>3Xy z+WLI*qRv;Bk&nSYJoPD@mx_&vJ3!r!>?Y6oYd(2#9`Q05gMUCfe{T}~;2=263W@KB z55XC5CM<&QLyH9@qA&*cL5s$G-!z9|csDGDx(}eOU&ix)C0qmFhgM&S=jmCn2UlDSxCBP1SKoN`@$}X= z-h5hL#2lh;Kg~H0e+=q<@_HY?oqq}E>951L;TpIZcIJFpyn$Fek@MpSeA9EjZ2QUo z8~UW++tzb_?$f8DZxyHhT-GmuqoA%6?D6sG$5W^G_xtMq#c?J)8qq8m=K;5AA+-bKQ{5^}_X>m*43* zKR*UtCwLCL1X_RjieGX)@iTmlKCgTFZN>LTIE%U{wEafZa+xtOjBmu_KLg!dD4p&T zVEuLfuoCpe%%Od~NFVLX)~oI+>h43I@0l+d-DLswMfixTiEGq#lhlG;pq(# zarDwzf7Mz4{`d`sSHNz^Ib{^S4U1uodTu=hwt+$Y)hC;NxzN@>X68w>f1cTgo!j=) z{Tq6+pOJ8~XMcB+KjC=i6oJn}>o5IW>cpV+FXO9^Kix+BJ^UG#^;~aH;X399_yGJC zW}WCJo(k>!kC1;HE`qoey7vpF_Lf<2bKq1Ph?<%VYIftY^bKm=8ZQ+(}#t6ZMN%uQ^1`A*ydJ z&PQy2)!oW`s?%|>`?2+x;j7=j-o<&u{m|-lKK4F!8R!Ok^f7eb!4kM19)O3S?Wek( ztS8Y&ea8|{@btfn^PJf*3Uyyt+pmaq@jc=lFvfXLiRb)hbAo#L{z+XizUpJ=`wd-C zy>#{QErRM}{gYV_s+X=cby3sD`Zs4is9yJ7UB`K34E_ME|9j+v>QCl8u?1`i+rTrS z&Qona)rpDLUxWXRa3OpZ+J3p@ABMAGzDHj|UiYQS()lm6{?ery-NPPzKKX@k5nSTY zU&r~@Z1@Cx8rpf%I6o0v6OV*r;q6f8Igb!qKj|k1)X%}-DL4;CWz6pn^?OF8Mf>{^ z-8a>zS3U*bG^o$7kgr&u^`QF6{Qvt^7~%IGL*P)D1+$_4eyqOYiToa*Av_h%h5Eg~ zW@6QekCNB#6{LTc{QFRUpH-cBEPrpT3y+5j`2S%ZKW}D1{oK>fl@fklwDx@e$gerR zsp#8ye*WBuZY|tQ-%_Z#Md_+AukJgo`J@y7z&EIV5WcgZ<~WA=^P&3cc!WI1BL^Sd z2Qi+X<`(ZZ^Tg|S9rNk_-1nQgVHDtf&F&iaSrWZQ5Q{w5D!ocle*swcsUue;q#L?ETqyAI)IgG(< zex6(lN&khX$QQsj;AhhFeX5@;e--k@YIOR!^?ri&>k`zDV4jii5?F`t`!HM#?Yy(l z>-B}=LGrq|&VCVo3%GCy}xU>eMUzJB`qbxnSr9tZD*@%;7oGN1nm_~ZoiOXIls{0`$ImSO+L zK>PSDVgGBP{$8xPt-dcl1K?nIDaH-K{(qzUpHC%T5A8hGFW2Lz`>)6I+eH0WFa~!++y58xf5I}% zsn@SsePjN=wg?u(RL}3{u47%V)716BZRGX)%d(#OF!^3^2pk7<`MusMxEdCFe&4qw zL47WLwi%YkCl&UD`hBD3(j4Eg{s*kj^?*IT@6u-jlz#`~KbhFpt4{Mur+KXYclsQL z@#fPU-RW=lXZ>}YjzzEI@E!3_umsxrERK_SG4Z8vEW8rt!5Pr{DL;?(1#q=T|1tS* zwa#@_C20M>Nl>4Uk2sHbg~wky@jtEC??1#(nPZPg!Us7OsQ#c>PJg z@~l^cLF=m~sPE3}63&Ce;f;E|0^A1eyuSKzrv4L8eJS}rVGUlFpwAHt6W;)B|5@bq z`iDitZ^9UC!0QieeLDFr@B%mj>h&6*5Zn4J64$~U!#jxYhZd7a9Bq9G_4+-tUKiU$ z*H5OQbYeVx8a@#?5RUQqODD$D-@tXtE$}X=zhftJ{c-G2Zyf}V( zU1Bl1&tQqCzdpySCf7ZwP@k)8=dHqeP+b{NHTdfD!JZ`6 z`^lame%sSOCr-VcH;e0|%b|V`xR&@MxE|X2C%K+jr|S>SlgE3`r}cWui&)Q!qhG=L z9+<-U_uZcBg>3SApO=0w=F{uLwb&tLa z`Jno-==DCbH1-kp>__L@UsD%@LC>E@&&ohVZpTb;XW8%)R3p@w*g!%A! z_$v%?o><#+zNqs_)fZA1OR#=A`u|aHHh39x+yrlhuS5Obxf$n8raYwA11v+I%XypL zulFEvKD71nKgH-adi2Ww%KC3G*)yN=C$XLaefxQZ^&WJ9r(4 zUbmXbak|QLyrl2V9P#wW^19G$xQEwss?P5BAnPIemp43yxS?mh1@w6p7Q$7~_Nz+2 zX0R31=TMzboDGB4w?!ZJ_+@(hYLmC~9Iamp1Gk4^!|ud=p+##FM_Ydt*CG1*QVwwu zjKTZ4F0lRc$&1et$6yK6^+;{b`|H9K*u`@_pua!+{OmmX`;pic-yTrcKl*#KUJrbg zr@!uJGLLm#w;b^3pClhtFWu|Z#Y`W&KfO*Vs9x{)O5r*}*HK+P*BkZ82i5ESkV~l( zS9<)5$%~&7m*ILO8MgCWpL~gaFO)vTqu-sNUY~coL4N$5MX$rQkH^dCUW2d0w^eTn z((ntz?r;b+^3VeEAHa2RAJpG{e6L?v>Z#vh>ig+>&kP`)`bn4P(SJ(*d&6Hm`o>%b zwm0lbY{m)c?@!ZN7a#QKSCjw3aH~hJzdL1c{ix6R)!%jWdU9R&+4=6L?s2I5e;mX0 zV|CcWb3LioV|+mUMsy_}{gvdefoq}a?0kc`uGDp^IE}p3-%oxa)aU9J5f?+f9^KZT z!}VG(cplX2>7&HSp6jD=Mqfy*>q1=*mXf#qFTr;VyxhZ=$m=>Sjq9JFenIQ?`g`d& z(zgVL=v&Xz|4#C{PJ5bozDMuV`TpLb->(;QJ*4}N9LM!a1cp4<8^2R09wx4&I&(mC z$cxj7^F4ay#pk5+%(I;JkKyNVlj_VoUY*BZ$DtPMVk3|KX7bbFJ@Bu;4{)861f*gT;HU5Uhl5I zL%d5L>u=||1|PkT^%i2io?h>Z?8fzxt&flw^*+V*J{nGd+0g2JI-kEDmp9DgQk(tS$Hn$rN! zVlpg%i>;9O3K&!`-2>Fkf^(t8T_l3)W9Y>l#0R1Nt~ZqHYSMqX_Jr=((RG+_$ z`JyW8LG{u#r7jJ&ht~fT@WueeU!4S#`yxIWYCMrRS*`m*Hp`o}87^-X<_r@lsldfj(5sDD|m`;LK? zU=^4J$3we6>5gSR;;EbJsn>l`Td{ryYztL4%~P-I*s@$N>h-C;JlBth@Ui-^M?aSQ zi?9&tb&U3SwBx!^*QtGo_4-Sz*Xt)AK&QWl?kBeTyT}LCzm9$*Oyc^p9<=@&64a;Q zBc4orD%ATB+7PG10nqjzMt&01>p3@h^p_{7mv1h0MW&CPN3RPFs+VpqzERW1`p;%P zsJ-DX9)I9~~Lp#q1ey?x^ z)cu4`;d)(vx7O=2ZT-vCy$1Dn^!JHXAJO%{F?b7IP`zFc98|v>f6IO3t1(wi&wReR zL)5EIG}{Zs@cmu>{2rsK=l2=9Ka;5U3wH77Cy<{33*d5({%rov-3>+#PbFODYG?^W#ld8~_%5WfVizB|8XxCBPwT4?pzdw)MB87w;#23P#}@(ANJ-UOY@(llx7jK;3`Y)?dQ9IFa~PmRiUj9lkW+~Lf`$dl-GT-^3lHpt^a85lXWG`;ReEax{nD@H23`k!eztxi`YMgwNIzOpP{XPi2S2)HuU+~`cm}GPjM^hup5lPTcE9PME*3`6#D#Z zeJ=Xf;aa!>#$b)cw$jBfv;G=f27P|kr5?WL!Av*`X2ZGA)^{V{6ZVEaKU-gb{!6$M z?uDUKT}3Ns>o=hL9BzVMKV#4t-<#l0xYyI~D)Lj|4KQf^UFbi7q0`(zm0=2O12f$pXyzP7!eaO-wEj(6xXkGuo=N^JXzNvHbr*Z|DJ`9Y zxP$nZ)2*|M2eLi{evj^$R)4P_fo?o}4gDIAe@pV2a1_k(=+7n}hUY-lPa!_qdb_Iu z>~kEy_8k5sy^R98s7<|$?_tKWidC)^FQ(5r4a`^Y@oIplP5 z?A6(^1b)Xp_dwh4EPTbz#9d(zcs{iC^_Zg{90qTIQRY|%ZM}5)=yTZ5$8aYcX!e(B ze6?TeFTYoeUoHH?Q2w_54eH*4YvB9P>i4maGH1D!3NVT1M;g@gsDwBjzo3s}(C6=P z`d# z!#K|JsfEuo@HOMB@0)l(9}Y3M`gNv{`c=bM{R&LKFNlNolW#VCjR+m+lbE=_)Q#tTfYbW0jN2O z=x_CZpgV*09C)|%%vlR&!U>-Fn^M;jra`a28R%T}nNV|oNZgvfI*z71bOE}-rv6>x z_n`c2{TBQu_i`&y_``Wt>Eg9L9V?;>XSlcohR$_y3Utwtf29|DP}dvwf&Junr1alk zCHHoTI`DXS5;XFV=168g5$M~W^b?qW1Nt4Fe2jRmXaC#C?}q!}0gqnu4x;~1 zcp)4KM?<@R?OUva?gZEfHu2SCm<(&f=5Q>W1T9V_5mYZ7KlVbI)T@v6*J(gd{XG~w zE8nv2iz(3h&q+`(-<8zq^;u&*{!7sX)l0X9x(s~PhxA|Az*j-_((R`%9e?%t%a|{I zf2-Ul_^XfgPb%XwLG{wLq^=(R>SO)&dcdH1>H6ZIgunV&|L*95>ZQAqx>D1} z`d`X=P`z|_Qn%CevHm%%2h~gW40Rh#AM5`F>p}I>6;Y@Ag6ck>)_*y=p!z6}r?{9{ z?-MO0KCztZr1yumBewm&K(G6Ns$QQvZuR8J~LLIR>5V&w#5D5Ab1tj zeJ*DZTfcnrqCU@YCHXaQJ1l_}j%cZp_q`lMZ2iWOp8)l_k;f%DrS2PAKy2&pqwY7T``7sN z+l*eX*Ua_!r&e+u+rlu6Ks!&%1ogWA^VigEh2KNHPBN{s?c`$R&ttt5CRO=+eOK0l z>h=DbFq874Cq$V2Bgb$~r+c1L(en zotQ5Sb)Q2c58aB-T`&*Mgmd9?XzRPwbeSzsuQS_D{2lb&?^|_ZqV-LWb^R?nlehEs z=7j!y7=itvUdNR~Z0kpn9}T6``{t}(>oeuY>#%(K2hj!9kHqg1cqtqMb6_5{^WDVj zyQaa%4d)V1sOKtY!JkjGPA*=C{x?{1g3H%HUmK=)>JKHTSD)nLT%Y9njw#SZNB%uV zIx&u3zRl6=J}c^T#MymyGP3UM9*ORG_^*ZRL9T^j!CWBqrb3#yl{4&V1F_^XfguYxY9UO!KCA0ho*(Ch9Z{G8D1?&c8}d47JZ zq`&;)=|4vQ3H%KH1nvIb;`>M6M=x+ZqHrrezw~p@*5{zp>p2UEWnkng5i(n)Peo&Ctk0CFI3@#MMu>N*AY)7aJ3I z_UI$z#eu{VJ^CE-;vK|Kdh~_lUxy#Srj6XZ5x5tIPI38F(C)GVy2`K`tO4bhMQrPp zxBbHO%ZbzfGkjGq{k@)fzd>IDrN7&wAKKVWJOWOESD)tc`LIQ*-I8Te!FgK6?7!&%c`bpI{Py014|4AuU~97{*}8 znD=%l-(-(}HoB|fRCsg1`o1vLzUT+RENJ8*pYA4)KAnB`hJB!3e`oy{ zv%Unr3mftJv>{}8Oc%%F`{=~=#Mh+Tox1pt_SeeA zC9NH`U%fuBh<#@;Ulz2k`RJYxs2@$=iBQKki+bz71l6;2$z;tN!A&&d;umMc)sGfR&;4VdWD!Zd2g3@Btl9 zQ=r$2e!}CnMdWpg-@?6cKTJ8>8AV|IuEv<~XZ-X!Q0b>pR}7Ooxq|F2j(O0!mY_cf zrLv4pq{5MFsF`NqV-n)HP8D)upF;juI_m~v`^REqraK_ZEzZV(4${VUXPQW7kZrS z{CeExb6g6bj+51|;OE50-P}ss?v8m-uP@B*;qv#vS+EdhXHW;Duo%XmUe6Zp?ew$Y zi_m3{{M(zkZiCa{QW){f8#42i5T`Il1m?kf=$p5(XTEIDd@q~%Mlt85o_XIU{|-Fb z`E`7K^V;K>uE!6mF6iUahq{Z7vfe(Qe2-JMd7PreN1iF}tJI#3vwE?D&OYuz{bD?h zFP-E3RF{XZ<|y{ea|?CiZN$?dQ~rg0lDW-+dSF20BiK)-QyvN zFp0TRVHj%enC9kqq{F^28wNdok23#{(9WZNyXiX{f8XOVfc-xMb==d~ulCa$KRv$k zwU5U)_|)O}+5K7lL8G5;j)&Fjaao6dv7sKPNzAY3O}-unW4MZX`Hi7Y^>f$*tA3hDAfzQH}VNTx*y6DKi5&C2g zak9XHh#F`tg3p7(lQ*?EK3m+{Oyh3|{UV99XTA?-rPog*A07daNg&`1~Cf2FT! z^xKJd!h`ZL2G26bBKRg;Wmt|mv*1EA_p{6$g_=wI7*GFMQ2R<_U;SWmmK(4&G~8T`i<;&3;YKD2(5lgmdhM~^)7aC59p#J|IQxezJ4CQ2$#SkO7~R? ziS{sTs9%40E@wim|6zTUdT|NyYPc3|hb6E=8NM(WKz;}u4yVBD-~w0-?=EYM2(!w$ zFT{(9FNI^_{m{BBCjX)I<(*;*wE9&E>gBtgx=eh>di=ja7gR5uK6g3;U-hx`@54W+ zUOIg~bvpj)WBu*tS;y1o;3wWeJQo(gFQDyLLSEcQT(N>xx;VL_V{KR$o&-~&?z3)P zo@4z5xCn-loH7Oe3~l`u^jl$PbUi)#Z1P2LGxYgOzc8S_Yb7^f57-+{gt_o7X!ny+ z#bvs~5*Vs#l`cM$^^UMJ3|ghrf$XZsCHP%qzWsnh2htB>`cgf6IFy8Efq@lqe_pNlT2{;ZnLp)2eO4;}0B`h4O8 zwOxD|R;yz>yLbY18(^%K%a=e~)s_6Su-MSPf9GfVYaZ*@lex~T>sBs+`kbjO;@hA; zZz}6J>*QkHuXzf-CDc{&=pR7$4crdDhiTM>J@s#+dl#;QUqCyh<`zfedp~>#eg${J z_Vuiji}OADkVhXTFY5EO^f^{Z$2;F1Faj@z+30|wqSr4kO#QCDwh4U)Qf#j#dJa|3lIr@B>4a8r-zMQ9ILOZYe$lvRWPe-XpT{_-^6cv@*ob{;&Y=BP)9)3|XFoC2=LlQBs_1mS-jMhd zX!X+7WqlI7!K0V1fze4XPWRNSPIJviC))WmcRO_Fah&z}QkN2shqhjIy{Mmt?h%h( zx}oSNqr26k*M7wZsLO|To(=eX0XM<#JpOv#XYoAK_tB#~zh=XypuUerc)p+F)!TV{ z;X4Xe$5+p5tAC&M>0B@5!DTS1va8taxjqP?>u;#fhtmB4!uVw1)8FH#`vnBmtIs6* zKLcNZ_2`rC>8HAz(cb}eJme$V;}@^q>VM`q=>7+qOUK3P4k1wz-n~wNe?$c>t7$ghOiMl9a{Yi^0VO_I3E_kD75vx zxsK82e zgSrxE=WBsa8f*i*c>H7Jcfy}wGS^Yo|7P;5xDJWIT3ly{jfhiWPiXy~#%~*x-(GyJ zUZ0P%7rpLBP{yObfcyYB7+xqnb5-`tcRTs#;aa%EqYrc4V&AuYaeccJ7fYX`>m78* zdh|=lS8U+wQ{g~pyXbRpzoYI4`FixvDSv`<(&xooLu~zjL|+2+xicY;{!Q|$4J)4L zoW;t-DGgn|EwugXqH6$8g3X}S_afg1M&YuPoHCC-Z>P98275Ge@l=?9ii?Y2c4O9I z9(36w|JwdL>3@gmKRpFM`epuy`c$Y=PXz^)pm06l+zrqgEzulXse3ICma7#VxRsPqaRHyj`7q_BYzjX7tZqNi^+cm zH^LnreJIWSkE9no{m}~l-a;E__frPlF|fX;UOu*dIry4oG zn@Ij17=_C``s>Nx4DW(L>(ko0dCrEN;5o1-jKF?y0JQVVM~vrZ>l?On^Q6J7_Ab5( zT75Tk<<4}vBy?#W{Veix;BzqQ(GN;@z8AuY@E(}n!L4UOJKq*`-@y>N$}kyPpKOm` z^|M^RdN2F^}>pwC<{pbYs zx1+xcJ^*VnS1L@0cD^SP)UQBaHK2d1PVV?$3sX9~xE-7d?}WK9588RJ#v066@mE#A0=h zkJy=5^c_F#PrgOQw}e=}DaO}69-7-8fAz8Ybo|eTyo} z$ghAqrOWtxeSh-TXuY@7HGp=1(q9o!pO3B>#!Q{{pU?Ws@Kv}L9&P=Kfb~Ppb^E^% zj)a#(J8$86PX9z7$A7^;;R)xvd>3fzH&CCGpgu;Om_)spMl5C$i$VMCqK|x!HNIyV z-%-Rt{iX9AKYP6H#Xk=|4ujS|hyE*QA1B*S`WMhIgv$)yB)0W=t=!|^oyT9-nZE1Q zedvCNhhc@j&d2(vkQW;hxAW+GlfM8CfWtic{0m&)kKng(Kg^1_^=xS8ldi1M-R9AU z`Z>SKunJ6ubzn!>1@?j&@B$ctk6yW{f@p3J%5`Odl4-lv$H?0gPw{c-Z*AH<^77i#C$R}7YgonR_V zgSNgq`JS*h>{zK$rI=X!lzah5%!#g?MSi_0LR= zZg>KomOjDxeGWIme3;tV9j|tuV?EdqCc#c!+;Q9gJdb~fyy`RYvGrBa#lUvw=%@7* zre6$m$9m@1Tvq2>@2B{F4s+ptXxEp1uiLkp>~kzSQGL35=IclPDL4ksgW0g^{jN_f z_@?10VmqJJDbDohH<8~7zl3`|`r=*PT-9N17!!u698ZHELOcIuB;Wr!~|G+;#UL&nPiI3gCG<-jRS%#kzPfc|FXTkZ<=l8bp zk+1wFM(C$Hv7q%E=(82>gooiV_yha}1|DR;Jxn5>3@1uwHpJI|zxo)x@)6Hx>ch>g z2uW&w7-m7h@2pk6Yz(9AmZ*kD}*YSoNzX3M!=wBzlL&tkK z|Er<(mwpy{G1B^2e5XI``sn|Q8+(49`x^Q$VH|bI(9S3QO!Q);_4Dw}fZ1?|r=Rli zkGS=u!(GtMSBQMe0_sbm7bC4tqAnaYx1HBlHw<5^f0_IgI33RN=#P^B2^R0^_OU#) z{>o3#@m@~f5L*2$=tdS$eXgMEb?dD@4a)Z zAM&VM=f^MvgO9nqU7z$L(20@OSI4&wjD^!+77RT8&;51$dvw3Rld3ZV$KT<6F2yh0 z^SkcfkXOhV4Jz!I3XOeW5&2Kxa>I?pyA1Cw;+%B9hyKLYzfVz@c^p0g2OB;|Z0m=S z7xjBi`n{i5I6m1^pX5H?6cGCp4}|03CTROBFK$7X3-`bSp86`qoMSE6%&-M6 za##h%K;0i9j(9q>^G?Ta9!w3R{}7${5%F^PIa~{EzyAFGk@zI>v(W03`TZRIeb5ws z-(@k(hBxZI2F5`5N0^AuqzL^E;cM&yJE*sRC-o3{t3OI!{DJr+{2dnZ^lOJa&PB{5N9QS3N&!UZ4JFd}7$Iw$Qge9e)5_ zuQ2)yjvs;np2u`wm%j(+i#%ALb)>*Ipw-{R{Da{L`iz14ecM&U>)>{1{YK#P8C+<5 zRCml%e~SEHhFv_*-_ypr>+uVi3rmi3`FQvkwDYEt7pD-<^yv4KziPbmPlZ{~`bUp( zx;8I4+T%$imK(0&eChYo-(Wv=J!TN=x?Dq?$-ZU5O;CTI-1dKjKDytN_?+i@DMBC3 zHI?(C-;1{X73e?G%<((%qtxp@L$-bc$MyTx-xKR~dJ?azyF9P2zWPhiUjfh6Pxm?c zjrj`WTMXKM`n&IXzYyvCnm5w=WAy(SUdZe8OE3c-@w|Tf>aR!N1fHv({?2?w{Pe!4 z2C?mTH~9lF()l%Sr1g5Am817lyl)xpdH>QJ-4de@q8Igh;krMR&#yH;@vuD{0OhB@ zS6`7nm0?YIHM|C@zkR&f`dh;27jb+k)P1oI66^2PC-T0>_S;Cl1@DKFV6tHjaR}=7 zrmdgeukFECf6rd;x8yqtpO@eaI17FN^}bX6Z9mn&7NNc&?_0ls`LHCvzaE5rJ-^Sc z_q}IZ{~-NVL-mWNUt*a4s!#FM+x;nr-xctBsD4(jxqR!h`t{5aseUE>yOeTH$#4Rk z1b>IN-}lttZS*1Hya?;ddg^VzH_*+6%b@yMz2@?*&+0qk7pY$NXA^ZFfbRU>e+CRe z+pjghcdy_3&nMRJ`N#8n@Liyz6!qe;q7oLTmU1TXCwW#!4Uio z{tEwpnMd~*`oEfIB<~ylulnhI_c;2d!jBCC1KOtN((2 zJK;~zr(eNwag|3ug1)2SSg7x-in{*K^?ILz|4MkSetI11`N2Mp?fz&TdVj6QaZ}Iv zdzkl=z2T#9B((lB$j^pz;fEgmA^IMNvAjd+wiO`)AQV7alP4*!6Z}t|_n32!HEm^(WYGy{|t_9BF-1`uNsk`{{9Xn020nTBjaYI&Zc< zn)^oG4BNnt(CVufP(Kj;DEVO!`US-_hd zk5qpvb5`d5Rl47C0{4?jg8TUP`(fCyvTNK3J^;-)fv54G4duU-eki+<9sDDnF{&DmV()VopALTw`KbiZ9UBG?6E`@ge|5yF%|A+g}{SW)k!+$=^fL}rT zcv(h%4O|Czdi1(Kn>|0VTpyx6U!}QjY=8L`<2o-1iOI5cewul z>3+4$de*Y)|@k#Hv})O@9H0K;5Zms|Bu-xaS3qOA#_E`!eTK@EMp4?fU*+7sqd8 zKXe`0^P=-$=f1R|b#`$JkDq)C>bHsOr+8iGKaA^S71VjTg#8z9@SKl1)GdZfjGtYV z{Eu+{e}L*^^~zgb>zU^Z*0mk(f`35kue@b>_TB39SYQ0r?#PYI|1{J->AJS{b*O6& zTSEC+eT{2eW-x4Vt&7`0s~?Xp4ZaW8z)f&FwDm0txy)^_Elh+~zkvJ_sL!F@$IlV1 z{z3BkIqEaSb3A$-7oSHr(xbnNpAU9~Pe6T+@_)_4aeXdcKUY+p)u*C=1x|ufpne|w z39+qjb)L)I3%kGvpw;W=W25*vR5r|o`g?lSqg>@x@OEhZUZBqBXZ4TaBkJ?w`ngaB z$Mrd*T;c<;JU@4-2d#fHI-j4_OE=l{%^}W%r9Ay6a@<#M`|0yiVoQAQgdN}jPrn)D z#aYDZhF_j#y`48$+-1Zv#PwlAsGqAoMm!N(Kh=qBbV zr`Ukl)=Q_q_aR+#^a&+hMH002`aGBP-NWeb$5)@H($6ESQx^km-)}tq^>eKk@f`=(3^uxAf>YmU27L=R!yQea9)pY4BTU_v;At6*#^IZi8P!U%h_L-K7^Z)CE_7kO*!5Iw(;oekdIWqoA0aahk5WcEX4O8i|G51X27ZB z)8K6QzDHk~?^D%)^$Z&jw}A0*C>#k>p#DC^G-5MeK=mCX)Jx~g5I~UG3TtK`6 z=D@z~Q#y(Iv+GT3MdWH>%TflfY6pn-`FcnUN0rQ{g zJ90dnUOHbtV;`7_?_4z~Q*8c^3N5XN2FB8v#8Snr+1P{YJ_&c=yRKGYvy>z~Q z*1uL&m$@C@1t&qDzAneFh1bIb*c00NndIlf`GyOKSHK)txSDe+2BV<geuYftQ zaCPTY3`W5qtORX8)$hP3oL)L#KkHwazBOPy!v@6qyGQZFL*YoMzk`%YJPq1@s_)40 zaC+%{{j7fmzT!v3OW-ni5az+#`FTwu)Zb0|xBP>~KZ)4-ulLLsh_HU=Io6k@kM=`z z`u0QmO4NnZC!-Tb5s!i6;Ubs?FRSTxN3YH z{Xy!rADYv*AJQMAE}TA|b&H*d?}J^T{*G5F@lhD4<<3YYXwQ#)#Yp`#jDOJM-^Vjw zT7>maon!qX>a`!5)3+beFQqP=KALrlHHquM`mh5`giD})zI=?>o*(&&k@_ba|B%PO z33)qTQiS!b&ar+3_1X{3>Dv$K$5IzgpNCF7Nqidq39Hw3J0Anbz%;lN+Vdk{F;f3{ zh#fmXindLNMDz_aQehLZb!vOi2K0D;HxkVo`%7? zuD&j`=SRL`r2bjPKicE}G&(z9MuhdF&ar+K_1X{3>Dv$KH&7Q&AH%xEM#N3vO|S<{ zg6m-j{toT=k*^r3f2#4%^Z4IR-p-dCVST4_tbdhy?T6;{?T7T!s0*hL=yNzQ2phpT zct6a5SRZBi*bZhx`CFHs9M^oQ^vi};ujA7>{svs+ z(fih`x$dD(zMF~9^Q^ZJ$4kIcQ2V91Mfr$!J#qB;6n+LjhwEVRMy|3vTmr3MTlDd; z3+xJWUW-cxbnxUV0ANpKoGqjX;ty2UXWro#}l`m*HP7=4aMU&Eu%^60NGpk8zIpiXo6=3jc7 zThShv2aC3{D|PYC0_sP{xw?+ghcI_Z3k83_fqb47kGMKe>SVW_P%`Zh`TzGqkJtp1k-IalS_%f2VU0 z+Y>(q`@>0aI$Qy5f7OYqALP-WBL5c*-sK#tLF*qw{ze!FAMxmCl79FCzk^c;?hFf3=ehY1V$Gcr7 zs-0sd{1j%x92mIA>8e8OC!Z(KC&LLa4K9SX{uz8@+Pfq9@DCX5;PTNh7IuTyPd-zr z&w^WE2%dnpemuUJFa(!$v`QE2_(^n)(Z#`3_$r(NeSSaU@s2(;)mg* za459(ndHT##H-;(cmUe^^7pxnSc$j>tOr{_Tfd$BE|>>vbaBe7U=qwW4BYQ@&0skH zU+}MlPcTe1QsQK@wpXOCxJ8x@rk?OTC$<$>+?UVH%!tqG;8_{orT6b&D zeuu~(fyZG&S2syF_^9Eh#36Xq15V!nJ_ZNE=izpE9F|LTb(Nrt&it!+iqXe6&(j>w zhtc?-adKZ>%JKSe44e(EJ{_O=a3Rz>tX}I1B)TK#!%Lvcp7}SPyx5+&D?FogUnP@I zgLB|}Fkt?ZP7J57|DZGI0?+T};%HbO-Udy(z#G)ffpg(IFawr-$W>N=RbeWe1VivJ z4A56|+5RQa`TVV3eMH;G>MN3%0MlSDv}i$s|4j_ECgyF2l?NUwxo!&{C{BZmp|1Bz#L=)Syc#x# zEupS+UWNkoJl9h+dY@l+j`xBe!KKjR7W!0UVLH!QTBs@Lj=nF{<0pu|9IRyge1HEd z8J+KZX^uyVxIskyovmc@I}P^|oACqBpXV~V@A|vMTVbU7wI03hKfe5Y=cM~B>>}O^ z_rpAx4{d+lA7N#bJF)@(egEhST>fHc>#LK$1*XF39=+~M@EFHO7+U}LIi3x_fVxk% z9v~O!fnp4XmT(FE-ummrx({+iRS)=&FwS&j8+ zf3?n6S)bNv{j5GcjQ%dpUkCUIRKIZb3z;*|Tqn9dbUi%99DAVediaUsx}R|%=vG)9 zmWCDKweTfgAjCI`^WgMLoKF_~vb2js@a{4$PK3Rn%bxl7Z0DFmBb+y2GqUr@g|_E&#rrZ4dTI2gVFhr`$5+lIEk&X?sR=GFPiVxP*gKiVhjXZ5wh z=y!4+_P`&^c?nnF9(^j*^>mVXd(hu^J@x1K0QeMq8V-ZwpzbFbE(@2@hW27 zf4NXOcU+7jE)Oe|cgJ-koHg$(<`2+U^9>@_eE+F=Ml#R2 z`e$=~a-i-naf0|1EJVMeupGR~(9WatZFxESmjzEio$oBpyUurv=luHWQ>dQ=BlWY_ z-zw^lLCvA_9PavCPu*5S`Pu#YfORf}AHgMXCEN(N!d>tLY|sCQh`ot*KjynHbDfi* z{w#eG|KsuYc)3BtPYT6hDz8McI- zU~fY^kIt{<{p??m^V`y#?;!iA^PNm={eATz{PJL=er4&?6soVzYaV&sZ^X`X8ON&{ z%FpTpm%B`HSQ6?!@)e0I!z!>Eyc#xz&0$N}30`-F>yraRFnFcQ-vP6tUHl~sRCaM` z=%WAjFaH1O`O7iyf9veN4AbAYUyaQEJV5*+oB&^i>2Qgmo#%Pxd>baQuP?x{W}idR zIC%EgSD!>(GR%VE{ASR94%B^M788F0^I$$yzi|FL~;NBi#v^gE#R zQPk=F8ov4~(N%}nz*ISlfAMbO z4ln^e2W@}l$8kIjzU9%6A|I*#%HD3i8(=fo9NKvXk{1UPkM-!cklz9K!UOOS{0<(6 zb^Exv?tu3~J5M6{;A2kT_%-*9#b(gzGtsYs7x0H5(qRrP5uso3ao4vJjD}aiI0nHDCip_$aCqE31f>|&dE`Q4H$6>f_kc+>B`=PN9yh8nJa4P(_{59VQ z=9&cGfdS@@dH56`?DqF!!?MIf3>On;!OMoY z`YT~&7z3NbSlAW*Tl2hS=J|s-iawezTz}vCqdk6h{zUqTJ&DUa?e-@c#=yq#DQNu$ zo@0IVGp_GDa3L)5tjm{zm%z|-F8@8ugH@k*c{`u#s!(4S#z57@Qa=j5;ql9$ZZQnf zKN{Np8}Mn&A392cnJ@?Lg&}wlTECJnxOEPK889CPhq~iez-U+%w9_JG!JEctvGGn{#0Dx3k+;G59;Z6M!xg!4&)nJ@?Lg&}wlTE90(IiF8qu@o0q zfi+=$*bv?V+rq;z51xYI`sJE>tDnqqaT@VVkN;BgVixflxDKkX?bm&@TmLmLIwr#1 z(CXhnzY7jWH^!rvF39mrxCAbTzJ523adTzB5bQqIm zUU$6f7Y}1!`se<;(BD7K9Z!W>Q1!|9q``bx9^Zx@|G5R!&nuw5S*n}cavJ$LaR19r z7dyc*e(L|^kU1{4=cgO>$*?u`iO}kopv$7)JJad&hGR0E1S73qh)=ls&prLmwmw|H zgY^3j=D`#2B#dQ0;-K~?oPV(yZr@76S}?%=HG=V;{q)t>!{ zdl4)RE5RzTI<)oL2VI{lCc5>OpW;}X>(Y09rcQRcX@)b2ZNFUd`{6h6m`AVcJc;W) z1*Unff2;ctT_)?&dD40BmFDJuWR|0y*VaqlpSpPJeD#^8|GCzO>$j7BU%~zG2s{q! zu^%z;@BIn0o{MI>eJTShz$;)htOsLY2-^Mqf&4G<6fDFX#oz_d)>~akbXR)xG31-U zSa`cfe>sl>JzppDJgDbYJ5L_^U*R8yg?QdC3X8*wp!HL}BF8U>RXlplH-)+wJ z_|$NP=XzN~ely$xcfq}IKeYW$k{5p?4$XG^9>w#q7$o-X*ZI^14a*W&gwe1ntN~-7 z`rCPraQp}O6Z{3{!#|*{pU&&ja`-u14>v30PF0846p zreRz1ouJm4#GFq+?XM{h6i#>hxCn;ewewv526!{H_3hEW3d^92_UK2D&k^5teS+^e zTK^EbRHN(R(eEI?3+{u5;8D1DK7HSFY`)O373>M^JU6`SbT`A>;5Pi?@ymGM>7o}n z#(&_L0druf4_$sRTn`J={|XrCd}EkrKFo!8GT#`OZswiH+%e3Z1nv4&_W||dLSm~| zK8xd@(PtHmX1&)yTVK`epZ3ev{agFjhB@wlhoH`foiCbo{HM;l?U%+pv&~$(PON?h z*Uv7v4<3R?;iVtB>o5);UFzaIc)_PGw*HM4xqM0LQejr6%O`%~n6bn$4>rfQ7aRe{ z!ObvS|AF+M4rjxqFeEN^{r50mKD6tR{vdTn;P)`k_}Thuth*M}dP}h$tB*(5$*?D} z)j!OBrm~On{kQh>aeVtjdw%RZ6LaS(cKTZVY4YNq#6>*wyi9%`%z?RZFRZoP zt*VvoX2CC^t#3hIyp>pfR`2uA@%Z2PnVUM%r<^O{A~Rf z=+s}ja_B3Vd2D^>)o#8V7{{EQJ@YohuQg17V+}*Z`LLYFPr7f>HAbg7?7SC#;pQC; zXTg)u>T8j|)#yJZ&V#=CHXQE&bKy~F`$;EuN7u`vZ@R^;Cl^+*aJ!rHGMEk*!zC~a+W88qAGg!>dmHA!T(}2T&i&{8^XZFu^xMdP4TE1g-;7<3 zS@7N6|J<(+`bXhnSdO|7jHW&wPVo2z$X^IAhN`#wE5C=)jf6gb=^jNl#MD{;A^2sOcaehhr90$Xv;b<5W za>si@>-RH0J@-1@7wEqC=og?<-|FaWpA_<`@Vzj8pW>@IpZ4ejtg9-l39p8BeHW7# zuL`5rykc6I`SbA8K4{-c?|1uY=Sd|$8BT}k9(^8p@dR<91OM!w+|}iEJly9$WAJGO z;|<#rcZGI6H`#vFA0uZJz5UEd1w8(}Uy z?9s0&pgyR5J`~x0T*ZK59pVP?S{Ms0bib2!h20U|*Cd75>f4f!R4;CV0#mWJiwHPFs`JNeEq1-|6bw=bYR1HHI_coEEmzWZ~;6?GF2g{g2awCj=n zPL7L_)?dVZJX*qd*b~}*(wF797-{_+>N4R{xB_Ow9GC}BKs!%VF_$R`gRnHL0Iz_y zzCHP#urKTn2f<{R2IoNQmq~sp%z`W7TDS??`aJUD3F7lS_eZHtz8MU1f0WA5`j1C9 z17^WoX!Vl{sF#oK^P>B^{Oa-lggHNht6?qfqmlr-Lpxs%`fV^5eg#9YN`!vH(2X;^ zocp)L!fw#c^9gm!;A*%IZi2c`%y!~jxF4!tr!f6gFUn^RK6buj{KOH&wYe`!3>*w? z{pbSfSEFACx4<3nTd4kzhUtGR_ibqn?}i;<5BL^54o^Y5o+$38QXXCjYe1`yA>S0n z!fqbDj>mJn6YT2Ie@y;U_!(RU*TNFqhvi~;IkfXOCNDN6zRRPJ!QeTV0V{Z3pQUe! z?mHM=h%XG<5#I|lp{JjJ1JzTN2eLET?2;8{z%JY7v1;pCzuayKh0I1`BHd2dByYkb0NA&_0rX$POq2hW9O-i zE>gX8H&NGxd|mw>T2PyKGr`OU8H*HCR0})fAz8c6VXMgmoA;UDE!sO`p-fass4W6U+jV1 zxX;$((E9gBw+U{6J0q+=g04QV?+sxiX#2Gz{~r7Re&o?_Azz=@<%X~kwEmxwPvUhu z3m%7s*oP9Z8Eoy@pP%qM2~TLCPKTEuf zSZq$*8rpfo^$S<8Id3y_YF_od)6-vdT|D(#Z!X8R&M33aXpg^q?LKNgyC0kI*#fu2 zZ(xx7j#Y%UU}I?gRCkp6d{{V)&%fno=PAp5$g060_m_Gcz69Tc+o0}4^(S#X?mK1u z)3~o$q`tQP*D&=~znFQJz-4eVwEAb5Tleo0D{y}(tJnRUT5%tsWS9ce;9JnvcO~&L z%!UVG9;~MKmBd0{zDR;kz=2Tp0Z)Ac-Z$z##?6Q?;rl?b@IKzZiG7HZU2T>RJk@h!sZ)1~lcsQa6W?aAK@?Yz&E9}dUE4`G(!=frEF^*csBn*R^f|6hu? zl5Ycj^}pjIo~_>&`s{$a;eJnlpRPEsFS>84m`Oeh+VzwtultxvcbI$(&-af)Tdz9x z^VRA8nYO+puOnq(1y~(gy-yd1KB(6PSRO`0>z6=X8k8;;eG*Lb)T>T?eRbb@>ihC~ zF#ryR)1jT$r_=pIlX=|`Q;1VNuO~V5(d(Ub8R$bW=y|}awCjl>pJa69xIdlM zOP7H@8r@y6Bkb*|e~9~q^*7Xg$5Jc1j^Y&JG-&6^!6z8)j!2g+eN~sQ0&TtO9;04$ z6{|RuALn#;_C3*px= z&+r8CDQNvxRd<=Sa4Xyn^I-WJw$jB%xY3|^l=w$@LN_A3o*U#Dn;?1dV&bx}JiG~- z@__Ppa6AjH_2^rXk5n&R7wR&g`q+6oay(MKbbY8xGkvUo4~|Ewmu?7ksiu$hAHeZQ z^*QLjg?WZ2i2sDP-+uCETc6a(U032D;+LWAmrGv!ia5`suhiK2i_yf_LhE1tMyD66 z5jTTY- z-^`t#-(b{DE*47?Uj#3P(Xa-r1Fe4=zH{JwxExx2gIL$UF>D5#!`ARe7=5$TN4Ida zek0ILgE{C!(CWt(P(Pu7dd=}6by>`zx$Hc1&_$}BS3tdd*HM?jJeteSvjknF`m6%# z<-3PEo!^?C^R)$Cr23r&)W_0y1`I*p^)`g#&%>c`Jhc1y1lR3z@Od}_rodEa>s2Qf zwEi@{jc(y_)Y7p7wEcRb69*8FgI51Jc`=)Kzek@)-(Ikv;XvXsFaw@~f55+B)U9qk z7ePB;xO%J4#8>>Bcn`GtAbs1yc-YP}&!gmr!8G`tN1sk!Tu8jpqn~t}+m9JA9WI4- z{@Sgaz8<_4wt;P7Jhb&Wc58j!sw;*^|$^*@OvJPgqqLld))5U(H{4( zcRsZJ!q%ID41C3<#M{-+=r!k5jz=*^8P7aT(Z#}BVQY8?jEC)ECwL!>v|nB35MziR zFdRfI&LGZ!U%@`F+W;+6}b6oY=#5sMcOkzYzE`uENJKZ9Us-# zLf6=%mtRMYr@%CizI+EamspLs8MO2CB`+oskM`)7kY54UN!O9SuokQf>qFcBcJl3D zXP64pVJ2J(mqF{doBRQI1V(pq^EHNXur0h3TE9Nz`@tzRI)&2c^~ z0dIy0u%}^fV(XVoUQ8jL1%vmxezl>k{}A0ra0y%vSHknCuLp1N_}x$bLHIE24IhL3 z;6OMCJ_9r1a=0Ga`ID}5>(lXY|3A_bgFaB7BdJozC1PQ3X!{K&p8`YhJCA;70rm2I zow^*TK6aj$IUcEAI{h8-EYrvOr*S+|{VDYNd*IQ9onvii{R@+iRR0oseSW8L5$8Ax z>i53365D>CQ=bjjLw)Yt>IWBfnXyp65B55-)sHNoUZ2OVd!BQu2d{zG!&qqhsZK0t zeIlP5>JEFti7+2l=J$v6`%X1IzfZIT{bw))zlC;w>9!c1`dYnyA4;6e9BH0;dSf8! zao>;p0GJFdej_2CCN9KvUK9qQt=Hp6oQdvDm<~62>Xkpp@jQ6aqu1|QM5_P$_b_-I z6oThLJud4L+x01bE63B|JdeIP`AGHBb)ha9j`H|-Bp<0>pVJc;P`?Q3@51l(^i%#9 zjz{ynQ`7VO^8>m__4<6Gcr(7Y!Z`Str=Rj8IGzR9di2kek5n(+H0sjf`yT(-$VaOG z4*hZXBm4!Pf=zhdy&2x&d48TqejD5lcSHT2Z;04l?{AVn+j`ZB1?_(uuLEu1o$!9x z6AprQ{&oe_cPgNMG5Sy7GPn`u!o$$cr{6=4RKKQx{w;Z(c@ieW*PxxJ6Z!jKSE$!b z)xYSePa`kBOZ*Xx=XI-t=k-gvmK=W=_V?(2!#7fWGCty1;@4pezwdG#wEH7nZH~vo z91Ih4TU4&i%|YA z6HkWI;B2V=;rhiehj<8`qgUC;WufbLDX+EDm%Jcbn{eJZc^rvAF zK8J7n-Aw*oSOec!kADk3H=Y1H!z5_^Gs&NZh4@^!e(&1qbJ6XC`%S&o2k{dxC$8rC z{P|+?pTHIHE04YcpCeCz`hBJci0wS3`5bl(>;My?)#s5HPZBrveBQb(`FMB_>;QA% zE@=C`%IBps;0JIUjN$XrcR*Xe0^Mr37H&56jXd@Gyme`gmxbzU`z3N*e1!O2X!T3U zXTg$7%z$=2<;73Yjo|a=lVB{L2akvPocI9Zr(g

    ?t*!66`y0b^CjZn9rlGIq18WuPbypreg5;Kox>6sSJ}mh&_!qdm2Nfq z#^_XcM(MuFLKmrCx*gQj!e4!?e-64x^`GGPCoEpYIbH~@|F#0^eZKnqf3Uji5DODw zD$IdJYuHI#d@FOl4I5W=dHL(}_rChE)V&N}HGa11decYqg_zUoccK^f5q}56)hFRQ z06ql=L-o}kKy&Z-sTQvXw4Y{w9uhha+Gb`~v2}L(sZjUdLss8P+DQ2ZzBm za4occ9qYPGXV@DyuIKUza3oBH{p(vN7mpx67QSLQiTJjwojx8;fYvn+{RtRAr}~j$ z>gRC$9r!-HKgM8!1xRI;81~!M*?>iDL3b`*5;ZM-&uO%;T z4Wlnv*g1$n;;W#3{-XOF*nacTWx*V{4_f{BA}*5+(~7$IFw8&C#k$XjVN z%E#*C@s&<}y3$AA&rT!Gf_9FYeBaah-;e(zP=15(vHBPA83{+jS3Ul3lYb9pz-*7c z4&Tqb8zw^E_j7MApgte{ZG1m*3e1Lfy~W5EhoxWzkNz6+jp2<@{jC3dj_doKS;W41 zbe~AwPbuvJ=a>$ye?0kKFa&?_=-Xf*-cEcsY!4Hmg?^4Jp6$xLrVb`O+c0Io_*V)!rr*BiUuF1r<-}MF5htMB`_Vwd5 z`9I*Fun5oRwtqHx{d`sTYdk>yYj_YIf=8kCyM)(?OW_r;3akNZLw)|HFY(K8I<)?u zlK%{@hU?%a_yyb!bKzG|_tU$Q*PS|^*Pq4=a1@?~F+9)oggGz-PeVKZDz1Wmu^FZdg=B@sMoriFt1&=okyQ9nZ|Z^AH1vL0dnA$72HZ$<*gT z)%!m0HIMrDpgymn=PlcBGrFyC2Rs0+z9@6GHuJr~d?7Qht*=8}4Agz#n-g2T^0wbF z`izE=_D`fw57-k9^z>I==QECeIxjj89X#iA48FR5{maDDJ^kc=4}HSwa6{qEp-OrLA$ z$@|+BsLuh;Bewlj|1&!;6K)aU)UK9BGdacXf_ zkp^wO?mMsd_kF1w>94vq_(-Sww~Ip~tWQFxI?-3J zzF*Q`deQDzVhNWK`w;hsR{s=v-M2ldq*FWr^?8S6V%;xr9I^F#3BQSO2F!p~pHKcT zcoDv(VL5oYr{8z#RA`wEce|e*&I_g-bbQPuLII`riwvm+vL`>2nOQ`9KIQkI zD}S+5=svzyzY|@gdg+c)7lpt2SpP%lBGvzd{&%RkucnXne~SDRI0L=~=fg~B>kD1t zG9_UtSQ=gmb>Bx@uR5`y^{M!O1he2)X#33|KO4@4A9(cg32{7F+BrtUaZvX)w*6u` zo&X>8)D)Q8Ah7h9i(&ZpPsnBvMhr=D;&%z&$)?YD(>H0O9S912yR z<*5&lFAlGQ^0WO;aeUyV?nnsM;qyUOU!3EuV4$2+l!sQ|0Nr)4F}%st7x&aZg6>hM z`HraGG>pNgBJ)>*)jaD-K%WSEz+Uh%m;(>PNc|V1{}>i$j!5foL4N_CXKD@r2 z>!nNPcm~uws?$8Sel4FH+iaLm9L?v^lAx{EpAC&vU!KpOT?wy-*T6=w8MOTp$&0;+ zhr^g?SJ4#O`XL3>%l8fHqVZK9>;EdcNcAD~-@=pdH2e#m=ULB-4)%rvU^29Ro2k!*`dnRtNBi;>hum9H^pI5_8mJ5S5?W8Wgf#WS;2p)#E>NfIiU}xABc7y6)l)k?HRXP40 zEMLoYjEA=WV01%aG`dwlvDH^ZUzT&Fa+4%+?!@{#K6 zqwfL};iFLfvWRUzU)>OoJ{p5YFxIdo@tx430g1D%???UfFa=J57Mn?Ihaq?ZT6|f^ zW%j}N!Y=L%4-|3nA^084ht^L%hwzKV$NKgpZ|ha}BlR)p|tU0V+KbO{A zIgVDYss0AmrO*BKB<|-~Z<_+@_4&Sj=ebD-LVe!vIbz?>=TkW@zD%sYd-xi$ zKF=|WSfAgp`x8y#Y#;CE`h1bfb@D0v0)7qcyl;}%=M3H@*7a-k`h3zUbkST7zWZP3 zdW}?n0q0*opKeTiv*&uLSU|l#cRHE6nQ)26|9$cw8~XIhuS2ituNgCS4TOAwot$Suip!|{%;g_nWZovK3T#lU96vDW^;T4{KBKpF6rv_ z!v{;bxG%I_bi6mmMW6mnbn{^dUf}t8mVO_6J-W?s8?^KE!6ysq?{w+!e1-UVSAd_# z`0A%oKNG$Qk5T`> z%RTivPm$_59L!SBb$alHe8R`2&`a4g?J`m*RTIFD6 zSQlEoe%>a&f^Hg2uIwtr;lyL1_1jFHsGqm(_ViEU=U2)4c~@2EcoDSz(oIAE2Gsop zlKAVy2;C<$uazQ6yq0iBpboC~dg zDnI9W9qPUU?-E;mEq=bD-`k&7%_-i8R(}kAB0mqA&UKLmTUVii^Z7vy7q5fXuLeFb zP(NQ1o07NvGCcjPe=I*&xf|}U?iAk{{z7c)_fc1ZpT~U2x;DW3Sl0;nBAnt`Zz?`{ zP(J!TsO^84pP$6@^N(JfmuEcZCl8%|-(TNHp6GdeHRt>J55pVShnDaQsC~2Z{b0_6 z_A$z{{=LktKDE#_@#vp0b7)_6UDGzYZJ`de#*cg2rw0eDiuQcE1 ziiLMUtDl3<`!Jk75ud{_4_2t-oMT~IX!|9j9|d2A)1cMQBmX{BzktU-NWL5lH_ub( zo`WfHBDC|&A^#ps=KE}^(CT-iI|%jtyeyAiI`If~KSAqX3ZHUNzMDP%(utMORrBZ* z$ajTW=M;}#x*i-)g4!q5X&>x*j-WqYk0bRRgRmCd0B!yC)Wt&SV?Fw0blX&iF5aX6 z2HjB@K&ScaJbgIc4`xB%{L+a7(LW2VfAyXP6(IKaK7=lg zeSGsar^tj>pMy^4F_v{|AFaL?=QS0+h<>_fe=^b4;yRdmt8;u0TK^n$jc;^EbRN~` zS=O(8u=N4zg0L*CV*Cbp<}K62If~_pqoM8Bv#HDE!uYl>?gp(swwcSM!$)s-aWb^} zcpfjA@VvX7qCB+vsOBzn5v%~KL91^~zBBxW{XJ%wPi*TaP?rxY-RTrpL#vODb(xy5 z0c;B0(KG)(NWMSR<2aXjM9qDs(tY(db>(k%@gJO*;2l=!;w*HvTDW)-`<(6B?|5{X z@D3hliJr$>2;H~vNBBFmQ&qmjWl~_VHZHCJtv&-?d9LrCJkFl>Jl-~-tIP2QFwUdj zqvNcv>^*LRdeF{u3|&{A-+Dql?|sTTa-goWcJbE9#kE>FX24yrjqx8tEUI6m{_0Z~ z{|3-b)t9`OL_E-=?-1u4y1<8FKWP1DkZ;I(&SzgLdiJL=I_<|G;$&$3bv~ri{-}@D ze}Rv~R3+x6j@8p!~^SP&A3i`P)oW35u4dD&&SGbKn2R;1~(LEcXzF2}= zM+tZd+yu`X=#F0s?fx`I*C9fE!+V`WBX|=$0dJ#ECr`h-(7h0$zG!FH?*bTv``}ab zN%8cnjIM8l`XA7pfT!Vt``jFB>9fnz?=o~ZM5zA^-D(}K;$48-y&iuOqeF%or_r~{e_#|xA)p^#TPg767QRuh8aQaU8c7fes z!v|cy;`F)9({BL!)4>o=V~?|J$?fc|9|P9HPO`Q8Fs!Pd|nJ@ao` zs{8sw_!0aVo>985f-gH(g*9PqX!TRbe+83Xaf%d}3-h3_e(71(7oFf7Tf$7!H~Cd} zJQZfZY-s0^UrpnegKxNc)oC8v-}bxF%pXoa9DPvx`nq#G4VO%H@t5$z=`OAd6X27u z+iZ6{2fFCYzwb_TUyB*UMd_bJ-7uI6XTuD*5}t8(U+KEgx^-UiUUSFGPj+k%wXTb% zxqKV5t}!!QeiC%inSaZ3-fh3bp6emV9B;$xJ@fp?e%pD@bar2L#AgiDdQ@-qubBSf z{59t~>NdiC(E10tZt|e^`RXZ7nZderUFkZ~98a_Vli~H8XI)peUt>?d0qm>QA0S_Y zd2YeKqvv|MY?5=(byI}7^f;J9yaJZTM|0c$cbR?AI_2}#Ec)T|%p4a_f!41f*RAHt zndubr(c|!Y{BrO)46{CW`r)grvx~cW{C}a(GUolepYgY@srXHS)8JhAKKujPd97bf z`fCoY=MUBu$GRT&tS^E3hhPu*I2;5sq5O04xAUlPar%kPJ^c@G-ROBn=gFS;57<}R zuQ<<3sxOJIChQ6$^}8OwCh#WM3dX|`P}ikzKF!gJIoiMu(5@#F-)qy{k>j5@Ub@6_ z^cu&R@E6!1+vV-QcfH{|CWopL)))0x@PcJ_@b%5%~Rhp-8tsN zR`Xo^EVTUwq8kE-!ZoJ;0Z)C|cbsEoSOd0(wqHB)onRt-%A>C{-#N5;-?0Z=0taQd zd@8(Yfs4C97oGWcxW{jd$L~y~`|4%tC&6j3g_*B6v8_Mq>9d~s3p01LXZ}j)YQWmC zA#4QuL+wjCv7M*s2QIT8{snLR(B+FRbgTkxeLwV1!)M_r_%hrL(|@#jiv9? zFavJ#%rlkxH{n|_1AYwugz``D_%&JNCVUFcfNw%Ozx4NTJOOrrGoi2ES7-an$M*jk z|BS`%$fA!OH$tl~f$kAF22Lno{VnL@U|TpITEA@1Jay1V>Sx#EtF!CVT(-VTrpr7C zd&42n>PL`&5l)1&J^J6t+w+pl>$LT+#Xebm6#AC%Ay56i)OUjq!^hzO_&(Hia*){0 zqrPS6CpPi)Pa|*NhfL-Di1p9*=-Z)x5V|ph@1s5uJ_P&1C*dbh^Gx&n|H}sY=zXx>hu^#Q zpXWc}(Ra^w`b(&b@zhu2eQIr32VMu8!(mYKw8q~~6{1hkb?!*5^^Qp}QhgKjv9P75 zUjC8leLCNK@vNggydU<0c0Fsz{|4pzqG$diU@6T>V0)uuWxs52u&T*Uxr&H_UuizZd;w%-s{FzAtuTIz%Xfixy#aI;U=0`x<+q5~)+--rzqR;8s=xmW*YQEv8$JQ; zJaft0b-(Iae;)e3U=%vlTmR)8@4M9<84XuJtB)dI4pxJzxBC0Gxy&!H$#xeHfL5P| z?rr#yskeIho zGsj%dJc;O@gJVp65_Kt_diBYoE`ToR(SLw0QvD|ReaSww16|}pq`aFEbqnjIH zeOYv3MdEHyeSalBE&VP#iHn~n|1*r<ExH{IKDoA z>F1+gT)=wGKaO?024_P%-}~f0f}g=%@GE!%+IsC{+1>6)7a0GQi?z-K*8K{c<=Nk% z)L(Iy^=qmB3&zq%{q6iw^ijWX^ChF#bs%5WS^uNx%Wxj0Px7okfqfnT2Sc4#>;G^8 z^-&?`&=dytyEq74bmreH(M76nSU`Oe`V5%L9BH0;UMQgcl>+Lu4`t|oIjrHCrz!a! zP;-Ce(Z?JJ{MUa^z`TPljymL+1~Z|{p7~ex_nc+@RO)uaWYafr#Ptfo7#Ii7Oya(h z-!kJj3Eyz_s?$8SzwP&hnLnKVvag+k_BnLS#rg2h<1ViEz2lodIIe_;V9`96U-qNp zK^XnBi*JH^^Id!l7C+_UT5#)MF8(u6$bDh{y`6dAf_C0Y%&B=zc|i3;sUHQ$8o!@e ze>lGfsq^`TtM}DueRlqa-?+@5Fx>vz{kDFu=7PP!1Mopi^w&)S!gh5q^R5#o8J&9|=3&cEHv?^I|0RedGuE5qu> z?`!rWH;mt}%;WP5SMRIS`m`SToLPzcDxbMe9d@yv7kuZ(o)7DnjL%2Vo?ol~5}o>o z^RM$A4qShF-qiK5k?Y|&40k=u#P36xW&G{D3wT~$441&OJwt;dC4HyZusChL9LaVWgycNdrc(@yTQ_;}4sJGnUD=P-?1#^99(6vyaP_`AtxxNbk6q6tJg)V;;X6O4d40F%!}<-t?*%yC z_*;Edo)2~Yb$)N-{Xs9-AD;TdIrz@+F#KMHvy8v(KLy`#*Hc%ntFH8a23o&t{Bqzf zcm)0o8+fi?>o=0V)lJ_IJpDgF{|Q_Qe}|g;6;FK>&+mHO)8l$9*K-*jkI~T1EBzzr zli*-z_2qdz)$6LB_lEF#s6L(OHvsB79Dad&T}*}6KQ==DCZ6@AQ2#2NW&CWvcUh;N z2krablRPi!eedYfZvMBR_1hMqUx4>h3!(h2Up=0WZiKC%=C%4n-nV?r3mUKQ;McxBnkOJ5T>#UB>!9 z%H#JnxB%Mv+0?%S7r|992VThar}^*l_*^2jMR;fbUJl zf0yU+emQ;A_XzRjJU`z7`*@zO??m4b-V3|I$6z{?e_@Z`2KjP5MHu`jr{x5WzN4}@f*JrM_ zp84vay9QnlV_|Ff9F+fFV!J=@(nsgjo;O{0M?KfyHtL@);r7i}U)xh(n7ZPy6l~}5 zv-8hJr}@>V3;kY(?|b@hp?)7c46o!ml;6#s`V0Ak@0EjY{Y~KvXy-kQJ`et3>aAXW zH{;g^cJ%l^L4FW?0gm(NeRHRyf15u{U&Opl`(B6b{PMpVzfD!#KJ9=9;00A(-qtsX zcKKYW_Z{7-v-)1>`oX8+82Ad@0&C#Y+T*9bd(a<(KSA4H>$s5hl!H}0>&s?e^gdPp zpYU2mx9;;Ucf6kSVEg5H>JRdI(;1&Z(AHPwb+Qh;4&Dmm;Y6tU)_GpfN|kZ*_9^FB zx4h#+Fx+}#sqYNC!DrxDSRem3|FZvN{O4Wj=6(-eK)(xN5NbUiUg7kauz}}%wZq@H zzK_c~pHZg&SH$JH9&Eqw>1)q#xPC+ND?)uu_z={3cATaED*XR|@^9(!>&7~@eyz6y z^>%$eeI4}Iz($^W`A4ev>3s9)`uUJ`Er;u&U60N~6#G*KMtk!y(BdX@f9>cZ*o#&UkkUwui-IR!#wYdAhv$lrtfI_E>(Y?m#^?VKcArfclZ~)fci^dD=7b&@;3v0 zaG6{GM=%R+fJPpuRLSXe9`!o(qG$hGqW=a;-`As0LN^FL4VReuJ3aL|yso}b&CNNc zy5nUv9PN7YJ^Ih6+XsJxw!RvD>cXqx4X_1#8fu=|9>0{vZq7D0I3~i)H@Y|k^P!#R z3+k&;7fzqv#QA14b|FP@z*>)z1H^`>)d44n`_o**K@+I!?O$yI3o;COP)OY8)dB$`7yo291DE(6&eKh-}efIV7U9W9C_02u~Qqj+Y zi~k>UXC61z`2YW_O{FlURH9Cl7GzqeBu)!OVX_wDq?Ig_HQ9zNNf<>!Wg;zvNl6G3 zrR)<$l#j`pvW)dZw%>Km`}zKS%=K*^cl^GO-{W`w=+$}7>v~do9G7gLzJ%pvG-r8<$2N0&S*U}f&SOY|C)L7A9M%wA~c1* zhUU?=sByN2aJT%DGX4SZ)6mn=3(ENKhR<}gT)x@MGvT&Bnm`-wEj)VhFaOlx^)~3g z(O4P3=DEId`E6TBy&cel&>rYtniBnYIQ(363Ho9gf4zMqzX93^ZGpzogHgA>-C9cd zR_Ijps#d~HYtbaS9*wsVoZ?zE zjnH!S>-a2XoOFB|lIwKeB=KF2UX6}JbsP_*-Y)17sGIi|{HT4s=%qCJFpP0PVW|4!_&ZckUi+ctw4RY=>idOyYCE|J_K!!)l~3~ejoqYQz4-%_{qzq}Ivvd6 zFQ9F@O1aMHJaiN46gPiTuF8Q@t{S>K+8XVEy5-L}NXiXChoLF-HZ+5}DjWy5;xLd5I1|w|BmF zK2+*G8$AzAqGQk{s9V1|Ov;Z%uR>F(>+b~j(Vl33bPzfMb<1brFQO~am&^Fyg{ywZ z{+_> ze8=lQp}(Lt@YhGnmDhTfQr~q)NIe-W5us}AN#7Gu&;VpLj0;Xvak9k`>Mv-{_gnd zxT@;7s_M9^>bR=vxT@;7s_M9^>bR=vxT@;7s_M9^>bR=vxT@;7s_M9^>bR=vxT@;7 zsyf4KdN2=OJ{z5fE_0R@rEA&8AkB3`+Gxfv{_oA21bIu>vpXBw6&`Z(r=$)v}54XHeJpnq~IiFnr zTwb4#K8EJd*HN7>ZuvCzWYMbld!ep>2l$TYPN;|OkCrRnob@n){>=RHSqI(v{^0e> zyj~6U&~|9K@+VMF3N4@>xo&-*@%m=;OSB69x@fubv+(E86#mJmwo}(5xBma%{5=@o zBhVw!0q8KaTz_<&I?(^A`1QK%_TTl-+)lrin~y(>E=1ozKSayb|2XYjj6Q{~K|e)x z-n#8SjrA))hoD!Xx1qXDy5&#d`aS}^(z)Kd{-J%n2&K?lE4ZHC!Ru4ed(gS)613d) zVgvR3j2?ksuQzV{`tf=KJq``fBwDWgA>7~iXiqeO4np<%?AHG(ufK_|MhoaSs9w+i zM|sxkH__E-0WG3>eRs=`;`(wvIvP!(X;iQOZuu3w{xbS1`WgBos_V8}ehBOF2=pv; z3_2dw`wO>x6^>7Jv?kgRZH4Onhg-gNe=kCpqE(NR{hFxj?}o2C+7nHn0jha!`K7%6 zZ!|_dd!sGU)@ABnMY-3|H_&zHC#dGT^`AxV#g2Z(eyii9|EUv2C!HNRYWsqh_4dk_D|b8nEF0EP4XI^E}BCd zl7ArTqlcpjbO36cElGX~y#>7!b?oL@cn)2TzFfv%k9JQh(|$LeVv(uiVob%!h_6_y!>eT;Xv`{AC`BjGi}K^4b}D2Rh=hpdDo}=<^1` z44R_MphK z*?$|o>q04Kob8{E*9DB<|JHcD`~PUX&Tz&_$8EVYUUe9+5okr@*Mj-p8f}LjjGl=) z!*6u_D=OcM@&hW!yO`Ji7%Iox<2-QBhxY&Q_*FEY-TCYGSKF7Oo#W8k(8=f&^d5A6 z1^tP0o+nW4Uyk$nXVi1f>vH{hg7dbb{+vj=rlI4heAGHE-_3K&>AseC{n`&*Ut`XC==wX+|Lygw&sANwRWBe{*JEvm zTfgRLxr+RK$=zPRyPj9He*bT;M@Mr#nSuVyx~A)yJ09vE;iUPk^^6|ApM(ylo5RpeLS|5p3l@p{R*9%t#FUO!yFUSC|*a;{(JvEGm9 z^`^>v=hhU5cEv6Tz$WBeMt`YqNe<3U11$?+ZV^z1?`6R zM*E|h=ax_L`lb<5pWb)1;Qm4HQ(e{jGWWhK%e>0#{Vc~81>R`fn}9;(O79Um=!?RNUJ%qus@HkfukQm~)$5AuFL1tgyvU1Q>VYQE!ezpX zXmGjgUx7|Q(`Xd(mwz;;%B51S23iZPhkB@6kLEs8CjSK5c{(}-U3`hur+G&@?JSq~ z1m#CjK8aq5-iSVg#>YxM9{CH=a{1YCu>UGpJv5ejYSACWJiu(Hn z^S3Vb?}mD)d%VuLO2%^nIu-pI{T0=DsO*xnP+>Uu3zWj8ead%nU}7A6~}e= zYrN>CIC}N9vLC^}{Btv}KZ1JrI+yXUg@5Ge7WP|>^P=?bXteW}e^y*4uWv#-UoZOu z(7#xt|2Dr-UOy2%1s#sM{%SXgzYaPYO{4J%@_HB4E#D7*EP66J5IqGQijG8IMhob7 z=x=C^o2B0W?fU*{UO>B4%k{_2PgCx0bUHc*eFW902U^GrqU`{4ic_GRh6;kcZH>T$f2e*e?{uOt6M^kekUN&oD4e?xh% zO!?Xz=Uq{q53ZiY>pD;Grr+-IEtj{w<#m4PIG@RQrpnBxb({wup`W8gwABXsjTm*kH}vyLuee<}JB`q5M=_cOW`{R7?MZh1Y1{(6t>|A|(< zSN3b8yQ59e=4e}V>ooEIfmWR^`#YoY8M0rPDLVds(Wz*&2V}nm+6rxtc0vmeiZ7T= z4q8MLbA%Vsk#q5(iFvYr#6zOjKP=j0zUZb$Me9B$YMd?4_!bz)?oR*a(w`g}ryi}( zi8E`+Td%pQPX2W2F^r>*r<=Ds<@Q8dqi%aI{fBw`J9%#XFOmBy`X;(T>vIa|cs;^+ zEpW!qv72)9w;}UbHDJHoeC^DLTVC5$(R$X9 z3XHdy`uH%N&2bvmCIkk`sucJ z6Xhq;-n-EM+q^O4Jc({b%eC*}3fiZ6K=(63zIjYCG5!a=*sEdv3O@Z-=k(BWtbosPQY-SMnwe6-!=#$!ImCyPFVu0r$ZZ>V8CtBE#3 zbsc@#IX-UtD>~kK{B+#i@^>&lRHw54f}<_@fvXzko9gcDt9E5ywFmpEgSEWV zV4Y`U?(?Eo^giu8&dV!MJ8Ke ze+{`G+XwB4>V1M+Ud#D2z33%UqKJx zy3`Fl8a)-&>y~>S>H8k{x}fWndmgy$FW264X_xE26z=wCK^gytW%}2He!1;;>(g<4 zjq!aSEui|oQP&-vXL{e|=G{QKa(S-*qO2F8v1kTefV%$W3&p?tBGDu|26g@WJR!a~ z+7a!Ju0ji_TYl9NDgQD08TuPq<0*OlEVNwtck$Q4w=>$fg7UjQE%}YnwrCf$8+sDz z)?coCJE!~+?DwxAZw#-0`;4^9TPoVw(cbKiehdar?K7diD6_oqoA~ z_qgi59#_?hj&F*3^!U1}<4~@Ct;d}|np3WPcj_%y-mOo4+8>>#+J4t>JTF4$aNH~U zeKG0h#Qz$qzgMPzncpwtJum*fP``|x0FN5;mw(EYFXs=)IVvahYP(J<(?0d9o=f@5 z(c93uXbyb={Yz7$|6UB&@-x}r-tuqZZ$N4}SyHL;q=Bk=!4h{J)!b zH|>~#&P21QJDyA7AEHIH@-i>7#>!|Xcx3wPKk$mmxB8pq%lUnBK6~9W;imKO)H3t& z&ShR`Gb@&Pp_tCgMGr>ju8{qu=wYwOzN@FfZA8iD=DFo`|L>MB=PxevqWU|(AX@WP z(Yk2#;$Qw5g70GVZgf7n0^N%KrD*hD9hYT{&$Lxu#2-YLp+$7X%kp{$#;db4o)sN0 zx4t*Y`v8q9|I0tCsP|R$%`)wI*~$5g{fgSN3+*r0pT9IE`fm&Tt(KE?$=Y@N|XusY19;bW}ZO?gj4(j?1^UkgBJNU`3c~KEJ=R)$< zqTAa(&AWx%=g?QseaWk+z71viW#Yos(E=m zhSo*vp$*Z-=$@#Dx_S9El2=5{TG`(Nt;oM)1^zy~J`x>+-hsOLuK(H!{70>q_8#l# zaqQ>NZ_!gXh<`BZ*8g|?;{i*kORNJGf?Yg{7`vP)OW%Atqr13q1K8h|x z|3v$gsqYS6*YfJGQpSJZ-}Fx+=L_^J^gGS}K#te0XhXCy+6p}g?TQ|X_CeF=9q1I) z9k0LZ56HP}JM)vzN`I!~*Zci)_b)YQ;4Wx=^i(v1W>HuA15QE*qT5@36#mg@3Y~RA+5Z?dRb<~o&u}!!{zckxr-C%Ot57%3v75*LreAZl{WW%w#3qg=*mvtI z=ij@Ge{NMtc+Sxp)!by+FXw-e@@^^3X+oZAs!V=4|K4T%Y4~hMH~mfj!)5%MqvLut z`m}u& z`L%rmb}Z9Ar-ClE1Pnmi?Le$LxXe9xjzcTFquw7z0pakSdib;^Doe`o4->vK!x$kW`4 z+Oq=xYiLFOn`wvYZS3ET-h<9WA3}B9-1ZvA=?FB1YCBy2J`IF)M!TVD^m#|uvERCp zlnc=G9hBTdt0M%v=iFR(H`vgM%}zo@C(pO(L7qYiIixJ4nT{0xk<90WJGYisc0~_rBl`jRc3asmq74sllVratNE7CTz?M7-%s-@@Gsj>YAm3c{bm1W)NPOQz!_g{m+OCs z`X50TpgC<YFGujzn0-cNI&;qLC;O6PLjA49K zZ!a@mOX17WHR$hX<<3$=RWycPh>k(8MCYO}qHg=Nd^29}j3!Ynzobn0hFv7F8=62* zMhBv&p>F*h;GNN~=s(S?d#Kb`omookb;8{msDC7Se{ssCoI<}{@;tKR?bR2pEIv%|R{cGF9|EJ;i zqSMg~It!hH&O;wX-Mj_xCFnEg3+PLZzQX>SsGGM}FCnV?updX;p`Fn#sE@jN1K|NW z3_S-;I(jktV^KG627E3WKU^F=P}e^Su6jQEm!V_PYtRYkZK#{~{t-e7y+yq~qMMHt z4UQ7MxUZ=D@19x?ZGoPPy8aI29)xy9$D^+QZtAVlPhRoR=TO%_3;%rdY4kHx%lnj1 zRFHQB&r1{Nt>{CjTmN-{H2NGqeU9q-yH*yWdJg-l_f?nI=b~=;!|(^_MQ93j{mS(@ zbc)=`W%AY6s){59__Umx@8cVQ>T}BY4&oexjz`_{S}sL-_028g--NGWRY_9c68xQO z2=9Tq^=Y|)@;?33e!713W$|l0`7-TOpQ$EEt;pAU+)5tFdyCd;pS_(>6F`vhZIkb0ig#?w zzq5(mxh=knnRQ6BztkxItzztBRexLDKCXOZpKbW-nsk?z+u*yJ#M^DQ!Rwg;+vN34 zuuZ<3+4SAEavGS1KW>XRv~}*gjd~lI+_-kz;5=S*Ua4ZX{g|TVNLpDw~~6?m@Y*e7i%PW~i#=B0|8NG4*3V&gN z*R*U}?{9ohGIp@W1`19|Je^2K5PFBPA7e5f* z03N;`^4LbU~q&xQY9Pk4Ce8I9X-!mq(U44(d7 z`1|k+H2+WGze$X_R=K@*3AZ2MlayByu6O45!@U~9^*R#X*@f+i!+VkQBs{gF__s1o zUQ@oS@Qd+pusl3oDd%`?*8GOzf0BOfVCQKx{*8p|JL$TXN5_44nYZB`K)AKUU!VIQ zJ&(G>^9M=}5713txYtGae2Fmw)eoO-+ZS%5;Hhrn@6PeP2A=LN{7d{dTOPKvK!3d` z#h9t^99-M~h~^w6IaTREKJwQ$DejllUw~&EUWDfy9=>C&Wa^s&T-S{lyy*D7h&MDI zjO{K5xxO_ zn)026-z9dF)coCq--3S}yudiTg#TXk)2~P2;bl5%|4x#VAZLZ;+q#c^%kpTQ86XQu zef%H76MUu24p+2ofd}yS@c$d`pDH(QT<6dJ@GN`~{;u%Y z>5`-OAxCRI{6zex!qbjFsrm3>_^*L`XGnekp9D|A&xSt=FT(9^w9SBcx7t~$2ou>z;W3Lo*p7Oz3?}M7vP=Y z9pK(j@&5v^bxkyxr4;k!H6yF5I0 zw)mHk^FF*VO87@i^pD~BD};Xw|4#WW!tL-z+i!L^T5q3|^V)}pPllu8d#m^_h3{zZ zzd~MsZ-wus{5J8Q%W>HYo|q(DpCGn}rze;4@SB!le*O;OFVo+F@XQq9Dfke$H&ys< zEGXy0{prH@!+#|_IYT%fh@0CrKO=lC{^{`4{lY(>zw_Y11H#+cbt>GJXwE$069k*( z@c2W*!}lTK_By=yuyCE9>*2}y!p|Z9Yk1*t;k$Bw^1J2X{Xk+(_(Z_iD~)VB*&Dy` z_?qYC_@>}`-Onu%?q2s(@Rs=Xy6?mHfj1*R<>a@AdpXHZ;P0vJfonUDhv%LW{~Y`$ z9bYMGe+qwraT}>Q_;sDR1|GnVB4;YxXP(F54`~iu-#52ahc*;3nHflcp z6Y&3_IZGvH0=#N1IWDQEg`Wp+01uuKJ`Ua*Zs0xOU6qsH27WBuhxdjDmT&8NeXixv zy7!#SE8Fa78w>a0b~oCtgD2qA;FIA+_)7S6cILz$?3pd_w8MXdXW-}2p5NiI<&vZCi;p}-p0^}c2)`eHthS7s zSt(qfXE%oDUoLG=H*yN_D_AEx;}2dF|54=kfM;J9{uAq4U&|}m=e^#vX3+pJ4CWN| zzb*bNhRgVjg~t!J3x(bK3pTgI)9~-B%L_A<_Yi+K{IlVChd&07^(^%-fhXYl4fL1c z*`vjOD-Q(UgvZYiK9+G<0nMm)G(3H?@FM(5cD zDX(N7U4`q02e)r0qir|K!{eTNQ|jG`acB&c~C; zDXx{AhiT_vcw&?ACe(XQlw+UQ-68Eyh}-80T=$jV19@O=ckFYwa!C(qJ{a1@W#(>hm*e$e+I7aTUWqy zaJ>#zAtw*NjGVXdC%%#V0RAyN3;zcGgXQ6Qv}&=;Pkmn&e)Je!m*FYezl-J3y2_6r zh0npmtts5QU;6tCyfZxbUfMH;hHlgWPTOD zPraixC%loio4#Kg4=?^9{Bn-hba>LpozggR7Q#&x;onAS_I~_i83$8U_+WDMeQxkn z>3II$b3|FY%L`?!rV|8>3Hgx}ji{8!-r5r4+}tU`#TC>j{knRxliWLZp@Q~@aE3_nod@jc; z4*!Yvq+^of!>6!rcm}>qV$5)Oau4w<|CD@xPvOHDw;$lyrox|v_oto7y@YQhzXv?nyOa-xCz_Y? zO1sMZ@mmP*%6zM*yshx?eS5eyg(o@-e_pV8gZX2+3;!IxAO3hB;n%|t*8IN0^*PBA zmWT7xd{nxg9L&5*_7i_i+PM{8=r5dRnv=*krwPB6dWVzmk)MFq9Ui{lZ)7s8^B(+4 z{K3c49*=r&hv%G}eWDzD{{Z*NnWOc-CpkyL7sFGZ2-o&>A;+U$&FKp-;19_8&vO;> zJHhqyloVX=H(sS)|I^ZX2Wk6RA9Ow6fZx0?{tFq0E$|FE1^Ca}uY&mXxoFXT@EsoC z*oVUP{$XMZ*0+BN*LA5*J>~;BXVI@_aGxA~Ub>a``{d~7BXvedy}1u0KS|C$aI-$ zeUATGt;nhKe*`=MKare^;aRwj|9E&FejNV0;PKBTKY-7Jr{RaepVS=qNcf9zf0N{B zy{q8?ygB3cf#!c9em#z#!{eKUZ^r*E-1|~^1GwJjq_`i`^Gok@3h)f={DU0-E6LG$ zTc-C|p0cI!p7v6|T>_u7R8H zgkMU%H^Wok3qOebJK;IFUVk5gXMPgD{d!Ndg+DPK&a2eV!oMbG1w8qS@J9GoTOOX* zsowiV&J_OttV`X6>-qAZbqTKP(tn=!!u5IY$K+@FNRA%IAK?bB>(vgsNqf8=;;%|O z8z{%G?Q8)z`1So-cX+0!-&_`;e~yL>+_;>n@W4~ZH4d7`>*rx z7x|SA@6gWc;rWBaujlnW@OUTTJ!sE7c&f8-Jzh`2Gw=pHmwOeSJ5>DolN$wi!WVuj z`9;ga`;Fug9inm5_ldvY&vqAo5WQ;5PIh94^C#9rxUK_x!?W-m$UhLC>nZ-tvXtX3h(BuSF<$dWbscGyLr;`u>B*Q_J=>QAGR|XApUvyH^5^9g&)j)?6*;l zeZI6r&M$rLRH>2VB*F)bc58~i89X^ixc$0gv~`DP&Jez)y6~gnsk4PQWPHxFJZyh( zsEohi0F2h0QR45*{7J!!=LxSw&Mk1muO#Wh2{{w)Uo8HKwC4$U{tDr5OEb+&@ND=X z)NZrMe;=NhBK%1B7x2to!bdO;JMPXrxkvaa+S3$XxKH>e@Q(2OgTfavpEsT)?`zWY zg`dv()dznuE4(lD4uty)OZhqQ9?ra)08c+D{*&p~49#BxC;w4+B79(LH}yXU&n_+H zd3fx(QeJ>3pD*R#!SgxcyHIasd*X-lx$uJUtKfCv!3yEk;d{Z8D@%EMc0GTV*m z0nfsd%){_ESA_L?Z;3w*AFTfOh3~_-odYkd7oNpG7M}h@cnUrq9{WnT)_XTR^`r3B z(P-QG2oHV|o`x@k7vb;1UxerXE&jdXZ^6ya!q2nM^}_8#c(S^EFl)CvqkoMlS{~k4 zc+Z!v57qXN@hQf{e*@#t*z)MScGjgf_=ASxKY;vh@HG4o_>u5DJXTX)I1OHCCOPkM zUY~Dy*v`zO(oUb8EAi)Ai~nxUqlxgKt?){mkKu1p36FcSgYYGKUcloA3jdt^`Ec)` zQvNhN)=7AEa$bg;!-Y3z{MTvz3BsSj|2e#PqVVwh(BbwYJbiMhzsjD{{=`7xdL10r zOV$%V`~bpk`WrH0`28D%>-C})ya?CdNaDc@^TfX|-;S2FU4o`kr>R$ox z?W~_4!TUM9n!Rxi=TE+t9N1|bukbg>guK7w?*u=|;U`!ge$HEHy;s!o6zx9~zjv#5&o;l589OG-x~3Trp5%xVVKPfa`NE^5O&k&01NOJoa6O8 z{!^WPt%YZwl^px_A=);>&8x!oKKW009KMzNft|SjjK7JW^SUWKcw2Z&^1H#)@ETk% z67bAg@z>#a4T0z05q=Z=D$AqyS5`U{E2nqzl{9*;raK4kA*LQ`{4&JcAH2$ z-%>w(C48&$&%}Q>?P=h#UTqToC*yM%JZKz?5*Cp&$ntP~_POuU<9jy#%<19}zt(k$n_+$3^5Pi>TZJUVL+vaFH zCGyudNr#^ePdj`pJPVgr88ZQ%bND?Gx8IAVJpuJT1oyIXTvBj-zaLyJyc1mC?|X1P zFZBI>;VSX#`~BxMe}QnXk_6?oJ=B{Z{}XryuH*A><!Kj zCCzzQa%R9!vG41nd3BR;J+H&x_!aWZT;X%@cbY8EOa1Y}zlQ&Wzi@}}tLRs6^1T~{ z>-W!h*_-@n!XF@~IoyZ$fp>xD?kV+8u|FRhw$r;ocoF~bSA?7Eh3`yzjwQ!%yk_Aa zs+@e~W3@e#CC7F@+U|g-(!zDz9#wv?@JGpiQS84mqRXxm(1q&o{1vd-(g| zzbE4MO+42@51xg44u6Rp^R(pq_}5#$t>=xOS{}WR=x#qiwA*>ix9{ME9>Vqe^S{Dl zy@Y>5{-1DjxbSL~<%J#XLLKJEdJF%A{5|33Na6PODcX9#J$P^UAb1k4&s8phr;d^w zJ??3E&{w#A?))G;+fTTDp12fVI9mA4)SHJV!w;tI)|d8w0nZ&PT(9q@rSvzE5Izcj z19+~#aQiW9w8i1^<4f~Tf~QUpemmoN4%|Cg_~qnGfM*5>AI%NxWaZ%p;&y9WEfO== z@@So`y?+GsI`}NSP^*-$gd4}dj{N*(l7EfFn=j$PSm77Y&YG=cd{yB zNy2}sD!jer;rk2!9lHS9&F)59H~g8Y;vYc2PKx~Y`#;Y6`oZ|k4Do-#cwQ0tVu}Rr#@U2lV6dCspVYTJ9M2T}V)%`x{w3mHPrdEoiL~%vIF5%aze~72Z#)5hwsXIF zF+4v@{8ehpfKIVIoQD}_zAcJ)%#5U+*v<3gm?tFX2Z=H7zza_ce**qJJoAk3b?_?o z_BdRZQcHzTwd+^7HLyH<-?7da&o=Oa!+mlR-%8Gw8j^DY-1|uQ=pBR)hX=n4f3Aw~ zv2cH@aQ!@Gyyek#+!>$QnzLE_Uz7ht^gWbw00$=inaxV#FJnqSIfq zuZ-LI&hg#D@^IYpj(>mrnN8A8{Z0QJJBIfsjm*!EzbiSL9Nx$BZC$^PBR>~@VZ&|@ zGjC6YC(jZ-lzt6|7vOT%8*?!{cDDGHUjz5yA2a`NhsVzmfB610+@`}XVtjTKY!<+? z6UASry1bBs=O+vAD~~%(__fk-etI*7pCE6W%@)hUajVh0LlnStGk;jVt?{XCZv&$1 zZ${4aGZ~)-mWS&=t3B-vlHF=W{~EIo{?z^Ax4Y5S3!a7F06&_X#2%7U6Mh2)W(4GY_!cu;b5{RwaLqIHZMUAM!xfsucX__uI=tspg(i;WH2?>oGyGR}e1elOxN6EGj_*C3MC8m{MQ%>%Z*Zp17P>rK{^8_5&tR~vZV;l1JU`r^0KDcS;f8h#Y> z;X-&}H}M~ce*)ZVAl!be6K%8LK3v=X6g&af`SS)maQLV2BwXwL9-f73y;b9kKYRr3 zsS8gvly=J1&EB8FeYlUmJ3IqF65bzPgfD}i1(><9PZ*Dz0d!tu zEAJ}&1oGR%gF}Qb<@(zT?j0svpH~ck=islCa{;{2L;Oi;j=2gx-WkuymWS6tbC_Mg z?Uukl8(uh6xUQc|-~s*u{*`dwFZFM_XxCJ;pyQ56`>7edW9(#_ZTp+UbQ~JhR(gT)&#b6HA2e#EnHKc(7FXZ1~aeyPW=B zWO-PxPrc3P*VS<2@CoEhb8;3~zOCc(JpP>DAWGKn1-%jFH!@2uupPIXUUxR&FLW3G z?a`~od<9SS5U$s+st3yWq~V&gJ3MuGseeE9!%rc1^Y zgCB>#(5ciP;7=SO^=kh4_%n|GO8i;;dyt=o=ivc-Iyr%p^DzE+Z>e`A{-^PKj(-*Y z41Udj2Y=z9(tdq{-}I6EA>{vnKjZi-A0)>miN7xX7(5N%3*HKzgO7rDvOGL4xr0mF zb2$F^k?eNZkE$R33;vwt;rdxPw?jm9{alTICg&ZGE6n?vbF}2^`_N5rL;LO5uA=Q1xDVI% zROuwgD+ky6mb#XQ?jt}pPKfu2S*V&UJ zzx}b59yojfJOw|Q zoTn`h`;}@}IzLz8FW~~<{wnuZJuMIWTj)|c{sZyn&XAl#$Qcedf$;m_ zW1}2IFw=QrWc;MebyKZ-xNsPw$Z;m;11{0GQ?6`ng+cpdmgcyOlhrp%LH;He?P zb=|JoMaH?{xbVA7yo$tC&JSsgzNi- zA@KM};Zx}EIph~OUwrsj{CWJN;kUpOXGzXw@QnK5v*C}xQ)i1``P1)XxvlcOa^Kfk^c z?p-K+D><{3UnG1p{3&?sV&QsSdjXz-e}VrMc={6Y>t8ll0}sXs*Y9KeOLHz0?z3)h zf)_3quK7iH{tDs0QSUF7hxeb}mCYlf?>DPJSAt@+oB{~7#`!jm@$*Y-c9ez>-Ox#eMd za_!|j^2vD%fBZ(tSq%ReUWDtq^bI^cUi>=#TjAbKrM#-WpoHgX7Opulcw$1SzcIYv z@D}jo&87YW;AUbe?*vc7FQs2S;jvr9|1SI(coDA8+lMH>P5f&(U&g@mlZ5N|->CVM zh3mRH9iD^hI6MXq?hyYov}YCEyHmIx$A7^y@Tc$>HD^kxf5&ce+*8hRZ)kaVTndiA zJ$~Qu`}l*q$Y-7(i9g*;=9R98r$pR7Phg$Y`-HQ}DNL1|#(KWs_eOV!dZhl_@tg1m zk?f|=>+XTa;5t4Jz|-)zqf++Q>__?belK1+|DVC1yjSw|xV(bj3m>H0&5!;yW*z?6 zH1SV{e~!PO@Pj!nN0Z|__c^D+3tc6@AvvSTiO-aL`}j24E{6vW zzX6_hcp9E__`UEVd<*$=;f4F9Ugb}~^A8BupWn>GvkwZ_dG!H22fu`ID8l_Y;(rOg z)$;IuAaiMls3kgYYaJ%XB{om|G1iTGaPMK^ACc2U{f`Lu@wbL29us~F{XG<(b@&OI zlNEp4DpKHF%cJ>|kmIH89E;yyDE?8@dne$y#h-E3 zfeY~GUJ!p(ZkVprd}m#{8GrsI@pt36-vN)kEPNbqP#=zR8rd(Lm(KI2@n`bl*W>;! zJiA)B{yyaIqa3>qJL|>{-DRB9Z;OACk*$&C;c++kZSiPpi9fNX)ZZ1q@A!|zA6qN_ z)5rs=zk%h^ zadDoXw7{SGsMOz9{Z9TN_`OfW-?!jODTKq@Q{`=LxZ|Qm!{-wxpJ@Jd;*T2N|G=9%H z?yK-8z7zkH%F^G}_ycF%_z-{b2l4CAH*LY6an`qA@TY$gzy5`-$~{>Ro%X~m58H2k z5r2UTXCwT+GyW~{7yc0cE0v}Far_0R{fFYuR+1Te5aW3=yjWTIOXLhECvfKfMfh{o z#D78+sW*kc;Ecnq5s#U;bH2^jX7~%v z`EmgMWFzq(j=w8@&p9qf;?M0Ne*IqD0Q>>%kyniw0XK)pc{Ea*^PkT*)7*DegBFd zx5HC#ZU0Po*6}ZZ=iu7TW$*%A$7eO%d?f8u|39 zJ%izKxVC>ZJOS6^dks8r`0end!)L-%4qpIIJA4^DoC8xl>w}jt9f9ER4-;?${1<(B?{(dEr9GSB=7&=LtMadf@4)=2)mO&ZTP=Ju`HkVJuY`|;?+ed;Dg1GGSLIuTe+loW z`CkY>8-6N01FyvRT%tLf#D50K{IB9)4bOZoJPZFCUiet}o$#IQgbB~< z)F-7mE#dxW!dK$&1<#P9=g}$f!bjqtjsFt32Y&)S37!hSh;FwT@LBMnAbb~&?_#)t z+tVl7R>3nLir+3@(e}RP!0ltwXxjq!TFCr=8eZ*a8He1zB&R>T5!@r^Ab1<)`0eBL zXgdU6*dRH2T#kVUaP^-7&%is8a{=6g`|xYvx%K-;M8{zgJO#Ip8Kdn1&4Jr#5N%Ju zgZCvzpGU2N=iU?U<9|;%emjiOwgqnBgW!L_19Egc>mDQH>^GP3UxB|3JYYOefFA-#cn5)KSlkkgx^liY|Vd3cxCuv zxVK#RV%E=<@Z5{SwVm&3eopx7)VoRZpA)V>r~ixcXN2qXjamuThwukp?Di%(&EOvO zPKURH2QNs@Vt5aDVVUru@czna=V$Q2n)9^y&te=dQ2wOw@b8<3+qG~5*KwW%&ny9@vI|0Z-SOahyqdrZ zS@G*S)()P6>v_}*Zn)2!Mte?F&i&qj@L}*=Z8?se;TORJxUPreHHUi7!aoh}Jtpnc zdA?Bd9~G`StKdFd$N69Ce?!0j+bTMfGahT~S4FaGo4jo|@Y^V_QbVe#vI zNOySdA>lgzkB4XG3fJ{*7~F^Jee$JnkDME5&&_Z%Pjd8g_8IVCj_?=pKdOAT@IT=% z!ZXu^YrocNKI@py&oAJqS*8Bp)ej#*ejR&b9NqssAbwqMTfoiz!pCslb%qBS;S=C} z;e{E(lkmZCZ@TbD;1|O)O=KRv4Zj|qx>x+w;CE{dJfQsxHRm4j>-fA5H{?&izY*^5 zDfP~Q{|GNkk(_SSTis58aC~xn4@&1rLwEo`ik$u6nPVkC1@EOf{e>6cC#wHA;bY*# z;r`vy9zE|;nln|nUN`SmKjScfoTt=Jjvn{b@PM4|_&38nxc$0dwADC~^@{uIE8tDw zDXt58Uw0tf=Q(X0|B>)aGwHAXU5P<(!*kjI|7gv3p5I;vFK{3G6aK02oRc$O{rgD0 zAK+gG_j&%T^}eGyEyb_jcl}a1{v0`#?Sc@kORdCzEAyv5Ji~KuAKuFHZT;LwH_OA% zcXG4rXT5g2ko>-I|3TrrjWZ|06L5VWF%({e*COY9xS1_Ejp5hAJ-8mn$?yQK^I;Y| z1K0WXxaHwE1fR<|==U6!<2Q4pUiH6;-+WQ({}=uMe-qmI4Lk*}3I83QhD(|;JK76< zG@kIE@Yh#9SK6cVzXd!tPk3kio!|+$zTfW!&pagl!#TdkTON*s|Dm*`Avr_w7atb? zC-Bkm!hGRd;8&63IXRQ?=N}Qjel9ix?q`MT@0Wg*9OL9X3orbuw4H0n@fJyrM|(ci zeE6;Kf5Y=|9sjEKKu4cfhQC71E!PDfJ zXG?QtzzgsjnLm%glh2F)Hu$revrPC)I{_Ql6+A}|Edzy z6rNux{A+UR!gDVRzmj^}!u?l-``m~3fTvy)zBm43;8}QQcmOZLFNL26PrfcWv&g?1 zo}*uT;-3ol^5S2F|3UZ%j{j+R;VtoZBD=a*)_udApaZX?+VxB^&5OE z_3lo79sA%kJTLtB#D5O?P2kz^7i-&1zc1Gsp57qb#zxyg@FILZyeB;Kf%vsOC&24X zkt@jV_|JvMKNSDY%!jd-N9#H3hTb3E0?&O~dLG>aPpuW6A^$;mfgB&c81B6z{=x89 z;2HR6#^)XN7sRjc3qFIV;2Cm$f(Prw{~UZr`#?MFmj`bK*WUvfyf6Ni@W$%jC_I4c z@00Z26W$5FKmGu&*YQs9l;$vh4%d9v;RDD?zzZKpzWi&<8SqT_3mNRz9DiN)!}o%} z(L#PNUuM1d_4)Hz_*3L7zXcq{mP^^oxyl86S`Nwng)q=Q`hhhX)Sd(Z1o` z)_vW1r_1@CK46ci9s0hwk^N7&4iw=r+Svte;^OZOKL*~G^H=W!&xR-P*Tx_IewFAx zWT^DigI|k3z`v6I-eY;_PmB_OL;Pdx+l`RN9DW@!yz93;1*Rbv^$YUVwj0PG#G#aNP18B>zTu!>GTF%v|#Iy4(VP&{6#3sz`y}k>B1A zFg`jDPrzU7B>p9g&$;R!A>)%IXI#YX-)o>=mQOR8oNO1#(VxqEoSYQ(>Nr1-KX#INt0?t~|f5dH)HCzbaW{sjDOc&v}`8139-d9=CAJz-g%6t`WxcUP_Lb=(bm%PZLJRn zSsu>k#L?1zk9v=TC*jrMqu?pHKL5E9UWD(B|9-f4jO5F|#yn$r^!@qk<$N52|0VoB z{(a$}!jo`aXLbl=d3r{%wTX-Lb$7~0~{wB#k!N}Ip@-RQ{ z`1`_rhYyCga`;8$=gI$s{4_jwob*e7Z|6*MJSXQF_!x)31`pu6p4@z<^eZ?~@;|I3 z6>q}d*~$6C@^Bn7!^M9X{@uvQ1;XE^{rkg{X9`~r?*%W65PmW_r@=FWg};jbLby3y z_(J#uxPP+n%iz=DIruyl?uGDV_y;xYrt8vc>L>qwaz2A+&Je$T9`rLjF+}*zw7>BX z#&f9fHRS9E_lF4|gx`mEaIX8hz6BSQu5Y?7WjG&o{_DC_!0+pL+Wc^xER2?%5wz!W zcnY3?PlE?Z@$2_$mcsq>h3oIj{S2NtPxuUS%uuPzh{=Ve>B{KFS5DeHcoTknlnjrhDeU`2Q>#C_A}fT zTOOVlse5I<`4Kf{IsUwpvj$#-*TMfOJT_G7)#sK!!aaC%{JRX7@l3!waGvgMdDxzS z_UQWD34eN6X}^wwXW@@kmI?;KgOTDtgnCE7Gw>ep%iu-$DeyErahBu+@Y(Pzd=h+- z`p*`BPxwpl4E!nhT6i!@{8`$+1>V_N4{O?mE1ZY1^TeMZXHR$lx5cAvUw9sFm#Jv; z;r{uO^C5f`+)E1A>&s2>_yxj0!XN%!_pm+Qg~Ijkp4?;o;c?7y9Ao(BkdwJs{5Qat zX#OR_7cdU5lM_rUouBLR7srVIJm$|9craFY19$=$ZWR6~_0}9I+}tF*0B-~@Ob~t( zybU}#QTRGrU$`9xPuwQ_0B-2}!&9?_d$t|nHVmGbBYY#wuU%v1j&@!yUADg2&u+^=PPV$X_yU)pm4+<#8^9`H%<;CbQt^I0pY*LzX8 z{@tJV;Qn&qmoQH@(VhbB@uXYkNBp@};vZjKUfB68j$>Z<#rXHKJRFCN)2}%GJpTP? ze|NZfOLA(%kA=tH7TydV!2LDC=flUsi))1sf!_iT-WA>mejhxwPIx=!Ll&M}FMKuq zS_aQ-5I%-+dk^ky6uuGv7R$q*Ly3LcCL+4d{|b*gyq0|<6aD=ihc|{N;kwT33r{)z zt`WDjO_%i~MSJu)XCWnApL6zC|MjKok8c->=s4ovhn%zUr^xph&nw}D@E3~OErEYB zJPX%xm#zhC+aJaxbD%nnju1H3R!_~GPyruo+i?+34BZ=}M0`S6qB zjg;Ri{tMvk;2!6--iP;r7w!>%OZ=xRzfrih{}OoW7U5a^x59nK|4sN|FVar>bqjnB z{v7Sh!Jmg4>ecrnYvGv*QtzGkzk&x-h3ntbsd0|fo0}{=$MM}8o|-893vxQc4g6Ag z0`A=<{x0O4r8&0=*W-09yl}hlcks_pj(-z;G2GCvyQudK&A(G}?!^Bo+`B>eEBGs& z%Q)XG{84yAc(9Uhq6z$FrUK!#_A^H~k#HJ3QztJVw2z z!jlfa9G-&L!~b}9X=euB0zL_U9$pu|kA2V)&WECtKMTL zUAJGdJX)WZ$??*4^*#Ja{9S3!Cj2SKZ_ekq;J2aC_A5ErgQcDJFhyG({INrX-!0fQ z)f{*qct^PDR@&e0ngg$i{}i|f9|+&dJW0VHhL6A>KUDH{+%B^`93Ri=?@jmsubq6aO&juZ~+Ac*5ab z;eo>w@T9{B!&7jb=a<5>@D%sM*IOQrb3i+N+CLfYJMEuMPP~V-e;EEH@C;mkZ@??? zpqKc6#J^Vg;lkI$3vmAk;d&k1YI(H2Imfr|Xcpl>;jePuO|v|F{_Ne@Axf@6{-gMdM~UBF=AtbR5Bds^ z!#BdyaBY7Po`X-u|EuQolbrgrr?$O83dhrDJbnDTTOQ8O)Y0O<5dJyqp*cplj%Q2! zzQa3cj>8Xw=inLg4`RIvj+K1nN8vXK;q_?$sc^5qaQ%MZD7b%|aDD%K1w3`U@RsCE zv^>0T&v75F<2empbne^dN8FCvQaK{}^NGupzaTtCzuto9;H%&t!wZam0{(Bfc}a4V z$LxU!k5>Y&*Nawge}(vS z=kbx1ws~KawK?JZH=Y;OIEZ>*hX?R6%%2b8g=XUK4F3l1?JayV{1Jszwfl`wNh_(f8lk> zzdXvRZ!+Jt31f`BYRvWI?phe7q$iPbT{Gc8Hb$a97;0$UFC-f@6UB= zGrYI64x5Xm{qY{+pKT9axa|y&-Q`95s~CvJaDRgE)zPcQ><2HND7;54d7%&7JT3ej z`g@Y*3>JP`UGWcrXD$@}ZEfL6xOcPg$>iJs&y5$ZpZiZ!eyi|7ykDMYdH8!r%`Nhd zzPZGkMfj8B#NV@;yzmk{lM=4KhwU?X_FCbK#csZXdv^-|l;cvxelQfC7m0@h6`Z|L0M<{X7~TJSSY=zn=$B!}YoP z_3(bq{Fw#MM+ z{e4sTOe5P~mPgkq&PTmY?T5eky7k>yi#TOjpQV$w>9mY0WVxwJ!;%g>upv1 z)$D+WyboN`j5&y$B>DO|bq{#Dqd4{RrvC8!fx@S;4h+_uLxdkoz30Mn@bT~~;E8VH z?+Bj=Ps4rqU6x1p4-f7ek%sVj_*2~_N7tXH@O$_J{415umK>kswGN)bpTU2jod99I zxmn`x0H4@G+LMCE;a}LCZ5{V-Ef0@xdJkEcr{Mn$9^X^AUazZNCjMj-;k{^QBY3W< z@TWQM`@&Ou34avc5gu}IZ3pj z2~kmQ`_5RigoAv^I(D*j?3Lnoo%y^zzsF;)$L;*_{XKrq-rjS~HS3vk?)%0A%h%$* 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

    SK=cyx|K;|5?T9NPfOS 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 G#s3SG2Ag95 diff --git a/.tox/py37-normal/bin/wheel b/.tox/py37-normal/bin/wheel deleted file mode 100755 index 8fa4177..0000000 --- a/.tox/py37-normal/bin/wheel +++ /dev/null @@ -1,10 +0,0 @@ -#!/home/amnesia/dev/mega.py/.tox/py37-normal/bin/python3.7 -# -*- coding: utf-8 -*- -import re -import sys - -from wheel.cli import main - -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.tox/py37-normal/include/python3.7m b/.tox/py37-normal/include/python3.7m deleted file mode 120000 index 0487f7b..0000000 --- a/.tox/py37-normal/include/python3.7m +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/include/python3.7m \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/LICENSE.txt b/.tox/py37-normal/lib/python3.7/LICENSE.txt deleted file mode 120000 index f87c689..0000000 --- a/.tox/py37-normal/lib/python3.7/LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/LICENSE.txt \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/__future__.py b/.tox/py37-normal/lib/python3.7/__future__.py deleted file mode 120000 index c6373af..0000000 --- a/.tox/py37-normal/lib/python3.7/__future__.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/__future__.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/_bootlocale.py b/.tox/py37-normal/lib/python3.7/_bootlocale.py deleted file mode 120000 index 4691028..0000000 --- a/.tox/py37-normal/lib/python3.7/_bootlocale.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/_bootlocale.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/_collections_abc.py b/.tox/py37-normal/lib/python3.7/_collections_abc.py deleted file mode 120000 index b586612..0000000 --- a/.tox/py37-normal/lib/python3.7/_collections_abc.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/_collections_abc.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/_dummy_thread.py b/.tox/py37-normal/lib/python3.7/_dummy_thread.py deleted file mode 120000 index 7e74a76..0000000 --- a/.tox/py37-normal/lib/python3.7/_dummy_thread.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/_dummy_thread.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/_weakrefset.py b/.tox/py37-normal/lib/python3.7/_weakrefset.py deleted file mode 120000 index 9d74648..0000000 --- a/.tox/py37-normal/lib/python3.7/_weakrefset.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/_weakrefset.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/abc.py b/.tox/py37-normal/lib/python3.7/abc.py deleted file mode 120000 index 39ad2e1..0000000 --- a/.tox/py37-normal/lib/python3.7/abc.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/abc.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/base64.py b/.tox/py37-normal/lib/python3.7/base64.py deleted file mode 120000 index fd33e2e..0000000 --- a/.tox/py37-normal/lib/python3.7/base64.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/base64.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/bisect.py b/.tox/py37-normal/lib/python3.7/bisect.py deleted file mode 120000 index 2a95b9b..0000000 --- a/.tox/py37-normal/lib/python3.7/bisect.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/bisect.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/codecs.py b/.tox/py37-normal/lib/python3.7/codecs.py deleted file mode 120000 index 883345b..0000000 --- a/.tox/py37-normal/lib/python3.7/codecs.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/codecs.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/collections b/.tox/py37-normal/lib/python3.7/collections deleted file mode 120000 index a284f60..0000000 --- a/.tox/py37-normal/lib/python3.7/collections +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/collections \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/config-3.7m-x86_64-linux-gnu b/.tox/py37-normal/lib/python3.7/config-3.7m-x86_64-linux-gnu deleted file mode 120000 index 029cfda..0000000 --- a/.tox/py37-normal/lib/python3.7/config-3.7m-x86_64-linux-gnu +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/config-3.7m-x86_64-linux-gnu \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/copy.py b/.tox/py37-normal/lib/python3.7/copy.py deleted file mode 120000 index b94f226..0000000 --- a/.tox/py37-normal/lib/python3.7/copy.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/copy.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/copyreg.py b/.tox/py37-normal/lib/python3.7/copyreg.py deleted file mode 120000 index 87c5514..0000000 --- a/.tox/py37-normal/lib/python3.7/copyreg.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/copyreg.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/distutils/__init__.py b/.tox/py37-normal/lib/python3.7/distutils/__init__.py deleted file mode 100644 index b9b0f24..0000000 --- a/.tox/py37-normal/lib/python3.7/distutils/__init__.py +++ /dev/null @@ -1,134 +0,0 @@ -import os -import sys -import warnings - -# opcode is not a virtualenv module, so we can use it to find the stdlib -# Important! To work on pypy, this must be a module that resides in the -# lib-python/modified-x.y.z directory -import opcode - -dirname = os.path.dirname - -distutils_path = os.path.join(os.path.dirname(opcode.__file__), "distutils") -if os.path.normpath(distutils_path) == os.path.dirname(os.path.normpath(__file__)): - warnings.warn("The virtualenv distutils package at %s appears to be in the same location as the system distutils?") -else: - __path__.insert(0, distutils_path) # noqa: F821 - if sys.version_info < (3, 4): - import imp - - real_distutils = imp.load_module("_virtualenv_distutils", None, distutils_path, ("", "", imp.PKG_DIRECTORY)) - else: - import importlib.machinery - - distutils_path = os.path.join(distutils_path, "__init__.py") - loader = importlib.machinery.SourceFileLoader("_virtualenv_distutils", distutils_path) - if sys.version_info < (3, 5): - import types - - real_distutils = types.ModuleType(loader.name) - else: - import importlib.util - - spec = importlib.util.spec_from_loader(loader.name, loader) - real_distutils = importlib.util.module_from_spec(spec) - loader.exec_module(real_distutils) - - # Copy the relevant attributes - try: - __revision__ = real_distutils.__revision__ - except AttributeError: - pass - __version__ = real_distutils.__version__ - -from distutils import dist, sysconfig # isort:skip - -try: - basestring -except NameError: - basestring = str - -# patch build_ext (distutils doesn't know how to get the libs directory -# path on windows - it hardcodes the paths around the patched sys.prefix) - -if sys.platform == "win32": - from distutils.command.build_ext import build_ext as old_build_ext - - class build_ext(old_build_ext): - def finalize_options(self): - if self.library_dirs is None: - self.library_dirs = [] - elif isinstance(self.library_dirs, basestring): - self.library_dirs = self.library_dirs.split(os.pathsep) - - self.library_dirs.insert(0, os.path.join(sys.real_prefix, "Libs")) - old_build_ext.finalize_options(self) - - from distutils.command import build_ext as build_ext_module - - build_ext_module.build_ext = build_ext - -# distutils.dist patches: - -old_find_config_files = dist.Distribution.find_config_files - - -def find_config_files(self): - found = old_find_config_files(self) - if os.name == "posix": - user_filename = ".pydistutils.cfg" - else: - user_filename = "pydistutils.cfg" - user_filename = os.path.join(sys.prefix, user_filename) - if os.path.isfile(user_filename): - for item in list(found): - if item.endswith("pydistutils.cfg"): - found.remove(item) - found.append(user_filename) - return found - - -dist.Distribution.find_config_files = find_config_files - -# distutils.sysconfig patches: - -old_get_python_inc = sysconfig.get_python_inc - - -def sysconfig_get_python_inc(plat_specific=0, prefix=None): - if prefix is None: - prefix = sys.real_prefix - return old_get_python_inc(plat_specific, prefix) - - -sysconfig_get_python_inc.__doc__ = old_get_python_inc.__doc__ -sysconfig.get_python_inc = sysconfig_get_python_inc - -old_get_python_lib = sysconfig.get_python_lib - - -def sysconfig_get_python_lib(plat_specific=0, standard_lib=0, prefix=None): - if standard_lib and prefix is None: - prefix = sys.real_prefix - return old_get_python_lib(plat_specific, standard_lib, prefix) - - -sysconfig_get_python_lib.__doc__ = old_get_python_lib.__doc__ -sysconfig.get_python_lib = sysconfig_get_python_lib - -old_get_config_vars = sysconfig.get_config_vars - - -def sysconfig_get_config_vars(*args): - real_vars = old_get_config_vars(*args) - if sys.platform == "win32": - lib_dir = os.path.join(sys.real_prefix, "libs") - if isinstance(real_vars, dict) and "LIBDIR" not in real_vars: - real_vars["LIBDIR"] = lib_dir # asked for all - elif isinstance(real_vars, list) and "LIBDIR" in args: - real_vars = real_vars + [lib_dir] # asked for list - return real_vars - - -sysconfig_get_config_vars.__doc__ = old_get_config_vars.__doc__ -sysconfig.get_config_vars = sysconfig_get_config_vars diff --git a/.tox/py37-normal/lib/python3.7/distutils/distutils.cfg b/.tox/py37-normal/lib/python3.7/distutils/distutils.cfg deleted file mode 100644 index 1af230e..0000000 --- a/.tox/py37-normal/lib/python3.7/distutils/distutils.cfg +++ /dev/null @@ -1,6 +0,0 @@ -# This is a config file local to this virtualenv installation -# You may include options that will be used by all distutils commands, -# and by easy_install. For instance: -# -# [easy_install] -# find_links = http://mylocalsite diff --git a/.tox/py37-normal/lib/python3.7/encodings b/.tox/py37-normal/lib/python3.7/encodings deleted file mode 120000 index 091891c..0000000 --- a/.tox/py37-normal/lib/python3.7/encodings +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/encodings \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/enum.py b/.tox/py37-normal/lib/python3.7/enum.py deleted file mode 120000 index a4e19d6..0000000 --- a/.tox/py37-normal/lib/python3.7/enum.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/enum.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/fnmatch.py b/.tox/py37-normal/lib/python3.7/fnmatch.py deleted file mode 120000 index c7a1149..0000000 --- a/.tox/py37-normal/lib/python3.7/fnmatch.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/fnmatch.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/functools.py b/.tox/py37-normal/lib/python3.7/functools.py deleted file mode 120000 index 38d7a40..0000000 --- a/.tox/py37-normal/lib/python3.7/functools.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/functools.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/genericpath.py b/.tox/py37-normal/lib/python3.7/genericpath.py deleted file mode 120000 index 2f10ed9..0000000 --- a/.tox/py37-normal/lib/python3.7/genericpath.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/genericpath.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/hashlib.py b/.tox/py37-normal/lib/python3.7/hashlib.py deleted file mode 120000 index eb444d4..0000000 --- a/.tox/py37-normal/lib/python3.7/hashlib.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/hashlib.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/heapq.py b/.tox/py37-normal/lib/python3.7/heapq.py deleted file mode 120000 index a7c8e7d..0000000 --- a/.tox/py37-normal/lib/python3.7/heapq.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/heapq.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/hmac.py b/.tox/py37-normal/lib/python3.7/hmac.py deleted file mode 120000 index 99394d7..0000000 --- a/.tox/py37-normal/lib/python3.7/hmac.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/hmac.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/imp.py b/.tox/py37-normal/lib/python3.7/imp.py deleted file mode 120000 index 952b679..0000000 --- a/.tox/py37-normal/lib/python3.7/imp.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/imp.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/importlib b/.tox/py37-normal/lib/python3.7/importlib deleted file mode 120000 index f64b7cd..0000000 --- a/.tox/py37-normal/lib/python3.7/importlib +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/importlib \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/io.py b/.tox/py37-normal/lib/python3.7/io.py deleted file mode 120000 index 714d8ee..0000000 --- a/.tox/py37-normal/lib/python3.7/io.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/io.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/keyword.py b/.tox/py37-normal/lib/python3.7/keyword.py deleted file mode 120000 index ef79dd3..0000000 --- a/.tox/py37-normal/lib/python3.7/keyword.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/keyword.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/lib-dynload b/.tox/py37-normal/lib/python3.7/lib-dynload deleted file mode 120000 index 258423c..0000000 --- a/.tox/py37-normal/lib/python3.7/lib-dynload +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/lib-dynload \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/linecache.py b/.tox/py37-normal/lib/python3.7/linecache.py deleted file mode 120000 index 53cb751..0000000 --- a/.tox/py37-normal/lib/python3.7/linecache.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/linecache.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/locale.py b/.tox/py37-normal/lib/python3.7/locale.py deleted file mode 120000 index 61dff33..0000000 --- a/.tox/py37-normal/lib/python3.7/locale.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/locale.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/no-global-site-packages.txt b/.tox/py37-normal/lib/python3.7/no-global-site-packages.txt deleted file mode 100644 index e69de29..0000000 diff --git a/.tox/py37-normal/lib/python3.7/ntpath.py b/.tox/py37-normal/lib/python3.7/ntpath.py deleted file mode 120000 index a481e22..0000000 --- a/.tox/py37-normal/lib/python3.7/ntpath.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/ntpath.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/operator.py b/.tox/py37-normal/lib/python3.7/operator.py deleted file mode 120000 index 7b65a50..0000000 --- a/.tox/py37-normal/lib/python3.7/operator.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/operator.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/orig-prefix.txt b/.tox/py37-normal/lib/python3.7/orig-prefix.txt deleted file mode 100644 index 7baf5dd..0000000 --- a/.tox/py37-normal/lib/python3.7/orig-prefix.txt +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4 \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/os.py b/.tox/py37-normal/lib/python3.7/os.py deleted file mode 120000 index d075c7b..0000000 --- a/.tox/py37-normal/lib/python3.7/os.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/os.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/posixpath.py b/.tox/py37-normal/lib/python3.7/posixpath.py deleted file mode 120000 index 62833e6..0000000 --- a/.tox/py37-normal/lib/python3.7/posixpath.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/posixpath.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/random.py b/.tox/py37-normal/lib/python3.7/random.py deleted file mode 120000 index 7db28da..0000000 --- a/.tox/py37-normal/lib/python3.7/random.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/random.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/re.py b/.tox/py37-normal/lib/python3.7/re.py deleted file mode 120000 index e4a7bc6..0000000 --- a/.tox/py37-normal/lib/python3.7/re.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/re.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/reprlib.py b/.tox/py37-normal/lib/python3.7/reprlib.py deleted file mode 120000 index 847f24f..0000000 --- a/.tox/py37-normal/lib/python3.7/reprlib.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/reprlib.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/rlcompleter.py b/.tox/py37-normal/lib/python3.7/rlcompleter.py deleted file mode 120000 index d9146ea..0000000 --- a/.tox/py37-normal/lib/python3.7/rlcompleter.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/rlcompleter.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/shutil.py b/.tox/py37-normal/lib/python3.7/shutil.py deleted file mode 120000 index 1785aca..0000000 --- a/.tox/py37-normal/lib/python3.7/shutil.py +++ /dev/null @@ -1 +0,0 @@ -/home/amnesia/.pyenv/versions/3.7.4/lib/python3.7/shutil.py \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/AES.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/AES.py deleted file mode 100644 index 14f68d8..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/AES.py +++ /dev/null @@ -1,115 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Cipher/AES.py : AES -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -"""AES symmetric cipher - -AES `(Advanced Encryption Standard)`__ is a symmetric block cipher standardized -by NIST_ . It has a fixed data block size of 16 bytes. -Its keys can be 128, 192, or 256 bits long. - -AES is very fast and secure, and it is the de facto standard for symmetric -encryption. - -As an example, encryption can be done as follows: - - >>> from Crypto.Cipher import AES - >>> from Crypto import Random - >>> - >>> key = b'Sixteen byte key' - >>> iv = Random.new().read(AES.block_size) - >>> cipher = AES.new(key, AES.MODE_CFB, iv) - >>> msg = iv + cipher.encrypt(b'Attack at dawn') - -.. __: http://en.wikipedia.org/wiki/Advanced_Encryption_Standard -.. _NIST: http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf - -:undocumented: __revision__, __package__ -""" - -__revision__ = "$Id$" - -from Crypto.Cipher import blockalgo -from Crypto.Cipher import _AES - -class AESCipher (blockalgo.BlockAlgo): - """AES cipher object""" - - def __init__(self, key, *args, **kwargs): - """Initialize an AES cipher object - - See also `new()` at the module level.""" - blockalgo.BlockAlgo.__init__(self, _AES, key, *args, **kwargs) - -def new(key, *args, **kwargs): - """Create a new AES cipher - - :Parameters: - key : byte string - The secret key to use in the symmetric cipher. - It must be 16 (*AES-128*), 24 (*AES-192*), or 32 (*AES-256*) bytes long. - :Keywords: - mode : a *MODE_** constant - The chaining mode to use for encryption or decryption. - Default is `MODE_ECB`. - IV : byte string - The initialization vector to use for encryption or decryption. - - It is ignored for `MODE_ECB` and `MODE_CTR`. - - For `MODE_OPENPGP`, IV must be `block_size` bytes long for encryption - and `block_size` +2 bytes for decryption (in the latter case, it is - actually the *encrypted* IV which was prefixed to the ciphertext). - It is mandatory. - - For all other modes, it must be `block_size` bytes longs. It is optional and - when not present it will be given a default value of all zeroes. - counter : callable - (*Only* `MODE_CTR`). A stateful function that returns the next - *counter block*, which is a byte string of `block_size` bytes. - For better performance, use `Crypto.Util.Counter`. - segment_size : integer - (*Only* `MODE_CFB`).The number of bits the plaintext and ciphertext - are segmented in. - It must be a multiple of 8. If 0 or not specified, it will be assumed to be 8. - - :Return: an `AESCipher` object - """ - return AESCipher(key, *args, **kwargs) - -#: Electronic Code Book (ECB). See `blockalgo.MODE_ECB`. -MODE_ECB = 1 -#: Cipher-Block Chaining (CBC). See `blockalgo.MODE_CBC`. -MODE_CBC = 2 -#: Cipher FeedBack (CFB). See `blockalgo.MODE_CFB`. -MODE_CFB = 3 -#: This mode should not be used. -MODE_PGP = 4 -#: Output FeedBack (OFB). See `blockalgo.MODE_OFB`. -MODE_OFB = 5 -#: CounTer Mode (CTR). See `blockalgo.MODE_CTR`. -MODE_CTR = 6 -#: OpenPGP Mode. See `blockalgo.MODE_OPENPGP`. -MODE_OPENPGP = 7 -#: Size of a data block (in bytes) -block_size = 16 -#: Size of a key (in bytes) -key_size = ( 16, 24, 32 ) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/ARC2.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/ARC2.py deleted file mode 100644 index b5234e6..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/ARC2.py +++ /dev/null @@ -1,130 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Cipher/ARC2.py : ARC2.py -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -"""RC2 symmetric cipher - -RC2_ (Rivest's Cipher version 2) is a symmetric block cipher designed -by Ron Rivest in 1987. The cipher started as a proprietary design, -that was reverse engineered and anonymously posted on Usenet in 1996. -For this reason, the algorithm was first called *Alleged* RC2 (ARC2), -since the company that owned RC2 (RSA Data Inc.) did not confirm whether -the details leaked into public domain were really correct. - -The company eventually published its full specification in RFC2268_. - -RC2 has a fixed data block size of 8 bytes. Length of its keys can vary from -8 to 128 bits. One particular property of RC2 is that the actual -cryptographic strength of the key (*effective key length*) can be reduced -via a parameter. - -Even though RC2 is not cryptographically broken, it has not been analyzed as -thoroughly as AES, which is also faster than RC2. - -New designs should not use RC2. - -As an example, encryption can be done as follows: - - >>> from Crypto.Cipher import ARC2 - >>> from Crypto import Random - >>> - >>> key = b'Sixteen byte key' - >>> iv = Random.new().read(ARC2.block_size) - >>> cipher = ARC2.new(key, ARC2.MODE_CFB, iv) - >>> msg = iv + cipher.encrypt(b'Attack at dawn') - -.. _RC2: http://en.wikipedia.org/wiki/RC2 -.. _RFC2268: http://tools.ietf.org/html/rfc2268 - -:undocumented: __revision__, __package__ -""" - -__revision__ = "$Id$" - -from Crypto.Cipher import blockalgo -from Crypto.Cipher import _ARC2 - -class RC2Cipher (blockalgo.BlockAlgo): - """RC2 cipher object""" - - def __init__(self, key, *args, **kwargs): - """Initialize an ARC2 cipher object - - See also `new()` at the module level.""" - blockalgo.BlockAlgo.__init__(self, _ARC2, key, *args, **kwargs) - -def new(key, *args, **kwargs): - """Create a new RC2 cipher - - :Parameters: - key : byte string - The secret key to use in the symmetric cipher. - Its length can vary from 1 to 128 bytes. - :Keywords: - mode : a *MODE_** constant - The chaining mode to use for encryption or decryption. - Default is `MODE_ECB`. - IV : byte string - The initialization vector to use for encryption or decryption. - - It is ignored for `MODE_ECB` and `MODE_CTR`. - - For `MODE_OPENPGP`, IV must be `block_size` bytes long for encryption - and `block_size` +2 bytes for decryption (in the latter case, it is - actually the *encrypted* IV which was prefixed to the ciphertext). - It is mandatory. - - For all other modes, it must be `block_size` bytes longs. It is optional and - when not present it will be given a default value of all zeroes. - counter : callable - (*Only* `MODE_CTR`). A stateful function that returns the next - *counter block*, which is a byte string of `block_size` bytes. - For better performance, use `Crypto.Util.Counter`. - segment_size : integer - (*Only* `MODE_CFB`).The number of bits the plaintext and ciphertext - are segmented in. - It must be a multiple of 8. If 0 or not specified, it will be assumed to be 8. - effective_keylen : integer - Maximum cryptographic strength of the key, in bits. - It can vary from 0 to 1024. The default value is 1024. - - :Return: an `RC2Cipher` object - """ - return RC2Cipher(key, *args, **kwargs) - -#: Electronic Code Book (ECB). See `blockalgo.MODE_ECB`. -MODE_ECB = 1 -#: Cipher-Block Chaining (CBC). See `blockalgo.MODE_CBC`. -MODE_CBC = 2 -#: Cipher FeedBack (CFB). See `blockalgo.MODE_CFB`. -MODE_CFB = 3 -#: This mode should not be used. -MODE_PGP = 4 -#: Output FeedBack (OFB). See `blockalgo.MODE_OFB`. -MODE_OFB = 5 -#: CounTer Mode (CTR). See `blockalgo.MODE_CTR`. -MODE_CTR = 6 -#: OpenPGP Mode. See `blockalgo.MODE_OPENPGP`. -MODE_OPENPGP = 7 -#: Size of a data block (in bytes) -block_size = 8 -#: Size of a key (in bytes) -key_size = range(1,16+1) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/ARC4.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/ARC4.py deleted file mode 100644 index d83f75b..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/ARC4.py +++ /dev/null @@ -1,120 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Cipher/ARC4.py : ARC4 -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -"""ARC4 symmetric cipher - -ARC4_ (Alleged RC4) is an implementation of RC4 (Rivest's Cipher version 4), -a symmetric stream cipher designed by Ron Rivest in 1987. - -The cipher started as a proprietary design, that was reverse engineered and -anonymously posted on Usenet in 1994. The company that owns RC4 (RSA Data -Inc.) never confirmed the correctness of the leaked algorithm. - -Unlike RC2, the company has never published the full specification of RC4, -of whom it still holds the trademark. - -ARC4 keys can vary in length from 40 to 2048 bits. - -One problem of ARC4 is that it does not take a nonce or an IV. If it is required -to encrypt multiple messages with the same long-term key, a distinct -independent nonce must be created for each message, and a short-term key must -be derived from the combination of the long-term key and the nonce. -Due to the weak key scheduling algorithm of RC2, the combination must be carried -out with a complex function (e.g. a cryptographic hash) and not by simply -concatenating key and nonce. - -New designs should not use ARC4. A good alternative is AES -(`Crypto.Cipher.AES`) in any of the modes that turn it into a stream cipher (OFB, CFB, or CTR). - -As an example, encryption can be done as follows: - - >>> from Crypto.Cipher import ARC4 - >>> from Crypto.Hash import SHA - >>> from Crypto import Random - >>> - >>> key = b'Very long and confidential key' - >>> nonce = Random.new().read(16) - >>> tempkey = SHA.new(key+nonce).digest() - >>> cipher = ARC4.new(tempkey) - >>> msg = nonce + cipher.encrypt(b'Open the pod bay doors, HAL') - -.. _ARC4: http://en.wikipedia.org/wiki/RC4 - -:undocumented: __revision__, __package__ -""" - -__revision__ = "$Id$" - -from Crypto.Cipher import _ARC4 - -class ARC4Cipher: - """ARC4 cipher object""" - - - def __init__(self, key, *args, **kwargs): - """Initialize an ARC4 cipher object - - See also `new()` at the module level.""" - - self._cipher = _ARC4.new(key, *args, **kwargs) - self.block_size = self._cipher.block_size - self.key_size = self._cipher.key_size - - def encrypt(self, plaintext): - """Encrypt a piece of data. - - :Parameters: - plaintext : byte string - The piece of data to encrypt. It can be of any size. - :Return: the encrypted data (byte string, as long as the - plaintext). - """ - return self._cipher.encrypt(plaintext) - - def decrypt(self, ciphertext): - """Decrypt a piece of data. - - :Parameters: - ciphertext : byte string - The piece of data to decrypt. It can be of any size. - :Return: the decrypted data (byte string, as long as the - ciphertext). - """ - return self._cipher.decrypt(ciphertext) - -def new(key, *args, **kwargs): - """Create a new ARC4 cipher - - :Parameters: - key : byte string - The secret key to use in the symmetric cipher. - It can have any length, with a minimum of 40 bytes. - Its cryptograpic strength is always capped to 2048 bits (256 bytes). - - :Return: an `ARC4Cipher` object - """ - return ARC4Cipher(key, *args, **kwargs) - -#: Size of a data block (in bytes) -block_size = 1 -#: Size of a key (in bytes) -key_size = range(1,256+1) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/Blowfish.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/Blowfish.py deleted file mode 100644 index 8c81d96..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/Blowfish.py +++ /dev/null @@ -1,121 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Cipher/Blowfish.py : Blowfish -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -"""Blowfish symmetric cipher - -Blowfish_ is a symmetric block cipher designed by Bruce Schneier. - -It has a fixed data block size of 8 bytes and its keys can vary in length -from 32 to 448 bits (4 to 56 bytes). - -Blowfish is deemed secure and it is fast. However, its keys should be chosen -to be big enough to withstand a brute force attack (e.g. at least 16 bytes). - -As an example, encryption can be done as follows: - - >>> from Crypto.Cipher import Blowfish - >>> from Crypto import Random - >>> from struct import pack - >>> - >>> bs = Blowfish.block_size - >>> key = b'An arbitrarily long key' - >>> iv = Random.new().read(bs) - >>> cipher = Blowfish.new(key, Blowfish.MODE_CBC, iv) - >>> plaintext = b'docendo discimus ' - >>> plen = bs - divmod(len(plaintext),bs)[1] - >>> padding = [plen]*plen - >>> padding = pack('b'*plen, *padding) - >>> msg = iv + cipher.encrypt(plaintext + padding) - -.. _Blowfish: http://www.schneier.com/blowfish.html - -:undocumented: __revision__, __package__ -""" - -__revision__ = "$Id$" - -from Crypto.Cipher import blockalgo -from Crypto.Cipher import _Blowfish - -class BlowfishCipher (blockalgo.BlockAlgo): - """Blowfish cipher object""" - - def __init__(self, key, *args, **kwargs): - """Initialize a Blowfish cipher object - - See also `new()` at the module level.""" - blockalgo.BlockAlgo.__init__(self, _Blowfish, key, *args, **kwargs) - -def new(key, *args, **kwargs): - """Create a new Blowfish cipher - - :Parameters: - key : byte string - The secret key to use in the symmetric cipher. - Its length can vary from 4 to 56 bytes. - :Keywords: - mode : a *MODE_** constant - The chaining mode to use for encryption or decryption. - Default is `MODE_ECB`. - IV : byte string - The initialization vector to use for encryption or decryption. - - It is ignored for `MODE_ECB` and `MODE_CTR`. - - For `MODE_OPENPGP`, IV must be `block_size` bytes long for encryption - and `block_size` +2 bytes for decryption (in the latter case, it is - actually the *encrypted* IV which was prefixed to the ciphertext). - It is mandatory. - - For all other modes, it must be `block_size` bytes longs. It is optional and - when not present it will be given a default value of all zeroes. - counter : callable - (*Only* `MODE_CTR`). A stateful function that returns the next - *counter block*, which is a byte string of `block_size` bytes. - For better performance, use `Crypto.Util.Counter`. - segment_size : integer - (*Only* `MODE_CFB`).The number of bits the plaintext and ciphertext - are segmented in. - It must be a multiple of 8. If 0 or not specified, it will be assumed to be 8. - - :Return: a `BlowfishCipher` object - """ - return BlowfishCipher(key, *args, **kwargs) - -#: Electronic Code Book (ECB). See `blockalgo.MODE_ECB`. -MODE_ECB = 1 -#: Cipher-Block Chaining (CBC). See `blockalgo.MODE_CBC`. -MODE_CBC = 2 -#: Cipher FeedBack (CFB). See `blockalgo.MODE_CFB`. -MODE_CFB = 3 -#: This mode should not be used. -MODE_PGP = 4 -#: Output FeedBack (OFB). See `blockalgo.MODE_OFB`. -MODE_OFB = 5 -#: CounTer Mode (CTR). See `blockalgo.MODE_CTR`. -MODE_CTR = 6 -#: OpenPGP Mode. See `blockalgo.MODE_OPENPGP`. -MODE_OPENPGP = 7 -#: Size of a data block (in bytes) -block_size = 8 -#: Size of a key (in bytes) -key_size = range(4,56+1) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/CAST.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/CAST.py deleted file mode 100644 index 89543b2..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/CAST.py +++ /dev/null @@ -1,123 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Cipher/CAST.py : CAST -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -"""CAST-128 symmetric cipher - -CAST-128_ (or CAST5) is a symmetric block cipher specified in RFC2144_. - -It has a fixed data block size of 8 bytes. Its key can vary in length -from 40 to 128 bits. - -CAST is deemed to be cryptographically secure, but its usage is not widespread. -Keys of sufficient length should be used to prevent brute force attacks -(128 bits are recommended). - -As an example, encryption can be done as follows: - - >>> from Crypto.Cipher import CAST - >>> from Crypto import Random - >>> - >>> key = b'Sixteen byte key' - >>> iv = Random.new().read(CAST.block_size) - >>> cipher = CAST.new(key, CAST.MODE_OPENPGP, iv) - >>> plaintext = b'sona si latine loqueris ' - >>> msg = cipher.encrypt(plaintext) - >>> - ... - >>> eiv = msg[:CAST.block_size+2] - >>> ciphertext = msg[CAST.block_size+2:] - >>> cipher = CAST.new(key, CAST.MODE_OPENPGP, eiv) - >>> print cipher.decrypt(ciphertext) - -.. _CAST-128: http://en.wikipedia.org/wiki/CAST-128 -.. _RFC2144: http://tools.ietf.org/html/rfc2144 - -:undocumented: __revision__, __package__ -""" - -__revision__ = "$Id$" - -from Crypto.Cipher import blockalgo -from Crypto.Cipher import _CAST - -class CAST128Cipher(blockalgo.BlockAlgo): - """CAST-128 cipher object""" - - def __init__(self, key, *args, **kwargs): - """Initialize a CAST-128 cipher object - - See also `new()` at the module level.""" - blockalgo.BlockAlgo.__init__(self, _CAST, key, *args, **kwargs) - -def new(key, *args, **kwargs): - """Create a new CAST-128 cipher - - :Parameters: - key : byte string - The secret key to use in the symmetric cipher. - Its length may vary from 5 to 16 bytes. - :Keywords: - mode : a *MODE_** constant - The chaining mode to use for encryption or decryption. - Default is `MODE_ECB`. - IV : byte string - The initialization vector to use for encryption or decryption. - - It is ignored for `MODE_ECB` and `MODE_CTR`. - - For `MODE_OPENPGP`, IV must be `block_size` bytes long for encryption - and `block_size` +2 bytes for decryption (in the latter case, it is - actually the *encrypted* IV which was prefixed to the ciphertext). - It is mandatory. - - For all other modes, it must be `block_size` bytes longs. It is optional and - when not present it will be given a default value of all zeroes. - counter : callable - (*Only* `MODE_CTR`). A stateful function that returns the next - *counter block*, which is a byte string of `block_size` bytes. - For better performance, use `Crypto.Util.Counter`. - segment_size : integer - (*Only* `MODE_CFB`).The number of bits the plaintext and ciphertext - are segmented in. - It must be a multiple of 8. If 0 or not specified, it will be assumed to be 8. - - :Return: an `CAST128Cipher` object - """ - return CAST128Cipher(key, *args, **kwargs) - -#: Electronic Code Book (ECB). See `blockalgo.MODE_ECB`. -MODE_ECB = 1 -#: Cipher-Block Chaining (CBC). See `blockalgo.MODE_CBC`. -MODE_CBC = 2 -#: Cipher FeedBack (CFB). See `blockalgo.MODE_CFB`. -MODE_CFB = 3 -#: This mode should not be used. -MODE_PGP = 4 -#: Output FeedBack (OFB). See `blockalgo.MODE_OFB`. -MODE_OFB = 5 -#: CounTer Mode (CTR). See `blockalgo.MODE_CTR`. -MODE_CTR = 6 -#: OpenPGP Mode. See `blockalgo.MODE_OPENPGP`. -MODE_OPENPGP = 7 -#: Size of a data block (in bytes) -block_size = 8 -#: Size of a key (in bytes) -key_size = range(5,16+1) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/DES.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/DES.py deleted file mode 100644 index 2fae42f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/DES.py +++ /dev/null @@ -1,118 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Cipher/DES.py : DES -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -"""DES symmetric cipher - -DES `(Data Encryption Standard)`__ is a symmetric block cipher standardized -by NIST_ . It has a fixed data block size of 8 bytes. -Its keys are 64 bits long, even though 8 bits were used for integrity (now they -are ignored) and do not contribute to securty. - -DES is cryptographically secure, but its key length is too short by nowadays -standards and it could be brute forced with some effort. - -DES should not be used for new designs. Use `AES`. - -As an example, encryption can be done as follows: - - >>> from Crypto.Cipher import DES3 - >>> from Crypto import Random - >>> - >>> key = b'Sixteen byte key' - >>> iv = Random.new().read(DES3.block_size) - >>> cipher = DES3.new(key, DES3.MODE_OFB, iv) - >>> plaintext = b'sona si latine loqueris ' - >>> msg = iv + cipher.encrypt(plaintext) - -.. __: http://en.wikipedia.org/wiki/Data_Encryption_Standard -.. _NIST: http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf - -:undocumented: __revision__, __package__ -""" - -__revision__ = "$Id$" - -from Crypto.Cipher import blockalgo -from Crypto.Cipher import _DES - -class DESCipher(blockalgo.BlockAlgo): - """DES cipher object""" - - def __init__(self, key, *args, **kwargs): - """Initialize a DES cipher object - - See also `new()` at the module level.""" - blockalgo.BlockAlgo.__init__(self, _DES, key, *args, **kwargs) - -def new(key, *args, **kwargs): - """Create a new DES cipher - - :Parameters: - key : byte string - The secret key to use in the symmetric cipher. - It must be 8 byte long. The parity bits will be ignored. - :Keywords: - mode : a *MODE_** constant - The chaining mode to use for encryption or decryption. - Default is `MODE_ECB`. - IV : byte string - The initialization vector to use for encryption or decryption. - - It is ignored for `MODE_ECB` and `MODE_CTR`. - - For `MODE_OPENPGP`, IV must be `block_size` bytes long for encryption - and `block_size` +2 bytes for decryption (in the latter case, it is - actually the *encrypted* IV which was prefixed to the ciphertext). - It is mandatory. - - For all other modes, it must be `block_size` bytes longs. It is optional and - when not present it will be given a default value of all zeroes. - counter : callable - (*Only* `MODE_CTR`). A stateful function that returns the next - *counter block*, which is a byte string of `block_size` bytes. - For better performance, use `Crypto.Util.Counter`. - segment_size : integer - (*Only* `MODE_CFB`).The number of bits the plaintext and ciphertext - are segmented in. - It must be a multiple of 8. If 0 or not specified, it will be assumed to be 8. - - :Return: an `DESCipher` object - """ - return DESCipher(key, *args, **kwargs) - -#: Electronic Code Book (ECB). See `blockalgo.MODE_ECB`. -MODE_ECB = 1 -#: Cipher-Block Chaining (CBC). See `blockalgo.MODE_CBC`. -MODE_CBC = 2 -#: Cipher FeedBack (CFB). See `blockalgo.MODE_CFB`. -MODE_CFB = 3 -#: This mode should not be used. -MODE_PGP = 4 -#: Output FeedBack (OFB). See `blockalgo.MODE_OFB`. -MODE_OFB = 5 -#: CounTer Mode (CTR). See `blockalgo.MODE_CTR`. -MODE_CTR = 6 -#: OpenPGP Mode. See `blockalgo.MODE_OPENPGP`. -MODE_OPENPGP = 7 -#: Size of a data block (in bytes) -block_size = 8 -#: Size of a key (in bytes) -key_size = 8 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/DES3.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/DES3.py deleted file mode 100644 index 7fedac8..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/DES3.py +++ /dev/null @@ -1,133 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Cipher/DES3.py : DES3 -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -"""Triple DES symmetric cipher - -`Triple DES`__ (or TDES or TDEA or 3DES) is a symmetric block cipher standardized by NIST_. -It has a fixed data block size of 8 bytes. Its keys are 128 (*Option 1*) or 192 -bits (*Option 2*) long. -However, 1 out of 8 bits is used for redundancy and do not contribute to -security. The effective key length is respectively 112 or 168 bits. - -TDES consists of the concatenation of 3 simple `DES` ciphers. - -The plaintext is first DES encrypted with *K1*, then decrypted with *K2*, -and finally encrypted again with *K3*. The ciphertext is decrypted in the reverse manner. - -The 192 bit key is a bundle of three 64 bit independent subkeys: *K1*, *K2*, and *K3*. - -The 128 bit key is split into *K1* and *K2*, whereas *K1=K3*. - -It is important that all subkeys are different, otherwise TDES would degrade to -single `DES`. - -TDES is cryptographically secure, even though it is neither as secure nor as fast -as `AES`. - -As an example, encryption can be done as follows: - - >>> from Crypto.Cipher import DES - >>> from Crypto import Random - >>> from Crypto.Util import Counter - >>> - >>> key = b'-8B key-' - >>> nonce = Random.new().read(DES.block_size/2) - >>> ctr = Counter.new(DES.block_size*8/2, prefix=nonce) - >>> cipher = DES.new(key, DES.MODE_CTR, counter=ctr) - >>> plaintext = b'We are no longer the knights who say ni!' - >>> msg = nonce + cipher.encrypt(plaintext) - -.. __: http://en.wikipedia.org/wiki/Triple_DES -.. _NIST: http://csrc.nist.gov/publications/nistpubs/800-67/SP800-67.pdf - -:undocumented: __revision__, __package__ -""" - -__revision__ = "$Id$" - -from Crypto.Cipher import blockalgo -from Crypto.Cipher import _DES3 - -class DES3Cipher(blockalgo.BlockAlgo): - """TDES cipher object""" - - def __init__(self, key, *args, **kwargs): - """Initialize a TDES cipher object - - See also `new()` at the module level.""" - blockalgo.BlockAlgo.__init__(self, _DES3, key, *args, **kwargs) - -def new(key, *args, **kwargs): - """Create a new TDES cipher - - :Parameters: - key : byte string - The secret key to use in the symmetric cipher. - It must be 16 or 24 bytes long. The parity bits will be ignored. - :Keywords: - mode : a *MODE_** constant - The chaining mode to use for encryption or decryption. - Default is `MODE_ECB`. - IV : byte string - The initialization vector to use for encryption or decryption. - - It is ignored for `MODE_ECB` and `MODE_CTR`. - - For `MODE_OPENPGP`, IV must be `block_size` bytes long for encryption - and `block_size` +2 bytes for decryption (in the latter case, it is - actually the *encrypted* IV which was prefixed to the ciphertext). - It is mandatory. - - For all other modes, it must be `block_size` bytes longs. It is optional and - when not present it will be given a default value of all zeroes. - counter : callable - (*Only* `MODE_CTR`). A stateful function that returns the next - *counter block*, which is a byte string of `block_size` bytes. - For better performance, use `Crypto.Util.Counter`. - segment_size : integer - (*Only* `MODE_CFB`).The number of bits the plaintext and ciphertext - are segmented in. - It must be a multiple of 8. If 0 or not specified, it will be assumed to be 8. - - :Attention: it is important that all 8 byte subkeys are different, - otherwise TDES would degrade to single `DES`. - :Return: an `DES3Cipher` object - """ - return DES3Cipher(key, *args, **kwargs) - -#: Electronic Code Book (ECB). See `blockalgo.MODE_ECB`. -MODE_ECB = 1 -#: Cipher-Block Chaining (CBC). See `blockalgo.MODE_CBC`. -MODE_CBC = 2 -#: Cipher FeedBack (CFB). See `blockalgo.MODE_CFB`. -MODE_CFB = 3 -#: This mode should not be used. -MODE_PGP = 4 -#: Output FeedBack (OFB). See `blockalgo.MODE_OFB`. -MODE_OFB = 5 -#: CounTer Mode (CTR). See `blockalgo.MODE_CTR`. -MODE_CTR = 6 -#: OpenPGP Mode. See `blockalgo.MODE_OPENPGP`. -MODE_OPENPGP = 7 -#: Size of a data block (in bytes) -block_size = 8 -#: Size of a key (in bytes) -key_size = ( 16, 24 ) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/PKCS1_OAEP.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/PKCS1_OAEP.py deleted file mode 100644 index 2738ce3..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/PKCS1_OAEP.py +++ /dev/null @@ -1,255 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Cipher/PKCS1_OAEP.py : PKCS#1 OAEP -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""RSA encryption protocol according to PKCS#1 OAEP - -See RFC3447__ or the `original RSA Labs specification`__ . - -This scheme is more properly called ``RSAES-OAEP``. - -As an example, a sender may encrypt a message in this way: - - >>> from Crypto.Cipher import PKCS1_OAEP - >>> from Crypto.PublicKey import RSA - >>> - >>> message = 'To be encrypted' - >>> key = RSA.importKey(open('pubkey.der').read()) - >>> cipher = PKCS1_OAEP.new(key) - >>> ciphertext = cipher.encrypt(message) - -At the receiver side, decryption can be done using the private part of -the RSA key: - - >>> key = RSA.importKey(open('privkey.der').read()) - >>> cipher = PKCS1_OAP.new(key) - >>> message = cipher.decrypt(ciphertext) - -:undocumented: __revision__, __package__ - -.. __: http://www.ietf.org/rfc/rfc3447.txt -.. __: http://www.rsa.com/rsalabs/node.asp?id=2125. -""" - - - -__revision__ = "$Id$" -__all__ = [ 'new', 'PKCS1OAEP_Cipher' ] - -import Crypto.Signature.PKCS1_PSS -import Crypto.Hash.SHA - -from Crypto.Util.py3compat import * -import Crypto.Util.number -from Crypto.Util.number import ceil_div -from Crypto.Util.strxor import strxor - -class PKCS1OAEP_Cipher: - """This cipher can perform PKCS#1 v1.5 OAEP encryption or decryption.""" - - def __init__(self, key, hashAlgo, mgfunc, label): - """Initialize this PKCS#1 OAEP cipher object. - - :Parameters: - key : an RSA key object - If a private half is given, both encryption and decryption are possible. - If a public half is given, only encryption is possible. - hashAlgo : hash object - The hash function to use. This can be a module under `Crypto.Hash` - or an existing hash object created from any of such modules. If not specified, - `Crypto.Hash.SHA` (that is, SHA-1) is used. - mgfunc : callable - A mask generation function that accepts two parameters: a string to - use as seed, and the lenth of the mask to generate, in bytes. - If not specified, the standard MGF1 is used (a safe choice). - label : string - A label to apply to this particular encryption. If not specified, - an empty string is used. Specifying a label does not improve - security. - - :attention: Modify the mask generation function only if you know what you are doing. - Sender and receiver must use the same one. - """ - self._key = key - - if hashAlgo: - self._hashObj = hashAlgo - else: - self._hashObj = Crypto.Hash.SHA - - if mgfunc: - self._mgf = mgfunc - else: - self._mgf = lambda x,y: Crypto.Signature.PKCS1_PSS.MGF1(x,y,self._hashObj) - - self._label = label - - def can_encrypt(self): - """Return True/1 if this cipher object can be used for encryption.""" - return self._key.can_encrypt() - - def can_decrypt(self): - """Return True/1 if this cipher object can be used for decryption.""" - return self._key.can_decrypt() - - def encrypt(self, message): - """Produce the PKCS#1 OAEP encryption of a message. - - This function is named ``RSAES-OAEP-ENCRYPT``, and is specified in - section 7.1.1 of RFC3447. - - :Parameters: - message : string - The message to encrypt, also known as plaintext. It can be of - variable length, but not longer than the RSA modulus (in bytes) - minus 2, minus twice the hash output size. - - :Return: A string, the ciphertext in which the message is encrypted. - It is as long as the RSA modulus (in bytes). - :Raise ValueError: - If the RSA key length is not sufficiently long to deal with the given - message. - """ - # TODO: Verify the key is RSA - - randFunc = self._key._randfunc - - # See 7.1.1 in RFC3447 - modBits = Crypto.Util.number.size(self._key.n) - k = ceil_div(modBits,8) # Convert from bits to bytes - hLen = self._hashObj.digest_size - mLen = len(message) - - # Step 1b - ps_len = k-mLen-2*hLen-2 - if ps_len<0: - raise ValueError("Plaintext is too long.") - # Step 2a - lHash = self._hashObj.new(self._label).digest() - # Step 2b - ps = bchr(0x00)*ps_len - # Step 2c - db = lHash + ps + bchr(0x01) + message - # Step 2d - ros = randFunc(hLen) - # Step 2e - dbMask = self._mgf(ros, k-hLen-1) - # Step 2f - maskedDB = strxor(db, dbMask) - # Step 2g - seedMask = self._mgf(maskedDB, hLen) - # Step 2h - maskedSeed = strxor(ros, seedMask) - # Step 2i - em = bchr(0x00) + maskedSeed + maskedDB - # Step 3a (OS2IP), step 3b (RSAEP), part of step 3c (I2OSP) - m = self._key.encrypt(em, 0)[0] - # Complete step 3c (I2OSP) - c = bchr(0x00)*(k-len(m)) + m - return c - - def decrypt(self, ct): - """Decrypt a PKCS#1 OAEP ciphertext. - - This function is named ``RSAES-OAEP-DECRYPT``, and is specified in - section 7.1.2 of RFC3447. - - :Parameters: - ct : string - The ciphertext that contains the message to recover. - - :Return: A string, the original message. - :Raise ValueError: - If the ciphertext length is incorrect, or if the decryption does not - succeed. - :Raise TypeError: - If the RSA key has no private half. - """ - # TODO: Verify the key is RSA - - # See 7.1.2 in RFC3447 - modBits = Crypto.Util.number.size(self._key.n) - k = ceil_div(modBits,8) # Convert from bits to bytes - hLen = self._hashObj.digest_size - - # Step 1b and 1c - if len(ct) != k or k>> from Crypto.Cipher import PKCS1_v1_5 - >>> from Crypto.PublicKey import RSA - >>> from Crypto.Hash import SHA - >>> - >>> message = 'To be encrypted' - >>> h = SHA.new(message) - >>> - >>> key = RSA.importKey(open('pubkey.der').read()) - >>> cipher = PKCS1_v1_5.new(key) - >>> ciphertext = cipher.encrypt(message+h.digest()) - -At the receiver side, decryption can be done using the private part of -the RSA key: - - >>> From Crypto.Hash import SHA - >>> from Crypto import Random - >>> - >>> key = RSA.importKey(open('privkey.der').read()) - >>> - >>> dsize = SHA.digest_size - >>> sentinel = Random.new().read(15+dsize) # Let's assume that average data length is 15 - >>> - >>> cipher = PKCS1_v1_5.new(key) - >>> message = cipher.decrypt(ciphertext, sentinel) - >>> - >>> digest = SHA.new(message[:-dsize]).digest() - >>> if digest==message[-dsize:]: # Note how we DO NOT look for the sentinel - >>> print "Encryption was correct." - >>> else: - >>> print "Encryption was not correct." - -:undocumented: __revision__, __package__ - -.. __: http://www.ietf.org/rfc/rfc3447.txt -.. __: http://www.rsa.com/rsalabs/node.asp?id=2125. -""" - -__revision__ = "$Id$" -__all__ = [ 'new', 'PKCS115_Cipher' ] - -from Crypto.Util.number import ceil_div -from Crypto.Util.py3compat import * -import Crypto.Util.number - -class PKCS115_Cipher: - """This cipher can perform PKCS#1 v1.5 RSA encryption or decryption.""" - - def __init__(self, key): - """Initialize this PKCS#1 v1.5 cipher object. - - :Parameters: - key : an RSA key object - If a private half is given, both encryption and decryption are possible. - If a public half is given, only encryption is possible. - """ - self._key = key - - def can_encrypt(self): - """Return True if this cipher object can be used for encryption.""" - return self._key.can_encrypt() - - def can_decrypt(self): - """Return True if this cipher object can be used for decryption.""" - return self._key.can_decrypt() - - def encrypt(self, message): - """Produce the PKCS#1 v1.5 encryption of a message. - - This function is named ``RSAES-PKCS1-V1_5-ENCRYPT``, and is specified in - section 7.2.1 of RFC3447. - For a complete example see `Crypto.Cipher.PKCS1_v1_5`. - - :Parameters: - message : byte string - The message to encrypt, also known as plaintext. It can be of - variable length, but not longer than the RSA modulus (in bytes) minus 11. - - :Return: A byte string, the ciphertext in which the message is encrypted. - It is as long as the RSA modulus (in bytes). - :Raise ValueError: - If the RSA key length is not sufficiently long to deal with the given - message. - - """ - # TODO: Verify the key is RSA - - randFunc = self._key._randfunc - - # See 7.2.1 in RFC3447 - modBits = Crypto.Util.number.size(self._key.n) - k = ceil_div(modBits,8) # Convert from bits to bytes - mLen = len(message) - - # Step 1 - if mLen > k-11: - raise ValueError("Plaintext is too long.") - # Step 2a - class nonZeroRandByte: - def __init__(self, rf): self.rf=rf - def __call__(self, c): - while bord(c)==0x00: c=self.rf(1)[0] - return c - ps = tobytes(list(map(nonZeroRandByte(randFunc), randFunc(k-mLen-3)))) - # Step 2b - em = b('\x00\x02') + ps + bchr(0x00) + message - # Step 3a (OS2IP), step 3b (RSAEP), part of step 3c (I2OSP) - m = self._key.encrypt(em, 0)[0] - # Complete step 3c (I2OSP) - c = bchr(0x00)*(k-len(m)) + m - return c - - def decrypt(self, ct, sentinel): - """Decrypt a PKCS#1 v1.5 ciphertext. - - This function is named ``RSAES-PKCS1-V1_5-DECRYPT``, and is specified in - section 7.2.2 of RFC3447. - For a complete example see `Crypto.Cipher.PKCS1_v1_5`. - - :Parameters: - ct : byte string - The ciphertext that contains the message to recover. - sentinel : any type - The object to return to indicate that an error was detected during decryption. - - :Return: A byte string. It is either the original message or the ``sentinel`` (in case of an error). - :Raise ValueError: - If the ciphertext length is incorrect - :Raise TypeError: - If the RSA key has no private half. - - :attention: - You should **never** let the party who submitted the ciphertext know that - this function returned the ``sentinel`` value. - Armed with such knowledge (for a fair amount of carefully crafted but invalid ciphertexts), - an attacker is able to recontruct the plaintext of any other encryption that were carried out - with the same RSA public key (see `Bleichenbacher's`__ attack). - - In general, it should not be possible for the other party to distinguish - whether processing at the server side failed because the value returned - was a ``sentinel`` as opposed to a random, invalid message. - - In fact, the second option is not that unlikely: encryption done according to PKCS#1 v1.5 - embeds no good integrity check. There is roughly one chance - in 2^16 for a random ciphertext to be returned as a valid message - (although random looking). - - It is therefore advisabled to: - - 1. Select as ``sentinel`` a value that resembles a plausable random, invalid message. - 2. Not report back an error as soon as you detect a ``sentinel`` value. - Put differently, you should not explicitly check if the returned value is the ``sentinel`` or not. - 3. Cover all possible errors with a single, generic error indicator. - 4. Embed into the definition of ``message`` (at the protocol level) a digest (e.g. ``SHA-1``). - It is recommended for it to be the rightmost part ``message``. - 5. Where possible, monitor the number of errors due to ciphertexts originating from the same party, - and slow down the rate of the requests from such party (or even blacklist it altogether). - - **If you are designing a new protocol, consider using the more robust PKCS#1 OAEP.** - - .. __: http://www.bell-labs.com/user/bleichen/papers/pkcs.ps - - """ - - # TODO: Verify the key is RSA - - # See 7.2.1 in RFC3447 - modBits = Crypto.Util.number.size(self._key.n) - k = ceil_div(modBits,8) # Convert from bits to bytes - - # Step 1 - if len(ct) != k: - raise ValueError("Ciphertext with incorrect length.") - # Step 2a (O2SIP), 2b (RSADP), and part of 2c (I2OSP) - m = self._key.decrypt(ct) - # Complete step 2c (I2OSP) - em = bchr(0x00)*(k-len(m)) + m - # Step 3 - sep = em.find(bchr(0x00),2) - if not em.startswith(b('\x00\x02')) or sep<10: - return sentinel - # Step 4 - return em[sep+1:] - -def new(key): - """Return a cipher object `PKCS115_Cipher` that can be used to perform PKCS#1 v1.5 encryption or decryption. - - :Parameters: - key : RSA key object - The key to use to encrypt or decrypt the message. This is a `Crypto.PublicKey.RSA` object. - Decryption is only possible if *key* is a private RSA key. - - """ - return PKCS115_Cipher(key) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/XOR.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/XOR.py deleted file mode 100644 index 46b8464..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/XOR.py +++ /dev/null @@ -1,86 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Cipher/XOR.py : XOR -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -"""XOR toy cipher - -XOR is one the simplest stream ciphers. Encryption and decryption are -performed by XOR-ing data with a keystream made by contatenating -the key. - -Do not use it for real applications! - -:undocumented: __revision__, __package__ -""" - -__revision__ = "$Id$" - -from Crypto.Cipher import _XOR - -class XORCipher: - """XOR cipher object""" - - def __init__(self, key, *args, **kwargs): - """Initialize a XOR cipher object - - See also `new()` at the module level.""" - self._cipher = _XOR.new(key, *args, **kwargs) - self.block_size = self._cipher.block_size - self.key_size = self._cipher.key_size - - def encrypt(self, plaintext): - """Encrypt a piece of data. - - :Parameters: - plaintext : byte string - The piece of data to encrypt. It can be of any size. - :Return: the encrypted data (byte string, as long as the - plaintext). - """ - return self._cipher.encrypt(plaintext) - - def decrypt(self, ciphertext): - """Decrypt a piece of data. - - :Parameters: - ciphertext : byte string - The piece of data to decrypt. It can be of any size. - :Return: the decrypted data (byte string, as long as the - ciphertext). - """ - return self._cipher.decrypt(ciphertext) - -def new(key, *args, **kwargs): - """Create a new XOR cipher - - :Parameters: - key : byte string - The secret key to use in the symmetric cipher. - Its length may vary from 1 to 32 bytes. - - :Return: an `XORCipher` object - """ - return XORCipher(key, *args, **kwargs) - -#: Size of a data block (in bytes) -block_size = 1 -#: Size of a key (in bytes) -key_size = range(1,32+1) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_AES.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_AES.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index dbcdb36c165ec824ff7d541cc6dcc42d7ef18a69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44240 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 IY4!d84?6A8SpWb4 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_ARC2.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_ARC2.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index b249a1fd7bc8fe43fbda8d3d3f3cdb567028c750..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27504 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 OPR{YJWE5ed{Qm=B_Dci+ diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_ARC4.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_ARC4.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index e9297fb1e821ff40abef3a9ff916b72b973a7e57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18632 zcmeHPdw3hgwI5kYFiDU_AYe!!OK^e{h_Le_Ax)8N*?YhxTlC z26NyjtH94(-UT3=9lV9I;rD}lHb0dd^0()(k3q_2e|`=-TXWzYIdFiP0zY$c=8%6A z1hXC2)qrR7^UfT0p3PxrO%C~^;DX9#zdlF5Pvo%kTn_nP=8!)Nh` zurq~CW~@*&4v>u3+td;Xd)sthRQGzBx4LeHH=sqereK?{MeA0ShazFE&essqL|gV2 zufN^rZ48Eeq2LuDSktkp;d0Hddsk{3Sxtv4+T^YAMccHxSZhdgg##C89UCLjKpV7G zM5EqSet#?))dI-2`@I+WLNN{SNL043*7VhSG#GATUUbyI-s^8(?``x2Lq_AQ#TN=i z{HU|R7xJ$5ZP4nPqna#dYHfNXN^LbAWgWWK=Bb#ws^K2G=?7b3SRTh_NbLAv@E9D` z=Sn_ya`0#z#TQbia{i-vZk-$i@=drR@nNTMfaHl!xH55DI#1m#*_BV8%(8D>I&&z^kdky$Ri6I#_;4rGCOTvH~$L0M7 ze0o}%u|o#@6a!x96wFaTECyUL;CTkT*nnFNc!>e0XCrK0V!-)xCxTF%PEHv1i$5x= zQ`8WnbAU*V6aNZXxG~aYjZ;)neo`7`Y@Gpz8!KI!4Y)0hGS+Iq3k-O>0hf>FytUJS z%S)f*-3I(Pj)*^f23%g6ykVOGmzO@r`wjRB91(x+HsJD7;|&7_Tuyx)f6#!R#1Zjl z(14$8z@IYU(+v1nbu0p75%|YNK<#=rU+o$H>e-B`n+Ns0)R5Zsc>b<*2dPD`LsM$j z8}PSah7)SYH)DHpI0a?a%gE!9ogCu)9^~_oALRTq$m0;59N_#;Bfb(U@s`35mj>LJYWw-i=!}{@H z;LUl$Kz?etv0#RKM89)+5cF8=?0U6p`EHP6YWz)ovf8u!4(Ky+8AK$}41acycY&Pc zGU}IT^1IO3=qQ-63B6){t~&7O+7ia9nWP-iNB@B_o?w+o?ds6y>w9RJ!UQ_tG!dp;gltA`!bckuqHF*U}!@Yvi1+fP;fJJqh;7FWUc$$9W+mt}|L(}L|g3buQ!b~XNF_sW#Jd#%;p zTW0x@>ytyCrN4_kofrp^gexdEU5)Qmd)5{e2Gj-9`8kQ510#ZR>1D39yVR~TEwPDe zPkFu?e=Sv0Qu@j}LvZnII}^{yqSN4}Dt$%mS(3Q;i&W~J?FlCkSG}vQezh9^T#bJM zGQDsk!Wl0%pK%pWw%QBlDDm>=;+*Ee(Ww3_izaVQ6>P%ghD0aWQ{zv7n+2N^2t0;> zzYa8e^ddO4ebw>DtK%;u&Hx+&K>_JG7ED#dce>+GS8RUosuix@3b6B6Pw(3CmWtjQ z4Ah4ZoCWsk`2P4)Zp+gJ+dl>M&@uo%b$5pr*t^}!?0N15_JZw$1>4)=#;Ut%6I`~ptw`3$OX6=GzMmsk7V*m4MNF$UL# zw~mvQ9xP2IK0(p=u6KqS`yj;6K#1qf7mS773w7Vn2XHN^W7WJJ6hu=>s7eJ$5A#`_T%jo@;< z59SpS?@b^A@ooW<5pOmAnc91Gq55RiA-E!$`sB4AB83u%ne^>La}M=(Pl4;BbZ|$~ z`jL9C8h zUV)a8Clu&otc*oqECOQ@7>mGI1jZt8L=k8^oi)Hmob}!|`~kt+GS;V374={dT z_zYbM!q<`@|JI~(ynWq=c zntev`oVjP7HP3N&N$LCr3l}XuXUWoYmwjvbx6gCB%F5jpl~ro>`4@OrtXx%dVeRU= z`im}JbIEruU3=NTc-Q$F`~j`8sX2K0`cO+a()zE_Ha)gsV|&LH-@WqRuDZJOd)IVr z+Pvl3?)Y^**Y|$^-}`=W!;LrnaO;0;`_av}{P@<}Ztwre9e4ipKkxdlyYKngz5o3` z_uW76zd!%QFCW~zVq&T@9*3H!G|AxeBj_Ghd%x6^Dn+UoU%-_ zF7rSr-~o~;@267DK>PQlQuyxLx<8e=8|bi}z9r`GhDuib`=YdqJ4rnJ(zVdSr z%G&Iew!-rZCT+~`Wapi{Z0>@h znSgSAcwA-q-~;+Zr35N#;Wr5Qe$+3s*{{#Lz*e}$>b5Cel<^-jw~o8qz+x@`6` zTfS@35)i}VxblNk3RehFr#G+6R(QSDWmC3{bJ>c!#$RZwvD!ef7$DFE5zwvRy3c~j z037>~>e@jsANqR(;)On7`4;@917`m?m1;)-oZOPl+;YxR4=NbtJD#ci_tkC-j ztS9qAdsn)pVZuwKgXHHLsgEC;u~2{Tp_2Q*Un;`aPR>&t;T4MW1F{_!$~kY`lOrtt zbN+$jwYANIF~6#gbM^ zdXc1!l5UW6i=Y(~M;Da_OL0EIrIQS8}sn2qhT=82b z^>DqzSZKec5&K8hY2W5(o8v}9M}Tzxo#*)oy863BtIEsIRf_8yVqra|EO9Jwl+0Tk z<6P++!GFDZE9{4$yc?smmF1=9nM~ZuXnx7W$1$3RGV$?@#`8>k0;72#6F-X4e3FUh zGn#iYahPS~_?U@LWJ*?i66?=0{#jx6raZ1pJIAEw?@S!FlPE?+)UB)_Ym$Q%oUECd zO&*+)&jZF*E1SaTIUo~1j%AyNtgsqL`;;@~VY`&mh={tCoxp~(;wQ2`TvRj_YkC$R zX~5fk9Qz0J3CUJVM5>^;H2Pzge;tvfkl^h=(pB8C{p3}$< zE~Z=9=s0f!Je&WwOFJ}9^EFh!?&5Y}yIDC@px|09miypm!FbAXgD$%V0LM7cc+A&E z0ox&Q8pjF$t;A{ETmn3nz3@XjG~Tsy6xK|EV!wkf0W?eeeTmb2<&^jr5~ulQw!|mG zaiAR<_tr^#s>Er2IZNWj5~q1(xx@j^8qZ~1-p+lW8~Eo}6Cp#cti)<)fr?b43&jV{K4@(8(s@|Hb28TGyca<8vXd<&i$Uj}cAC2J9CeA=2xIg;2-h zgdf@_eR^*r>ZAsc!Gbo7MFj>HMAH7#`yEkwogx3p9MO8v$F)G>={=CBQ+8(dU&1T^ z6>KAYdS4{EMmA9Y6hAutu+%S;2I;+$Xt6;bo(4z751+p=CbZs~eyETS7qm_)&2wL= zjT;*MjZKE2NprQ^lEun<&5 z|LM4?Uy9>3po=1;PwNIlX9EbOM3D4f(kJ>nv>5f7Q;JH(p|qx`kRH)j0XFInJB8e^ z)E^+n1k4mkiTnjBXp6+?J+5z|kf44@9{Vzu1Tcu1kCXIIHwsHxgvbukJOoVTLD_$? wbO68SEQKHWL*ozLALP5y#4v7rg7TrMk@^*_3|BI;>hEz1i4RCnQnUWw02^e5_5c6? diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_Blowfish.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_Blowfish.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index 389dbc2ca28e9bce8fea36ed8e68db1d6fb7e83f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35984 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 be#r1*X1cQyxcb( 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 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_DES.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_DES.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index 4311a336f129e0345fa4cc2db45b15661fb0d961..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65072 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

    a*7>ZX<03_WbF>=ww0+>u(Ad83) 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 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_DES3.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_DES3.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index eff42e9ff7b3bd3148fb3f475567472625f9e275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65072 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 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_XOR.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/_XOR.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index 38913d79414c9287c6609598be1cd3f0fcd00308..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18664 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 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/__init__.py deleted file mode 100644 index 7afed2d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/__init__.py +++ /dev/null @@ -1,83 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Symmetric- and asymmetric-key encryption algorithms. - -Encryption algorithms transform plaintext in some way that -is dependent on a key or key pair, producing ciphertext. - -Symmetric algorithms --------------------- - -Encryption can easily be reversed, if (and, hopefully, only if) -one knows the same key. -In other words, sender and receiver share the same key. - -The symmetric encryption modules here all support the interface described in PEP -272, "API for Block Encryption Algorithms". - -If you don't know which algorithm to choose, use AES because it's -standard and has undergone a fair bit of examination. - -======================== ======= ======================== -Module name Type Description -======================== ======= ======================== -`Crypto.Cipher.AES` Block Advanced Encryption Standard -`Crypto.Cipher.ARC2` Block Alleged RC2 -`Crypto.Cipher.ARC4` Stream Alleged RC4 -`Crypto.Cipher.Blowfish` Block Blowfish -`Crypto.Cipher.CAST` Block CAST -`Crypto.Cipher.DES` Block The Data Encryption Standard. - Very commonly used in the past, - but today its 56-bit keys are too small. -`Crypto.Cipher.DES3` Block Triple DES. -`Crypto.Cipher.XOR` Stream The simple XOR cipher. -======================== ======= ======================== - - -Asymmetric algorithms ---------------------- - -For asymmetric algorithms, the key to be used for decryption is totally -different and cannot be derived in a feasible way from the key used -for encryption. Put differently, sender and receiver each own one half -of a key pair. The encryption key is often called ``public`` whereas -the decryption key is called ``private``. - -========================== ======================= -Module name Description -========================== ======================= -`Crypto.Cipher.PKCS1_v1_5` PKCS#1 v1.5 encryption, based on RSA key pairs -`Crypto.Cipher.PKCS1_OAEP` PKCS#1 OAEP encryption, based on RSA key pairs -========================== ======================= - -:undocumented: __revision__, __package__, _AES, _ARC2, _ARC4, _Blowfish - _CAST, _DES, _DES3, _XOR -""" - -__all__ = ['AES', 'ARC2', 'ARC4', - 'Blowfish', 'CAST', 'DES', 'DES3', - 'XOR', - 'PKCS1_v1_5', 'PKCS1_OAEP' - ] - -__revision__ = "$Id$" - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/blockalgo.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/blockalgo.py deleted file mode 100644 index dd183dc..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Cipher/blockalgo.py +++ /dev/null @@ -1,296 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Cipher/blockalgo.py -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -"""Module with definitions common to all block ciphers.""" - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -#: *Electronic Code Book (ECB)*. -#: This is the simplest encryption mode. Each of the plaintext blocks -#: is directly encrypted into a ciphertext block, independently of -#: any other block. This mode exposes frequency of symbols -#: in your plaintext. Other modes (e.g. *CBC*) should be used instead. -#: -#: See `NIST SP800-38A`_ , Section 6.1 . -#: -#: .. _`NIST SP800-38A` : http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf -MODE_ECB = 1 - -#: *Cipher-Block Chaining (CBC)*. Each of the ciphertext blocks depends -#: on the current and all previous plaintext blocks. An Initialization Vector -#: (*IV*) is required. -#: -#: The *IV* is a data block to be transmitted to the receiver. -#: The *IV* can be made public, but it must be authenticated by the receiver and -#: it should be picked randomly. -#: -#: See `NIST SP800-38A`_ , Section 6.2 . -#: -#: .. _`NIST SP800-38A` : http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf -MODE_CBC = 2 - -#: *Cipher FeedBack (CFB)*. This mode is similar to CBC, but it transforms -#: the underlying block cipher into a stream cipher. Plaintext and ciphertext -#: are processed in *segments* of **s** bits. The mode is therefore sometimes -#: labelled **s**-bit CFB. An Initialization Vector (*IV*) is required. -#: -#: When encrypting, each ciphertext segment contributes to the encryption of -#: the next plaintext segment. -#: -#: This *IV* is a data block to be transmitted to the receiver. -#: The *IV* can be made public, but it should be picked randomly. -#: Reusing the same *IV* for encryptions done with the same key lead to -#: catastrophic cryptographic failures. -#: -#: See `NIST SP800-38A`_ , Section 6.3 . -#: -#: .. _`NIST SP800-38A` : http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf -MODE_CFB = 3 - -#: This mode should not be used. -MODE_PGP = 4 - -#: *Output FeedBack (OFB)*. This mode is very similar to CBC, but it -#: transforms the underlying block cipher into a stream cipher. -#: The keystream is the iterated block encryption of an Initialization Vector (*IV*). -#: -#: The *IV* is a data block to be transmitted to the receiver. -#: The *IV* can be made public, but it should be picked randomly. -#: -#: Reusing the same *IV* for encryptions done with the same key lead to -#: catastrophic cryptograhic failures. -#: -#: See `NIST SP800-38A`_ , Section 6.4 . -#: -#: .. _`NIST SP800-38A` : http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf -MODE_OFB = 5 - -#: *CounTeR (CTR)*. This mode is very similar to ECB, in that -#: encryption of one block is done independently of all other blocks. -#: Unlike ECB, the block *position* contributes to the encryption and no -#: information leaks about symbol frequency. -#: -#: Each message block is associated to a *counter* which must be unique -#: across all messages that get encrypted with the same key (not just within -#: the same message). The counter is as big as the block size. -#: -#: Counters can be generated in several ways. The most straightword one is -#: to choose an *initial counter block* (which can be made public, similarly -#: to the *IV* for the other modes) and increment its lowest **m** bits by -#: one (modulo *2^m*) for each block. In most cases, **m** is chosen to be half -#: the block size. -#: -#: Reusing the same *initial counter block* for encryptions done with the same -#: key lead to catastrophic cryptograhic failures. -#: -#: See `NIST SP800-38A`_ , Section 6.5 (for the mode) and Appendix B (for how -#: to manage the *initial counter block*). -#: -#: .. _`NIST SP800-38A` : http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf -MODE_CTR = 6 - -#: OpenPGP. This mode is a variant of CFB, and it is only used in PGP and OpenPGP_ applications. -#: An Initialization Vector (*IV*) is required. -#: -#: Unlike CFB, the IV is not transmitted to the receiver. Instead, the *encrypted* IV is. -#: The IV is a random data block. Two of its bytes are duplicated to act as a checksum -#: for the correctness of the key. The encrypted IV is therefore 2 bytes longer than -#: the clean IV. -#: -#: .. _OpenPGP: http://tools.ietf.org/html/rfc4880 -MODE_OPENPGP = 7 - -def _getParameter(name, index, args, kwargs, default=None): - """Find a parameter in tuple and dictionary arguments a function receives""" - param = kwargs.get(name) - if len(args)>index: - if param: - raise ValueError("Parameter '%s' is specified twice" % name) - param = args[index] - return param or default - -class BlockAlgo: - """Class modelling an abstract block cipher.""" - - def __init__(self, factory, key, *args, **kwargs): - self.mode = _getParameter('mode', 0, args, kwargs, default=MODE_ECB) - self.block_size = factory.block_size - - if self.mode != MODE_OPENPGP: - self._cipher = factory.new(key, *args, **kwargs) - self.IV = self._cipher.IV - else: - # OPENPGP mode. For details, see 13.9 in RCC4880. - # - # A few members are specifically created for this mode: - # - _encrypted_iv, set in this constructor - # - _done_first_block, set to True after the first encryption - # - _done_last_block, set to True after a partial block is processed - - self._done_first_block = False - self._done_last_block = False - self.IV = _getParameter('iv', 1, args, kwargs) - if not self.IV: - raise ValueError("MODE_OPENPGP requires an IV") - - # Instantiate a temporary cipher to process the IV - IV_cipher = factory.new(key, MODE_CFB, - b('\x00')*self.block_size, # IV for CFB - segment_size=self.block_size*8) - - # The cipher will be used for... - if len(self.IV) == self.block_size: - # ... encryption - self._encrypted_IV = IV_cipher.encrypt( - self.IV + self.IV[-2:] + # Plaintext - b('\x00')*(self.block_size-2) # Padding - )[:self.block_size+2] - elif len(self.IV) == self.block_size+2: - # ... decryption - self._encrypted_IV = self.IV - self.IV = IV_cipher.decrypt(self.IV + # Ciphertext - b('\x00')*(self.block_size-2) # Padding - )[:self.block_size+2] - if self.IV[-2:] != self.IV[-4:-2]: - raise ValueError("Failed integrity check for OPENPGP IV") - self.IV = self.IV[:-2] - else: - raise ValueError("Length of IV must be %d or %d bytes for MODE_OPENPGP" - % (self.block_size, self.block_size+2)) - - # Instantiate the cipher for the real PGP data - self._cipher = factory.new(key, MODE_CFB, - self._encrypted_IV[-self.block_size:], - segment_size=self.block_size*8) - - def encrypt(self, plaintext): - """Encrypt data with the key and the parameters set at initialization. - - The cipher object is stateful; encryption of a long block - of data can be broken up in two or more calls to `encrypt()`. - That is, the statement: - - >>> c.encrypt(a) + c.encrypt(b) - - is always equivalent to: - - >>> c.encrypt(a+b) - - That also means that you cannot reuse an object for encrypting - or decrypting other data with the same key. - - This function does not perform any padding. - - - For `MODE_ECB`, `MODE_CBC`, and `MODE_OFB`, *plaintext* length - (in bytes) must be a multiple of *block_size*. - - - For `MODE_CFB`, *plaintext* length (in bytes) must be a multiple - of *segment_size*/8. - - - For `MODE_CTR`, *plaintext* can be of any length. - - - For `MODE_OPENPGP`, *plaintext* must be a multiple of *block_size*, - unless it is the last chunk of the message. - - :Parameters: - plaintext : byte string - The piece of data to encrypt. - :Return: - the encrypted data, as a byte string. It is as long as - *plaintext* with one exception: when encrypting the first message - chunk with `MODE_OPENPGP`, the encypted IV is prepended to the - returned ciphertext. - """ - - if self.mode == MODE_OPENPGP: - padding_length = (self.block_size - len(plaintext) % self.block_size) % self.block_size - if padding_length>0: - # CFB mode requires ciphertext to have length multiple of block size, - # but PGP mode allows the last block to be shorter - if self._done_last_block: - raise ValueError("Only the last chunk is allowed to have length not multiple of %d bytes", - self.block_size) - self._done_last_block = True - padded = plaintext + b('\x00')*padding_length - res = self._cipher.encrypt(padded)[:len(plaintext)] - else: - res = self._cipher.encrypt(plaintext) - if not self._done_first_block: - res = self._encrypted_IV + res - self._done_first_block = True - return res - - return self._cipher.encrypt(plaintext) - - def decrypt(self, ciphertext): - """Decrypt data with the key and the parameters set at initialization. - - The cipher object is stateful; decryption of a long block - of data can be broken up in two or more calls to `decrypt()`. - That is, the statement: - - >>> c.decrypt(a) + c.decrypt(b) - - is always equivalent to: - - >>> c.decrypt(a+b) - - That also means that you cannot reuse an object for encrypting - or decrypting other data with the same key. - - This function does not perform any padding. - - - For `MODE_ECB`, `MODE_CBC`, and `MODE_OFB`, *ciphertext* length - (in bytes) must be a multiple of *block_size*. - - - For `MODE_CFB`, *ciphertext* length (in bytes) must be a multiple - of *segment_size*/8. - - - For `MODE_CTR`, *ciphertext* can be of any length. - - - For `MODE_OPENPGP`, *plaintext* must be a multiple of *block_size*, - unless it is the last chunk of the message. - - :Parameters: - ciphertext : byte string - The piece of data to decrypt. - :Return: the decrypted data (byte string, as long as *ciphertext*). - """ - if self.mode == MODE_OPENPGP: - padding_length = (self.block_size - len(ciphertext) % self.block_size) % self.block_size - if padding_length>0: - # CFB mode requires ciphertext to have length multiple of block size, - # but PGP mode allows the last block to be shorter - if self._done_last_block: - raise ValueError("Only the last chunk is allowed to have length not multiple of %d bytes", - self.block_size) - self._done_last_block = True - padded = ciphertext + b('\x00')*padding_length - res = self._cipher.decrypt(padded)[:len(ciphertext)] - else: - res = self._cipher.decrypt(ciphertext) - return res - - return self._cipher.decrypt(ciphertext) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/HMAC.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/HMAC.py deleted file mode 100644 index 324f534..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/HMAC.py +++ /dev/null @@ -1,212 +0,0 @@ -# HMAC.py - Implements the HMAC algorithm as described by RFC 2104. -# -# =================================================================== -# Portions Copyright (c) 2001, 2002, 2003 Python Software Foundation; -# All Rights Reserved -# -# This file contains code from the Python 2.2 hmac.py module (the -# "Original Code"), with modifications made after it was incorporated -# into PyCrypto (the "Modifications"). -# -# To the best of our knowledge, the Python Software Foundation is the -# copyright holder of the Original Code, and has licensed it under the -# Python 2.2 license. See the file LEGAL/copy/LICENSE.python-2.2 for -# details. -# -# The Modifications to this file are dedicated to the public domain. -# To the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. No rights are -# reserved. -# -# 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. -# =================================================================== - - -"""HMAC (Hash-based Message Authentication Code) algorithm - -HMAC is a MAC defined in RFC2104_ and FIPS-198_ and constructed using -a cryptograpic hash algorithm. -It is usually named *HMAC-X*, where *X* is the hash algorithm; for -instance *HMAC-SHA1* or *HMAC-MD5*. - -The strength of an HMAC depends on: - - - the strength of the hash algorithm - - the length and entropy of the secret key - -An example of possible usage is the following: - - >>> from Crypto.Hash import HMAC - >>> - >>> secret = b'Swordfish' - >>> h = HMAC.new(secret) - >>> h.update(b'Hello') - >>> print h.hexdigest() - -.. _RFC2104: http://www.ietf.org/rfc/rfc2104.txt -.. _FIPS-198: http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf -""" - -# This is just a copy of the Python 2.2 HMAC module, modified to work when -# used on versions of Python before 2.2. - -__revision__ = "$Id$" - -__all__ = ['new', 'digest_size', 'HMAC' ] - -from Crypto.Util.strxor import strxor_c -from Crypto.Util.py3compat import * - -#: The size of the authentication tag produced by the MAC. -#: It matches the digest size on the underlying -#: hashing module used. -digest_size = None - -class HMAC: - """Class that implements HMAC""" - - #: The size of the authentication tag produced by the MAC. - #: It matches the digest size on the underlying - #: hashing module used. - digest_size = None - - def __init__(self, key, msg = None, digestmod = None): - """Create a new HMAC object. - - :Parameters: - key : byte string - secret key for the MAC object. - It must be long enough to match the expected security level of the - MAC. However, there is no benefit in using keys longer than the - `digest_size` of the underlying hash algorithm. - msg : byte string - The very first chunk of the message to authenticate. - It is equivalent to an early call to `update()`. Optional. - :Parameter digestmod: - The hash algorithm the HMAC is based on. - Default is `Crypto.Hash.MD5`. - :Type digestmod: - A hash module or object instantiated from `Crypto.Hash` - """ - if digestmod is None: - from . import MD5 - digestmod = MD5 - - self.digestmod = digestmod - self.outer = digestmod.new() - self.inner = digestmod.new() - try: - self.digest_size = digestmod.digest_size - except AttributeError: - self.digest_size = len(self.outer.digest()) - - try: - # The block size is 128 bytes for SHA384 and SHA512 and 64 bytes - # for the others hash function - blocksize = digestmod.block_size - except AttributeError: - blocksize = 64 - - ipad = 0x36 - opad = 0x5C - - if len(key) > blocksize: - key = digestmod.new(key).digest() - - key = key + bchr(0) * (blocksize - len(key)) - self.outer.update(strxor_c(key, opad)) - self.inner.update(strxor_c(key, ipad)) - if (msg): - self.update(msg) - - def update(self, msg): - """Continue authentication of a message by consuming the next chunk of data. - - Repeated calls are equivalent to a single call with the concatenation - of all the arguments. In other words: - - >>> m.update(a); m.update(b) - - is equivalent to: - - >>> m.update(a+b) - - :Parameters: - msg : byte string - The next chunk of the message being authenticated - """ - - self.inner.update(msg) - - def copy(self): - """Return a copy ("clone") of the MAC object. - - The copy will have the same internal state as the original MAC - object. - This can be used to efficiently compute the MAC of strings that - share a common initial substring. - - :Returns: An `HMAC` object - """ - other = HMAC(b("")) - other.digestmod = self.digestmod - other.inner = self.inner.copy() - other.outer = self.outer.copy() - return other - - def digest(self): - """Return the **binary** (non-printable) MAC of the message that has - been authenticated so far. - - This method does not change the state of the MAC object. - You can continue updating the object after calling this function. - - :Return: A byte string of `digest_size` bytes. It may contain non-ASCII - characters, including null bytes. - """ - h = self.outer.copy() - h.update(self.inner.digest()) - return h.digest() - - def hexdigest(self): - """Return the **printable** MAC of the message that has been - authenticated so far. - - This method does not change the state of the MAC object. - - :Return: A string of 2* `digest_size` bytes. It contains only - hexadecimal ASCII digits. - """ - return "".join(["%02x" % bord(x) - for x in tuple(self.digest())]) - -def new(key, msg = None, digestmod = None): - """Create a new HMAC object. - - :Parameters: - key : byte string - key for the MAC object. - It must be long enough to match the expected security level of the - MAC. However, there is no benefit in using keys longer than the - `digest_size` of the underlying hash algorithm. - msg : byte string - The very first chunk of the message to authenticate. - It is equivalent to an early call to `HMAC.update()`. - Optional. - :Parameter digestmod: - The hash to use to implement the HMAC. Default is `Crypto.Hash.MD5`. - :Type digestmod: - A hash module or instantiated object from `Crypto.Hash` - :Returns: An `HMAC` object - """ - return HMAC(key, msg, digestmod) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD2.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD2.py deleted file mode 100644 index dac959e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD2.py +++ /dev/null @@ -1,91 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""MD2 cryptographic hash algorithm. - -MD2 is specified in RFC1319_ and it produces the 128 bit digest of a message. - - >>> from Crypto.Hash import MD2 - >>> - >>> h = MD2.new() - >>> h.update(b'Hello') - >>> print h.hexdigest() - -MD2 stand for Message Digest version 2, and it was invented by Rivest in 1989. - -This algorithm is both slow and insecure. Do not use it for new designs. - -.. _RFC1319: http://tools.ietf.org/html/rfc1319 -""" - -_revision__ = "$Id$" - -__all__ = ['new', 'digest_size', 'MD2Hash' ] - -from Crypto.Util.py3compat import * -from Crypto.Hash.hashalgo import HashAlgo - -import Crypto.Hash._MD2 as _MD2 -hashFactory = _MD2 - -class MD2Hash(HashAlgo): - """Class that implements an MD2 hash - - :undocumented: block_size - """ - - #: ASN.1 Object identifier (OID):: - #: - #: id-md2 OBJECT IDENTIFIER ::= { - #: iso(1) member-body(2) us(840) rsadsi(113549) - #: digestAlgorithm(2) 2 - #: } - #: - #: This value uniquely identifies the MD2 algorithm. - oid = b('\x06\x08\x2a\x86\x48\x86\xf7\x0d\x02\x02') - - digest_size = 16 - block_size = 16 - - def __init__(self, data=None): - HashAlgo.__init__(self, hashFactory, data) - - def new(self, data=None): - return MD2Hash(data) - -def new(data=None): - """Return a fresh instance of the hash object. - - :Parameters: - data : byte string - The very first chunk of the message to hash. - It is equivalent to an early call to `MD2Hash.update()`. - Optional. - - :Return: An `MD2Hash` object - """ - return MD2Hash().new(data) - -#: The size of the resulting hash in bytes. -digest_size = MD2Hash.digest_size - -#: The internal block size of the hash algorithm in bytes. -block_size = MD2Hash.block_size - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD4.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD4.py deleted file mode 100644 index e28a201..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD4.py +++ /dev/null @@ -1,91 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""MD4 cryptographic hash algorithm. - -MD4 is specified in RFC1320_ and produces the 128 bit digest of a message. - - >>> from Crypto.Hash import MD4 - >>> - >>> h = MD4.new() - >>> h.update(b'Hello') - >>> print h.hexdigest() - -MD4 stand for Message Digest version 4, and it was invented by Rivest in 1990. - -This algorithm is insecure. Do not use it for new designs. - -.. _RFC1320: http://tools.ietf.org/html/rfc1320 -""" - -_revision__ = "$Id$" - -__all__ = ['new', 'digest_size', 'MD4Hash' ] - -from Crypto.Util.py3compat import * -from Crypto.Hash.hashalgo import HashAlgo - -import Crypto.Hash._MD4 as _MD4 -hashFactory = _MD4 - -class MD4Hash(HashAlgo): - """Class that implements an MD4 hash - - :undocumented: block_size - """ - - #: ASN.1 Object identifier (OID):: - #: - #: id-md2 OBJECT IDENTIFIER ::= { - #: iso(1) member-body(2) us(840) rsadsi(113549) - #: digestAlgorithm(2) 4 - #: } - #: - #: This value uniquely identifies the MD4 algorithm. - oid = b('\x06\x08\x2a\x86\x48\x86\xf7\x0d\x02\x04') - - digest_size = 16 - block_size = 64 - - def __init__(self, data=None): - HashAlgo.__init__(self, hashFactory, data) - - def new(self, data=None): - return MD4Hash(data) - -def new(data=None): - """Return a fresh instance of the hash object. - - :Parameters: - data : byte string - The very first chunk of the message to hash. - It is equivalent to an early call to `MD4Hash.update()`. - Optional. - - :Return: A `MD4Hash` object - """ - return MD4Hash().new(data) - -#: The size of the resulting hash in bytes. -digest_size = MD4Hash.digest_size - -#: The internal block size of the hash algorithm in bytes. -block_size = MD4Hash.block_size - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD5.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD5.py deleted file mode 100644 index 18e9e7b..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/MD5.py +++ /dev/null @@ -1,97 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""MD5 cryptographic hash algorithm. - -MD5 is specified in RFC1321_ and produces the 128 bit digest of a message. - - >>> from Crypto.Hash import MD5 - >>> - >>> h = MD5.new() - >>> h.update(b'Hello') - >>> print h.hexdigest() - -MD5 stand for Message Digest version 5, and it was invented by Rivest in 1991. - -This algorithm is insecure. Do not use it for new designs. - -.. _RFC1321: http://tools.ietf.org/html/rfc1321 -""" - -_revision__ = "$Id$" - -__all__ = ['new', 'digest_size', 'MD5Hash' ] - -from Crypto.Util.py3compat import * -from Crypto.Hash.hashalgo import HashAlgo - -try: - # The md5 module is deprecated in Python 2.6, so use hashlib when possible. - import hashlib - hashFactory = hashlib.md5 - -except ImportError: - import md5 - hashFactory = md5 - -class MD5Hash(HashAlgo): - """Class that implements an MD5 hash - - :undocumented: block_size - """ - - #: ASN.1 Object identifier (OID):: - #: - #: id-md5 OBJECT IDENTIFIER ::= { - #: iso(1) member-body(2) us(840) rsadsi(113549) - #: digestAlgorithm(2) 5 - #: } - #: - #: This value uniquely identifies the MD5 algorithm. - oid = b('\x06\x08\x2a\x86\x48\x86\xf7\x0d\x02\x05') - - digest_size = 16 - block_size = 64 - - def __init__(self, data=None): - HashAlgo.__init__(self, hashFactory, data) - - def new(self, data=None): - return MD5Hash(data) - -def new(data=None): - """Return a fresh instance of the hash object. - - :Parameters: - data : byte string - The very first chunk of the message to hash. - It is equivalent to an early call to `MD5Hash.update()`. - Optional. - - :Return: A `MD5Hash` object - """ - return MD5Hash().new(data) - -#: The size of the resulting hash in bytes. -digest_size = MD5Hash.digest_size - -#: The internal block size of the hash algorithm in bytes. -block_size = MD5Hash.block_size - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/RIPEMD.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/RIPEMD.py deleted file mode 100644 index 33099cb..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/RIPEMD.py +++ /dev/null @@ -1,94 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""RIPEMD-160 cryptographic hash algorithm. - -RIPEMD-160_ produces the 160 bit digest of a message. - - >>> from Crypto.Hash import RIPEMD - >>> - >>> h = RIPEMD.new() - >>> h.update(b'Hello') - >>> print h.hexdigest() - -RIPEMD-160 stands for RACE Integrity Primitives Evaluation Message Digest -with a 160 bit digest. It was invented by Dobbertin, Bosselaers, and Preneel. - -This algorithm is considered secure, although it has not been scrutinized as -extensively as SHA-1. Moreover, it provides an informal security level of just -80bits. - -.. _RIPEMD-160: http://homes.esat.kuleuven.be/~bosselae/ripemd160.html -""" - -_revision__ = "$Id$" - -__all__ = ['new', 'digest_size', 'RIPEMD160Hash' ] - -from Crypto.Util.py3compat import * -from Crypto.Hash.hashalgo import HashAlgo - -import Crypto.Hash._RIPEMD160 as _RIPEMD160 -hashFactory = _RIPEMD160 - -class RIPEMD160Hash(HashAlgo): - """Class that implements a RIPMD-160 hash - - :undocumented: block_size - """ - - #: ASN.1 Object identifier (OID):: - #: - #: id-ripemd160 OBJECT IDENTIFIER ::= { - #: iso(1) identified-organization(3) teletrust(36) - #: algorithm(3) hashAlgorithm(2) ripemd160(1) - #: } - #: - #: This value uniquely identifies the RIPMD-160 algorithm. - oid = b("\x06\x05\x2b\x24\x03\x02\x01") - - digest_size = 20 - block_size = 64 - - def __init__(self, data=None): - HashAlgo.__init__(self, hashFactory, data) - - def new(self, data=None): - return RIPEMD160Hash(data) - -def new(data=None): - """Return a fresh instance of the hash object. - - :Parameters: - data : byte string - The very first chunk of the message to hash. - It is equivalent to an early call to `RIPEMD160Hash.update()`. - Optional. - - :Return: A `RIPEMD160Hash` object - """ - return RIPEMD160Hash().new(data) - -#: The size of the resulting hash in bytes. -digest_size = RIPEMD160Hash.digest_size - -#: The internal block size of the hash algorithm in bytes. -block_size = RIPEMD160Hash.block_size - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA.py deleted file mode 100644 index 0bc5917..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA.py +++ /dev/null @@ -1,98 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""SHA-1 cryptographic hash algorithm. - -SHA-1_ produces the 160 bit digest of a message. - - >>> from Crypto.Hash import SHA - >>> - >>> h = SHA.new() - >>> h.update(b'Hello') - >>> print h.hexdigest() - -*SHA* stands for Secure Hash Algorithm. - -This algorithm is not considered secure. Do not use it for new designs. - -.. _SHA-1: http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf -""" - -_revision__ = "$Id$" - -__all__ = ['new', 'digest_size', 'SHA1Hash' ] - -from Crypto.Util.py3compat import * -from Crypto.Hash.hashalgo import HashAlgo - -try: - # The sha module is deprecated in Python 2.6, so use hashlib when possible. - import hashlib - hashFactory = hashlib.sha1 - -except ImportError: - import sha - hashFactory = sha - -class SHA1Hash(HashAlgo): - """Class that implements a SHA-1 hash - - :undocumented: block_size - """ - - #: ASN.1 Object identifier (OID):: - #: - #: id-sha1 OBJECT IDENTIFIER ::= { - #: iso(1) identified-organization(3) oiw(14) secsig(3) - #: algorithms(2) 26 - #: } - #: - #: This value uniquely identifies the SHA-1 algorithm. - oid = b('\x06\x05\x2b\x0e\x03\x02\x1a') - - digest_size = 20 - block_size = 64 - - def __init__(self, data=None): - HashAlgo.__init__(self, hashFactory, data) - - def new(self, data=None): - return SHA1Hash(data) - -def new(data=None): - """Return a fresh instance of the hash object. - - :Parameters: - data : byte string - The very first chunk of the message to hash. - It is equivalent to an early call to `SHA1Hash.update()`. - Optional. - - :Return: A `SHA1Hash` object - """ - return SHA1Hash().new(data) - -#: The size of the resulting hash in bytes. -digest_size = SHA1Hash.digest_size - -#: The internal block size of the hash algorithm in bytes. -block_size = SHA1Hash.block_size - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA224.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA224.py deleted file mode 100644 index 959b56d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA224.py +++ /dev/null @@ -1,95 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""SHA-224 cryptographic hash algorithm. - -SHA-224 belongs to the SHA-2_ family of cryptographic hashes. -It produces the 224 bit digest of a message. - - >>> from Crypto.Hash import SHA224 - >>> - >>> h = SHA224.new() - >>> h.update(b'Hello') - >>> print h.hexdigest() - -*SHA* stands for Secure Hash Algorithm. - -.. _SHA-2: http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf -""" - -_revision__ = "$Id$" - -__all__ = ['new', 'digest_size', 'SHA224Hash' ] - -from Crypto.Util.py3compat import * -from Crypto.Hash.hashalgo import HashAlgo - -try: - import hashlib - hashFactory = hashlib.sha224 - -except ImportError: - from Crypto.Hash import _SHA224 - hashFactory = _SHA224 - -class SHA224Hash(HashAlgo): - """Class that implements a SHA-224 hash - - :undocumented: block_size - """ - - #: ASN.1 Object identifier (OID):: - #: - #: id-sha224 OBJECT IDENTIFIER ::= { - #: joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) - #: nistalgorithm(4) hashalgs(2) 4 - #: } - #: - #: This value uniquely identifies the SHA-224 algorithm. - oid = b('\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x04') - - digest_size = 28 - block_size = 64 - - def __init__(self, data=None): - HashAlgo.__init__(self, hashFactory, data) - - def new(self, data=None): - return SHA224Hash(data) - -def new(data=None): - """Return a fresh instance of the hash object. - - :Parameters: - data : byte string - The very first chunk of the message to hash. - It is equivalent to an early call to `SHA224Hash.update()`. - Optional. - - :Return: A `SHA224Hash` object - """ - return SHA224Hash().new(data) - -#: The size of the resulting hash in bytes. -digest_size = SHA224Hash.digest_size - -#: The internal block size of the hash algorithm in bytes. -block_size = SHA224Hash.block_size - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA256.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA256.py deleted file mode 100644 index b0a99b3..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA256.py +++ /dev/null @@ -1,95 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""SHA-256 cryptographic hash algorithm. - -SHA-256 belongs to the SHA-2_ family of cryptographic hashes. -It produces the 256 bit digest of a message. - - >>> from Crypto.Hash import SHA256 - >>> - >>> h = SHA256.new() - >>> h.update(b'Hello') - >>> print h.hexdigest() - -*SHA* stands for Secure Hash Algorithm. - -.. _SHA-2: http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf -""" - -_revision__ = "$Id$" - -__all__ = ['new', 'digest_size', 'SHA256Hash' ] - -from Crypto.Util.py3compat import * -from Crypto.Hash.hashalgo import HashAlgo - -try: - import hashlib - hashFactory = hashlib.sha256 - -except ImportError: - from Crypto.Hash import _SHA256 - hashFactory = _SHA256 - -class SHA256Hash(HashAlgo): - """Class that implements a SHA-256 hash - - :undocumented: block_size - """ - - #: ASN.1 Object identifier (OID):: - #: - #: id-sha256 OBJECT IDENTIFIER ::= { - #: joint-iso-itu-t(2) country(16) us(840) organization(1) - #: gov(101) csor(3) nistalgorithm(4) hashalgs(2) 1 - #: } - #: - #: This value uniquely identifies the SHA-256 algorithm. - oid = b('\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01') - - digest_size = 32 - block_size = 64 - - def __init__(self, data=None): - HashAlgo.__init__(self, hashFactory, data) - - def new(self, data=None): - return SHA256Hash(data) - -def new(data=None): - """Return a fresh instance of the hash object. - - :Parameters: - data : byte string - The very first chunk of the message to hash. - It is equivalent to an early call to `SHA256Hash.update()`. - Optional. - - :Return: A `SHA256Hash` object - """ - return SHA256Hash().new(data) - -#: The size of the resulting hash in bytes. -digest_size = SHA256Hash.digest_size - -#: The internal block size of the hash algorithm in bytes. -block_size = SHA256Hash.block_size - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA384.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA384.py deleted file mode 100644 index 3490b02..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA384.py +++ /dev/null @@ -1,96 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""SHA-384 cryptographic hash algorithm. - -SHA-384 belongs to the SHA-2_ family of cryptographic hashes. -It produces the 384 bit digest of a message. - - >>> from Crypto.Hash import SHA384 - >>> - >>> h = SHA384.new() - >>> h.update(b'Hello') - >>> print h.hexdigest() - -*SHA* stands for Secure Hash Algorithm. - -.. _SHA-2: http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf -""" - -_revision__ = "$Id$" - -__all__ = ['new', 'digest_size', 'SHA384Hash' ] - -from Crypto.Util.py3compat import * -from Crypto.Hash.hashalgo import HashAlgo - -try: - import hashlib - hashFactory = hashlib.sha384 - -except ImportError: - from Crypto.Hash import _SHA384 - hashFactory = _SHA384 - -class SHA384Hash(HashAlgo): - """Class that implements a SHA-384 hash - - :undocumented: block_size - """ - - #: ASN.1 Object identifier (OID):: - #: - #: id-sha384 OBJECT IDENTIFIER ::= { - #: joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) - #: nistalgorithm(4) hashalgs(2) 2 - #: } - #: - #: This value uniquely identifies the SHA-384 algorithm. - oid = b('\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x02') - - digest_size = 48 - block_size = 128 - - def __init__(self, data=None): - HashAlgo.__init__(self, hashFactory, data) - - def new(self, data=None): - return SHA384Hash(data) - -def new(data=None): - """Return a fresh instance of the hash object. - - :Parameters: - data : byte string - The very first chunk of the message to hash. - It is equivalent to an early call to `SHA384Hash.update()`. - Optional. - - :Return: A `SHA384Hash` object - """ - return SHA384Hash().new(data) - -#: The size of the resulting hash in bytes. -digest_size = SHA384Hash.digest_size - -#: The internal block size of the hash algorithm in bytes. -block_size = SHA384Hash.block_size - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA512.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA512.py deleted file mode 100644 index d57548d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/SHA512.py +++ /dev/null @@ -1,95 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""SHA-512 cryptographic hash algorithm. - -SHA-512 belongs to the SHA-2_ family of cryptographic hashes. -It produces the 512 bit digest of a message. - - >>> from Crypto.Hash import SHA512 - >>> - >>> h = SHA512.new() - >>> h.update(b'Hello') - >>> print h.hexdigest() - -*SHA* stands for Secure Hash Algorithm. - -.. _SHA-2: http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf -""" - -_revision__ = "$Id$" - -__all__ = ['new', 'digest_size', 'SHA512Hash' ] - -from Crypto.Util.py3compat import * -from Crypto.Hash.hashalgo import HashAlgo - -try: - import hashlib - hashFactory = hashlib.sha512 - -except ImportError: - from Crypto.Hash import _SHA512 - hashFactory = _SHA512 - -class SHA512Hash(HashAlgo): - """Class that implements a SHA-512 hash - - :undocumented: block_size - """ - - #: ASN.1 Object identifier (OID):: - #: - #: id-sha512 OBJECT IDENTIFIER ::= { - #: joint-iso-itu-t(2) - #: country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 3 - #: } - #: - #: This value uniquely identifies the SHA-512 algorithm. - oid = b('\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x03') - - digest_size = 64 - block_size = 128 - - def __init__(self, data=None): - HashAlgo.__init__(self, hashFactory, data) - - def new(self, data=None): - return SHA512Hash(data) - -def new(data=None): - """Return a fresh instance of the hash object. - - :Parameters: - data : byte string - The very first chunk of the message to hash. - It is equivalent to an early call to `SHA512Hash.update()`. - Optional. - - :Return: A `SHA512Hash` object - """ - return SHA512Hash().new(data) - -#: The size of the resulting hash in bytes. -digest_size = SHA512Hash.digest_size - -#: The internal block size of the hash algorithm in bytes. -block_size = SHA512Hash.block_size - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_MD2.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_MD2.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index e037bb19aec3e414f566d5f6d9024f04ca2585c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18992 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 Tlq?ZZw7$xac$ozy&DQ@jSbX2y diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_MD4.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_MD4.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index 5befe08507dbf6d323e2c02c291a9e656ac38aad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19096 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 T++q-6Mcx`s;*b#J)TsZz%H1st diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_SHA256.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_SHA256.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index 71e3a7e780cb05c8e634fd5539d0e6783fb3e2e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19032 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 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_SHA384.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/_SHA384.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index 0556c4af11b7342c45d80b33bb55ec3f2968fad5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23128 zcmeHv4R}=5)$U1#KpJ4qpny?PhdO9tAtnMEYQ;X-^{ZBVEVb(8voxK60;2sI5HJEt{A(u$B>V@Y-@66fDX4&%MpzH2>;?%NGwc*zxwkj6K?Hncpu3@uh*d{eANpOX4V5d zoft#j5(8fVy-NnMa~0$V!&gFfFn@j$!#-7PF!`A==52KNdxZZxa4q@SE)7zc|Ns@5|Y#Hc2s(*%L5h2n&tC3=DJ+9KA*=;?0wEkN0IYBPjQ9M+gN&#@pL1ZCX>!KnG zs=bJRkz$>iISp)aLygBVAD%UUDOBCHm8dp64R~(409f7bg6cqyT8(g5lMzRrGvKU5 zRaKu<=`D4o`PHgKc8=qww42hVN7BKink@E$rz`T@(O4;+4>Bh4JmPpSfBuH-8X%r45uQJf1%5-iCTEVqOE@p6 zke|urE2890X3b806yC-CSQmw7b2~3Z;Wbxlb~Z-g>*i~CC<>p=?QD<2OZWq_GaBc1 zx}xxWZYLatmt3or+ZTmP+>TVN<%{^t<8~6G@K)|maumL9o~Cb(!bO}@qHq!C%qU#M zxjqWNnfuckh1>bK)*FSla$KPY94=8W(SDtCHJqNwe2T(=E*(Bn6Jg(B9d6R$y*ivv z*;sC$4o}v}C)+iKrdj-!V1QYN)0{$FDLP!tbto@ghqHMkSIE@iV!lCHSvp)y@d#IR zxQG$qb{&ozI&v-2;Ykrxl1g+qpYpQY3LTDtAad2{aAO3Oq+nV$&W8q;yGn=i zp@iYBI-KTN;##A_FBKr@IvqY%hrgu5#j}&LH|X%obn-*Vp$H5`;QyWoC{2eFmF9#! zw__+=84ASrcPLG7CvJ&Upnv*j$m*Z;1-|8LvXCOag7Uk&`f*L#M?4MX-5reIMLa!H zxh2Q8 z|D1RlqPy*kf0B3_n!B?Y|0Ck*QP!Q#_~pdY5Z!HN{11tzp}E_{cpvdJBzH@UUrIa; z#ofK<0Zb|--b8#CS-%L(TE6{x12NMiSh@DdcA``RO+iNjVWnh%jeA{bK2`@nn!xi}2ny?dc zaZ7}rpxyT)vn)-%W(9dAwOSWi@3bzk7B47L9zK*ZOp=bv>f8!^-Qrf7hfPXh1+1_n zBPSztJQtaZkh!ozX<2J&MXxE7)r5L8`c~@e7CU%k)|r%+rbZ~1$@lI`B%OuzfL~lg zwpyNQMBgft_ir!D#TTiSa5XcK@^_Kd1?jnqD8B<=YA4F*qeK@;*RVqG-I+)wrQ_?_ zmtdDld2}NyvwR1@pRPih#2dNsdN}hzBH8>DC3Jw>$+!@p@?Am$@ZQ9-S@QmUWma;Y z)u2o+KSlynj;34w8SzvfA@Bi!XSV|Y{jKK5e)xUw9x9}Ki^zr5{e5J*gG|F8xx5Fp z>m>Xm!r_!vF5geJ?SvoYJILb$kljs&)DFt+q7?J{AmwgFE}W(q$>sk6+6yQDj?Xbs z{{9b;LSq_A>HdmRu4hNqFak zL2rkg8nDy=R!@?ZlT2Dp9cw|tNs{UZ$gJoj9JSUQEa}LVQ(v((QVT(|2bo@y@b&?} z$3i_#rQk6G6@64_CvqOJnBdS?l+jCi-@rU`(%Z}I(Ooa>K_BKwR5MK4>0ry>C!aop z_o#uF{8($*Kzb;0KeFJdRW9iQzR9vqvsXgF`-TK|lkR@4XyGC@;!y~E?**eF{32}kXV_9Zqdb!j`WM(^=?_zeSSUVXz!;E!tvG@L= zF%#XUtP0SBG7O^HEMD808CpHCV$ED~83xCStKPdMK@duLI3F#a)Km>S>S-bH=SqnW`gYrQEo14H;7Zd8AuPg zf;`H~(&Xvp0%s?a$-)FW3q%nZ>L+VubSWbwE=FM)%Ru zcS-m-VXXM0bYp))8CnIwA_H!mp)a_>ZZZT99EKwVP*yR@`A<{x9AypJ${G?{%&F3D zfUjHDG0=aUB5(p<2nwnNocg2|J=6`*3ziT;NIh-oq7-6z9uf$x+;f8P)fVc3Jf4I<%hU=ca2r~_)WR3LEEIsu6IY)!#1{MyLkD9EV<(?0b`z1b`EUm2e zPg_Eo7)+JIzf$x{{|U4j4TpZ}nbcxbfB$h74JeZwMN01ZoGOEXzvnYbP>>+ZOrU!~ z-Gr!IAXOs#M4x32klhp1$zhV3Me8_-E!-z_ z)IF&19(ar>$m#?O61(M8^iIv$VtVvYI5gL&M&vs+C2Is4`B@87pfNDoNfI@oMyETL z6~QDoS7%f1v$Cm2}pe{dU^4kV5lAO^oF$A5eZzB-0$ibsGR z*<2>?Zb$LTMkH3znt%W~HLF*du~}Z}0$^*o>IKZWZOxl3tKhEEtWEor=2tBAe-2yo z3v6Cj*s`7`leXp+Z0c!iUTs;#vY%#iN(DSEYP?=Tij{8}M4V>6qRhc2U3b537@A*WA?W8moy+r%zgMz0dr zVGC}y#q~jNLSgVPww7sewqSeV#1EDB_N$eQ9bk~UT*=sJ3+}LG?6OVVY|A)X82pI+HwR1Q!@<(K4q+GR^Xs zd=tx6g40;85}X{#O-HVo>snYY83mZGAaFFXcPmr1nSSjh%ENEdB4F_n>pj*b*6&*# zTf%3L>K6<}86hS3jS@Vqv`l{-tETY%$NKw&n=?WycgZU@VT`~6XZv*EPXWggNM7+G zKvW?IRmg&u>K$-bfkSE$JhRgbesPvOW>FRrF1tLY#E!%dO5`yWB}n*dfy!f65dr(u2FA7$0sBmdv1^EceZGUS>xd}L&0R!-tB5S# z(y9c{DlN;Bm2LTb03>DGqcp3hD~Of#-}+MfT2_U@WrW(h4ab%BO7O$(zTWmwU^PdTnT=n1dl9U(mkAF%GPxV;|voya4_zaztXs?F zT9VO(+c0s0rW8Je0$4MRge4`oMQO2FMo}9dQCcu2!M$H&?Hv9w#Hca%KnM45Xj_h* z)a5Zbi*TbSJc9Ky(lnSP{76fiDgBt1PN(#fS~@FyIWKbMDp*jOFzJ@$6^|huR*_?C zaha6nN{gu=_)c@KWfWG?MNQ#2TT37zu4j0wZN|w!j^fI(D^2gjwbh%I;|ECKIH=Izk*ow(X0-0Eng zgZ=jOjQvV;z>6TYj>h5(VG>J8}|J49yS&f`pY%wdYQ(zvYDuF)Us?ndW z1EnPlZr(>bH0;?840Btk^cO>5Pz5=)(qgBj6HGr~fyot?M&!^FfK1VoXC0&3>O@Y} zW=u+Og@w$9-$vyWSFt6lB|C0w?$||*LCl4l`fB9I_945eZ`m@765RRLLtvCO8K+Wr zC@l{d7AZ}euMz|r}NO|bjKSP)^LSp~J)zK7U7Gb2OwwDBJNDytUKw6QvlMi&$ z5oG5)^U2N(DJ`3{DIL3if}4Zw?Pm?AcPg%3O`ncXn#b;L|J0y-@YSlZBk*{OQ=0nH zYxlLK!(P}7$CT!^tSQj26IjF6CS%N_7F>)ik}OGHc{j%6?kaqRCCFRv%m}etDdRA1 zYd-M(1lv#H<;bO5;&Z#w=EXVLryA+PM^L(ew3LWv%-0{#i294EJ$Q%2egW-G4tvLm%`rLR$PH zyGbHev~@S=5Tp$+7;VCtFqyH7V!48v$qQCD3T)-0zydZ3RALlJ#Pi%X}{f(gncmaR-=Y3VA#R%_ko4akUMw~T&e^+ zDX1hPVLT!ZhD#wE9tXn|)ni~NAdg1N@u`ZJtadbtyJ;5RhFCMYp4mRX^PWdktTkZS&bj7y40Em zslrpQS(0jN-1t$ZFd0I2^@W ztbL{K{pUtmYU96impZw7O4Ap=u6}t%VD|2BtbaW4n+^B8Q8cD$->NhBtv^`y_567= z*O+d4eM;5VjF)bo_|2N_*Bdr`VLZ~dZP{Ia+Wh!Sw;dnZwRO^qNl)cJ@!}qJxuI*G zYsc`KYGYD)YU)#Sp1zyI+sE*+g&^oi@Y z&BgvC&r7e>eeVxROYi&ZtB3Q`-rfB0t<#r}T{+qJq}y=R_FVW+zluxG-gHOV6)!#U z)4qORT)*>Yw#IcFp~t%%^W`+Az&^_q*@>e$<2+@BPU7`RtcF z=lDN&)y>_pcJcEYU)y_JO{+Nf+L0w+FMm8xa^qz=s_WnCed~Ll8(Y79#i1GQD-z?k ztxmbxb?w>yw$|=HF8`#b(*DA@hOMuie*R3`cZz(UAFIE2>sse^U;W3->vxRU9GbXo z<0Ct-?&t%BvJo%P-neXND-r>Jqv;9}^Jm^Y#b@Z9GVQX$5b7lU7 zOQ(;#_sSIy4!ibb-TsuPEZef~U%%s~O>OUvOKSV&_iUq0Yu_%vD(B7YneVmje#dsh zL!NVMQ4&=sH|&^4gx*h4u0 zYQnbGFlu0fO~)4L>!5Ur-|WTxaK02*Z;HEe)QH4Z=vt6B0iR6xLS;xs zQ=Tz-wmh;fu~EAHid%1(YWX%$rjKQ~RPu3uee6}(9 zF+;Y|+%hcNn6f&-YD|A*xYd~1G$P;Fm1sy9m1N8WW;Lcj2C~q}HYQrJl9!V4c?F-o z?*9IRppw;SYKo8l*oZ<+U}@uK6Be+Ul!uEJy$A3K17knkh5RG&xyIxsL%z{GFUgpk zZ!}qriFb@#XiUyyNoL1{x{gJh#cvj~V1wQPq1dYw2l(_@e1S2!h3c_-7<_#sA=jAR zG(6X6H{21I#N4+IaGzpH{}8aDeY(g7^F80VA>ObV3gpHts-uDr#eNvt?>y34S@2n3 zRt}XF|9+A&C0AES-pD%!0@QZY2R6diWU|G|T#{r=oINrJLCXSk4*A=W-$VJVUWmEA zEVM<_@Oegi{M&<7OEN<(3;ig7{W10)gw`ew6rzmG!#8U=GCp(-MPMibLlGE?z)%E+ zBJlrG1jKu2;=MCWDcD8tw$VjXKX%b14HwOC={h$_qv9PC@qXKt8XS4==nBq@_uOb+ zLzkFqo;=^L5?{jSv-E>-x=cJF-sM@v^YKp%cAe$^(Y%W;nqSg|f1+rYT_apgV)HgY zV!kZi1rqPD)NsQBui**dr!Xwu2@>Vur`^o|EH01#|1n;~5mR`^C-M9%oR)EVAE%FS`V&rn&FPz*Zsl|@r+?-26sN=a%S_`ry^hnHInCqr zPEN}>75;|oA~iV04n@jh+SI5nUy}M=^L$UB)>mzInt_YG2y+FtG>~sr*&DcNX0x^0 ztkwj)Dqi0;Yr1Bque`R(Qynl@IUCHS9&?RPz0Zr+S8p|Y%fNX2$eU~qRCxVDqt07d zNs`XmfLev^6qmEIvVoQ5absg7phDUsc1WOvT@$lf#z5`})kxb;NzuGO1s1UF6|JCw zeqT=|laV^S2F%O|AGt^PFXP2mWaB2~LUhP4Z8yh^w}NX?1wSIj0|6JI<8*sm-YSF# za^8S{P}8h1&Cb7Iyc91@`x?yHL~@c<+FjCVJIw@$I1LQIpiYSU@8X&dM8x~E0>%By zt`fHB6zIQB#rvNov!*Nj>G~)AR+J>(uNCjp3Vrb&t$1&?gchf`M1IM9jn7ZlsCfTX z)v^7Y9=|N^kj-2rQ;+IN; zJ?9OW1&Q~-2g+mDY>@HEAdQy>d)^wP%cR}~dJ9_G5Sfi#$fNOKm~^!N0-~j8ei=VV zJP|R5Z-|QXM2?I3s%Ax!Zb2eW=Z_eF@)&+`e5$w|G5-~I8kqdWab5#_F#n(9cCzp* zMY`BtDd?;C#7Rb}k&nZTd?LC5IMr8->ufI+*uOLR@lr`K61Zp|k*;=pNM4MOVt@3{ z92eu7cwEu1>_}cbci5gMu+KQ&I1ve4UEKcHNRzyHPOyDTVCMwRpD%0=64(gnk-T_r zu)Rm%mjI7LKk4Gnp9)}fP2jkAo@Oyrl5P<4yubaC<1;ue#?=tVX9=9!pThA4!am1m za=e`5;(4cV`~hKSo(2?h9Pps+`xuiqNhvpTK^+;aKdgm(JXT3!eI&$x#mkMpkABPW zi|sgC;Gnokl`2KzlVXxAlWVS-U#4E&K8cAk!bKNkc4T@1VpxOspl8uRBE@?XZlPsG3zu<#r#KG(&-r^mqa zV&KKV2RqNm5ktNz2EHr?-pcJqpNsS?@WJBt?=kG`0siel;w-s*0e_$tzc_bE7mihO z1gab^I#|h%vy$AZqr6fr#d$<-oIT`sIBV;%45-2}Ndb>L?UorgPaRx{&Rg<2oIank z!GYD7uR$vFIjcMlcWqTw15|XJgZ?o+KvX+u2u}GcoDM1tOFF-Fhh(+ogT;TikqF=n zA_llUSj(v{mM-^T(G~EijG_OB)1t(|{~1o&krkGv%KqQZlKemA+CRqKo-ziO)mFP` z<>?ppC>|~xL`9~mJb?<;t!0r@`aG>fJrXHc4{C)9#No)BZ!MhVm^CMt&bp!iQf&RI zqrzG3rgN!s@0w#REXVI$i6c1FOVASTRoSy67~lsN=#0o@}K%*DLxQv5SxO(vI%Z zoyk?8KWK}!$)HD?T{vxQki)wM9CtP_)KZ$ip(@}k1r7K#S|L)^YQU3LUR|43TI;QJ zPw~1X#?c)lrMVlbp{Y@vcE)n<^Z5L@IR-EeiqH`Bd6okkULAd{C%x!-(KCRc&<8G(;LDIIFxa6t4!zGMr;}N-o-f{J}xh_H)n=r5Y5VFM=OzgQ0nDyCt=e^HL0v>c&5 zS;32SqoC=$uxS5<4{jtVPw0#FrJ!OTSd=f~C+c6#^|QG_u?`iqi&vQRFMWzzF7YXD(Wjt2wu=fqx8i( zS<_1LEguUM*VZ=wcDgLh#Ij2#W{cnuI7v$WvMR zD-4D(-rXWuLjT$bq9ugBoh8cNJW^_hJTxA?}c@8q2pnR!s0sF^ z?Cx*(x4XIdb)P!_I_K1>Q+4ZBRr=P_99wQ|OpGKhgET`Tu5pZpWbllIg**Y0Ax)Eh zfbR*?6-+kneAWdi`)CakR5EEil@U)#&PUStahjZ-LwcHjD7jf`BXAMZsT) zVt;KE`T8jGWl`imj3QqbMgC+I{H`c=CPUtgPvmuP6!}~T{xDJ){1cGBSQ;%gPSP?T z;xY$73GcmH11{ybV%(?D!xGL^*lsP?>lD)y|EqBt$fm&KyiE6`BzngM7U@a}pul8rD)d+Vr8FAz~ z{mx2MRrN}ho)TB8Pffj5%CqHXW;t$3y(x8SIDLy~f6!Pqs_B3slLm}w^cO4b)Ah;P z%RN7!QSobzjrDjgB8$D?=?Xu0G*(LEgN#W$k2v1TpT9x728icMnCH)9fnT4d$(bYY zV$KUH8~)rh^r4rlX7t}so9Yx4~)BSVLa zDIVo0I$XqvaJvr24IRD~>hQ!cDoMpUoKJaKZiNoVKoGuabht5$N>aTJmvwlf4(CGy z%Uz+v`B1{}HXTm$EOD*U;g<*ybd3%ltHWQ`;o)Z_^4IC`%XIR?$>9hLN8taS2q;a5 z5|ozs-7_&1E)V)+2RfCe_YyXRD=;wiOJog9`WoNz)fq?;UqSiZT?4o#?IWIs^6pN? z?ls8UG;hG&Fac81E&XhU9LE z@k@xOp}4#E9DqqB#G8okV*HPZry;q!lkxM2r=hqz$oN^r(@@*Jj`7Q|lTg+Mo?S}o zot|vOzBRst$n<{yrD%>BkfG-I!9bUMbt4IG;uP}Jnf%n7h@_lT+Rqu3K(EpsnyJKW zR(728kA;Ctxq*a%t}^**NDBSNJ5Oi9T~btan@ITZ`rwDvupXj+3N5S)EgXuiHwMmbgjD ztbk@q5^~amec8xdh|C2QO6zJ%8+uKdtj5=y(YI3GwAjHTv(BWnHZ?-AOum0-0_iNM z2mI11veo)bBl=dEynkz1Hoi!$n5&tAly5^;7o_Jbr2I~Nse4gIKP9?Ix`q{c|BeJI zDGguGzYM!n$`k8ZndRF7{$d5vB;Lr4*Tb2Q6UgQlD4`SF4#oummG2Z9fcGSn<;eT@ zm08JoR)aFR{1^#PIhtb}#%W-%cJMfb1?Zq;^tn7p0ir2PtwLF^Fa!Vl)4Tz-V9 zL+TsyhZ>0rK8;TYKF2AFpQ0pqrFK9^-HERX3Owo#tq)-v)SM=lPL zB)oINpr=z#@mp#Dt0&0H2_`M4jI|))BuVvSWLE4Y9JSUQEbh#fQ(m<+QVT(|2bms{ z@bm+}*Frr_rQk6G75!A`UgSJ%F~Om4DWjM4zK40{q^FnJqq|<%gFeiWsAib7)4-O0 zNIrcD?@P=wu~~}Ib+$3743d(Upc^iMpzl;NIYE+f7C7MRP2(B8)4=uwDL0$78^kH! z45Wu#K^|pgX!3M(fwPmzBw+%b1)>NH^%G&M7`Z6jcZzyBGulJ7R^JESEfmfHDS>|_ z6dGSIIl1I0B~QXX-wEdQL9%>?z&`3%OLhqHW7Ej|G(@WB7_xi5r0=wi3GHoK=<0cZMdk+4?ha@V6VubSWbwE=F zM)%Q@Z6w@B7%ToL-PoT~hE_qa$bcKC=?iYKn+(ANhv5hTlvRv!zEjjZM_EI*v4(^e zbE>2p;G32;4D|I;1dihiK|!^EQ=inLhq?iJ(GnyGsb?)+ltL`eK?0$bdyW&n(n39u z$5drw*!e#8s&>o5Au}tV6+*WebwpZk!wLo)-*F1CdI%h9;5(K~+&*x-U>A+efe zYbe~^%rkbMX`w!mB9tdTyNrH7tBXKAop$HJlVQIoZ^-17-?|BBBB zOB<{GvzDMH22&;QuLQl)cO0!o!=aCQCbbyV-`B^Y0cDb-NXb24QDrdj_k2kS3KE2w z33M;0n~?P}Wr-M4XQD7L6UGVE^;o(!cvE~w!)>SLA`0>yqYj1eq1x1v zD9%SQXFaIoC@W6u!Q>W%NSyUxc+aXJGbvUo+L8JYq>6=~=(EfLvU{95IZRTsXdMT! zh5KZVx(5~B1CJ2}S)E`(VwaqP-l;iTM2{W{hvpj9hc7PFZQ`MW%c;%~R|vl%^mw)$RCDI8i|#9`&;C zDB7{-10;6EXj#6#nc#Mg1dJ-HT^Mdz_9bBUf`J9!$9ID1MBS=3PX<5j!pJj7O1w1WmdM-tM3j*8o1BVI%?MmQ8ejsQI zoKynGFz?O}oXl_9l%TY4y;y1AZp@$fokDDS2b+@zFQZgTR)4-Bt6zy>;HggA#4cNU zuM*Q~3v}3G`k^n$<1KzqT&Pn7odtCaNZV2~QGr0=i=w%gKo+9r0`($5qG z{-(qrZwK@Xrhg_cFF}QsK%Avdel*TvV+r*(c^sujqnGU3j9Ar~kk!82CUW3lXd=Mn!P-3} z`R5Fj0l{}+y6pUNt*lKk)Y+9lo!u9&H03EV>(RfZO*#qd-DrTkTO^4s>d@H>;fYzd zmdmyzp$WHO;si}8bO;5oW*P-cN??=HYO{={Ha?=XVoZX2zr)%&^e+&j#@r1Z+{3{w zS$0yF$7C(UjUN9v*2_rKU=sgREp4XslUh2B(obvYjL>*qMKA{|nZ zV{3Jpl$J`1DL?RjOSWY+R?&q`p%`1MKR%{sM4N5;34fO2%Caj>@5i*-V*-VC`R#&% z6*fb~V`my+r1mpg;BTQxh~-B5CpR(uM+OGC!%(knr+pAx;7CXU-jl@Jq3MR0+C<#y zXrzM!_O$fdls92w?>+s}Ab&aqw1*5D= zKbf*!X?@tRP-*Ij34MAP;f8c0<)L5y5@Ajciv15)XH$?_gpr!sUJ|S!LA133X+_>j zKG01^ke&0)Cp$Bwv~JL*bnN~KbOhSl&lpbaP+U8kz8I;rjNR4#g+clF+ZAI+;_()v zH1%iH?%S9Fdm%F%Q(9KDra;3^U=3TFgfWj=a1pjhG9-EVk1-y1SK%upLEd_IdXU{p z>4$M!^MUW@*nSEvLoVGCe;`*|A2NlG{vGB6TW}MF#!*RugZY8?LTi!CYn^OKAINv% z$+J21t3zDu{m@g$%US;Qqx0}M$_ad%zOAfHetTT-+qmr3%ms~S5?dck%f=(d)h=g# z(%KM{xnit@{H8Bu%pTXR=P;Ub~*%z?Xi9eKXv` zL_#-_Pw3@J;C=s?MM@yV$9Pmbn}RKRzCNq0O+Vg0Pi9)+KJH1Gs=TQC?`LV~gMNBY zi(hy*NyLh_?uHzKwBZG#O=ucSrthR!Hd8Zs!0JYU&3qJ?&qjeti~p2UrYXE)r~*R{K$Re znxAFgcK?mH7aaP__rbR|><>Kl+x>5KPkT%0Thwv)^zohXZyz0V^q%MDjDP*bWiy{n zdaP>S?w?Fpn;C0(Vbv=m_ij{ca$*)WUA*#*uV-&uo^JW_&4JyU9vMAf4Lo$rzj&kf z4?iDw`?)`S-Z=H*Et6gvap1XUul4-JfAqQbowJVqTf67EufLi!XWHX=8;`uTdu7Y! ze{GlDt6#1A@Yka)wXrwcqfYLg()9K3s$XgL&)W69_1y!%Uw7|Yg=3obtvLO_+Jj}^ z&6_)8mFcE8r&MiDe|hG_?^kWT&am!lvL z__^!#mLgxG`{g(4?)X#Uk_Wzd?QmY|wvNYcpSo=9^2y$(OASYDzYhKRH!*3M8}2H* z{NFyzTuzj-D|6gP&Tz zn)S-w*}kt_b#u0_Ui8BHH}>?YsTF76II{S=Wl#BwZ@er^b^W&9ySDe&W9zpzADUiz zc|z=#mC0ARt~oQXv90^vWuNy{+F!i1Ve=cOUO2t+hC=UG$LjCjyxMu~xBoHYy6q!7 zf)lr_e|*PPJzXE|d1T+W^*gG+TRP{F6Yr>(d0#2-9r3$WTYvNZBd)~PE;_w2Zq>{& zSL98&Wa_BLfw!*-Er^?T)4X1$#`V}DrUNZip zu0=6d7;g8Yb62DBM82)YV1 z4SOgDKuy@zio-^=37b-O&s(oUJP)chp^j0ctzy1M6XHGTCBfE>1Ki%o>%2pk)9$i~Oy~@1cBF zFT`A57TTg|#9X62_PwF1C7Gd?fqvx2{up~dLTeKT3QIhhKuI6be)}~QF@=3F7bZb6&f3U??}9Z zBHnYOc@14+u6g3zfJ%HZpU=_{!s#;cgm{-{1<%JnG1zs6`$zLGx@dk$7ygN&U3QId zHHppJ0Ezjsco#^#!&1Wy3%rIWgrCB&cqd4dho5#c|1-Ee{{P2#5l2kn8K21WPjgwcT&gsuN{T-)obGn(+J)C~S=}AsU@Rym!ae6JM zw{n`x>D`=`aVq=`+C^$;iXDpNMYO3=UA{QwN9K8Mf33IL>@))xdlBXeY-u3htg<(7 zQ_W^;wOOt4dsMu>Yu0qlPH%Z_mAl$+u5vb*OWfufulj%oudm*2_LPBf`;a%;?62_n zghrjGvXUg7wSKh<+bJ$*Wn}{^%Uz0%5x)v)x7ZwY)Uq!xn?^V3#D&A`q`Qm-n|5^WqJd ze*zKj)&3JI|3^ggva)_;PM%*@R*OX4{>7#|^t=j&j6q$HlxgYg7OJkJN?czW~a&tN=JG7pK5 zl4>HJJEUizb0vnvFAC3#2HQ7k8(Mmh*^$HNz38(HaB}O-dPGYbq%q-nmOj^j6D`F2 zYA}9@G}Lq6fLV}u4}7pZcFl$upA6DCX{hI|LAp%pov*i`r48ZP*!esf58|Yw1LqMf zMf1zpA>xUMF??M_oF{Tz%vUull5`sqF*<+5_>;@<3*%G8?TGoWu+zZgFO2gl;6wTU zYi=h4zfz=&?UjPQhEI%Slp6Us+{h=Q>wr^z#kkJ)LV^7|lOHD)7a@U*_7Ul7$A{#_ z_$c;AKjOF;*TmzBeq~4U;<>~2Jb``5@y3Zr;OgS`zeAej#dCt~TLL>PaQ=K@dyv3J zLXYIdbA#2n|4EjkIfBsYeqiX`k#q%_Sp^|jHkmvpFU5-!ZxENQ19M2Irw?BpB z^M!qm&)|4D$Hntb;rPSC&Rh*B;5gtR+xJN(Z<3O4<$^jgRDW0v`BHM)u4u6%yMF%VSa8^>O>L{;NOK=`hDb619Ih?iiSO!$#m?XcuH1)RWx86Lo5S_Q= zaX7tRXM+Q)F>ixZ=5a>c(15b+L508;dT#S7i+SKb#gN4*t(@(hje%G*$Nhc9!J-DcAlnUg|Dm zU|DUoi&maKVUObB!a-DIs>u(w z1(0IvQymq~>QXwFD*K+<)`I*jpg85tk)v=0C3_wqoQ5S-^K5f6tv1J;+}y&PB1e%m z)0P8+6y~VMGyS8ZwfKQlgO8sQr%Tc4QH5+tFV3BcJYXv$L!9w+i=-V|bsnKppCS*~ z%Krz4O$|OnOZdP}xQaL{ENu0HgSsLP+v3Mnoj<=yoQoCZAg>D!$BH;TZ16!>x?{c~ zj}^P{lrQZhukaCFtWAbI((L?cV?!L?HR!mr!J(E?eGOH9X9=j^tI-OPs#g8()bi@u z)RJ0HW$6@8sl+(CgQV2bhH7YP6sMiBoCn-qA8w98j01UIccqgQc&et-FQu}+mx^R+ zxeC_ruE#g);i+Dgwil#ScLg65DoSBQaGI(%I%paqjS`$y9v6yN{bU)=F*_v~DpE0M z&<4>^W8VJ&M*D)aRfxw7yTp1+P(B^wxin`Pe5Hati9JT4U(6GNCUbEN)9gy%R1lh9 z(w?f&7wfl3O66h-5#GlY`=J@Y$hOcI`?!LNeOrjIi)`pGnx|m{ChWgh4+<)#VZwh= zj-a$0p*>l_i*=)*X}qvV|Ah~wNKl^87wbzw#XhhoU&K$;znbf3a)V+WDrgt4FzI8q zc0v5=fsu&V_YO}g_~b(DS3`tdS~4~Y$UZa|bP?6pSdi+Qx5V*g#pN7nxtt}oh;{g8x&(=-jcXgH0P%$y4H z91;{ip&#uWRv{l*{_i97#X4TlQel`I5OEXs{)mJTAK|9>ze@O=Rw2l#&=>U2z-67j z*cUMIg^`dGW&|(j2gsnlC(0N52jU#uAO#1PsJGA)?YIniBqH?1KEvLbq$Nqo8VP?3 zeL;62N3S2=kI2we)`vB|A50o6nK>2YD2fX e%+``eBQiy~LXfswB1Bl0ldrFj3PDaI_5T}tx)jC$ diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/__init__.py deleted file mode 100644 index 4582c66..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/__init__.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Hashing algorithms - -Hash functions take arbitrary binary strings as input, and produce a random-like output -of fixed size that is dependent on the input; it should be practically infeasible -to derive the original input data given only the hash function's -output. In other words, the hash function is *one-way*. - -It should also not be practically feasible to find a second piece of data -(a *second pre-image*) whose hash is the same as the original message -(*weak collision resistance*). - -Finally, it should not be feasible to find two arbitrary messages with the -same hash (*strong collision resistance*). - -The output of the hash function is called the *digest* of the input message. -In general, the security of a hash function is related to the length of the -digest. If the digest is *n* bits long, its security level is roughly comparable -to the the one offered by an *n/2* bit encryption algorithm. - -Hash functions can be used simply as a integrity check, or, in -association with a public-key algorithm, can be used to implement -digital signatures. - -The hashing modules here all support the interface described in `PEP -247`_ , "API for Cryptographic Hash Functions". - -.. _`PEP 247` : http://www.python.org/dev/peps/pep-0247/ - -:undocumented: _MD2, _MD4, _RIPEMD160, _SHA224, _SHA256, _SHA384, _SHA512 -""" - -__all__ = ['HMAC', 'MD2', 'MD4', 'MD5', 'RIPEMD', 'SHA', - 'SHA224', 'SHA256', 'SHA384', 'SHA512'] -__revision__ = "$Id$" - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/hashalgo.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/hashalgo.py deleted file mode 100644 index b38b3a6..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Hash/hashalgo.py +++ /dev/null @@ -1,116 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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 binascii import hexlify - -class HashAlgo: - """A generic class for an abstract cryptographic hash algorithm. - - :undocumented: block_size - """ - - #: The size of the resulting hash in bytes. - digest_size = None - #: The internal block size of the hash algorithm in bytes. - block_size = None - - def __init__(self, hashFactory, data=None): - """Initialize the hash object. - - :Parameters: - hashFactory : callable - An object that will generate the actual hash implementation. - *hashFactory* must have a *new()* method, or must be directly - callable. - data : byte string - The very first chunk of the message to hash. - It is equivalent to an early call to `update()`. - """ - if hasattr(hashFactory, 'new'): - self._hash = hashFactory.new() - else: - self._hash = hashFactory() - if data: - self.update(data) - - def update(self, data): - """Continue hashing of a message by consuming the next chunk of data. - - Repeated calls are equivalent to a single call with the concatenation - of all the arguments. In other words: - - >>> m.update(a); m.update(b) - - is equivalent to: - - >>> m.update(a+b) - - :Parameters: - data : byte string - The next chunk of the message being hashed. - """ - return self._hash.update(data) - - def digest(self): - """Return the **binary** (non-printable) digest of the message that has been hashed so far. - - This method does not change the state of the hash object. - You can continue updating the object after calling this function. - - :Return: A byte string of `digest_size` bytes. It may contain non-ASCII - characters, including null bytes. - """ - return self._hash.digest() - - def hexdigest(self): - """Return the **printable** digest of the message that has been hashed so far. - - This method does not change the state of the hash object. - - :Return: A string of 2* `digest_size` characters. It contains only - hexadecimal ASCII digits. - """ - return self._hash.hexdigest() - - def copy(self): - """Return a copy ("clone") of the hash object. - - The copy will have the same internal state as the original hash - object. - This can be used to efficiently compute the digests of strings that - share a common initial substring. - - :Return: A hash object of the same type - """ - return self._hash.copy() - - def new(self, data=None): - """Return a fresh instance of the hash object. - - Unlike the `copy` method, the internal state of the object is empty. - - :Parameters: - data : byte string - The next chunk of the message being hashed. - - :Return: A hash object of the same type - """ - pass - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/AllOrNothing.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/AllOrNothing.py deleted file mode 100644 index dd20536..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/AllOrNothing.py +++ /dev/null @@ -1,320 +0,0 @@ -# -# AllOrNothing.py : all-or-nothing package transformations -# -# Part of the Python Cryptography Toolkit -# -# Written by Andrew M. Kuchling and others -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""This file implements all-or-nothing package transformations. - -An all-or-nothing package transformation is one in which some text is -transformed into message blocks, such that all blocks must be obtained before -the reverse transformation can be applied. Thus, if any blocks are corrupted -or lost, the original message cannot be reproduced. - -An all-or-nothing package transformation is not encryption, although a block -cipher algorithm is used. The encryption key is randomly generated and is -extractable from the message blocks. - -This class implements the All-Or-Nothing package transformation algorithm -described in: - -Ronald L. Rivest. "All-Or-Nothing Encryption and The Package Transform" -http://theory.lcs.mit.edu/~rivest/fusion.pdf - -""" - -__revision__ = "$Id$" - -import operator -import sys -from Crypto.Util.number import bytes_to_long, long_to_bytes -from Crypto.Util.py3compat import * -from functools import reduce - -def isInt(x): - test = 0 - try: - test += x - except TypeError: - return 0 - return 1 - -class AllOrNothing: - """Class implementing the All-or-Nothing package transform. - - Methods for subclassing: - - _inventkey(key_size): - Returns a randomly generated key. Subclasses can use this to - implement better random key generating algorithms. The default - algorithm is probably not very cryptographically secure. - - """ - - def __init__(self, ciphermodule, mode=None, IV=None): - """AllOrNothing(ciphermodule, mode=None, IV=None) - - ciphermodule is a module implementing the cipher algorithm to - use. It must provide the PEP272 interface. - - Note that the encryption key is randomly generated - automatically when needed. Optional arguments mode and IV are - passed directly through to the ciphermodule.new() method; they - are the feedback mode and initialization vector to use. All - three arguments must be the same for the object used to create - the digest, and to undigest'ify the message blocks. - """ - - self.__ciphermodule = ciphermodule - self.__mode = mode - self.__IV = IV - self.__key_size = ciphermodule.key_size - if not isInt(self.__key_size) or self.__key_size==0: - self.__key_size = 16 - - __K0digit = bchr(0x69) - - def digest(self, text): - """digest(text:string) : [string] - - Perform the All-or-Nothing package transform on the given - string. Output is a list of message blocks describing the - transformed text, where each block is a string of bit length equal - to the ciphermodule's block_size. - """ - - # generate a random session key and K0, the key used to encrypt the - # hash blocks. Rivest calls this a fixed, publically-known encryption - # key, but says nothing about the security implications of this key or - # how to choose it. - key = self._inventkey(self.__key_size) - K0 = self.__K0digit * self.__key_size - - # we need two cipher objects here, one that is used to encrypt the - # message blocks and one that is used to encrypt the hashes. The - # former uses the randomly generated key, while the latter uses the - # well-known key. - mcipher = self.__newcipher(key) - hcipher = self.__newcipher(K0) - - # Pad the text so that its length is a multiple of the cipher's - # block_size. Pad with trailing spaces, which will be eliminated in - # the undigest() step. - block_size = self.__ciphermodule.block_size - padbytes = block_size - (len(text) % block_size) - text = text + b(' ') * padbytes - - # Run through the algorithm: - # s: number of message blocks (size of text / block_size) - # input sequence: m1, m2, ... ms - # random key K' (`key' in the code) - # Compute output sequence: m'1, m'2, ... m's' for s' = s + 1 - # Let m'i = mi ^ E(K', i) for i = 1, 2, 3, ..., s - # Let m's' = K' ^ h1 ^ h2 ^ ... hs - # where hi = E(K0, m'i ^ i) for i = 1, 2, ... s - # - # The one complication I add is that the last message block is hard - # coded to the number of padbytes added, so that these can be stripped - # during the undigest() step - s = divmod(len(text), block_size)[0] - blocks = [] - hashes = [] - for i in range(1, s+1): - start = (i-1) * block_size - end = start + block_size - mi = text[start:end] - assert len(mi) == block_size - cipherblock = mcipher.encrypt(long_to_bytes(i, block_size)) - mticki = bytes_to_long(mi) ^ bytes_to_long(cipherblock) - blocks.append(mticki) - # calculate the hash block for this block - hi = hcipher.encrypt(long_to_bytes(mticki ^ i, block_size)) - hashes.append(bytes_to_long(hi)) - - # Add the padbytes length as a message block - i = i + 1 - cipherblock = mcipher.encrypt(long_to_bytes(i, block_size)) - mticki = padbytes ^ bytes_to_long(cipherblock) - blocks.append(mticki) - - # calculate this block's hash - hi = hcipher.encrypt(long_to_bytes(mticki ^ i, block_size)) - hashes.append(bytes_to_long(hi)) - - # Now calculate the last message block of the sequence 1..s'. This - # will contain the random session key XOR'd with all the hash blocks, - # so that for undigest(), once all the hash blocks are calculated, the - # session key can be trivially extracted. Calculating all the hash - # blocks requires that all the message blocks be received, thus the - # All-or-Nothing algorithm succeeds. - mtick_stick = bytes_to_long(key) ^ reduce(operator.xor, hashes) - blocks.append(mtick_stick) - - # we convert the blocks to strings since in Python, byte sequences are - # always represented as strings. This is more consistent with the - # model that encryption and hash algorithms always operate on strings. - return [long_to_bytes(i,self.__ciphermodule.block_size) for i in blocks] - - - def undigest(self, blocks): - """undigest(blocks : [string]) : string - - Perform the reverse package transformation on a list of message - blocks. Note that the ciphermodule used for both transformations - must be the same. blocks is a list of strings of bit length - equal to the ciphermodule's block_size. - """ - - # better have at least 2 blocks, for the padbytes package and the hash - # block accumulator - if len(blocks) < 2: - raise ValueError("List must be at least length 2.") - - # blocks is a list of strings. We need to deal with them as long - # integers - blocks = list(map(bytes_to_long, blocks)) - - # Calculate the well-known key, to which the hash blocks are - # encrypted, and create the hash cipher. - K0 = self.__K0digit * self.__key_size - hcipher = self.__newcipher(K0) - block_size = self.__ciphermodule.block_size - - # Since we have all the blocks (or this method would have been called - # prematurely), we can calculate all the hash blocks. - hashes = [] - for i in range(1, len(blocks)): - mticki = blocks[i-1] ^ i - hi = hcipher.encrypt(long_to_bytes(mticki, block_size)) - hashes.append(bytes_to_long(hi)) - - # now we can calculate K' (key). remember the last block contains - # m's' which we don't include here - key = blocks[-1] ^ reduce(operator.xor, hashes) - - # and now we can create the cipher object - mcipher = self.__newcipher(long_to_bytes(key, self.__key_size)) - - # And we can now decode the original message blocks - parts = [] - for i in range(1, len(blocks)): - cipherblock = mcipher.encrypt(long_to_bytes(i, block_size)) - mi = blocks[i-1] ^ bytes_to_long(cipherblock) - parts.append(mi) - - # The last message block contains the number of pad bytes appended to - # the original text string, such that its length was an even multiple - # of the cipher's block_size. This number should be small enough that - # the conversion from long integer to integer should never overflow - padbytes = int(parts[-1]) - text = b('').join(map(long_to_bytes, parts[:-1])) - return text[:-padbytes] - - def _inventkey(self, key_size): - # Return key_size random bytes - from Crypto import Random - return Random.new().read(key_size) - - def __newcipher(self, key): - if self.__mode is None and self.__IV is None: - return self.__ciphermodule.new(key) - elif self.__IV is None: - return self.__ciphermodule.new(key, self.__mode) - else: - return self.__ciphermodule.new(key, self.__mode, self.__IV) - - - -if __name__ == '__main__': - import sys - import getopt - import base64 - - usagemsg = '''\ -Test module usage: %(program)s [-c cipher] [-l] [-h] - -Where: - --cipher module - -c module - Cipher module to use. Default: %(ciphermodule)s - - --aslong - -l - Print the encoded message blocks as long integers instead of base64 - encoded strings - - --help - -h - Print this help message -''' - - ciphermodule = 'AES' - aslong = 0 - - def usage(code, msg=None): - if msg: - print(msg) - print(usagemsg % {'program': sys.argv[0], - 'ciphermodule': ciphermodule}) - sys.exit(code) - - try: - opts, args = getopt.getopt(sys.argv[1:], - 'c:l', ['cipher=', 'aslong']) - except getopt.error as msg: - usage(1, msg) - - if args: - usage(1, 'Too many arguments') - - for opt, arg in opts: - if opt in ('-h', '--help'): - usage(0) - elif opt in ('-c', '--cipher'): - ciphermodule = arg - elif opt in ('-l', '--aslong'): - aslong = 1 - - # ugly hack to force __import__ to give us the end-path module - module = __import__('Crypto.Cipher.'+ciphermodule, None, None, ['new']) - - x = AllOrNothing(module) - print('Original text:\n==========') - print(__doc__) - print('==========') - msgblocks = x.digest(b(__doc__)) - print('message blocks:') - for i, blk in zip(list(range(len(msgblocks))), msgblocks): - # base64 adds a trailing newline - print(' %3d' % i, end=' ') - if aslong: - print(bytes_to_long(blk)) - else: - print(base64.encodestring(blk)[:-1]) - # - # get a new undigest-only object so there's no leakage - y = AllOrNothing(module) - text = y.undigest(msgblocks) - if text == b(__doc__): - print('They match!') - else: - print('They differ!') diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/Chaffing.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/Chaffing.py deleted file mode 100644 index bbfcbda..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/Chaffing.py +++ /dev/null @@ -1,245 +0,0 @@ -# -# Chaffing.py : chaffing & winnowing support -# -# Part of the Python Cryptography Toolkit -# -# Written by Andrew M. Kuchling, Barry A. Warsaw, and others -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -# -"""This file implements the chaffing algorithm. - -Winnowing and chaffing is a technique for enhancing privacy without requiring -strong encryption. In short, the technique takes a set of authenticated -message blocks (the wheat) and adds a number of chaff blocks which have -randomly chosen data and MAC fields. This means that to an adversary, the -chaff blocks look as valid as the wheat blocks, and so the authentication -would have to be performed on every block. By tailoring the number of chaff -blocks added to the message, the sender can make breaking the message -computationally infeasible. There are many other interesting properties of -the winnow/chaff technique. - -For example, say Alice is sending a message to Bob. She packetizes the -message and performs an all-or-nothing transformation on the packets. Then -she authenticates each packet with a message authentication code (MAC). The -MAC is a hash of the data packet, and there is a secret key which she must -share with Bob (key distribution is an exercise left to the reader). She then -adds a serial number to each packet, and sends the packets to Bob. - -Bob receives the packets, and using the shared secret authentication key, -authenticates the MACs for each packet. Those packets that have bad MACs are -simply discarded. The remainder are sorted by serial number, and passed -through the reverse all-or-nothing transform. The transform means that an -eavesdropper (say Eve) must acquire all the packets before any of the data can -be read. If even one packet is missing, the data is useless. - -There's one twist: by adding chaff packets, Alice and Bob can make Eve's job -much harder, since Eve now has to break the shared secret key, or try every -combination of wheat and chaff packet to read any of the message. The cool -thing is that Bob doesn't need to add any additional code; the chaff packets -are already filtered out because their MACs don't match (in all likelihood -- -since the data and MACs for the chaff packets are randomly chosen it is -possible, but very unlikely that a chaff MAC will match the chaff data). And -Alice need not even be the party adding the chaff! She could be completely -unaware that a third party, say Charles, is adding chaff packets to her -messages as they are transmitted. - -For more information on winnowing and chaffing see this paper: - -Ronald L. Rivest, "Chaffing and Winnowing: Confidentiality without Encryption" -http://theory.lcs.mit.edu/~rivest/chaffing.txt - -""" - -__revision__ = "$Id$" - -from Crypto.Util.number import bytes_to_long - -class Chaff: - """Class implementing the chaff adding algorithm. - - Methods for subclasses: - - _randnum(size): - Returns a randomly generated number with a byte-length equal - to size. Subclasses can use this to implement better random - data and MAC generating algorithms. The default algorithm is - probably not very cryptographically secure. It is most - important that the chaff data does not contain any patterns - that can be used to discern it from wheat data without running - the MAC. - - """ - - def __init__(self, factor=1.0, blocksper=1): - """Chaff(factor:float, blocksper:int) - - factor is the number of message blocks to add chaff to, - expressed as a percentage between 0.0 and 1.0. blocksper is - the number of chaff blocks to include for each block being - chaffed. Thus the defaults add one chaff block to every - message block. By changing the defaults, you can adjust how - computationally difficult it could be for an adversary to - brute-force crack the message. The difficulty is expressed - as: - - pow(blocksper, int(factor * number-of-blocks)) - - For ease of implementation, when factor < 1.0, only the first - int(factor*number-of-blocks) message blocks are chaffed. - """ - - if not (0.0<=factor<=1.0): - raise ValueError("'factor' must be between 0.0 and 1.0") - if blocksper < 0: - raise ValueError("'blocksper' must be zero or more") - - self.__factor = factor - self.__blocksper = blocksper - - - def chaff(self, blocks): - """chaff( [(serial-number:int, data:string, MAC:string)] ) - : [(int, string, string)] - - Add chaff to message blocks. blocks is a list of 3-tuples of the - form (serial-number, data, MAC). - - Chaff is created by choosing a random number of the same - byte-length as data, and another random number of the same - byte-length as MAC. The message block's serial number is - placed on the chaff block and all the packet's chaff blocks - are randomly interspersed with the single wheat block. This - method then returns a list of 3-tuples of the same form. - Chaffed blocks will contain multiple instances of 3-tuples - with the same serial number, but the only way to figure out - which blocks are wheat and which are chaff is to perform the - MAC hash and compare values. - """ - - chaffedblocks = [] - - # count is the number of blocks to add chaff to. blocksper is the - # number of chaff blocks to add per message block that is being - # chaffed. - count = len(blocks) * self.__factor - blocksper = list(range(self.__blocksper)) - for i, wheat in zip(list(range(len(blocks))), blocks): - # it shouldn't matter which of the n blocks we add chaff to, so for - # ease of implementation, we'll just add them to the first count - # blocks - if i < count: - serial, data, mac = wheat - datasize = len(data) - macsize = len(mac) - addwheat = 1 - # add chaff to this block - for j in blocksper: - import sys - chaffdata = self._randnum(datasize) - chaffmac = self._randnum(macsize) - chaff = (serial, chaffdata, chaffmac) - # mix up the order, if the 5th bit is on then put the - # wheat on the list - if addwheat and bytes_to_long(self._randnum(16)) & 0x40: - chaffedblocks.append(wheat) - addwheat = 0 - chaffedblocks.append(chaff) - if addwheat: - chaffedblocks.append(wheat) - else: - # just add the wheat - chaffedblocks.append(wheat) - return chaffedblocks - - def _randnum(self, size): - from Crypto import Random - return Random.new().read(size) - - -if __name__ == '__main__': - text = """\ -We hold these truths to be self-evident, that all men are created equal, that -they are endowed by their Creator with certain unalienable Rights, that among -these are Life, Liberty, and the pursuit of Happiness. That to secure these -rights, Governments are instituted among Men, deriving their just powers from -the consent of the governed. That whenever any Form of Government becomes -destructive of these ends, it is the Right of the People to alter or to -abolish it, and to institute new Government, laying its foundation on such -principles and organizing its powers in such form, as to them shall seem most -likely to effect their Safety and Happiness. -""" - print('Original text:\n==========') - print(text) - print('==========') - - # first transform the text into packets - blocks = [] ; size = 40 - for i in range(0, len(text), size): - blocks.append( text[i:i+size] ) - - # now get MACs for all the text blocks. The key is obvious... - print('Calculating MACs...') - from Crypto.Hash import HMAC, SHA - key = 'Jefferson' - macs = [HMAC.new(key, block, digestmod=SHA).digest() - for block in blocks] - - assert len(blocks) == len(macs) - - # put these into a form acceptable as input to the chaffing procedure - source = [] - m = list(zip(list(range(len(blocks))), blocks, macs)) - print(m) - for i, data, mac in m: - source.append((i, data, mac)) - - # now chaff these - print('Adding chaff...') - c = Chaff(factor=0.5, blocksper=2) - chaffed = c.chaff(source) - - from base64 import encodestring - - # print the chaffed message blocks. meanwhile, separate the wheat from - # the chaff - - wheat = [] - print('chaffed message blocks:') - for i, data, mac in chaffed: - # do the authentication - h = HMAC.new(key, data, digestmod=SHA) - pmac = h.digest() - if pmac == mac: - tag = '-->' - wheat.append(data) - else: - tag = ' ' - # base64 adds a trailing newline - print(tag, '%3d' % i, \ - repr(data), encodestring(mac)[:-1]) - - # now decode the message packets and check it against the original text - print('Undigesting wheat...') - # PY3K: This is meant to be text, do not change to bytes (data) - newtext = "".join(wheat) - if newtext == text: - print('They match!') - else: - print('They differ!') diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/KDF.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/KDF.py deleted file mode 100644 index af4e2a6..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/KDF.py +++ /dev/null @@ -1,123 +0,0 @@ -# -# KDF.py : a collection of Key Derivation Functions -# -# Part of the Python Cryptography Toolkit -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""This file contains a collection of standard key derivation functions. - -A key derivation function derives one or more secondary secret keys from -one primary secret (a master key or a pass phrase). - -This is typically done to insulate the secondary keys from each other, -to avoid that leakage of a secondary key compromises the security of the -master key, or to thwart attacks on pass phrases (e.g. via rainbow tables). - -:undocumented: __revision__ -""" - -__revision__ = "$Id$" - -import math -import struct - -from Crypto.Util.py3compat import * -from Crypto.Hash import SHA as SHA1, HMAC -from Crypto.Util.strxor import strxor - -def PBKDF1(password, salt, dkLen, count=1000, hashAlgo=None): - """Derive one key from a password (or passphrase). - - This function performs key derivation according an old version of - the PKCS#5 standard (v1.5). - - This algorithm is called ``PBKDF1``. Even though it is still described - in the latest version of the PKCS#5 standard (version 2, or RFC2898), - newer applications should use the more secure and versatile `PBKDF2` instead. - - :Parameters: - password : string - The secret password or pass phrase to generate the key from. - salt : byte string - An 8 byte string to use for better protection from dictionary attacks. - This value does not need to be kept secret, but it should be randomly - chosen for each derivation. - dkLen : integer - The length of the desired key. Default is 16 bytes, suitable for instance for `Crypto.Cipher.AES`. - count : integer - The number of iterations to carry out. It's recommended to use at least 1000. - hashAlgo : module - The hash algorithm to use, as a module or an object from the `Crypto.Hash` package. - The digest length must be no shorter than ``dkLen``. - The default algorithm is `SHA1`. - - :Return: A byte string of length `dkLen` that can be used as key. - """ - if not hashAlgo: - hashAlgo = SHA1 - password = tobytes(password) - pHash = hashAlgo.new(password+salt) - digest = pHash.digest_size - if dkLen>digest: - raise ValueError("Selected hash algorithm has a too short digest (%d bytes)." % digest) - if len(salt)!=8: - raise ValueError("Salt is not 8 bytes long.") - for i in range(count-1): - pHash = pHash.new(pHash.digest()) - return pHash.digest()[:dkLen] - -def PBKDF2(password, salt, dkLen=16, count=1000, prf=None): - """Derive one or more keys from a password (or passphrase). - - This performs key derivation according to the PKCS#5 standard (v2.0), - by means of the ``PBKDF2`` algorithm. - - :Parameters: - password : string - The secret password or pass phrase to generate the key from. - salt : string - A string to use for better protection from dictionary attacks. - This value does not need to be kept secret, but it should be randomly - chosen for each derivation. It is recommended to be at least 8 bytes long. - dkLen : integer - The cumulative length of the desired keys. Default is 16 bytes, suitable for instance for `Crypto.Cipher.AES`. - count : integer - The number of iterations to carry out. It's recommended to use at least 1000. - prf : callable - A pseudorandom function. It must be a function that returns a pseudorandom string - from two parameters: a secret and a salt. If not specified, HMAC-SHA1 is used. - - :Return: A byte string of length `dkLen` that can be used as key material. - If you wanted multiple keys, just break up this string into segments of the desired length. -""" - password = tobytes(password) - if prf is None: - prf = lambda p,s: HMAC.new(p,s,SHA1).digest() - key = b('') - i = 1 - while len(key)I", i)) - for j in range(count-1): - previousU = t = prf(password,previousU) - U = strxor(U,t) - key += U - i = i + 1 - return key[:dkLen] - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/__init__.py deleted file mode 100644 index cacc685..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Protocol/__init__.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Cryptographic protocols - -Implements various cryptographic protocols. (Don't expect to find -network protocols here.) - -Crypto.Protocol.AllOrNothing - Transforms a message into a set of message blocks, such that the blocks - can be recombined to get the message back. - -Crypto.Protocol.Chaffing - Takes a set of authenticated message blocks (the wheat) and adds a number - of randomly generated blocks (the chaff). - -Crypto.Protocol.KDF - A collection of standard key derivation functions. - -:undocumented: __revision__ -""" - -__all__ = ['AllOrNothing', 'Chaffing', 'KDF'] -__revision__ = "$Id$" diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/DSA.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/DSA.py deleted file mode 100644 index 648f4b2..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/DSA.py +++ /dev/null @@ -1,379 +0,0 @@ -# -*- coding: utf-8 -*- -# -# PublicKey/DSA.py : DSA signature primitive -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""DSA public-key signature algorithm. - -DSA_ is a widespread public-key signature algorithm. Its security is -based on the discrete logarithm problem (DLP_). Given a cyclic -group, a generator *g*, and an element *h*, it is hard -to find an integer *x* such that *g^x = h*. The problem is believed -to be difficult, and it has been proved such (and therefore secure) for -more than 30 years. - -The group is actually a sub-group over the integers modulo *p*, with *p* prime. -The sub-group order is *q*, which is prime too; it always holds that *(p-1)* is a multiple of *q*. -The cryptographic strength is linked to the magnitude of *p* and *q*. -The signer holds a value *x* (*0>> from Crypto.Random import random - >>> from Crypto.PublicKey import DSA - >>> from Crypto.Hash import SHA - >>> - >>> message = "Hello" - >>> key = DSA.generate(1024) - >>> h = SHA.new(message).digest() - >>> k = random.StrongRandom().randint(1,key.q-1) - >>> sig = key.sign(h,k) - >>> ... - >>> if key.verify(h,sig): - >>> print "OK" - >>> else: - >>> print "Incorrect signature" - -.. _DSA: http://en.wikipedia.org/wiki/Digital_Signature_Algorithm -.. _DLP: http://www.cosic.esat.kuleuven.be/publications/talk-78.pdf -.. _ECRYPT: http://www.ecrypt.eu.org/documents/D.SPA.17.pdf -""" - -__revision__ = "$Id$" - -__all__ = ['generate', 'construct', 'error', 'DSAImplementation', '_DSAobj'] - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * - -from Crypto.PublicKey import _DSA, _slowmath, pubkey -from Crypto import Random - -try: - from Crypto.PublicKey import _fastmath -except ImportError: - _fastmath = None - -class _DSAobj(pubkey.pubkey): - """Class defining an actual DSA key. - - :undocumented: __getstate__, __setstate__, __repr__, __getattr__ - """ - #: Dictionary of DSA parameters. - #: - #: A public key will only have the following entries: - #: - #: - **y**, the public key. - #: - **g**, the generator. - #: - **p**, the modulus. - #: - **q**, the order of the sub-group. - #: - #: A private key will also have: - #: - #: - **x**, the private key. - keydata = ['y', 'g', 'p', 'q', 'x'] - - def __init__(self, implementation, key): - self.implementation = implementation - self.key = key - - def __getattr__(self, attrname): - if attrname in self.keydata: - # For backward compatibility, allow the user to get (not set) the - # DSA key parameters directly from this object. - return getattr(self.key, attrname) - else: - raise AttributeError("%s object has no %r attribute" % (self.__class__.__name__, attrname,)) - - def sign(self, M, K): - """Sign a piece of data with DSA. - - :Parameter M: The piece of data to sign with DSA. It may - not be longer in bit size than the sub-group order (*q*). - :Type M: byte string or long - - :Parameter K: A secret number, chosen randomly in the closed - range *[1,q-1]*. - :Type K: long (recommended) or byte string (not recommended) - - :attention: selection of *K* is crucial for security. Generating a - random number larger than *q* and taking the modulus by *q* is - **not** secure, since smaller values will occur more frequently. - Generating a random number systematically smaller than *q-1* - (e.g. *floor((q-1)/8)* random bytes) is also **not** secure. In general, - it shall not be possible for an attacker to know the value of `any - bit of K`__. - - :attention: The number *K* shall not be reused for any other - operation and shall be discarded immediately. - - :attention: M must be a digest cryptographic hash, otherwise - an attacker may mount an existential forgery attack. - - :Return: A tuple with 2 longs. - - .. __: http://www.di.ens.fr/~pnguyen/pub_NgSh00.htm - """ - return pubkey.pubkey.sign(self, M, K) - - def verify(self, M, signature): - """Verify the validity of a DSA signature. - - :Parameter M: The expected message. - :Type M: byte string or long - - :Parameter signature: The DSA signature to verify. - :Type signature: A tuple with 2 longs as return by `sign` - - :Return: True if the signature is correct, False otherwise. - """ - return pubkey.pubkey.verify(self, M, signature) - - def _encrypt(self, c, K): - raise TypeError("DSA cannot encrypt") - - def _decrypt(self, c): - raise TypeError("DSA cannot decrypt") - - def _blind(self, m, r): - raise TypeError("DSA cannot blind") - - def _unblind(self, m, r): - raise TypeError("DSA cannot unblind") - - def _sign(self, m, k): - return self.key._sign(m, k) - - def _verify(self, m, sig): - (r, s) = sig - return self.key._verify(m, r, s) - - def has_private(self): - return self.key.has_private() - - def size(self): - return self.key.size() - - def can_blind(self): - return False - - def can_encrypt(self): - return False - - def can_sign(self): - return True - - def publickey(self): - return self.implementation.construct((self.key.y, self.key.g, self.key.p, self.key.q)) - - def __getstate__(self): - d = {} - for k in self.keydata: - try: - d[k] = getattr(self.key, k) - except AttributeError: - pass - return d - - def __setstate__(self, d): - if not hasattr(self, 'implementation'): - self.implementation = DSAImplementation() - t = [] - for k in self.keydata: - if k not in d: - break - t.append(d[k]) - self.key = self.implementation._math.dsa_construct(*tuple(t)) - - def __repr__(self): - attrs = [] - for k in self.keydata: - if k == 'p': - attrs.append("p(%d)" % (self.size()+1,)) - elif hasattr(self.key, k): - attrs.append(k) - if self.has_private(): - attrs.append("private") - # PY3K: This is meant to be text, do not change to bytes (data) - return "<%s @0x%x %s>" % (self.__class__.__name__, id(self), ",".join(attrs)) - -class DSAImplementation(object): - """ - A DSA key factory. - - This class is only internally used to implement the methods of the - `Crypto.PublicKey.DSA` module. - """ - - def __init__(self, **kwargs): - """Create a new DSA key factory. - - :Keywords: - use_fast_math : bool - Specify which mathematic library to use: - - - *None* (default). Use fastest math available. - - *True* . Use fast math. - - *False* . Use slow math. - default_randfunc : callable - Specify how to collect random data: - - - *None* (default). Use Random.new().read(). - - not *None* . Use the specified function directly. - :Raise RuntimeError: - When **use_fast_math** =True but fast math is not available. - """ - use_fast_math = kwargs.get('use_fast_math', None) - if use_fast_math is None: # Automatic - if _fastmath is not None: - self._math = _fastmath - else: - self._math = _slowmath - - elif use_fast_math: # Explicitly select fast math - if _fastmath is not None: - self._math = _fastmath - else: - raise RuntimeError("fast math module not available") - - else: # Explicitly select slow math - self._math = _slowmath - - self.error = self._math.error - - # 'default_randfunc' parameter: - # None (default) - use Random.new().read - # not None - use the specified function - self._default_randfunc = kwargs.get('default_randfunc', None) - self._current_randfunc = None - - def _get_randfunc(self, randfunc): - if randfunc is not None: - return randfunc - elif self._current_randfunc is None: - self._current_randfunc = Random.new().read - return self._current_randfunc - - def generate(self, bits, randfunc=None, progress_func=None): - """Randomly generate a fresh, new DSA key. - - :Parameters: - bits : int - Key length, or size (in bits) of the DSA modulus - *p*. - It must be a multiple of 64, in the closed - interval [512,1024]. - randfunc : callable - Random number generation function; it should accept - a single integer N and return a string of random data - N bytes long. - If not specified, a new one will be instantiated - from ``Crypto.Random``. - progress_func : callable - Optional function that will be called with a short string - containing the key parameter currently being generated; - it's useful for interactive applications where a user is - waiting for a key to be generated. - - :attention: You should always use a cryptographically secure random number generator, - such as the one defined in the ``Crypto.Random`` module; **don't** just use the - current time and the ``random`` module. - - :Return: A DSA key object (`_DSAobj`). - - :Raise ValueError: - When **bits** is too little, too big, or not a multiple of 64. - """ - - # Check against FIPS 186-2, which says that the size of the prime p - # must be a multiple of 64 bits between 512 and 1024 - for i in (0, 1, 2, 3, 4, 5, 6, 7, 8): - if bits == 512 + 64*i: - return self._generate(bits, randfunc, progress_func) - - # The March 2006 draft of FIPS 186-3 also allows 2048 and 3072-bit - # primes, but only with longer q values. Since the current DSA - # implementation only supports a 160-bit q, we don't support larger - # values. - raise ValueError("Number of bits in p must be a multiple of 64 between 512 and 1024, not %d bits" % (bits,)) - - def _generate(self, bits, randfunc=None, progress_func=None): - rf = self._get_randfunc(randfunc) - obj = _DSA.generate_py(bits, rf, progress_func) # TODO: Don't use legacy _DSA module - key = self._math.dsa_construct(obj.y, obj.g, obj.p, obj.q, obj.x) - return _DSAobj(self, key) - - def construct(self, tup): - """Construct a DSA key from a tuple of valid DSA components. - - The modulus *p* must be a prime. - - The following equations must apply: - - - p-1 = 0 mod q - - g^x = y mod p - - 0 < x < q - - 1 < g < p - - :Parameters: - tup : tuple - A tuple of long integers, with 4 or 5 items - in the following order: - - 1. Public key (*y*). - 2. Sub-group generator (*g*). - 3. Modulus, finite field order (*p*). - 4. Sub-group order (*q*). - 5. Private key (*x*). Optional. - - :Return: A DSA key object (`_DSAobj`). - """ - key = self._math.dsa_construct(*tup) - return _DSAobj(self, key) - -_impl = DSAImplementation() -generate = _impl.generate -construct = _impl.construct -error = _impl.error - -# vim:set ts=4 sw=4 sts=4 expandtab: - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/ElGamal.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/ElGamal.py deleted file mode 100644 index 99af71c..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/ElGamal.py +++ /dev/null @@ -1,373 +0,0 @@ -# -# ElGamal.py : ElGamal encryption/decryption and signatures -# -# Part of the Python Cryptography Toolkit -# -# Originally written by: A.M. Kuchling -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""ElGamal public-key algorithm (randomized encryption and signature). - -Signature algorithm -------------------- -The security of the ElGamal signature scheme is based (like DSA) on the discrete -logarithm problem (DLP_). Given a cyclic group, a generator *g*, -and an element *h*, it is hard to find an integer *x* such that *g^x = h*. - -The group is the largest multiplicative sub-group of the integers modulo *p*, -with *p* prime. -The signer holds a value *x* (*0>> from Crypto import Random - >>> from Crypto.Random import random - >>> from Crypto.PublicKey import ElGamal - >>> from Crypto.Util.number import GCD - >>> from Crypto.Hash import SHA - >>> - >>> message = "Hello" - >>> key = ElGamal.generate(1024, Random.new().read) - >>> h = SHA.new(message).digest() - >>> while 1: - >>> k = random.StrongRandom().randint(1,key.p-1) - >>> if GCD(k,key.p-1)==1: break - >>> sig = key.sign(h,k) - >>> ... - >>> if key.verify(h,sig): - >>> print "OK" - >>> else: - >>> print "Incorrect signature" - -.. _DLP: http://www.cosic.esat.kuleuven.be/publications/talk-78.pdf -.. _CDH: http://en.wikipedia.org/wiki/Computational_Diffie%E2%80%93Hellman_assumption -.. _ECRYPT: http://www.ecrypt.eu.org/documents/D.SPA.17.pdf -""" - -__revision__ = "$Id$" - -__all__ = ['generate', 'construct', 'error', 'ElGamalobj'] - -from Crypto.PublicKey.pubkey import * -from Crypto.Util import number - -class error (Exception): - pass - -# Generate an ElGamal key with N bits -def generate(bits, randfunc, progress_func=None): - """Randomly generate a fresh, new ElGamal key. - - The key will be safe for use for both encryption and signature - (although it should be used for **only one** purpose). - - :Parameters: - bits : int - Key length, or size (in bits) of the modulus *p*. - Recommended value is 2048. - randfunc : callable - Random number generation function; it should accept - a single integer N and return a string of random data - N bytes long. - progress_func : callable - Optional function that will be called with a short string - containing the key parameter currently being generated; - it's useful for interactive applications where a user is - waiting for a key to be generated. - - :attention: You should always use a cryptographically secure random number generator, - such as the one defined in the ``Crypto.Random`` module; **don't** just use the - current time and the ``random`` module. - - :Return: An ElGamal key object (`ElGamalobj`). - """ - obj=ElGamalobj() - # Generate a safe prime p - # See Algorithm 4.86 in Handbook of Applied Cryptography - if progress_func: - progress_func('p\n') - while 1: - q = bignum(getPrime(bits-1, randfunc)) - obj.p = 2*q+1 - if number.isPrime(obj.p, randfunc=randfunc): - break - # Generate generator g - # See Algorithm 4.80 in Handbook of Applied Cryptography - # Note that the order of the group is n=p-1=2q, where q is prime - if progress_func: - progress_func('g\n') - while 1: - # We must avoid g=2 because of Bleichenbacher's attack described - # in "Generating ElGamal signatures without knowning the secret key", - # 1996 - # - obj.g = number.getRandomRange(3, obj.p, randfunc) - safe = 1 - if pow(obj.g, 2, obj.p)==1: - safe=0 - if safe and pow(obj.g, q, obj.p)==1: - safe=0 - # Discard g if it divides p-1 because of the attack described - # in Note 11.67 (iii) in HAC - if safe and divmod(obj.p-1, obj.g)[1]==0: - safe=0 - # g^{-1} must not divide p-1 because of Khadir's attack - # described in "Conditions of the generator for forging ElGamal - # signature", 2011 - ginv = number.inverse(obj.g, obj.p) - if safe and divmod(obj.p-1, ginv)[1]==0: - safe=0 - if safe: - break - # Generate private key x - if progress_func: - progress_func('x\n') - obj.x=number.getRandomRange(2, obj.p-1, randfunc) - # Generate public key y - if progress_func: - progress_func('y\n') - obj.y = pow(obj.g, obj.x, obj.p) - return obj - -def construct(tup): - """Construct an ElGamal key from a tuple of valid ElGamal components. - - The modulus *p* must be a prime. - - The following conditions must apply: - - - 1 < g < p-1 - - g^{p-1} = 1 mod p - - 1 < x < p-1 - - g^x = y mod p - - :Parameters: - tup : tuple - A tuple of long integers, with 3 or 4 items - in the following order: - - 1. Modulus (*p*). - 2. Generator (*g*). - 3. Public key (*y*). - 4. Private key (*x*). Optional. - - :Return: An ElGamal key object (`ElGamalobj`). - """ - - obj=ElGamalobj() - if len(tup) not in [3,4]: - raise ValueError('argument for construct() wrong length') - for i in range(len(tup)): - field = obj.keydata[i] - setattr(obj, field, tup[i]) - return obj - -class ElGamalobj(pubkey): - """Class defining an ElGamal key. - - :undocumented: __getstate__, __setstate__, __repr__, __getattr__ - """ - - #: Dictionary of ElGamal parameters. - #: - #: A public key will only have the following entries: - #: - #: - **y**, the public key. - #: - **g**, the generator. - #: - **p**, the modulus. - #: - #: A private key will also have: - #: - #: - **x**, the private key. - keydata=['p', 'g', 'y', 'x'] - - def encrypt(self, plaintext, K): - """Encrypt a piece of data with ElGamal. - - :Parameter plaintext: The piece of data to encrypt with ElGamal. - It must be numerically smaller than the module (*p*). - :Type plaintext: byte string or long - - :Parameter K: A secret number, chosen randomly in the closed - range *[1,p-2]*. - :Type K: long (recommended) or byte string (not recommended) - - :Return: A tuple with two items. Each item is of the same type as the - plaintext (string or long). - - :attention: selection of *K* is crucial for security. Generating a - random number larger than *p-1* and taking the modulus by *p-1* is - **not** secure, since smaller values will occur more frequently. - Generating a random number systematically smaller than *p-1* - (e.g. *floor((p-1)/8)* random bytes) is also **not** secure. - In general, it shall not be possible for an attacker to know - the value of any bit of K. - - :attention: The number *K* shall not be reused for any other - operation and shall be discarded immediately. - """ - return pubkey.encrypt(self, plaintext, K) - - def decrypt(self, ciphertext): - """Decrypt a piece of data with ElGamal. - - :Parameter ciphertext: The piece of data to decrypt with ElGamal. - :Type ciphertext: byte string, long or a 2-item tuple as returned - by `encrypt` - - :Return: A byte string if ciphertext was a byte string or a tuple - of byte strings. A long otherwise. - """ - return pubkey.decrypt(self, ciphertext) - - def sign(self, M, K): - """Sign a piece of data with ElGamal. - - :Parameter M: The piece of data to sign with ElGamal. It may - not be longer in bit size than *p-1*. - :Type M: byte string or long - - :Parameter K: A secret number, chosen randomly in the closed - range *[1,p-2]* and such that *gcd(k,p-1)=1*. - :Type K: long (recommended) or byte string (not recommended) - - :attention: selection of *K* is crucial for security. Generating a - random number larger than *p-1* and taking the modulus by *p-1* is - **not** secure, since smaller values will occur more frequently. - Generating a random number systematically smaller than *p-1* - (e.g. *floor((p-1)/8)* random bytes) is also **not** secure. - In general, it shall not be possible for an attacker to know - the value of any bit of K. - - :attention: The number *K* shall not be reused for any other - operation and shall be discarded immediately. - - :attention: M must be be a cryptographic hash, otherwise an - attacker may mount an existential forgery attack. - - :Return: A tuple with 2 longs. - """ - return pubkey.sign(self, M, K) - - def verify(self, M, signature): - """Verify the validity of an ElGamal signature. - - :Parameter M: The expected message. - :Type M: byte string or long - - :Parameter signature: The ElGamal signature to verify. - :Type signature: A tuple with 2 longs as return by `sign` - - :Return: True if the signature is correct, False otherwise. - """ - return pubkey.verify(self, M, signature) - - def _encrypt(self, M, K): - a=pow(self.g, K, self.p) - b=( M*pow(self.y, K, self.p) ) % self.p - return ( a,b ) - - def _decrypt(self, M): - if (not hasattr(self, 'x')): - raise TypeError('Private key not available in this object') - ax=pow(M[0], self.x, self.p) - plaintext=(M[1] * inverse(ax, self.p ) ) % self.p - return plaintext - - def _sign(self, M, K): - if (not hasattr(self, 'x')): - raise TypeError('Private key not available in this object') - p1=self.p-1 - if (GCD(K, p1)!=1): - raise ValueError('Bad K value: GCD(K,p-1)!=1') - a=pow(self.g, K, self.p) - t=(M-self.x*a) % p1 - while t<0: t=t+p1 - b=(t*inverse(K, p1)) % p1 - return (a, b) - - def _verify(self, M, sig): - if sig[0]<1 or sig[0]>self.p-1: - return 0 - v1=pow(self.y, sig[0], self.p) - v1=(v1*pow(sig[0], sig[1], self.p)) % self.p - v2=pow(self.g, M, self.p) - if v1==v2: - return 1 - return 0 - - def size(self): - return number.size(self.p) - 1 - - def has_private(self): - if hasattr(self, 'x'): - return 1 - else: - return 0 - - def publickey(self): - return construct((self.p, self.g, self.y)) - - -object=ElGamalobj diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/RSA.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/RSA.py deleted file mode 100644 index debe39e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/RSA.py +++ /dev/null @@ -1,719 +0,0 @@ -# -*- coding: utf-8 -*- -# -# PublicKey/RSA.py : RSA public key primitive -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""RSA public-key cryptography algorithm (signature and encryption). - -RSA_ is the most widespread and used public key algorithm. Its security is -based on the difficulty of factoring large integers. The algorithm has -withstood attacks for 30 years, and it is therefore considered reasonably -secure for new designs. - -The algorithm can be used for both confidentiality (encryption) and -authentication (digital signature). It is worth noting that signing and -decryption are significantly slower than verification and encryption. -The cryptograhic strength is primarily linked to the length of the modulus *n*. -In 2012, a sufficient length is deemed to be 2048 bits. For more information, -see the most recent ECRYPT_ report. - -Both RSA ciphertext and RSA signature are as big as the modulus *n* (256 -bytes if *n* is 2048 bit long). - -This module provides facilities for generating fresh, new RSA keys, constructing -them from known components, exporting them, and importing them. - - >>> from Crypto.PublicKey import RSA - >>> - >>> key = RSA.generate(2048) - >>> f = open('mykey.pem','w') - >>> f.write(RSA.exportKey('PEM')) - >>> f.close() - ... - >>> f = open('mykey.pem','r') - >>> key = RSA.importKey(f.read()) - -Even though you may choose to directly use the methods of an RSA key object -to perform the primitive cryptographic operations (e.g. `_RSAobj.encrypt`), -it is recommended to use one of the standardized schemes instead (like -`Crypto.Cipher.PKCS1_v1_5` or `Crypto.Signature.PKCS1_v1_5`). - -.. _RSA: http://en.wikipedia.org/wiki/RSA_%28algorithm%29 -.. _ECRYPT: http://www.ecrypt.eu.org/documents/D.SPA.17.pdf - -:sort: generate,construct,importKey,error -""" - -__revision__ = "$Id$" - -__all__ = ['generate', 'construct', 'error', 'importKey', 'RSAImplementation', '_RSAobj'] - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * -#from Crypto.Util.python_compat import * -from Crypto.Util.number import getRandomRange, bytes_to_long, long_to_bytes - -from Crypto.PublicKey import _RSA, _slowmath, pubkey -from Crypto import Random - -from Crypto.Util.asn1 import DerObject, DerSequence, DerNull -import binascii -import struct - -from Crypto.Util.number import inverse - -from Crypto.Util.number import inverse - -try: - from Crypto.PublicKey import _fastmath -except ImportError: - _fastmath = None - -class _RSAobj(pubkey.pubkey): - """Class defining an actual RSA key. - - :undocumented: __getstate__, __setstate__, __repr__, __getattr__ - """ - #: Dictionary of RSA parameters. - #: - #: A public key will only have the following entries: - #: - #: - **n**, the modulus. - #: - **e**, the public exponent. - #: - #: A private key will also have: - #: - #: - **d**, the private exponent. - #: - **p**, the first factor of n. - #: - **q**, the second factor of n. - #: - **u**, the CRT coefficient (1/p) mod q. - keydata = ['n', 'e', 'd', 'p', 'q', 'u'] - - def __init__(self, implementation, key, randfunc=None): - self.implementation = implementation - self.key = key - if randfunc is None: - randfunc = Random.new().read - self._randfunc = randfunc - - def __getattr__(self, attrname): - if attrname in self.keydata: - # For backward compatibility, allow the user to get (not set) the - # RSA key parameters directly from this object. - return getattr(self.key, attrname) - else: - raise AttributeError("%s object has no %r attribute" % (self.__class__.__name__, attrname,)) - - def encrypt(self, plaintext, K): - """Encrypt a piece of data with RSA. - - :Parameter plaintext: The piece of data to encrypt with RSA. It may not - be numerically larger than the RSA module (**n**). - :Type plaintext: byte string or long - - :Parameter K: A random parameter (*for compatibility only. This - value will be ignored*) - :Type K: byte string or long - - :attention: this function performs the plain, primitive RSA encryption - (*textbook*). In real applications, you always need to use proper - cryptographic padding, and you should not directly encrypt data with - this method. Failure to do so may lead to security vulnerabilities. - It is recommended to use modules - `Crypto.Cipher.PKCS1_OAEP` or `Crypto.Cipher.PKCS1_v1_5` instead. - - :Return: A tuple with two items. The first item is the ciphertext - of the same type as the plaintext (string or long). The second item - is always None. - """ - return pubkey.pubkey.encrypt(self, plaintext, K) - - def decrypt(self, ciphertext): - """Decrypt a piece of data with RSA. - - Decryption always takes place with blinding. - - :attention: this function performs the plain, primitive RSA decryption - (*textbook*). In real applications, you always need to use proper - cryptographic padding, and you should not directly decrypt data with - this method. Failure to do so may lead to security vulnerabilities. - It is recommended to use modules - `Crypto.Cipher.PKCS1_OAEP` or `Crypto.Cipher.PKCS1_v1_5` instead. - - :Parameter ciphertext: The piece of data to decrypt with RSA. It may - not be numerically larger than the RSA module (**n**). If a tuple, - the first item is the actual ciphertext; the second item is ignored. - - :Type ciphertext: byte string, long or a 2-item tuple as returned by - `encrypt` - - :Return: A byte string if ciphertext was a byte string or a tuple - of byte strings. A long otherwise. - """ - return pubkey.pubkey.decrypt(self, ciphertext) - - def sign(self, M, K): - """Sign a piece of data with RSA. - - Signing always takes place with blinding. - - :attention: this function performs the plain, primitive RSA decryption - (*textbook*). In real applications, you always need to use proper - cryptographic padding, and you should not directly sign data with - this method. Failure to do so may lead to security vulnerabilities. - It is recommended to use modules - `Crypto.Signature.PKCS1_PSS` or `Crypto.Signature.PKCS1_v1_5` instead. - - :Parameter M: The piece of data to sign with RSA. It may - not be numerically larger than the RSA module (**n**). - :Type M: byte string or long - - :Parameter K: A random parameter (*for compatibility only. This - value will be ignored*) - :Type K: byte string or long - - :Return: A 2-item tuple. The first item is the actual signature (a - long). The second item is always None. - """ - return pubkey.pubkey.sign(self, M, K) - - def verify(self, M, signature): - """Verify the validity of an RSA signature. - - :attention: this function performs the plain, primitive RSA encryption - (*textbook*). In real applications, you always need to use proper - cryptographic padding, and you should not directly verify data with - this method. Failure to do so may lead to security vulnerabilities. - It is recommended to use modules - `Crypto.Signature.PKCS1_PSS` or `Crypto.Signature.PKCS1_v1_5` instead. - - :Parameter M: The expected message. - :Type M: byte string or long - - :Parameter signature: The RSA signature to verify. The first item of - the tuple is the actual signature (a long not larger than the modulus - **n**), whereas the second item is always ignored. - :Type signature: A 2-item tuple as return by `sign` - - :Return: True if the signature is correct, False otherwise. - """ - return pubkey.pubkey.verify(self, M, signature) - - def _encrypt(self, c, K): - return (self.key._encrypt(c),) - - def _decrypt(self, c): - #(ciphertext,) = c - (ciphertext,) = c[:1] # HACK - We should use the previous line - # instead, but this is more compatible and we're - # going to replace the Crypto.PublicKey API soon - # anyway. - - # Blinded RSA decryption (to prevent timing attacks): - # Step 1: Generate random secret blinding factor r, such that 0 < r < n-1 - r = getRandomRange(1, self.key.n-1, randfunc=self._randfunc) - # Step 2: Compute c' = c * r**e mod n - cp = self.key._blind(ciphertext, r) - # Step 3: Compute m' = c'**d mod n (ordinary RSA decryption) - mp = self.key._decrypt(cp) - # Step 4: Compute m = m**(r-1) mod n - return self.key._unblind(mp, r) - - def _blind(self, m, r): - return self.key._blind(m, r) - - def _unblind(self, m, r): - return self.key._unblind(m, r) - - def _sign(self, m, K=None): - return (self.key._sign(m),) - - def _verify(self, m, sig): - #(s,) = sig - (s,) = sig[:1] # HACK - We should use the previous line instead, but - # this is more compatible and we're going to replace - # the Crypto.PublicKey API soon anyway. - return self.key._verify(m, s) - - def has_private(self): - return self.key.has_private() - - def size(self): - return self.key.size() - - def can_blind(self): - return True - - def can_encrypt(self): - return True - - def can_sign(self): - return True - - def publickey(self): - return self.implementation.construct((self.key.n, self.key.e)) - - def __getstate__(self): - d = {} - for k in self.keydata: - try: - d[k] = getattr(self.key, k) - except AttributeError: - pass - return d - - def __setstate__(self, d): - if not hasattr(self, 'implementation'): - self.implementation = RSAImplementation() - t = [] - for k in self.keydata: - if k not in d: - break - t.append(d[k]) - self.key = self.implementation._math.rsa_construct(*tuple(t)) - - def __repr__(self): - attrs = [] - for k in self.keydata: - if k == 'n': - attrs.append("n(%d)" % (self.size()+1,)) - elif hasattr(self.key, k): - attrs.append(k) - if self.has_private(): - attrs.append("private") - # PY3K: This is meant to be text, do not change to bytes (data) - return "<%s @0x%x %s>" % (self.__class__.__name__, id(self), ",".join(attrs)) - - def exportKey(self, format='PEM', passphrase=None, pkcs=1): - """Export this RSA key. - - :Parameter format: The format to use for wrapping the key. - - - *'DER'*. Binary encoding, always unencrypted. - - *'PEM'*. Textual encoding, done according to `RFC1421`_/`RFC1423`_. - Unencrypted (default) or encrypted. - - *'OpenSSH'*. Textual encoding, done according to OpenSSH specification. - Only suitable for public keys (not private keys). - :Type format: string - - :Parameter passphrase: In case of PEM, the pass phrase to derive the encryption key from. - :Type passphrase: string - - :Parameter pkcs: The PKCS standard to follow for assembling the key. - You have two choices: - - - with **1**, the public key is embedded into an X.509 `SubjectPublicKeyInfo` DER SEQUENCE. - The private key is embedded into a `PKCS#1`_ `RSAPrivateKey` DER SEQUENCE. - This mode is the default. - - with **8**, the private key is embedded into a `PKCS#8`_ `PrivateKeyInfo` DER SEQUENCE. - This mode is not available for public keys. - - PKCS standards are not relevant for the *OpenSSH* format. - :Type pkcs: integer - - :Return: A byte string with the encoded public or private half. - :Raise ValueError: - When the format is unknown. - - .. _RFC1421: http://www.ietf.org/rfc/rfc1421.txt - .. _RFC1423: http://www.ietf.org/rfc/rfc1423.txt - .. _`PKCS#1`: http://www.ietf.org/rfc/rfc3447.txt - .. _`PKCS#8`: http://www.ietf.org/rfc/rfc5208.txt - """ - if passphrase is not None: - passphrase = tobytes(passphrase) - if format=='OpenSSH': - eb = long_to_bytes(self.e) - nb = long_to_bytes(self.n) - if bord(eb[0]) & 0x80: eb=bchr(0x00)+eb - if bord(nb[0]) & 0x80: nb=bchr(0x00)+nb - keyparts = [ 'ssh-rsa', eb, nb ] - keystring = ''.join([ struct.pack(">I",len(kp))+kp for kp in keyparts]) - return 'ssh-rsa '+binascii.b2a_base64(keystring)[:-1] - - # DER format is always used, even in case of PEM, which simply - # encodes it into BASE64. - der = DerSequence() - if self.has_private(): - keyType= { 1: 'RSA PRIVATE', 8: 'PRIVATE' }[pkcs] - der[:] = [ 0, self.n, self.e, self.d, self.p, self.q, - self.d % (self.p-1), self.d % (self.q-1), - inverse(self.q, self.p) ] - if pkcs==8: - derkey = der.encode() - der = DerSequence([0]) - der.append(algorithmIdentifier) - der.append(DerObject('OCTET STRING', derkey).encode()) - else: - keyType = "PUBLIC" - der.append(algorithmIdentifier) - bitmap = DerObject('BIT STRING') - derPK = DerSequence( [ self.n, self.e ] ) - bitmap.payload = bchr(0x00) + derPK.encode() - der.append(bitmap.encode()) - if format=='DER': - return der.encode() - if format=='PEM': - pem = b("-----BEGIN " + keyType + " KEY-----\n") - objenc = None - if passphrase and keyType.endswith('PRIVATE'): - # We only support 3DES for encryption - import Crypto.Hash.MD5 - from Crypto.Cipher import DES3 - from Crypto.Protocol.KDF import PBKDF1 - salt = self._randfunc(8) - key = PBKDF1(passphrase, salt, 16, 1, Crypto.Hash.MD5) - key += PBKDF1(key+passphrase, salt, 8, 1, Crypto.Hash.MD5) - objenc = DES3.new(key, Crypto.Cipher.DES3.MODE_CBC, salt) - pem += b('Proc-Type: 4,ENCRYPTED\n') - pem += b('DEK-Info: DES-EDE3-CBC,') + binascii.b2a_hex(salt).upper() + b('\n\n') - - binaryKey = der.encode() - if objenc: - # Add PKCS#7-like padding - padding = objenc.block_size-len(binaryKey)%objenc.block_size - binaryKey = objenc.encrypt(binaryKey+bchr(padding)*padding) - - # Each BASE64 line can take up to 64 characters (=48 bytes of data) - chunks = [ binascii.b2a_base64(binaryKey[i:i+48]) for i in range(0, len(binaryKey), 48) ] - pem += b('').join(chunks) - pem += b("-----END " + keyType + " KEY-----") - return pem - return ValueError("Unknown key format '%s'. Cannot export the RSA key." % format) - -class RSAImplementation(object): - """ - An RSA key factory. - - This class is only internally used to implement the methods of the `Crypto.PublicKey.RSA` module. - - :sort: __init__,generate,construct,importKey - :undocumented: _g*, _i* - """ - - def __init__(self, **kwargs): - """Create a new RSA key factory. - - :Keywords: - use_fast_math : bool - Specify which mathematic library to use: - - - *None* (default). Use fastest math available. - - *True* . Use fast math. - - *False* . Use slow math. - default_randfunc : callable - Specify how to collect random data: - - - *None* (default). Use Random.new().read(). - - not *None* . Use the specified function directly. - :Raise RuntimeError: - When **use_fast_math** =True but fast math is not available. - """ - use_fast_math = kwargs.get('use_fast_math', None) - if use_fast_math is None: # Automatic - if _fastmath is not None: - self._math = _fastmath - else: - self._math = _slowmath - - elif use_fast_math: # Explicitly select fast math - if _fastmath is not None: - self._math = _fastmath - else: - raise RuntimeError("fast math module not available") - - else: # Explicitly select slow math - self._math = _slowmath - - self.error = self._math.error - - self._default_randfunc = kwargs.get('default_randfunc', None) - self._current_randfunc = None - - def _get_randfunc(self, randfunc): - if randfunc is not None: - return randfunc - elif self._current_randfunc is None: - self._current_randfunc = Random.new().read - return self._current_randfunc - - def generate(self, bits, randfunc=None, progress_func=None, e=65537): - """Randomly generate a fresh, new RSA key. - - :Parameters: - bits : int - Key length, or size (in bits) of the RSA modulus. - It must be a multiple of 256, and no smaller than 1024. - - randfunc : callable - Random number generation function; it should accept - a single integer N and return a string of random data - N bytes long. - If not specified, a new one will be instantiated - from ``Crypto.Random``. - - progress_func : callable - Optional function that will be called with a short string - containing the key parameter currently being generated; - it's useful for interactive applications where a user is - waiting for a key to be generated. - - e : int - Public RSA exponent. It must be an odd positive integer. - It is typically a small number with very few ones in its - binary representation. - The default value 65537 (= ``0b10000000000000001`` ) is a safe - choice: other common values are 5, 7, 17, and 257. - - :attention: You should always use a cryptographically secure random number generator, - such as the one defined in the ``Crypto.Random`` module; **don't** just use the - current time and the ``random`` module. - - :attention: Exponent 3 is also widely used, but it requires very special care when padding - the message. - - :Return: An RSA key object (`_RSAobj`). - - :Raise ValueError: - When **bits** is too little or not a multiple of 256, or when - **e** is not odd or smaller than 2. - """ - if bits < 1024 or (bits & 0xff) != 0: - # pubkey.getStrongPrime doesn't like anything that's not a multiple of 256 and >= 1024 - raise ValueError("RSA modulus length must be a multiple of 256 and >= 1024") - if e%2==0 or e<3: - raise ValueError("RSA public exponent must be a positive, odd integer larger than 2.") - rf = self._get_randfunc(randfunc) - obj = _RSA.generate_py(bits, rf, progress_func, e) # TODO: Don't use legacy _RSA module - key = self._math.rsa_construct(obj.n, obj.e, obj.d, obj.p, obj.q, obj.u) - return _RSAobj(self, key) - - def construct(self, tup): - """Construct an RSA key from a tuple of valid RSA components. - - The modulus **n** must be the product of two primes. - The public exponent **e** must be odd and larger than 1. - - In case of a private key, the following equations must apply: - - - e != 1 - - p*q = n - - e*d = 1 mod (p-1)(q-1) - - p*u = 1 mod q - - :Parameters: - tup : tuple - A tuple of long integers, with at least 2 and no - more than 6 items. The items come in the following order: - - 1. RSA modulus (n). - 2. Public exponent (e). - 3. Private exponent (d). Only required if the key is private. - 4. First factor of n (p). Optional. - 5. Second factor of n (q). Optional. - 6. CRT coefficient, (1/p) mod q (u). Optional. - - :Return: An RSA key object (`_RSAobj`). - """ - key = self._math.rsa_construct(*tup) - return _RSAobj(self, key) - - def _importKeyDER(self, externKey): - """Import an RSA key (public or private half), encoded in DER form.""" - - try: - - der = DerSequence() - der.decode(externKey, True) - - # Try PKCS#1 first, for a private key - if len(der)==9 and der.hasOnlyInts() and der[0]==0: - # ASN.1 RSAPrivateKey element - del der[6:] # Remove d mod (p-1), d mod (q-1), and q^{-1} mod p - der.append(inverse(der[4],der[5])) # Add p^{-1} mod q - del der[0] # Remove version - return self.construct(der[:]) - - # Keep on trying PKCS#1, but now for a public key - if len(der)==2: - # The DER object is an RSAPublicKey SEQUENCE with two elements - if der.hasOnlyInts(): - return self.construct(der[:]) - # The DER object is a SubjectPublicKeyInfo SEQUENCE with two elements: - # an 'algorithm' (or 'algorithmIdentifier') SEQUENCE and a 'subjectPublicKey' BIT STRING. - # 'algorithm' takes the value given a few lines above. - # 'subjectPublicKey' encapsulates the actual ASN.1 RSAPublicKey element. - if der[0]==algorithmIdentifier: - bitmap = DerObject() - bitmap.decode(der[1], True) - if bitmap.isType('BIT STRING') and bord(bitmap.payload[0])==0x00: - der.decode(bitmap.payload[1:], True) - if len(der)==2 and der.hasOnlyInts(): - return self.construct(der[:]) - - # Try unencrypted PKCS#8 - if der[0]==0: - # The second element in the SEQUENCE is algorithmIdentifier. - # It must say RSA (see above for description). - if der[1]==algorithmIdentifier: - privateKey = DerObject() - privateKey.decode(der[2], True) - if privateKey.isType('OCTET STRING'): - return self._importKeyDER(privateKey.payload) - - except ValueError as IndexError: - pass - - raise ValueError("RSA key format is not supported") - - def importKey(self, externKey, passphrase=None): - """Import an RSA key (public or private half), encoded in standard form. - - :Parameter externKey: - The RSA key to import, encoded as a string. - - An RSA public key can be in any of the following formats: - - - X.509 `subjectPublicKeyInfo` DER SEQUENCE (binary or PEM encoding) - - `PKCS#1`_ `RSAPublicKey` DER SEQUENCE (binary or PEM encoding) - - OpenSSH (textual public key only) - - An RSA private key can be in any of the following formats: - - - PKCS#1 `RSAPrivateKey` DER SEQUENCE (binary or PEM encoding) - - `PKCS#8`_ `PrivateKeyInfo` DER SEQUENCE (binary or PEM encoding) - - OpenSSH (textual public key only) - - For details about the PEM encoding, see `RFC1421`_/`RFC1423`_. - - In case of PEM encoding, the private key can be encrypted with DES or 3TDES according to a certain ``pass phrase``. - Only OpenSSL-compatible pass phrases are supported. - :Type externKey: string - - :Parameter passphrase: - In case of an encrypted PEM key, this is the pass phrase from which the encryption key is derived. - :Type passphrase: string - - :Return: An RSA key object (`_RSAobj`). - - :Raise ValueError/IndexError/TypeError: - When the given key cannot be parsed (possibly because the pass phrase is wrong). - - .. _RFC1421: http://www.ietf.org/rfc/rfc1421.txt - .. _RFC1423: http://www.ietf.org/rfc/rfc1423.txt - .. _`PKCS#1`: http://www.ietf.org/rfc/rfc3447.txt - .. _`PKCS#8`: http://www.ietf.org/rfc/rfc5208.txt - """ - externKey = tobytes(externKey) - if passphrase is not None: - passphrase = tobytes(passphrase) - - if externKey.startswith(b('-----')): - # This is probably a PEM encoded key - lines = externKey.replace(b(" "),b('')).split() - keyobj = None - - # The encrypted PEM format - if lines[1].startswith(b('Proc-Type:4,ENCRYPTED')): - DEK = lines[2].split(b(':')) - if len(DEK)!=2 or DEK[0]!=b('DEK-Info') or not passphrase: - raise ValueError("PEM encryption format not supported.") - algo, salt = DEK[1].split(b(',')) - salt = binascii.a2b_hex(salt) - import Crypto.Hash.MD5 - from Crypto.Cipher import DES, DES3 - from Crypto.Protocol.KDF import PBKDF1 - if algo==b("DES-CBC"): - # This is EVP_BytesToKey in OpenSSL - key = PBKDF1(passphrase, salt, 8, 1, Crypto.Hash.MD5) - keyobj = DES.new(key, Crypto.Cipher.DES.MODE_CBC, salt) - elif algo==b("DES-EDE3-CBC"): - # Note that EVP_BytesToKey is note exactly the same as PBKDF1 - key = PBKDF1(passphrase, salt, 16, 1, Crypto.Hash.MD5) - key += PBKDF1(key+passphrase, salt, 8, 1, Crypto.Hash.MD5) - keyobj = DES3.new(key, Crypto.Cipher.DES3.MODE_CBC, salt) - else: - raise ValueError("Unsupport PEM encryption algorithm.") - lines = lines[2:] - - der = binascii.a2b_base64(b('').join(lines[1:-1])) - if keyobj: - der = keyobj.decrypt(der) - padding = bord(der[-1]) - der = der[:-padding] - return self._importKeyDER(der) - - if externKey.startswith(b('ssh-rsa ')): - # This is probably an OpenSSH key - keystring = binascii.a2b_base64(externKey.split(b(' '))[1]) - keyparts = [] - while len(keystring)>4: - l = struct.unpack(">I",keystring[:4])[0] - keyparts.append(keystring[4:4+l]) - keystring = keystring[4+l:] - e = bytes_to_long(keyparts[1]) - n = bytes_to_long(keyparts[2]) - return self.construct([n, e]) - if bord(externKey[0])==0x30: - # This is probably a DER encoded key - return self._importKeyDER(externKey) - - raise ValueError("RSA key format is not supported") - -#: This is the ASN.1 DER object that qualifies an algorithm as -#: compliant to PKCS#1 (that is, the standard RSA). -# It is found in all 'algorithm' fields (also called 'algorithmIdentifier'). -# It is a SEQUENCE with the oid assigned to RSA and with its parameters (none). -# 0x06 0x09 OBJECT IDENTIFIER, 9 bytes of payload -# 0x2A 0x86 0x48 0x86 0xF7 0x0D 0x01 0x01 0x01 -# rsaEncryption (1 2 840 113549 1 1 1) (PKCS #1) -# 0x05 0x00 NULL -algorithmIdentifier = DerSequence( - [ b('\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01'), - DerNull().encode() ] - ).encode() - -_impl = RSAImplementation() -#: -#: Randomly generate a fresh, new RSA key object. -#: -#: See `RSAImplementation.generate`. -#: -generate = _impl.generate -#: -#: Construct an RSA key object from a tuple of valid RSA components. -#: -#: See `RSAImplementation.construct`. -#: -construct = _impl.construct -#: -#: Import an RSA key (public or private half), encoded in standard form. -#: -#: See `RSAImplementation.importKey`. -#: -importKey = _impl.importKey -error = _impl.error - -# vim:set ts=4 sw=4 sts=4 expandtab: - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_DSA.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_DSA.py deleted file mode 100644 index 1787ced..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_DSA.py +++ /dev/null @@ -1,115 +0,0 @@ - -# -# DSA.py : Digital Signature Algorithm -# -# Part of the Python Cryptography Toolkit -# -# Written by Andrew Kuchling, Paul Swartz, and others -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -# - -__revision__ = "$Id$" - -from Crypto.PublicKey.pubkey import * -from Crypto.Util import number -from Crypto.Util.number import bytes_to_long, long_to_bytes -from Crypto.Hash import SHA -from Crypto.Util.py3compat import * - -class error (Exception): - pass - -def generateQ(randfunc): - S=randfunc(20) - hash1=SHA.new(S).digest() - hash2=SHA.new(long_to_bytes(bytes_to_long(S)+1)).digest() - q = bignum(0) - for i in range(0,20): - c=bord(hash1[i])^bord(hash2[i]) - if i==0: - c=c | 128 - if i==19: - c= c | 1 - q=q*256+c - while (not isPrime(q)): - q=q+2 - if pow(2,159) < q < pow(2,160): - return S, q - raise RuntimeError('Bad q value generated') - -def generate_py(bits, randfunc, progress_func=None): - """generate(bits:int, randfunc:callable, progress_func:callable) - - Generate a DSA key of length 'bits', using 'randfunc' to get - random data and 'progress_func', if present, to display - the progress of the key generation. - """ - - if bits<160: - raise ValueError('Key length < 160 bits') - obj=DSAobj() - # Generate string S and prime q - if progress_func: - progress_func('p,q\n') - while (1): - S, obj.q = generateQ(randfunc) - n=divmod(bits-1, 160)[0] - C, N, V = 0, 2, {} - b=(obj.q >> 5) & 15 - powb=pow(bignum(2), b) - powL1=pow(bignum(2), bits-1) - while C<4096: - for k in range(0, n+1): - V[k]=bytes_to_long(SHA.new(S+bstr(N)+bstr(k)).digest()) - W=V[n] % powb - for k in range(n-1, -1, -1): - W=(W<<160)+V[k] - X=W+powL1 - p=X-(X%(2*obj.q)-1) - if powL1<=p and isPrime(p): - break - C, N = C+1, N+n+1 - if C<4096: - break - if progress_func: - progress_func('4096 multiples failed\n') - - obj.p = p - power=divmod(p-1, obj.q)[0] - if progress_func: - progress_func('h,g\n') - while (1): - h=bytes_to_long(randfunc(bits)) % (p-1) - g=pow(h, power, p) - if 11: - break - obj.g=g - if progress_func: - progress_func('x,y\n') - while (1): - x=bytes_to_long(randfunc(20)) - if 0 < x < obj.q: - break - obj.x, obj.y = x, pow(g, x, p) - return obj - -class DSAobj: - pass - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_RSA.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_RSA.py deleted file mode 100644 index 601ab7c..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_RSA.py +++ /dev/null @@ -1,81 +0,0 @@ -# -# RSA.py : RSA encryption/decryption -# -# Part of the Python Cryptography Toolkit -# -# Written by Andrew Kuchling, Paul Swartz, and others -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -# - -__revision__ = "$Id$" - -from Crypto.PublicKey import pubkey -from Crypto.Util import number - -def generate_py(bits, randfunc, progress_func=None, e=65537): - """generate(bits:int, randfunc:callable, progress_func:callable, e:int) - - Generate an RSA key of length 'bits', public exponent 'e'(which must be - odd), using 'randfunc' to get random data and 'progress_func', - if present, to display the progress of the key generation. - """ - obj=RSAobj() - obj.e = int(e) - - # Generate the prime factors of n - if progress_func: - progress_func('p,q\n') - p = q = 1 - while number.size(p*q) < bits: - # Note that q might be one bit longer than p if somebody specifies an odd - # number of bits for the key. (Why would anyone do that? You don't get - # more security.) - p = pubkey.getStrongPrime(bits>>1, obj.e, 1e-12, randfunc) - q = pubkey.getStrongPrime(bits - (bits>>1), obj.e, 1e-12, randfunc) - - # It's OK for p to be larger than q, but let's be - # kind to the function that will invert it for - # th calculation of u. - if p > q: - (p, q)=(q, p) - obj.p = p - obj.q = q - - if progress_func: - progress_func('u\n') - obj.u = pubkey.inverse(obj.p, obj.q) - obj.n = obj.p*obj.q - - if progress_func: - progress_func('d\n') - obj.d=pubkey.inverse(obj.e, (obj.p-1)*(obj.q-1)) - - assert bits <= 1+obj.size(), "Generated key is too small" - - return obj - -class RSAobj(pubkey.pubkey): - - def size(self): - """size() : int - Return the maximum number of bits that can be handled by this key. - """ - return number.size(self.n) - 1 - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/__init__.py deleted file mode 100644 index 503809f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/__init__.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Public-key encryption and signature algorithms. - -Public-key encryption uses two different keys, one for encryption and -one for decryption. The encryption key can be made public, and the -decryption key is kept private. Many public-key algorithms can also -be used to sign messages, and some can *only* be used for signatures. - -======================== ============================================= -Module Description -======================== ============================================= -Crypto.PublicKey.DSA Digital Signature Algorithm (Signature only) -Crypto.PublicKey.ElGamal (Signing and encryption) -Crypto.PublicKey.RSA (Signing, encryption, and blinding) -======================== ============================================= - -:undocumented: _DSA, _RSA, _fastmath, _slowmath, pubkey -""" - -__all__ = ['RSA', 'DSA', 'ElGamal'] -__revision__ = "$Id$" - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_slowmath.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_slowmath.py deleted file mode 100644 index c87bdd2..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/PublicKey/_slowmath.py +++ /dev/null @@ -1,187 +0,0 @@ -# -*- coding: utf-8 -*- -# -# PubKey/RSA/_slowmath.py : Pure Python implementation of the RSA portions of _fastmath -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Pure Python implementation of the RSA-related portions of Crypto.PublicKey._fastmath.""" - -__revision__ = "$Id$" - -__all__ = ['rsa_construct'] - -import sys - -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.number import size, inverse, GCD - -class error(Exception): - pass - -class _RSAKey(object): - def _blind(self, m, r): - # compute r**e * m (mod n) - return m * pow(r, self.e, self.n) - - def _unblind(self, m, r): - # compute m / r (mod n) - return inverse(r, self.n) * m % self.n - - def _decrypt(self, c): - # compute c**d (mod n) - if not self.has_private(): - raise TypeError("No private key") - if (hasattr(self,'p') and hasattr(self,'q') and hasattr(self,'u')): - m1 = pow(c, self.d % (self.p-1), self.p) - m2 = pow(c, self.d % (self.q-1), self.q) - h = m2 - m1 - if (h<0): - h = h + self.q - h = h*self.u % self.q - return h*self.p+m1 - return pow(c, self.d, self.n) - - def _encrypt(self, m): - # compute m**d (mod n) - return pow(m, self.e, self.n) - - def _sign(self, m): # alias for _decrypt - if not self.has_private(): - raise TypeError("No private key") - return self._decrypt(m) - - def _verify(self, m, sig): - return self._encrypt(sig) == m - - def has_private(self): - return hasattr(self, 'd') - - def size(self): - """Return the maximum number of bits that can be encrypted""" - return size(self.n) - 1 - -def rsa_construct(n, e, d=None, p=None, q=None, u=None): - """Construct an RSAKey object""" - assert isinstance(n, int) - assert isinstance(e, int) - assert isinstance(d, (int, type(None))) - assert isinstance(p, (int, type(None))) - assert isinstance(q, (int, type(None))) - assert isinstance(u, (int, type(None))) - obj = _RSAKey() - obj.n = n - obj.e = e - if d is None: - return obj - obj.d = d - if p is not None and q is not None: - obj.p = p - obj.q = q - else: - # Compute factors p and q from the private exponent d. - # We assume that n has no more than two factors. - # See 8.2.2(i) in Handbook of Applied Cryptography. - ktot = d*e-1 - # The quantity d*e-1 is a multiple of phi(n), even, - # and can be represented as t*2^s. - t = ktot - while t%2==0: - t=divmod(t,2)[0] - # Cycle through all multiplicative inverses in Zn. - # The algorithm is non-deterministic, but there is a 50% chance - # any candidate a leads to successful factoring. - # See "Digitalized Signatures and Public Key Functions as Intractable - # as Factorization", M. Rabin, 1979 - spotted = 0 - a = 2 - while not spotted and a<100: - k = t - # Cycle through all values a^{t*2^i}=a^k - while k -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -from binascii import b2a_hex -import time -import warnings - -from Crypto.pct_warnings import ClockRewindWarning -from . import SHAd256 - -from . import FortunaGenerator - -class FortunaPool(object): - """Fortuna pool type - - This object acts like a hash object, with the following differences: - - - It keeps a count (the .length attribute) of the number of bytes that - have been added to the pool - - It supports a .reset() method for in-place reinitialization - - The method to add bytes to the pool is .append(), not .update(). - """ - - digest_size = SHAd256.digest_size - - def __init__(self): - self.reset() - - def append(self, data): - self._h.update(data) - self.length += len(data) - - def digest(self): - return self._h.digest() - - def hexdigest(self): - if sys.version_info[0] == 2: - return b2a_hex(self.digest()) - else: - return b2a_hex(self.digest()).decode() - - def reset(self): - self._h = SHAd256.new() - self.length = 0 - -def which_pools(r): - """Return a list of pools indexes (in range(32)) that are to be included during reseed number r. - - According to _Practical Cryptography_, chapter 10.5.2 "Pools": - - "Pool P_i is included if 2**i is a divisor of r. Thus P_0 is used - every reseed, P_1 every other reseed, P_2 every fourth reseed, etc." - """ - # This is a separate function so that it can be unit-tested. - assert r >= 1 - retval = [] - mask = 0 - for i in range(32): - # "Pool P_i is included if 2**i is a divisor of [reseed_count]" - if (r & mask) == 0: - retval.append(i) - else: - break # optimization. once this fails, it always fails - mask = (mask << 1) | 1 - return retval - -class FortunaAccumulator(object): - - # An estimate of how many bytes we must append to pool 0 before it will - # contain 128 bits of entropy (with respect to an attack). We reseed the - # generator only after pool 0 contains `min_pool_size` bytes. Note that - # unlike with some other PRNGs, Fortuna's security does not rely on the - # accuracy of this estimate---we can accord to be optimistic here. - min_pool_size = 64 # size in bytes - - # If an attacker can predict some (but not all) of our entropy sources, the - # `min_pool_size` check may not be sufficient to prevent a successful state - # compromise extension attack. To resist this attack, Fortuna spreads the - # input across 32 pools, which are then consumed (to reseed the output - # generator) with exponentially decreasing frequency. - # - # In order to prevent an attacker from gaining knowledge of all 32 pools - # before we have a chance to fill them with enough information that the - # attacker cannot predict, we impose a rate limit of 10 reseeds/second (one - # per 100 ms). This ensures that a hypothetical 33rd pool would only be - # needed after a minimum of 13 years of sustained attack. - reseed_interval = 0.100 # time in seconds - - def __init__(self): - self.reseed_count = 0 - self.generator = FortunaGenerator.AESGenerator() - self.last_reseed = None - - # Initialize 32 FortunaPool instances. - # NB: This is _not_ equivalent to [FortunaPool()]*32, which would give - # us 32 references to the _same_ FortunaPool instance (and cause the - # assertion below to fail). - self.pools = [FortunaPool() for i in range(32)] # 32 pools - assert(self.pools[0] is not self.pools[1]) - - def _forget_last_reseed(self): - # This is not part of the standard Fortuna definition, and using this - # function frequently can weaken Fortuna's ability to resist a state - # compromise extension attack, but we need this in order to properly - # implement Crypto.Random.atfork(). Otherwise, forked child processes - # might continue to use their parent's PRNG state for up to 100ms in - # some cases. (e.g. CVE-2013-1445) - self.last_reseed = None - - def random_data(self, bytes): - current_time = time.time() - if (self.last_reseed is not None and self.last_reseed > current_time): # Avoid float comparison to None to make Py3k happy - warnings.warn("Clock rewind detected. Resetting last_reseed.", ClockRewindWarning) - self.last_reseed = None - if (self.pools[0].length >= self.min_pool_size and - (self.last_reseed is None or - current_time > self.last_reseed + self.reseed_interval)): - self._reseed(current_time) - # The following should fail if we haven't seeded the pool yet. - return self.generator.pseudo_random_data(bytes) - - def _reseed(self, current_time=None): - if current_time is None: - current_time = time.time() - seed = [] - self.reseed_count += 1 - self.last_reseed = current_time - for i in which_pools(self.reseed_count): - seed.append(self.pools[i].digest()) - self.pools[i].reset() - - seed = b("").join(seed) - self.generator.reseed(seed) - - def add_random_event(self, source_number, pool_number, data): - assert 1 <= len(data) <= 32 - assert 0 <= source_number <= 255 - assert 0 <= pool_number <= 31 - self.pools[pool_number].append(bchr(source_number)) - self.pools[pool_number].append(bchr(len(data))) - self.pools[pool_number].append(data) - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/FortunaGenerator.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/FortunaGenerator.py deleted file mode 100644 index 489c81e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/FortunaGenerator.py +++ /dev/null @@ -1,132 +0,0 @@ -# -*- coding: ascii -*- -# -# FortunaGenerator.py : Fortuna's internal PRNG -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - -import sys -if sys.version_info[0] is 2 and sys.version_info[1] is 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -import struct - -from Crypto.Util.number import ceil_shift, exact_log2, exact_div -from Crypto.Util import Counter -from Crypto.Cipher import AES - -from . import SHAd256 - -class AESGenerator(object): - """The Fortuna "generator" - - This is used internally by the Fortuna PRNG to generate arbitrary amounts - of pseudorandom data from a smaller amount of seed data. - - The output is generated by running AES-256 in counter mode and re-keying - after every mebibyte (2**16 blocks) of output. - """ - - block_size = AES.block_size # output block size in octets (128 bits) - key_size = 32 # key size in octets (256 bits) - - # Because of the birthday paradox, we expect to find approximately one - # collision for every 2**64 blocks of output from a real random source. - # However, this code generates pseudorandom data by running AES in - # counter mode, so there will be no collisions until the counter - # (theoretically) wraps around at 2**128 blocks. Thus, in order to prevent - # Fortuna's pseudorandom output from deviating perceptibly from a true - # random source, Ferguson and Schneier specify a limit of 2**16 blocks - # without rekeying. - max_blocks_per_request = 2**16 # Allow no more than this number of blocks per _pseudo_random_data request - - _four_kiblocks_of_zeros = b("\0") * block_size * 4096 - - def __init__(self): - self.counter = Counter.new(nbits=self.block_size*8, initial_value=0, little_endian=True) - self.key = None - - # Set some helper constants - self.block_size_shift = exact_log2(self.block_size) - assert (1 << self.block_size_shift) == self.block_size - - self.blocks_per_key = exact_div(self.key_size, self.block_size) - assert self.key_size == self.blocks_per_key * self.block_size - - self.max_bytes_per_request = self.max_blocks_per_request * self.block_size - - def reseed(self, seed): - if self.key is None: - self.key = b("\0") * self.key_size - - self._set_key(SHAd256.new(self.key + seed).digest()) - self.counter() # increment counter - assert len(self.key) == self.key_size - - def pseudo_random_data(self, bytes): - assert bytes >= 0 - - num_full_blocks = bytes >> 20 - remainder = bytes & ((1<<20)-1) - - retval = [] - for i in range(num_full_blocks): - retval.append(self._pseudo_random_data(1<<20)) - retval.append(self._pseudo_random_data(remainder)) - - return b("").join(retval) - - def _set_key(self, key): - self.key = key - self._cipher = AES.new(key, AES.MODE_CTR, counter=self.counter) - - def _pseudo_random_data(self, bytes): - if not (0 <= bytes <= self.max_bytes_per_request): - raise AssertionError("You cannot ask for more than 1 MiB of data per request") - - num_blocks = ceil_shift(bytes, self.block_size_shift) # num_blocks = ceil(bytes / self.block_size) - - # Compute the output - retval = self._generate_blocks(num_blocks)[:bytes] - - # Switch to a new key to avoid later compromises of this output (i.e. - # state compromise extension attacks) - self._set_key(self._generate_blocks(self.blocks_per_key)) - - assert len(retval) == bytes - assert len(self.key) == self.key_size - - return retval - - def _generate_blocks(self, num_blocks): - if self.key is None: - raise AssertionError("generator must be seeded before use") - assert 0 <= num_blocks <= self.max_blocks_per_request - retval = [] - for i in range(num_blocks >> 12): # xrange(num_blocks / 4096) - retval.append(self._cipher.encrypt(self._four_kiblocks_of_zeros)) - remaining_bytes = (num_blocks & 4095) << self.block_size_shift # (num_blocks % 4095) * self.block_size - retval.append(self._cipher.encrypt(self._four_kiblocks_of_zeros[:remaining_bytes])) - return b("").join(retval) - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/SHAd256.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/SHAd256.py deleted file mode 100644 index 2e135c9..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/SHAd256.py +++ /dev/null @@ -1,98 +0,0 @@ -# -*- coding: ascii -*- -# -# Random/Fortuna/SHAd256.py : SHA_d-256 hash function implementation -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""\ -SHA_d-256 hash function implementation. - -This module should comply with PEP 247. -""" - -__revision__ = "$Id$" -__all__ = ['new', 'digest_size'] - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -from binascii import b2a_hex - -from Crypto.Hash import SHA256 - -assert SHA256.digest_size == 32 - -class _SHAd256(object): - """SHA-256, doubled. - - Returns SHA-256(SHA-256(data)). - """ - - digest_size = SHA256.digest_size - - _internal = object() - - def __init__(self, internal_api_check, sha256_hash_obj): - if internal_api_check is not self._internal: - raise AssertionError("Do not instantiate this class directly. Use %s.new()" % (__name__,)) - self._h = sha256_hash_obj - - # PEP 247 "copy" method - def copy(self): - """Return a copy of this hashing object""" - return _SHAd256(SHAd256._internal, self._h.copy()) - - # PEP 247 "digest" method - def digest(self): - """Return the hash value of this object as a binary string""" - retval = SHA256.new(self._h.digest()).digest() - assert len(retval) == 32 - return retval - - # PEP 247 "hexdigest" method - def hexdigest(self): - """Return the hash value of this object as a (lowercase) hexadecimal string""" - retval = b2a_hex(self.digest()) - assert len(retval) == 64 - if sys.version_info[0] == 2: - return retval - else: - return retval.decode() - - # PEP 247 "update" method - def update(self, data): - self._h.update(data) - -# PEP 247 module-level "digest_size" variable -digest_size = _SHAd256.digest_size - -# PEP 247 module-level "new" function -def new(data=None): - """Return a new SHAd256 hashing object""" - if not data: - data=b("") - sha = _SHAd256(_SHAd256._internal, SHA256.new(data)) - sha.new = globals()['new'] - return sha - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/Fortuna/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/__init__.py deleted file mode 100644 index 2fbbecb..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/__init__.py +++ /dev/null @@ -1,40 +0,0 @@ -# -# Random/OSRNG/__init__.py : Platform-independent OS RNG API -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Provides a platform-independent interface to the random number generators -supplied by various operating systems.""" - -__revision__ = "$Id$" - -import os - -if os.name == 'posix': - from Crypto.Random.OSRNG.posix import new -elif os.name == 'nt': - from Crypto.Random.OSRNG.nt import new -elif hasattr(os, 'urandom'): - from Crypto.Random.OSRNG.fallback import new -else: - raise ImportError("Not implemented") - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/fallback.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/fallback.py deleted file mode 100644 index 6d4130d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/fallback.py +++ /dev/null @@ -1,46 +0,0 @@ -# -# Random/OSRNG/fallback.py : Fallback entropy source for systems with os.urandom -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - - -__revision__ = "$Id$" -__all__ = ['PythonOSURandomRNG'] - -import os - -from .rng_base import BaseRNG - -class PythonOSURandomRNG(BaseRNG): - - name = "" - - def __init__(self): - self._read = os.urandom - BaseRNG.__init__(self) - - def _close(self): - self._read = None - -def new(*args, **kwargs): - return PythonOSURandomRNG(*args, **kwargs) - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/posix.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/posix.py deleted file mode 100644 index ceea7b7..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/posix.py +++ /dev/null @@ -1,86 +0,0 @@ -# -# Random/OSRNG/posix.py : OS entropy source for POSIX systems -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - - -__revision__ = "$Id$" -__all__ = ['DevURandomRNG'] - -import errno -import os -import stat - -from .rng_base import BaseRNG -from Crypto.Util.py3compat import b - -class DevURandomRNG(BaseRNG): - - def __init__(self, devname=None): - if devname is None: - self.name = "/dev/urandom" - else: - self.name = devname - - # Test that /dev/urandom is a character special device - f = open(self.name, "rb", 0) - fmode = os.fstat(f.fileno())[stat.ST_MODE] - if not stat.S_ISCHR(fmode): - f.close() - raise TypeError("%r is not a character special device" % (self.name,)) - - self.__file = f - - BaseRNG.__init__(self) - - def _close(self): - self.__file.close() - - def _read(self, N): - # Starting with Python 3 open with buffering=0 returns a FileIO object. - # FileIO.read behaves like read(2) and not like fread(3) and thus we - # have to handle the case that read returns less data as requested here - # more carefully. - data = b("") - while len(data) < N: - try: - d = self.__file.read(N - len(data)) - except IOError as e: - # read(2) has been interrupted by a signal; redo the read - if e.errno == errno.EINTR: - continue - raise - - if d is None: - # __file is in non-blocking mode and no data is available - return data - if len(d) == 0: - # __file is in blocking mode and arrived at EOF - return data - - data += d - return data - -def new(*args, **kwargs): - return DevURandomRNG(*args, **kwargs) - - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/rng_base.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/rng_base.py deleted file mode 100644 index 546f2e9..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/OSRNG/rng_base.py +++ /dev/null @@ -1,88 +0,0 @@ -# -# Random/OSRNG/rng_base.py : Base class for OSRNG -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * - -class BaseRNG(object): - - def __init__(self): - self.closed = False - self._selftest() - - def __del__(self): - self.close() - - def _selftest(self): - # Test that urandom can return data - data = self.read(16) - if len(data) != 16: - raise AssertionError("read truncated") - - # Test that we get different data every time (if we don't, the RNG is - # probably malfunctioning) - data2 = self.read(16) - if data == data2: - raise AssertionError("OS RNG returned duplicate data") - - # PEP 343: Support for the "with" statement - def __enter__(self): - pass - def __exit__(self): - """PEP 343 support""" - self.close() - - def close(self): - if not self.closed: - self._close() - self.closed = True - - def flush(self): - pass - - def read(self, N=-1): - """Return N bytes from the RNG.""" - if self.closed: - raise ValueError("I/O operation on closed file") - if not isinstance(N, int): - raise TypeError("an integer is required") - if N < 0: - raise ValueError("cannot read to end of infinite stream") - elif N == 0: - return "" - data = self._read(N) - if len(data) != N: - raise AssertionError("%s produced truncated output (requested %d, got %d)" % (self.name, N, len(data))) - return data - - def _close(self): - raise NotImplementedError("child class must implement this") - - def _read(self, N): - raise NotImplementedError("child class must implement this") - - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/_UserFriendlyRNG.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/_UserFriendlyRNG.py deleted file mode 100644 index 937c17d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/_UserFriendlyRNG.py +++ /dev/null @@ -1,230 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Random/_UserFriendlyRNG.py : A user-friendly random number generator -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * - -import os -import threading -import struct -import time -from math import floor - -from Crypto.Random import OSRNG -from Crypto.Random.Fortuna import FortunaAccumulator - -class _EntropySource(object): - def __init__(self, accumulator, src_num): - self._fortuna = accumulator - self._src_num = src_num - self._pool_num = 0 - - def feed(self, data): - self._fortuna.add_random_event(self._src_num, self._pool_num, data) - self._pool_num = (self._pool_num + 1) & 31 - -class _EntropyCollector(object): - - def __init__(self, accumulator): - self._osrng = OSRNG.new() - self._osrng_es = _EntropySource(accumulator, 255) - self._time_es = _EntropySource(accumulator, 254) - self._clock_es = _EntropySource(accumulator, 253) - - def reinit(self): - # Add 256 bits to each of the 32 pools, twice. (For a total of 16384 - # bits collected from the operating system.) - for i in range(2): - block = self._osrng.read(32*32) - for p in range(32): - self._osrng_es.feed(block[p*32:(p+1)*32]) - block = None - self._osrng.flush() - - def collect(self): - # Collect 64 bits of entropy from the operating system and feed it to Fortuna. - self._osrng_es.feed(self._osrng.read(8)) - - # Add the fractional part of time.time() - t = time.time() - self._time_es.feed(struct.pack("@I", int(2**30 * (t - floor(t))))) - - # Add the fractional part of time.clock() - t = time.clock() - self._clock_es.feed(struct.pack("@I", int(2**30 * (t - floor(t))))) - - -class _UserFriendlyRNG(object): - - def __init__(self): - self.closed = False - self._fa = FortunaAccumulator.FortunaAccumulator() - self._ec = _EntropyCollector(self._fa) - self.reinit() - - def reinit(self): - """Initialize the random number generator and seed it with entropy from - the operating system. - """ - - # Save the pid (helps ensure that Crypto.Random.atfork() gets called) - self._pid = os.getpid() - - # Collect entropy from the operating system and feed it to - # FortunaAccumulator - self._ec.reinit() - - # Override FortunaAccumulator's 100ms minimum re-seed interval. This - # is necessary to avoid a race condition between this function and - # self.read(), which that can otherwise cause forked child processes to - # produce identical output. (e.g. CVE-2013-1445) - # - # Note that if this function can be called frequently by an attacker, - # (and if the bits from OSRNG are insufficiently random) it will weaken - # Fortuna's ability to resist a state compromise extension attack. - self._fa._forget_last_reseed() - - def close(self): - self.closed = True - self._osrng = None - self._fa = None - - def flush(self): - pass - - def read(self, N): - """Return N bytes from the RNG.""" - if self.closed: - raise ValueError("I/O operation on closed file") - if not isinstance(N, int): - raise TypeError("an integer is required") - if N < 0: - raise ValueError("cannot read to end of infinite stream") - - # Collect some entropy and feed it to Fortuna - self._ec.collect() - - # Ask Fortuna to generate some bytes - retval = self._fa.random_data(N) - - # Check that we haven't forked in the meantime. (If we have, we don't - # want to use the data, because it might have been duplicated in the - # parent process. - self._check_pid() - - # Return the random data. - return retval - - def _check_pid(self): - # Lame fork detection to remind developers to invoke Random.atfork() - # after every call to os.fork(). Note that this check is not reliable, - # since process IDs can be reused on most operating systems. - # - # You need to do Random.atfork() in the child process after every call - # to os.fork() to avoid reusing PRNG state. If you want to avoid - # leaking PRNG state to child processes (for example, if you are using - # os.setuid()) then you should also invoke Random.atfork() in the - # *parent* process. - if os.getpid() != self._pid: - raise AssertionError("PID check failed. RNG must be re-initialized after fork(). Hint: Try Random.atfork()") - - -class _LockingUserFriendlyRNG(_UserFriendlyRNG): - def __init__(self): - self._lock = threading.Lock() - _UserFriendlyRNG.__init__(self) - - def close(self): - self._lock.acquire() - try: - return _UserFriendlyRNG.close(self) - finally: - self._lock.release() - - def reinit(self): - self._lock.acquire() - try: - return _UserFriendlyRNG.reinit(self) - finally: - self._lock.release() - - def read(self, bytes): - self._lock.acquire() - try: - return _UserFriendlyRNG.read(self, bytes) - finally: - self._lock.release() - -class RNGFile(object): - def __init__(self, singleton): - self.closed = False - self._singleton = singleton - - # PEP 343: Support for the "with" statement - def __enter__(self): - """PEP 343 support""" - def __exit__(self): - """PEP 343 support""" - self.close() - - def close(self): - # Don't actually close the singleton, just close this RNGFile instance. - self.closed = True - self._singleton = None - - def read(self, bytes): - if self.closed: - raise ValueError("I/O operation on closed file") - return self._singleton.read(bytes) - - def flush(self): - if self.closed: - raise ValueError("I/O operation on closed file") - -_singleton_lock = threading.Lock() -_singleton = None -def _get_singleton(): - global _singleton - _singleton_lock.acquire() - try: - if _singleton is None: - _singleton = _LockingUserFriendlyRNG() - return _singleton - finally: - _singleton_lock.release() - -def new(): - return RNGFile(_get_singleton()) - -def reinit(): - _get_singleton().reinit() - -def get_random_bytes(n): - """Return the specified number of cryptographically-strong random bytes.""" - return _get_singleton().read(n) - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/__init__.py deleted file mode 100644 index 659ffee..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/__init__.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Random/__init__.py : PyCrypto random number generation -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" -__all__ = ['new'] - -from Crypto.Random import OSRNG -from Crypto.Random import _UserFriendlyRNG - -def new(*args, **kwargs): - """Return a file-like object that outputs cryptographically random bytes.""" - return _UserFriendlyRNG.new(*args, **kwargs) - -def atfork(): - """Call this whenever you call os.fork()""" - _UserFriendlyRNG.reinit() - -def get_random_bytes(n): - """Return the specified number of cryptographically-strong random bytes.""" - return _UserFriendlyRNG.get_random_bytes(n) - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/random.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/random.py deleted file mode 100644 index cd9a221..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Random/random.py +++ /dev/null @@ -1,142 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Random/random.py : Strong alternative for the standard 'random' module -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""A cryptographically strong version of Python's standard "random" module.""" - -__revision__ = "$Id$" -__all__ = ['StrongRandom', 'getrandbits', 'randrange', 'randint', 'choice', 'shuffle', 'sample'] - -from Crypto import Random -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * - -class StrongRandom(object): - def __init__(self, rng=None, randfunc=None): - if randfunc is None and rng is None: - self._randfunc = None - elif randfunc is not None and rng is None: - self._randfunc = randfunc - elif randfunc is None and rng is not None: - self._randfunc = rng.read - else: - raise ValueError("Cannot specify both 'rng' and 'randfunc'") - - def getrandbits(self, k): - """Return a python long integer with k random bits.""" - if self._randfunc is None: - self._randfunc = Random.new().read - mask = (1 << k) - 1 - return mask & bytes_to_long(self._randfunc(ceil_div(k, 8))) - - def randrange(self, *args): - """randrange([start,] stop[, step]): - Return a randomly-selected element from range(start, stop, step).""" - if len(args) == 3: - (start, stop, step) = args - elif len(args) == 2: - (start, stop) = args - step = 1 - elif len(args) == 1: - (stop,) = args - start = 0 - step = 1 - else: - raise TypeError("randrange expected at most 3 arguments, got %d" % (len(args),)) - if (not isinstance(start, int) - or not isinstance(stop, int) - or not isinstance(step, int)): - raise TypeError("randrange requires integer arguments") - if step == 0: - raise ValueError("randrange step argument must not be zero") - - num_choices = ceil_div(stop - start, step) - if num_choices < 0: - num_choices = 0 - if num_choices < 1: - raise ValueError("empty range for randrange(%r, %r, %r)" % (start, stop, step)) - - # Pick a random number in the range of possible numbers - r = num_choices - while r >= num_choices: - r = self.getrandbits(size(num_choices)) - - return start + (step * r) - - def randint(self, a, b): - """Return a random integer N such that a <= N <= b.""" - if not isinstance(a, int) or not isinstance(b, int): - raise TypeError("randint requires integer arguments") - N = self.randrange(a, b+1) - assert a <= N <= b - return N - - def choice(self, seq): - """Return a random element from a (non-empty) sequence. - - If the seqence is empty, raises IndexError. - """ - if len(seq) == 0: - raise IndexError("empty sequence") - return seq[self.randrange(len(seq))] - - def shuffle(self, x): - """Shuffle the sequence in place.""" - # Make a (copy) of the list of objects we want to shuffle - items = list(x) - - # Choose a random item (without replacement) until all the items have been - # chosen. - for i in range(len(x)): - x[i] = items.pop(self.randrange(len(items))) - - def sample(self, population, k): - """Return a k-length list of unique elements chosen from the population sequence.""" - - num_choices = len(population) - if k > num_choices: - raise ValueError("sample larger than population") - - retval = [] - selected = {} # we emulate a set using a dict here - for i in range(k): - r = None - while r is None or r in selected: - r = self.randrange(num_choices) - retval.append(population[r]) - selected[r] = 1 - return retval - -_r = StrongRandom() -getrandbits = _r.getrandbits -randrange = _r.randrange -randint = _r.randint -choice = _r.choice -shuffle = _r.shuffle -sample = _r.sample - -# These are at the bottom to avoid problems with recursive imports -from Crypto.Util.number import ceil_div, bytes_to_long, long_to_bytes, size - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/__init__.py deleted file mode 100644 index 63e9c57..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/__init__.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Cipher/__init__.py: Self-test for cipher modules -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test for cipher modules""" - -__revision__ = "$Id$" - -def get_tests(config={}): - tests = [] - from Crypto.SelfTest.Cipher import test_AES; tests += test_AES.get_tests(config=config) - from Crypto.SelfTest.Cipher import test_ARC2; tests += test_ARC2.get_tests(config=config) - from Crypto.SelfTest.Cipher import test_ARC4; tests += test_ARC4.get_tests(config=config) - from Crypto.SelfTest.Cipher import test_Blowfish; tests += test_Blowfish.get_tests(config=config) - from Crypto.SelfTest.Cipher import test_CAST; tests += test_CAST.get_tests(config=config) - from Crypto.SelfTest.Cipher import test_DES3; tests += test_DES3.get_tests(config=config) - from Crypto.SelfTest.Cipher import test_DES; tests += test_DES.get_tests(config=config) - from Crypto.SelfTest.Cipher import test_XOR; tests += test_XOR.get_tests(config=config) - from Crypto.SelfTest.Cipher import test_pkcs1_15; tests += test_pkcs1_15.get_tests(config=config) - from Crypto.SelfTest.Cipher import test_pkcs1_oaep; tests += test_pkcs1_oaep.get_tests(config=config) - return tests - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/common.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/common.py deleted file mode 100644 index 94183d1..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/common.py +++ /dev/null @@ -1,399 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/common.py: Common code for Crypto.SelfTest.Hash -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-testing for PyCrypto hash modules""" - -__revision__ = "$Id$" - -import sys -import unittest -from binascii import a2b_hex, b2a_hex -from Crypto.Util.py3compat import * - -# For compatibility with Python 2.1 and Python 2.2 -if sys.hexversion < 0x02030000: - # Python 2.1 doesn't have a dict() function - # Python 2.2 dict() function raises TypeError if you do dict(MD5='blah') - def dict(**kwargs): - return kwargs.copy() -else: - dict = dict - -class _NoDefault: pass # sentinel object -def _extract(d, k, default=_NoDefault): - """Get an item from a dictionary, and remove it from the dictionary.""" - try: - retval = d[k] - except KeyError: - if default is _NoDefault: - raise - return default - del d[k] - return retval - -# Generic cipher test case -class CipherSelfTest(unittest.TestCase): - - def __init__(self, module, params): - unittest.TestCase.__init__(self) - self.module = module - - # Extract the parameters - params = params.copy() - self.description = _extract(params, 'description') - self.key = b(_extract(params, 'key')) - self.plaintext = b(_extract(params, 'plaintext')) - self.ciphertext = b(_extract(params, 'ciphertext')) - self.module_name = _extract(params, 'module_name', None) - - mode = _extract(params, 'mode', None) - self.mode_name = str(mode) - if mode is not None: - # Block cipher - self.mode = getattr(self.module, "MODE_" + mode) - self.iv = _extract(params, 'iv', None) - if self.iv is not None: self.iv = b(self.iv) - - # Only relevant for OPENPGP mode - self.encrypted_iv = _extract(params, 'encrypted_iv', None) - if self.encrypted_iv is not None: - self.encrypted_iv = b(self.encrypted_iv) - else: - # Stream cipher - self.mode = None - self.iv = None - - self.extra_params = params - - def shortDescription(self): - return self.description - - def _new(self, do_decryption=0): - params = self.extra_params.copy() - - # Handle CTR mode parameters. By default, we use Counter.new(self.module.block_size) - if hasattr(self.module, "MODE_CTR") and self.mode == self.module.MODE_CTR: - from Crypto.Util import Counter - ctr_class = _extract(params, 'ctr_class', Counter.new) - ctr_params = _extract(params, 'ctr_params', {}).copy() - if 'prefix' in ctr_params: ctr_params['prefix'] = a2b_hex(b(ctr_params['prefix'])) - if 'suffix' in ctr_params: ctr_params['suffix'] = a2b_hex(b(ctr_params['suffix'])) - if 'nbits' not in ctr_params: - ctr_params['nbits'] = 8*(self.module.block_size - len(ctr_params.get('prefix', '')) - len(ctr_params.get('suffix', ''))) - params['counter'] = ctr_class(**ctr_params) - - if self.mode is None: - # Stream cipher - return self.module.new(a2b_hex(self.key), **params) - elif self.iv is None: - # Block cipher without iv - return self.module.new(a2b_hex(self.key), self.mode, **params) - else: - # Block cipher with iv - if do_decryption and self.mode == self.module.MODE_OPENPGP: - # In PGP mode, the IV to feed for decryption is the *encrypted* one - return self.module.new(a2b_hex(self.key), self.mode, a2b_hex(self.encrypted_iv), **params) - else: - return self.module.new(a2b_hex(self.key), self.mode, a2b_hex(self.iv), **params) - - def runTest(self): - plaintext = a2b_hex(self.plaintext) - ciphertext = a2b_hex(self.ciphertext) - - ct1 = b2a_hex(self._new().encrypt(plaintext)) - pt1 = b2a_hex(self._new(1).decrypt(ciphertext)) - ct2 = b2a_hex(self._new().encrypt(plaintext)) - pt2 = b2a_hex(self._new(1).decrypt(ciphertext)) - - if hasattr(self.module, "MODE_OPENPGP") and self.mode == self.module.MODE_OPENPGP: - # In PGP mode, data returned by the first encrypt() - # is prefixed with the encrypted IV. - # Here we check it and then remove it from the ciphertexts. - eilen = len(self.encrypted_iv) - self.assertEqual(self.encrypted_iv, ct1[:eilen]) - self.assertEqual(self.encrypted_iv, ct2[:eilen]) - ct1 = ct1[eilen:] - ct2 = ct2[eilen:] - - self.assertEqual(self.ciphertext, ct1) # encrypt - self.assertEqual(self.ciphertext, ct2) # encrypt (second time) - self.assertEqual(self.plaintext, pt1) # decrypt - self.assertEqual(self.plaintext, pt2) # decrypt (second time) - -class CipherStreamingSelfTest(CipherSelfTest): - - def shortDescription(self): - desc = self.module_name - if self.mode is not None: - desc += " in %s mode" % (self.mode_name,) - return "%s should behave like a stream cipher" % (desc,) - - def runTest(self): - plaintext = a2b_hex(self.plaintext) - ciphertext = a2b_hex(self.ciphertext) - - # The cipher should work like a stream cipher - - # Test counter mode encryption, 3 bytes at a time - ct3 = [] - cipher = self._new() - for i in range(0, len(plaintext), 3): - ct3.append(cipher.encrypt(plaintext[i:i+3])) - ct3 = b2a_hex(b("").join(ct3)) - self.assertEqual(self.ciphertext, ct3) # encryption (3 bytes at a time) - - # Test counter mode decryption, 3 bytes at a time - pt3 = [] - cipher = self._new() - for i in range(0, len(ciphertext), 3): - pt3.append(cipher.encrypt(ciphertext[i:i+3])) - # PY3K: This is meant to be text, do not change to bytes (data) - pt3 = b2a_hex(b("").join(pt3)) - self.assertEqual(self.plaintext, pt3) # decryption (3 bytes at a time) - -class CTRSegfaultTest(unittest.TestCase): - - def __init__(self, module, params): - unittest.TestCase.__init__(self) - self.module = module - self.key = b(params['key']) - self.module_name = params.get('module_name', None) - - def shortDescription(self): - return """Regression test: %s.new(key, %s.MODE_CTR) should raise TypeError, not segfault""" % (self.module_name, self.module_name) - - def runTest(self): - self.assertRaises(TypeError, self.module.new, a2b_hex(self.key), self.module.MODE_CTR) - -class CTRWraparoundTest(unittest.TestCase): - - def __init__(self, module, params): - unittest.TestCase.__init__(self) - self.module = module - self.key = b(params['key']) - self.module_name = params.get('module_name', None) - - def shortDescription(self): - return """Regression test: %s with MODE_CTR should raise OverflowError on wraparound when shortcut used""" % (self.module_name,) - - def runTest(self): - from Crypto.Util import Counter - - for disable_shortcut in (0, 1): # (False, True) Test CTR-mode shortcut and PyObject_CallObject code paths - for little_endian in (0, 1): # (False, True) Test both endiannesses - ctr = Counter.new(8*self.module.block_size, initial_value=2**(8*self.module.block_size)-1, little_endian=little_endian, disable_shortcut=disable_shortcut) - cipher = self.module.new(a2b_hex(self.key), self.module.MODE_CTR, counter=ctr) - block = b("\x00") * self.module.block_size - cipher.encrypt(block) - self.assertRaises(OverflowError, cipher.encrypt, block) - -class CFBSegmentSizeTest(unittest.TestCase): - - def __init__(self, module, params): - unittest.TestCase.__init__(self) - self.module = module - self.key = b(params['key']) - self.description = params['description'] - - def shortDescription(self): - return self.description - - def runTest(self): - """Regression test: m.new(key, m.MODE_CFB, segment_size=N) should require segment_size to be a multiple of 8 bits""" - for i in range(1, 8): - self.assertRaises(ValueError, self.module.new, a2b_hex(self.key), self.module.MODE_CFB, segment_size=i) - self.module.new(a2b_hex(self.key), self.module.MODE_CFB, "\0"*self.module.block_size, segment_size=8) # should succeed - -class RoundtripTest(unittest.TestCase): - def __init__(self, module, params): - from Crypto import Random - unittest.TestCase.__init__(self) - self.module = module - self.iv = Random.get_random_bytes(module.block_size) - self.key = b(params['key']) - self.plaintext = 100 * b(params['plaintext']) - self.module_name = params.get('module_name', None) - - def shortDescription(self): - return """%s .decrypt() output of .encrypt() should not be garbled""" % (self.module_name,) - - def runTest(self): - for mode in (self.module.MODE_ECB, self.module.MODE_CBC, self.module.MODE_CFB, self.module.MODE_OFB, self.module.MODE_OPENPGP): - encryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv) - ciphertext = encryption_cipher.encrypt(self.plaintext) - - if mode != self.module.MODE_OPENPGP: - decryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv) - else: - eiv = ciphertext[:self.module.block_size+2] - ciphertext = ciphertext[self.module.block_size+2:] - decryption_cipher = self.module.new(a2b_hex(self.key), mode, eiv) - decrypted_plaintext = decryption_cipher.decrypt(ciphertext) - self.assertEqual(self.plaintext, decrypted_plaintext) - -class PGPTest(unittest.TestCase): - def __init__(self, module, params): - unittest.TestCase.__init__(self) - self.module = module - self.key = b(params['key']) - - def shortDescription(self): - return "MODE_PGP was implemented incorrectly and insecurely. It's completely banished now." - - def runTest(self): - self.assertRaises(ValueError, self.module.new, a2b_hex(self.key), - self.module.MODE_PGP) - -class IVLengthTest(unittest.TestCase): - def __init__(self, module, params): - unittest.TestCase.__init__(self) - self.module = module - self.key = b(params['key']) - - def shortDescription(self): - return "Check that all modes except MODE_ECB and MODE_CTR require an IV of the proper length" - - def runTest(self): - self.assertRaises(ValueError, self.module.new, a2b_hex(self.key), - self.module.MODE_CBC, "") - self.assertRaises(ValueError, self.module.new, a2b_hex(self.key), - self.module.MODE_CFB, "") - self.assertRaises(ValueError, self.module.new, a2b_hex(self.key), - self.module.MODE_OFB, "") - self.assertRaises(ValueError, self.module.new, a2b_hex(self.key), - self.module.MODE_OPENPGP, "") - self.module.new(a2b_hex(self.key), self.module.MODE_ECB, "") - self.module.new(a2b_hex(self.key), self.module.MODE_CTR, "", counter=self._dummy_counter) - - def _dummy_counter(self): - return "\0" * self.module.block_size - -def make_block_tests(module, module_name, test_data): - tests = [] - extra_tests_added = 0 - for i in range(len(test_data)): - row = test_data[i] - - # Build the "params" dictionary - params = {'mode': 'ECB'} - if len(row) == 3: - (params['plaintext'], params['ciphertext'], params['key']) = row - elif len(row) == 4: - (params['plaintext'], params['ciphertext'], params['key'], params['description']) = row - elif len(row) == 5: - (params['plaintext'], params['ciphertext'], params['key'], params['description'], extra_params) = row - params.update(extra_params) - else: - raise AssertionError("Unsupported tuple size %d" % (len(row),)) - - # Build the display-name for the test - p2 = params.copy() - p_key = _extract(p2, 'key') - p_plaintext = _extract(p2, 'plaintext') - p_ciphertext = _extract(p2, 'ciphertext') - p_description = _extract(p2, 'description', None) - p_mode = p2.get('mode', 'ECB') - if p_mode == 'ECB': - _extract(p2, 'mode', 'ECB') - - if p_description is not None: - description = p_description - elif p_mode == 'ECB' and not p2: - description = "p=%s, k=%s" % (p_plaintext, p_key) - else: - description = "p=%s, k=%s, %r" % (p_plaintext, p_key, p2) - name = "%s #%d: %s" % (module_name, i+1, description) - params['description'] = name - params['module_name'] = module_name - - # Add extra test(s) to the test suite before the current test - if not extra_tests_added: - tests += [ - CTRSegfaultTest(module, params), - CTRWraparoundTest(module, params), - CFBSegmentSizeTest(module, params), - RoundtripTest(module, params), - PGPTest(module, params), - IVLengthTest(module, params), - ] - extra_tests_added = 1 - - # Add the current test to the test suite - tests.append(CipherSelfTest(module, params)) - - # When using CTR mode, test that the interface behaves like a stream cipher - if p_mode == 'CTR': - tests.append(CipherStreamingSelfTest(module, params)) - - # When using CTR mode, test the non-shortcut code path. - if p_mode == 'CTR' and 'ctr_class' not in params: - params2 = params.copy() - params2['description'] += " (shortcut disabled)" - ctr_params2 = params.get('ctr_params', {}).copy() - params2['ctr_params'] = ctr_params2 - if 'disable_shortcut' not in params2['ctr_params']: - params2['ctr_params']['disable_shortcut'] = 1 - tests.append(CipherSelfTest(module, params2)) - return tests - -def make_stream_tests(module, module_name, test_data): - tests = [] - for i in range(len(test_data)): - row = test_data[i] - - # Build the "params" dictionary - params = {} - if len(row) == 3: - (params['plaintext'], params['ciphertext'], params['key']) = row - elif len(row) == 4: - (params['plaintext'], params['ciphertext'], params['key'], params['description']) = row - elif len(row) == 5: - (params['plaintext'], params['ciphertext'], params['key'], params['description'], extra_params) = row - params.update(extra_params) - else: - raise AssertionError("Unsupported tuple size %d" % (len(row),)) - - # Build the display-name for the test - p2 = params.copy() - p_key = _extract(p2, 'key') - p_plaintext = _extract(p2, 'plaintext') - p_ciphertext = _extract(p2, 'ciphertext') - p_description = _extract(p2, 'description', None) - - if p_description is not None: - description = p_description - elif not p2: - description = "p=%s, k=%s" % (p_plaintext, p_key) - else: - description = "p=%s, k=%s, %r" % (p_plaintext, p_key, p2) - name = "%s #%d: %s" % (module_name, i+1, description) - params['description'] = name - params['module_name'] = module_name - - # Add the test to the test suite - tests.append(CipherSelfTest(module, params)) - tests.append(CipherStreamingSelfTest(module, params)) - return tests - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_AES.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_AES.py deleted file mode 100644 index 63c56d0..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_AES.py +++ /dev/null @@ -1,1433 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Cipher/AES.py: Self-test for the AES cipher -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Cipher.AES""" - -__revision__ = "$Id$" - -from .common import dict # For compatibility with Python 2.1 and 2.2 -from Crypto.Util.py3compat import * -from binascii import hexlify - -# This is a list of (plaintext, ciphertext, key[, description[, params]]) tuples. -test_data = [ - # FIPS PUB 197 test vectors - # http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf - - ('00112233445566778899aabbccddeeff', '69c4e0d86a7b0430d8cdb78070b4c55a', - '000102030405060708090a0b0c0d0e0f', 'FIPS 197 C.1 (AES-128)'), - - ('00112233445566778899aabbccddeeff', 'dda97ca4864cdfe06eaf70a0ec0d7191', - '000102030405060708090a0b0c0d0e0f1011121314151617', - 'FIPS 197 C.2 (AES-192)'), - - ('00112233445566778899aabbccddeeff', '8ea2b7ca516745bfeafc49904b496089', - '000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f', - 'FIPS 197 C.3 (AES-256)'), - - # Rijndael128 test vectors - # Downloaded 2008-09-13 from - # http://www.iaik.tugraz.at/Research/krypto/AES/old/~rijmen/rijndael/testvalues.tar.gz - - # ecb_tbl.txt, KEYSIZE=128 - ('506812a45f08c889b97f5980038b8359', 'd8f532538289ef7d06b506a4fd5be9c9', - '00010203050607080a0b0c0d0f101112', - 'ecb-tbl-128: I=1'), - ('5c6d71ca30de8b8b00549984d2ec7d4b', '59ab30f4d4ee6e4ff9907ef65b1fb68c', - '14151617191a1b1c1e1f202123242526', - 'ecb-tbl-128: I=2'), - ('53f3f4c64f8616e4e7c56199f48f21f6', 'bf1ed2fcb2af3fd41443b56d85025cb1', - '28292a2b2d2e2f30323334353738393a', - 'ecb-tbl-128: I=3'), - ('a1eb65a3487165fb0f1c27ff9959f703', '7316632d5c32233edcb0780560eae8b2', - '3c3d3e3f41424344464748494b4c4d4e', - 'ecb-tbl-128: I=4'), - ('3553ecf0b1739558b08e350a98a39bfa', '408c073e3e2538072b72625e68b8364b', - '50515253555657585a5b5c5d5f606162', - 'ecb-tbl-128: I=5'), - ('67429969490b9711ae2b01dc497afde8', 'e1f94dfa776597beaca262f2f6366fea', - '64656667696a6b6c6e6f707173747576', - 'ecb-tbl-128: I=6'), - ('93385c1f2aec8bed192f5a8e161dd508', 'f29e986c6a1c27d7b29ffd7ee92b75f1', - '78797a7b7d7e7f80828384858788898a', - 'ecb-tbl-128: I=7'), - ('b5bf946be19beb8db3983b5f4c6e8ddb', '131c886a57f8c2e713aba6955e2b55b5', - '8c8d8e8f91929394969798999b9c9d9e', - 'ecb-tbl-128: I=8'), - ('41321ee10e21bd907227c4450ff42324', 'd2ab7662df9b8c740210e5eeb61c199d', - 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2', - 'ecb-tbl-128: I=9'), - ('00a82f59c91c8486d12c0a80124f6089', '14c10554b2859c484cab5869bbe7c470', - 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', - 'ecb-tbl-128: I=10'), - ('7ce0fd076754691b4bbd9faf8a1372fe', 'db4d498f0a49cf55445d502c1f9ab3b5', - 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9da', - 'ecb-tbl-128: I=11'), - ('23605a8243d07764541bc5ad355b3129', '6d96fef7d66590a77a77bb2056667f7f', - 'dcdddedfe1e2e3e4e6e7e8e9ebecedee', - 'ecb-tbl-128: I=12'), - ('12a8cfa23ea764fd876232b4e842bc44', '316fb68edba736c53e78477bf913725c', - 'f0f1f2f3f5f6f7f8fafbfcfdfe010002', - 'ecb-tbl-128: I=13'), - ('bcaf32415e8308b3723e5fdd853ccc80', '6936f2b93af8397fd3a771fc011c8c37', - '04050607090a0b0c0e0f101113141516', - 'ecb-tbl-128: I=14'), - ('89afae685d801ad747ace91fc49adde0', 'f3f92f7a9c59179c1fcc2c2ba0b082cd', - '2c2d2e2f31323334363738393b3c3d3e', - 'ecb-tbl-128: I=15'), - ('f521d07b484357c4a69e76124a634216', '6a95ea659ee3889158e7a9152ff04ebc', - '40414243454647484a4b4c4d4f505152', - 'ecb-tbl-128: I=16'), - ('3e23b3bc065bcc152407e23896d77783', '1959338344e945670678a5d432c90b93', - '54555657595a5b5c5e5f606163646566', - 'ecb-tbl-128: I=17'), - ('79f0fba002be1744670e7e99290d8f52', 'e49bddd2369b83ee66e6c75a1161b394', - '68696a6b6d6e6f70727374757778797a', - 'ecb-tbl-128: I=18'), - ('da23fe9d5bd63e1d72e3dafbe21a6c2a', 'd3388f19057ff704b70784164a74867d', - '7c7d7e7f81828384868788898b8c8d8e', - 'ecb-tbl-128: I=19'), - ('e3f5698ba90b6a022efd7db2c7e6c823', '23aa03e2d5e4cd24f3217e596480d1e1', - 'a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', - 'ecb-tbl-128: I=20'), - ('bdc2691d4f1b73d2700679c3bcbf9c6e', 'c84113d68b666ab2a50a8bdb222e91b9', - 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2', - 'ecb-tbl-128: I=21'), - ('ba74e02093217ee1ba1b42bd5624349a', 'ac02403981cd4340b507963db65cb7b6', - '08090a0b0d0e0f10121314151718191a', - 'ecb-tbl-128: I=22'), - ('b5c593b5851c57fbf8b3f57715e8f680', '8d1299236223359474011f6bf5088414', - '6c6d6e6f71727374767778797b7c7d7e', - 'ecb-tbl-128: I=23'), - ('3da9bd9cec072381788f9387c3bbf4ee', '5a1d6ab8605505f7977e55b9a54d9b90', - '80818283858687888a8b8c8d8f909192', - 'ecb-tbl-128: I=24'), - ('4197f3051121702ab65d316b3c637374', '72e9c2d519cf555e4208805aabe3b258', - '94959697999a9b9c9e9fa0a1a3a4a5a6', - 'ecb-tbl-128: I=25'), - ('9f46c62ec4f6ee3f6e8c62554bc48ab7', 'a8f3e81c4a23a39ef4d745dffe026e80', - 'a8a9aaabadaeafb0b2b3b4b5b7b8b9ba', - 'ecb-tbl-128: I=26'), - ('0220673fe9e699a4ebc8e0dbeb6979c8', '546f646449d31458f9eb4ef5483aee6c', - 'bcbdbebfc1c2c3c4c6c7c8c9cbcccdce', - 'ecb-tbl-128: I=27'), - ('b2b99171337ded9bc8c2c23ff6f18867', '4dbe4bc84ac797c0ee4efb7f1a07401c', - 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2', - 'ecb-tbl-128: I=28'), - ('a7facf4e301e984e5efeefd645b23505', '25e10bfb411bbd4d625ac8795c8ca3b3', - 'e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', - 'ecb-tbl-128: I=29'), - ('f7c762e4a9819160fd7acfb6c4eedcdd', '315637405054ec803614e43def177579', - 'f8f9fafbfdfefe00020304050708090a', - 'ecb-tbl-128: I=30'), - ('9b64fc21ea08709f4915436faa70f1be', '60c5bc8a1410247295c6386c59e572a8', - '0c0d0e0f11121314161718191b1c1d1e', - 'ecb-tbl-128: I=31'), - ('52af2c3de07ee6777f55a4abfc100b3f', '01366fc8ca52dfe055d6a00a76471ba6', - '20212223252627282a2b2c2d2f303132', - 'ecb-tbl-128: I=32'), - ('2fca001224386c57aa3f968cbe2c816f', 'ecc46595516ec612449c3f581e7d42ff', - '34353637393a3b3c3e3f404143444546', - 'ecb-tbl-128: I=33'), - ('4149c73658a4a9c564342755ee2c132f', '6b7ffe4c602a154b06ee9c7dab5331c9', - '48494a4b4d4e4f50525354555758595a', - 'ecb-tbl-128: I=34'), - ('af60005a00a1772f7c07a48a923c23d2', '7da234c14039a240dd02dd0fbf84eb67', - '5c5d5e5f61626364666768696b6c6d6e', - 'ecb-tbl-128: I=35'), - ('6fccbc28363759914b6f0280afaf20c6', 'c7dc217d9e3604ffe7e91f080ecd5a3a', - '70717273757677787a7b7c7d7f808182', - 'ecb-tbl-128: I=36'), - ('7d82a43ddf4fefa2fc5947499884d386', '37785901863f5c81260ea41e7580cda5', - '84858687898a8b8c8e8f909193949596', - 'ecb-tbl-128: I=37'), - ('5d5a990eaab9093afe4ce254dfa49ef9', 'a07b9338e92ed105e6ad720fccce9fe4', - '98999a9b9d9e9fa0a2a3a4a5a7a8a9aa', - 'ecb-tbl-128: I=38'), - ('4cd1e2fd3f4434b553aae453f0ed1a02', 'ae0fb9722418cc21a7da816bbc61322c', - 'acadaeafb1b2b3b4b6b7b8b9bbbcbdbe', - 'ecb-tbl-128: I=39'), - ('5a2c9a9641d4299125fa1b9363104b5e', 'c826a193080ff91ffb21f71d3373c877', - 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2', - 'ecb-tbl-128: I=40'), - ('b517fe34c0fa217d341740bfd4fe8dd4', '1181b11b0e494e8d8b0aa6b1d5ac2c48', - 'd4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', - 'ecb-tbl-128: I=41'), - ('014baf2278a69d331d5180103643e99a', '6743c3d1519ab4f2cd9a78ab09a511bd', - 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fa', - 'ecb-tbl-128: I=42'), - ('b529bd8164f20d0aa443d4932116841c', 'dc55c076d52bacdf2eefd952946a439d', - 'fcfdfeff01020304060708090b0c0d0e', - 'ecb-tbl-128: I=43'), - ('2e596dcbb2f33d4216a1176d5bd1e456', '711b17b590ffc72b5c8e342b601e8003', - '10111213151617181a1b1c1d1f202122', - 'ecb-tbl-128: I=44'), - ('7274a1ea2b7ee2424e9a0e4673689143', '19983bb0950783a537e1339f4aa21c75', - '24252627292a2b2c2e2f303133343536', - 'ecb-tbl-128: I=45'), - ('ae20020bd4f13e9d90140bee3b5d26af', '3ba7762e15554169c0f4fa39164c410c', - '38393a3b3d3e3f40424344454748494a', - 'ecb-tbl-128: I=46'), - ('baac065da7ac26e855e79c8849d75a02', 'a0564c41245afca7af8aa2e0e588ea89', - '4c4d4e4f51525354565758595b5c5d5e', - 'ecb-tbl-128: I=47'), - ('7c917d8d1d45fab9e2540e28832540cc', '5e36a42a2e099f54ae85ecd92e2381ed', - '60616263656667686a6b6c6d6f707172', - 'ecb-tbl-128: I=48'), - ('bde6f89e16daadb0e847a2a614566a91', '770036f878cd0f6ca2268172f106f2fe', - '74757677797a7b7c7e7f808183848586', - 'ecb-tbl-128: I=49'), - ('c9de163725f1f5be44ebb1db51d07fbc', '7e4e03908b716116443ccf7c94e7c259', - '88898a8b8d8e8f90929394959798999a', - 'ecb-tbl-128: I=50'), - ('3af57a58f0c07dffa669572b521e2b92', '482735a48c30613a242dd494c7f9185d', - '9c9d9e9fa1a2a3a4a6a7a8a9abacadae', - 'ecb-tbl-128: I=51'), - ('3d5ebac306dde4604f1b4fbbbfcdae55', 'b4c0f6c9d4d7079addf9369fc081061d', - 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2', - 'ecb-tbl-128: I=52'), - ('c2dfa91bceb76a1183c995020ac0b556', 'd5810fe0509ac53edcd74f89962e6270', - 'c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', - 'ecb-tbl-128: I=53'), - ('c70f54305885e9a0746d01ec56c8596b', '03f17a16b3f91848269ecdd38ebb2165', - 'd8d9dadbdddedfe0e2e3e4e5e7e8e9ea', - 'ecb-tbl-128: I=54'), - ('c4f81b610e98012ce000182050c0c2b2', 'da1248c3180348bad4a93b4d9856c9df', - 'ecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', - 'ecb-tbl-128: I=55'), - ('eaab86b1d02a95d7404eff67489f97d4', '3d10d7b63f3452c06cdf6cce18be0c2c', - '00010203050607080a0b0c0d0f101112', - 'ecb-tbl-128: I=56'), - ('7c55bdb40b88870b52bec3738de82886', '4ab823e7477dfddc0e6789018fcb6258', - '14151617191a1b1c1e1f202123242526', - 'ecb-tbl-128: I=57'), - ('ba6eaa88371ff0a3bd875e3f2a975ce0', 'e6478ba56a77e70cfdaa5c843abde30e', - '28292a2b2d2e2f30323334353738393a', - 'ecb-tbl-128: I=58'), - ('08059130c4c24bd30cf0575e4e0373dc', '1673064895fbeaf7f09c5429ff75772d', - '3c3d3e3f41424344464748494b4c4d4e', - 'ecb-tbl-128: I=59'), - ('9a8eab004ef53093dfcf96f57e7eda82', '4488033ae9f2efd0ca9383bfca1a94e9', - '50515253555657585a5b5c5d5f606162', - 'ecb-tbl-128: I=60'), - ('0745b589e2400c25f117b1d796c28129', '978f3b8c8f9d6f46626cac3c0bcb9217', - '64656667696a6b6c6e6f707173747576', - 'ecb-tbl-128: I=61'), - ('2f1777781216cec3f044f134b1b92bbe', 'e08c8a7e582e15e5527f1d9e2eecb236', - '78797a7b7d7e7f80828384858788898a', - 'ecb-tbl-128: I=62'), - ('353a779ffc541b3a3805d90ce17580fc', 'cec155b76ac5ffda4cf4f9ca91e49a7a', - '8c8d8e8f91929394969798999b9c9d9e', - 'ecb-tbl-128: I=63'), - ('1a1eae4415cefcf08c4ac1c8f68bea8f', 'd5ac7165763225dd2a38cdc6862c29ad', - 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2', - 'ecb-tbl-128: I=64'), - ('e6e7e4e5b0b3b2b5d4d5aaab16111013', '03680fe19f7ce7275452020be70e8204', - 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', - 'ecb-tbl-128: I=65'), - ('f8f9fafbfbf8f9e677767170efe0e1e2', '461df740c9781c388e94bb861ceb54f6', - 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9da', - 'ecb-tbl-128: I=66'), - ('63626160a1a2a3a445444b4a75727370', '451bd60367f96483042742219786a074', - 'dcdddedfe1e2e3e4e6e7e8e9ebecedee', - 'ecb-tbl-128: I=67'), - ('717073720605040b2d2c2b2a05fafbf9', 'e4dfa42671a02e57ef173b85c0ea9f2b', - 'f0f1f2f3f5f6f7f8fafbfcfdfe010002', - 'ecb-tbl-128: I=68'), - ('78797a7beae9e8ef3736292891969794', 'ed11b89e76274282227d854700a78b9e', - '04050607090a0b0c0e0f101113141516', - 'ecb-tbl-128: I=69'), - ('838281803231300fdddcdbdaa0afaead', '433946eaa51ea47af33895f2b90b3b75', - '18191a1b1d1e1f20222324252728292a', - 'ecb-tbl-128: I=70'), - ('18191a1bbfbcbdba75747b7a7f78797a', '6bc6d616a5d7d0284a5910ab35022528', - '2c2d2e2f31323334363738393b3c3d3e', - 'ecb-tbl-128: I=71'), - ('848586879b989996a3a2a5a4849b9a99', 'd2a920ecfe919d354b5f49eae9719c98', - '40414243454647484a4b4c4d4f505152', - 'ecb-tbl-128: I=72'), - ('0001020322212027cacbf4f551565754', '3a061b17f6a92885efbd0676985b373d', - '54555657595a5b5c5e5f606163646566', - 'ecb-tbl-128: I=73'), - ('cecfcccdafacadb2515057564a454447', 'fadeec16e33ea2f4688499d157e20d8f', - '68696a6b6d6e6f70727374757778797a', - 'ecb-tbl-128: I=74'), - ('92939091cdcecfc813121d1c80878685', '5cdefede59601aa3c3cda36fa6b1fa13', - '7c7d7e7f81828384868788898b8c8d8e', - 'ecb-tbl-128: I=75'), - ('d2d3d0d16f6c6d6259585f5ed1eeefec', '9574b00039844d92ebba7ee8719265f8', - '90919293959697989a9b9c9d9fa0a1a2', - 'ecb-tbl-128: I=76'), - ('acadaeaf878485820f0e1110d5d2d3d0', '9a9cf33758671787e5006928188643fa', - 'a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', - 'ecb-tbl-128: I=77'), - ('9091929364676619e6e7e0e1757a7b78', '2cddd634c846ba66bb46cbfea4a674f9', - 'b8b9babbbdbebfc0c2c3c4c5c7c8c9ca', - 'ecb-tbl-128: I=78'), - ('babbb8b98a89888f74757a7b92959497', 'd28bae029393c3e7e26e9fafbbb4b98f', - 'cccdcecfd1d2d3d4d6d7d8d9dbdcddde', - 'ecb-tbl-128: I=79'), - ('8d8c8f8e6e6d6c633b3a3d3ccad5d4d7', 'ec27529b1bee0a9ab6a0d73ebc82e9b7', - 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2', - 'ecb-tbl-128: I=80'), - ('86878485010203040808f7f767606162', '3cb25c09472aff6ee7e2b47ccd7ccb17', - 'f4f5f6f7f9fafbfcfefe010103040506', - 'ecb-tbl-128: I=81'), - ('8e8f8c8d656667788a8b8c8d010e0f0c', 'dee33103a7283370d725e44ca38f8fe5', - '08090a0b0d0e0f10121314151718191a', - 'ecb-tbl-128: I=82'), - ('c8c9cacb858687807a7b7475e7e0e1e2', '27f9bcd1aac64bffc11e7815702c1a69', - '1c1d1e1f21222324262728292b2c2d2e', - 'ecb-tbl-128: I=83'), - ('6d6c6f6e5053525d8c8d8a8badd2d3d0', '5df534ffad4ed0749a9988e9849d0021', - '30313233353637383a3b3c3d3f404142', - 'ecb-tbl-128: I=84'), - ('28292a2b393a3b3c0607181903040506', 'a48bee75db04fb60ca2b80f752a8421b', - '44454647494a4b4c4e4f505153545556', - 'ecb-tbl-128: I=85'), - ('a5a4a7a6b0b3b28ddbdadddcbdb2b3b0', '024c8cf70bc86ee5ce03678cb7af45f9', - '58595a5b5d5e5f60626364656768696a', - 'ecb-tbl-128: I=86'), - ('323330316467666130313e3f2c2b2a29', '3c19ac0f8a3a3862ce577831301e166b', - '6c6d6e6f71727374767778797b7c7d7e', - 'ecb-tbl-128: I=87'), - ('27262524080b0a05171611100b141516', 'c5e355b796a57421d59ca6be82e73bca', - '80818283858687888a8b8c8d8f909192', - 'ecb-tbl-128: I=88'), - ('040506074142434435340b0aa3a4a5a6', 'd94033276417abfb05a69d15b6e386e2', - '94959697999a9b9c9e9fa0a1a3a4a5a6', - 'ecb-tbl-128: I=89'), - ('242526271112130c61606766bdb2b3b0', '24b36559ea3a9b9b958fe6da3e5b8d85', - 'a8a9aaabadaeafb0b2b3b4b5b7b8b9ba', - 'ecb-tbl-128: I=90'), - ('4b4a4948252627209e9f9091cec9c8cb', '20fd4feaa0e8bf0cce7861d74ef4cb72', - 'bcbdbebfc1c2c3c4c6c7c8c9cbcccdce', - 'ecb-tbl-128: I=91'), - ('68696a6b6665646b9f9e9998d9e6e7e4', '350e20d5174277b9ec314c501570a11d', - 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2', - 'ecb-tbl-128: I=92'), - ('34353637c5c6c7c0f0f1eeef7c7b7a79', '87a29d61b7c604d238fe73045a7efd57', - 'e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', - 'ecb-tbl-128: I=93'), - ('32333031c2c1c13f0d0c0b0a050a0b08', '2c3164c1cc7d0064816bdc0faa362c52', - 'f8f9fafbfdfefe00020304050708090a', - 'ecb-tbl-128: I=94'), - ('cdcccfcebebdbcbbabaaa5a4181f1e1d', '195fe5e8a05a2ed594f6e4400eee10b3', - '0c0d0e0f11121314161718191b1c1d1e', - 'ecb-tbl-128: I=95'), - ('212023223635343ba0a1a6a7445b5a59', 'e4663df19b9a21a5a284c2bd7f905025', - '20212223252627282a2b2c2d2f303132', - 'ecb-tbl-128: I=96'), - ('0e0f0c0da8abaaad2f2e515002050407', '21b88714cfb4e2a933bd281a2c4743fd', - '34353637393a3b3c3e3f404143444546', - 'ecb-tbl-128: I=97'), - ('070605042a2928378e8f8889bdb2b3b0', 'cbfc3980d704fd0fc54378ab84e17870', - '48494a4b4d4e4f50525354555758595a', - 'ecb-tbl-128: I=98'), - ('cbcac9c893909196a9a8a7a6a5a2a3a0', 'bc5144baa48bdeb8b63e22e03da418ef', - '5c5d5e5f61626364666768696b6c6d6e', - 'ecb-tbl-128: I=99'), - ('80818283c1c2c3cc9c9d9a9b0cf3f2f1', '5a1dbaef1ee2984b8395da3bdffa3ccc', - '70717273757677787a7b7c7d7f808182', - 'ecb-tbl-128: I=100'), - ('1213101125262720fafbe4e5b1b6b7b4', 'f0b11cd0729dfcc80cec903d97159574', - '84858687898a8b8c8e8f909193949596', - 'ecb-tbl-128: I=101'), - ('7f7e7d7c3033320d97969190222d2c2f', '9f95314acfddc6d1914b7f19a9cc8209', - '98999a9b9d9e9fa0a2a3a4a5a7a8a9aa', - 'ecb-tbl-128: I=102'), - ('4e4f4c4d484b4a4d81808f8e53545556', '595736f6f0f70914a94e9e007f022519', - 'acadaeafb1b2b3b4b6b7b8b9bbbcbdbe', - 'ecb-tbl-128: I=103'), - ('dcdddedfb0b3b2bd15141312a1bebfbc', '1f19f57892cae586fcdfb4c694deb183', - 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2', - 'ecb-tbl-128: I=104'), - ('93929190282b2a2dc4c5fafb92959497', '540700ee1f6f3dab0b3eddf6caee1ef5', - 'd4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', - 'ecb-tbl-128: I=105'), - ('f5f4f7f6c4c7c6d9373631307e717073', '14a342a91019a331687a2254e6626ca2', - 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fa', - 'ecb-tbl-128: I=106'), - ('93929190b6b5b4b364656a6b05020300', '7b25f3c3b2eea18d743ef283140f29ff', - 'fcfdfeff01020304060708090b0c0d0e', - 'ecb-tbl-128: I=107'), - ('babbb8b90d0e0f00a4a5a2a3043b3a39', '46c2587d66e5e6fa7f7ca6411ad28047', - '10111213151617181a1b1c1d1f202122', - 'ecb-tbl-128: I=108'), - ('d8d9dadb7f7c7d7a10110e0f787f7e7d', '09470e72229d954ed5ee73886dfeeba9', - '24252627292a2b2c2e2f303133343536', - 'ecb-tbl-128: I=109'), - ('fefffcfdefeced923b3a3d3c6768696a', 'd77c03de92d4d0d79ef8d4824ef365eb', - '38393a3b3d3e3f40424344454748494a', - 'ecb-tbl-128: I=110'), - ('d6d7d4d58a89888f96979899a5a2a3a0', '1d190219f290e0f1715d152d41a23593', - '4c4d4e4f51525354565758595b5c5d5e', - 'ecb-tbl-128: I=111'), - ('18191a1ba8abaaa5303136379b848586', 'a2cd332ce3a0818769616292e87f757b', - '60616263656667686a6b6c6d6f707172', - 'ecb-tbl-128: I=112'), - ('6b6a6968a4a7a6a1d6d72829b0b7b6b5', 'd54afa6ce60fbf9341a3690e21385102', - '74757677797a7b7c7e7f808183848586', - 'ecb-tbl-128: I=113'), - ('000102038a89889755545352a6a9a8ab', '06e5c364ded628a3f5e05e613e356f46', - '88898a8b8d8e8f90929394959798999a', - 'ecb-tbl-128: I=114'), - ('2d2c2f2eb3b0b1b6b6b7b8b9f2f5f4f7', 'eae63c0e62556dac85d221099896355a', - '9c9d9e9fa1a2a3a4a6a7a8a9abacadae', - 'ecb-tbl-128: I=115'), - ('979695943536373856575051e09f9e9d', '1fed060e2c6fc93ee764403a889985a2', - 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2', - 'ecb-tbl-128: I=116'), - ('a4a5a6a7989b9a9db1b0afae7a7d7c7f', 'c25235c1a30fdec1c7cb5c5737b2a588', - 'c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', - 'ecb-tbl-128: I=117'), - ('c1c0c3c2686b6a55a8a9aeafeae5e4e7', '796dbef95147d4d30873ad8b7b92efc0', - 'd8d9dadbdddedfe0e2e3e4e5e7e8e9ea', - 'ecb-tbl-128: I=118'), - ('c1c0c3c2141716118c8d828364636261', 'cbcf0fb34d98d0bd5c22ce37211a46bf', - 'ecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', - 'ecb-tbl-128: I=119'), - ('93929190cccfcec196979091e0fffefd', '94b44da6466126cafa7c7fd09063fc24', - '00010203050607080a0b0c0d0f101112', - 'ecb-tbl-128: I=120'), - ('b4b5b6b7f9fafbfc25241b1a6e69686b', 'd78c5b5ebf9b4dbda6ae506c5074c8fe', - '14151617191a1b1c1e1f202123242526', - 'ecb-tbl-128: I=121'), - ('868784850704051ac7c6c1c08788898a', '6c27444c27204b043812cf8cf95f9769', - '28292a2b2d2e2f30323334353738393a', - 'ecb-tbl-128: I=122'), - ('f4f5f6f7aaa9a8affdfcf3f277707172', 'be94524ee5a2aa50bba8b75f4c0aebcf', - '3c3d3e3f41424344464748494b4c4d4e', - 'ecb-tbl-128: I=123'), - ('d3d2d1d00605040bc3c2c5c43e010003', 'a0aeaae91ba9f31f51aeb3588cf3a39e', - '50515253555657585a5b5c5d5f606162', - 'ecb-tbl-128: I=124'), - ('73727170424140476a6b74750d0a0b08', '275297779c28266ef9fe4c6a13c08488', - '64656667696a6b6c6e6f707173747576', - 'ecb-tbl-128: I=125'), - ('c2c3c0c10a0908f754555253a1aeafac', '86523d92bb8672cb01cf4a77fd725882', - '78797a7b7d7e7f80828384858788898a', - 'ecb-tbl-128: I=126'), - ('6d6c6f6ef8fbfafd82838c8df8fffefd', '4b8327640e9f33322a04dd96fcbf9a36', - '8c8d8e8f91929394969798999b9c9d9e', - 'ecb-tbl-128: I=127'), - ('f5f4f7f684878689a6a7a0a1d2cdcccf', 'ce52af650d088ca559425223f4d32694', - 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2', - 'ecb-tbl-128: I=128'), - - # ecb_tbl.txt, KEYSIZE=192 - ('2d33eef2c0430a8a9ebf45e809c40bb6', 'dff4945e0336df4c1c56bc700eff837f', - '00010203050607080a0b0c0d0f10111214151617191a1b1c', - 'ecb-tbl-192: I=1'), - ('6aa375d1fa155a61fb72353e0a5a8756', 'b6fddef4752765e347d5d2dc196d1252', - '1e1f20212324252628292a2b2d2e2f30323334353738393a', - 'ecb-tbl-192: I=2'), - ('bc3736518b9490dcb8ed60eb26758ed4', 'd23684e3d963b3afcf1a114aca90cbd6', - '3c3d3e3f41424344464748494b4c4d4e5051525355565758', - 'ecb-tbl-192: I=3'), - ('aa214402b46cffb9f761ec11263a311e', '3a7ac027753e2a18c2ceab9e17c11fd0', - '5a5b5c5d5f60616264656667696a6b6c6e6f707173747576', - 'ecb-tbl-192: I=4'), - ('02aea86e572eeab66b2c3af5e9a46fd6', '8f6786bd007528ba26603c1601cdd0d8', - '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394', - 'ecb-tbl-192: I=5'), - ('e2aef6acc33b965c4fa1f91c75ff6f36', 'd17d073b01e71502e28b47ab551168b3', - '969798999b9c9d9ea0a1a2a3a5a6a7a8aaabacadafb0b1b2', - 'ecb-tbl-192: I=6'), - ('0659df46427162b9434865dd9499f91d', 'a469da517119fab95876f41d06d40ffa', - 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6c8c9cacbcdcecfd0', - 'ecb-tbl-192: I=7'), - ('49a44239c748feb456f59c276a5658df', '6091aa3b695c11f5c0b6ad26d3d862ff', - 'd2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', - 'ecb-tbl-192: I=8'), - ('66208f6e9d04525bdedb2733b6a6be37', '70f9e67f9f8df1294131662dc6e69364', - 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c', - 'ecb-tbl-192: I=9'), - ('3393f8dfc729c97f5480b950bc9666b0', 'd154dcafad8b207fa5cbc95e9996b559', - '0e0f10111314151618191a1b1d1e1f20222324252728292a', - 'ecb-tbl-192: I=10'), - ('606834c8ce063f3234cf1145325dbd71', '4934d541e8b46fa339c805a7aeb9e5da', - '2c2d2e2f31323334363738393b3c3d3e4041424345464748', - 'ecb-tbl-192: I=11'), - ('fec1c04f529bbd17d8cecfcc4718b17f', '62564c738f3efe186e1a127a0c4d3c61', - '4a4b4c4d4f50515254555657595a5b5c5e5f606163646566', - 'ecb-tbl-192: I=12'), - ('32df99b431ed5dc5acf8caf6dc6ce475', '07805aa043986eb23693e23bef8f3438', - '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384', - 'ecb-tbl-192: I=13'), - ('7fdc2b746f3f665296943b83710d1f82', 'df0b4931038bade848dee3b4b85aa44b', - '868788898b8c8d8e90919293959697989a9b9c9d9fa0a1a2', - 'ecb-tbl-192: I=14'), - ('8fba1510a3c5b87e2eaa3f7a91455ca2', '592d5fded76582e4143c65099309477c', - 'a4a5a6a7a9aaabacaeafb0b1b3b4b5b6b8b9babbbdbebfc0', - 'ecb-tbl-192: I=15'), - ('2c9b468b1c2eed92578d41b0716b223b', 'c9b8d6545580d3dfbcdd09b954ed4e92', - 'c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', - 'ecb-tbl-192: I=16'), - ('0a2bbf0efc6bc0034f8a03433fca1b1a', '5dccd5d6eb7c1b42acb008201df707a0', - 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfc', - 'ecb-tbl-192: I=17'), - ('25260e1f31f4104d387222e70632504b', 'a2a91682ffeb6ed1d34340946829e6f9', - 'fefe01010304050608090a0b0d0e0f10121314151718191a', - 'ecb-tbl-192: I=18'), - ('c527d25a49f08a5228d338642ae65137', 'e45d185b797000348d9267960a68435d', - '1c1d1e1f21222324262728292b2c2d2e3031323335363738', - 'ecb-tbl-192: I=19'), - ('3b49fc081432f5890d0e3d87e884a69e', '45e060dae5901cda8089e10d4f4c246b', - '3a3b3c3d3f40414244454647494a4b4c4e4f505153545556', - 'ecb-tbl-192: I=20'), - ('d173f9ed1e57597e166931df2754a083', 'f6951afacc0079a369c71fdcff45df50', - '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374', - 'ecb-tbl-192: I=21'), - ('8c2b7cafa5afe7f13562daeae1adede0', '9e95e00f351d5b3ac3d0e22e626ddad6', - '767778797b7c7d7e80818283858687888a8b8c8d8f909192', - 'ecb-tbl-192: I=22'), - ('aaf4ec8c1a815aeb826cab741339532c', '9cb566ff26d92dad083b51fdc18c173c', - '94959697999a9b9c9e9fa0a1a3a4a5a6a8a9aaabadaeafb0', - 'ecb-tbl-192: I=23'), - ('40be8c5d9108e663f38f1a2395279ecf', 'c9c82766176a9b228eb9a974a010b4fb', - 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebec', - 'ecb-tbl-192: I=24'), - ('0c8ad9bc32d43e04716753aa4cfbe351', 'd8e26aa02945881d5137f1c1e1386e88', - '2a2b2c2d2f30313234353637393a3b3c3e3f404143444546', - 'ecb-tbl-192: I=25'), - ('1407b1d5f87d63357c8dc7ebbaebbfee', 'c0e024ccd68ff5ffa4d139c355a77c55', - '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364', - 'ecb-tbl-192: I=26'), - ('e62734d1ae3378c4549e939e6f123416', '0b18b3d16f491619da338640df391d43', - '84858687898a8b8c8e8f90919394959698999a9b9d9e9fa0', - 'ecb-tbl-192: I=27'), - ('5a752cff2a176db1a1de77f2d2cdee41', 'dbe09ac8f66027bf20cb6e434f252efc', - 'a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', - 'ecb-tbl-192: I=28'), - ('a9c8c3a4eabedc80c64730ddd018cd88', '6d04e5e43c5b9cbe05feb9606b6480fe', - 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdc', - 'ecb-tbl-192: I=29'), - ('ee9b3dbbdb86180072130834d305999a', 'dd1d6553b96be526d9fee0fbd7176866', - '1a1b1c1d1f20212224252627292a2b2c2e2f303133343536', - 'ecb-tbl-192: I=30'), - ('a7fa8c3586b8ebde7568ead6f634a879', '0260ca7e3f979fd015b0dd4690e16d2a', - '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354', - 'ecb-tbl-192: I=31'), - ('37e0f4a87f127d45ac936fe7ad88c10a', '9893734de10edcc8a67c3b110b8b8cc6', - '929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', - 'ecb-tbl-192: I=32'), - ('3f77d8b5d92bac148e4e46f697a535c5', '93b30b750516b2d18808d710c2ee84ef', - '464748494b4c4d4e50515253555657585a5b5c5d5f606162', - 'ecb-tbl-192: I=33'), - ('d25ebb686c40f7e2c4da1014936571ca', '16f65fa47be3cb5e6dfe7c6c37016c0e', - '828384858788898a8c8d8e8f91929394969798999b9c9d9e', - 'ecb-tbl-192: I=34'), - ('4f1c769d1e5b0552c7eca84dea26a549', 'f3847210d5391e2360608e5acb560581', - 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbc', - 'ecb-tbl-192: I=35'), - ('8548e2f882d7584d0fafc54372b6633a', '8754462cd223366d0753913e6af2643d', - 'bebfc0c1c3c4c5c6c8c9cacbcdcecfd0d2d3d4d5d7d8d9da', - 'ecb-tbl-192: I=36'), - ('87d7a336cb476f177cd2a51af2a62cdf', '1ea20617468d1b806a1fd58145462017', - 'dcdddedfe1e2e3e4e6e7e8e9ebecedeef0f1f2f3f5f6f7f8', - 'ecb-tbl-192: I=37'), - ('03b1feac668c4e485c1065dfc22b44ee', '3b155d927355d737c6be9dda60136e2e', - 'fafbfcfdfe01000204050607090a0b0c0e0f101113141516', - 'ecb-tbl-192: I=38'), - ('bda15e66819fa72d653a6866aa287962', '26144f7b66daa91b6333dbd3850502b3', - '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334', - 'ecb-tbl-192: I=39'), - ('4d0c7a0d2505b80bf8b62ceb12467f0a', 'e4f9a4ab52ced8134c649bf319ebcc90', - '363738393b3c3d3e40414243454647484a4b4c4d4f505152', - 'ecb-tbl-192: I=40'), - ('626d34c9429b37211330986466b94e5f', 'b9ddd29ac6128a6cab121e34a4c62b36', - '54555657595a5b5c5e5f60616364656668696a6b6d6e6f70', - 'ecb-tbl-192: I=41'), - ('333c3e6bf00656b088a17e5ff0e7f60a', '6fcddad898f2ce4eff51294f5eaaf5c9', - '727374757778797a7c7d7e7f81828384868788898b8c8d8e', - 'ecb-tbl-192: I=42'), - ('687ed0cdc0d2a2bc8c466d05ef9d2891', 'c9a6fe2bf4028080bea6f7fc417bd7e3', - '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabac', - 'ecb-tbl-192: I=43'), - ('487830e78cc56c1693e64b2a6660c7b6', '6a2026846d8609d60f298a9c0673127f', - 'aeafb0b1b3b4b5b6b8b9babbbdbebfc0c2c3c4c5c7c8c9ca', - 'ecb-tbl-192: I=44'), - ('7a48d6b7b52b29392aa2072a32b66160', '2cb25c005e26efea44336c4c97a4240b', - 'cccdcecfd1d2d3d4d6d7d8d9dbdcdddee0e1e2e3e5e6e7e8', - 'ecb-tbl-192: I=45'), - ('907320e64c8c5314d10f8d7a11c8618d', '496967ab8680ddd73d09a0e4c7dcc8aa', - 'eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', - 'ecb-tbl-192: I=46'), - ('b561f2ca2d6e65a4a98341f3ed9ff533', 'd5af94de93487d1f3a8c577cb84a66a4', - '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324', - 'ecb-tbl-192: I=47'), - ('df769380d212792d026f049e2e3e48ef', '84bdac569cae2828705f267cc8376e90', - '262728292b2c2d2e30313233353637383a3b3c3d3f404142', - 'ecb-tbl-192: I=48'), - ('79f374bc445bdabf8fccb8843d6054c6', 'f7401dda5ad5ab712b7eb5d10c6f99b6', - '44454647494a4b4c4e4f50515354555658595a5b5d5e5f60', - 'ecb-tbl-192: I=49'), - ('4e02f1242fa56b05c68dbae8fe44c9d6', '1c9d54318539ebd4c3b5b7e37bf119f0', - '626364656768696a6c6d6e6f71727374767778797b7c7d7e', - 'ecb-tbl-192: I=50'), - ('cf73c93cbff57ac635a6f4ad2a4a1545', 'aca572d65fb2764cffd4a6eca090ea0d', - '80818283858687888a8b8c8d8f90919294959697999a9b9c', - 'ecb-tbl-192: I=51'), - ('9923548e2875750725b886566784c625', '36d9c627b8c2a886a10ccb36eae3dfbb', - '9e9fa0a1a3a4a5a6a8a9aaabadaeafb0b2b3b4b5b7b8b9ba', - 'ecb-tbl-192: I=52'), - ('4888336b723a022c9545320f836a4207', '010edbf5981e143a81d646e597a4a568', - 'bcbdbebfc1c2c3c4c6c7c8c9cbcccdced0d1d2d3d5d6d7d8', - 'ecb-tbl-192: I=53'), - ('f84d9a5561b0608b1160dee000c41ba8', '8db44d538dc20cc2f40f3067fd298e60', - 'dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', - 'ecb-tbl-192: I=54'), - ('c23192a0418e30a19b45ae3e3625bf22', '930eb53bc71e6ac4b82972bdcd5aafb3', - 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314', - 'ecb-tbl-192: I=55'), - ('b84e0690b28b0025381ad82a15e501a7', '6c42a81edcbc9517ccd89c30c95597b4', - '161718191b1c1d1e20212223252627282a2b2c2d2f303132', - 'ecb-tbl-192: I=56'), - ('acef5e5c108876c4f06269f865b8f0b0', 'da389847ad06df19d76ee119c71e1dd3', - '34353637393a3b3c3e3f40414344454648494a4b4d4e4f50', - 'ecb-tbl-192: I=57'), - ('0f1b3603e0f5ddea4548246153a5e064', 'e018fdae13d3118f9a5d1a647a3f0462', - '525354555758595a5c5d5e5f61626364666768696b6c6d6e', - 'ecb-tbl-192: I=58'), - ('fbb63893450d42b58c6d88cd3c1809e3', '2aa65db36264239d3846180fabdfad20', - '70717273757677787a7b7c7d7f80818284858687898a8b8c', - 'ecb-tbl-192: I=59'), - ('4bef736df150259dae0c91354e8a5f92', '1472163e9a4f780f1ceb44b07ecf4fdb', - '8e8f90919394959698999a9b9d9e9fa0a2a3a4a5a7a8a9aa', - 'ecb-tbl-192: I=60'), - ('7d2d46242056ef13d3c3fc93c128f4c7', 'c8273fdc8f3a9f72e91097614b62397c', - 'acadaeafb1b2b3b4b6b7b8b9bbbcbdbec0c1c2c3c5c6c7c8', - 'ecb-tbl-192: I=61'), - ('e9c1ba2df415657a256edb33934680fd', '66c8427dcd733aaf7b3470cb7d976e3f', - 'cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', - 'ecb-tbl-192: I=62'), - ('e23ee277b0aa0a1dfb81f7527c3514f1', '146131cb17f1424d4f8da91e6f80c1d0', - 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304', - 'ecb-tbl-192: I=63'), - ('3e7445b0b63caaf75e4a911e12106b4c', '2610d0ad83659081ae085266a88770dc', - '060708090b0c0d0e10111213151617181a1b1c1d1f202122', - 'ecb-tbl-192: I=64'), - ('767774752023222544455a5be6e1e0e3', '38a2b5a974b0575c5d733917fb0d4570', - '24252627292a2b2c2e2f30313334353638393a3b3d3e3f40', - 'ecb-tbl-192: I=65'), - ('72737475717e7f7ce9e8ebea696a6b6c', 'e21d401ebc60de20d6c486e4f39a588b', - '424344454748494a4c4d4e4f51525354565758595b5c5d5e', - 'ecb-tbl-192: I=66'), - ('dfdedddc25262728c9c8cfcef1eeefec', 'e51d5f88c670b079c0ca1f0c2c4405a2', - '60616263656667686a6b6c6d6f70717274757677797a7b7c', - 'ecb-tbl-192: I=67'), - ('fffe0100707776755f5e5d5c7675746b', '246a94788a642fb3d1b823c8762380c8', - '7e7f80818384858688898a8b8d8e8f90929394959798999a', - 'ecb-tbl-192: I=68'), - ('e0e1e2e3424140479f9e9190292e2f2c', 'b80c391c5c41a4c3b30c68e0e3d7550f', - '9c9d9e9fa1a2a3a4a6a7a8a9abacadaeb0b1b2b3b5b6b7b8', - 'ecb-tbl-192: I=69'), - ('2120272690efeeed3b3a39384e4d4c4b', 'b77c4754fc64eb9a1154a9af0bb1f21c', - 'babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', - 'ecb-tbl-192: I=70'), - ('ecedeeef5350516ea1a0a7a6a3acadae', 'fb554de520d159a06bf219fc7f34a02f', - 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4', - 'ecb-tbl-192: I=71'), - ('32333c3d25222320e9e8ebeacecdccc3', 'a89fba152d76b4927beed160ddb76c57', - 'f6f7f8f9fbfcfdfe00010203050607080a0b0c0d0f101112', - 'ecb-tbl-192: I=72'), - ('40414243626160678a8bb4b511161714', '5676eab4a98d2e8473b3f3d46424247c', - '14151617191a1b1c1e1f20212324252628292a2b2d2e2f30', - 'ecb-tbl-192: I=73'), - ('94959293f5fafbf81f1e1d1c7c7f7e79', '4e8f068bd7ede52a639036ec86c33568', - '323334353738393a3c3d3e3f41424344464748494b4c4d4e', - 'ecb-tbl-192: I=74'), - ('bebfbcbd191a1b14cfcec9c8546b6a69', 'f0193c4d7aff1791ee4c07eb4a1824fc', - '50515253555657585a5b5c5d5f60616264656667696a6b6c', - 'ecb-tbl-192: I=75'), - ('2c2d3233898e8f8cbbbab9b8333031ce', 'ac8686eeca9ba761afe82d67b928c33f', - '6e6f70717374757678797a7b7d7e7f80828384858788898a', - 'ecb-tbl-192: I=76'), - ('84858687bfbcbdba37363938fdfafbf8', '5faf8573e33b145b6a369cd3606ab2c9', - '8c8d8e8f91929394969798999b9c9d9ea0a1a2a3a5a6a7a8', - 'ecb-tbl-192: I=77'), - ('828384857669686b909192930b08090e', '31587e9944ab1c16b844ecad0df2e7da', - 'aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', - 'ecb-tbl-192: I=78'), - ('bebfbcbd9695948b707176779e919093', 'd017fecd91148aba37f6f3068aa67d8a', - 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4', - 'ecb-tbl-192: I=79'), - ('8b8a85846067666521202322d0d3d2dd', '788ef2f021a73cba2794b616078a8500', - 'e6e7e8e9ebecedeef0f1f2f3f5f6f7f8fafbfcfdfe010002', - 'ecb-tbl-192: I=80'), - ('76777475f1f2f3f4f8f9e6e777707172', '5d1ef20dced6bcbc12131ac7c54788aa', - '04050607090a0b0c0e0f10111314151618191a1b1d1e1f20', - 'ecb-tbl-192: I=81'), - ('a4a5a2a34f404142b4b5b6b727242522', 'b3c8cf961faf9ea05fdde6d1e4d8f663', - '222324252728292a2c2d2e2f31323334363738393b3c3d3e', - 'ecb-tbl-192: I=82'), - ('94959697e1e2e3ec16171011839c9d9e', '143075c70605861c7fac6526199e459f', - '40414243454647484a4b4c4d4f50515254555657595a5b5c', - 'ecb-tbl-192: I=83'), - ('03023d3c06010003dedfdcddfffcfde2', 'a5ae12eade9a87268d898bfc8fc0252a', - '5e5f60616364656668696a6b6d6e6f70727374757778797a', - 'ecb-tbl-192: I=84'), - ('10111213f1f2f3f4cecfc0c1dbdcddde', '0924f7cf2e877a4819f5244a360dcea9', - '7c7d7e7f81828384868788898b8c8d8e9091929395969798', - 'ecb-tbl-192: I=85'), - ('67666160724d4c4f1d1c1f1e73707176', '3d9e9635afcc3e291cc7ab3f27d1c99a', - '9a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', - 'ecb-tbl-192: I=86'), - ('e6e7e4e5a8abaad584858283909f9e9d', '9d80feebf87510e2b8fb98bb54fd788c', - 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4', - 'ecb-tbl-192: I=87'), - ('71707f7e565150537d7c7f7e6162636c', '5f9d1a082a1a37985f174002eca01309', - 'd6d7d8d9dbdcdddee0e1e2e3e5e6e7e8eaebecedeff0f1f2', - 'ecb-tbl-192: I=88'), - ('64656667212223245555aaaa03040506', 'a390ebb1d1403930184a44b4876646e4', - 'f4f5f6f7f9fafbfcfefe01010304050608090a0b0d0e0f10', - 'ecb-tbl-192: I=89'), - ('9e9f9899aba4a5a6cfcecdcc2b28292e', '700fe918981c3195bb6c4bcb46b74e29', - '121314151718191a1c1d1e1f21222324262728292b2c2d2e', - 'ecb-tbl-192: I=90'), - ('c7c6c5c4d1d2d3dc626364653a454447', '907984406f7bf2d17fb1eb15b673d747', - '30313233353637383a3b3c3d3f40414244454647494a4b4c', - 'ecb-tbl-192: I=91'), - ('f6f7e8e9e0e7e6e51d1c1f1e5b585966', 'c32a956dcfc875c2ac7c7cc8b8cc26e1', - '4e4f50515354555658595a5b5d5e5f60626364656768696a', - 'ecb-tbl-192: I=92'), - ('bcbdbebf5d5e5f5868696667f4f3f2f1', '02646e2ebfa9b820cf8424e9b9b6eb51', - '6c6d6e6f71727374767778797b7c7d7e8081828385868788', - 'ecb-tbl-192: I=93'), - ('40414647b0afaead9b9a99989b98999e', '621fda3a5bbd54c6d3c685816bd4ead8', - '8a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', - 'ecb-tbl-192: I=94'), - ('69686b6a0201001f0f0e0908b4bbbab9', 'd4e216040426dfaf18b152469bc5ac2f', - 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4', - 'ecb-tbl-192: I=95'), - ('c7c6c9c8d8dfdedd5a5b5859bebdbcb3', '9d0635b9d33b6cdbd71f5d246ea17cc8', - 'c6c7c8c9cbcccdced0d1d2d3d5d6d7d8dadbdcdddfe0e1e2', - 'ecb-tbl-192: I=96'), - ('dedfdcdd787b7a7dfffee1e0b2b5b4b7', '10abad1bd9bae5448808765583a2cc1a', - 'e4e5e6e7e9eaebeceeeff0f1f3f4f5f6f8f9fafbfdfefe00', - 'ecb-tbl-192: I=97'), - ('4d4c4b4a606f6e6dd0d1d2d3fbf8f9fe', '6891889e16544e355ff65a793c39c9a8', - '020304050708090a0c0d0e0f11121314161718191b1c1d1e', - 'ecb-tbl-192: I=98'), - ('b7b6b5b4d7d4d5dae5e4e3e2e1fefffc', 'cc735582e68072c163cd9ddf46b91279', - '20212223252627282a2b2c2d2f30313234353637393a3b3c', - 'ecb-tbl-192: I=99'), - ('cecfb0b1f7f0f1f2aeafacad3e3d3c23', 'c5c68b9aeeb7f878df578efa562f9574', - '3e3f40414344454648494a4b4d4e4f50525354555758595a', - 'ecb-tbl-192: I=100'), - ('cacbc8c9cdcecfc812131c1d494e4f4c', '5f4764395a667a47d73452955d0d2ce8', - '5c5d5e5f61626364666768696b6c6d6e7071727375767778', - 'ecb-tbl-192: I=101'), - ('9d9c9b9ad22d2c2fb1b0b3b20c0f0e09', '701448331f66106cefddf1eb8267c357', - '7a7b7c7d7f80818284858687898a8b8c8e8f909193949596', - 'ecb-tbl-192: I=102'), - ('7a7b787964676659959493924f404142', 'cb3ee56d2e14b4e1941666f13379d657', - '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4', - 'ecb-tbl-192: I=103'), - ('aaaba4a5cec9c8cb1f1e1d1caba8a9a6', '9fe16efd18ab6e1981191851fedb0764', - 'b6b7b8b9bbbcbdbec0c1c2c3c5c6c7c8cacbcccdcfd0d1d2', - 'ecb-tbl-192: I=104'), - ('93929190282b2a2dc4c5fafb92959497', '3dc9ba24e1b223589b147adceb4c8e48', - 'd4d5d6d7d9dadbdcdedfe0e1e3e4e5e6e8e9eaebedeeeff0', - 'ecb-tbl-192: I=105'), - ('efeee9e8ded1d0d339383b3a888b8a8d', '1c333032682e7d4de5e5afc05c3e483c', - 'f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', - 'ecb-tbl-192: I=106'), - ('7f7e7d7ca2a1a0af78797e7f112e2f2c', 'd593cc99a95afef7e92038e05a59d00a', - '10111213151617181a1b1c1d1f20212224252627292a2b2c', - 'ecb-tbl-192: I=107'), - ('84859a9b2b2c2d2e868784852625245b', '51e7f96f53b4353923452c222134e1ec', - '2e2f30313334353638393a3b3d3e3f40424344454748494a', - 'ecb-tbl-192: I=108'), - ('b0b1b2b3070405026869666710171615', '4075b357a1a2b473400c3b25f32f81a4', - '4c4d4e4f51525354565758595b5c5d5e6061626365666768', - 'ecb-tbl-192: I=109'), - ('acadaaabbda2a3a00d0c0f0e595a5b5c', '302e341a3ebcd74f0d55f61714570284', - '6a6b6c6d6f70717274757677797a7b7c7e7f808183848586', - 'ecb-tbl-192: I=110'), - ('121310115655544b5253545569666764', '57abdd8231280da01c5042b78cf76522', - '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4', - 'ecb-tbl-192: I=111'), - ('dedfd0d166616063eaebe8e94142434c', '17f9ea7eea17ac1adf0e190fef799e92', - 'a6a7a8a9abacadaeb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2', - 'ecb-tbl-192: I=112'), - ('dbdad9d81417161166677879e0e7e6e5', '2e1bdd563dd87ee5c338dd6d098d0a7a', - 'c4c5c6c7c9cacbcccecfd0d1d3d4d5d6d8d9dadbdddedfe0', - 'ecb-tbl-192: I=113'), - ('6a6b6c6de0efeeed2b2a2928c0c3c2c5', 'eb869996e6f8bfb2bfdd9e0c4504dbb2', - 'e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', - 'ecb-tbl-192: I=114'), - ('b1b0b3b21714151a1a1b1c1d5649484b', 'c2e01549e9decf317468b3e018c61ba8', - '00010203050607080a0b0c0d0f10111214151617191a1b1c', - 'ecb-tbl-192: I=115'), - ('39380706a3a4a5a6c4c5c6c77271706f', '8da875d033c01dd463b244a1770f4a22', - '1e1f20212324252628292a2b2d2e2f30323334353738393a', - 'ecb-tbl-192: I=116'), - ('5c5d5e5f1013121539383736e2e5e4e7', '8ba0dcf3a186844f026d022f8839d696', - '3c3d3e3f41424344464748494b4c4d4e5051525355565758', - 'ecb-tbl-192: I=117'), - ('43424544ead5d4d72e2f2c2d64676661', 'e9691ff9a6cc6970e51670a0fd5b88c1', - '5a5b5c5d5f60616264656667696a6b6c6e6f707173747576', - 'ecb-tbl-192: I=118'), - ('55545756989b9a65f8f9feff18171615', 'f2baec06faeed30f88ee63ba081a6e5b', - '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394', - 'ecb-tbl-192: I=119'), - ('05040b0a525554573c3d3e3f4a494847', '9c39d4c459ae5753394d6094adc21e78', - '969798999b9c9d9ea0a1a2a3a5a6a7a8aaabacadafb0b1b2', - 'ecb-tbl-192: I=120'), - ('14151617595a5b5c8584fbfa8e89888b', '6345b532a11904502ea43ba99c6bd2b2', - 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6c8c9cacbcdcecfd0', - 'ecb-tbl-192: I=121'), - ('7c7d7a7bfdf2f3f029282b2a51525354', '5ffae3061a95172e4070cedce1e428c8', - 'd2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', - 'ecb-tbl-192: I=122'), - ('38393a3b1e1d1c1341404746c23d3c3e', '0a4566be4cdf9adce5dec865b5ab34cd', - 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c', - 'ecb-tbl-192: I=123'), - ('8d8c939240474645818083827c7f7e41', 'ca17fcce79b7404f2559b22928f126fb', - '0e0f10111314151618191a1b1d1e1f20222324252728292a', - 'ecb-tbl-192: I=124'), - ('3b3a39381a19181f32333c3d45424340', '97ca39b849ed73a6470a97c821d82f58', - '2c2d2e2f31323334363738393b3c3d3e4041424345464748', - 'ecb-tbl-192: I=125'), - ('f0f1f6f738272625828380817f7c7d7a', '8198cb06bc684c6d3e9b7989428dcf7a', - '4a4b4c4d4f50515254555657595a5b5c5e5f606163646566', - 'ecb-tbl-192: I=126'), - ('89888b8a0407061966676061141b1a19', 'f53c464c705ee0f28d9a4c59374928bd', - '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384', - 'ecb-tbl-192: I=127'), - ('d3d2dddcaaadacaf9c9d9e9fe8ebeae5', '9adb3d4cca559bb98c3e2ed73dbf1154', - '868788898b8c8d8e90919293959697989a9b9c9d9fa0a1a2', - 'ecb-tbl-192: I=128'), - - # ecb_tbl.txt, KEYSIZE=256 - ('834eadfccac7e1b30664b1aba44815ab', '1946dabf6a03a2a2c3d0b05080aed6fc', - '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', - 'ecb-tbl-256: I=1'), - ('d9dc4dba3021b05d67c0518f72b62bf1', '5ed301d747d3cc715445ebdec62f2fb4', - '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', - 'ecb-tbl-256: I=2'), - ('a291d86301a4a739f7392173aa3c604c', '6585c8f43d13a6beab6419fc5935b9d0', - '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', - 'ecb-tbl-256: I=3'), - ('4264b2696498de4df79788a9f83e9390', '2a5b56a596680fcc0e05f5e0f151ecae', - '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', - 'ecb-tbl-256: I=4'), - ('ee9932b3721804d5a83ef5949245b6f6', 'f5d6ff414fd2c6181494d20c37f2b8c4', - 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', - 'ecb-tbl-256: I=5'), - ('e6248f55c5fdcbca9cbbb01c88a2ea77', '85399c01f59fffb5204f19f8482f00b8', - 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', - 'ecb-tbl-256: I=6'), - ('b8358e41b9dff65fd461d55a99266247', '92097b4c88a041ddf98144bc8d22e8e7', - 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', - 'ecb-tbl-256: I=7'), - ('f0e2d72260af58e21e015ab3a4c0d906', '89bd5b73b356ab412aef9f76cea2d65c', - '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', - 'ecb-tbl-256: I=8'), - ('475b8b823ce8893db3c44a9f2a379ff7', '2536969093c55ff9454692f2fac2f530', - '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', - 'ecb-tbl-256: I=9'), - ('688f5281945812862f5f3076cf80412f', '07fc76a872843f3f6e0081ee9396d637', - '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', - 'ecb-tbl-256: I=10'), - ('08d1d2bc750af553365d35e75afaceaa', 'e38ba8ec2aa741358dcc93e8f141c491', - '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', - 'ecb-tbl-256: I=11'), - ('8707121f47cc3efceca5f9a8474950a1', 'd028ee23e4a89075d0b03e868d7d3a42', - 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', - 'ecb-tbl-256: I=12'), - ('e51aa0b135dba566939c3b6359a980c5', '8cd9423dfc459e547155c5d1d522e540', - 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', - 'ecb-tbl-256: I=13'), - ('069a007fc76a459f98baf917fedf9521', '080e9517eb1677719acf728086040ae3', - '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', - 'ecb-tbl-256: I=14'), - ('726165c1723fbcf6c026d7d00b091027', '7c1700211a3991fc0ecded0ab3e576b0', - '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', - 'ecb-tbl-256: I=15'), - ('d7c544de91d55cfcde1f84ca382200ce', 'dabcbcc855839251db51e224fbe87435', - '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', - 'ecb-tbl-256: I=16'), - ('fed3c9a161b9b5b2bd611b41dc9da357', '68d56fad0406947a4dd27a7448c10f1d', - '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', - 'ecb-tbl-256: I=17'), - ('4f634cdc6551043409f30b635832cf82', 'da9a11479844d1ffee24bbf3719a9925', - 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', - 'ecb-tbl-256: I=18'), - ('109ce98db0dfb36734d9f3394711b4e6', '5e4ba572f8d23e738da9b05ba24b8d81', - 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', - 'ecb-tbl-256: I=19'), - ('4ea6dfaba2d8a02ffdffa89835987242', 'a115a2065d667e3f0b883837a6e903f8', - '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', - 'ecb-tbl-256: I=20'), - ('5ae094f54af58e6e3cdbf976dac6d9ef', '3e9e90dc33eac2437d86ad30b137e66e', - '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', - 'ecb-tbl-256: I=21'), - ('764d8e8e0f29926dbe5122e66354fdbe', '01ce82d8fbcdae824cb3c48e495c3692', - 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', - 'ecb-tbl-256: I=22'), - ('3f0418f888cdf29a982bf6b75410d6a9', '0c9cff163ce936faaf083cfd3dea3117', - 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', - 'ecb-tbl-256: I=23'), - ('e4a3e7cb12cdd56aa4a75197a9530220', '5131ba9bd48f2bba85560680df504b52', - '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', - 'ecb-tbl-256: I=24'), - ('211677684aac1ec1a160f44c4ebf3f26', '9dc503bbf09823aec8a977a5ad26ccb2', - '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', - 'ecb-tbl-256: I=25'), - ('d21e439ff749ac8f18d6d4b105e03895', '9a6db0c0862e506a9e397225884041d7', - '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', - 'ecb-tbl-256: I=26'), - ('d9f6ff44646c4725bd4c0103ff5552a7', '430bf9570804185e1ab6365fc6a6860c', - '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', - 'ecb-tbl-256: I=27'), - ('0b1256c2a00b976250cfc5b0c37ed382', '3525ebc02f4886e6a5a3762813e8ce8a', - 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', - 'ecb-tbl-256: I=28'), - ('b056447ffc6dc4523a36cc2e972a3a79', '07fa265c763779cce224c7bad671027b', - 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', - 'ecb-tbl-256: I=29'), - ('5e25ca78f0de55802524d38da3fe4456', 'e8b72b4e8be243438c9fff1f0e205872', - '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', - 'ecb-tbl-256: I=30'), - ('a5bcf4728fa5eaad8567c0dc24675f83', '109d4f999a0e11ace1f05e6b22cbcb50', - '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', - 'ecb-tbl-256: I=31'), - ('814e59f97ed84646b78b2ca022e9ca43', '45a5e8d4c3ed58403ff08d68a0cc4029', - '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', - 'ecb-tbl-256: I=32'), - ('15478beec58f4775c7a7f5d4395514d7', '196865964db3d417b6bd4d586bcb7634', - '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', - 'ecb-tbl-256: I=33'), - ('253548ffca461c67c8cbc78cd59f4756', '60436ad45ac7d30d99195f815d98d2ae', - 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', - 'ecb-tbl-256: I=34'), - ('fd7ad8d73b9b0f8cc41600640f503d65', 'bb07a23f0b61014b197620c185e2cd75', - 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', - 'ecb-tbl-256: I=35'), - ('06199de52c6cbf8af954cd65830bcd56', '5bc0b2850129c854423aff0751fe343b', - 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', - 'ecb-tbl-256: I=36'), - ('f17c4ffe48e44c61bd891e257e725794', '7541a78f96738e6417d2a24bd2beca40', - '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', - 'ecb-tbl-256: I=37'), - ('9a5b4a402a3e8a59be6bf5cd8154f029', 'b0a303054412882e464591f1546c5b9e', - '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', - 'ecb-tbl-256: I=38'), - ('79bd40b91a7e07dc939d441782ae6b17', '778c06d8a355eeee214fcea14b4e0eef', - '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', - 'ecb-tbl-256: I=39'), - ('d8ceaaf8976e5fbe1012d8c84f323799', '09614206d15cbace63227d06db6beebb', - '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', - 'ecb-tbl-256: I=40'), - ('3316e2751e2e388b083da23dd6ac3fbe', '41b97fb20e427a9fdbbb358d9262255d', - 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', - 'ecb-tbl-256: I=41'), - ('8b7cfbe37de7dca793521819242c5816', 'c1940f703d845f957652c2d64abd7adf', - 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', - 'ecb-tbl-256: I=42'), - ('f23f033c0eebf8ec55752662fd58ce68', 'd2d44fcdae5332343366db297efcf21b', - '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', - 'ecb-tbl-256: I=43'), - ('59eb34f6c8bdbacc5fc6ad73a59a1301', 'ea8196b79dbe167b6aa9896e287eed2b', - '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', - 'ecb-tbl-256: I=44'), - ('dcde8b6bd5cf7cc22d9505e3ce81261a', 'd6b0b0c4ba6c7dbe5ed467a1e3f06c2d', - '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', - 'ecb-tbl-256: I=45'), - ('e33cf7e524fed781e7042ff9f4b35dc7', 'ec51eb295250c22c2fb01816fb72bcae', - '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', - 'ecb-tbl-256: I=46'), - ('27963c8facdf73062867d164df6d064c', 'aded6630a07ce9c7408a155d3bd0d36f', - 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', - 'ecb-tbl-256: I=47'), - ('77b1ce386b551b995f2f2a1da994eef8', '697c9245b9937f32f5d1c82319f0363a', - 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', - 'ecb-tbl-256: I=48'), - ('f083388b013679efcf0bb9b15d52ae5c', 'aad5ad50c6262aaec30541a1b7b5b19c', - 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314161718191b1c1d1e', - 'ecb-tbl-256: I=49'), - ('c5009e0dab55db0abdb636f2600290c8', '7d34b893855341ec625bd6875ac18c0d', - '20212223252627282a2b2c2d2f30313234353637393a3b3c3e3f404143444546', - 'ecb-tbl-256: I=50'), - ('7804881e26cd532d8514d3683f00f1b9', '7ef05105440f83862f5d780e88f02b41', - '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364666768696b6c6d6e', - 'ecb-tbl-256: I=51'), - ('46cddcd73d1eb53e675ca012870a92a3', 'c377c06403382061af2c9c93a8e70df6', - '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', - 'ecb-tbl-256: I=52'), - ('a9fb44062bb07fe130a8e8299eacb1ab', '1dbdb3ffdc052dacc83318853abc6de5', - '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', - 'ecb-tbl-256: I=53'), - ('2b6ff8d7a5cc3a28a22d5a6f221af26b', '69a6eab00432517d0bf483c91c0963c7', - 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', - 'ecb-tbl-256: I=54'), - ('1a9527c29b8add4b0e3e656dbb2af8b4', '0797f41dc217c80446e1d514bd6ab197', - 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', - 'ecb-tbl-256: I=55'), - ('7f99cf2c75244df015eb4b0c1050aeae', '9dfd76575902a637c01343c58e011a03', - '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', - 'ecb-tbl-256: I=56'), - ('e84ff85b0d9454071909c1381646c4ed', 'acf4328ae78f34b9fa9b459747cc2658', - '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', - 'ecb-tbl-256: I=57'), - ('89afd40f99521280d5399b12404f6db4', 'b0479aea12bac4fe2384cf98995150c6', - '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', - 'ecb-tbl-256: I=58'), - ('a09ef32dbc5119a35ab7fa38656f0329', '9dd52789efe3ffb99f33b3da5030109a', - '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', - 'ecb-tbl-256: I=59'), - ('61773457f068c376c7829b93e696e716', 'abbb755e4621ef8f1214c19f649fb9fd', - 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', - 'ecb-tbl-256: I=60'), - ('a34f0cae726cce41dd498747d891b967', 'da27fb8174357bce2bed0e7354f380f9', - 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', - 'ecb-tbl-256: I=61'), - ('856f59496c7388ee2d2b1a27b7697847', 'c59a0663f0993838f6e5856593bdc5ef', - '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', - 'ecb-tbl-256: I=62'), - ('cb090c593ef7720bd95908fb93b49df4', 'ed60b264b5213e831607a99c0ce5e57e', - '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', - 'ecb-tbl-256: I=63'), - ('a0ac75cd2f1923d460fc4d457ad95baf', 'e50548746846f3eb77b8c520640884ed', - '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', - 'ecb-tbl-256: I=64'), - ('2a2b282974777689e8e9eeef525d5c5f', '28282cc7d21d6a2923641e52d188ef0c', - '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', - 'ecb-tbl-256: I=65'), - ('909192939390919e0f0e09089788898a', '0dfa5b02abb18e5a815305216d6d4f8e', - 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', - 'ecb-tbl-256: I=66'), - ('777675748d8e8f907170777649464744', '7359635c0eecefe31d673395fb46fb99', - 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', - 'ecb-tbl-256: I=67'), - ('717073720605040b2d2c2b2a05fafbf9', '73c679f7d5aef2745c9737bb4c47fb36', - 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', - 'ecb-tbl-256: I=68'), - ('64656667fefdfcc31b1a1d1ca5aaaba8', 'b192bd472a4d2eafb786e97458967626', - '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', - 'ecb-tbl-256: I=69'), - ('dbdad9d86a696867b5b4b3b2c8d7d6d5', '0ec327f6c8a2b147598ca3fde61dc6a4', - '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', - 'ecb-tbl-256: I=70'), - ('5c5d5e5fe3e0e1fe31303736333c3d3e', 'fc418eb3c41b859b38d4b6f646629729', - '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', - 'ecb-tbl-256: I=71'), - ('545556574b48494673727574546b6a69', '30249e5ac282b1c981ea64b609f3a154', - '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', - 'ecb-tbl-256: I=72'), - ('ecedeeefc6c5c4bb56575051f5fafbf8', '5e6e08646d12150776bb43c2d78a9703', - 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', - 'ecb-tbl-256: I=73'), - ('464744452724252ac9c8cfced2cdcccf', 'faeb3d5de652cd3447dceb343f30394a', - 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', - 'ecb-tbl-256: I=74'), - ('e6e7e4e54142435c878681801c131211', 'a8e88706823f6993ef80d05c1c7b2cf0', - '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', - 'ecb-tbl-256: I=75'), - ('72737071cfcccdc2f9f8fffe710e0f0c', '8ced86677e6e00a1a1b15968f2d3cce6', - '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', - 'ecb-tbl-256: I=76'), - ('505152537370714ec3c2c5c4010e0f0c', '9fc7c23858be03bdebb84e90db6786a9', - '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', - 'ecb-tbl-256: I=77'), - ('a8a9aaab5c5f5e51aeafa8a93d222320', 'b4fbd65b33f70d8cf7f1111ac4649c36', - '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', - 'ecb-tbl-256: I=78'), - ('dedfdcddf6f5f4eb10111617fef1f0f3', 'c5c32d5ed03c4b53cc8c1bd0ef0dbbf6', - 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', - 'ecb-tbl-256: I=79'), - ('bdbcbfbe5e5d5c530b0a0d0cfac5c4c7', 'd1a7f03b773e5c212464b63709c6a891', - 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', - 'ecb-tbl-256: I=80'), - ('8a8b8889050606f8f4f5f2f3636c6d6e', '6b7161d8745947ac6950438ea138d028', - 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314161718191b1c1d1e', - 'ecb-tbl-256: I=81'), - ('a6a7a4a54d4e4f40b2b3b4b539262724', 'fd47a9f7e366ee7a09bc508b00460661', - '20212223252627282a2b2c2d2f30313234353637393a3b3c3e3f404143444546', - 'ecb-tbl-256: I=82'), - ('9c9d9e9fe9eaebf40e0f08099b949596', '00d40b003dc3a0d9310b659b98c7e416', - '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364666768696b6c6d6e', - 'ecb-tbl-256: I=83'), - ('2d2c2f2e1013121dcccdcacbed121310', 'eea4c79dcc8e2bda691f20ac48be0717', - '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', - 'ecb-tbl-256: I=84'), - ('f4f5f6f7edeeefd0eaebecedf7f8f9fa', 'e78f43b11c204403e5751f89d05a2509', - '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', - 'ecb-tbl-256: I=85'), - ('3d3c3f3e282b2a2573727574150a0b08', 'd0f0e3d1f1244bb979931e38dd1786ef', - 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', - 'ecb-tbl-256: I=86'), - ('b6b7b4b5f8fbfae5b4b5b2b3a0afaead', '042e639dc4e1e4dde7b75b749ea6f765', - 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', - 'ecb-tbl-256: I=87'), - ('b7b6b5b4989b9a95878681809ba4a5a6', 'bc032fdd0efe29503a980a7d07ab46a8', - '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', - 'ecb-tbl-256: I=88'), - ('a8a9aaabe5e6e798e9e8efee4748494a', '0c93ac949c0da6446effb86183b6c910', - '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', - 'ecb-tbl-256: I=89'), - ('ecedeeefd9dadbd4b9b8bfbe657a7b78', 'e0d343e14da75c917b4a5cec4810d7c2', - '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', - 'ecb-tbl-256: I=90'), - ('7f7e7d7c696a6b74cacbcccd929d9c9f', '0eafb821748408279b937b626792e619', - '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', - 'ecb-tbl-256: I=91'), - ('08090a0b0605040bfffef9f8b9c6c7c4', 'fa1ac6e02d23b106a1fef18b274a553f', - 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', - 'ecb-tbl-256: I=92'), - ('08090a0bf1f2f3ccfcfdfafb68676665', '0dadfe019cd12368075507df33c1a1e9', - 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', - 'ecb-tbl-256: I=93'), - ('cacbc8c93a393837050403020d121310', '3a0879b414465d9ffbaf86b33a63a1b9', - '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', - 'ecb-tbl-256: I=94'), - ('e9e8ebea8281809f8f8e8988343b3a39', '62199fadc76d0be1805d3ba0b7d914bf', - '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', - 'ecb-tbl-256: I=95'), - ('515053524645444bd0d1d6d7340b0a09', '1b06d6c5d333e742730130cf78e719b4', - '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', - 'ecb-tbl-256: I=96'), - ('42434041ecefee1193929594c6c9c8cb', 'f1f848824c32e9dcdcbf21580f069329', - '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', - 'ecb-tbl-256: I=97'), - ('efeeedecc2c1c0cf76777071455a5b58', '1a09050cbd684f784d8e965e0782f28a', - 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', - 'ecb-tbl-256: I=98'), - ('5f5e5d5c3f3c3d221d1c1b1a19161714', '79c2969e7ded2ba7d088f3f320692360', - 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', - 'ecb-tbl-256: I=99'), - ('000102034142434c1c1d1a1b8d727371', '091a658a2f7444c16accb669450c7b63', - 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', - 'ecb-tbl-256: I=100'), - ('8e8f8c8db1b2b38c56575051050a0b08', '97c1e3a72cca65fa977d5ed0e8a7bbfc', - '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', - 'ecb-tbl-256: I=101'), - ('a7a6a5a4e8ebeae57f7e7978cad5d4d7', '70c430c6db9a17828937305a2df91a2a', - '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', - 'ecb-tbl-256: I=102'), - ('8a8b888994979689454443429f909192', '629553457fbe2479098571c7c903fde8', - '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', - 'ecb-tbl-256: I=103'), - ('8c8d8e8fe0e3e2ed45444342f1cecfcc', 'a25b25a61f612669e7d91265c7d476ba', - '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', - 'ecb-tbl-256: I=104'), - ('fffefdfc4c4f4e31d8d9dedfb6b9b8bb', 'eb7e4e49b8ae0f024570dda293254fed', - 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', - 'ecb-tbl-256: I=105'), - ('fdfcfffecccfcec12f2e29286679787b', '38fe15d61cca84516e924adce5014f67', - 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', - 'ecb-tbl-256: I=106'), - ('67666564bab9b8a77071767719161714', '3ad208492249108c9f3ebeb167ad0583', - '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', - 'ecb-tbl-256: I=107'), - ('9a9b98992d2e2f2084858283245b5a59', '299ba9f9bf5ab05c3580fc26edd1ed12', - '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', - 'ecb-tbl-256: I=108'), - ('a4a5a6a70b0809365c5d5a5b2c232221', '19dc705b857a60fb07717b2ea5717781', - '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', - 'ecb-tbl-256: I=109'), - ('464744455754555af3f2f5f4afb0b1b2', 'ffc8aeb885b5efcad06b6dbebf92e76b', - '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', - 'ecb-tbl-256: I=110'), - ('323330317675746b7273747549464744', 'f58900c5e0b385253ff2546250a0142b', - 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', - 'ecb-tbl-256: I=111'), - ('a8a9aaab181b1a15808186872b141516', '2ee67b56280bc462429cee6e3370cbc1', - 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', - 'ecb-tbl-256: I=112'), - ('e7e6e5e4202323ddaaabacad343b3a39', '20db650a9c8e9a84ab4d25f7edc8f03f', - 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314161718191b1c1d1e', - 'ecb-tbl-256: I=113'), - ('a8a9aaab2221202fedecebea1e010003', '3c36da169525cf818843805f25b78ae5', - '20212223252627282a2b2c2d2f30313234353637393a3b3c3e3f404143444546', - 'ecb-tbl-256: I=114'), - ('f9f8fbfa5f5c5d42424344450e010003', '9a781d960db9e45e37779042fea51922', - '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364666768696b6c6d6e', - 'ecb-tbl-256: I=115'), - ('57565554f5f6f7f89697909120dfdedd', '6560395ec269c672a3c288226efdba77', - '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', - 'ecb-tbl-256: I=116'), - ('f8f9fafbcccfcef1dddcdbda0e010003', '8c772b7a189ac544453d5916ebb27b9a', - '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', - 'ecb-tbl-256: I=117'), - ('d9d8dbda7073727d80818687c2dddcdf', '77ca5468cc48e843d05f78eed9d6578f', - 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', - 'ecb-tbl-256: I=118'), - ('c5c4c7c6080b0a1588898e8f68676665', '72cdcc71dc82c60d4429c9e2d8195baa', - 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', - 'ecb-tbl-256: I=119'), - ('83828180dcdfded186878081f0cfcecd', '8080d68ce60e94b40b5b8b69eeb35afa', - '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', - 'ecb-tbl-256: I=120'), - ('98999a9bdddedfa079787f7e0a050407', '44222d3cde299c04369d58ac0eba1e8e', - '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', - 'ecb-tbl-256: I=121'), - ('cecfcccd4f4c4d429f9e9998dfc0c1c2', '9b8721b0a8dfc691c5bc5885dbfcb27a', - '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', - 'ecb-tbl-256: I=122'), - ('404142436665647b29282f2eaba4a5a6', '0dc015ce9a3a3414b5e62ec643384183', - '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', - 'ecb-tbl-256: I=123'), - ('33323130e6e5e4eb23222524dea1a0a3', '705715448a8da412025ce38345c2a148', - 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', - 'ecb-tbl-256: I=124'), - ('cfcecdccf6f5f4cbe6e7e0e199969794', 'c32b5b0b6fbae165266c569f4b6ecf0b', - 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', - 'ecb-tbl-256: I=125'), - ('babbb8b97271707fdcdddadb29363734', '4dca6c75192a01ddca9476af2a521e87', - '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', - 'ecb-tbl-256: I=126'), - ('c9c8cbca4447465926272021545b5a59', '058691e627ecbc36ac07b6db423bd698', - '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', - 'ecb-tbl-256: I=127'), - ('050407067477767956575051221d1c1f', '7444527095838fe080fc2bcdd30847eb', - '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', - 'ecb-tbl-256: I=128'), - - # FIPS PUB 800-38A test vectors, 2001 edition. Annex F. - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - '3ad77bb40d7a3660a89ecaf32466ef97'+'f5d3d58503b9699de785895a96fdbaaf'+ - '43b1cd7f598ece23881b00e3ed030688'+'7b0c785e27e8ad3f8223207104725dd4', - '2b7e151628aed2a6abf7158809cf4f3c', - 'NIST 800-38A, F.1.1, ECB and AES-128'), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - 'bd334f1d6e45f25ff712a214571fa5cc'+'974104846d0ad3ad7734ecb3ecee4eef'+ - 'ef7afd2270e2e60adce0ba2face6444e'+'9a4b41ba738d6c72fb16691603c18e0e', - '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b', - 'NIST 800-38A, F.1.3, ECB and AES-192'), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - 'f3eed1bdb5d2a03c064b5a7e3db181f8'+'591ccb10d410ed26dc5ba74a31362870'+ - 'b6ed21b99ca6f4f9f153e7b1beafed1d'+'23304b7a39f9f3ff067d8d8f9e24ecc7', - '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4', - 'NIST 800-38A, F.1.3, ECB and AES-256'), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - '7649abac8119b246cee98e9b12e9197d'+'5086cb9b507219ee95db113a917678b2'+ - '73bed6b8e3c1743b7116e69e22229516'+'3ff1caa1681fac09120eca307586e1a7', - '2b7e151628aed2a6abf7158809cf4f3c', - 'NIST 800-38A, F.2.1, CBC and AES-128', - dict(mode='CBC', iv='000102030405060708090a0b0c0d0e0f')), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - '4f021db243bc633d7178183a9fa071e8'+'b4d9ada9ad7dedf4e5e738763f69145a'+ - '571b242012fb7ae07fa9baac3df102e0'+'08b0e27988598881d920a9e64f5615cd', - '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b', - 'NIST 800-38A, F.2.1, CBC and AES-192', - dict(mode='CBC', iv='000102030405060708090a0b0c0d0e0f')), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - 'f58c4c04d6e5f1ba779eabfb5f7bfbd6'+'9cfc4e967edb808d679f777bc6702c7d'+ - '39f23369a9d9bacfa530e26304231461'+'b2eb05e2c39be9fcda6c19078c6a9d1b', - '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4', - 'NIST 800-38A, F.2.1, CBC and AES-256', - dict(mode='CBC', iv='000102030405060708090a0b0c0d0e0f')), - - # Skip CFB-1 since it is not supported by PyCrypto - - ('6bc1bee22e409f96e93d7e117393172aae2d','3b79424c9c0dd436bace9e0ed4586a4f32b9', - '2b7e151628aed2a6abf7158809cf4f3c', - 'NIST 800-38A, F.3.7, CFB-8 and AES-128', - dict(mode='CFB', iv='000102030405060708090a0b0c0d0e0f', segment_size=8)), - - ('6bc1bee22e409f96e93d7e117393172aae2d','cda2521ef0a905ca44cd057cbf0d47a0678a', - '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b', - 'NIST 800-38A, F.3.9, CFB-8 and AES-192', - dict(mode='CFB', iv='000102030405060708090a0b0c0d0e0f', segment_size=8)), - - ('6bc1bee22e409f96e93d7e117393172aae2d','dc1f1a8520a64db55fcc8ac554844e889700', - '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4', - 'NIST 800-38A, F.3.11, CFB-8 and AES-256', - dict(mode='CFB', iv='000102030405060708090a0b0c0d0e0f', segment_size=8)), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - '3b3fd92eb72dad20333449f8e83cfb4a'+'c8a64537a0b3a93fcde3cdad9f1ce58b'+ - '26751f67a3cbb140b1808cf187a4f4df'+'c04b05357c5d1c0eeac4c66f9ff7f2e6', - '2b7e151628aed2a6abf7158809cf4f3c', - 'NIST 800-38A, F.3.13, CFB-128 and AES-128', - dict(mode='CFB', iv='000102030405060708090a0b0c0d0e0f', segment_size=128)), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - 'cdc80d6fddf18cab34c25909c99a4174'+'67ce7f7f81173621961a2b70171d3d7a'+ - '2e1e8a1dd59b88b1c8e60fed1efac4c9'+'c05f9f9ca9834fa042ae8fba584b09ff', - '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b', - 'NIST 800-38A, F.3.15, CFB-128 and AES-192', - dict(mode='CFB', iv='000102030405060708090a0b0c0d0e0f', segment_size=128)), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - 'dc7e84bfda79164b7ecd8486985d3860'+'39ffed143b28b1c832113c6331e5407b'+ - 'df10132415e54b92a13ed0a8267ae2f9'+'75a385741ab9cef82031623d55b1e471', - '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4', - 'NIST 800-38A, F.3.17, CFB-128 and AES-256', - dict(mode='CFB', iv='000102030405060708090a0b0c0d0e0f', segment_size=128)), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - '3b3fd92eb72dad20333449f8e83cfb4a'+'7789508d16918f03f53c52dac54ed825'+ - '9740051e9c5fecf64344f7a82260edcc'+'304c6528f659c77866a510d9c1d6ae5e', - '2b7e151628aed2a6abf7158809cf4f3c', - 'NIST 800-38A, F.4.1, OFB and AES-128', - dict(mode='OFB', iv='000102030405060708090a0b0c0d0e0f')), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - 'cdc80d6fddf18cab34c25909c99a4174'+'fcc28b8d4c63837c09e81700c1100401'+ - '8d9a9aeac0f6596f559c6d4daf59a5f2'+'6d9f200857ca6c3e9cac524bd9acc92a', - '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b', - 'NIST 800-38A, F.4.3, OFB and AES-192', - dict(mode='OFB', iv='000102030405060708090a0b0c0d0e0f')), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - 'dc7e84bfda79164b7ecd8486985d3860'+'4febdc6740d20b3ac88f6ad82a4fb08d'+ - '71ab47a086e86eedf39d1c5bba97c408'+'0126141d67f37be8538f5a8be740e484', - '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4', - 'NIST 800-38A, F.4.5, OFB and AES-256', - dict(mode='OFB', iv='000102030405060708090a0b0c0d0e0f')), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - '874d6191b620e3261bef6864990db6ce'+'9806f66b7970fdff8617187bb9fffdff'+ - '5ae4df3edbd5d35e5b4f09020db03eab'+'1e031dda2fbe03d1792170a0f3009cee', - '2b7e151628aed2a6abf7158809cf4f3c', - 'NIST 800-38A, F.5.1, CTR and AES-128', - dict(mode='CTR', ctr_params=dict(nbits=16, prefix='f0f1f2f3f4f5f6f7f8f9fafbfcfd', initial_value=0xfeff))), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - '1abc932417521ca24f2b0459fe7e6e0b'+'090339ec0aa6faefd5ccc2c6f4ce8e94'+ - '1e36b26bd1ebc670d1bd1d665620abf7'+'4f78a7f6d29809585a97daec58c6b050', - '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b', - 'NIST 800-38A, F.5.3, CTR and AES-192', - dict(mode='CTR', ctr_params=dict(nbits=16, prefix='f0f1f2f3f4f5f6f7f8f9fafbfcfd', initial_value=0xfeff))), - - ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ - '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', - '601ec313775789a5b7a7f504bbf3d228'+'f443e3ca4d62b59aca84e990cacaf5c5'+ - '2b0930daa23de94ce87017ba2d84988d'+'dfc9c58db67aada613c2dd08457941a6', - '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4', - 'NIST 800-38A, F.5.5, CTR and AES-256', - dict(mode='CTR', ctr_params=dict(nbits=16, prefix='f0f1f2f3f4f5f6f7f8f9fafbfcfd', initial_value=0xfeff))), - - # RFC 3686 test vectors - # This is a list of (plaintext, ciphertext, key[, description[, params]]) tuples. - ('53696e676c6520626c6f636b206d7367', 'e4095d4fb7a7b3792d6175a3261311b8', - 'ae6852f8121067cc4bf7a5765577f39e', - 'RFC 3686 Test Vector #1: Encrypting 16 octets using AES-CTR with 128-bit key', - dict(mode='CTR', ctr_params=dict(nbits=32, prefix='00000030'+'0000000000000000'))), - ('000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f', - '5104a106168a72d9790d41ee8edad388eb2e1efc46da57c8fce630df9141be28', - '7e24067817fae0d743d6ce1f32539163', - 'RFC 3686 Test Vector #2: Encrypting 32 octets using AES-CTR with 128-bit key', - dict(mode='CTR', ctr_params=dict(nbits=32, prefix='006cb6db'+'c0543b59da48d90b'))), - ('000102030405060708090a0b0c0d0e0f'+'101112131415161718191a1b1c1d1e1f'+'20212223', - 'c1cf48a89f2ffdd9cf4652e9efdb72d7'+'4540a42bde6d7836d59a5ceaaef31053'+'25b2072f', - '7691be035e5020a8ac6e618529f9a0dc', - 'RFC 3686 Test Vector #3: Encrypting 36 octets using AES-CTR with 128-bit key', - dict(mode='CTR', ctr_params=dict(nbits=32, prefix='00e0017b'+'27777f3f4a1786f0'))), - ('53696e676c6520626c6f636b206d7367', - '4b55384fe259c9c84e7935a003cbe928', - '16af5b145fc9f579c175f93e3bfb0eed'+'863d06ccfdb78515', - 'RFC 3686 Test Vector #4: Encrypting 16 octets using AES-CTR with 192-bit key', - dict(mode='CTR', ctr_params=dict(nbits=32, prefix='00000048'+'36733c147d6d93cb'))), - ('000102030405060708090a0b0c0d0e0f'+'101112131415161718191a1b1c1d1e1f', - '453243fc609b23327edfaafa7131cd9f'+'8490701c5ad4a79cfc1fe0ff42f4fb00', - '7c5cb2401b3dc33c19e7340819e0f69c'+'678c3db8e6f6a91a', - 'RFC 3686 Test Vector #5: Encrypting 32 octets using AES-CTR with 192-bit key', - dict(mode='CTR', ctr_params=dict(nbits=32, prefix='0096b03b'+'020c6eadc2cb500d'))), - ('000102030405060708090a0b0c0d0e0f'+'101112131415161718191a1b1c1d1e1f'+'20212223', - '96893fc55e5c722f540b7dd1ddf7e758'+'d288bc95c69165884536c811662f2188'+'abee0935', - '02bf391ee8ecb159b959617b0965279b'+'f59b60a786d3e0fe', - 'RFC 3686 Test Vector #6: Encrypting 36 octets using AES-CTR with 192-bit key', - dict(mode='CTR', ctr_params=dict(nbits=32, prefix='0007bdfd'+'5cbd60278dcc0912'))), - ('53696e676c6520626c6f636b206d7367', - '145ad01dbf824ec7560863dc71e3e0c0', - '776beff2851db06f4c8a0542c8696f6c'+'6a81af1eec96b4d37fc1d689e6c1c104', - 'RFC 3686 Test Vector #7: Encrypting 16 octets using AES-CTR with 256-bit key', - dict(mode='CTR', ctr_params=dict(nbits=32, prefix='00000060'+'db5672c97aa8f0b2'))), - ('000102030405060708090a0b0c0d0e0f'+'101112131415161718191a1b1c1d1e1f', - 'f05e231b3894612c49ee000b804eb2a9'+'b8306b508f839d6a5530831d9344af1c', - 'f6d66d6bd52d59bb0796365879eff886'+'c66dd51a5b6a99744b50590c87a23884', - 'RFC 3686 Test Vector #8: Encrypting 32 octets using AES-CTR with 256-bit key', - dict(mode='CTR', ctr_params=dict(nbits=32, prefix='00faac24'+'c1585ef15a43d875'))), - ('000102030405060708090a0b0c0d0e0f'+'101112131415161718191a1b1c1d1e1f'+'20212223', - 'eb6c52821d0bbbf7ce7594462aca4faa'+'b407df866569fd07f48cc0b583d6071f'+'1ec0e6b8', - 'ff7a617ce69148e4f1726e2f43581de2'+'aa62d9f805532edff1eed687fb54153d', - 'RFC 3686 Test Vector #9: Encrypting 36 octets using AES-CTR with 256-bit key', - dict(mode='CTR', ctr_params=dict(nbits=32, prefix='001cc5b7'+'51a51d70a1c11148'))), - - # The following test vectors have been generated with gpg v1.4.0. - # The command line used was: - # - # gpg -c -z 0 --cipher-algo AES --passphrase secret_passphrase \ - # --disable-mdc --s2k-mode 0 --output ct pt - # - # As result, the content of the file 'pt' is encrypted with a key derived - # from 'secret_passphrase' and written to file 'ct'. - # Test vectors must be extracted from 'ct', which is a collection of - # TLVs (see RFC4880 for all details): - # - the encrypted data (with the encrypted IV as prefix) is the payload - # of the TLV with tag 9 (Symmetrical Encrypted Data Packet). - # This is the ciphertext in the test vector. - # - inside the encrypted part, there is a further layer of TLVs. One must - # look for tag 11 (Literal Data Packet); in its payload, after a short - # but time dependent header, there is the content of file 'pt'. - # In the test vector, the plaintext is the complete set of TLVs that gets - # encrypted. It is not just the content of 'pt'. - # - the key is the leftmost 16 bytes of the SHA1 digest of the password. - # The test vector contains such shortened digest. - # - # Note that encryption uses a clear IV, and decryption an encrypted IV - ( 'ac18620270744fb4f647426c61636b4361745768697465436174', # Plaintext, 'BlackCatWhiteCat' - 'dc6b9e1f095de609765c59983db5956ae4f63aea7405389d2ebb', # Ciphertext - '5baa61e4c9b93f3f0682250b6cf8331b', # Key (hash of 'password') - 'GPG Test Vector #1', - dict(mode='OPENPGP', iv='3d7d3e62282add7eb203eeba5c800733', encrypted_iv='fd934601ef49cb58b6d9aebca6056bdb96ef' ) ), -] - -def get_tests(config={}): - from Crypto.Cipher import AES - from .common import make_block_tests - return make_block_tests(AES, "AES", test_data) - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_ARC2.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_ARC2.py deleted file mode 100644 index eadcca4..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_ARC2.py +++ /dev/null @@ -1,124 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Cipher/ARC2.py: Self-test for the Alleged-RC2 cipher -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Cipher.ARC2""" - -__revision__ = "$Id$" - -from .common import dict # For compatibility with Python 2.1 and 2.2 - -import unittest -from Crypto.Util.py3compat import * - -# This is a list of (plaintext, ciphertext, key[, description[, extra_params]]) tuples. -test_data = [ - # Test vectors from RFC 2268 - - # 63-bit effective key length - ('0000000000000000', 'ebb773f993278eff', '0000000000000000', - 'RFC2268-1', dict(effective_keylen=63)), - - # 64-bit effective key length - ('ffffffffffffffff', '278b27e42e2f0d49', 'ffffffffffffffff', - 'RFC2268-2', dict(effective_keylen=64)), - ('1000000000000001', '30649edf9be7d2c2', '3000000000000000', - 'RFC2268-3', dict(effective_keylen=64)), - ('0000000000000000', '61a8a244adacccf0', '88', - 'RFC2268-4', dict(effective_keylen=64)), - ('0000000000000000', '6ccf4308974c267f', '88bca90e90875a', - 'RFC2268-5', dict(effective_keylen=64)), - ('0000000000000000', '1a807d272bbe5db1', '88bca90e90875a7f0f79c384627bafb2', - 'RFC2268-6', dict(effective_keylen=64)), - - # 128-bit effective key length - ('0000000000000000', '2269552ab0f85ca6', '88bca90e90875a7f0f79c384627bafb2', - "RFC2268-7", dict(effective_keylen=128)), - ('0000000000000000', '5b78d3a43dfff1f1', - '88bca90e90875a7f0f79c384627bafb216f80a6f85920584c42fceb0be255daf1e', - "RFC2268-8", dict(effective_keylen=129)), - - # Test vectors from PyCrypto 2.0.1's testdata.py - # 1024-bit effective key length - ('0000000000000000', '624fb3e887419e48', '5068696c6970476c617373', - 'PCTv201-0'), - ('ffffffffffffffff', '79cadef44c4a5a85', '5068696c6970476c617373', - 'PCTv201-1'), - ('0001020304050607', '90411525b34e4c2c', '5068696c6970476c617373', - 'PCTv201-2'), - ('0011223344556677', '078656aaba61cbfb', '5068696c6970476c617373', - 'PCTv201-3'), - ('0000000000000000', 'd7bcc5dbb4d6e56a', 'ffffffffffffffff', - 'PCTv201-4'), - ('ffffffffffffffff', '7259018ec557b357', 'ffffffffffffffff', - 'PCTv201-5'), - ('0001020304050607', '93d20a497f2ccb62', 'ffffffffffffffff', - 'PCTv201-6'), - ('0011223344556677', 'cb15a7f819c0014d', 'ffffffffffffffff', - 'PCTv201-7'), - ('0000000000000000', '63ac98cdf3843a7a', 'ffffffffffffffff5065746572477265656e6177617953e5ffe553', - 'PCTv201-8'), - ('ffffffffffffffff', '3fb49e2fa12371dd', 'ffffffffffffffff5065746572477265656e6177617953e5ffe553', - 'PCTv201-9'), - ('0001020304050607', '46414781ab387d5f', 'ffffffffffffffff5065746572477265656e6177617953e5ffe553', - 'PCTv201-10'), - ('0011223344556677', 'be09dc81feaca271', 'ffffffffffffffff5065746572477265656e6177617953e5ffe553', - 'PCTv201-11'), - ('0000000000000000', 'e64221e608be30ab', '53e5ffe553', - 'PCTv201-12'), - ('ffffffffffffffff', '862bc60fdcd4d9a9', '53e5ffe553', - 'PCTv201-13'), - ('0001020304050607', '6a34da50fa5e47de', '53e5ffe553', - 'PCTv201-14'), - ('0011223344556677', '584644c34503122c', '53e5ffe553', - 'PCTv201-15'), -] - -class BufferOverflowTest(unittest.TestCase): - # Test a buffer overflow found in older versions of PyCrypto - - def setUp(self): - global ARC2 - from Crypto.Cipher import ARC2 - - def runTest(self): - """ARC2 with keylength > 128""" - key = "x" * 16384 - mode = ARC2.MODE_ECB - self.assertRaises(ValueError, ARC2.new, key, mode) - -def get_tests(config={}): - from Crypto.Cipher import ARC2 - from .common import make_block_tests - - tests = make_block_tests(ARC2, "ARC2", test_data) - tests.append(BufferOverflowTest()) - - return tests - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_ARC4.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_ARC4.py deleted file mode 100644 index 2ab400e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_ARC4.py +++ /dev/null @@ -1,81 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Cipher/ARC4.py: Self-test for the Alleged-RC4 cipher -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Cipher.ARC4""" - -__revision__ = "$Id$" - -from Crypto.Util.py3compat import * - -# This is a list of (plaintext, ciphertext, key[, description]) tuples. -test_data = [ - # Test vectors from Eric Rescorla's message with the subject - # "RC4 compatibility testing", sent to the cipherpunks mailing list on - # September 13, 1994. - # http://cypherpunks.venona.com/date/1994/09/msg00420.html - - ('0123456789abcdef', '75b7878099e0c596', '0123456789abcdef', - 'Test vector 0'), - - ('0000000000000000', '7494c2e7104b0879', '0123456789abcdef', - 'Test vector 1'), - - ('0000000000000000', 'de188941a3375d3a', '0000000000000000', - 'Test vector 2'), - - ('00000000000000000000', 'd6a141a7ec3c38dfbd61', 'ef012345', - 'Test vector 3'), - - ('01' * 512, - '7595c3e6114a09780c4ad452338e1ffd9a1be9498f813d76533449b6778dcad8' - + 'c78a8d2ba9ac66085d0e53d59c26c2d1c490c1ebbe0ce66d1b6b1b13b6b919b8' - + '47c25a91447a95e75e4ef16779cde8bf0a95850e32af9689444fd377108f98fd' - + 'cbd4e726567500990bcc7e0ca3c4aaa304a387d20f3b8fbbcd42a1bd311d7a43' - + '03dda5ab078896ae80c18b0af66dff319616eb784e495ad2ce90d7f772a81747' - + 'b65f62093b1e0db9e5ba532fafec47508323e671327df9444432cb7367cec82f' - + '5d44c0d00b67d650a075cd4b70dedd77eb9b10231b6b5b741347396d62897421' - + 'd43df9b42e446e358e9c11a9b2184ecbef0cd8e7a877ef968f1390ec9b3d35a5' - + '585cb009290e2fcde7b5ec66d9084be44055a619d9dd7fc3166f9487f7cb2729' - + '12426445998514c15d53a18c864ce3a2b7555793988126520eacf2e3066e230c' - + '91bee4dd5304f5fd0405b35bd99c73135d3d9bc335ee049ef69b3867bf2d7bd1' - + 'eaa595d8bfc0066ff8d31509eb0c6caa006c807a623ef84c3d33c195d23ee320' - + 'c40de0558157c822d4b8c569d849aed59d4e0fd7f379586b4b7ff684ed6a189f' - + '7486d49b9c4bad9ba24b96abf924372c8a8fffb10d55354900a77a3db5f205e1' - + 'b99fcd8660863a159ad4abe40fa48934163ddde542a6585540fd683cbfd8c00f' - + '12129a284deacc4cdefe58be7137541c047126c8d49e2755ab181ab7e940b0c0', - '0123456789abcdef', - "Test vector 4"), -] - -def get_tests(config={}): - from Crypto.Cipher import ARC4 - from .common import make_stream_tests - return make_stream_tests(ARC4, "ARC4", test_data) - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.py deleted file mode 100644 index f0e6592..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.py +++ /dev/null @@ -1,113 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Cipher/test_Blowfish.py: Self-test for the Blowfish cipher -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Cipher.Blowfish""" - -__revision__ = "$Id$" - -from Crypto.Util.py3compat import * - -# This is a list of (plaintext, ciphertext, key) tuples. -test_data = [ - # Test vectors from http://www.schneier.com/code/vectors.txt - ('0000000000000000', '4ef997456198dd78', '0000000000000000'), - ('ffffffffffffffff', '51866fd5b85ecb8a', 'ffffffffffffffff'), - ('1000000000000001', '7d856f9a613063f2', '3000000000000000'), - ('1111111111111111', '2466dd878b963c9d', '1111111111111111'), - ('1111111111111111', '61f9c3802281b096', '0123456789abcdef'), - ('0123456789abcdef', '7d0cc630afda1ec7', '1111111111111111'), - ('0000000000000000', '4ef997456198dd78', '0000000000000000'), - ('0123456789abcdef', '0aceab0fc6a0a28d', 'fedcba9876543210'), - ('01a1d6d039776742', '59c68245eb05282b', '7ca110454a1a6e57'), - ('5cd54ca83def57da', 'b1b8cc0b250f09a0', '0131d9619dc1376e'), - ('0248d43806f67172', '1730e5778bea1da4', '07a1133e4a0b2686'), - ('51454b582ddf440a', 'a25e7856cf2651eb', '3849674c2602319e'), - ('42fd443059577fa2', '353882b109ce8f1a', '04b915ba43feb5b6'), - ('059b5e0851cf143a', '48f4d0884c379918', '0113b970fd34f2ce'), - ('0756d8e0774761d2', '432193b78951fc98', '0170f175468fb5e6'), - ('762514b829bf486a', '13f04154d69d1ae5', '43297fad38e373fe'), - ('3bdd119049372802', '2eedda93ffd39c79', '07a7137045da2a16'), - ('26955f6835af609a', 'd887e0393c2da6e3', '04689104c2fd3b2f'), - ('164d5e404f275232', '5f99d04f5b163969', '37d06bb516cb7546'), - ('6b056e18759f5cca', '4a057a3b24d3977b', '1f08260d1ac2465e'), - ('004bd6ef09176062', '452031c1e4fada8e', '584023641aba6176'), - ('480d39006ee762f2', '7555ae39f59b87bd', '025816164629b007'), - ('437540c8698f3cfa', '53c55f9cb49fc019', '49793ebc79b3258f'), - ('072d43a077075292', '7a8e7bfa937e89a3', '4fb05e1515ab73a7'), - ('02fe55778117f12a', 'cf9c5d7a4986adb5', '49e95d6d4ca229bf'), - ('1d9d5c5018f728c2', 'd1abb290658bc778', '018310dc409b26d6'), - ('305532286d6f295a', '55cb3774d13ef201', '1c587f1c13924fef'), - ('0123456789abcdef', 'fa34ec4847b268b2', '0101010101010101'), - ('0123456789abcdef', 'a790795108ea3cae', '1f1f1f1f0e0e0e0e'), - ('0123456789abcdef', 'c39e072d9fac631d', 'e0fee0fef1fef1fe'), - ('ffffffffffffffff', '014933e0cdaff6e4', '0000000000000000'), - ('0000000000000000', 'f21e9a77b71c49bc', 'ffffffffffffffff'), - ('0000000000000000', '245946885754369a', '0123456789abcdef'), - ('ffffffffffffffff', '6b5c5a9c5d9e0a5a', 'fedcba9876543210'), - ('fedcba9876543210', 'f9ad597c49db005e', 'f0'), - ('fedcba9876543210', 'e91d21c1d961a6d6', 'f0e1'), - ('fedcba9876543210', 'e9c2b70a1bc65cf3', 'f0e1d2'), - ('fedcba9876543210', 'be1e639408640f05', 'f0e1d2c3'), - ('fedcba9876543210', 'b39e44481bdb1e6e', 'f0e1d2c3b4'), - ('fedcba9876543210', '9457aa83b1928c0d', 'f0e1d2c3b4a5'), - ('fedcba9876543210', '8bb77032f960629d', 'f0e1d2c3b4a596'), - ('fedcba9876543210', 'e87a244e2cc85e82', 'f0e1d2c3b4a59687'), - ('fedcba9876543210', '15750e7a4f4ec577', 'f0e1d2c3b4a5968778'), - ('fedcba9876543210', '122ba70b3ab64ae0', 'f0e1d2c3b4a596877869'), - ('fedcba9876543210', '3a833c9affc537f6', 'f0e1d2c3b4a5968778695a'), - ('fedcba9876543210', '9409da87a90f6bf2', 'f0e1d2c3b4a5968778695a4b'), - ('fedcba9876543210', '884f80625060b8b4', 'f0e1d2c3b4a5968778695a4b3c'), - ('fedcba9876543210', '1f85031c19e11968', 'f0e1d2c3b4a5968778695a4b3c2d'), - ('fedcba9876543210', '79d9373a714ca34f', 'f0e1d2c3b4a5968778695a4b3c2d1e'), - ('fedcba9876543210', '93142887ee3be15c', - 'f0e1d2c3b4a5968778695a4b3c2d1e0f'), - ('fedcba9876543210', '03429e838ce2d14b', - 'f0e1d2c3b4a5968778695a4b3c2d1e0f00'), - ('fedcba9876543210', 'a4299e27469ff67b', - 'f0e1d2c3b4a5968778695a4b3c2d1e0f0011'), - ('fedcba9876543210', 'afd5aed1c1bc96a8', - 'f0e1d2c3b4a5968778695a4b3c2d1e0f001122'), - ('fedcba9876543210', '10851c0e3858da9f', - 'f0e1d2c3b4a5968778695a4b3c2d1e0f00112233'), - ('fedcba9876543210', 'e6f51ed79b9db21f', - 'f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344'), - ('fedcba9876543210', '64a6e14afd36b46f', - 'f0e1d2c3b4a5968778695a4b3c2d1e0f001122334455'), - ('fedcba9876543210', '80c7d7d45a5479ad', - 'f0e1d2c3b4a5968778695a4b3c2d1e0f00112233445566'), - ('fedcba9876543210', '05044b62fa52d080', - 'f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344556677'), -] - -def get_tests(config={}): - from Crypto.Cipher import Blowfish - from .common import make_block_tests - return make_block_tests(Blowfish, "Blowfish", test_data) - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_CAST.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_CAST.py deleted file mode 100644 index fee5c99..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_CAST.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Cipher/CAST.py: Self-test for the CAST-128 (CAST5) cipher -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Cipher.CAST""" - -__revision__ = "$Id$" - -from Crypto.Util.py3compat import * - -# This is a list of (plaintext, ciphertext, key) tuples. -test_data = [ - # Test vectors from RFC 2144, B.1 - ('0123456789abcdef', '238b4fe5847e44b2', - '0123456712345678234567893456789a', - '128-bit key'), - - ('0123456789abcdef', 'eb6a711a2c02271b', - '01234567123456782345', - '80-bit key'), - - ('0123456789abcdef', '7ac816d16e9b302e', - '0123456712', - '40-bit key'), -] - -def get_tests(config={}): - from Crypto.Cipher import CAST - from .common import make_block_tests - return make_block_tests(CAST, "CAST", test_data) - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_DES.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_DES.py deleted file mode 100644 index f31678f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_DES.py +++ /dev/null @@ -1,339 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Cipher/DES.py: Self-test for the (Single) DES cipher -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Cipher.DES""" - -__revision__ = "$Id$" - -from .common import dict # For compatibility with Python 2.1 and 2.2 -from Crypto.Util.py3compat import * -import unittest - -# This is a list of (plaintext, ciphertext, key, description) tuples. -SP800_17_B1_KEY = '01' * 8 -SP800_17_B2_PT = '00' * 8 -test_data = [ - # Test vectors from Appendix A of NIST SP 800-17 - # "Modes of Operation Validation System (MOVS): Requirements and Procedures" - # http://csrc.nist.gov/publications/nistpubs/800-17/800-17.pdf - - # Appendix A - "Sample Round Outputs for the DES" - ('0000000000000000', '82dcbafbdeab6602', '10316e028c8f3b4a', - "NIST SP800-17 A"), - - # Table B.1 - Variable Plaintext Known Answer Test - ('8000000000000000', '95f8a5e5dd31d900', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #0'), - ('4000000000000000', 'dd7f121ca5015619', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #1'), - ('2000000000000000', '2e8653104f3834ea', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #2'), - ('1000000000000000', '4bd388ff6cd81d4f', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #3'), - ('0800000000000000', '20b9e767b2fb1456', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #4'), - ('0400000000000000', '55579380d77138ef', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #5'), - ('0200000000000000', '6cc5defaaf04512f', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #6'), - ('0100000000000000', '0d9f279ba5d87260', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #7'), - ('0080000000000000', 'd9031b0271bd5a0a', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #8'), - ('0040000000000000', '424250b37c3dd951', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #9'), - ('0020000000000000', 'b8061b7ecd9a21e5', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #10'), - ('0010000000000000', 'f15d0f286b65bd28', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #11'), - ('0008000000000000', 'add0cc8d6e5deba1', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #12'), - ('0004000000000000', 'e6d5f82752ad63d1', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #13'), - ('0002000000000000', 'ecbfe3bd3f591a5e', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #14'), - ('0001000000000000', 'f356834379d165cd', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #15'), - ('0000800000000000', '2b9f982f20037fa9', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #16'), - ('0000400000000000', '889de068a16f0be6', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #17'), - ('0000200000000000', 'e19e275d846a1298', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #18'), - ('0000100000000000', '329a8ed523d71aec', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #19'), - ('0000080000000000', 'e7fce22557d23c97', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #20'), - ('0000040000000000', '12a9f5817ff2d65d', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #21'), - ('0000020000000000', 'a484c3ad38dc9c19', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #22'), - ('0000010000000000', 'fbe00a8a1ef8ad72', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #23'), - ('0000008000000000', '750d079407521363', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #24'), - ('0000004000000000', '64feed9c724c2faf', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #25'), - ('0000002000000000', 'f02b263b328e2b60', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #26'), - ('0000001000000000', '9d64555a9a10b852', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #27'), - ('0000000800000000', 'd106ff0bed5255d7', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #28'), - ('0000000400000000', 'e1652c6b138c64a5', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #29'), - ('0000000200000000', 'e428581186ec8f46', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #30'), - ('0000000100000000', 'aeb5f5ede22d1a36', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #31'), - ('0000000080000000', 'e943d7568aec0c5c', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #32'), - ('0000000040000000', 'df98c8276f54b04b', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #33'), - ('0000000020000000', 'b160e4680f6c696f', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #34'), - ('0000000010000000', 'fa0752b07d9c4ab8', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #35'), - ('0000000008000000', 'ca3a2b036dbc8502', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #36'), - ('0000000004000000', '5e0905517bb59bcf', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #37'), - ('0000000002000000', '814eeb3b91d90726', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #38'), - ('0000000001000000', '4d49db1532919c9f', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #39'), - ('0000000000800000', '25eb5fc3f8cf0621', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #40'), - ('0000000000400000', 'ab6a20c0620d1c6f', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #41'), - ('0000000000200000', '79e90dbc98f92cca', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #42'), - ('0000000000100000', '866ecedd8072bb0e', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #43'), - ('0000000000080000', '8b54536f2f3e64a8', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #44'), - ('0000000000040000', 'ea51d3975595b86b', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #45'), - ('0000000000020000', 'caffc6ac4542de31', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #46'), - ('0000000000010000', '8dd45a2ddf90796c', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #47'), - ('0000000000008000', '1029d55e880ec2d0', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #48'), - ('0000000000004000', '5d86cb23639dbea9', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #49'), - ('0000000000002000', '1d1ca853ae7c0c5f', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #50'), - ('0000000000001000', 'ce332329248f3228', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #51'), - ('0000000000000800', '8405d1abe24fb942', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #52'), - ('0000000000000400', 'e643d78090ca4207', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #53'), - ('0000000000000200', '48221b9937748a23', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #54'), - ('0000000000000100', 'dd7c0bbd61fafd54', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #55'), - ('0000000000000080', '2fbc291a570db5c4', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #56'), - ('0000000000000040', 'e07c30d7e4e26e12', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #57'), - ('0000000000000020', '0953e2258e8e90a1', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #58'), - ('0000000000000010', '5b711bc4ceebf2ee', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #59'), - ('0000000000000008', 'cc083f1e6d9e85f6', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #60'), - ('0000000000000004', 'd2fd8867d50d2dfe', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #61'), - ('0000000000000002', '06e7ea22ce92708f', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #62'), - ('0000000000000001', '166b40b44aba4bd6', SP800_17_B1_KEY, - 'NIST SP800-17 B.1 #63'), - - # Table B.2 - Variable Key Known Answer Test - (SP800_17_B2_PT, '95a8d72813daa94d', '8001010101010101', - 'NIST SP800-17 B.2 #0'), - (SP800_17_B2_PT, '0eec1487dd8c26d5', '4001010101010101', - 'NIST SP800-17 B.2 #1'), - (SP800_17_B2_PT, '7ad16ffb79c45926', '2001010101010101', - 'NIST SP800-17 B.2 #2'), - (SP800_17_B2_PT, 'd3746294ca6a6cf3', '1001010101010101', - 'NIST SP800-17 B.2 #3'), - (SP800_17_B2_PT, '809f5f873c1fd761', '0801010101010101', - 'NIST SP800-17 B.2 #4'), - (SP800_17_B2_PT, 'c02faffec989d1fc', '0401010101010101', - 'NIST SP800-17 B.2 #5'), - (SP800_17_B2_PT, '4615aa1d33e72f10', '0201010101010101', - 'NIST SP800-17 B.2 #6'), - (SP800_17_B2_PT, '2055123350c00858', '0180010101010101', - 'NIST SP800-17 B.2 #7'), - (SP800_17_B2_PT, 'df3b99d6577397c8', '0140010101010101', - 'NIST SP800-17 B.2 #8'), - (SP800_17_B2_PT, '31fe17369b5288c9', '0120010101010101', - 'NIST SP800-17 B.2 #9'), - (SP800_17_B2_PT, 'dfdd3cc64dae1642', '0110010101010101', - 'NIST SP800-17 B.2 #10'), - (SP800_17_B2_PT, '178c83ce2b399d94', '0108010101010101', - 'NIST SP800-17 B.2 #11'), - (SP800_17_B2_PT, '50f636324a9b7f80', '0104010101010101', - 'NIST SP800-17 B.2 #12'), - (SP800_17_B2_PT, 'a8468ee3bc18f06d', '0102010101010101', - 'NIST SP800-17 B.2 #13'), - (SP800_17_B2_PT, 'a2dc9e92fd3cde92', '0101800101010101', - 'NIST SP800-17 B.2 #14'), - (SP800_17_B2_PT, 'cac09f797d031287', '0101400101010101', - 'NIST SP800-17 B.2 #15'), - (SP800_17_B2_PT, '90ba680b22aeb525', '0101200101010101', - 'NIST SP800-17 B.2 #16'), - (SP800_17_B2_PT, 'ce7a24f350e280b6', '0101100101010101', - 'NIST SP800-17 B.2 #17'), - (SP800_17_B2_PT, '882bff0aa01a0b87', '0101080101010101', - 'NIST SP800-17 B.2 #18'), - (SP800_17_B2_PT, '25610288924511c2', '0101040101010101', - 'NIST SP800-17 B.2 #19'), - (SP800_17_B2_PT, 'c71516c29c75d170', '0101020101010101', - 'NIST SP800-17 B.2 #20'), - (SP800_17_B2_PT, '5199c29a52c9f059', '0101018001010101', - 'NIST SP800-17 B.2 #21'), - (SP800_17_B2_PT, 'c22f0a294a71f29f', '0101014001010101', - 'NIST SP800-17 B.2 #22'), - (SP800_17_B2_PT, 'ee371483714c02ea', '0101012001010101', - 'NIST SP800-17 B.2 #23'), - (SP800_17_B2_PT, 'a81fbd448f9e522f', '0101011001010101', - 'NIST SP800-17 B.2 #24'), - (SP800_17_B2_PT, '4f644c92e192dfed', '0101010801010101', - 'NIST SP800-17 B.2 #25'), - (SP800_17_B2_PT, '1afa9a66a6df92ae', '0101010401010101', - 'NIST SP800-17 B.2 #26'), - (SP800_17_B2_PT, 'b3c1cc715cb879d8', '0101010201010101', - 'NIST SP800-17 B.2 #27'), - (SP800_17_B2_PT, '19d032e64ab0bd8b', '0101010180010101', - 'NIST SP800-17 B.2 #28'), - (SP800_17_B2_PT, '3cfaa7a7dc8720dc', '0101010140010101', - 'NIST SP800-17 B.2 #29'), - (SP800_17_B2_PT, 'b7265f7f447ac6f3', '0101010120010101', - 'NIST SP800-17 B.2 #30'), - (SP800_17_B2_PT, '9db73b3c0d163f54', '0101010110010101', - 'NIST SP800-17 B.2 #31'), - (SP800_17_B2_PT, '8181b65babf4a975', '0101010108010101', - 'NIST SP800-17 B.2 #32'), - (SP800_17_B2_PT, '93c9b64042eaa240', '0101010104010101', - 'NIST SP800-17 B.2 #33'), - (SP800_17_B2_PT, '5570530829705592', '0101010102010101', - 'NIST SP800-17 B.2 #34'), - (SP800_17_B2_PT, '8638809e878787a0', '0101010101800101', - 'NIST SP800-17 B.2 #35'), - (SP800_17_B2_PT, '41b9a79af79ac208', '0101010101400101', - 'NIST SP800-17 B.2 #36'), - (SP800_17_B2_PT, '7a9be42f2009a892', '0101010101200101', - 'NIST SP800-17 B.2 #37'), - (SP800_17_B2_PT, '29038d56ba6d2745', '0101010101100101', - 'NIST SP800-17 B.2 #38'), - (SP800_17_B2_PT, '5495c6abf1e5df51', '0101010101080101', - 'NIST SP800-17 B.2 #39'), - (SP800_17_B2_PT, 'ae13dbd561488933', '0101010101040101', - 'NIST SP800-17 B.2 #40'), - (SP800_17_B2_PT, '024d1ffa8904e389', '0101010101020101', - 'NIST SP800-17 B.2 #41'), - (SP800_17_B2_PT, 'd1399712f99bf02e', '0101010101018001', - 'NIST SP800-17 B.2 #42'), - (SP800_17_B2_PT, '14c1d7c1cffec79e', '0101010101014001', - 'NIST SP800-17 B.2 #43'), - (SP800_17_B2_PT, '1de5279dae3bed6f', '0101010101012001', - 'NIST SP800-17 B.2 #44'), - (SP800_17_B2_PT, 'e941a33f85501303', '0101010101011001', - 'NIST SP800-17 B.2 #45'), - (SP800_17_B2_PT, 'da99dbbc9a03f379', '0101010101010801', - 'NIST SP800-17 B.2 #46'), - (SP800_17_B2_PT, 'b7fc92f91d8e92e9', '0101010101010401', - 'NIST SP800-17 B.2 #47'), - (SP800_17_B2_PT, 'ae8e5caa3ca04e85', '0101010101010201', - 'NIST SP800-17 B.2 #48'), - (SP800_17_B2_PT, '9cc62df43b6eed74', '0101010101010180', - 'NIST SP800-17 B.2 #49'), - (SP800_17_B2_PT, 'd863dbb5c59a91a0', '0101010101010140', - 'NIST SP800-17 B.2 #50'), - (SP800_17_B2_PT, 'a1ab2190545b91d7', '0101010101010120', - 'NIST SP800-17 B.2 #51'), - (SP800_17_B2_PT, '0875041e64c570f7', '0101010101010110', - 'NIST SP800-17 B.2 #52'), - (SP800_17_B2_PT, '5a594528bebef1cc', '0101010101010108', - 'NIST SP800-17 B.2 #53'), - (SP800_17_B2_PT, 'fcdb3291de21f0c0', '0101010101010104', - 'NIST SP800-17 B.2 #54'), - (SP800_17_B2_PT, '869efd7f9f265a09', '0101010101010102', - 'NIST SP800-17 B.2 #55'), -] - -class RonRivestTest(unittest.TestCase): - """ Ronald L. Rivest's DES test, see - http://people.csail.mit.edu/rivest/Destest.txt - ABSTRACT - -------- - - We present a simple way to test the correctness of a DES implementation: - Use the recurrence relation: - - X0 = 9474B8E8C73BCA7D (hexadecimal) - - X(i+1) = IF (i is even) THEN E(Xi,Xi) ELSE D(Xi,Xi) - - to compute a sequence of 64-bit values: X0, X1, X2, ..., X16. Here - E(X,K) denotes the DES encryption of X using key K, and D(X,K) denotes - the DES decryption of X using key K. If you obtain - - X16 = 1B1A2DDB4C642438 - - your implementation does not have any of the 36,568 possible single-fault - errors described herein. - """ - def runTest(self): - from Crypto.Cipher import DES - from binascii import b2a_hex - - X = [] - X[0:] = [b('\x94\x74\xB8\xE8\xC7\x3B\xCA\x7D')] - - for i in range(16): - c = DES.new(X[i],DES.MODE_ECB) - if not (i&1): # (num&1) returns 1 for odd numbers - X[i+1:] = [c.encrypt(X[i])] # even - else: - X[i+1:] = [c.decrypt(X[i])] # odd - - self.assertEqual(b2a_hex(X[16]), - b2a_hex(b('\x1B\x1A\x2D\xDB\x4C\x64\x24\x38'))) - -def get_tests(config={}): - from Crypto.Cipher import DES - from .common import make_block_tests - return make_block_tests(DES, "DES", test_data) + [RonRivestTest()] - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_DES3.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_DES3.py deleted file mode 100644 index 83d1f47..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_DES3.py +++ /dev/null @@ -1,333 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Cipher/DES3.py: Self-test for the Triple-DES cipher -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Cipher.DES3""" - -__revision__ = "$Id$" - -from .common import dict # For compatibility with Python 2.1 and 2.2 -from Crypto.Util.py3compat import * -from binascii import hexlify - -# This is a list of (plaintext, ciphertext, key, description) tuples. -SP800_20_A1_KEY = '01' * 24 -SP800_20_A2_PT = '00' * 8 -test_data = [ - # Test vector from Appendix B of NIST SP 800-67 - # "Recommendation for the Triple Data Encryption Algorithm (TDEA) Block - # Cipher" - # http://csrc.nist.gov/publications/nistpubs/800-67/SP800-67.pdf - ('54686520717566636b2062726f776e20666f78206a756d70', - 'a826fd8ce53b855fcce21c8112256fe668d5c05dd9b6b900', - '0123456789abcdef23456789abcdef01456789abcdef0123', - 'NIST SP800-67 B.1'), - - # Test vectors "The Multi-block Message Test (MMT) for DES and TDES" - # http://csrc.nist.gov/groups/STM/cavp/documents/des/DESMMT.pdf - ('326a494cd33fe756', 'b22b8d66de970692', - '627f460e08104a1043cd265d5840eaf1313edf97df2a8a8c', - 'DESMMT #1', dict(mode='CBC', iv='8e29f75ea77e5475')), - - ('84401f78fe6c10876d8ea23094ea5309', '7b1f7c7e3b1c948ebd04a75ffba7d2f5', - '37ae5ebf46dff2dc0754b94f31cbb3855e7fd36dc870bfae', - 'DESMMT #2', dict(mode='CBC', iv='3d1de3cc132e3b65')), - - # Test vectors from Appendix A of NIST SP 800-20 - # "Modes of Operation Validation System for the Triple Data Encryption - # Algorithm (TMOVS): Requirements and Procedures" - # http://csrc.nist.gov/publications/nistpubs/800-20/800-20.pdf - - # Table A.1 - Variable Plaintext Known Answer Test - ('8000000000000000', '95f8a5e5dd31d900', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #0'), - ('4000000000000000', 'dd7f121ca5015619', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #1'), - ('2000000000000000', '2e8653104f3834ea', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #2'), - ('1000000000000000', '4bd388ff6cd81d4f', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #3'), - ('0800000000000000', '20b9e767b2fb1456', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #4'), - ('0400000000000000', '55579380d77138ef', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #5'), - ('0200000000000000', '6cc5defaaf04512f', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #6'), - ('0100000000000000', '0d9f279ba5d87260', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #7'), - ('0080000000000000', 'd9031b0271bd5a0a', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #8'), - ('0040000000000000', '424250b37c3dd951', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #9'), - ('0020000000000000', 'b8061b7ecd9a21e5', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #10'), - ('0010000000000000', 'f15d0f286b65bd28', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #11'), - ('0008000000000000', 'add0cc8d6e5deba1', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #12'), - ('0004000000000000', 'e6d5f82752ad63d1', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #13'), - ('0002000000000000', 'ecbfe3bd3f591a5e', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #14'), - ('0001000000000000', 'f356834379d165cd', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #15'), - ('0000800000000000', '2b9f982f20037fa9', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #16'), - ('0000400000000000', '889de068a16f0be6', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #17'), - ('0000200000000000', 'e19e275d846a1298', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #18'), - ('0000100000000000', '329a8ed523d71aec', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #19'), - ('0000080000000000', 'e7fce22557d23c97', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #20'), - ('0000040000000000', '12a9f5817ff2d65d', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #21'), - ('0000020000000000', 'a484c3ad38dc9c19', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #22'), - ('0000010000000000', 'fbe00a8a1ef8ad72', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #23'), - ('0000008000000000', '750d079407521363', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #24'), - ('0000004000000000', '64feed9c724c2faf', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #25'), - ('0000002000000000', 'f02b263b328e2b60', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #26'), - ('0000001000000000', '9d64555a9a10b852', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #27'), - ('0000000800000000', 'd106ff0bed5255d7', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #28'), - ('0000000400000000', 'e1652c6b138c64a5', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #29'), - ('0000000200000000', 'e428581186ec8f46', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #30'), - ('0000000100000000', 'aeb5f5ede22d1a36', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #31'), - ('0000000080000000', 'e943d7568aec0c5c', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #32'), - ('0000000040000000', 'df98c8276f54b04b', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #33'), - ('0000000020000000', 'b160e4680f6c696f', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #34'), - ('0000000010000000', 'fa0752b07d9c4ab8', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #35'), - ('0000000008000000', 'ca3a2b036dbc8502', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #36'), - ('0000000004000000', '5e0905517bb59bcf', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #37'), - ('0000000002000000', '814eeb3b91d90726', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #38'), - ('0000000001000000', '4d49db1532919c9f', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #39'), - ('0000000000800000', '25eb5fc3f8cf0621', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #40'), - ('0000000000400000', 'ab6a20c0620d1c6f', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #41'), - ('0000000000200000', '79e90dbc98f92cca', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #42'), - ('0000000000100000', '866ecedd8072bb0e', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #43'), - ('0000000000080000', '8b54536f2f3e64a8', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #44'), - ('0000000000040000', 'ea51d3975595b86b', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #45'), - ('0000000000020000', 'caffc6ac4542de31', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #46'), - ('0000000000010000', '8dd45a2ddf90796c', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #47'), - ('0000000000008000', '1029d55e880ec2d0', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #48'), - ('0000000000004000', '5d86cb23639dbea9', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #49'), - ('0000000000002000', '1d1ca853ae7c0c5f', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #50'), - ('0000000000001000', 'ce332329248f3228', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #51'), - ('0000000000000800', '8405d1abe24fb942', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #52'), - ('0000000000000400', 'e643d78090ca4207', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #53'), - ('0000000000000200', '48221b9937748a23', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #54'), - ('0000000000000100', 'dd7c0bbd61fafd54', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #55'), - ('0000000000000080', '2fbc291a570db5c4', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #56'), - ('0000000000000040', 'e07c30d7e4e26e12', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #57'), - ('0000000000000020', '0953e2258e8e90a1', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #58'), - ('0000000000000010', '5b711bc4ceebf2ee', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #59'), - ('0000000000000008', 'cc083f1e6d9e85f6', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #60'), - ('0000000000000004', 'd2fd8867d50d2dfe', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #61'), - ('0000000000000002', '06e7ea22ce92708f', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #62'), - ('0000000000000001', '166b40b44aba4bd6', SP800_20_A1_KEY, - 'NIST SP800-20 A.1 #63'), - - # Table A.2 - Variable Key Known Answer Test - (SP800_20_A2_PT, '95a8d72813daa94d', '8001010101010101'*3, - 'NIST SP800-20 A.2 #0'), - (SP800_20_A2_PT, '0eec1487dd8c26d5', '4001010101010101'*3, - 'NIST SP800-20 A.2 #1'), - (SP800_20_A2_PT, '7ad16ffb79c45926', '2001010101010101'*3, - 'NIST SP800-20 A.2 #2'), - (SP800_20_A2_PT, 'd3746294ca6a6cf3', '1001010101010101'*3, - 'NIST SP800-20 A.2 #3'), - (SP800_20_A2_PT, '809f5f873c1fd761', '0801010101010101'*3, - 'NIST SP800-20 A.2 #4'), - (SP800_20_A2_PT, 'c02faffec989d1fc', '0401010101010101'*3, - 'NIST SP800-20 A.2 #5'), - (SP800_20_A2_PT, '4615aa1d33e72f10', '0201010101010101'*3, - 'NIST SP800-20 A.2 #6'), - (SP800_20_A2_PT, '2055123350c00858', '0180010101010101'*3, - 'NIST SP800-20 A.2 #7'), - (SP800_20_A2_PT, 'df3b99d6577397c8', '0140010101010101'*3, - 'NIST SP800-20 A.2 #8'), - (SP800_20_A2_PT, '31fe17369b5288c9', '0120010101010101'*3, - 'NIST SP800-20 A.2 #9'), - (SP800_20_A2_PT, 'dfdd3cc64dae1642', '0110010101010101'*3, - 'NIST SP800-20 A.2 #10'), - (SP800_20_A2_PT, '178c83ce2b399d94', '0108010101010101'*3, - 'NIST SP800-20 A.2 #11'), - (SP800_20_A2_PT, '50f636324a9b7f80', '0104010101010101'*3, - 'NIST SP800-20 A.2 #12'), - (SP800_20_A2_PT, 'a8468ee3bc18f06d', '0102010101010101'*3, - 'NIST SP800-20 A.2 #13'), - (SP800_20_A2_PT, 'a2dc9e92fd3cde92', '0101800101010101'*3, - 'NIST SP800-20 A.2 #14'), - (SP800_20_A2_PT, 'cac09f797d031287', '0101400101010101'*3, - 'NIST SP800-20 A.2 #15'), - (SP800_20_A2_PT, '90ba680b22aeb525', '0101200101010101'*3, - 'NIST SP800-20 A.2 #16'), - (SP800_20_A2_PT, 'ce7a24f350e280b6', '0101100101010101'*3, - 'NIST SP800-20 A.2 #17'), - (SP800_20_A2_PT, '882bff0aa01a0b87', '0101080101010101'*3, - 'NIST SP800-20 A.2 #18'), - (SP800_20_A2_PT, '25610288924511c2', '0101040101010101'*3, - 'NIST SP800-20 A.2 #19'), - (SP800_20_A2_PT, 'c71516c29c75d170', '0101020101010101'*3, - 'NIST SP800-20 A.2 #20'), - (SP800_20_A2_PT, '5199c29a52c9f059', '0101018001010101'*3, - 'NIST SP800-20 A.2 #21'), - (SP800_20_A2_PT, 'c22f0a294a71f29f', '0101014001010101'*3, - 'NIST SP800-20 A.2 #22'), - (SP800_20_A2_PT, 'ee371483714c02ea', '0101012001010101'*3, - 'NIST SP800-20 A.2 #23'), - (SP800_20_A2_PT, 'a81fbd448f9e522f', '0101011001010101'*3, - 'NIST SP800-20 A.2 #24'), - (SP800_20_A2_PT, '4f644c92e192dfed', '0101010801010101'*3, - 'NIST SP800-20 A.2 #25'), - (SP800_20_A2_PT, '1afa9a66a6df92ae', '0101010401010101'*3, - 'NIST SP800-20 A.2 #26'), - (SP800_20_A2_PT, 'b3c1cc715cb879d8', '0101010201010101'*3, - 'NIST SP800-20 A.2 #27'), - (SP800_20_A2_PT, '19d032e64ab0bd8b', '0101010180010101'*3, - 'NIST SP800-20 A.2 #28'), - (SP800_20_A2_PT, '3cfaa7a7dc8720dc', '0101010140010101'*3, - 'NIST SP800-20 A.2 #29'), - (SP800_20_A2_PT, 'b7265f7f447ac6f3', '0101010120010101'*3, - 'NIST SP800-20 A.2 #30'), - (SP800_20_A2_PT, '9db73b3c0d163f54', '0101010110010101'*3, - 'NIST SP800-20 A.2 #31'), - (SP800_20_A2_PT, '8181b65babf4a975', '0101010108010101'*3, - 'NIST SP800-20 A.2 #32'), - (SP800_20_A2_PT, '93c9b64042eaa240', '0101010104010101'*3, - 'NIST SP800-20 A.2 #33'), - (SP800_20_A2_PT, '5570530829705592', '0101010102010101'*3, - 'NIST SP800-20 A.2 #34'), - (SP800_20_A2_PT, '8638809e878787a0', '0101010101800101'*3, - 'NIST SP800-20 A.2 #35'), - (SP800_20_A2_PT, '41b9a79af79ac208', '0101010101400101'*3, - 'NIST SP800-20 A.2 #36'), - (SP800_20_A2_PT, '7a9be42f2009a892', '0101010101200101'*3, - 'NIST SP800-20 A.2 #37'), - (SP800_20_A2_PT, '29038d56ba6d2745', '0101010101100101'*3, - 'NIST SP800-20 A.2 #38'), - (SP800_20_A2_PT, '5495c6abf1e5df51', '0101010101080101'*3, - 'NIST SP800-20 A.2 #39'), - (SP800_20_A2_PT, 'ae13dbd561488933', '0101010101040101'*3, - 'NIST SP800-20 A.2 #40'), - (SP800_20_A2_PT, '024d1ffa8904e389', '0101010101020101'*3, - 'NIST SP800-20 A.2 #41'), - (SP800_20_A2_PT, 'd1399712f99bf02e', '0101010101018001'*3, - 'NIST SP800-20 A.2 #42'), - (SP800_20_A2_PT, '14c1d7c1cffec79e', '0101010101014001'*3, - 'NIST SP800-20 A.2 #43'), - (SP800_20_A2_PT, '1de5279dae3bed6f', '0101010101012001'*3, - 'NIST SP800-20 A.2 #44'), - (SP800_20_A2_PT, 'e941a33f85501303', '0101010101011001'*3, - 'NIST SP800-20 A.2 #45'), - (SP800_20_A2_PT, 'da99dbbc9a03f379', '0101010101010801'*3, - 'NIST SP800-20 A.2 #46'), - (SP800_20_A2_PT, 'b7fc92f91d8e92e9', '0101010101010401'*3, - 'NIST SP800-20 A.2 #47'), - (SP800_20_A2_PT, 'ae8e5caa3ca04e85', '0101010101010201'*3, - 'NIST SP800-20 A.2 #48'), - (SP800_20_A2_PT, '9cc62df43b6eed74', '0101010101010180'*3, - 'NIST SP800-20 A.2 #49'), - (SP800_20_A2_PT, 'd863dbb5c59a91a0', '0101010101010140'*3, - 'NIST SP800-20 A.2 #50'), - (SP800_20_A2_PT, 'a1ab2190545b91d7', '0101010101010120'*3, - 'NIST SP800-20 A.2 #51'), - (SP800_20_A2_PT, '0875041e64c570f7', '0101010101010110'*3, - 'NIST SP800-20 A.2 #52'), - (SP800_20_A2_PT, '5a594528bebef1cc', '0101010101010108'*3, - 'NIST SP800-20 A.2 #53'), - (SP800_20_A2_PT, 'fcdb3291de21f0c0', '0101010101010104'*3, - 'NIST SP800-20 A.2 #54'), - (SP800_20_A2_PT, '869efd7f9f265a09', '0101010101010102'*3, - 'NIST SP800-20 A.2 #55'), - - # "Two-key 3DES". Test vector generated using PyCrypto 2.0.1. - # This test is designed to test the DES3 API, not the correctness of the - # output. - ('21e81b7ade88a259', '5c577d4d9b20c0f8', - '9b397ebf81b1181e282f4bb8adbadc6b', 'Two-key 3DES'), - - # The following test vectors have been generated with gpg v1.4.0. - # The command line used was: - # gpg -c -z 0 --cipher-algo 3DES --passphrase secret_passphrase \ - # --disable-mdc --s2k-mode 0 --output ct pt - # For an explanation, see test_AES.py . - ( 'ac1762037074324fb53ba3596f73656d69746556616c6c6579', # Plaintext, 'YosemiteValley' - '9979238528357b90e2e0be549cb0b2d5999b9a4a447e5c5c7d', # Ciphertext - '7ade65b460f5ea9be35f9e14aa883a2048e3824aa616c0b2', # Key (hash of 'BearsAhead') - 'GPG Test Vector #1', - dict(mode='OPENPGP', iv='cd47e2afb8b7e4b0', encrypted_iv='6a7eef0b58050e8b904a' ) ), -] - -def get_tests(config={}): - from Crypto.Cipher import DES3 - from .common import make_block_tests - return make_block_tests(DES3, "DES3", test_data) - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_XOR.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_XOR.py deleted file mode 100644 index ffd082c..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_XOR.py +++ /dev/null @@ -1,72 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Cipher/XOR.py: Self-test for the XOR "cipher" -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Cipher.XOR""" - -import unittest - -__revision__ = "$Id$" - -from Crypto.Util.py3compat import * - -# This is a list of (plaintext, ciphertext, key) tuples. -test_data = [ - # Test vectors written from scratch. (Nobody posts XOR test vectors on the web? How disappointing.) - ('01', '01', - '00', - 'zero key'), - - ('0102040810204080', '0003050911214181', - '01', - '1-byte key'), - - ('0102040810204080', 'cda8c8a2dc8a8c2a', - 'ccaa', - '2-byte key'), - - ('ff'*64, 'fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0'*2, - '000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f', - '32-byte key'), -] - -class TruncationSelfTest(unittest.TestCase): - - def runTest(self): - """33-byte key (should raise ValueError under current implementation)""" - # Crypto.Cipher.XOR previously truncated its inputs at 32 bytes. Now - # it should raise a ValueError if the length is too long. - self.assertRaises(ValueError, XOR.new, "x"*33) - -def get_tests(config={}): - global XOR - from Crypto.Cipher import XOR - from .common import make_stream_tests - return make_stream_tests(XOR, "XOR", test_data) + [TruncationSelfTest()] - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.py deleted file mode 100644 index b6f3802..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.py +++ /dev/null @@ -1,174 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Cipher/test_pkcs1_15.py: Self-test for PKCS#1 v1.5 encryption -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - -import unittest -import sys - -from Crypto.PublicKey import RSA -from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex -from Crypto import Random -from Crypto.Cipher import PKCS1_v1_5 as PKCS -from Crypto.Util.py3compat import * - -def rws(t): - """Remove white spaces, tabs, and new lines from a string""" - for c in ['\n', '\t', ' ']: - t = t.replace(c,'') - return t - -def t2b(t): - """Convert a text string with bytes in hex form to a byte string""" - clean = b(rws(t)) - if len(clean)%2 == 1: - print(clean) - raise ValueError("Even number of characters expected") - return a2b_hex(clean) - -class PKCS1_15_Tests(unittest.TestCase): - - def setUp(self): - self.rng = Random.new().read - self.key1024 = RSA.generate(1024, self.rng) - - # List of tuples with test data for PKCS#1 v1.5. - # Each tuple is made up by: - # Item #0: dictionary with RSA key component, or key to import - # Item #1: plaintext - # Item #2: ciphertext - # Item #3: random data - - _testData = ( - - # - # Generated with openssl 0.9.8o - # - ( - # Private key - '''-----BEGIN RSA PRIVATE KEY----- -MIICXAIBAAKBgQDAiAnvIAOvqVwJTaYzsKnefZftgtXGE2hPJppGsWl78yz9jeXY -W/FxX/gTPURArNhdnhP6n3p2ZaDIBrO2zizbgIXs0IsljTTcr4vnI8fMXzyNUOjA -zP3nzMqZDZK6757XQAobOssMkBFqRWwilT/3DsBhRpl3iMUhF+wvpTSHewIDAQAB -AoGAC4HV/inOrpgTvSab8Wj0riyZgQOZ3U3ZpSlsfR8ra9Ib9Uee3jCYnKscu6Gk -y6zI/cdt8EPJ4PuwAWSNJzbpbVaDvUq25OD+CX8/uRT08yBS4J8TzBitZJTD4lS7 -atdTnKT0Wmwk+u8tDbhvMKwnUHdJLcuIsycts9rwJVapUtkCQQDvDpx2JMun0YKG -uUttjmL8oJ3U0m3ZvMdVwBecA0eebZb1l2J5PvI3EJD97eKe91Nsw8T3lwpoN40k -IocSVDklAkEAzi1HLHE6EzVPOe5+Y0kGvrIYRRhncOb72vCvBZvD6wLZpQgqo6c4 -d3XHFBBQWA6xcvQb5w+VVEJZzw64y25sHwJBAMYReRl6SzL0qA0wIYrYWrOt8JeQ -8mthulcWHXmqTgC6FEXP9Es5GD7/fuKl4wqLKZgIbH4nqvvGay7xXLCXD/ECQH9a -1JYNMtRen5unSAbIOxRcKkWz92F0LKpm9ZW/S9vFHO+mBcClMGoKJHiuQxLBsLbT -NtEZfSJZAeS2sUtn3/0CQDb2M2zNBTF8LlM0nxmh0k9VGm5TVIyBEMcipmvOgqIs -HKukWBcq9f/UOmS0oEhai/6g+Uf7VHJdWaeO5LzuvwU= ------END RSA PRIVATE KEY-----''', - # Plaintext - '''THIS IS PLAINTEXT\x0A''', - # Ciphertext - '''3f dc fd 3c cd 5c 9b 12 af 65 32 e3 f7 d0 da 36 - 8f 8f d9 e3 13 1c 7f c8 b3 f9 c1 08 e4 eb 79 9c - 91 89 1f 96 3b 94 77 61 99 a4 b1 ee 5d e6 17 c9 - 5d 0a b5 63 52 0a eb 00 45 38 2a fb b0 71 3d 11 - f7 a1 9e a7 69 b3 af 61 c0 bb 04 5b 5d 4b 27 44 - 1f 5b 97 89 ba 6a 08 95 ee 4f a2 eb 56 64 e5 0f - da 7c f9 9a 61 61 06 62 ed a0 bc 5f aa 6c 31 78 - 70 28 1a bb 98 3c e3 6a 60 3c d1 0b 0f 5a f4 75''', - # Random data - '''eb d7 7d 86 a4 35 23 a3 54 7e 02 0b 42 1d - 61 6c af 67 b8 4e 17 56 80 66 36 04 64 34 26 8a - 47 dd 44 b3 1a b2 17 60 f4 91 2e e2 b5 95 64 cc - f9 da c8 70 94 54 86 4c ef 5b 08 7d 18 c4 ab 8d - 04 06 33 8f ca 15 5f 52 60 8a a1 0c f5 08 b5 4c - bb 99 b8 94 25 04 9c e6 01 75 e6 f9 63 7a 65 61 - 13 8a a7 47 77 81 ae 0d b8 2c 4d 50 a5''' - ), - ) - - def testEncrypt1(self): - for test in self._testData: - # Build the key - key = RSA.importKey(test[0]) - # RNG that takes its random numbers from a pool given - # at initialization - class randGen: - def __init__(self, data): - self.data = data - self.idx = 0 - def __call__(self, N): - r = self.data[self.idx:N] - self.idx += N - return r - # The real test - key._randfunc = randGen(t2b(test[3])) - cipher = PKCS.new(key) - ct = cipher.encrypt(b(test[1])) - self.assertEqual(ct, t2b(test[2])) - - def testEncrypt2(self): - # Verify that encryption fail if plaintext is too long - pt = '\x00'*(128-11+1) - cipher = PKCS.new(self.key1024) - self.assertRaises(ValueError, cipher.encrypt, pt) - - def testVerify1(self): - for test in self._testData: - # Build the key - key = RSA.importKey(test[0]) - # The real test - cipher = PKCS.new(key) - pt = cipher.decrypt(t2b(test[2]), "---") - self.assertEqual(pt, b(test[1])) - - def testVerify2(self): - # Verify that decryption fails if ciphertext is not as long as - # RSA modulus - cipher = PKCS.new(self.key1024) - self.assertRaises(ValueError, cipher.decrypt, '\x00'*127, "---") - self.assertRaises(ValueError, cipher.decrypt, '\x00'*129, "---") - - # Verify that decryption fails if there are less then 8 non-zero padding - # bytes - pt = b('\x00\x02' + '\xFF'*7 + '\x00' + '\x45'*118) - ct = self.key1024.encrypt(pt, 0)[0] - ct = b('\x00'*(128-len(ct))) + ct - self.assertEqual("---", cipher.decrypt(ct, "---")) - - def testEncryptVerify1(self): - # Encrypt/Verify messages of length [0..RSAlen-11] - # and therefore padding [8..117] - for pt_len in range(0,128-11+1): - pt = self.rng(pt_len) - cipher = PKCS.new(self.key1024) - ct = cipher.encrypt(pt) - pt2 = cipher.decrypt(ct, "---") - self.assertEqual(pt,pt2) - - -def get_tests(config={}): - tests = [] - tests += list_test_cases(PKCS1_15_Tests) - return tests - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py deleted file mode 100644 index 3613415..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py +++ /dev/null @@ -1,372 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Cipher/test_pkcs1_oaep.py: Self-test for PKCS#1 OAEP encryption -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - - - -__revision__ = "$Id$" - -import unittest - -from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex - -from Crypto.Util.py3compat import * -from Crypto.PublicKey import RSA -from Crypto.Cipher import PKCS1_OAEP as PKCS -from Crypto.Hash import MD2,MD5,SHA as SHA1,SHA256,RIPEMD -from Crypto import Random - -def rws(t): - """Remove white spaces, tabs, and new lines from a string""" - for c in ['\n', '\t', ' ']: - t = t.replace(c,'') - return t - -def t2b(t): - """Convert a text string with bytes in hex form to a byte string""" - clean = rws(t) - if len(clean)%2 == 1: - raise ValueError("Even number of characters expected") - return a2b_hex(clean) - -class PKCS1_OAEP_Tests(unittest.TestCase): - - def setUp(self): - self.rng = Random.new().read - self.key1024 = RSA.generate(1024, self.rng) - - # List of tuples with test data for PKCS#1 OAEP - # Each tuple is made up by: - # Item #0: dictionary with RSA key component - # Item #1: plaintext - # Item #2: ciphertext - # Item #3: random data (=seed) - # Item #4: hash object - - _testData = ( - - # - # From in oaep-int.txt to be found in - # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip - # - ( - # Private key - { - 'n':'''bb f8 2f 09 06 82 ce 9c 23 38 ac 2b 9d a8 71 f7 - 36 8d 07 ee d4 10 43 a4 40 d6 b6 f0 74 54 f5 1f - b8 df ba af 03 5c 02 ab 61 ea 48 ce eb 6f cd 48 - 76 ed 52 0d 60 e1 ec 46 19 71 9d 8a 5b 8b 80 7f - af b8 e0 a3 df c7 37 72 3e e6 b4 b7 d9 3a 25 84 - ee 6a 64 9d 06 09 53 74 88 34 b2 45 45 98 39 4e - e0 aa b1 2d 7b 61 a5 1f 52 7a 9a 41 f6 c1 68 7f - e2 53 72 98 ca 2a 8f 59 46 f8 e5 fd 09 1d bd cb''', - # Public key - 'e':'11', - # In the test vector, only p and q were given... - # d is computed offline as e^{-1} mod (p-1)(q-1) - 'd':'''a5dafc5341faf289c4b988db30c1cdf83f31251e0 - 668b42784813801579641b29410b3c7998d6bc465745e5c3 - 92669d6870da2c082a939e37fdcb82ec93edac97ff3ad595 - 0accfbc111c76f1a9529444e56aaf68c56c092cd38dc3bef - 5d20a939926ed4f74a13eddfbe1a1cecc4894af9428c2b7b - 8883fe4463a4bc85b1cb3c1''' - } - , - # Plaintext - '''d4 36 e9 95 69 fd 32 a7 c8 a0 5b bc 90 d3 2c 49''', - # Ciphertext - '''12 53 e0 4d c0 a5 39 7b b4 4a 7a b8 7e 9b f2 a0 - 39 a3 3d 1e 99 6f c8 2a 94 cc d3 00 74 c9 5d f7 - 63 72 20 17 06 9e 52 68 da 5d 1c 0b 4f 87 2c f6 - 53 c1 1d f8 23 14 a6 79 68 df ea e2 8d ef 04 bb - 6d 84 b1 c3 1d 65 4a 19 70 e5 78 3b d6 eb 96 a0 - 24 c2 ca 2f 4a 90 fe 9f 2e f5 c9 c1 40 e5 bb 48 - da 95 36 ad 87 00 c8 4f c9 13 0a de a7 4e 55 8d - 51 a7 4d df 85 d8 b5 0d e9 68 38 d6 06 3e 09 55''', - # Random - '''aa fd 12 f6 59 ca e6 34 89 b4 79 e5 07 6d de c2 - f0 6c b5 8f''', - # Hash - SHA1, - ), - - # - # From in oaep-vect.txt to be found in Example 1.1 - # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip - # - ( - # Private key - { - 'n':'''a8 b3 b2 84 af 8e b5 0b 38 70 34 a8 60 f1 46 c4 - 91 9f 31 87 63 cd 6c 55 98 c8 ae 48 11 a1 e0 ab - c4 c7 e0 b0 82 d6 93 a5 e7 fc ed 67 5c f4 66 85 - 12 77 2c 0c bc 64 a7 42 c6 c6 30 f5 33 c8 cc 72 - f6 2a e8 33 c4 0b f2 58 42 e9 84 bb 78 bd bf 97 - c0 10 7d 55 bd b6 62 f5 c4 e0 fa b9 84 5c b5 14 - 8e f7 39 2d d3 aa ff 93 ae 1e 6b 66 7b b3 d4 24 - 76 16 d4 f5 ba 10 d4 cf d2 26 de 88 d3 9f 16 fb''', - 'e':'''01 00 01''', - 'd':'''53 33 9c fd b7 9f c8 46 6a 65 5c 73 16 ac a8 5c - 55 fd 8f 6d d8 98 fd af 11 95 17 ef 4f 52 e8 fd - 8e 25 8d f9 3f ee 18 0f a0 e4 ab 29 69 3c d8 3b - 15 2a 55 3d 4a c4 d1 81 2b 8b 9f a5 af 0e 7f 55 - fe 73 04 df 41 57 09 26 f3 31 1f 15 c4 d6 5a 73 - 2c 48 31 16 ee 3d 3d 2d 0a f3 54 9a d9 bf 7c bf - b7 8a d8 84 f8 4d 5b eb 04 72 4d c7 36 9b 31 de - f3 7d 0c f5 39 e9 cf cd d3 de 65 37 29 ea d5 d1 ''' - } - , - # Plaintext - '''66 28 19 4e 12 07 3d b0 3b a9 4c da 9e f9 53 23 - 97 d5 0d ba 79 b9 87 00 4a fe fe 34''', - # Ciphertext - '''35 4f e6 7b 4a 12 6d 5d 35 fe 36 c7 77 79 1a 3f - 7b a1 3d ef 48 4e 2d 39 08 af f7 22 fa d4 68 fb - 21 69 6d e9 5d 0b e9 11 c2 d3 17 4f 8a fc c2 01 - 03 5f 7b 6d 8e 69 40 2d e5 45 16 18 c2 1a 53 5f - a9 d7 bf c5 b8 dd 9f c2 43 f8 cf 92 7d b3 13 22 - d6 e8 81 ea a9 1a 99 61 70 e6 57 a0 5a 26 64 26 - d9 8c 88 00 3f 84 77 c1 22 70 94 a0 d9 fa 1e 8c - 40 24 30 9c e1 ec cc b5 21 00 35 d4 7a c7 2e 8a''', - # Random - '''18 b7 76 ea 21 06 9d 69 77 6a 33 e9 6b ad 48 e1 - dd a0 a5 ef''', - SHA1 - ), - - # - # From in oaep-vect.txt to be found in Example 2.1 - # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip - # - ( - # Private key - { - 'n':'''01 94 7c 7f ce 90 42 5f 47 27 9e 70 85 1f 25 d5 - e6 23 16 fe 8a 1d f1 93 71 e3 e6 28 e2 60 54 3e - 49 01 ef 60 81 f6 8c 0b 81 41 19 0d 2a e8 da ba - 7d 12 50 ec 6d b6 36 e9 44 ec 37 22 87 7c 7c 1d - 0a 67 f1 4b 16 94 c5 f0 37 94 51 a4 3e 49 a3 2d - de 83 67 0b 73 da 91 a1 c9 9b c2 3b 43 6a 60 05 - 5c 61 0f 0b af 99 c1 a0 79 56 5b 95 a3 f1 52 66 - 32 d1 d4 da 60 f2 0e da 25 e6 53 c4 f0 02 76 6f - 45''', - 'e':'''01 00 01''', - 'd':'''08 23 f2 0f ad b5 da 89 08 8a 9d 00 89 3e 21 fa - 4a 1b 11 fb c9 3c 64 a3 be 0b aa ea 97 fb 3b 93 - c3 ff 71 37 04 c1 9c 96 3c 1d 10 7a ae 99 05 47 - 39 f7 9e 02 e1 86 de 86 f8 7a 6d de fe a6 d8 cc - d1 d3 c8 1a 47 bf a7 25 5b e2 06 01 a4 a4 b2 f0 - 8a 16 7b 5e 27 9d 71 5b 1b 45 5b dd 7e ab 24 59 - 41 d9 76 8b 9a ce fb 3c cd a5 95 2d a3 ce e7 25 - 25 b4 50 16 63 a8 ee 15 c9 e9 92 d9 24 62 fe 39''' - }, - # Plaintext - '''8f f0 0c aa 60 5c 70 28 30 63 4d 9a 6c 3d 42 c6 - 52 b5 8c f1 d9 2f ec 57 0b ee e7''', - # Ciphertext - '''01 81 af 89 22 b9 fc b4 d7 9d 92 eb e1 98 15 99 - 2f c0 c1 43 9d 8b cd 49 13 98 a0 f4 ad 3a 32 9a - 5b d9 38 55 60 db 53 26 83 c8 b7 da 04 e4 b1 2a - ed 6a ac df 47 1c 34 c9 cd a8 91 ad dc c2 df 34 - 56 65 3a a6 38 2e 9a e5 9b 54 45 52 57 eb 09 9d - 56 2b be 10 45 3f 2b 6d 13 c5 9c 02 e1 0f 1f 8a - bb 5d a0 d0 57 09 32 da cf 2d 09 01 db 72 9d 0f - ef cc 05 4e 70 96 8e a5 40 c8 1b 04 bc ae fe 72 - 0e''', - # Random - '''8c 40 7b 5e c2 89 9e 50 99 c5 3e 8c e7 93 bf 94 - e7 1b 17 82''', - SHA1 - ), - - # - # From in oaep-vect.txt to be found in Example 10.1 - # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip - # - ( - # Private key - { - 'n':'''ae 45 ed 56 01 ce c6 b8 cc 05 f8 03 93 5c 67 4d - db e0 d7 5c 4c 09 fd 79 51 fc 6b 0c ae c3 13 a8 - df 39 97 0c 51 8b ff ba 5e d6 8f 3f 0d 7f 22 a4 - 02 9d 41 3f 1a e0 7e 4e be 9e 41 77 ce 23 e7 f5 - 40 4b 56 9e 4e e1 bd cf 3c 1f b0 3e f1 13 80 2d - 4f 85 5e b9 b5 13 4b 5a 7c 80 85 ad ca e6 fa 2f - a1 41 7e c3 76 3b e1 71 b0 c6 2b 76 0e de 23 c1 - 2a d9 2b 98 08 84 c6 41 f5 a8 fa c2 6b da d4 a0 - 33 81 a2 2f e1 b7 54 88 50 94 c8 25 06 d4 01 9a - 53 5a 28 6a fe b2 71 bb 9b a5 92 de 18 dc f6 00 - c2 ae ea e5 6e 02 f7 cf 79 fc 14 cf 3b dc 7c d8 - 4f eb bb f9 50 ca 90 30 4b 22 19 a7 aa 06 3a ef - a2 c3 c1 98 0e 56 0c d6 4a fe 77 95 85 b6 10 76 - 57 b9 57 85 7e fd e6 01 09 88 ab 7d e4 17 fc 88 - d8 f3 84 c4 e6 e7 2c 3f 94 3e 0c 31 c0 c4 a5 cc - 36 f8 79 d8 a3 ac 9d 7d 59 86 0e aa da 6b 83 bb''', - 'e':'''01 00 01''', - 'd':'''05 6b 04 21 6f e5 f3 54 ac 77 25 0a 4b 6b 0c 85 - 25 a8 5c 59 b0 bd 80 c5 64 50 a2 2d 5f 43 8e 59 - 6a 33 3a a8 75 e2 91 dd 43 f4 8c b8 8b 9d 5f c0 - d4 99 f9 fc d1 c3 97 f9 af c0 70 cd 9e 39 8c 8d - 19 e6 1d b7 c7 41 0a 6b 26 75 df bf 5d 34 5b 80 - 4d 20 1a dd 50 2d 5c e2 df cb 09 1c e9 99 7b be - be 57 30 6f 38 3e 4d 58 81 03 f0 36 f7 e8 5d 19 - 34 d1 52 a3 23 e4 a8 db 45 1d 6f 4a 5b 1b 0f 10 - 2c c1 50 e0 2f ee e2 b8 8d ea 4a d4 c1 ba cc b2 - 4d 84 07 2d 14 e1 d2 4a 67 71 f7 40 8e e3 05 64 - fb 86 d4 39 3a 34 bc f0 b7 88 50 1d 19 33 03 f1 - 3a 22 84 b0 01 f0 f6 49 ea f7 93 28 d4 ac 5c 43 - 0a b4 41 49 20 a9 46 0e d1 b7 bc 40 ec 65 3e 87 - 6d 09 ab c5 09 ae 45 b5 25 19 01 16 a0 c2 61 01 - 84 82 98 50 9c 1c 3b f3 a4 83 e7 27 40 54 e1 5e - 97 07 50 36 e9 89 f6 09 32 80 7b 52 57 75 1e 79''' - }, - # Plaintext - '''8b ba 6b f8 2a 6c 0f 86 d5 f1 75 6e 97 95 68 70 - b0 89 53 b0 6b 4e b2 05 bc 16 94 ee''', - # Ciphertext - '''53 ea 5d c0 8c d2 60 fb 3b 85 85 67 28 7f a9 15 - 52 c3 0b 2f eb fb a2 13 f0 ae 87 70 2d 06 8d 19 - ba b0 7f e5 74 52 3d fb 42 13 9d 68 c3 c5 af ee - e0 bf e4 cb 79 69 cb f3 82 b8 04 d6 e6 13 96 14 - 4e 2d 0e 60 74 1f 89 93 c3 01 4b 58 b9 b1 95 7a - 8b ab cd 23 af 85 4f 4c 35 6f b1 66 2a a7 2b fc - c7 e5 86 55 9d c4 28 0d 16 0c 12 67 85 a7 23 eb - ee be ff 71 f1 15 94 44 0a ae f8 7d 10 79 3a 87 - 74 a2 39 d4 a0 4c 87 fe 14 67 b9 da f8 52 08 ec - 6c 72 55 79 4a 96 cc 29 14 2f 9a 8b d4 18 e3 c1 - fd 67 34 4b 0c d0 82 9d f3 b2 be c6 02 53 19 62 - 93 c6 b3 4d 3f 75 d3 2f 21 3d d4 5c 62 73 d5 05 - ad f4 cc ed 10 57 cb 75 8f c2 6a ee fa 44 12 55 - ed 4e 64 c1 99 ee 07 5e 7f 16 64 61 82 fd b4 64 - 73 9b 68 ab 5d af f0 e6 3e 95 52 01 68 24 f0 54 - bf 4d 3c 8c 90 a9 7b b6 b6 55 32 84 eb 42 9f cc''', - # Random - '''47 e1 ab 71 19 fe e5 6c 95 ee 5e aa d8 6f 40 d0 - aa 63 bd 33''', - SHA1 - ), - ) - - def testEncrypt1(self): - # Verify encryption using all test vectors - for test in self._testData: - # Build the key - comps = [ int(rws(test[0][x]),16) for x in ('n','e') ] - key = RSA.construct(comps) - # RNG that takes its random numbers from a pool given - # at initialization - class randGen: - def __init__(self, data): - self.data = data - self.idx = 0 - def __call__(self, N): - r = self.data[self.idx:N] - self.idx += N - return r - # The real test - key._randfunc = randGen(t2b(test[3])) - cipher = PKCS.new(key, test[4]) - ct = cipher.encrypt(t2b(test[1])) - self.assertEqual(ct, t2b(test[2])) - - def testEncrypt2(self): - # Verify that encryption fails if plaintext is too long - pt = '\x00'*(128-2*20-2+1) - cipher = PKCS.new(self.key1024) - self.assertRaises(ValueError, cipher.encrypt, pt) - - def testDecrypt1(self): - # Verify decryption using all test vectors - for test in self._testData: - # Build the key - comps = [ int(rws(test[0][x]),16) for x in ('n','e','d') ] - key = RSA.construct(comps) - # The real test - cipher = PKCS.new(key, test[4]) - pt = cipher.decrypt(t2b(test[2])) - self.assertEqual(pt, t2b(test[1])) - - def testDecrypt2(self): - # Simplest possible negative tests - for ct_size in (127,128,129): - cipher = PKCS.new(self.key1024) - self.assertRaises(ValueError, cipher.decrypt, bchr(0x00)*ct_size) - - def testEncryptDecrypt1(self): - # Encrypt/Decrypt messages of length [0..128-2*20-2] - for pt_len in range(0,128-2*20-2): - pt = self.rng(pt_len) - ct = PKCS.encrypt(pt, self.key1024) - pt2 = PKCS.decrypt(ct, self.key1024) - self.assertEqual(pt,pt2) - - def testEncryptDecrypt1(self): - # Helper function to monitor what's requested from RNG - global asked - def localRng(N): - global asked - asked += N - return self.rng(N) - # Verify that OAEP is friendly to all hashes - for hashmod in (MD2,MD5,SHA1,SHA256,RIPEMD): - # Verify that encrypt() asks for as many random bytes - # as the hash output size - asked = 0 - pt = self.rng(40) - self.key1024._randfunc = localRng - cipher = PKCS.new(self.key1024, hashmod) - ct = cipher.encrypt(pt) - self.assertEqual(cipher.decrypt(ct), pt) - self.assertTrue(asked > hashmod.digest_size) - - def testEncryptDecrypt2(self): - # Verify that OAEP supports labels - pt = self.rng(35) - xlabel = self.rng(22) - cipher = PKCS.new(self.key1024, label=xlabel) - ct = cipher.encrypt(pt) - self.assertEqual(cipher.decrypt(ct), pt) - - def testEncryptDecrypt3(self): - # Verify that encrypt() uses the custom MGF - global mgfcalls - # Helper function to monitor what's requested from MGF - def newMGF(seed,maskLen): - global mgfcalls - mgfcalls += 1 - return bchr(0x00)*maskLen - mgfcalls = 0 - pt = self.rng(32) - cipher = PKCS.new(self.key1024, mgfunc=newMGF) - ct = cipher.encrypt(pt) - self.assertEqual(mgfcalls, 2) - self.assertEqual(cipher.decrypt(ct), pt) - -def get_tests(config={}): - tests = [] - tests += list_test_cases(PKCS1_OAEP_Tests) - return tests - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/__init__.py deleted file mode 100644 index bb19f9b..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/__init__.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/__init__.py: Self-test for hash modules -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test for hash modules""" - -__revision__ = "$Id$" - -def get_tests(config={}): - tests = [] - from Crypto.SelfTest.Hash import test_HMAC; tests += test_HMAC.get_tests(config=config) - from Crypto.SelfTest.Hash import test_MD2; tests += test_MD2.get_tests(config=config) - from Crypto.SelfTest.Hash import test_MD4; tests += test_MD4.get_tests(config=config) - from Crypto.SelfTest.Hash import test_MD5; tests += test_MD5.get_tests(config=config) - from Crypto.SelfTest.Hash import test_RIPEMD; tests += test_RIPEMD.get_tests(config=config) - from Crypto.SelfTest.Hash import test_SHA; tests += test_SHA.get_tests(config=config) - from Crypto.SelfTest.Hash import test_SHA256; tests += test_SHA256.get_tests(config=config) - try: - from Crypto.SelfTest.Hash import test_SHA224; tests += test_SHA224.get_tests(config=config) - from Crypto.SelfTest.Hash import test_SHA384; tests += test_SHA384.get_tests(config=config) - from Crypto.SelfTest.Hash import test_SHA512; tests += test_SHA512.get_tests(config=config) - except ImportError: - import sys - sys.stderr.write("SelfTest: warning: not testing SHA224/SHA384/SHA512 modules (not available)\n") - return tests - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/common.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/common.py deleted file mode 100644 index 12e169f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/common.py +++ /dev/null @@ -1,197 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/common.py: Common code for Crypto.SelfTest.Hash -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-testing for PyCrypto hash modules""" - -__revision__ = "$Id$" - -import sys -import unittest -import binascii -from Crypto.Util.py3compat import * - -# For compatibility with Python 2.1 and Python 2.2 -if sys.hexversion < 0x02030000: - # Python 2.1 doesn't have a dict() function - # Python 2.2 dict() function raises TypeError if you do dict(MD5='blah') - def dict(**kwargs): - return kwargs.copy() -else: - dict = dict - - -class HashDigestSizeSelfTest(unittest.TestCase): - - def __init__(self, hashmod, description, expected): - unittest.TestCase.__init__(self) - self.hashmod = hashmod - self.expected = expected - self.description = description - - def shortDescription(self): - return self.description - - def runTest(self): - self.assertTrue(hasattr(self.hashmod, "digest_size")) - self.assertEqual(self.hashmod.digest_size, self.expected) - h = self.hashmod.new() - self.assertTrue(hasattr(h, "digest_size")) - self.assertEqual(h.digest_size, self.expected) - - -class HashSelfTest(unittest.TestCase): - - def __init__(self, hashmod, description, expected, input): - unittest.TestCase.__init__(self) - self.hashmod = hashmod - self.expected = expected - self.input = input - self.description = description - - def shortDescription(self): - return self.description - - def runTest(self): - h = self.hashmod.new() - h.update(self.input) - - out1 = binascii.b2a_hex(h.digest()) - out2 = h.hexdigest() - - h = self.hashmod.new(self.input) - - out3 = h.hexdigest() - out4 = binascii.b2a_hex(h.digest()) - - # PY3K: hexdigest() should return str(), and digest() bytes - self.assertEqual(self.expected, out1) # h = .new(); h.update(data); h.digest() - if sys.version_info[0] == 2: - self.assertEqual(self.expected, out2) # h = .new(); h.update(data); h.hexdigest() - self.assertEqual(self.expected, out3) # h = .new(data); h.hexdigest() - else: - self.assertEqual(self.expected.decode(), out2) # h = .new(); h.update(data); h.hexdigest() - self.assertEqual(self.expected.decode(), out3) # h = .new(data); h.hexdigest() - self.assertEqual(self.expected, out4) # h = .new(data); h.digest() - - # Verify that new() object method produces a fresh hash object - h2 = h.new() - h2.update(self.input) - out5 = binascii.b2a_hex(h2.digest()) - self.assertEqual(self.expected, out5) - -class HashTestOID(unittest.TestCase): - def __init__(self, hashmod, oid): - unittest.TestCase.__init__(self) - self.hashmod = hashmod - self.oid = oid - - def runTest(self): - h = self.hashmod.new() - if self.oid==None: - try: - raised = 0 - a = h.oid - except AttributeError: - raised = 1 - self.assertEqual(raised,1) - else: - self.assertEqual(h.oid, self.oid) - -class MACSelfTest(unittest.TestCase): - - def __init__(self, hashmod, description, expected_dict, input, key, hashmods): - unittest.TestCase.__init__(self) - self.hashmod = hashmod - self.expected_dict = expected_dict - self.input = input - self.key = key - self.hashmods = hashmods - self.description = description - - def shortDescription(self): - return self.description - - def runTest(self): - for hashname in list(self.expected_dict.keys()): - hashmod = self.hashmods[hashname] - key = binascii.a2b_hex(b(self.key)) - data = binascii.a2b_hex(b(self.input)) - - # Strip whitespace from the expected string (which should be in lowercase-hex) - expected = b("".join(self.expected_dict[hashname].split())) - - h = self.hashmod.new(key, digestmod=hashmod) - h.update(data) - out1 = binascii.b2a_hex(h.digest()) - out2 = h.hexdigest() - - h = self.hashmod.new(key, data, hashmod) - - out3 = h.hexdigest() - out4 = binascii.b2a_hex(h.digest()) - - # Test .copy() - h2 = h.copy() - h.update(b("blah blah blah")) # Corrupt the original hash object - out5 = binascii.b2a_hex(h2.digest()) # The copied hash object should return the correct result - - # PY3K: hexdigest() should return str(), and digest() bytes - self.assertEqual(expected, out1) - if sys.version_info[0] == 2: - self.assertEqual(expected, out2) - self.assertEqual(expected, out3) - else: - self.assertEqual(expected.decode(), out2) - self.assertEqual(expected.decode(), out3) - self.assertEqual(expected, out4) - self.assertEqual(expected, out5) - -def make_hash_tests(module, module_name, test_data, digest_size, oid=None): - tests = [] - for i in range(len(test_data)): - row = test_data[i] - (expected, input) = list(map(b,row[0:2])) - if len(row) < 3: - description = repr(input) - else: - description = row[2].encode('latin-1') - name = "%s #%d: %s" % (module_name, i+1, description) - tests.append(HashSelfTest(module, name, expected, input)) - if oid is not None: - oid = b(oid) - name = "%s #%d: digest_size" % (module_name, i+1) - tests.append(HashDigestSizeSelfTest(module, name, digest_size)) - tests.append(HashTestOID(module, oid)) - return tests - -def make_mac_tests(module, module_name, test_data, hashmods): - tests = [] - for i in range(len(test_data)): - row = test_data[i] - (key, data, results, description) = row - name = "%s #%d: %s" % (module_name, i+1, description) - tests.append(MACSelfTest(module, name, results, data, key, hashmods)) - return tests - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_HMAC.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_HMAC.py deleted file mode 100644 index 8a1123e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_HMAC.py +++ /dev/null @@ -1,223 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/HMAC.py: Self-test for the HMAC module -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Hash.HMAC""" - -__revision__ = "$Id$" - -from .common import dict # For compatibility with Python 2.1 and 2.2 -from Crypto.Util.py3compat import * - -# This is a list of (key, data, results, description) tuples. -test_data = [ - ## Test vectors from RFC 2202 ## - # Test that the default hashmod is MD5 - ('0b' * 16, - '4869205468657265', - dict(default='9294727a3638bb1c13f48ef8158bfc9d'), - 'default-is-MD5'), - - # Test case 1 (MD5) - ('0b' * 16, - '4869205468657265', - dict(MD5='9294727a3638bb1c13f48ef8158bfc9d'), - 'RFC 2202 #1-MD5 (HMAC-MD5)'), - - # Test case 1 (SHA1) - ('0b' * 20, - '4869205468657265', - dict(SHA1='b617318655057264e28bc0b6fb378c8ef146be00'), - 'RFC 2202 #1-SHA1 (HMAC-SHA1)'), - - # Test case 2 - ('4a656665', - '7768617420646f2079612077616e7420666f72206e6f7468696e673f', - dict(MD5='750c783e6ab0b503eaa86e310a5db738', - SHA1='effcdf6ae5eb2fa2d27416d5f184df9c259a7c79'), - 'RFC 2202 #2 (HMAC-MD5/SHA1)'), - - # Test case 3 (MD5) - ('aa' * 16, - 'dd' * 50, - dict(MD5='56be34521d144c88dbb8c733f0e8b3f6'), - 'RFC 2202 #3-MD5 (HMAC-MD5)'), - - # Test case 3 (SHA1) - ('aa' * 20, - 'dd' * 50, - dict(SHA1='125d7342b9ac11cd91a39af48aa17b4f63f175d3'), - 'RFC 2202 #3-SHA1 (HMAC-SHA1)'), - - # Test case 4 - ('0102030405060708090a0b0c0d0e0f10111213141516171819', - 'cd' * 50, - dict(MD5='697eaf0aca3a3aea3a75164746ffaa79', - SHA1='4c9007f4026250c6bc8414f9bf50c86c2d7235da'), - 'RFC 2202 #4 (HMAC-MD5/SHA1)'), - - # Test case 5 (MD5) - ('0c' * 16, - '546573742057697468205472756e636174696f6e', - dict(MD5='56461ef2342edc00f9bab995690efd4c'), - 'RFC 2202 #5-MD5 (HMAC-MD5)'), - - # Test case 5 (SHA1) - # NB: We do not implement hash truncation, so we only test the full hash here. - ('0c' * 20, - '546573742057697468205472756e636174696f6e', - dict(SHA1='4c1a03424b55e07fe7f27be1d58bb9324a9a5a04'), - 'RFC 2202 #5-SHA1 (HMAC-SHA1)'), - - # Test case 6 - ('aa' * 80, - '54657374205573696e67204c6172676572205468616e20426c6f636b2d53697a' - + '65204b6579202d2048617368204b6579204669727374', - dict(MD5='6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd', - SHA1='aa4ae5e15272d00e95705637ce8a3b55ed402112'), - 'RFC 2202 #6 (HMAC-MD5/SHA1)'), - - # Test case 7 - ('aa' * 80, - '54657374205573696e67204c6172676572205468616e20426c6f636b2d53697a' - + '65204b657920616e64204c6172676572205468616e204f6e6520426c6f636b2d' - + '53697a652044617461', - dict(MD5='6f630fad67cda0ee1fb1f562db3aa53e', - SHA1='e8e99d0f45237d786d6bbaa7965c7808bbff1a91'), - 'RFC 2202 #7 (HMAC-MD5/SHA1)'), - - ## Test vectors from RFC 4231 ## - # 4.2. Test Case 1 - ('0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b', - '4869205468657265', - dict(SHA256=''' - b0344c61d8db38535ca8afceaf0bf12b - 881dc200c9833da726e9376c2e32cff7 - '''), - 'RFC 4231 #1 (HMAC-SHA256)'), - - # 4.3. Test Case 2 - Test with a key shorter than the length of the HMAC - # output. - ('4a656665', - '7768617420646f2079612077616e7420666f72206e6f7468696e673f', - dict(SHA256=''' - 5bdcc146bf60754e6a042426089575c7 - 5a003f089d2739839dec58b964ec3843 - '''), - 'RFC 4231 #2 (HMAC-SHA256)'), - - # 4.4. Test Case 3 - Test with a combined length of key and data that is - # larger than 64 bytes (= block-size of SHA-224 and SHA-256). - ('aa' * 20, - 'dd' * 50, - dict(SHA256=''' - 773ea91e36800e46854db8ebd09181a7 - 2959098b3ef8c122d9635514ced565fe - '''), - 'RFC 4231 #3 (HMAC-SHA256)'), - - # 4.5. Test Case 4 - Test with a combined length of key and data that is - # larger than 64 bytes (= block-size of SHA-224 and SHA-256). - ('0102030405060708090a0b0c0d0e0f10111213141516171819', - 'cd' * 50, - dict(SHA256=''' - 82558a389a443c0ea4cc819899f2083a - 85f0faa3e578f8077a2e3ff46729665b - '''), - 'RFC 4231 #4 (HMAC-SHA256)'), - - # 4.6. Test Case 5 - Test with a truncation of output to 128 bits. - # - # Not included because we do not implement hash truncation. - # - - # 4.7. Test Case 6 - Test with a key larger than 128 bytes (= block-size of - # SHA-384 and SHA-512). - ('aa' * 131, - '54657374205573696e67204c6172676572205468616e20426c6f636b2d53697a' - + '65204b6579202d2048617368204b6579204669727374', - dict(SHA256=''' - 60e431591ee0b67f0d8a26aacbf5b77f - 8e0bc6213728c5140546040f0ee37f54 - '''), - 'RFC 4231 #6 (HMAC-SHA256)'), - - # 4.8. Test Case 7 - Test with a key and data that is larger than 128 bytes - # (= block-size of SHA-384 and SHA-512). - ('aa' * 131, - '5468697320697320612074657374207573696e672061206c6172676572207468' - + '616e20626c6f636b2d73697a65206b657920616e642061206c61726765722074' - + '68616e20626c6f636b2d73697a6520646174612e20546865206b6579206e6565' - + '647320746f20626520686173686564206265666f7265206265696e6720757365' - + '642062792074686520484d414320616c676f726974686d2e', - dict(SHA256=''' - 9b09ffa71b942fcb27635fbcd5b0e944 - bfdc63644f0713938a7f51535c3a35e2 - '''), - 'RFC 4231 #7 (HMAC-SHA256)'), -] - -hashlib_test_data = [ - # Test case 8 (SHA224) - ('4a656665', - '7768617420646f2079612077616e74' - + '20666f72206e6f7468696e673f', - dict(SHA224='a30e01098bc6dbbf45690f3a7e9e6d0f8bbea2a39e6148008fd05e44'), - 'RFC 4634 8.4 SHA224 (HMAC-SHA224)'), - - # Test case 9 (SHA384) - ('4a656665', - '7768617420646f2079612077616e74' - + '20666f72206e6f7468696e673f', - dict(SHA384='af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649'), - 'RFC 4634 8.4 SHA384 (HMAC-SHA384)'), - - # Test case 10 (SHA512) - ('4a656665', - '7768617420646f2079612077616e74' - + '20666f72206e6f7468696e673f', - dict(SHA512='164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737'), - 'RFC 4634 8.4 SHA512 (HMAC-SHA512)'), - -] - -def get_tests(config={}): - global test_data - from Crypto.Hash import HMAC, MD5, SHA as SHA1, SHA256 - from .common import make_mac_tests - hashmods = dict(MD5=MD5, SHA1=SHA1, SHA256=SHA256, default=None) - try: - from Crypto.Hash import SHA224, SHA384, SHA512 - hashmods.update(dict(SHA224=SHA224, SHA384=SHA384, SHA512=SHA512)) - test_data += hashlib_test_data - except ImportError: - import sys - sys.stderr.write("SelfTest: warning: not testing HMAC-SHA224/384/512 (not available)\n") - return make_mac_tests(HMAC, "HMAC", test_data, hashmods) - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD2.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD2.py deleted file mode 100644 index 8653d1a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD2.py +++ /dev/null @@ -1,64 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/MD2.py: Self-test for the MD2 hash function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Hash.MD2""" - -__revision__ = "$Id$" - -from Crypto.Util.py3compat import * - -# This is a list of (expected_result, input[, description]) tuples. -test_data = [ - # Test vectors from RFC 1319 - ('8350e5a3e24c153df2275c9f80692773', '', "'' (empty string)"), - ('32ec01ec4a6dac72c0ab96fb34c0b5d1', 'a'), - ('da853b0d3f88d99b30283a69e6ded6bb', 'abc'), - ('ab4f496bfb2a530b219ff33031fe06b0', 'message digest'), - - ('4e8ddff3650292ab5a4108c3aa47940b', 'abcdefghijklmnopqrstuvwxyz', - 'a-z'), - - ('da33def2a42df13975352846c30338cd', - 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', - 'A-Z, a-z, 0-9'), - - ('d5976f79d83d3a0dc9806c3c66f3efd8', - '1234567890123456789012345678901234567890123456' - + '7890123456789012345678901234567890', - "'1234567890' * 8"), -] - -def get_tests(config={}): - from Crypto.Hash import MD2 - from .common import make_hash_tests - return make_hash_tests(MD2, "MD2", test_data, - digest_size=16, - oid="\x06\x08\x2a\x86\x48\x86\xf7\x0d\x02\x02") - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD4.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD4.py deleted file mode 100644 index 11259ef..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD4.py +++ /dev/null @@ -1,64 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/MD4.py: Self-test for the MD4 hash function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Hash.MD4""" - -__revision__ = "$Id$" - -from Crypto.Util.py3compat import * - -# This is a list of (expected_result, input[, description]) tuples. -test_data = [ - # Test vectors from RFC 1320 - ('31d6cfe0d16ae931b73c59d7e0c089c0', '', "'' (empty string)"), - ('bde52cb31de33e46245e05fbdbd6fb24', 'a'), - ('a448017aaf21d8525fc10ae87aa6729d', 'abc'), - ('d9130a8164549fe818874806e1c7014b', 'message digest'), - - ('d79e1c308aa5bbcdeea8ed63df412da9', 'abcdefghijklmnopqrstuvwxyz', - 'a-z'), - - ('043f8582f241db351ce627e153e7f0e4', - 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', - 'A-Z, a-z, 0-9'), - - ('e33b4ddc9c38f2199c3e7b164fcc0536', - '1234567890123456789012345678901234567890123456' - + '7890123456789012345678901234567890', - "'1234567890' * 8"), -] - -def get_tests(config={}): - from Crypto.Hash import MD4 - from .common import make_hash_tests - return make_hash_tests(MD4, "MD4", test_data, - digest_size=16, - oid="\x06\x08\x2a\x86\x48\x86\xf7\x0d\x02\x04") - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD5.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD5.py deleted file mode 100644 index 724dea0..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_MD5.py +++ /dev/null @@ -1,64 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/MD5.py: Self-test for the MD5 hash function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Hash.MD5""" - -__revision__ = "$Id$" - -from Crypto.Util.py3compat import * - -# This is a list of (expected_result, input[, description]) tuples. -test_data = [ - # Test vectors from RFC 1321 - ('d41d8cd98f00b204e9800998ecf8427e', '', "'' (empty string)"), - ('0cc175b9c0f1b6a831c399e269772661', 'a'), - ('900150983cd24fb0d6963f7d28e17f72', 'abc'), - ('f96b697d7cb7938d525a2f31aaf161d0', 'message digest'), - - ('c3fcd3d76192e4007dfb496cca67e13b', 'abcdefghijklmnopqrstuvwxyz', - 'a-z'), - - ('d174ab98d277d9f5a5611c2c9f419d9f', - 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', - 'A-Z, a-z, 0-9'), - - ('57edf4a22be3c955ac49da2e2107b67a', - '1234567890123456789012345678901234567890123456' - + '7890123456789012345678901234567890', - "'1234567890' * 8"), -] - -def get_tests(config={}): - from Crypto.Hash import MD5 - from .common import make_hash_tests - return make_hash_tests(MD5, "MD5", test_data, - digest_size=16, - oid="\x06\x08\x2a\x86\x48\x86\xf7\x0d\x02\x05") - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.py deleted file mode 100644 index 6c58876..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.py +++ /dev/null @@ -1,73 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/test_RIPEMD.py: Self-test for the RIPEMD-160 hash function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -#"""Self-test suite for Crypto.Hash.RIPEMD""" - -__revision__ = "$Id$" - -from Crypto.Util.py3compat import * - -# This is a list of (expected_result, input[, description]) tuples. -test_data = [ - # Test vectors downloaded 2008-09-12 from - # http://homes.esat.kuleuven.be/~bosselae/ripemd160.html - ('9c1185a5c5e9fc54612808977ee8f548b2258d31', '', "'' (empty string)"), - ('0bdc9d2d256b3ee9daae347be6f4dc835a467ffe', 'a'), - ('8eb208f7e05d987a9b044a8e98c6b087f15a0bfc', 'abc'), - ('5d0689ef49d2fae572b881b123a85ffa21595f36', 'message digest'), - - ('f71c27109c692c1b56bbdceb5b9d2865b3708dbc', - 'abcdefghijklmnopqrstuvwxyz', - 'a-z'), - - ('12a053384a9c0c88e405a06c27dcf49ada62eb2b', - 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq', - 'abcdbcd...pnopq'), - - ('b0e20b6e3116640286ed3a87a5713079b21f5189', - 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', - 'A-Z, a-z, 0-9'), - - ('9b752e45573d4b39f4dbd3323cab82bf63326bfb', - '1234567890' * 8, - "'1234567890' * 8"), - - ('52783243c1697bdbe16d37f97f68f08325dc1528', - 'a' * 10**6, - '"a" * 10**6'), -] - -def get_tests(config={}): - from Crypto.Hash import RIPEMD - from .common import make_hash_tests - return make_hash_tests(RIPEMD, "RIPEMD", test_data, - digest_size=20, - oid="\x06\x05\x2b\x24\x03\02\x01") - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA.py deleted file mode 100644 index bd52a46..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA.py +++ /dev/null @@ -1,64 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/SHA.py: Self-test for the SHA-1 hash function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Hash.SHA""" - -__revision__ = "$Id$" - -from Crypto.Util.py3compat import * - -# Test vectors from various sources -# This is a list of (expected_result, input[, description]) tuples. -test_data = [ - # FIPS PUB 180-2, A.1 - "One-Block Message" - ('a9993e364706816aba3e25717850c26c9cd0d89d', 'abc'), - - # FIPS PUB 180-2, A.2 - "Multi-Block Message" - ('84983e441c3bd26ebaae4aa1f95129e5e54670f1', - 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'), - - # FIPS PUB 180-2, A.3 - "Long Message" -# ('34aa973cd4c4daa4f61eeb2bdbad27316534016f', -# 'a' * 10**6, -# '"a" * 10**6'), - - # RFC 3174: Section 7.3, "TEST4" (multiple of 512 bits) - ('dea356a2cddd90c7a7ecedc5ebb563934f460452', - '01234567' * 80, - '"01234567" * 80'), -] - -def get_tests(config={}): - from Crypto.Hash import SHA - from .common import make_hash_tests - return make_hash_tests(SHA, "SHA", test_data, - digest_size=20, - oid="\x06\x05\x2B\x0E\x03\x02\x1A") - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA224.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA224.py deleted file mode 100644 index 1db501b..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA224.py +++ /dev/null @@ -1,65 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/test_SHA224.py: Self-test for the SHA-224 hash function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Hash.SHA224""" - -__revision__ = "$Id$" - -# Test vectors from various sources -# This is a list of (expected_result, input[, description]) tuples. -test_data = [ - - # RFC 3874: Section 3.1, "Test Vector #1 - ('23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7', 'abc'), - - # RFC 3874: Section 3.2, "Test Vector #2 - ('75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525', 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'), - - # RFC 3874: Section 3.3, "Test Vector #3 - ('20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67', 'a' * 10**6, "'a' * 10**6"), - - # Examples from http://de.wikipedia.org/wiki/Secure_Hash_Algorithm - ('d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f', ''), - - ('49b08defa65e644cbf8a2dd9270bdededabc741997d1dadd42026d7b', - 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern'), - - ('58911e7fccf2971a7d07f93162d8bd13568e71aa8fc86fc1fe9043d1', - 'Frank jagt im komplett verwahrlosten Taxi quer durch Bayern'), - -] - -def get_tests(config={}): - from Crypto.Hash import SHA224 - from .common import make_hash_tests - return make_hash_tests(SHA224, "SHA224", test_data, - digest_size=28, - oid='\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x04') - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA256.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA256.py deleted file mode 100644 index 9ea9cc6..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA256.py +++ /dev/null @@ -1,96 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/test_SHA256.py: Self-test for the SHA-256 hash function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Hash.SHA256""" - -__revision__ = "$Id$" - -import unittest -from Crypto.Util.py3compat import * - -class LargeSHA256Test(unittest.TestCase): - def runTest(self): - """SHA256: 512/520 MiB test""" - from Crypto.Hash import SHA256 - zeros = bchr(0x00) * (1024*1024) - - h = SHA256.new(zeros) - for i in range(511): - h.update(zeros) - - # This test vector is from PyCrypto's old testdata.py file. - self.assertEqual('9acca8e8c22201155389f65abbf6bc9723edc7384ead80503839f49dcc56d767', h.hexdigest()) # 512 MiB - - for i in range(8): - h.update(zeros) - - # This test vector is from PyCrypto's old testdata.py file. - self.assertEqual('abf51ad954b246009dfe5a50ecd582fd5b8f1b8b27f30393853c3ef721e7fa6e', h.hexdigest()) # 520 MiB - -def get_tests(config={}): - # Test vectors from FIPS PUB 180-2 - # This is a list of (expected_result, input[, description]) tuples. - test_data = [ - # FIPS PUB 180-2, B.1 - "One-Block Message" - ('ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad', - 'abc'), - - # FIPS PUB 180-2, B.2 - "Multi-Block Message" - ('248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1', - 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'), - - # FIPS PUB 180-2, B.3 - "Long Message" - ('cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0', - 'a' * 10**6, - '"a" * 10**6'), - - # Test for an old PyCrypto bug. - ('f7fd017a3c721ce7ff03f3552c0813adcc48b7f33f07e5e2ba71e23ea393d103', - 'This message is precisely 55 bytes long, to test a bug.', - 'Length = 55 (mod 64)'), - - # Example from http://de.wikipedia.org/wiki/Secure_Hash_Algorithm - ('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', ''), - - ('d32b568cd1b96d459e7291ebf4b25d007f275c9f13149beeb782fac0716613f8', - 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern'), - ] - - from Crypto.Hash import SHA256 - from .common import make_hash_tests - tests = make_hash_tests(SHA256, "SHA256", test_data, - digest_size=32, - oid="\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01") - - if config.get('slow_tests'): - tests += [LargeSHA256Test()] - - return tests - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA384.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA384.py deleted file mode 100644 index 0c2f79c..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA384.py +++ /dev/null @@ -1,63 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/test_SHA.py: Self-test for the SHA-384 hash function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Hash.SHA384""" - -__revision__ = "$Id$" - -# Test vectors from various sources -# This is a list of (expected_result, input[, description]) tuples. -test_data = [ - - # RFC 4634: Section Page 8.4, "Test 1" - ('cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7', 'abc'), - - # RFC 4634: Section Page 8.4, "Test 2.2" - ('09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712fcc7c71a557e2db966c3e9fa91746039', 'abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu'), - - # RFC 4634: Section Page 8.4, "Test 3" - ('9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b07b8b3dc38ecc4ebae97ddd87f3d8985', 'a' * 10**6, "'a' * 10**6"), - - # Taken from http://de.wikipedia.org/wiki/Secure_Hash_Algorithm - ('38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b', ''), - - # Example from http://de.wikipedia.org/wiki/Secure_Hash_Algorithm - ('71e8383a4cea32d6fd6877495db2ee353542f46fa44bc23100bca48f3366b84e809f0708e81041f427c6d5219a286677', - 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern'), - -] - -def get_tests(config={}): - from Crypto.Hash import SHA384 - from .common import make_hash_tests - return make_hash_tests(SHA384, "SHA384", test_data, - digest_size=48, - oid='\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x02') - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA512.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA512.py deleted file mode 100644 index 31ace3d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Hash/test_SHA512.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Hash/test_SHA512.py: Self-test for the SHA-512 hash function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Hash.SHA512""" - -__revision__ = "$Id$" - -# Test vectors from various sources -# This is a list of (expected_result, input[, description]) tuples. -test_data = [ - - # RFC 4634: Section Page 8.4, "Test 1" - ('ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f', 'abc'), - - # RFC 4634: Section Page 8.4, "Test 2.1" - ('8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909', 'abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu'), - - # RFC 4634: Section Page 8.4, "Test 3" - ('e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09b', 'a' * 10**6, "'a' * 10**6"), - - # Taken from http://de.wikipedia.org/wiki/Secure_Hash_Algorithm - ('cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e', ''), - - ('af9ed2de700433b803240a552b41b5a472a6ef3fe1431a722b2063c75e9f07451f67a28e37d09cde769424c96aea6f8971389db9e1993d6c565c3c71b855723c', 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern'), -] - -def get_tests(config={}): - from Crypto.Hash import SHA512 - from .common import make_hash_tests - return make_hash_tests(SHA512, "SHA512", test_data, - digest_size=64, - oid="\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x03") - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/__init__.py deleted file mode 100644 index a62c670..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/__init__.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Protocol/__init__.py: Self-tests for Crypto.Protocol -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test for Crypto.Protocol""" - -__revision__ = "$Id$" - -def get_tests(config={}): - tests = [] - from Crypto.SelfTest.Protocol import test_chaffing; tests += test_chaffing.get_tests(config=config) - from Crypto.SelfTest.Protocol import test_rfc1751; tests += test_rfc1751.get_tests(config=config) - from Crypto.SelfTest.Protocol import test_AllOrNothing; tests += test_AllOrNothing.get_tests(config=config) - return tests - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_AllOrNothing.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_AllOrNothing.py deleted file mode 100644 index a211eab..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_AllOrNothing.py +++ /dev/null @@ -1,76 +0,0 @@ -# -# Test script for Crypto.Protocol.AllOrNothing -# -# Part of the Python Cryptography Toolkit -# -# Written by Andrew Kuchling and others -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - -import unittest -from Crypto.Protocol import AllOrNothing -from Crypto.Util.py3compat import * - -text = b("""\ -When in the Course of human events, it becomes necessary for one people to -dissolve the political bands which have connected them with another, and to -assume among the powers of the earth, the separate and equal station to which -the Laws of Nature and of Nature's God entitle them, a decent respect to the -opinions of mankind requires that they should declare the causes which impel -them to the separation. - -We hold these truths to be self-evident, that all men are created equal, that -they are endowed by their Creator with certain unalienable Rights, that among -these are Life, Liberty, and the pursuit of Happiness. That to secure these -rights, Governments are instituted among Men, deriving their just powers from -the consent of the governed. That whenever any Form of Government becomes -destructive of these ends, it is the Right of the People to alter or to -abolish it, and to institute new Government, laying its foundation on such -principles and organizing its powers in such form, as to them shall seem most -likely to effect their Safety and Happiness. -""") - -class AllOrNothingTest (unittest.TestCase): - - def runTest(self): - "Simple test of AllOrNothing" - - from Crypto.Cipher import AES - import base64 - - # The current AllOrNothing will fail - # every so often. Repeat the test - # several times to force this. - for i in range(50): - x = AllOrNothing.AllOrNothing(AES) - - msgblocks = x.digest(text) - - # get a new undigest-only object so there's no leakage - y = AllOrNothing.AllOrNothing(AES) - text2 = y.undigest(msgblocks) - self.assertEqual(text, text2) - -def get_tests(config={}): - return [AllOrNothingTest()] - -if __name__ == "__main__": - unittest.main() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_KDF.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_KDF.py deleted file mode 100644 index d3e3be9..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_KDF.py +++ /dev/null @@ -1,98 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Protocol/test_KDF.py: Self-test for key derivation functions -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - -import unittest -from binascii import unhexlify - -from Crypto.SelfTest.st_common import list_test_cases -from Crypto.Hash import SHA as SHA1,HMAC - -from Crypto.Protocol.KDF import * - -def t2b(t): return unhexlify(b(t)) - -class PBKDF1_Tests(unittest.TestCase): - - # List of tuples with test data. - # Each tuple is made up by: - # Item #0: a pass phrase - # Item #1: salt (8 bytes encoded in hex) - # Item #2: output key length - # Item #3: iterations to use - # Item #4: expected result (encoded in hex) - _testData = ( - # From http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf - ("password","78578E5A5D63CB06",16,1000,"DC19847E05C64D2FAF10EBFB4A3D2A20"), - ) - - def test1(self): - v = self._testData[0] - res = PBKDF1(v[0], t2b(v[1]), v[2], v[3], SHA1) - self.assertEqual(res, t2b(v[4])) - -class PBKDF2_Tests(unittest.TestCase): - - # List of tuples with test data. - # Each tuple is made up by: - # Item #0: a pass phrase - # Item #1: salt (encoded in hex) - # Item #2: output key length - # Item #3: iterations to use - # Item #4: expected result (encoded in hex) - _testData = ( - # From http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf - ("password","78578E5A5D63CB06",24,2048,"BFDE6BE94DF7E11DD409BCE20A0255EC327CB936FFE93643"), - # From RFC 6050 - ("password","73616c74", 20, 1, "0c60c80f961f0e71f3a9b524af6012062fe037a6"), - ("password","73616c74", 20, 2, "ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957"), - ("password","73616c74", 20, 4096, "4b007901b765489abead49d926f721d065a429c1"), - ("passwordPASSWORDpassword","73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74", - 25, 4096, "3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038"), - ( 'pass\x00word',"7361006c74",16,4096, "56fa6aa75548099dcc37d7f03425e0c3"), - ) - - def test1(self): - # Test only for HMAC-SHA1 as PRF - - def prf(p,s): - return HMAC.new(p,s,SHA1).digest() - - for i in range(len(self._testData)): - v = self._testData[i] - res = PBKDF2(v[0], t2b(v[1]), v[2], v[3]) - res2 = PBKDF2(v[0], t2b(v[1]), v[2], v[3], prf) - self.assertEqual(res, t2b(v[4])) - self.assertEqual(res, res2) - -def get_tests(config={}): - tests = [] - tests += list_test_cases(PBKDF1_Tests) - tests += list_test_cases(PBKDF2_Tests) - return tests - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_chaffing.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_chaffing.py deleted file mode 100644 index 5fa0120..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_chaffing.py +++ /dev/null @@ -1,74 +0,0 @@ -# -# Test script for Crypto.Protocol.Chaffing -# -# Part of the Python Cryptography Toolkit -# -# Written by Andrew Kuchling and others -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - -import unittest -from Crypto.Protocol import Chaffing - -text = """\ -When in the Course of human events, it becomes necessary for one people to -dissolve the political bands which have connected them with another, and to -assume among the powers of the earth, the separate and equal station to which -the Laws of Nature and of Nature's God entitle them, a decent respect to the -opinions of mankind requires that they should declare the causes which impel -them to the separation. - -We hold these truths to be self-evident, that all men are created equal, that -they are endowed by their Creator with certain unalienable Rights, that among -these are Life, Liberty, and the pursuit of Happiness. That to secure these -rights, Governments are instituted among Men, deriving their just powers from -the consent of the governed. That whenever any Form of Government becomes -destructive of these ends, it is the Right of the People to alter or to -abolish it, and to institute new Government, laying its foundation on such -principles and organizing its powers in such form, as to them shall seem most -likely to effect their Safety and Happiness. -""" - -class ChaffingTest (unittest.TestCase): - - def runTest(self): - "Simple tests of chaffing and winnowing" - # Test constructors - Chaffing.Chaff() - Chaffing.Chaff(0.5, 1) - self.assertRaises(ValueError, Chaffing.Chaff, factor=-1) - self.assertRaises(ValueError, Chaffing.Chaff, blocksper=-1) - - data = [(1, 'data1', 'data1'), (2, 'data2', 'data2')] - c = Chaffing.Chaff(1.0, 1) - c.chaff(data) - chaff = c.chaff(data) - self.assertEqual(len(chaff), 4) - - c = Chaffing.Chaff(0.0, 1) - chaff = c.chaff(data) - self.assertEqual(len(chaff), 2) - -def get_tests(config={}): - return [ChaffingTest()] - -if __name__ == "__main__": - unittest.main() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.py deleted file mode 100644 index 0878cc5..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.py +++ /dev/null @@ -1,62 +0,0 @@ -# -# Test script for Crypto.Util.RFC1751. -# -# Part of the Python Cryptography Toolkit -# -# Written by Andrew Kuchling and others -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - -import binascii -import unittest -from Crypto.Util import RFC1751 -from Crypto.Util.py3compat import * - -test_data = [('EB33F77EE73D4053', 'TIDE ITCH SLOW REIN RULE MOT'), - ('CCAC2AED591056BE4F90FD441C534766', - 'RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE'), - ('EFF81F9BFBC65350920CDD7416DE8009', - 'TROD MUTE TAIL WARM CHAR KONG HAAG CITY BORE O TEAL AWL') - ] - -class RFC1751Test_k2e (unittest.TestCase): - - def runTest (self): - "Check converting keys to English" - for key, words in test_data: - key=binascii.a2b_hex(b(key)) - self.assertEqual(RFC1751.key_to_english(key), words) - -class RFC1751Test_e2k (unittest.TestCase): - - def runTest (self): - "Check converting English strings to keys" - for key, words in test_data: - key=binascii.a2b_hex(b(key)) - self.assertEqual(RFC1751.english_to_key(words), key) - -# class RFC1751Test - -def get_tests(config={}): - return [RFC1751Test_k2e(), RFC1751Test_e2k()] - -if __name__ == "__main__": - unittest.main() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/__init__.py deleted file mode 100644 index 61ba53f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/__init__.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/PublicKey/__init__.py: Self-test for public key crypto -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test for public-key crypto""" - -__revision__ = "$Id$" - -import os - -def get_tests(config={}): - tests = [] - from Crypto.SelfTest.PublicKey import test_DSA; tests += test_DSA.get_tests(config=config) - from Crypto.SelfTest.PublicKey import test_RSA; tests += test_RSA.get_tests(config=config) - from Crypto.SelfTest.PublicKey import test_importKey; tests += test_importKey.get_tests(config=config) - from Crypto.SelfTest.PublicKey import test_ElGamal; tests += test_ElGamal.get_tests(config=config) - return tests - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_DSA.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_DSA.py deleted file mode 100644 index b05f69a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_DSA.py +++ /dev/null @@ -1,244 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/PublicKey/test_DSA.py: Self-test for the DSA primitive -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.PublicKey.DSA""" - -__revision__ = "$Id$" - -import sys -import os -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -import unittest -from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex - -def _sws(s): - """Remove whitespace from a text or byte string""" - if isinstance(s,str): - return "".join(s.split()) - else: - return b("").join(s.split()) - -class DSATest(unittest.TestCase): - # Test vector from "Appendix 5. Example of the DSA" of - # "Digital Signature Standard (DSS)", - # U.S. Department of Commerce/National Institute of Standards and Technology - # FIPS 186-2 (+Change Notice), 2000 January 27. - # http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf - - y = _sws("""19131871 d75b1612 a819f29d 78d1b0d7 346f7aa7 7bb62a85 - 9bfd6c56 75da9d21 2d3a36ef 1672ef66 0b8c7c25 5cc0ec74 - 858fba33 f44c0669 9630a76b 030ee333""") - - g = _sws("""626d0278 39ea0a13 413163a5 5b4cb500 299d5522 956cefcb - 3bff10f3 99ce2c2e 71cb9de5 fa24babf 58e5b795 21925c9c - c42e9f6f 464b088c c572af53 e6d78802""") - - p = _sws("""8df2a494 492276aa 3d25759b b06869cb eac0d83a fb8d0cf7 - cbb8324f 0d7882e5 d0762fc5 b7210eaf c2e9adac 32ab7aac - 49693dfb f83724c2 ec0736ee 31c80291""") - - q = _sws("""c773218c 737ec8ee 993b4f2d ed30f48e dace915f""") - - x = _sws("""2070b322 3dba372f de1c0ffc 7b2e3b49 8b260614""") - - k = _sws("""358dad57 1462710f 50e254cf 1a376b2b deaadfbf""") - k_inverse = _sws("""0d516729 8202e49b 4116ac10 4fc3f415 ae52f917""") - m = b2a_hex(b("abc")) - m_hash = _sws("""a9993e36 4706816a ba3e2571 7850c26c 9cd0d89d""") - r = _sws("""8bac1ab6 6410435c b7181f95 b16ab97c 92b341c0""") - s = _sws("""41e2345f 1f56df24 58f426d1 55b4ba2d b6dcd8c8""") - - def setUp(self): - global DSA, Random, bytes_to_long, size - from Crypto.PublicKey import DSA - from Crypto import Random - from Crypto.Util.number import bytes_to_long, inverse, size - - self.dsa = DSA - - def test_generate_1arg(self): - """DSA (default implementation) generated key (1 argument)""" - dsaObj = self.dsa.generate(1024) - self._check_private_key(dsaObj) - pub = dsaObj.publickey() - self._check_public_key(pub) - - def test_generate_2arg(self): - """DSA (default implementation) generated key (2 arguments)""" - dsaObj = self.dsa.generate(1024, Random.new().read) - self._check_private_key(dsaObj) - pub = dsaObj.publickey() - self._check_public_key(pub) - - def test_construct_4tuple(self): - """DSA (default implementation) constructed key (4-tuple)""" - (y, g, p, q) = [bytes_to_long(a2b_hex(param)) for param in (self.y, self.g, self.p, self.q)] - dsaObj = self.dsa.construct((y, g, p, q)) - self._test_verification(dsaObj) - - def test_construct_5tuple(self): - """DSA (default implementation) constructed key (5-tuple)""" - (y, g, p, q, x) = [bytes_to_long(a2b_hex(param)) for param in (self.y, self.g, self.p, self.q, self.x)] - dsaObj = self.dsa.construct((y, g, p, q, x)) - self._test_signing(dsaObj) - self._test_verification(dsaObj) - - def _check_private_key(self, dsaObj): - # Check capabilities - self.assertEqual(1, dsaObj.has_private()) - self.assertEqual(1, dsaObj.can_sign()) - self.assertEqual(0, dsaObj.can_encrypt()) - self.assertEqual(0, dsaObj.can_blind()) - - # Check dsaObj.[ygpqx] -> dsaObj.key.[ygpqx] mapping - self.assertEqual(dsaObj.y, dsaObj.key.y) - self.assertEqual(dsaObj.g, dsaObj.key.g) - self.assertEqual(dsaObj.p, dsaObj.key.p) - self.assertEqual(dsaObj.q, dsaObj.key.q) - self.assertEqual(dsaObj.x, dsaObj.key.x) - - # Sanity check key data - self.assertEqual(1, dsaObj.p > dsaObj.q) # p > q - self.assertEqual(160, size(dsaObj.q)) # size(q) == 160 bits - self.assertEqual(0, (dsaObj.p - 1) % dsaObj.q) # q is a divisor of p-1 - self.assertEqual(dsaObj.y, pow(dsaObj.g, dsaObj.x, dsaObj.p)) # y == g**x mod p - self.assertEqual(1, 0 < dsaObj.x < dsaObj.q) # 0 < x < q - - def _check_public_key(self, dsaObj): - k = a2b_hex(self.k) - m_hash = a2b_hex(self.m_hash) - - # Check capabilities - self.assertEqual(0, dsaObj.has_private()) - self.assertEqual(1, dsaObj.can_sign()) - self.assertEqual(0, dsaObj.can_encrypt()) - self.assertEqual(0, dsaObj.can_blind()) - - # Check dsaObj.[ygpq] -> dsaObj.key.[ygpq] mapping - self.assertEqual(dsaObj.y, dsaObj.key.y) - self.assertEqual(dsaObj.g, dsaObj.key.g) - self.assertEqual(dsaObj.p, dsaObj.key.p) - self.assertEqual(dsaObj.q, dsaObj.key.q) - - # Check that private parameters are all missing - self.assertEqual(0, hasattr(dsaObj, 'x')) - self.assertEqual(0, hasattr(dsaObj.key, 'x')) - - # Sanity check key data - self.assertEqual(1, dsaObj.p > dsaObj.q) # p > q - self.assertEqual(160, size(dsaObj.q)) # size(q) == 160 bits - self.assertEqual(0, (dsaObj.p - 1) % dsaObj.q) # q is a divisor of p-1 - - # Public-only key objects should raise an error when .sign() is called - self.assertRaises(TypeError, dsaObj.sign, m_hash, k) - - # Check __eq__ and __ne__ - self.assertEqual(dsaObj.publickey() == dsaObj.publickey(),True) # assert_ - self.assertEqual(dsaObj.publickey() != dsaObj.publickey(),False) # failIf - - def _test_signing(self, dsaObj): - k = a2b_hex(self.k) - m_hash = a2b_hex(self.m_hash) - r = bytes_to_long(a2b_hex(self.r)) - s = bytes_to_long(a2b_hex(self.s)) - (r_out, s_out) = dsaObj.sign(m_hash, k) - self.assertEqual((r, s), (r_out, s_out)) - - def _test_verification(self, dsaObj): - m_hash = a2b_hex(self.m_hash) - r = bytes_to_long(a2b_hex(self.r)) - s = bytes_to_long(a2b_hex(self.s)) - self.assertEqual(1, dsaObj.verify(m_hash, (r, s))) - self.assertEqual(0, dsaObj.verify(m_hash + b("\0"), (r, s))) - -class DSAFastMathTest(DSATest): - def setUp(self): - DSATest.setUp(self) - self.dsa = DSA.DSAImplementation(use_fast_math=True) - - def test_generate_1arg(self): - """DSA (_fastmath implementation) generated key (1 argument)""" - DSATest.test_generate_1arg(self) - - def test_generate_2arg(self): - """DSA (_fastmath implementation) generated key (2 arguments)""" - DSATest.test_generate_2arg(self) - - def test_construct_4tuple(self): - """DSA (_fastmath implementation) constructed key (4-tuple)""" - DSATest.test_construct_4tuple(self) - - def test_construct_5tuple(self): - """DSA (_fastmath implementation) constructed key (5-tuple)""" - DSATest.test_construct_5tuple(self) - -class DSASlowMathTest(DSATest): - def setUp(self): - DSATest.setUp(self) - self.dsa = DSA.DSAImplementation(use_fast_math=False) - - def test_generate_1arg(self): - """DSA (_slowmath implementation) generated key (1 argument)""" - DSATest.test_generate_1arg(self) - - def test_generate_2arg(self): - """DSA (_slowmath implementation) generated key (2 arguments)""" - DSATest.test_generate_2arg(self) - - def test_construct_4tuple(self): - """DSA (_slowmath implementation) constructed key (4-tuple)""" - DSATest.test_construct_4tuple(self) - - def test_construct_5tuple(self): - """DSA (_slowmath implementation) constructed key (5-tuple)""" - DSATest.test_construct_5tuple(self) - - -def get_tests(config={}): - tests = [] - tests += list_test_cases(DSATest) - try: - from Crypto.PublicKey import _fastmath - tests += list_test_cases(DSAFastMathTest) - except ImportError: - from distutils.sysconfig import get_config_var - import inspect - _fm_path = os.path.normpath(os.path.dirname(os.path.abspath( - inspect.getfile(inspect.currentframe()))) - +"/../../PublicKey/_fastmath"+get_config_var("SO")) - if os.path.exists(_fm_path): - raise ImportError("While the _fastmath module exists, importing "+ - "it failed. This may point to the gmp or mpir shared library "+ - "not being in the path. _fastmath was found at "+_fm_path) - tests += list_test_cases(DSASlowMathTest) - return tests - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.py deleted file mode 100644 index cebab30..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.py +++ /dev/null @@ -1,210 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/PublicKey/test_ElGamal.py: Self-test for the ElGamal primitive -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.PublicKey.ElGamal""" - -__revision__ = "$Id$" - -import unittest -from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex -from Crypto import Random -from Crypto.PublicKey import ElGamal -from Crypto.Util.number import * -from Crypto.Util.py3compat import * - -class ElGamalTest(unittest.TestCase): - - # - # Test vectors - # - # There seem to be no real ElGamal test vectors available in the - # public domain. The following test vectors have been generated - # with libgcrypt 1.5.0. - # - # Encryption - tve=[ - { - # 256 bits - 'p' :'BA4CAEAAED8CBE952AFD2126C63EB3B345D65C2A0A73D2A3AD4138B6D09BD933', - 'g' :'05', - 'y' :'60D063600ECED7C7C55146020E7A31C4476E9793BEAED420FEC9E77604CAE4EF', - 'x' :'1D391BA2EE3C37FE1BA175A69B2C73A11238AD77675932', - 'k' :'F5893C5BAB4131264066F57AB3D8AD89E391A0B68A68A1', - 'pt' :'48656C6C6F207468657265', - 'ct1':'32BFD5F487966CEA9E9356715788C491EC515E4ED48B58F0F00971E93AAA5EC7', - 'ct2':'7BE8FBFF317C93E82FCEF9BD515284BA506603FEA25D01C0CB874A31F315EE68' - }, - - { - # 512 bits - 'p' :'F1B18AE9F7B4E08FDA9A04832F4E919D89462FD31BF12F92791A93519F75076D6CE3942689CDFF2F344CAFF0F82D01864F69F3AECF566C774CBACF728B81A227', - 'g' :'07', - 'y' :'688628C676E4F05D630E1BE39D0066178CA7AA83836B645DE5ADD359B4825A12B02EF4252E4E6FA9BEC1DB0BE90F6D7C8629CABB6E531F472B2664868156E20C', - 'x' :'14E60B1BDFD33436C0DA8A22FDC14A2CCDBBED0627CE68', - 'k' :'38DBF14E1F319BDA9BAB33EEEADCAF6B2EA5250577ACE7', - 'pt' :'48656C6C6F207468657265', - 'ct1':'290F8530C2CC312EC46178724F196F308AD4C523CEABB001FACB0506BFED676083FE0F27AC688B5C749AB3CB8A80CD6F7094DBA421FB19442F5A413E06A9772B', - 'ct2':'1D69AAAD1DC50493FB1B8E8721D621D683F3BF1321BE21BC4A43E11B40C9D4D9C80DE3AAC2AB60D31782B16B61112E68220889D53C4C3136EE6F6CE61F8A23A0' - } - ] - - # Signature - tvs=[ - { - # 256 bits - 'p' :'D2F3C41EA66530838A704A48FFAC9334F4701ECE3A97CEE4C69DD01AE7129DD7', - 'g' :'05', - 'y' :'C3F9417DC0DAFEA6A05C1D2333B7A95E63B3F4F28CC962254B3256984D1012E7', - 'x' :'165E4A39BE44D5A2D8B1332D416BC559616F536BC735BB', - 'k' :'C7F0C794A7EAD726E25A47FF8928013680E73C51DD3D7D99BFDA8F492585928F', - 'h' :'48656C6C6F207468657265', - 'sig1':'35CA98133779E2073EF31165AFCDEB764DD54E96ADE851715495F9C635E1E7C2', - 'sig2':'0135B88B1151279FE5D8078D4FC685EE81177EE9802AB123A73925FC1CB059A7', - }, - { - # 512 bits - 'p' :'E24CF3A4B8A6AF749DCA6D714282FE4AABEEE44A53BB6ED15FBE32B5D3C3EF9CC4124A2ECA331F3C1C1B667ACA3766825217E7B5F9856648D95F05330C6A19CF', - 'g' :'0B', - 'y' :'2AD3A1049CA5D4ED207B2431C79A8719BB4073D4A94E450EA6CEE8A760EB07ADB67C0D52C275EE85D7B52789061EE45F2F37D9B2AE522A51C28329766BFE68AC', - 'x' :'16CBB4F46D9ECCF24FF9F7E63CAA3BD8936341555062AB', - 'k' :'8A3D89A4E429FD2476D7D717251FB79BF900FFE77444E6BB8299DC3F84D0DD57ABAB50732AE158EA52F5B9E7D8813E81FD9F79470AE22F8F1CF9AEC820A78C69', - 'h' :'48656C6C6F207468657265', - 'sig1':'BE001AABAFFF976EC9016198FBFEA14CBEF96B000CCC0063D3324016F9E91FE80D8F9325812ED24DDB2B4D4CF4430B169880B3CE88313B53255BD4EC0378586F', - 'sig2':'5E266F3F837BA204E3BBB6DBECC0611429D96F8C7CE8F4EFDF9D4CB681C2A954468A357BF4242CEC7418B51DFC081BCD21299EF5B5A0DDEF3A139A1817503DDE', - } - ] - - def test_generate_128(self): - self._test_random_key(128) - - def test_generate_512(self): - self._test_random_key(512) - - def test_encryption(self): - for tv in self.tve: - for as_longs in (0,1): - d = self.convert_tv(tv, as_longs) - key = ElGamal.construct(d['key']) - ct = key.encrypt(d['pt'], d['k']) - self.assertEqual(ct[0], d['ct1']) - self.assertEqual(ct[1], d['ct2']) - - def test_decryption(self): - for tv in self.tve: - for as_longs in (0,1): - d = self.convert_tv(tv, as_longs) - key = ElGamal.construct(d['key']) - pt = key.decrypt((d['ct1'], d['ct2'])) - self.assertEqual(pt, d['pt']) - - def test_signing(self): - for tv in self.tvs: - for as_longs in (0,1): - d = self.convert_tv(tv, as_longs) - key = ElGamal.construct(d['key']) - sig1, sig2 = key.sign(d['h'], d['k']) - self.assertEqual(sig1, d['sig1']) - self.assertEqual(sig2, d['sig2']) - - def test_verification(self): - for tv in self.tvs: - for as_longs in (0,1): - d = self.convert_tv(tv, as_longs) - key = ElGamal.construct(d['key']) - # Positive test - res = key.verify( d['h'], (d['sig1'],d['sig2']) ) - self.assertTrue(res) - # Negative test - res = key.verify( d['h'], (d['sig1']+1,d['sig2']) ) - self.assertFalse(res) - - def convert_tv(self, tv, as_longs=0): - """Convert a test vector from textual form (hexadecimal ascii - to either integers or byte strings.""" - key_comps = 'p','g','y','x' - tv2 = {} - for c in list(tv.keys()): - tv2[c] = a2b_hex(tv[c]) - if as_longs or c in key_comps or c in ('sig1','sig2'): - tv2[c] = bytes_to_long(tv2[c]) - tv2['key']=[] - for c in key_comps: - tv2['key'] += [tv2[c]] - del tv2[c] - return tv2 - - def _test_random_key(self, bits): - elgObj = ElGamal.generate(bits, Random.new().read) - self._check_private_key(elgObj) - self._exercise_primitive(elgObj) - pub = elgObj.publickey() - self._check_public_key(pub) - self._exercise_public_primitive(elgObj) - - def _check_private_key(self, elgObj): - - # Check capabilities - self.assertTrue(elgObj.has_private()) - self.assertTrue(elgObj.can_sign()) - self.assertTrue(elgObj.can_encrypt()) - - # Sanity check key data - self.assertTrue(1 -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.PublicKey.RSA""" - -__revision__ = "$Id$" - -import sys -import os -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -import unittest -from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex - -class RSATest(unittest.TestCase): - # Test vectors from "RSA-OAEP and RSA-PSS test vectors (.zip file)" - # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip - # See RSADSI's PKCS#1 page at - # http://www.rsa.com/rsalabs/node.asp?id=2125 - - # from oaep-int.txt - - # TODO: PyCrypto treats the message as starting *after* the leading "00" - # TODO: That behaviour should probably be changed in the future. - plaintext = """ - eb 7a 19 ac e9 e3 00 63 50 e3 29 50 4b 45 e2 - ca 82 31 0b 26 dc d8 7d 5c 68 f1 ee a8 f5 52 67 - c3 1b 2e 8b b4 25 1f 84 d7 e0 b2 c0 46 26 f5 af - f9 3e dc fb 25 c9 c2 b3 ff 8a e1 0e 83 9a 2d db - 4c dc fe 4f f4 77 28 b4 a1 b7 c1 36 2b aa d2 9a - b4 8d 28 69 d5 02 41 21 43 58 11 59 1b e3 92 f9 - 82 fb 3e 87 d0 95 ae b4 04 48 db 97 2f 3a c1 4f - 7b c2 75 19 52 81 ce 32 d2 f1 b7 6d 4d 35 3e 2d - """ - - ciphertext = """ - 12 53 e0 4d c0 a5 39 7b b4 4a 7a b8 7e 9b f2 a0 - 39 a3 3d 1e 99 6f c8 2a 94 cc d3 00 74 c9 5d f7 - 63 72 20 17 06 9e 52 68 da 5d 1c 0b 4f 87 2c f6 - 53 c1 1d f8 23 14 a6 79 68 df ea e2 8d ef 04 bb - 6d 84 b1 c3 1d 65 4a 19 70 e5 78 3b d6 eb 96 a0 - 24 c2 ca 2f 4a 90 fe 9f 2e f5 c9 c1 40 e5 bb 48 - da 95 36 ad 87 00 c8 4f c9 13 0a de a7 4e 55 8d - 51 a7 4d df 85 d8 b5 0d e9 68 38 d6 06 3e 09 55 - """ - - modulus = """ - bb f8 2f 09 06 82 ce 9c 23 38 ac 2b 9d a8 71 f7 - 36 8d 07 ee d4 10 43 a4 40 d6 b6 f0 74 54 f5 1f - b8 df ba af 03 5c 02 ab 61 ea 48 ce eb 6f cd 48 - 76 ed 52 0d 60 e1 ec 46 19 71 9d 8a 5b 8b 80 7f - af b8 e0 a3 df c7 37 72 3e e6 b4 b7 d9 3a 25 84 - ee 6a 64 9d 06 09 53 74 88 34 b2 45 45 98 39 4e - e0 aa b1 2d 7b 61 a5 1f 52 7a 9a 41 f6 c1 68 7f - e2 53 72 98 ca 2a 8f 59 46 f8 e5 fd 09 1d bd cb - """ - - e = 0x11 # public exponent - - prime_factor = """ - c9 7f b1 f0 27 f4 53 f6 34 12 33 ea aa d1 d9 35 - 3f 6c 42 d0 88 66 b1 d0 5a 0f 20 35 02 8b 9d 86 - 98 40 b4 16 66 b4 2e 92 ea 0d a3 b4 32 04 b5 cf - ce 33 52 52 4d 04 16 a5 a4 41 e7 00 af 46 15 03 - """ - - def setUp(self): - global RSA, Random, bytes_to_long - from Crypto.PublicKey import RSA - from Crypto import Random - from Crypto.Util.number import bytes_to_long, inverse - self.n = bytes_to_long(a2b_hex(self.modulus)) - self.p = bytes_to_long(a2b_hex(self.prime_factor)) - - # Compute q, d, and u from n, e, and p - self.q = divmod(self.n, self.p)[0] - self.d = inverse(self.e, (self.p-1)*(self.q-1)) - self.u = inverse(self.p, self.q) # u = e**-1 (mod q) - - self.rsa = RSA - - def test_generate_1arg(self): - """RSA (default implementation) generated key (1 argument)""" - rsaObj = self.rsa.generate(1024) - self._check_private_key(rsaObj) - self._exercise_primitive(rsaObj) - pub = rsaObj.publickey() - self._check_public_key(pub) - self._exercise_public_primitive(rsaObj) - - def test_generate_2arg(self): - """RSA (default implementation) generated key (2 arguments)""" - rsaObj = self.rsa.generate(1024, Random.new().read) - self._check_private_key(rsaObj) - self._exercise_primitive(rsaObj) - pub = rsaObj.publickey() - self._check_public_key(pub) - self._exercise_public_primitive(rsaObj) - - def test_generate_3args(self): - rsaObj = self.rsa.generate(1024, Random.new().read,e=65537) - self._check_private_key(rsaObj) - self._exercise_primitive(rsaObj) - pub = rsaObj.publickey() - self._check_public_key(pub) - self._exercise_public_primitive(rsaObj) - self.assertEqual(65537,rsaObj.e) - - def test_construct_2tuple(self): - """RSA (default implementation) constructed key (2-tuple)""" - pub = self.rsa.construct((self.n, self.e)) - self._check_public_key(pub) - self._check_encryption(pub) - self._check_verification(pub) - - def test_construct_3tuple(self): - """RSA (default implementation) constructed key (3-tuple)""" - rsaObj = self.rsa.construct((self.n, self.e, self.d)) - self._check_encryption(rsaObj) - self._check_decryption(rsaObj) - self._check_signing(rsaObj) - self._check_verification(rsaObj) - - def test_construct_4tuple(self): - """RSA (default implementation) constructed key (4-tuple)""" - rsaObj = self.rsa.construct((self.n, self.e, self.d, self.p)) - self._check_encryption(rsaObj) - self._check_decryption(rsaObj) - self._check_signing(rsaObj) - self._check_verification(rsaObj) - - def test_construct_5tuple(self): - """RSA (default implementation) constructed key (5-tuple)""" - rsaObj = self.rsa.construct((self.n, self.e, self.d, self.p, self.q)) - self._check_private_key(rsaObj) - self._check_encryption(rsaObj) - self._check_decryption(rsaObj) - self._check_signing(rsaObj) - self._check_verification(rsaObj) - - def test_construct_6tuple(self): - """RSA (default implementation) constructed key (6-tuple)""" - rsaObj = self.rsa.construct((self.n, self.e, self.d, self.p, self.q, self.u)) - self._check_private_key(rsaObj) - self._check_encryption(rsaObj) - self._check_decryption(rsaObj) - self._check_signing(rsaObj) - self._check_verification(rsaObj) - - def test_factoring(self): - rsaObj = self.rsa.construct([self.n, self.e, self.d]) - self.assertTrue(rsaObj.p==self.p or rsaObj.p==self.q) - self.assertTrue(rsaObj.q==self.p or rsaObj.q==self.q) - self.assertTrue(rsaObj.q*rsaObj.p == self.n) - - self.assertRaises(ValueError, self.rsa.construct, [self.n, self.e, self.n-1]) - - def _check_private_key(self, rsaObj): - # Check capabilities - self.assertEqual(1, rsaObj.has_private()) - self.assertEqual(1, rsaObj.can_sign()) - self.assertEqual(1, rsaObj.can_encrypt()) - self.assertEqual(1, rsaObj.can_blind()) - - # Check rsaObj.[nedpqu] -> rsaObj.key.[nedpqu] mapping - self.assertEqual(rsaObj.n, rsaObj.key.n) - self.assertEqual(rsaObj.e, rsaObj.key.e) - self.assertEqual(rsaObj.d, rsaObj.key.d) - self.assertEqual(rsaObj.p, rsaObj.key.p) - self.assertEqual(rsaObj.q, rsaObj.key.q) - self.assertEqual(rsaObj.u, rsaObj.key.u) - - # Sanity check key data - self.assertEqual(rsaObj.n, rsaObj.p * rsaObj.q) # n = pq - self.assertEqual(1, rsaObj.d * rsaObj.e % ((rsaObj.p-1) * (rsaObj.q-1))) # ed = 1 (mod (p-1)(q-1)) - self.assertEqual(1, rsaObj.p * rsaObj.u % rsaObj.q) # pu = 1 (mod q) - self.assertEqual(1, rsaObj.p > 1) # p > 1 - self.assertEqual(1, rsaObj.q > 1) # q > 1 - self.assertEqual(1, rsaObj.e > 1) # e > 1 - self.assertEqual(1, rsaObj.d > 1) # d > 1 - - def _check_public_key(self, rsaObj): - ciphertext = a2b_hex(self.ciphertext) - - # Check capabilities - self.assertEqual(0, rsaObj.has_private()) - self.assertEqual(1, rsaObj.can_sign()) - self.assertEqual(1, rsaObj.can_encrypt()) - self.assertEqual(1, rsaObj.can_blind()) - - # Check rsaObj.[ne] -> rsaObj.key.[ne] mapping - self.assertEqual(rsaObj.n, rsaObj.key.n) - self.assertEqual(rsaObj.e, rsaObj.key.e) - - # Check that private parameters are all missing - self.assertEqual(0, hasattr(rsaObj, 'd')) - self.assertEqual(0, hasattr(rsaObj, 'p')) - self.assertEqual(0, hasattr(rsaObj, 'q')) - self.assertEqual(0, hasattr(rsaObj, 'u')) - self.assertEqual(0, hasattr(rsaObj.key, 'd')) - self.assertEqual(0, hasattr(rsaObj.key, 'p')) - self.assertEqual(0, hasattr(rsaObj.key, 'q')) - self.assertEqual(0, hasattr(rsaObj.key, 'u')) - - # Sanity check key data - self.assertEqual(1, rsaObj.e > 1) # e > 1 - - # Public keys should not be able to sign or decrypt - self.assertRaises(TypeError, rsaObj.sign, ciphertext, b("")) - self.assertRaises(TypeError, rsaObj.decrypt, ciphertext) - - # Check __eq__ and __ne__ - self.assertEqual(rsaObj.publickey() == rsaObj.publickey(),True) # assert_ - self.assertEqual(rsaObj.publickey() != rsaObj.publickey(),False) # failIf - - def _exercise_primitive(self, rsaObj): - # Since we're using a randomly-generated key, we can't check the test - # vector, but we can make sure encryption and decryption are inverse - # operations. - ciphertext = a2b_hex(self.ciphertext) - - # Test decryption - plaintext = rsaObj.decrypt((ciphertext,)) - - # Test encryption (2 arguments) - (new_ciphertext2,) = rsaObj.encrypt(plaintext, b("")) - self.assertEqual(b2a_hex(ciphertext), b2a_hex(new_ciphertext2)) - - # Test blinded decryption - blinding_factor = Random.new().read(len(ciphertext)-1) - blinded_ctext = rsaObj.blind(ciphertext, blinding_factor) - blinded_ptext = rsaObj.decrypt((blinded_ctext,)) - unblinded_plaintext = rsaObj.unblind(blinded_ptext, blinding_factor) - self.assertEqual(b2a_hex(plaintext), b2a_hex(unblinded_plaintext)) - - # Test signing (2 arguments) - signature2 = rsaObj.sign(ciphertext, b("")) - self.assertEqual((bytes_to_long(plaintext),), signature2) - - # Test verification - self.assertEqual(1, rsaObj.verify(ciphertext, (bytes_to_long(plaintext),))) - - def _exercise_public_primitive(self, rsaObj): - plaintext = a2b_hex(self.plaintext) - - # Test encryption (2 arguments) - (new_ciphertext2,) = rsaObj.encrypt(plaintext, b("")) - - # Exercise verification - rsaObj.verify(new_ciphertext2, (bytes_to_long(plaintext),)) - - def _check_encryption(self, rsaObj): - plaintext = a2b_hex(self.plaintext) - ciphertext = a2b_hex(self.ciphertext) - - # Test encryption (2 arguments) - (new_ciphertext2,) = rsaObj.encrypt(plaintext, b("")) - self.assertEqual(b2a_hex(ciphertext), b2a_hex(new_ciphertext2)) - - def _check_decryption(self, rsaObj): - plaintext = a2b_hex(self.plaintext) - ciphertext = a2b_hex(self.ciphertext) - - # Test plain decryption - new_plaintext = rsaObj.decrypt((ciphertext,)) - self.assertEqual(b2a_hex(plaintext), b2a_hex(new_plaintext)) - - # Test blinded decryption - blinding_factor = Random.new().read(len(ciphertext)-1) - blinded_ctext = rsaObj.blind(ciphertext, blinding_factor) - blinded_ptext = rsaObj.decrypt((blinded_ctext,)) - unblinded_plaintext = rsaObj.unblind(blinded_ptext, blinding_factor) - self.assertEqual(b2a_hex(plaintext), b2a_hex(unblinded_plaintext)) - - def _check_verification(self, rsaObj): - signature = bytes_to_long(a2b_hex(self.plaintext)) - message = a2b_hex(self.ciphertext) - - # Test verification - t = (signature,) # rsaObj.verify expects a tuple - self.assertEqual(1, rsaObj.verify(message, t)) - - # Test verification with overlong tuple (this is a - # backward-compatibility hack to support some harmless misuse of the - # API) - t2 = (signature, '') - self.assertEqual(1, rsaObj.verify(message, t2)) # extra garbage at end of tuple - - def _check_signing(self, rsaObj): - signature = bytes_to_long(a2b_hex(self.plaintext)) - message = a2b_hex(self.ciphertext) - - # Test signing (2 argument) - self.assertEqual((signature,), rsaObj.sign(message, b(""))) - -class RSAFastMathTest(RSATest): - def setUp(self): - RSATest.setUp(self) - self.rsa = RSA.RSAImplementation(use_fast_math=True) - - def test_generate_1arg(self): - """RSA (_fastmath implementation) generated key (1 argument)""" - RSATest.test_generate_1arg(self) - - def test_generate_2arg(self): - """RSA (_fastmath implementation) generated key (2 arguments)""" - RSATest.test_generate_2arg(self) - - def test_construct_2tuple(self): - """RSA (_fastmath implementation) constructed key (2-tuple)""" - RSATest.test_construct_2tuple(self) - - def test_construct_3tuple(self): - """RSA (_fastmath implementation) constructed key (3-tuple)""" - RSATest.test_construct_3tuple(self) - - def test_construct_4tuple(self): - """RSA (_fastmath implementation) constructed key (4-tuple)""" - RSATest.test_construct_4tuple(self) - - def test_construct_5tuple(self): - """RSA (_fastmath implementation) constructed key (5-tuple)""" - RSATest.test_construct_5tuple(self) - - def test_construct_6tuple(self): - """RSA (_fastmath implementation) constructed key (6-tuple)""" - RSATest.test_construct_6tuple(self) - - def test_factoring(self): - RSATest.test_factoring(self) - -class RSASlowMathTest(RSATest): - def setUp(self): - RSATest.setUp(self) - self.rsa = RSA.RSAImplementation(use_fast_math=False) - - def test_generate_1arg(self): - """RSA (_slowmath implementation) generated key (1 argument)""" - RSATest.test_generate_1arg(self) - - def test_generate_2arg(self): - """RSA (_slowmath implementation) generated key (2 arguments)""" - RSATest.test_generate_2arg(self) - - def test_construct_2tuple(self): - """RSA (_slowmath implementation) constructed key (2-tuple)""" - RSATest.test_construct_2tuple(self) - - def test_construct_3tuple(self): - """RSA (_slowmath implementation) constructed key (3-tuple)""" - RSATest.test_construct_3tuple(self) - - def test_construct_4tuple(self): - """RSA (_slowmath implementation) constructed key (4-tuple)""" - RSATest.test_construct_4tuple(self) - - def test_construct_5tuple(self): - """RSA (_slowmath implementation) constructed key (5-tuple)""" - RSATest.test_construct_5tuple(self) - - def test_construct_6tuple(self): - """RSA (_slowmath implementation) constructed key (6-tuple)""" - RSATest.test_construct_6tuple(self) - - def test_factoring(self): - RSATest.test_factoring(self) - -def get_tests(config={}): - tests = [] - tests += list_test_cases(RSATest) - try: - from Crypto.PublicKey import _fastmath - tests += list_test_cases(RSAFastMathTest) - except ImportError: - from distutils.sysconfig import get_config_var - import inspect - _fm_path = os.path.normpath(os.path.dirname(os.path.abspath( - inspect.getfile(inspect.currentframe()))) - +"/../../PublicKey/_fastmath"+get_config_var("SO")) - if os.path.exists(_fm_path): - raise ImportError("While the _fastmath module exists, importing "+ - "it failed. This may point to the gmp or mpir shared library "+ - "not being in the path. _fastmath was found at "+_fm_path) - if config.get('slow_tests',1): - tests += list_test_cases(RSASlowMathTest) - return tests - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_importKey.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_importKey.py deleted file mode 100644 index 01fbdf8..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/PublicKey/test_importKey.py +++ /dev/null @@ -1,345 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/PublicKey/test_importKey.py: Self-test for importing RSA keys -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - - - -__revision__ = "$Id$" - -import unittest - -from Crypto.PublicKey import RSA -from Crypto.SelfTest.st_common import * -from Crypto.Util.py3compat import * -from Crypto.Util.number import inverse -from Crypto.Util import asn1 - -def der2pem(der, text='PUBLIC'): - import binascii - chunks = [ binascii.b2a_base64(der[i:i+48]) for i in range(0, len(der), 48) ] - pem = b('-----BEGIN %s KEY-----\n' % text) - pem += b('').join(chunks) - pem += b('-----END %s KEY-----' % text) - return pem - -class ImportKeyTests(unittest.TestCase): - # 512-bit RSA key generated with openssl - rsaKeyPEM = '''-----BEGIN RSA PRIVATE KEY----- -MIIBOwIBAAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+TLr7UkvEtFrRhDDKMtuII -q19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQJACUSDEp8RTe32ftq8IwG8 -Wojl5mAd1wFiIOrZ/Uv8b963WJOJiuQcVN29vxU5+My9GPZ7RA3hrDBEAoHUDPrI -OQIhAPIPLz4dphiD9imAkivY31Rc5AfHJiQRA7XixTcjEkojAiEAyh/pJHks/Mlr -+rdPNEpotBjfV4M4BkgGAA/ipcmaAjcCIQCHvhwwKVBLzzTscT2HeUdEeBMoiXXK -JACAr3sJQJGxIQIgarRp+m1WSKV1MciwMaTOnbU7wxFs9DP1pva76lYBzgUCIQC9 -n0CnZCJ6IZYqSt0H5N7+Q+2Ro64nuwV/OSQfM6sBwQ== ------END RSA PRIVATE KEY-----''' - - # As above, but this is actually an unencrypted PKCS#8 key - rsaKeyPEM8 = '''-----BEGIN PRIVATE KEY----- -MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvx4nkAqgiyNRGlwS -ga5tkzEsPv6RP5MuvtSS8S0WtGEMMoy24girX0WsvilQgzKY8xIsGfeEkt7fQPDj -wZAzhQIDAQABAkAJRIMSnxFN7fZ+2rwjAbxaiOXmYB3XAWIg6tn9S/xv3rdYk4mK -5BxU3b2/FTn4zL0Y9ntEDeGsMEQCgdQM+sg5AiEA8g8vPh2mGIP2KYCSK9jfVFzk -B8cmJBEDteLFNyMSSiMCIQDKH+kkeSz8yWv6t080Smi0GN9XgzgGSAYAD+KlyZoC -NwIhAIe+HDApUEvPNOxxPYd5R0R4EyiJdcokAICvewlAkbEhAiBqtGn6bVZIpXUx -yLAxpM6dtTvDEWz0M/Wm9rvqVgHOBQIhAL2fQKdkInohlipK3Qfk3v5D7ZGjrie7 -BX85JB8zqwHB ------END PRIVATE KEY-----''' - - # The same RSA private key as in rsaKeyPEM, but now encrypted - rsaKeyEncryptedPEM=( - - # With DES and passphrase 'test' - ('test', '''-----BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-CBC,AF8F9A40BD2FA2FC - -Ckl9ex1kaVEWhYC2QBmfaF+YPiR4NFkRXA7nj3dcnuFEzBnY5XULupqQpQI3qbfA -u8GYS7+b3toWWiHZivHbAAUBPDIZG9hKDyB9Sq2VMARGsX1yW1zhNvZLIiVJzUHs -C6NxQ1IJWOXzTew/xM2I26kPwHIvadq+/VaT8gLQdjdH0jOiVNaevjWnLgrn1mLP -BCNRMdcexozWtAFNNqSzfW58MJL2OdMi21ED184EFytIc1BlB+FZiGZduwKGuaKy -9bMbdb/1PSvsSzPsqW7KSSrTw6MgJAFJg6lzIYvR5F4poTVBxwBX3+EyEmShiaNY -IRX3TgQI0IjrVuLmvlZKbGWP18FXj7I7k9tSsNOOzllTTdq3ny5vgM3A+ynfAaxp -dysKznQ6P+IoqML1WxAID4aGRMWka+uArOJ148Rbj9s= ------END RSA PRIVATE KEY-----''', - "\xAF\x8F\x9A\x40\xBD\x2F\xA2\xFC"), - - # With Triple-DES and passphrase 'rocking' - ('rocking', '''-----BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,C05D6C07F7FC02F6 - -w4lwQrXaVoTTJ0GgwY566htTA2/t1YlimhxkxYt9AEeCcidS5M0Wq9ClPiPz9O7F -m6K5QpM1rxo1RUE/ZyI85gglRNPdNwkeTOqit+kum7nN73AToX17+irVmOA4Z9E+ -4O07t91GxGMcjUSIFk0ucwEU4jgxRvYscbvOMvNbuZszGdVNzBTVddnShKCsy9i7 -nJbPlXeEKYi/OkRgO4PtfqqWQu5GIEFVUf9ev1QV7AvC+kyWTR1wWYnHX265jU5c -sopxQQtP8XEHIJEdd5/p1oieRcWTCNyY8EkslxDSsrf0OtZp6mZH9N+KU47cgQtt -9qGORmlWnsIoFFKcDohbtOaWBTKhkj5h6OkLjFjfU/sBeV1c+7wDT3dAy5tawXjG -YSxC7qDQIT/RECvV3+oQKEcmpEujn45wAnkTi12BH30= ------END RSA PRIVATE KEY-----''', - "\xC0\x5D\x6C\x07\xF7\xFC\x02\xF6"), - ) - - rsaPublicKeyPEM = '''-----BEGIN PUBLIC KEY----- -MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+T -Lr7UkvEtFrRhDDKMtuIIq19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQ== ------END PUBLIC KEY-----''' - - # Obtained using 'ssh-keygen -i -m PKCS8 -f rsaPublicKeyPEM' - rsaPublicKeyOpenSSH = '''ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAQQC/HieQCqCLI1EaXBKBrm2TMSw+/pE/ky6+1JLxLRa0YQwyjLbiCKtfRay+KVCDMpjzEiwZ94SS3t9A8OPBkDOF comment\n''' - - # The private key, in PKCS#1 format encoded with DER - rsaKeyDER = a2b_hex( - '''3082013b020100024100bf1e27900aa08b23511a5c1281ae6d93312c3efe - 913f932ebed492f12d16b4610c328cb6e208ab5f45acbe2950833298f312 - 2c19f78492dedf40f0e3c190338502030100010240094483129f114dedf6 - 7edabc2301bc5a88e5e6601dd7016220ead9fd4bfc6fdeb75893898ae41c - 54ddbdbf1539f8ccbd18f67b440de1ac30440281d40cfac839022100f20f - 2f3e1da61883f62980922bd8df545ce407c726241103b5e2c53723124a23 - 022100ca1fe924792cfcc96bfab74f344a68b418df578338064806000fe2 - a5c99a023702210087be1c3029504bcf34ec713d877947447813288975ca - 240080af7b094091b12102206ab469fa6d5648a57531c8b031a4ce9db53b - c3116cf433f5a6f6bbea5601ce05022100bd9f40a764227a21962a4add07 - e4defe43ed91a3ae27bb057f39241f33ab01c1 - '''.replace(" ","")) - - # The private key, in unencrypted PKCS#8 format encoded with DER - rsaKeyDER8 = a2b_hex( - '''30820155020100300d06092a864886f70d01010105000482013f3082013 - b020100024100bf1e27900aa08b23511a5c1281ae6d93312c3efe913f932 - ebed492f12d16b4610c328cb6e208ab5f45acbe2950833298f3122c19f78 - 492dedf40f0e3c190338502030100010240094483129f114dedf67edabc2 - 301bc5a88e5e6601dd7016220ead9fd4bfc6fdeb75893898ae41c54ddbdb - f1539f8ccbd18f67b440de1ac30440281d40cfac839022100f20f2f3e1da - 61883f62980922bd8df545ce407c726241103b5e2c53723124a23022100c - a1fe924792cfcc96bfab74f344a68b418df578338064806000fe2a5c99a0 - 23702210087be1c3029504bcf34ec713d877947447813288975ca240080a - f7b094091b12102206ab469fa6d5648a57531c8b031a4ce9db53bc3116cf - 433f5a6f6bbea5601ce05022100bd9f40a764227a21962a4add07e4defe4 - 3ed91a3ae27bb057f39241f33ab01c1 - '''.replace(" ","")) - - rsaPublicKeyDER = a2b_hex( - '''305c300d06092a864886f70d0101010500034b003048024100bf1e27900a - a08b23511a5c1281ae6d93312c3efe913f932ebed492f12d16b4610c328c - b6e208ab5f45acbe2950833298f3122c19f78492dedf40f0e3c190338502 - 03010001 - '''.replace(" ","")) - - n = int('BF 1E 27 90 0A A0 8B 23 51 1A 5C 12 81 AE 6D 93 31 2C 3E FE 91 3F 93 2E BE D4 92 F1 2D 16 B4 61 0C 32 8C B6 E2 08 AB 5F 45 AC BE 29 50 83 32 98 F3 12 2C 19 F7 84 92 DE DF 40 F0 E3 C1 90 33 85'.replace(" ",""),16) - e = 65537 - d = int('09 44 83 12 9F 11 4D ED F6 7E DA BC 23 01 BC 5A 88 E5 E6 60 1D D7 01 62 20 EA D9 FD 4B FC 6F DE B7 58 93 89 8A E4 1C 54 DD BD BF 15 39 F8 CC BD 18 F6 7B 44 0D E1 AC 30 44 02 81 D4 0C FA C8 39'.replace(" ",""),16) - p = int('00 F2 0F 2F 3E 1D A6 18 83 F6 29 80 92 2B D8 DF 54 5C E4 07 C7 26 24 11 03 B5 E2 C5 37 23 12 4A 23'.replace(" ",""),16) - q = int('00 CA 1F E9 24 79 2C FC C9 6B FA B7 4F 34 4A 68 B4 18 DF 57 83 38 06 48 06 00 0F E2 A5 C9 9A 02 37'.replace(" ",""),16) - - # This is q^{-1} mod p). fastmath and slowmath use pInv (p^{-1} - # mod q) instead! - qInv = int('00 BD 9F 40 A7 64 22 7A 21 96 2A 4A DD 07 E4 DE FE 43 ED 91 A3 AE 27 BB 05 7F 39 24 1F 33 AB 01 C1'.replace(" ",""),16) - pInv = inverse(p,q) - - def testImportKey1(self): - """Verify import of RSAPrivateKey DER SEQUENCE""" - key = self.rsa.importKey(self.rsaKeyDER) - self.assertTrue(key.has_private()) - self.assertEqual(key.n, self.n) - self.assertEqual(key.e, self.e) - self.assertEqual(key.d, self.d) - self.assertEqual(key.p, self.p) - self.assertEqual(key.q, self.q) - - def testImportKey2(self): - """Verify import of SubjectPublicKeyInfo DER SEQUENCE""" - key = self.rsa.importKey(self.rsaPublicKeyDER) - self.assertFalse(key.has_private()) - self.assertEqual(key.n, self.n) - self.assertEqual(key.e, self.e) - - def testImportKey3unicode(self): - """Verify import of RSAPrivateKey DER SEQUENCE, encoded with PEM as unicode""" - key = RSA.importKey(self.rsaKeyPEM) - self.assertEqual(key.has_private(),True) # assert_ - self.assertEqual(key.n, self.n) - self.assertEqual(key.e, self.e) - self.assertEqual(key.d, self.d) - self.assertEqual(key.p, self.p) - self.assertEqual(key.q, self.q) - - def testImportKey3bytes(self): - """Verify import of RSAPrivateKey DER SEQUENCE, encoded with PEM as byte string""" - key = RSA.importKey(b(self.rsaKeyPEM)) - self.assertEqual(key.has_private(),True) # assert_ - self.assertEqual(key.n, self.n) - self.assertEqual(key.e, self.e) - self.assertEqual(key.d, self.d) - self.assertEqual(key.p, self.p) - self.assertEqual(key.q, self.q) - - def testImportKey4unicode(self): - """Verify import of RSAPrivateKey DER SEQUENCE, encoded with PEM as unicode""" - key = RSA.importKey(self.rsaPublicKeyPEM) - self.assertEqual(key.has_private(),False) # failIf - self.assertEqual(key.n, self.n) - self.assertEqual(key.e, self.e) - - def testImportKey4bytes(self): - """Verify import of SubjectPublicKeyInfo DER SEQUENCE, encoded with PEM as byte string""" - key = RSA.importKey(b(self.rsaPublicKeyPEM)) - self.assertEqual(key.has_private(),False) # failIf - self.assertEqual(key.n, self.n) - self.assertEqual(key.e, self.e) - - def testImportKey5(self): - """Verifies that the imported key is still a valid RSA pair""" - key = RSA.importKey(self.rsaKeyPEM) - idem = key.encrypt(key.decrypt(b("Test")),0) - self.assertEqual(idem[0],b("Test")) - - def testImportKey6(self): - """Verifies that the imported key is still a valid RSA pair""" - key = RSA.importKey(self.rsaKeyDER) - idem = key.encrypt(key.decrypt(b("Test")),0) - self.assertEqual(idem[0],b("Test")) - - def testImportKey7(self): - """Verify import of OpenSSH public key""" - key = self.rsa.importKey(self.rsaPublicKeyOpenSSH) - self.assertEqual(key.n, self.n) - self.assertEqual(key.e, self.e) - - def testImportKey8(self): - """Verify import of encrypted PrivateKeyInfo DER SEQUENCE""" - for t in self.rsaKeyEncryptedPEM: - key = self.rsa.importKey(t[1], t[0]) - self.assertTrue(key.has_private()) - self.assertEqual(key.n, self.n) - self.assertEqual(key.e, self.e) - self.assertEqual(key.d, self.d) - self.assertEqual(key.p, self.p) - self.assertEqual(key.q, self.q) - - def testImportKey9(self): - """Verify import of unencrypted PrivateKeyInfo DER SEQUENCE""" - key = self.rsa.importKey(self.rsaKeyDER8) - self.assertTrue(key.has_private()) - self.assertEqual(key.n, self.n) - self.assertEqual(key.e, self.e) - self.assertEqual(key.d, self.d) - self.assertEqual(key.p, self.p) - self.assertEqual(key.q, self.q) - - def testImportKey10(self): - """Verify import of unencrypted PrivateKeyInfo DER SEQUENCE, encoded with PEM""" - key = self.rsa.importKey(self.rsaKeyPEM8) - self.assertTrue(key.has_private()) - self.assertEqual(key.n, self.n) - self.assertEqual(key.e, self.e) - self.assertEqual(key.d, self.d) - self.assertEqual(key.p, self.p) - self.assertEqual(key.q, self.q) - - def testImportKey11(self): - """Verify import of RSAPublicKey DER SEQUENCE""" - der = asn1.DerSequence([17, 3]).encode() - key = self.rsa.importKey(der) - self.assertEqual(key.n, 17) - self.assertEqual(key.e, 3) - - def testImportKey12(self): - """Verify import of RSAPublicKey DER SEQUENCE, encoded with PEM""" - der = asn1.DerSequence([17, 3]).encode() - pem = der2pem(der) - key = self.rsa.importKey(pem) - self.assertEqual(key.n, 17) - self.assertEqual(key.e, 3) - - ### - def testExportKey1(self): - key = self.rsa.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) - derKey = key.exportKey("DER") - self.assertEqual(derKey, self.rsaKeyDER) - - def testExportKey2(self): - key = self.rsa.construct([self.n, self.e]) - derKey = key.exportKey("DER") - self.assertEqual(derKey, self.rsaPublicKeyDER) - - def testExportKey3(self): - key = self.rsa.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) - pemKey = key.exportKey("PEM") - self.assertEqual(pemKey, b(self.rsaKeyPEM)) - - def testExportKey4(self): - key = self.rsa.construct([self.n, self.e]) - pemKey = key.exportKey("PEM") - self.assertEqual(pemKey, b(self.rsaPublicKeyPEM)) - - def testExportKey5(self): - key = self.rsa.construct([self.n, self.e]) - openssh_1 = key.exportKey("OpenSSH").split() - openssh_2 = self.rsaPublicKeyOpenSSH.split() - self.assertEqual(openssh_1[0], openssh_2[0]) - self.assertEqual(openssh_1[1], openssh_2[1]) - - def testExportKey4(self): - key = self.rsa.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) - # Tuple with index #1 is encrypted with 3DES - t = list(map(b,self.rsaKeyEncryptedPEM[1])) - # Force the salt being used when exporting - key._randfunc = lambda N: (t[2]*divmod(N+len(t[2]),len(t[2]))[0])[:N] - pemKey = key.exportKey("PEM", t[0]) - self.assertEqual(pemKey, t[1]) - - def testExportKey5(self): - key = self.rsa.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) - derKey = key.exportKey("DER", pkcs=8) - self.assertEqual(derKey, self.rsaKeyDER8) - - def testExportKey6(self): - key = self.rsa.construct([self.n, self.e, self.d, self.p, self.q, self.pInv]) - pemKey = key.exportKey("PEM", pkcs=8) - self.assertEqual(pemKey, b(self.rsaKeyPEM8)) - -class ImportKeyTestsSlow(ImportKeyTests): - def setUp(self): - self.rsa = RSA.RSAImplementation(use_fast_math=0) - -class ImportKeyTestsFast(ImportKeyTests): - def setUp(self): - self.rsa = RSA.RSAImplementation(use_fast_math=1) - -if __name__ == '__main__': - unittest.main() - -def get_tests(config={}): - tests = [] - try: - from Crypto.PublicKey import _fastmath - tests += list_test_cases(ImportKeyTestsFast) - except ImportError: - pass - tests += list_test_cases(ImportKeyTestsSlow) - return tests - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.py deleted file mode 100644 index 81a0e13..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Random/Fortuna/__init__.py: Self-test for Fortuna modules -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test for the Crypto.Random.Fortuna package""" - -__revision__ = "$Id$" - -import os - -def get_tests(config={}): - tests = [] - from Crypto.SelfTest.Random.Fortuna import test_FortunaAccumulator; tests += test_FortunaAccumulator.get_tests(config=config) - from Crypto.SelfTest.Random.Fortuna import test_FortunaGenerator; tests += test_FortunaGenerator.get_tests(config=config) - from Crypto.SelfTest.Random.Fortuna import test_SHAd256; tests += test_SHAd256.get_tests(config=config) - return tests - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py deleted file mode 100644 index 4d288a0..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py +++ /dev/null @@ -1,189 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Random/Fortuna/test_FortunaAccumulator.py: Self-test for the FortunaAccumulator module -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-tests for Crypto.Random.Fortuna.FortunaAccumulator""" - -__revision__ = "$Id$" - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -import unittest -from binascii import b2a_hex - -class FortunaAccumulatorTests(unittest.TestCase): - def setUp(self): - global FortunaAccumulator - from Crypto.Random.Fortuna import FortunaAccumulator - - def test_FortunaPool(self): - """FortunaAccumulator.FortunaPool""" - pool = FortunaAccumulator.FortunaPool() - self.assertEqual(0, pool.length) - self.assertEqual("5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456", pool.hexdigest()) - - pool.append(b('abc')) - - self.assertEqual(3, pool.length) - self.assertEqual("4f8b42c22dd3729b519ba6f68d2da7cc5b2d606d05daed5ad5128cc03e6c6358", pool.hexdigest()) - - pool.append(b("dbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq")) - - self.assertEqual(56, pool.length) - self.assertEqual(b('0cffe17f68954dac3a84fb1458bd5ec99209449749b2b308b7cb55812f9563af'), b2a_hex(pool.digest())) - - pool.reset() - - self.assertEqual(0, pool.length) - - pool.append(b('a') * 10**6) - - self.assertEqual(10**6, pool.length) - self.assertEqual(b('80d1189477563e1b5206b2749f1afe4807e5705e8bd77887a60187a712156688'), b2a_hex(pool.digest())) - - def test_which_pools(self): - """FortunaAccumulator.which_pools""" - - # which_pools(0) should fail - self.assertRaises(AssertionError, FortunaAccumulator.which_pools, 0) - - self.assertEqual(FortunaAccumulator.which_pools(1), [0]) - self.assertEqual(FortunaAccumulator.which_pools(2), [0, 1]) - self.assertEqual(FortunaAccumulator.which_pools(3), [0]) - self.assertEqual(FortunaAccumulator.which_pools(4), [0, 1, 2]) - self.assertEqual(FortunaAccumulator.which_pools(5), [0]) - self.assertEqual(FortunaAccumulator.which_pools(6), [0, 1]) - self.assertEqual(FortunaAccumulator.which_pools(7), [0]) - self.assertEqual(FortunaAccumulator.which_pools(8), [0, 1, 2, 3]) - for i in range(1, 32): - self.assertEqual(FortunaAccumulator.which_pools(2**i-1), [0]) - self.assertEqual(FortunaAccumulator.which_pools(2**i), list(range(i+1))) - self.assertEqual(FortunaAccumulator.which_pools(2**i+1), [0]) - self.assertEqual(FortunaAccumulator.which_pools(2**31), list(range(32))) - self.assertEqual(FortunaAccumulator.which_pools(2**32), list(range(32))) - self.assertEqual(FortunaAccumulator.which_pools(2**33), list(range(32))) - self.assertEqual(FortunaAccumulator.which_pools(2**34), list(range(32))) - self.assertEqual(FortunaAccumulator.which_pools(2**35), list(range(32))) - self.assertEqual(FortunaAccumulator.which_pools(2**36), list(range(32))) - self.assertEqual(FortunaAccumulator.which_pools(2**64), list(range(32))) - self.assertEqual(FortunaAccumulator.which_pools(2**128), list(range(32))) - - def test_accumulator(self): - """FortunaAccumulator.FortunaAccumulator""" - fa = FortunaAccumulator.FortunaAccumulator() - - # This should fail, because we haven't seeded the PRNG yet - self.assertRaises(AssertionError, fa.random_data, 1) - - # Spread some test data across the pools (source number 42) - # This would be horribly insecure in a real system. - for p in range(32): - fa.add_random_event(42, p, b("X") * 32) - self.assertEqual(32+2, fa.pools[p].length) - - # This should still fail, because we haven't seeded the PRNG with 64 bytes yet - self.assertRaises(AssertionError, fa.random_data, 1) - - # Add more data - for p in range(32): - fa.add_random_event(42, p, b("X") * 32) - self.assertEqual((32+2)*2, fa.pools[p].length) - - # The underlying RandomGenerator should get seeded with Pool 0 - # s = SHAd256(chr(42) + chr(32) + "X"*32 + chr(42) + chr(32) + "X"*32) - # = SHA256(h'edd546f057b389155a31c32e3975e736c1dec030ddebb137014ecbfb32ed8c6f') - # = h'aef42a5dcbddab67e8efa118e1b47fde5d697f89beb971b99e6e8e5e89fbf064' - # The counter and the key before reseeding is: - # C_0 = 0 - # K_0 = "\x00" * 32 - # The counter after reseeding is 1, and the new key after reseeding is - # C_1 = 1 - # K_1 = SHAd256(K_0 || s) - # = SHA256(h'0eae3e401389fab86640327ac919ecfcb067359d95469e18995ca889abc119a6') - # = h'aafe9d0409fbaaafeb0a1f2ef2014a20953349d3c1c6e6e3b962953bea6184dd' - # The first block of random data, therefore, is - # r_1 = AES-256(K_1, 1) - # = AES-256(K_1, h'01000000000000000000000000000000') - # = h'b7b86bd9a27d96d7bb4add1b6b10d157' - # The second block of random data is - # r_2 = AES-256(K_1, 2) - # = AES-256(K_1, h'02000000000000000000000000000000') - # = h'2350b1c61253db2f8da233be726dc15f' - # The third and fourth blocks of random data (which become the new key) are - # r_3 = AES-256(K_1, 3) - # = AES-256(K_1, h'03000000000000000000000000000000') - # = h'f23ad749f33066ff53d307914fbf5b21' - # r_4 = AES-256(K_1, 4) - # = AES-256(K_1, h'04000000000000000000000000000000') - # = h'da9667c7e86ba247655c9490e9d94a7c' - # K_2 = r_3 || r_4 - # = h'f23ad749f33066ff53d307914fbf5b21da9667c7e86ba247655c9490e9d94a7c' - # The final counter value is 5. - self.assertEqual("aef42a5dcbddab67e8efa118e1b47fde5d697f89beb971b99e6e8e5e89fbf064", - fa.pools[0].hexdigest()) - self.assertEqual(None, fa.generator.key) - self.assertEqual(0, fa.generator.counter.next_value()) - - result = fa.random_data(32) - - self.assertEqual(b("b7b86bd9a27d96d7bb4add1b6b10d157" "2350b1c61253db2f8da233be726dc15f"), b2a_hex(result)) - self.assertEqual(b("f23ad749f33066ff53d307914fbf5b21da9667c7e86ba247655c9490e9d94a7c"), b2a_hex(fa.generator.key)) - self.assertEqual(5, fa.generator.counter.next_value()) - - def test_accumulator_pool_length(self): - """FortunaAccumulator.FortunaAccumulator minimum pool length""" - fa = FortunaAccumulator.FortunaAccumulator() - - # This test case is hard-coded to assume that FortunaAccumulator.min_pool_size is 64. - self.assertEqual(fa.min_pool_size, 64) - - # The PRNG should not allow us to get random data from it yet - self.assertRaises(AssertionError, fa.random_data, 1) - - # Add 60 bytes, 4 at a time (2 header + 2 payload) to each of the 32 pools - for i in range(15): - for p in range(32): - # Add the bytes to the pool - fa.add_random_event(2, p, b("XX")) - - # The PRNG should not allow us to get random data from it yet - self.assertRaises(AssertionError, fa.random_data, 1) - - # Add 4 more bytes to pool 0 - fa.add_random_event(2, 0, b("XX")) - - # We should now be able to get data from the accumulator - fa.random_data(1) - -def get_tests(config={}): - from Crypto.SelfTest.st_common import list_test_cases - return list_test_cases(FortunaAccumulatorTests) - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.py deleted file mode 100644 index d41bb02..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.py +++ /dev/null @@ -1,83 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Random/Fortuna/test_FortunaGenerator.py: Self-test for the FortunaGenerator module -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-tests for Crypto.Random.Fortuna.FortunaGenerator""" - -__revision__ = "$Id$" - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -import unittest -from binascii import b2a_hex - -class FortunaGeneratorTests(unittest.TestCase): - def setUp(self): - global FortunaGenerator - from Crypto.Random.Fortuna import FortunaGenerator - - def test_generator(self): - """FortunaGenerator.AESGenerator""" - fg = FortunaGenerator.AESGenerator() - - # We shouldn't be able to read data until we've seeded the generator - self.assertRaises(Exception, fg.pseudo_random_data, 1) - self.assertEqual(0, fg.counter.next_value()) - - # Seed the generator, which should set the key and increment the counter. - fg.reseed(b("Hello")) - self.assertEqual(b("0ea6919d4361551364242a4ba890f8f073676e82cf1a52bb880f7e496648b565"), b2a_hex(fg.key)) - self.assertEqual(1, fg.counter.next_value()) - - # Read 2 full blocks from the generator - self.assertEqual(b("7cbe2c17684ac223d08969ee8b565616") + # counter=1 - b("717661c0d2f4758bd6ba140bf3791abd"), # counter=2 - b2a_hex(fg.pseudo_random_data(32))) - - # Meanwhile, the generator will have re-keyed itself and incremented its counter - self.assertEqual(b("33a1bb21987859caf2bbfc5615bef56d") + # counter=3 - b("e6b71ff9f37112d0c193a135160862b7"), # counter=4 - b2a_hex(fg.key)) - self.assertEqual(5, fg.counter.next_value()) - - # Read another 2 blocks from the generator - self.assertEqual(b("fd6648ba3086e919cee34904ef09a7ff") + # counter=5 - b("021f77580558b8c3e9248275f23042bf"), # counter=6 - b2a_hex(fg.pseudo_random_data(32))) - - - # Try to read more than 2**20 bytes using the internal function. This should fail. - self.assertRaises(AssertionError, fg._pseudo_random_data, 2**20+1) - -def get_tests(config={}): - from Crypto.SelfTest.st_common import list_test_cases - return list_test_cases(FortunaGeneratorTests) - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.py deleted file mode 100644 index f94db8a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Random/Fortuna/test_SHAd256.py: Self-test for the SHAd256 hash function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Random.Fortuna.SHAd256""" - -__revision__ = "$Id$" -from Crypto.Util.py3compat import * - -# This is a list of (expected_result, input[, description]) tuples. -test_data = [ - # I could not find any test vectors for SHAd256, so I made these vectors by - # feeding some sample data into several plain SHA256 implementations - # (including OpenSSL, the "sha256sum" tool, and this implementation). - # This is a subset of the resulting test vectors. The complete list can be - # found at: http://www.dlitz.net/crypto/shad256-test-vectors/ - ('5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456', - '', "'' (empty string)"), - ('4f8b42c22dd3729b519ba6f68d2da7cc5b2d606d05daed5ad5128cc03e6c6358', - 'abc'), - ('0cffe17f68954dac3a84fb1458bd5ec99209449749b2b308b7cb55812f9563af', - 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq') -] - -def get_tests(config={}): - from Crypto.Random.Fortuna import SHAd256 - from Crypto.SelfTest.Hash.common import make_hash_tests - return make_hash_tests(SHAd256, "SHAd256", test_data, 32) - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.py deleted file mode 100644 index 44b3fa1..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Random/OSRNG/__init__.py: Self-test for OSRNG modules -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test for Crypto.Random.OSRNG package""" - -__revision__ = "$Id$" - -import os - -def get_tests(config={}): - tests = [] - if os.name == 'nt': - from Crypto.SelfTest.Random.OSRNG import test_nt; tests += test_nt.get_tests(config=config) - from Crypto.SelfTest.Random.OSRNG import test_winrandom; tests += test_winrandom.get_tests(config=config) - elif os.name == 'posix': - from Crypto.SelfTest.Random.OSRNG import test_posix; tests += test_posix.get_tests(config=config) - if hasattr(os, 'urandom'): - from Crypto.SelfTest.Random.OSRNG import test_fallback; tests += test_fallback.get_tests(config=config) - from Crypto.SelfTest.Random.OSRNG import test_generic; tests += test_generic.get_tests(config=config) - return tests - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.py deleted file mode 100644 index 41909b0..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/test_fallback.py: Self-test for the OSRNG.fallback.new() function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Random.OSRNG.fallback""" - -__revision__ = "$Id$" - -import unittest - -class SimpleTest(unittest.TestCase): - def runTest(self): - """Crypto.Random.OSRNG.fallback.new()""" - # Import the OSRNG.nt module and try to use it - import Crypto.Random.OSRNG.fallback - randobj = Crypto.Random.OSRNG.fallback.new() - x = randobj.read(16) - y = randobj.read(16) - self.assertNotEqual(x, y) - -def get_tests(config={}): - return [SimpleTest()] - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.py deleted file mode 100644 index 2a40974..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/test_generic.py: Self-test for the OSRNG.new() function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Random.OSRNG""" - -__revision__ = "$Id$" - -import unittest - -class SimpleTest(unittest.TestCase): - def runTest(self): - """Crypto.Random.OSRNG.new()""" - # Import the OSRNG module and try to use it - import Crypto.Random.OSRNG - randobj = Crypto.Random.OSRNG.new() - x = randobj.read(16) - y = randobj.read(16) - self.assertNotEqual(x, y) - -def get_tests(config={}): - return [SimpleTest()] - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.py deleted file mode 100644 index a7a8338..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/test_generic.py: Self-test for the OSRNG.nt.new() function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Random.OSRNG.nt""" - -__revision__ = "$Id$" - -import unittest - -class SimpleTest(unittest.TestCase): - def runTest(self): - """Crypto.Random.OSRNG.nt.new()""" - # Import the OSRNG.nt module and try to use it - import Crypto.Random.OSRNG.nt - randobj = Crypto.Random.OSRNG.nt.new() - x = randobj.read(16) - y = randobj.read(16) - self.assertNotEqual(x, y) - -def get_tests(config={}): - return [SimpleTest()] - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.py deleted file mode 100644 index 2224afe..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/test_posix.py: Self-test for the OSRNG.posix.new() function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Random.OSRNG.posix""" - -__revision__ = "$Id$" - -import unittest - -class SimpleTest(unittest.TestCase): - def runTest(self): - """Crypto.Random.OSRNG.posix.new()""" - # Import the OSRNG.nt module and try to use it - import Crypto.Random.OSRNG.posix - randobj = Crypto.Random.OSRNG.posix.new() - x = randobj.read(16) - y = randobj.read(16) - self.assertNotEqual(x, y) - -def get_tests(config={}): - return [SimpleTest()] - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.py deleted file mode 100644 index 3010eb7..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/test_winrandom.py: Self-test for the winrandom module -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Random.OSRNG.winrandom""" - -__revision__ = "$Id$" - -import unittest - -class SimpleTest(unittest.TestCase): - def runTest(self): - """Crypto.Random.OSRNG.winrandom""" - # Import the winrandom module and try to use it - from Crypto.Random.OSRNG import winrandom - randobj = winrandom.new() - x = randobj.get_bytes(16) - y = randobj.get_bytes(16) - self.assertNotEqual(x, y) - -def get_tests(config={}): - return [SimpleTest()] - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/__init__.py deleted file mode 100644 index f972bf0..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/__init__.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Random/__init__.py: Self-test for random number generation modules -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test for random number generators""" - -__revision__ = "$Id$" - -def get_tests(config={}): - tests = [] - from Crypto.SelfTest.Random import Fortuna; tests += Fortuna.get_tests(config=config) - from Crypto.SelfTest.Random import OSRNG; tests += OSRNG.get_tests(config=config) - from Crypto.SelfTest.Random import test_random; tests += test_random.get_tests(config=config) - from Crypto.SelfTest.Random import test_rpoolcompat; tests += test_rpoolcompat.get_tests(config=config) - from Crypto.SelfTest.Random import test__UserFriendlyRNG; tests += test__UserFriendlyRNG.get_tests(config=config) - return tests - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test__UserFriendlyRNG.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test__UserFriendlyRNG.py deleted file mode 100644 index 1a13345..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test__UserFriendlyRNG.py +++ /dev/null @@ -1,171 +0,0 @@ -# -*- coding: utf-8 -*- -# Self-tests for the user-friendly Crypto.Random interface -# -# Written in 2013 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for generic Crypto.Random stuff """ - - - -__revision__ = "$Id$" - -import binascii -import pprint -import unittest -import os -import time -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -try: - import multiprocessing -except ImportError: - multiprocessing = None - -import Crypto.Random._UserFriendlyRNG -import Crypto.Random.random - -class RNGForkTest(unittest.TestCase): - - def _get_reseed_count(self): - """ - Get `FortunaAccumulator.reseed_count`, the global count of the - number of times that the PRNG has been reseeded. - """ - rng_singleton = Crypto.Random._UserFriendlyRNG._get_singleton() - rng_singleton._lock.acquire() - try: - return rng_singleton._fa.reseed_count - finally: - rng_singleton._lock.release() - - def runTest(self): - # Regression test for CVE-2013-1445. We had a bug where, under the - # right conditions, two processes might see the same random sequence. - - if sys.platform.startswith('win'): # windows can't fork - assert not hasattr(os, 'fork') # ... right? - return - - # Wait 150 ms so that we don't trigger the rate-limit prematurely. - time.sleep(0.15) - - reseed_count_before = self._get_reseed_count() - - # One or both of these calls together should trigger a reseed right here. - Crypto.Random._UserFriendlyRNG._get_singleton().reinit() - Crypto.Random.get_random_bytes(1) - - reseed_count_after = self._get_reseed_count() - self.assertNotEqual(reseed_count_before, reseed_count_after) # sanity check: test should reseed parent before forking - - rfiles = [] - for i in range(10): - rfd, wfd = os.pipe() - if os.fork() == 0: - # child - os.close(rfd) - f = os.fdopen(wfd, "wb") - - Crypto.Random.atfork() - - data = Crypto.Random.get_random_bytes(16) - - f.write(data) - f.close() - os._exit(0) - # parent - os.close(wfd) - rfiles.append(os.fdopen(rfd, "rb")) - - results = [] - results_dict = {} - for f in rfiles: - data = binascii.hexlify(f.read()) - results.append(data) - results_dict[data] = 1 - f.close() - - if len(results) != len(list(results_dict.keys())): - raise AssertionError("RNG output duplicated across fork():\n%s" % - (pprint.pformat(results))) - - -# For RNGMultiprocessingForkTest -def _task_main(q): - a = Crypto.Random.get_random_bytes(16) - time.sleep(0.1) # wait 100 ms - b = Crypto.Random.get_random_bytes(16) - q.put(binascii.b2a_hex(a)) - q.put(binascii.b2a_hex(b)) - q.put(None) # Wait for acknowledgment - - -class RNGMultiprocessingForkTest(unittest.TestCase): - - def runTest(self): - # Another regression test for CVE-2013-1445. This is basically the - # same as RNGForkTest, but less compatible with old versions of Python, - # and a little easier to read. - - n_procs = 5 - manager = multiprocessing.Manager() - queues = [manager.Queue(1) for i in range(n_procs)] - - # Reseed the pool - time.sleep(0.15) - Crypto.Random._UserFriendlyRNG._get_singleton().reinit() - Crypto.Random.get_random_bytes(1) - - # Start the child processes - pool = multiprocessing.Pool(processes=n_procs, initializer=Crypto.Random.atfork) - map_result = pool.map_async(_task_main, queues) - - # Get the results, ensuring that no pool processes are reused. - aa = [queues[i].get(30) for i in range(n_procs)] - bb = [queues[i].get(30) for i in range(n_procs)] - res = list(zip(aa, bb)) - - # Shut down the pool - map_result.get(30) - pool.close() - pool.join() - - # Check that the results are unique - if len(set(aa)) != len(aa) or len(set(res)) != len(res): - raise AssertionError("RNG output duplicated across fork():\n%s" % - (pprint.pformat(res),)) - - -def get_tests(config={}): - tests = [] - tests += [RNGForkTest()] - if multiprocessing is not None: - tests += [RNGMultiprocessingForkTest()] - return tests - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test_random.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test_random.py deleted file mode 100644 index 7fed44f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test_random.py +++ /dev/null @@ -1,171 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/test_generic.py: Self-test for the Crypto.Random.new() function -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Random.new()""" - -__revision__ = "$Id$" - -import unittest -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -class SimpleTest(unittest.TestCase): - def runTest(self): - """Crypto.Random.new()""" - # Import the Random module and try to use it - from Crypto import Random - randobj = Random.new() - x = randobj.read(16) - y = randobj.read(16) - self.assertNotEqual(x, y) - z = Random.get_random_bytes(16) - self.assertNotEqual(x, z) - self.assertNotEqual(y, z) - # Test the Random.random module, which - # implements a subset of Python's random API - # Not implemented: - # seed(), getstate(), setstate(), jumpahead() - # random(), uniform(), triangular(), betavariate() - # expovariate(), gammavariate(), gauss(), - # longnormvariate(), normalvariate(), - # vonmisesvariate(), paretovariate() - # weibullvariate() - # WichmannHill(), whseed(), SystemRandom() - from Crypto.Random import random - x = random.getrandbits(16*8) - y = random.getrandbits(16*8) - self.assertNotEqual(x, y) - # Test randrange - if x>y: - start = y - stop = x - else: - start = x - stop = y - for step in range(1,10): - x = random.randrange(start,stop,step) - y = random.randrange(start,stop,step) - self.assertNotEqual(x, y) - self.assertEqual(start <= x < stop, True) - self.assertEqual(start <= y < stop, True) - self.assertEqual((x - start) % step, 0) - self.assertEqual((y - start) % step, 0) - for i in range(10): - self.assertEqual(random.randrange(1,2), 1) - self.assertRaises(ValueError, random.randrange, start, start) - self.assertRaises(ValueError, random.randrange, stop, start, step) - self.assertRaises(TypeError, random.randrange, start, stop, step, step) - self.assertRaises(TypeError, random.randrange, start, stop, "1") - self.assertRaises(TypeError, random.randrange, "1", stop, step) - self.assertRaises(TypeError, random.randrange, 1, "2", step) - self.assertRaises(ValueError, random.randrange, start, stop, 0) - # Test randint - x = random.randint(start,stop) - y = random.randint(start,stop) - self.assertNotEqual(x, y) - self.assertEqual(start <= x <= stop, True) - self.assertEqual(start <= y <= stop, True) - for i in range(10): - self.assertEqual(random.randint(1,1), 1) - self.assertRaises(ValueError, random.randint, stop, start) - self.assertRaises(TypeError, random.randint, start, stop, step) - self.assertRaises(TypeError, random.randint, "1", stop) - self.assertRaises(TypeError, random.randint, 1, "2") - # Test choice - seq = list(range(10000)) - x = random.choice(seq) - y = random.choice(seq) - self.assertNotEqual(x, y) - self.assertEqual(x in seq, True) - self.assertEqual(y in seq, True) - for i in range(10): - self.assertEqual(random.choice((1,2,3)) in (1,2,3), True) - self.assertEqual(random.choice([1,2,3]) in [1,2,3], True) - if sys.version_info[0] is 3: - self.assertEqual(random.choice(bytearray(b('123'))) in bytearray(b('123')), True) - self.assertEqual(1, random.choice([1])) - self.assertRaises(IndexError, random.choice, []) - self.assertRaises(TypeError, random.choice, 1) - # Test shuffle. Lacks random parameter to specify function. - # Make copies of seq - seq = list(range(500)) - x = list(seq) - y = list(seq) - random.shuffle(x) - random.shuffle(y) - self.assertNotEqual(x, y) - self.assertEqual(len(seq), len(x)) - self.assertEqual(len(seq), len(y)) - for i in range(len(seq)): - self.assertEqual(x[i] in seq, True) - self.assertEqual(y[i] in seq, True) - self.assertEqual(seq[i] in x, True) - self.assertEqual(seq[i] in y, True) - z = [1] - random.shuffle(z) - self.assertEqual(z, [1]) - if sys.version_info[0] == 3: - z = bytearray(b('12')) - random.shuffle(z) - self.assertEqual(b('1') in z, True) - self.assertRaises(TypeError, random.shuffle, b('12')) - self.assertRaises(TypeError, random.shuffle, 1) - self.assertRaises(TypeError, random.shuffle, "1") - self.assertRaises(TypeError, random.shuffle, (1,2)) - # 2to3 wraps a list() around it, alas - but I want to shoot - # myself in the foot here! :D - # if sys.version_info[0] == 3: - # self.assertRaises(TypeError, random.shuffle, range(3)) - # Test sample - x = random.sample(seq, 20) - y = random.sample(seq, 20) - self.assertNotEqual(x, y) - for i in range(20): - self.assertEqual(x[i] in seq, True) - self.assertEqual(y[i] in seq, True) - z = random.sample([1], 1) - self.assertEqual(z, [1]) - z = random.sample((1,2,3), 1) - self.assertEqual(z[0] in (1,2,3), True) - z = random.sample("123", 1) - self.assertEqual(z[0] in "123", True) - z = random.sample(list(range(3)), 1) - self.assertEqual(z[0] in range(3), True) - if sys.version_info[0] == 3: - z = random.sample(b("123"), 1) - self.assertEqual(z[0] in b("123"), True) - z = random.sample(bytearray(b("123")), 1) - self.assertEqual(z[0] in bytearray(b("123")), True) - self.assertRaises(TypeError, random.sample, 1) - -def get_tests(config={}): - return [SimpleTest()] - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.py deleted file mode 100644 index be538da..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/test_winrandom.py: Self-test for the winrandom module -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test for the Crypto.Util.randpool.RandomPool wrapper class""" - -__revision__ = "$Id$" - -import sys -import unittest - -class SimpleTest(unittest.TestCase): - def runTest(self): - """Crypto.Util.randpool.RandomPool""" - # Import the winrandom module and try to use it - from Crypto.Util.randpool import RandomPool - sys.stderr.write("SelfTest: You can ignore the RandomPool_DeprecationWarning that follows.\n") - rpool = RandomPool() - x = rpool.get_bytes(16) - y = rpool.get_bytes(16) - self.assertNotEqual(x, y) - self.assertNotEqual(rpool.entropy, 0) - - rpool.randomize() - rpool.stir('foo') - rpool.add_event('foo') - -def get_tests(config={}): - return [SimpleTest()] - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/__init__.py deleted file mode 100644 index 862763a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/__init__.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Signature/__init__.py: Self-test for signature modules -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test for signature modules""" - -__revision__ = "$Id$" - -import os - -def get_tests(config={}): - tests = [] - from . import test_pkcs1_15; tests += test_pkcs1_15.get_tests(config=config) - from . import test_pkcs1_pss; tests += test_pkcs1_pss.get_tests(config=config) - return tests - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.py deleted file mode 100644 index cf09e81..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.py +++ /dev/null @@ -1,219 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Signature/test_pkcs1_15.py: Self-test for PKCS#1 v1.5 signatures -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - -import unittest - -from Crypto.PublicKey import RSA -from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex -from Crypto.Hash import * -from Crypto import Random -from Crypto.Signature import PKCS1_v1_5 as PKCS -from Crypto.Util.py3compat import * - -def isStr(s): - t = '' - try: - t += s - except TypeError: - return 0 - return 1 - -def rws(t): - """Remove white spaces, tabs, and new lines from a string""" - for c in ['\n', '\t', ' ']: - t = t.replace(c,'') - return t - -def t2b(t): - """Convert a text string with bytes in hex form to a byte string""" - clean = b(rws(t)) - if len(clean)%2 == 1: - raise ValueError("Even number of characters expected") - return a2b_hex(clean) - -class PKCS1_15_Tests(unittest.TestCase): - - # List of tuples with test data for PKCS#1 v1.5. - # Each tuple is made up by: - # Item #0: dictionary with RSA key component, or key to import - # Item #1: data to hash and sign - # Item #2: signature of the data #1, done with the key #0, after - # hashing it with #3 - # Item #3: hash object generator - - _testData = ( - - # - # Taken from ftp://ftp.rsa.com/pub/pkcs/ascii/examples.asc - # "Some Examples of the PKCS Standards", 1999 - # - ( - - # Private key, from 2.1 - { - 'n':'''0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0 c0 01 c6 - 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51 d0 53 b3 e3 78 2a 1d - e5 dc 5a f4 eb e9 94 68 17 01 14 a1 df e6 7c dc 9a 9a f5 5d - 65 56 20 bb ab''', - 'e':'''01 00 - 01''', - 'd':'''01 23 c5 b6 1b a3 6e db 1d 36 79 90 41 99 a8 9e a8 0c 09 - b9 12 2e 14 00 c0 9a dc f7 78 46 76 d0 1d 23 35 6a 7d 44 d6 - bd 8b d5 0e 94 bf c7 23 fa 87 d8 86 2b 75 17 76 91 c1 1d 75 - 76 92 df 88 81''' - }, - # Data to sign, from 3.1 - '''30 81 a4 02 01 00 30 42 31 0b 30 09 06 - 03 55 04 06 13 02 55 53 31 1d 30 1b 06 03 55 04 0a 13 14 - 45 78 61 6d 70 6c 65 20 4f 72 67 61 6e 69 7a 61 74 69 6f - 6e 31 14 30 12 06 03 55 04 03 13 0b 54 65 73 74 20 55 73 - 65 72 20 31 30 5b 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 - 05 00 03 4a 00 30 47 02 40 - 0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0 - c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51 - d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17 - 01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab - 02 03 01 00 01''', - # Signature, from 3.2 (at the very end) - '''06 db 36 cb 18 d3 47 5b 9c 01 db 3c 78 95 28 08 - 02 79 bb ae ff 2b 7d 55 8e d6 61 59 87 c8 51 86 - 3f 8a 6c 2c ff bc 89 c3 f7 5a 18 d9 6b 12 7c 71 - 7d 54 d0 d8 04 8d a8 a0 54 46 26 d1 7a 2a 8f be''', - MD2 - ), - - # - # RSA keypair generated with openssl - # - ( - """-----BEGIN RSA PRIVATE KEY----- - MIIBOwIBAAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+TLr7UkvEtFrRhDDKMtuII - q19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQJACUSDEp8RTe32ftq8IwG8 - Wojl5mAd1wFiIOrZ/Uv8b963WJOJiuQcVN29vxU5+My9GPZ7RA3hrDBEAoHUDPrI - OQIhAPIPLz4dphiD9imAkivY31Rc5AfHJiQRA7XixTcjEkojAiEAyh/pJHks/Mlr - +rdPNEpotBjfV4M4BkgGAA/ipcmaAjcCIQCHvhwwKVBLzzTscT2HeUdEeBMoiXXK - JACAr3sJQJGxIQIgarRp+m1WSKV1MciwMaTOnbU7wxFs9DP1pva76lYBzgUCIQC9 - n0CnZCJ6IZYqSt0H5N7+Q+2Ro64nuwV/OSQfM6sBwQ== - -----END RSA PRIVATE KEY-----""", - "This is a test\x0a", - # - # PKCS#1 signature computed with openssl - # - '''4a700a16432a291a3194646952687d5316458b8b86fb0a25aa30e0dcecdb - 442676759ac63d56ec1499c3ae4c0013c2053cabd5b5804848994541ac16 - fa243a4d''', - SHA - ), - - # - # Test vector from http://www.di-mgt.com.au/rsa_alg.html#signpkcs1 - # - ( - { - 'n':'''E08973398DD8F5F5E88776397F4EB005BB5383DE0FB7ABDC7DC775290D052E6D - 12DFA68626D4D26FAA5829FC97ECFA82510F3080BEB1509E4644F12CBBD832CF - C6686F07D9B060ACBEEE34096A13F5F7050593DF5EBA3556D961FF197FC981E6 - F86CEA874070EFAC6D2C749F2DFA553AB9997702A648528C4EF357385774575F''', - 'e':'''010001''', - 'd':'''00A403C327477634346CA686B57949014B2E8AD2C862B2C7D748096A8B91F736 - F275D6E8CD15906027314735644D95CD6763CEB49F56AC2F376E1CEE0EBF282D - F439906F34D86E085BD5656AD841F313D72D395EFE33CBFF29E4030B3D05A28F - B7F18EA27637B07957D32F2BDE8706227D04665EC91BAF8B1AC3EC9144AB7F21''' - }, - "abc", - '''60AD5A78FB4A4030EC542C8974CD15F55384E836554CEDD9A322D5F4135C6267 - A9D20970C54E6651070B0144D43844C899320DD8FA7819F7EBC6A7715287332E - C8675C136183B3F8A1F81EF969418267130A756FDBB2C71D9A667446E34E0EAD - 9CF31BFB66F816F319D0B7E430A5F2891553986E003720261C7E9022C0D9F11F''', - SHA - ) - - ) - - def testSign1(self): - for i in range(len(self._testData)): - row = self._testData[i] - # Build the key - if isStr(row[0]): - key = RSA.importKey(row[0]) - else: - comps = [ int(rws(row[0][x]),16) for x in ('n','e','d') ] - key = RSA.construct(comps) - h = row[3].new() - # Data to sign can either be in hex form or not - try: - h.update(t2b(row[1])) - except: - h.update(b(row[1])) - # The real test - signer = PKCS.new(key) - self.assertTrue(signer.can_sign()) - s = signer.sign(h) - self.assertEqual(s, t2b(row[2])) - - def testVerify1(self): - for i in range(len(self._testData)): - row = self._testData[i] - # Build the key - if isStr(row[0]): - key = RSA.importKey(row[0]).publickey() - else: - comps = [ int(rws(row[0][x]),16) for x in ('n','e') ] - key = RSA.construct(comps) - h = row[3].new() - # Data to sign can either be in hex form or not - try: - h.update(t2b(row[1])) - except: - h.update(b(row[1])) - # The real test - verifier = PKCS.new(key) - self.assertFalse(verifier.can_sign()) - result = verifier.verify(h, t2b(row[2])) - self.assertTrue(result) - - def testSignVerify(self): - rng = Random.new().read - key = RSA.generate(1024, rng) - - for hashmod in (MD2,MD5,SHA,SHA224,SHA256,SHA384,SHA512,RIPEMD): - h = hashmod.new() - h.update(b('blah blah blah')) - - signer = PKCS.new(key) - s = signer.sign(h) - result = signer.verify(h, s) - self.assertTrue(result) - - -def get_tests(config={}): - tests = [] - tests += list_test_cases(PKCS1_15_Tests) - return tests - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_pss.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_pss.py deleted file mode 100644 index 3636ef1..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_pss.py +++ /dev/null @@ -1,446 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Signature/test_pkcs1_pss.py: Self-test for PKCS#1 PSS signatures -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - - - -__revision__ = "$Id$" - -import unittest - -from Crypto.PublicKey import RSA -from Crypto import Random -from Crypto.SelfTest.st_common import list_test_cases, a2b_hex, b2a_hex -from Crypto.Hash import * -from Crypto.Signature import PKCS1_PSS as PKCS -from Crypto.Util.py3compat import * - -def isStr(s): - t = '' - try: - t += s - except TypeError: - return 0 - return 1 - -def rws(t): - """Remove white spaces, tabs, and new lines from a string""" - for c in ['\t', '\n', ' ']: - t = t.replace(c,'') - return t - -def t2b(t): - """Convert a text string with bytes in hex form to a byte string""" - clean = b(rws(t)) - if len(clean)%2 == 1: - raise ValueError("Even number of characters expected") - return a2b_hex(clean) - -# Helper class to count how many bytes have been requested -# from the key's private RNG, w/o counting those used for blinding -class MyKey: - def __init__(self, key): - self._key = key - self.n = key.n - self.asked = 0 - def _randfunc(self, N): - self.asked += N - return self._key._randfunc(N) - def sign(self, m): - return self._key.sign(m) - def has_private(self): - return self._key.has_private() - def decrypt(self, m): - return self._key.decrypt(m) - def verify(self, m, p): - return self._key.verify(m, p) - def encrypt(self, m, p): - return self._key.encrypt(m, p) - -class PKCS1_PSS_Tests(unittest.TestCase): - - # List of tuples with test data for PKCS#1 PSS - # Each tuple is made up by: - # Item #0: dictionary with RSA key component, or key to import - # Item #1: data to hash and sign - # Item #2: signature of the data #1, done with the key #0, - # and salt #3 after hashing it with #4 - # Item #3: salt - # Item #4: hash object generator - - _testData = ( - - # - # From in pss-vect.txt to be found in - # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip - # - ( - # Private key - { - 'n':'''a2 ba 40 ee 07 e3 b2 bd 2f 02 ce 22 7f 36 a1 95 - 02 44 86 e4 9c 19 cb 41 bb bd fb ba 98 b2 2b 0e - 57 7c 2e ea ff a2 0d 88 3a 76 e6 5e 39 4c 69 d4 - b3 c0 5a 1e 8f ad da 27 ed b2 a4 2b c0 00 fe 88 - 8b 9b 32 c2 2d 15 ad d0 cd 76 b3 e7 93 6e 19 95 - 5b 22 0d d1 7d 4e a9 04 b1 ec 10 2b 2e 4d e7 75 - 12 22 aa 99 15 10 24 c7 cb 41 cc 5e a2 1d 00 ee - b4 1f 7c 80 08 34 d2 c6 e0 6b ce 3b ce 7e a9 a5''', - 'e':'''01 00 01''', - # In the test vector, only p and q were given... - # d is computed offline as e^{-1} mod (p-1)(q-1) - 'd':'''50e2c3e38d886110288dfc68a9533e7e12e27d2aa56 - d2cdb3fb6efa990bcff29e1d2987fb711962860e7391b1ce01 - ebadb9e812d2fbdfaf25df4ae26110a6d7a26f0b810f54875e - 17dd5c9fb6d641761245b81e79f8c88f0e55a6dcd5f133abd3 - 5f8f4ec80adf1bf86277a582894cb6ebcd2162f1c7534f1f49 - 47b129151b71''' - }, - - # Data to sign - '''85 9e ef 2f d7 8a ca 00 30 8b dc 47 11 93 bf 55 - bf 9d 78 db 8f 8a 67 2b 48 46 34 f3 c9 c2 6e 64 - 78 ae 10 26 0f e0 dd 8c 08 2e 53 a5 29 3a f2 17 - 3c d5 0c 6d 5d 35 4f eb f7 8b 26 02 1c 25 c0 27 - 12 e7 8c d4 69 4c 9f 46 97 77 e4 51 e7 f8 e9 e0 - 4c d3 73 9c 6b bf ed ae 48 7f b5 56 44 e9 ca 74 - ff 77 a5 3c b7 29 80 2f 6e d4 a5 ff a8 ba 15 98 - 90 fc''', - # Signature - '''8d aa 62 7d 3d e7 59 5d 63 05 6c 7e c6 59 e5 44 - 06 f1 06 10 12 8b aa e8 21 c8 b2 a0 f3 93 6d 54 - dc 3b dc e4 66 89 f6 b7 95 1b b1 8e 84 05 42 76 - 97 18 d5 71 5d 21 0d 85 ef bb 59 61 92 03 2c 42 - be 4c 29 97 2c 85 62 75 eb 6d 5a 45 f0 5f 51 87 - 6f c6 74 3d ed dd 28 ca ec 9b b3 0e a9 9e 02 c3 - 48 82 69 60 4f e4 97 f7 4c cd 7c 7f ca 16 71 89 - 71 23 cb d3 0d ef 5d 54 a2 b5 53 6a d9 0a 74 7e''', - # Salt - '''e3 b5 d5 d0 02 c1 bc e5 0c 2b 65 ef 88 a1 88 d8 - 3b ce 7e 61''', - # Hash algorithm - SHA - ), - - # - # Example 1.1 to be found in - # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip - # - ( - # Private key - { - 'n':'''a5 6e 4a 0e 70 10 17 58 9a 51 87 dc 7e a8 41 d1 - 56 f2 ec 0e 36 ad 52 a4 4d fe b1 e6 1f 7a d9 91 - d8 c5 10 56 ff ed b1 62 b4 c0 f2 83 a1 2a 88 a3 - 94 df f5 26 ab 72 91 cb b3 07 ce ab fc e0 b1 df - d5 cd 95 08 09 6d 5b 2b 8b 6d f5 d6 71 ef 63 77 - c0 92 1c b2 3c 27 0a 70 e2 59 8e 6f f8 9d 19 f1 - 05 ac c2 d3 f0 cb 35 f2 92 80 e1 38 6b 6f 64 c4 - ef 22 e1 e1 f2 0d 0c e8 cf fb 22 49 bd 9a 21 37''', - 'e':'''01 00 01''', - 'd':'''33 a5 04 2a 90 b2 7d 4f 54 51 ca 9b bb d0 b4 47 - 71 a1 01 af 88 43 40 ae f9 88 5f 2a 4b be 92 e8 - 94 a7 24 ac 3c 56 8c 8f 97 85 3a d0 7c 02 66 c8 - c6 a3 ca 09 29 f1 e8 f1 12 31 88 44 29 fc 4d 9a - e5 5f ee 89 6a 10 ce 70 7c 3e d7 e7 34 e4 47 27 - a3 95 74 50 1a 53 26 83 10 9c 2a ba ca ba 28 3c - 31 b4 bd 2f 53 c3 ee 37 e3 52 ce e3 4f 9e 50 3b - d8 0c 06 22 ad 79 c6 dc ee 88 35 47 c6 a3 b3 25''' - }, - # Message - '''cd c8 7d a2 23 d7 86 df 3b 45 e0 bb bc 72 13 26 - d1 ee 2a f8 06 cc 31 54 75 cc 6f 0d 9c 66 e1 b6 - 23 71 d4 5c e2 39 2e 1a c9 28 44 c3 10 10 2f 15 - 6a 0d 8d 52 c1 f4 c4 0b a3 aa 65 09 57 86 cb 76 - 97 57 a6 56 3b a9 58 fe d0 bc c9 84 e8 b5 17 a3 - d5 f5 15 b2 3b 8a 41 e7 4a a8 67 69 3f 90 df b0 - 61 a6 e8 6d fa ae e6 44 72 c0 0e 5f 20 94 57 29 - cb eb e7 7f 06 ce 78 e0 8f 40 98 fb a4 1f 9d 61 - 93 c0 31 7e 8b 60 d4 b6 08 4a cb 42 d2 9e 38 08 - a3 bc 37 2d 85 e3 31 17 0f cb f7 cc 72 d0 b7 1c - 29 66 48 b3 a4 d1 0f 41 62 95 d0 80 7a a6 25 ca - b2 74 4f d9 ea 8f d2 23 c4 25 37 02 98 28 bd 16 - be 02 54 6f 13 0f d2 e3 3b 93 6d 26 76 e0 8a ed - 1b 73 31 8b 75 0a 01 67 d0''', - # Signature - '''90 74 30 8f b5 98 e9 70 1b 22 94 38 8e 52 f9 71 - fa ac 2b 60 a5 14 5a f1 85 df 52 87 b5 ed 28 87 - e5 7c e7 fd 44 dc 86 34 e4 07 c8 e0 e4 36 0b c2 - 26 f3 ec 22 7f 9d 9e 54 63 8e 8d 31 f5 05 12 15 - df 6e bb 9c 2f 95 79 aa 77 59 8a 38 f9 14 b5 b9 - c1 bd 83 c4 e2 f9 f3 82 a0 d0 aa 35 42 ff ee 65 - 98 4a 60 1b c6 9e b2 8d eb 27 dc a1 2c 82 c2 d4 - c3 f6 6c d5 00 f1 ff 2b 99 4d 8a 4e 30 cb b3 3c''', - # Salt - '''de e9 59 c7 e0 64 11 36 14 20 ff 80 18 5e d5 7f - 3e 67 76 af''', - # Hash - SHA - ), - - # - # Example 1.2 to be found in - # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip - # - ( - # Private key - { - 'n':'''a5 6e 4a 0e 70 10 17 58 9a 51 87 dc 7e a8 41 d1 - 56 f2 ec 0e 36 ad 52 a4 4d fe b1 e6 1f 7a d9 91 - d8 c5 10 56 ff ed b1 62 b4 c0 f2 83 a1 2a 88 a3 - 94 df f5 26 ab 72 91 cb b3 07 ce ab fc e0 b1 df - d5 cd 95 08 09 6d 5b 2b 8b 6d f5 d6 71 ef 63 77 - c0 92 1c b2 3c 27 0a 70 e2 59 8e 6f f8 9d 19 f1 - 05 ac c2 d3 f0 cb 35 f2 92 80 e1 38 6b 6f 64 c4 - ef 22 e1 e1 f2 0d 0c e8 cf fb 22 49 bd 9a 21 37''', - 'e':'''01 00 01''', - 'd':'''33 a5 04 2a 90 b2 7d 4f 54 51 ca 9b bb d0 b4 47 - 71 a1 01 af 88 43 40 ae f9 88 5f 2a 4b be 92 e8 - 94 a7 24 ac 3c 56 8c 8f 97 85 3a d0 7c 02 66 c8 - c6 a3 ca 09 29 f1 e8 f1 12 31 88 44 29 fc 4d 9a - e5 5f ee 89 6a 10 ce 70 7c 3e d7 e7 34 e4 47 27 - a3 95 74 50 1a 53 26 83 10 9c 2a ba ca ba 28 3c - 31 b4 bd 2f 53 c3 ee 37 e3 52 ce e3 4f 9e 50 3b - d8 0c 06 22 ad 79 c6 dc ee 88 35 47 c6 a3 b3 25''' - }, - # Message - '''85 13 84 cd fe 81 9c 22 ed 6c 4c cb 30 da eb 5c - f0 59 bc 8e 11 66 b7 e3 53 0c 4c 23 3e 2b 5f 8f - 71 a1 cc a5 82 d4 3e cc 72 b1 bc a1 6d fc 70 13 - 22 6b 9e''', - # Signature - '''3e f7 f4 6e 83 1b f9 2b 32 27 41 42 a5 85 ff ce - fb dc a7 b3 2a e9 0d 10 fb 0f 0c 72 99 84 f0 4e - f2 9a 9d f0 78 07 75 ce 43 73 9b 97 83 83 90 db - 0a 55 05 e6 3d e9 27 02 8d 9d 29 b2 19 ca 2c 45 - 17 83 25 58 a5 5d 69 4a 6d 25 b9 da b6 60 03 c4 - cc cd 90 78 02 19 3b e5 17 0d 26 14 7d 37 b9 35 - 90 24 1b e5 1c 25 05 5f 47 ef 62 75 2c fb e2 14 - 18 fa fe 98 c2 2c 4d 4d 47 72 4f db 56 69 e8 43''', - # Salt - '''ef 28 69 fa 40 c3 46 cb 18 3d ab 3d 7b ff c9 8f - d5 6d f4 2d''', - # Hash - SHA - ), - - # - # Example 2.1 to be found in - # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip - # - ( - # Private key - { - 'n':'''01 d4 0c 1b cf 97 a6 8a e7 cd bd 8a 7b f3 e3 4f - a1 9d cc a4 ef 75 a4 74 54 37 5f 94 51 4d 88 fe - d0 06 fb 82 9f 84 19 ff 87 d6 31 5d a6 8a 1f f3 - a0 93 8e 9a bb 34 64 01 1c 30 3a d9 91 99 cf 0c - 7c 7a 8b 47 7d ce 82 9e 88 44 f6 25 b1 15 e5 e9 - c4 a5 9c f8 f8 11 3b 68 34 33 6a 2f d2 68 9b 47 - 2c bb 5e 5c ab e6 74 35 0c 59 b6 c1 7e 17 68 74 - fb 42 f8 fc 3d 17 6a 01 7e dc 61 fd 32 6c 4b 33 - c9''', - 'e':'''01 00 01''', - 'd':'''02 7d 14 7e 46 73 05 73 77 fd 1e a2 01 56 57 72 - 17 6a 7d c3 83 58 d3 76 04 56 85 a2 e7 87 c2 3c - 15 57 6b c1 6b 9f 44 44 02 d6 bf c5 d9 8a 3e 88 - ea 13 ef 67 c3 53 ec a0 c0 dd ba 92 55 bd 7b 8b - b5 0a 64 4a fd fd 1d d5 16 95 b2 52 d2 2e 73 18 - d1 b6 68 7a 1c 10 ff 75 54 5f 3d b0 fe 60 2d 5f - 2b 7f 29 4e 36 01 ea b7 b9 d1 ce cd 76 7f 64 69 - 2e 3e 53 6c a2 84 6c b0 c2 dd 48 6a 39 fa 75 b1''' - }, - # Message - '''da ba 03 20 66 26 3f ae db 65 98 48 11 52 78 a5 - 2c 44 fa a3 a7 6f 37 51 5e d3 36 32 10 72 c4 0a - 9d 9b 53 bc 05 01 40 78 ad f5 20 87 51 46 aa e7 - 0f f0 60 22 6d cb 7b 1f 1f c2 7e 93 60''', - # Signature - '''01 4c 5b a5 33 83 28 cc c6 e7 a9 0b f1 c0 ab 3f - d6 06 ff 47 96 d3 c1 2e 4b 63 9e d9 13 6a 5f ec - 6c 16 d8 88 4b dd 99 cf dc 52 14 56 b0 74 2b 73 - 68 68 cf 90 de 09 9a db 8d 5f fd 1d ef f3 9b a4 - 00 7a b7 46 ce fd b2 2d 7d f0 e2 25 f5 46 27 dc - 65 46 61 31 72 1b 90 af 44 53 63 a8 35 8b 9f 60 - 76 42 f7 8f ab 0a b0 f4 3b 71 68 d6 4b ae 70 d8 - 82 78 48 d8 ef 1e 42 1c 57 54 dd f4 2c 25 89 b5 - b3''', - # Salt - '''57 bf 16 0b cb 02 bb 1d c7 28 0c f0 45 85 30 b7 - d2 83 2f f7''', - SHA - ), - - # - # Example 8.1 to be found in - # ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip - # - ( - # Private key - { - 'n':'''49 53 70 a1 fb 18 54 3c 16 d3 63 1e 31 63 25 5d - f6 2b e6 ee e8 90 d5 f2 55 09 e4 f7 78 a8 ea 6f - bb bc df 85 df f6 4e 0d 97 20 03 ab 36 81 fb ba - 6d d4 1f d5 41 82 9b 2e 58 2d e9 f2 a4 a4 e0 a2 - d0 90 0b ef 47 53 db 3c ee 0e e0 6c 7d fa e8 b1 - d5 3b 59 53 21 8f 9c ce ea 69 5b 08 66 8e de aa - dc ed 94 63 b1 d7 90 d5 eb f2 7e 91 15 b4 6c ad - 4d 9a 2b 8e fa b0 56 1b 08 10 34 47 39 ad a0 73 - 3f''', - 'e':'''01 00 01''', - 'd':'''6c 66 ff e9 89 80 c3 8f cd ea b5 15 98 98 83 61 - 65 f4 b4 b8 17 c4 f6 a8 d4 86 ee 4e a9 13 0f e9 - b9 09 2b d1 36 d1 84 f9 5f 50 4a 60 7e ac 56 58 - 46 d2 fd d6 59 7a 89 67 c7 39 6e f9 5a 6e ee bb - 45 78 a6 43 96 6d ca 4d 8e e3 de 84 2d e6 32 79 - c6 18 15 9c 1a b5 4a 89 43 7b 6a 61 20 e4 93 0a - fb 52 a4 ba 6c ed 8a 49 47 ac 64 b3 0a 34 97 cb - e7 01 c2 d6 26 6d 51 72 19 ad 0e c6 d3 47 db e9''' - }, - # Message - '''81 33 2f 4b e6 29 48 41 5e a1 d8 99 79 2e ea cf - 6c 6e 1d b1 da 8b e1 3b 5c ea 41 db 2f ed 46 70 - 92 e1 ff 39 89 14 c7 14 25 97 75 f5 95 f8 54 7f - 73 56 92 a5 75 e6 92 3a f7 8f 22 c6 99 7d db 90 - fb 6f 72 d7 bb 0d d5 74 4a 31 de cd 3d c3 68 58 - 49 83 6e d3 4a ec 59 63 04 ad 11 84 3c 4f 88 48 - 9f 20 97 35 f5 fb 7f da f7 ce c8 ad dc 58 18 16 - 8f 88 0a cb f4 90 d5 10 05 b7 a8 e8 4e 43 e5 42 - 87 97 75 71 dd 99 ee a4 b1 61 eb 2d f1 f5 10 8f - 12 a4 14 2a 83 32 2e db 05 a7 54 87 a3 43 5c 9a - 78 ce 53 ed 93 bc 55 08 57 d7 a9 fb''', - # Signature - '''02 62 ac 25 4b fa 77 f3 c1 ac a2 2c 51 79 f8 f0 - 40 42 2b 3c 5b af d4 0a 8f 21 cf 0f a5 a6 67 cc - d5 99 3d 42 db af b4 09 c5 20 e2 5f ce 2b 1e e1 - e7 16 57 7f 1e fa 17 f3 da 28 05 2f 40 f0 41 9b - 23 10 6d 78 45 aa f0 11 25 b6 98 e7 a4 df e9 2d - 39 67 bb 00 c4 d0 d3 5b a3 55 2a b9 a8 b3 ee f0 - 7c 7f ec db c5 42 4a c4 db 1e 20 cb 37 d0 b2 74 - 47 69 94 0e a9 07 e1 7f bb ca 67 3b 20 52 23 80 - c5''', - # Salt - '''1d 65 49 1d 79 c8 64 b3 73 00 9b e6 f6 f2 46 7b - ac 4c 78 fa''', - SHA - ) - ) - - def testSign1(self): - for i in range(len(self._testData)): - # Build the key - comps = [ int(rws(self._testData[i][0][x]),16) for x in ('n','e','d') ] - key = MyKey(RSA.construct(comps)) - # Hash function - h = self._testData[i][4].new() - # Data to sign - h.update(t2b(self._testData[i][1])) - # Salt - test_salt = t2b(self._testData[i][3]) - key._randfunc = lambda N: test_salt - # The real test - signer = PKCS.new(key) - self.assertTrue(signer.can_sign()) - s = signer.sign(h) - self.assertEqual(s, t2b(self._testData[i][2])) - - def testVerify1(self): - for i in range(len(self._testData)): - # Build the key - comps = [ int(rws(self._testData[i][0][x]),16) for x in ('n','e') ] - key = MyKey(RSA.construct(comps)) - # Hash function - h = self._testData[i][4].new() - # Data to sign - h.update(t2b(self._testData[i][1])) - # Salt - test_salt = t2b(self._testData[i][3]) - # The real test - key._randfunc = lambda N: test_salt - verifier = PKCS.new(key) - self.assertFalse(verifier.can_sign()) - result = verifier.verify(h, t2b(self._testData[i][2])) - self.assertTrue(result) - - def testSignVerify(self): - h = SHA.new() - h.update(b('blah blah blah')) - - rng = Random.new().read - key = MyKey(RSA.generate(1024,rng)) - - # Helper function to monitor what's request from MGF - global mgfcalls - def newMGF(seed,maskLen): - global mgfcalls - mgfcalls += 1 - return bchr(0x00)*maskLen - - # Verify that PSS is friendly to all ciphers - for hashmod in (MD2,MD5,SHA,SHA224,SHA256,SHA384,RIPEMD): - h = hashmod.new() - h.update(b('blah blah blah')) - - # Verify that sign() asks for as many random bytes - # as the hash output size - key.asked = 0 - signer = PKCS.new(key) - s = signer.sign(h) - self.assertTrue(signer.verify(h, s)) - self.assertEqual(key.asked, h.digest_size) - - h = SHA.new() - h.update(b('blah blah blah')) - - # Verify that sign() uses a different salt length - for sLen in (0,3,21): - key.asked = 0 - signer = PKCS.new(key, saltLen=sLen) - s = signer.sign(h) - self.assertEqual(key.asked, sLen) - self.assertTrue(signer.verify(h, s)) - - # Verify that sign() uses the custom MGF - mgfcalls = 0 - signer = PKCS.new(key, newMGF) - s = signer.sign(h) - self.assertEqual(mgfcalls, 1) - self.assertTrue(signer.verify(h, s)) - - # Verify that sign() does not call the RNG - # when salt length is 0, even when a new MGF is provided - key.asked = 0 - mgfcalls = 0 - signer = PKCS.new(key, newMGF, 0) - s = signer.sign(h) - self.assertEqual(key.asked,0) - self.assertEqual(mgfcalls, 1) - self.assertTrue(signer.verify(h, s)) - -def get_tests(config={}): - tests = [] - tests += list_test_cases(PKCS1_PSS_Tests) - return tests - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/__init__.py deleted file mode 100644 index abd640a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/__init__.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/__init__.py: Self-test for utility modules -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test for utility modules""" - -__revision__ = "$Id$" - -import os - -def get_tests(config={}): - tests = [] - if os.name == 'nt': - from Crypto.SelfTest.Util import test_winrandom; tests += test_winrandom.get_tests(config=config) - from Crypto.SelfTest.Util import test_number; tests += test_number.get_tests(config=config) - from Crypto.SelfTest.Util import test_Counter; tests += test_Counter.get_tests(config=config) - return tests - -if __name__ == '__main__': - import unittest - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_Counter.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_Counter.py deleted file mode 100644 index 339ce60..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_Counter.py +++ /dev/null @@ -1,165 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/test_Counter: Self-test for the Crypto.Util.Counter module -# -# Written in 2009 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-tests for Crypto.Util.Counter""" - -__revision__ = "$Id$" - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -import unittest - -class CounterTests(unittest.TestCase): - def setUp(self): - global Counter - from Crypto.Util import Counter - - def test_BE_shortcut(self): - """Big endian, shortcut enabled""" - c = Counter.new(128) - self.assertEqual(c.__PCT_CTR_SHORTCUT__,True) # assert_ - c = Counter.new(128, little_endian=False) - self.assertEqual(c.__PCT_CTR_SHORTCUT__,True) # assert_ - c = Counter.new(128, disable_shortcut=False) - self.assertEqual(c.__PCT_CTR_SHORTCUT__,True) # assert_ - c = Counter.new(128, little_endian=False, disable_shortcut=False) - self.assertEqual(c.__PCT_CTR_SHORTCUT__,True) # assert_ - - def test_LE_shortcut(self): - """Little endian, shortcut enabled""" - c = Counter.new(128, little_endian=True) - self.assertEqual(c.__PCT_CTR_SHORTCUT__,True) # assert_ - c = Counter.new(128, little_endian=True, disable_shortcut=False) - self.assertEqual(c.__PCT_CTR_SHORTCUT__,True) # assert_ - - def test_BE_no_shortcut(self): - """Big endian, shortcut disabled""" - c = Counter.new(128, disable_shortcut=True) - self.assertRaises(AttributeError, getattr, c, '__PCT_CTR_SHORTCUT__') - c = Counter.new(128, little_endian=False, disable_shortcut=True) - self.assertRaises(AttributeError, getattr, c, '__PCT_CTR_SHORTCUT__') - - def test_LE_no_shortcut(self): - """Little endian, shortcut disabled""" - c = Counter.new(128, little_endian=True, disable_shortcut=True) - self.assertRaises(AttributeError, getattr, c, '__PCT_CTR_SHORTCUT__') - - def test_BE_defaults(self): - """128-bit, Big endian, defaults""" - c = Counter.new(128) - self.assertEqual(1, c.next_value()) - self.assertEqual(b("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01"), c()) - self.assertEqual(2, c.next_value()) - self.assertEqual(b("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02"), c()) - for i in range(3, 256): - self.assertEqual(i, c.next_value()) - self.assertEqual(b("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00")+bchr(i), c()) - self.assertEqual(256, c.next_value()) - self.assertEqual(b("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00"), c()) - - def test_LE_defaults(self): - """128-bit, Little endian, defaults""" - c = Counter.new(128, little_endian=True) - self.assertEqual(1, c.next_value()) - self.assertEqual(b("\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), c()) - self.assertEqual(2, c.next_value()) - self.assertEqual(b("\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), c()) - for i in range(3, 256): - self.assertEqual(i, c.next_value()) - self.assertEqual(bchr(i)+b("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), c()) - self.assertEqual(256, c.next_value()) - self.assertEqual(b("\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), c()) - - def test_BE8_wraparound(self): - """8-bit, Big endian, wraparound""" - c = Counter.new(8) - for i in range(1, 256): - self.assertEqual(i, c.next_value()) - self.assertEqual(bchr(i), c()) - self.assertRaises(OverflowError, c.next_value) - self.assertRaises(OverflowError, c) - self.assertRaises(OverflowError, c.next_value) - self.assertRaises(OverflowError, c) - - def test_LE8_wraparound(self): - """8-bit, Little endian, wraparound""" - c = Counter.new(8, little_endian=True) - for i in range(1, 256): - self.assertEqual(i, c.next_value()) - self.assertEqual(bchr(i), c()) - self.assertRaises(OverflowError, c.next_value) - self.assertRaises(OverflowError, c) - self.assertRaises(OverflowError, c.next_value) - self.assertRaises(OverflowError, c) - - def test_BE8_wraparound_allowed(self): - """8-bit, Big endian, wraparound with allow_wraparound=True""" - c = Counter.new(8, allow_wraparound=True) - for i in range(1, 256): - self.assertEqual(i, c.next_value()) - self.assertEqual(bchr(i), c()) - self.assertEqual(0, c.next_value()) - self.assertEqual(b("\x00"), c()) - self.assertEqual(1, c.next_value()) - - def test_LE8_wraparound_allowed(self): - """8-bit, Little endian, wraparound with allow_wraparound=True""" - c = Counter.new(8, little_endian=True, allow_wraparound=True) - for i in range(1, 256): - self.assertEqual(i, c.next_value()) - self.assertEqual(bchr(i), c()) - self.assertEqual(0, c.next_value()) - self.assertEqual(b("\x00"), c()) - self.assertEqual(1, c.next_value()) - - def test_BE8_carry(self): - """8-bit, Big endian, carry attribute""" - c = Counter.new(8) - for i in range(1, 256): - self.assertEqual(0, c.carry) - self.assertEqual(i, c.next_value()) - self.assertEqual(bchr(i), c()) - self.assertEqual(1, c.carry) - - def test_LE8_carry(self): - """8-bit, Little endian, carry attribute""" - c = Counter.new(8, little_endian=True) - for i in range(1, 256): - self.assertEqual(0, c.carry) - self.assertEqual(i, c.next_value()) - self.assertEqual(bchr(i), c()) - self.assertEqual(1, c.carry) - -def get_tests(config={}): - from Crypto.SelfTest.st_common import list_test_cases - return list_test_cases(CounterTests) - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_asn1.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_asn1.py deleted file mode 100644 index fff9286..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_asn1.py +++ /dev/null @@ -1,293 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/test_asn.py: Self-test for the Crypto.Util.asn1 module -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-tests for Crypto.Util.asn1""" - -__revision__ = "$Id$" - -import unittest -import sys - -from Crypto.Util.py3compat import * -from Crypto.Util.asn1 import DerSequence, DerObject - -class DerObjectTests(unittest.TestCase): - - def testObjEncode1(self): - # No payload - der = DerObject(b('\x33')) - self.assertEqual(der.encode(), b('\x33\x00')) - # Small payload - der.payload = b('\x45') - self.assertEqual(der.encode(), b('\x33\x01\x45')) - # Invariant - self.assertEqual(der.encode(), b('\x33\x01\x45')) - # Initialize with numerical tag - der = DerObject(b(0x33)) - der.payload = b('\x45') - self.assertEqual(der.encode(), b('\x33\x01\x45')) - - def testObjEncode2(self): - # Known types - der = DerObject('SEQUENCE') - self.assertEqual(der.encode(), b('\x30\x00')) - der = DerObject('BIT STRING') - self.assertEqual(der.encode(), b('\x03\x00')) - - def testObjEncode3(self): - # Long payload - der = DerObject(b('\x34')) - der.payload = b("0")*128 - self.assertEqual(der.encode(), b('\x34\x81\x80' + "0"*128)) - - def testObjDecode1(self): - # Decode short payload - der = DerObject() - der.decode(b('\x20\x02\x01\x02')) - self.assertEqual(der.payload, b("\x01\x02")) - self.assertEqual(der.typeTag, 0x20) - - def testObjDecode2(self): - # Decode short payload - der = DerObject() - der.decode(b('\x22\x81\x80' + "1"*128)) - self.assertEqual(der.payload, b("1")*128) - self.assertEqual(der.typeTag, 0x22) - -class DerSequenceTests(unittest.TestCase): - - def testEncode1(self): - # Empty sequence - der = DerSequence() - self.assertEqual(der.encode(), b('0\x00')) - self.assertFalse(der.hasOnlyInts()) - # One single-byte integer (zero) - der.append(0) - self.assertEqual(der.encode(), b('0\x03\x02\x01\x00')) - self.assertTrue(der.hasOnlyInts()) - # Invariant - self.assertEqual(der.encode(), b('0\x03\x02\x01\x00')) - - def testEncode2(self): - # One single-byte integer (non-zero) - der = DerSequence() - der.append(127) - self.assertEqual(der.encode(), b('0\x03\x02\x01\x7f')) - # Indexing - der[0] = 1 - self.assertEqual(len(der),1) - self.assertEqual(der[0],1) - self.assertEqual(der[-1],1) - self.assertEqual(der.encode(), b('0\x03\x02\x01\x01')) - # - der[:] = [1] - self.assertEqual(len(der),1) - self.assertEqual(der[0],1) - self.assertEqual(der.encode(), b('0\x03\x02\x01\x01')) - - def testEncode3(self): - # One multi-byte integer (non-zero) - der = DerSequence() - der.append(0x180) - self.assertEqual(der.encode(), b('0\x04\x02\x02\x01\x80')) - - def testEncode4(self): - # One very long integer - der = DerSequence() - der.append(2**2048) - self.assertEqual(der.encode(), b('0\x82\x01\x05')+ - b('\x02\x82\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00')) - - def testEncode5(self): - # One single-byte integer (looks negative) - der = DerSequence() - der.append(0xFF) - self.assertEqual(der.encode(), b('0\x04\x02\x02\x00\xff')) - - def testEncode6(self): - # Two integers - der = DerSequence() - der.append(0x180) - der.append(0xFF) - self.assertEqual(der.encode(), b('0\x08\x02\x02\x01\x80\x02\x02\x00\xff')) - self.assertTrue(der.hasOnlyInts()) - # - der.append(0x01) - der[1:] = [9,8] - self.assertEqual(len(der),3) - self.assertEqual(der[1:],[9,8]) - self.assertEqual(der[1:-1],[9]) - self.assertEqual(der.encode(), b('0\x0A\x02\x02\x01\x80\x02\x01\x09\x02\x01\x08')) - - def testEncode6(self): - # One integer and another type (no matter what it is) - der = DerSequence() - der.append(0x180) - der.append(b('\x00\x02\x00\x00')) - self.assertEqual(der.encode(), b('0\x08\x02\x02\x01\x80\x00\x02\x00\x00')) - self.assertFalse(der.hasOnlyInts()) - - #### - - def testDecode1(self): - # Empty sequence - der = DerSequence() - der.decode(b('0\x00')) - self.assertEqual(len(der),0) - # One single-byte integer (zero) - der.decode(b('0\x03\x02\x01\x00')) - self.assertEqual(len(der),1) - self.assertEqual(der[0],0) - # Invariant - der.decode(b('0\x03\x02\x01\x00')) - self.assertEqual(len(der),1) - self.assertEqual(der[0],0) - - def testDecode2(self): - # One single-byte integer (non-zero) - der = DerSequence() - der.decode(b('0\x03\x02\x01\x7f')) - self.assertEqual(len(der),1) - self.assertEqual(der[0],127) - - def testDecode3(self): - # One multi-byte integer (non-zero) - der = DerSequence() - der.decode(b('0\x04\x02\x02\x01\x80')) - self.assertEqual(len(der),1) - self.assertEqual(der[0],0x180) - - def testDecode4(self): - # One very long integer - der = DerSequence() - der.decode(b('0\x82\x01\x05')+ - b('\x02\x82\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+ - b('\x00\x00\x00\x00\x00\x00\x00\x00\x00')) - self.assertEqual(len(der),1) - self.assertEqual(der[0],2**2048) - - def testDecode5(self): - # One single-byte integer (looks negative) - der = DerSequence() - der.decode(b('0\x04\x02\x02\x00\xff')) - self.assertEqual(len(der),1) - self.assertEqual(der[0],0xFF) - - def testDecode6(self): - # Two integers - der = DerSequence() - der.decode(b('0\x08\x02\x02\x01\x80\x02\x02\x00\xff')) - self.assertEqual(len(der),2) - self.assertEqual(der[0],0x180) - self.assertEqual(der[1],0xFF) - - def testDecode7(self): - # One integer and 2 other types - der = DerSequence() - der.decode(b('0\x0A\x02\x02\x01\x80\x24\x02\xb6\x63\x12\x00')) - self.assertEqual(len(der),3) - self.assertEqual(der[0],0x180) - self.assertEqual(der[1],b('\x24\x02\xb6\x63')) - self.assertEqual(der[2],b('\x12\x00')) - - def testDecode8(self): - # Only 2 other types - der = DerSequence() - der.decode(b('0\x06\x24\x02\xb6\x63\x12\x00')) - self.assertEqual(len(der),2) - self.assertEqual(der[0],b('\x24\x02\xb6\x63')) - self.assertEqual(der[1],b('\x12\x00')) - - def testErrDecode1(self): - # Not a sequence - der = DerSequence() - self.assertRaises(ValueError, der.decode, b('')) - self.assertRaises(ValueError, der.decode, b('\x00')) - self.assertRaises(ValueError, der.decode, b('\x30')) - - def testErrDecode2(self): - # Wrong payload type - der = DerSequence() - self.assertRaises(ValueError, der.decode, b('\x30\x00\x00'), True) - - def testErrDecode3(self): - # Wrong length format - der = DerSequence() - self.assertRaises(ValueError, der.decode, b('\x30\x04\x02\x01\x01\x00')) - self.assertRaises(ValueError, der.decode, b('\x30\x81\x03\x02\x01\x01')) - self.assertRaises(ValueError, der.decode, b('\x30\x04\x02\x81\x01\x01')) - - def testErrDecode4(self): - # Wrong integer format - der = DerSequence() - # Multi-byte encoding for zero - #self.assertRaises(ValueError, der.decode, '\x30\x04\x02\x02\x00\x00') - # Negative integer - self.assertRaises(ValueError, der.decode, b('\x30\x04\x02\x01\xFF')) - -def get_tests(config={}): - from Crypto.SelfTest.st_common import list_test_cases - listTests = [] - listTests += list_test_cases(DerObjectTests) - listTests += list_test_cases(DerSequenceTests) - return listTests - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_number.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_number.py deleted file mode 100644 index d7d3024..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_number.py +++ /dev/null @@ -1,295 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/test_number.py: Self-test for parts of the Crypto.Util.number module -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-tests for (some of) Crypto.Util.number""" - -__revision__ = "$Id$" - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * - -import unittest - -# NB: In some places, we compare tuples instead of just output values so that -# if any inputs cause a test failure, we'll be able to tell which ones. - -class MiscTests(unittest.TestCase): - def setUp(self): - global number, math - from Crypto.Util import number - import math - - def test_ceil_shift(self): - """Util.number.ceil_shift""" - self.assertRaises(AssertionError, number.ceil_shift, -1, 1) - self.assertRaises(AssertionError, number.ceil_shift, 1, -1) - - # b = 0 - self.assertEqual(0, number.ceil_shift(0, 0)) - self.assertEqual(1, number.ceil_shift(1, 0)) - self.assertEqual(2, number.ceil_shift(2, 0)) - self.assertEqual(3, number.ceil_shift(3, 0)) - - # b = 1 - self.assertEqual(0, number.ceil_shift(0, 1)) - self.assertEqual(1, number.ceil_shift(1, 1)) - self.assertEqual(1, number.ceil_shift(2, 1)) - self.assertEqual(2, number.ceil_shift(3, 1)) - - # b = 2 - self.assertEqual(0, number.ceil_shift(0, 2)) - self.assertEqual(1, number.ceil_shift(1, 2)) - self.assertEqual(1, number.ceil_shift(2, 2)) - self.assertEqual(1, number.ceil_shift(3, 2)) - self.assertEqual(1, number.ceil_shift(4, 2)) - self.assertEqual(2, number.ceil_shift(5, 2)) - self.assertEqual(2, number.ceil_shift(6, 2)) - self.assertEqual(2, number.ceil_shift(7, 2)) - self.assertEqual(2, number.ceil_shift(8, 2)) - self.assertEqual(3, number.ceil_shift(9, 2)) - - for b in range(3, 1+129, 3): # 3, 6, ... , 129 - self.assertEqual(0, number.ceil_shift(0, b)) - - n = 1 - while n <= 2**(b+2): - (q, r) = divmod(n-1, 2**b) - expected = q + int(not not r) - self.assertEqual((n-1, b, expected), - (n-1, b, number.ceil_shift(n-1, b))) - - (q, r) = divmod(n, 2**b) - expected = q + int(not not r) - self.assertEqual((n, b, expected), - (n, b, number.ceil_shift(n, b))) - - (q, r) = divmod(n+1, 2**b) - expected = q + int(not not r) - self.assertEqual((n+1, b, expected), - (n+1, b, number.ceil_shift(n+1, b))) - - n *= 2 - - def test_ceil_div(self): - """Util.number.ceil_div""" - self.assertRaises(TypeError, number.ceil_div, "1", 1) - self.assertRaises(ZeroDivisionError, number.ceil_div, 1, 0) - self.assertRaises(ZeroDivisionError, number.ceil_div, -1, 0) - - # b = -1 - self.assertEqual(0, number.ceil_div(0, -1)) - self.assertEqual(-1, number.ceil_div(1, -1)) - self.assertEqual(-2, number.ceil_div(2, -1)) - self.assertEqual(-3, number.ceil_div(3, -1)) - - # b = 1 - self.assertEqual(0, number.ceil_div(0, 1)) - self.assertEqual(1, number.ceil_div(1, 1)) - self.assertEqual(2, number.ceil_div(2, 1)) - self.assertEqual(3, number.ceil_div(3, 1)) - - # b = 2 - self.assertEqual(0, number.ceil_div(0, 2)) - self.assertEqual(1, number.ceil_div(1, 2)) - self.assertEqual(1, number.ceil_div(2, 2)) - self.assertEqual(2, number.ceil_div(3, 2)) - self.assertEqual(2, number.ceil_div(4, 2)) - self.assertEqual(3, number.ceil_div(5, 2)) - - # b = 3 - self.assertEqual(0, number.ceil_div(0, 3)) - self.assertEqual(1, number.ceil_div(1, 3)) - self.assertEqual(1, number.ceil_div(2, 3)) - self.assertEqual(1, number.ceil_div(3, 3)) - self.assertEqual(2, number.ceil_div(4, 3)) - self.assertEqual(2, number.ceil_div(5, 3)) - self.assertEqual(2, number.ceil_div(6, 3)) - self.assertEqual(3, number.ceil_div(7, 3)) - - # b = 4 - self.assertEqual(0, number.ceil_div(0, 4)) - self.assertEqual(1, number.ceil_div(1, 4)) - self.assertEqual(1, number.ceil_div(2, 4)) - self.assertEqual(1, number.ceil_div(3, 4)) - self.assertEqual(1, number.ceil_div(4, 4)) - self.assertEqual(2, number.ceil_div(5, 4)) - self.assertEqual(2, number.ceil_div(6, 4)) - self.assertEqual(2, number.ceil_div(7, 4)) - self.assertEqual(2, number.ceil_div(8, 4)) - self.assertEqual(3, number.ceil_div(9, 4)) - - # b = -4 - self.assertEqual(3, number.ceil_div(-9, -4)) - self.assertEqual(2, number.ceil_div(-8, -4)) - self.assertEqual(2, number.ceil_div(-7, -4)) - self.assertEqual(2, number.ceil_div(-6, -4)) - self.assertEqual(2, number.ceil_div(-5, -4)) - self.assertEqual(1, number.ceil_div(-4, -4)) - self.assertEqual(1, number.ceil_div(-3, -4)) - self.assertEqual(1, number.ceil_div(-2, -4)) - self.assertEqual(1, number.ceil_div(-1, -4)) - self.assertEqual(0, number.ceil_div(0, -4)) - self.assertEqual(0, number.ceil_div(1, -4)) - self.assertEqual(0, number.ceil_div(2, -4)) - self.assertEqual(0, number.ceil_div(3, -4)) - self.assertEqual(-1, number.ceil_div(4, -4)) - self.assertEqual(-1, number.ceil_div(5, -4)) - self.assertEqual(-1, number.ceil_div(6, -4)) - self.assertEqual(-1, number.ceil_div(7, -4)) - self.assertEqual(-2, number.ceil_div(8, -4)) - self.assertEqual(-2, number.ceil_div(9, -4)) - - def test_exact_log2(self): - """Util.number.exact_log2""" - self.assertRaises(TypeError, number.exact_log2, "0") - self.assertRaises(ValueError, number.exact_log2, -1) - self.assertRaises(ValueError, number.exact_log2, 0) - self.assertEqual(0, number.exact_log2(1)) - self.assertEqual(1, number.exact_log2(2)) - self.assertRaises(ValueError, number.exact_log2, 3) - self.assertEqual(2, number.exact_log2(4)) - self.assertRaises(ValueError, number.exact_log2, 5) - self.assertRaises(ValueError, number.exact_log2, 6) - self.assertRaises(ValueError, number.exact_log2, 7) - e = 3 - n = 8 - while e < 16: - if n == 2**e: - self.assertEqual(e, number.exact_log2(n), "expected=2**%d, n=%d" % (e, n)) - e += 1 - else: - self.assertRaises(ValueError, number.exact_log2, n) - n += 1 - - for e in range(16, 1+64, 2): - self.assertRaises(ValueError, number.exact_log2, 2**e-1) - self.assertEqual(e, number.exact_log2(2**e)) - self.assertRaises(ValueError, number.exact_log2, 2**e+1) - - def test_exact_div(self): - """Util.number.exact_div""" - - # Positive numbers - self.assertEqual(1, number.exact_div(1, 1)) - self.assertRaises(ValueError, number.exact_div, 1, 2) - self.assertEqual(1, number.exact_div(2, 2)) - self.assertRaises(ValueError, number.exact_div, 3, 2) - self.assertEqual(2, number.exact_div(4, 2)) - - # Negative numbers - self.assertEqual(-1, number.exact_div(-1, 1)) - self.assertEqual(-1, number.exact_div(1, -1)) - self.assertRaises(ValueError, number.exact_div, -1, 2) - self.assertEqual(1, number.exact_div(-2, -2)) - self.assertEqual(-2, number.exact_div(-4, 2)) - - # Zero dividend - self.assertEqual(0, number.exact_div(0, 1)) - self.assertEqual(0, number.exact_div(0, 2)) - - # Zero divisor (allow_divzero == False) - self.assertRaises(ZeroDivisionError, number.exact_div, 0, 0) - self.assertRaises(ZeroDivisionError, number.exact_div, 1, 0) - - # Zero divisor (allow_divzero == True) - self.assertEqual(0, number.exact_div(0, 0, allow_divzero=True)) - self.assertRaises(ValueError, number.exact_div, 1, 0, allow_divzero=True) - - def test_floor_div(self): - """Util.number.floor_div""" - self.assertRaises(TypeError, number.floor_div, "1", 1) - for a in range(-10, 10): - for b in range(-10, 10): - if b == 0: - self.assertRaises(ZeroDivisionError, number.floor_div, a, b) - else: - self.assertEqual((a, b, int(math.floor(float(a) / b))), - (a, b, number.floor_div(a, b))) - - def test_getStrongPrime(self): - """Util.number.getStrongPrime""" - self.assertRaises(ValueError, number.getStrongPrime, 256) - self.assertRaises(ValueError, number.getStrongPrime, 513) - bits = 512 - x = number.getStrongPrime(bits) - self.assertNotEqual(x % 2, 0) - self.assertEqual(x > (1 << bits-1)-1, 1) - self.assertEqual(x < (1 << bits), 1) - e = 2**16+1 - x = number.getStrongPrime(bits, e) - self.assertEqual(number.GCD(x-1, e), 1) - self.assertNotEqual(x % 2, 0) - self.assertEqual(x > (1 << bits-1)-1, 1) - self.assertEqual(x < (1 << bits), 1) - e = 2**16+2 - x = number.getStrongPrime(bits, e) - self.assertEqual(number.GCD((x-1)>>1, e), 1) - self.assertNotEqual(x % 2, 0) - self.assertEqual(x > (1 << bits-1)-1, 1) - self.assertEqual(x < (1 << bits), 1) - - def test_isPrime(self): - """Util.number.isPrime""" - self.assertEqual(number.isPrime(-3), False) # Regression test: negative numbers should not be prime - self.assertEqual(number.isPrime(-2), False) # Regression test: negative numbers should not be prime - self.assertEqual(number.isPrime(1), False) # Regression test: isPrime(1) caused some versions of PyCrypto to crash. - self.assertEqual(number.isPrime(2), True) - self.assertEqual(number.isPrime(3), True) - self.assertEqual(number.isPrime(4), False) - self.assertEqual(number.isPrime(2**1279-1), True) - self.assertEqual(number.isPrime(-(2**1279-1)), False) # Regression test: negative numbers should not be prime - # test some known gmp pseudo-primes taken from - # http://www.trnicely.net/misc/mpzspsp.html - for composite in (43 * 127 * 211, 61 * 151 * 211, 15259 * 30517, - 346141 * 692281, 1007119 * 2014237, 3589477 * 7178953, - 4859419 * 9718837, 2730439 * 5460877, - 245127919 * 490255837, 963939391 * 1927878781, - 4186358431 * 8372716861, 1576820467 * 3153640933): - self.assertEqual(number.isPrime(int(composite)), False) - - def test_size(self): - self.assertEqual(number.size(2),2) - self.assertEqual(number.size(3),2) - self.assertEqual(number.size(0xa2),8) - self.assertEqual(number.size(0xa2ba40),8*3) - self.assertEqual(number.size(0xa2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5), 1024) - - def test_negative_number_roundtrip_mpzToLongObj_longObjToMPZ(self): - """Test that mpzToLongObj and longObjToMPZ (internal functions) roundtrip negative numbers correctly.""" - n = -100000000000000000000000000000000000 - e = 2 - k = number._fastmath.rsa_construct(n, e) - self.assertEqual(n, k.n) - self.assertEqual(e, k.e) - -def get_tests(config={}): - from Crypto.SelfTest.st_common import list_test_cases - return list_test_cases(MiscTests) - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_winrandom.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_winrandom.py deleted file mode 100644 index 3fc5145..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/Util/test_winrandom.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/Util/test_winrandom.py: Self-test for the winrandom module -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self-test suite for Crypto.Util.winrandom""" - -__revision__ = "$Id$" - -import unittest - -class WinRandomImportTest(unittest.TestCase): - def runTest(self): - """winrandom: simple test""" - # Import the winrandom module and try to use it - from Crypto.Util import winrandom - randobj = winrandom.new() - x = randobj.get_bytes(16) - y = randobj.get_bytes(16) - self.assertNotEqual(x, y) - -def get_tests(config={}): - return [WinRandomImportTest()] - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/__init__.py deleted file mode 100644 index c3281eb..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/__init__.py +++ /dev/null @@ -1,92 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/__init__.py: Self-test for PyCrypto -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Self tests - -These tests should perform quickly and can ideally be used every time an -application runs. -""" - -__revision__ = "$Id$" - -import sys -import unittest -from io import StringIO - -class SelfTestError(Exception): - def __init__(self, message, result): - Exception.__init__(self, message, result) - self.message = message - self.result = result - -def run(module=None, verbosity=0, stream=None, tests=None, config=None, **kwargs): - """Execute self-tests. - - This raises SelfTestError if any test is unsuccessful. - - You may optionally pass in a sub-module of SelfTest if you only want to - perform some of the tests. For example, the following would test only the - hash modules: - - Crypto.SelfTest.run(Crypto.SelfTest.Hash) - - """ - if config is None: - config = {} - suite = unittest.TestSuite() - if module is None: - if tests is None: - tests = get_tests(config=config) - suite.addTests(tests) - else: - if tests is None: - suite.addTests(module.get_tests(config=config)) - else: - raise ValueError("'module' and 'tests' arguments are mutually exclusive") - if stream is None: - kwargs['stream'] = StringIO() - runner = unittest.TextTestRunner(verbosity=verbosity, **kwargs) - result = runner.run(suite) - if not result.wasSuccessful(): - if stream is None: - sys.stderr.write(stream.getvalue()) - raise SelfTestError("Self-test failed", result) - return result - -def get_tests(config={}): - tests = [] - from Crypto.SelfTest import Cipher; tests += Cipher.get_tests(config=config) - from Crypto.SelfTest import Hash; tests += Hash.get_tests(config=config) - from Crypto.SelfTest import Protocol; tests += Protocol.get_tests(config=config) - from Crypto.SelfTest import PublicKey; tests += PublicKey.get_tests(config=config) - from Crypto.SelfTest import Random; tests += Random.get_tests(config=config) - from Crypto.SelfTest import Util; tests += Util.get_tests(config=config) - from Crypto.SelfTest import Signature; tests += Signature.get_tests(config=config) - return tests - -if __name__ == '__main__': - suite = lambda: unittest.TestSuite(get_tests()) - unittest.main(defaultTest='suite') - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/st_common.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/st_common.py deleted file mode 100644 index c56eac5..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/SelfTest/st_common.py +++ /dev/null @@ -1,62 +0,0 @@ -# -*- coding: utf-8 -*- -# -# SelfTest/st_common.py: Common functions for SelfTest modules -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Common functions for SelfTest modules""" - -__revision__ = "$Id$" - -import unittest -import binascii -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -class _list_testloader(unittest.TestLoader): - suiteClass = list - -def list_test_cases(class_): - """Return a list of TestCase instances given a TestCase class - - This is useful when you have defined test* methods on your TestCase class. - """ - return _list_testloader().loadTestsFromTestCase(class_) - -def strip_whitespace(s): - """Remove whitespace from a text or byte string""" - if isinstance(s,str): - return b("".join(s.split())) - else: - return b("").join(s.split()) - -def a2b_hex(s): - """Convert hexadecimal to binary, ignoring whitespace""" - return binascii.a2b_hex(strip_whitespace(s)) - -def b2a_hex(s): - """Convert binary to hexadecimal""" - # For completeness - return binascii.b2a_hex(s) - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Signature/PKCS1_PSS.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Signature/PKCS1_PSS.py deleted file mode 100644 index 319851e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Signature/PKCS1_PSS.py +++ /dev/null @@ -1,355 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Signature/PKCS1_PSS.py : PKCS#1 PPS -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""RSA digital signature protocol with appendix according to PKCS#1 PSS. - -See RFC3447__ or the `original RSA Labs specification`__. - -This scheme is more properly called ``RSASSA-PSS``. - -For example, a sender may authenticate a message using SHA-1 and PSS like -this: - - >>> from Crypto.Signature import PKCS1_PSS - >>> from Crypto.Hash import SHA - >>> from Crypto.PublicKey import RSA - >>> from Crypto import Random - >>> - >>> message = 'To be signed' - >>> key = RSA.importKey(open('privkey.der').read()) - >>> h = SHA.new() - >>> h.update(message) - >>> signer = PKCS1_PSS.new(key) - >>> signature = PKCS1_PSS.sign(key) - -At the receiver side, verification can be done like using the public part of -the RSA key: - - >>> key = RSA.importKey(open('pubkey.der').read()) - >>> h = SHA.new() - >>> h.update(message) - >>> verifier = PKCS1_PSS.new(key) - >>> if verifier.verify(h, signature): - >>> print "The signature is authentic." - >>> else: - >>> print "The signature is not authentic." - -:undocumented: __revision__, __package__ - -.. __: http://www.ietf.org/rfc/rfc3447.txt -.. __: http://www.rsa.com/rsalabs/node.asp?id=2125 -""" - -# Allow nested scopes in Python 2.1 -# See http://oreilly.com/pub/a/python/2001/04/19/pythonnews.html - - -__revision__ = "$Id$" -__all__ = [ 'new', 'PSS_SigScheme' ] - -from Crypto.Util.py3compat import * -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -import Crypto.Util.number -from Crypto.Util.number import ceil_shift, ceil_div, long_to_bytes -from Crypto.Util.strxor import strxor - -class PSS_SigScheme: - """This signature scheme can perform PKCS#1 PSS RSA signature or verification.""" - - def __init__(self, key, mgfunc, saltLen): - """Initialize this PKCS#1 PSS signature scheme object. - - :Parameters: - key : an RSA key object - If a private half is given, both signature and verification are possible. - If a public half is given, only verification is possible. - mgfunc : callable - A mask generation function that accepts two parameters: a string to - use as seed, and the lenth of the mask to generate, in bytes. - saltLen : int - Length of the salt, in bytes. - """ - self._key = key - self._saltLen = saltLen - self._mgfunc = mgfunc - - def can_sign(self): - """Return True if this cipher object can be used for signing messages.""" - return self._key.has_private() - - def sign(self, mhash): - """Produce the PKCS#1 PSS signature of a message. - - This function is named ``RSASSA-PSS-SIGN``, and is specified in - section 8.1.1 of RFC3447. - - :Parameters: - mhash : hash object - The hash that was carried out over the message. This is an object - belonging to the `Crypto.Hash` module. - - :Return: The PSS signature encoded as a string. - :Raise ValueError: - If the RSA key length is not sufficiently long to deal with the given - hash algorithm. - :Raise TypeError: - If the RSA key has no private half. - - :attention: Modify the salt length and the mask generation function only - if you know what you are doing. - The receiver must use the same parameters too. - """ - # TODO: Verify the key is RSA - - randfunc = self._key._randfunc - - # Set defaults for salt length and mask generation function - if self._saltLen == None: - sLen = mhash.digest_size - else: - sLen = self._saltLen - if self._mgfunc: - mgf = self._mgfunc - else: - mgf = lambda x,y: MGF1(x,y,mhash) - - modBits = Crypto.Util.number.size(self._key.n) - - # See 8.1.1 in RFC3447 - k = ceil_div(modBits,8) # Convert from bits to bytes - # Step 1 - em = EMSA_PSS_ENCODE(mhash, modBits-1, randfunc, mgf, sLen) - # Step 2a (OS2IP) and 2b (RSASP1) - m = self._key.decrypt(em) - # Step 2c (I2OSP) - S = bchr(0x00)*(k-len(m)) + m - return S - - def verify(self, mhash, S): - """Verify that a certain PKCS#1 PSS signature is authentic. - - This function checks if the party holding the private half of the given - RSA key has really signed the message. - - This function is called ``RSASSA-PSS-VERIFY``, and is specified in section - 8.1.2 of RFC3447. - - :Parameters: - mhash : hash object - The hash that was carried out over the message. This is an object - belonging to the `Crypto.Hash` module. - S : string - The signature that needs to be validated. - - :Return: True if verification is correct. False otherwise. - """ - # TODO: Verify the key is RSA - - # Set defaults for salt length and mask generation function - if self._saltLen == None: - sLen = mhash.digest_size - else: - sLen = self._saltLen - if self._mgfunc: - mgf = self._mgfunc - else: - mgf = lambda x,y: MGF1(x,y,mhash) - - modBits = Crypto.Util.number.size(self._key.n) - - # See 8.1.2 in RFC3447 - k = ceil_div(modBits,8) # Convert from bits to bytes - # Step 1 - if len(S) != k: - return False - # Step 2a (O2SIP), 2b (RSAVP1), and partially 2c (I2OSP) - # Note that signature must be smaller than the module - # but RSA.py won't complain about it. - # TODO: Fix RSA object; don't do it here. - em = self._key.encrypt(S, 0)[0] - # Step 2c - emLen = ceil_div(modBits-1,8) - em = bchr(0x00)*(emLen-len(em)) + em - # Step 3 - try: - result = EMSA_PSS_VERIFY(mhash, em, modBits-1, mgf, sLen) - except ValueError: - return False - # Step 4 - return result - -def MGF1(mgfSeed, maskLen, hash): - """Mask Generation Function, described in B.2.1""" - T = b("") - for counter in range(ceil_div(maskLen, hash.digest_size)): - c = long_to_bytes(counter, 4) - T = T + hash.new(mgfSeed + c).digest() - assert(len(T)>=maskLen) - return T[:maskLen] - -def EMSA_PSS_ENCODE(mhash, emBits, randFunc, mgf, sLen): - """ - Implement the ``EMSA-PSS-ENCODE`` function, as defined - in PKCS#1 v2.1 (RFC3447, 9.1.1). - - The original ``EMSA-PSS-ENCODE`` actually accepts the message ``M`` as input, - and hash it internally. Here, we expect that the message has already - been hashed instead. - - :Parameters: - mhash : hash object - The hash object that holds the digest of the message being signed. - emBits : int - Maximum length of the final encoding, in bits. - randFunc : callable - An RNG function that accepts as only parameter an int, and returns - a string of random bytes, to be used as salt. - mgf : callable - A mask generation function that accepts two parameters: a string to - use as seed, and the lenth of the mask to generate, in bytes. - sLen : int - Length of the salt, in bytes. - - :Return: An ``emLen`` byte long string that encodes the hash - (with ``emLen = \ceil(emBits/8)``). - - :Raise ValueError: - When digest or salt length are too big. - """ - - emLen = ceil_div(emBits,8) - - # Bitmask of digits that fill up - lmask = 0 - for i in range(8*emLen-emBits): - lmask = lmask>>1 | 0x80 - - # Step 1 and 2 have been already done - # Step 3 - if emLen < mhash.digest_size+sLen+2: - raise ValueError("Digest or salt length are too long for given key size.") - # Step 4 - salt = b("") - if randFunc and sLen>0: - salt = randFunc(sLen) - # Step 5 and 6 - h = mhash.new(bchr(0x00)*8 + mhash.digest() + salt) - # Step 7 and 8 - db = bchr(0x00)*(emLen-sLen-mhash.digest_size-2) + bchr(0x01) + salt - # Step 9 - dbMask = mgf(h.digest(), emLen-mhash.digest_size-1) - # Step 10 - maskedDB = strxor(db,dbMask) - # Step 11 - maskedDB = bchr(bord(maskedDB[0]) & ~lmask) + maskedDB[1:] - # Step 12 - em = maskedDB + h.digest() + bchr(0xBC) - return em - -def EMSA_PSS_VERIFY(mhash, em, emBits, mgf, sLen): - """ - Implement the ``EMSA-PSS-VERIFY`` function, as defined - in PKCS#1 v2.1 (RFC3447, 9.1.2). - - ``EMSA-PSS-VERIFY`` actually accepts the message ``M`` as input, - and hash it internally. Here, we expect that the message has already - been hashed instead. - - :Parameters: - mhash : hash object - The hash object that holds the digest of the message to be verified. - em : string - The signature to verify, therefore proving that the sender really signed - the message that was received. - emBits : int - Length of the final encoding (em), in bits. - mgf : callable - A mask generation function that accepts two parameters: a string to - use as seed, and the lenth of the mask to generate, in bytes. - sLen : int - Length of the salt, in bytes. - - :Return: 0 if the encoding is consistent, 1 if it is inconsistent. - - :Raise ValueError: - When digest or salt length are too big. - """ - - emLen = ceil_div(emBits,8) - - # Bitmask of digits that fill up - lmask = 0 - for i in range(8*emLen-emBits): - lmask = lmask>>1 | 0x80 - - # Step 1 and 2 have been already done - # Step 3 - if emLen < mhash.digest_size+sLen+2: - return False - # Step 4 - if ord(em[-1:])!=0xBC: - return False - # Step 5 - maskedDB = em[:emLen-mhash.digest_size-1] - h = em[emLen-mhash.digest_size-1:-1] - # Step 6 - if lmask & bord(em[0]): - return False - # Step 7 - dbMask = mgf(h, emLen-mhash.digest_size-1) - # Step 8 - db = strxor(maskedDB, dbMask) - # Step 9 - db = bchr(bord(db[0]) & ~lmask) + db[1:] - # Step 10 - if not db.startswith(bchr(0x00)*(emLen-mhash.digest_size-sLen-2) + bchr(0x01)): - return False - # Step 11 - salt = b("") - if sLen: salt = db[-sLen:] - # Step 12 and 13 - hp = mhash.new(bchr(0x00)*8 + mhash.digest() + salt).digest() - # Step 14 - if h!=hp: - return False - return True - -def new(key, mgfunc=None, saltLen=None): - """Return a signature scheme object `PSS_SigScheme` that - can be used to perform PKCS#1 PSS signature or verification. - - :Parameters: - key : RSA key object - The key to use to sign or verify the message. This is a `Crypto.PublicKey.RSA` object. - Signing is only possible if *key* is a private RSA key. - mgfunc : callable - A mask generation function that accepts two parameters: a string to - use as seed, and the lenth of the mask to generate, in bytes. - If not specified, the standard MGF1 is used. - saltLen : int - Length of the salt, in bytes. If not specified, it matches the output - size of the hash function. - - """ - return PSS_SigScheme(key, mgfunc, saltLen) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Signature/PKCS1_v1_5.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Signature/PKCS1_v1_5.py deleted file mode 100644 index 73ac251..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Signature/PKCS1_v1_5.py +++ /dev/null @@ -1,236 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Signature/PKCS1-v1_5.py : PKCS#1 v1.5 -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -""" -RSA digital signature protocol according to PKCS#1 v1.5 - -See RFC3447__ or the `original RSA Labs specification`__. - -This scheme is more properly called ``RSASSA-PKCS1-v1_5``. - -For example, a sender may authenticate a message using SHA-1 like -this: - - >>> from Crypto.Signature import PKCS1_v1_5 - >>> from Crypto.Hash import SHA - >>> from Crypto.PublicKey import RSA - >>> - >>> message = 'To be signed' - >>> key = RSA.importKey(open('privkey.der').read()) - >>> h = SHA.new(message) - >>> signer = PKCS1_v1_5.new(key) - >>> signature = signer.sign(h) - -At the receiver side, verification can be done using the public part of -the RSA key: - - >>> key = RSA.importKey(open('pubkey.der').read()) - >>> h = SHA.new(message) - >>> verifier = PKCS1_v1_5.new(key) - >>> if verifier.verify(h, signature): - >>> print "The signature is authentic." - >>> else: - >>> print "The signature is not authentic." - -:undocumented: __revision__, __package__ - -.. __: http://www.ietf.org/rfc/rfc3447.txt -.. __: http://www.rsa.com/rsalabs/node.asp?id=2125 -""" - -__revision__ = "$Id$" -__all__ = [ 'new', 'PKCS115_SigScheme' ] - -import Crypto.Util.number -from Crypto.Util.number import ceil_div -from Crypto.Util.asn1 import DerSequence, DerNull, DerOctetString -from Crypto.Util.py3compat import * - -class PKCS115_SigScheme: - """This signature scheme can perform PKCS#1 v1.5 RSA signature or verification.""" - - def __init__(self, key): - """Initialize this PKCS#1 v1.5 signature scheme object. - - :Parameters: - key : an RSA key object - If a private half is given, both signature and verification are possible. - If a public half is given, only verification is possible. - """ - self._key = key - - def can_sign(self): - """Return True if this cipher object can be used for signing messages.""" - return self._key.has_private() - - def sign(self, mhash): - """Produce the PKCS#1 v1.5 signature of a message. - - This function is named ``RSASSA-PKCS1-V1_5-SIGN``, and is specified in - section 8.2.1 of RFC3447. - - :Parameters: - mhash : hash object - The hash that was carried out over the message. This is an object - belonging to the `Crypto.Hash` module. - - :Return: The signature encoded as a string. - :Raise ValueError: - If the RSA key length is not sufficiently long to deal with the given - hash algorithm. - :Raise TypeError: - If the RSA key has no private half. - """ - # TODO: Verify the key is RSA - - # See 8.2.1 in RFC3447 - modBits = Crypto.Util.number.size(self._key.n) - k = ceil_div(modBits,8) # Convert from bits to bytes - - # Step 1 - em = EMSA_PKCS1_V1_5_ENCODE(mhash, k) - # Step 2a (OS2IP) and 2b (RSASP1) - m = self._key.decrypt(em) - # Step 2c (I2OSP) - S = bchr(0x00)*(k-len(m)) + m - return S - - def verify(self, mhash, S): - """Verify that a certain PKCS#1 v1.5 signature is authentic. - - This function checks if the party holding the private half of the key - really signed the message. - - This function is named ``RSASSA-PKCS1-V1_5-VERIFY``, and is specified in - section 8.2.2 of RFC3447. - - :Parameters: - mhash : hash object - The hash that was carried out over the message. This is an object - belonging to the `Crypto.Hash` module. - S : string - The signature that needs to be validated. - - :Return: True if verification is correct. False otherwise. - """ - # TODO: Verify the key is RSA - - # See 8.2.2 in RFC3447 - modBits = Crypto.Util.number.size(self._key.n) - k = ceil_div(modBits,8) # Convert from bits to bytes - - # Step 1 - if len(S) != k: - return 0 - # Step 2a (O2SIP) and 2b (RSAVP1) - # Note that signature must be smaller than the module - # but RSA.py won't complain about it. - # TODO: Fix RSA object; don't do it here. - m = self._key.encrypt(S, 0)[0] - # Step 2c (I2OSP) - em1 = bchr(0x00)*(k-len(m)) + m - # Step 3 - try: - em2 = EMSA_PKCS1_V1_5_ENCODE(mhash, k) - except ValueError: - return 0 - # Step 4 - # By comparing the full encodings (as opposed to checking each - # of its components one at a time) we avoid attacks to the padding - # scheme like Bleichenbacher's (see http://www.mail-archive.com/cryptography@metzdowd.com/msg06537). - # - return em1==em2 - -def EMSA_PKCS1_V1_5_ENCODE(hash, emLen): - """ - Implement the ``EMSA-PKCS1-V1_5-ENCODE`` function, as defined - in PKCS#1 v2.1 (RFC3447, 9.2). - - ``EMSA-PKCS1-V1_5-ENCODE`` actually accepts the message ``M`` as input, - and hash it internally. Here, we expect that the message has already - been hashed instead. - - :Parameters: - hash : hash object - The hash object that holds the digest of the message being signed. - emLen : int - The length the final encoding must have, in bytes. - - :attention: the early standard (RFC2313) stated that ``DigestInfo`` - had to be BER-encoded. This means that old signatures - might have length tags in indefinite form, which - is not supported in DER. Such encoding cannot be - reproduced by this function. - - :attention: the same standard defined ``DigestAlgorithm`` to be - of ``AlgorithmIdentifier`` type, where the PARAMETERS - item is optional. Encodings for ``MD2/4/5`` without - ``PARAMETERS`` cannot be reproduced by this function. - - :Return: An ``emLen`` byte long string that encodes the hash. - """ - - # First, build the ASN.1 DER object DigestInfo: - # - # DigestInfo ::= SEQUENCE { - # digestAlgorithm AlgorithmIdentifier, - # digest OCTET STRING - # } - # - # where digestAlgorithm identifies the hash function and shall be an - # algorithm ID with an OID in the set PKCS1-v1-5DigestAlgorithms. - # - # PKCS1-v1-5DigestAlgorithms ALGORITHM-IDENTIFIER ::= { - # { OID id-md2 PARAMETERS NULL }| - # { OID id-md5 PARAMETERS NULL }| - # { OID id-sha1 PARAMETERS NULL }| - # { OID id-sha256 PARAMETERS NULL }| - # { OID id-sha384 PARAMETERS NULL }| - # { OID id-sha512 PARAMETERS NULL } - # } - # - digestAlgo = DerSequence([hash.oid, DerNull().encode()]) - digest = DerOctetString(hash.digest()) - digestInfo = DerSequence([ - digestAlgo.encode(), - digest.encode() - ]).encode() - - # We need at least 11 bytes for the remaining data: 3 fixed bytes and - # at least 8 bytes of padding). - if emLen -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -"""Fast counter functions for CTR cipher modes. - -CTR is a chaining mode for symmetric block encryption or decryption. -Messages are divideded into blocks, and the cipher operation takes -place on each block using the secret key and a unique *counter block*. - -The most straightforward way to fulfil the uniqueness property is -to start with an initial, random *counter block* value, and increment it as -the next block is processed. - -The block ciphers from `Crypto.Cipher` (when configured in *MODE_CTR* mode) -invoke a callable object (the *counter* parameter) to get the next *counter block*. -Unfortunately, the Python calling protocol leads to major performance degradations. - -The counter functions instantiated by this module will be invoked directly -by the ciphers in `Crypto.Cipher`. The fact that the Python layer is bypassed -lead to more efficient (and faster) execution of CTR cipher modes. - -An example of usage is the following: - - >>> from Crypto.Cipher import AES - >>> from Crypto.Util import Counter - >>> - >>> pt = b'\x00'*1000000 - >>> ctr = Counter.new(128) - >>> cipher = AES.new(b'\x00'*16, AES.MODE_CTR, counter=ctr) - >>> ct = cipher.encrypt(pt) - -:undocumented: __package__ -""" -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * -from Crypto.Util.py3compat import * - -from Crypto.Util import _counter -import struct - -# Factory function -def new(nbits, prefix=b(""), suffix=b(""), initial_value=1, overflow=0, little_endian=False, allow_wraparound=False, disable_shortcut=False): - """Create a stateful counter block function suitable for CTR encryption modes. - - Each call to the function returns the next counter block. - Each counter block is made up by three parts:: - - prefix || counter value || postfix - - The counter value is incremented by one at each call. - - :Parameters: - nbits : integer - Length of the desired counter, in bits. It must be a multiple of 8. - prefix : byte string - The constant prefix of the counter block. By default, no prefix is - used. - suffix : byte string - The constant postfix of the counter block. By default, no suffix is - used. - initial_value : integer - The initial value of the counter. Default value is 1. - little_endian : boolean - If True, the counter number will be encoded in little endian format. - If False (default), in big endian format. - allow_wraparound : boolean - If True, the function will raise an *OverflowError* exception as soon - as the counter wraps around. If False (default), the counter will - simply restart from zero. - disable_shortcut : boolean - If True, do not make ciphers from `Crypto.Cipher` bypass the Python - layer when invoking the counter block function. - If False (default), bypass the Python layer. - :Returns: - The counter block function. - """ - - # Sanity-check the message size - (nbytes, remainder) = divmod(nbits, 8) - if remainder != 0: - # In the future, we might support arbitrary bit lengths, but for now we don't. - raise ValueError("nbits must be a multiple of 8; got %d" % (nbits,)) - if nbytes < 1: - raise ValueError("nbits too small") - elif nbytes > 0xffff: - raise ValueError("nbits too large") - - initval = _encode(initial_value, nbytes, little_endian) - - if little_endian: - return _counter._newLE(bstr(prefix), bstr(suffix), initval, allow_wraparound=allow_wraparound, disable_shortcut=disable_shortcut) - else: - return _counter._newBE(bstr(prefix), bstr(suffix), initval, allow_wraparound=allow_wraparound, disable_shortcut=disable_shortcut) - -def _encode(n, nbytes, little_endian=False): - retval = [] - n = int(n) - for i in range(nbytes): - if little_endian: - retval.append(bchr(n & 0xff)) - else: - retval.insert(0, bchr(n & 0xff)) - n >>= 8 - return b("").join(retval) - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/RFC1751.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/RFC1751.py deleted file mode 100644 index 1c10c4a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/RFC1751.py +++ /dev/null @@ -1,365 +0,0 @@ -# rfc1751.py : Converts between 128-bit strings and a human-readable -# sequence of words, as defined in RFC1751: "A Convention for -# Human-Readable 128-bit Keys", by Daniel L. McDonald. -# -# Part of the Python Cryptography Toolkit -# -# Written by Andrew M. Kuchling and others -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - - -import binascii -from Crypto.Util.py3compat import * -from functools import reduce - -binary={0:'0000', 1:'0001', 2:'0010', 3:'0011', 4:'0100', 5:'0101', - 6:'0110', 7:'0111', 8:'1000', 9:'1001', 10:'1010', 11:'1011', - 12:'1100', 13:'1101', 14:'1110', 15:'1111'} - -def _key2bin(s): - "Convert a key into a string of binary digits" - kl=[bord(x) for x in s] - kl=[binary[x>>4]+binary[x&15] for x in kl] - return ''.join(kl) - -def _extract(key, start, length): - """Extract a bitstring(2.x)/bytestring(2.x) from a string of binary digits, and return its - numeric value.""" - k=key[start:start+length] - return reduce(lambda x,y: x*2+ord(y)-48, k, 0) - -def key_to_english (key): - """key_to_english(key:string(2.x)/bytes(3.x)) : string - Transform an arbitrary key into a string containing English words. - The key length must be a multiple of 8. - """ - english='' - for index in range(0, len(key), 8): # Loop over 8-byte subkeys - subkey=key[index:index+8] - # Compute the parity of the key - skbin=_key2bin(subkey) ; p=0 - for i in range(0, 64, 2): p=p+_extract(skbin, i, 2) - # Append parity bits to the subkey - skbin=_key2bin(subkey+bchr((p<<6) & 255)) - for i in range(0, 64, 11): - english=english+wordlist[_extract(skbin, i, 11)]+' ' - - return english[:-1] # Remove the trailing space - -def english_to_key (s): - """english_to_key(string):string(2.x)/bytes(2.x) - Transform a string into a corresponding key. - The string must contain words separated by whitespace; the number - of words must be a multiple of 6. - """ - - L=s.upper().split() ; key=b('') - for index in range(0, len(L), 6): - sublist=L[index:index+6] ; char=9*[0] ; bits=0 - for i in sublist: - index = wordlist.index(i) - shift = (8-(bits+11)%8) %8 - y = index << shift - cl, cc, cr = (y>>16), (y>>8)&0xff, y & 0xff - if (shift>5): - char[bits>>3] = char[bits>>3] | cl - char[(bits>>3)+1] = char[(bits>>3)+1] | cc - char[(bits>>3)+2] = char[(bits>>3)+2] | cr - elif shift>-3: - char[bits>>3] = char[bits>>3] | cc - char[(bits>>3)+1] = char[(bits>>3)+1] | cr - else: char[bits>>3] = char[bits>>3] | cr - bits=bits+11 - subkey=reduce(lambda x,y:x+bchr(y), char, b('')) - - # Check the parity of the resulting key - skbin=_key2bin(subkey) - p=0 - for i in range(0, 64, 2): p=p+_extract(skbin, i, 2) - if (p&3) != _extract(skbin, 64, 2): - raise ValueError("Parity error in resulting key") - key=key+subkey[0:8] - return key - -wordlist=[ "A", "ABE", "ACE", "ACT", "AD", "ADA", "ADD", - "AGO", "AID", "AIM", "AIR", "ALL", "ALP", "AM", "AMY", "AN", "ANA", - "AND", "ANN", "ANT", "ANY", "APE", "APS", "APT", "ARC", "ARE", "ARK", - "ARM", "ART", "AS", "ASH", "ASK", "AT", "ATE", "AUG", "AUK", "AVE", - "AWE", "AWK", "AWL", "AWN", "AX", "AYE", "BAD", "BAG", "BAH", "BAM", - "BAN", "BAR", "BAT", "BAY", "BE", "BED", "BEE", "BEG", "BEN", "BET", - "BEY", "BIB", "BID", "BIG", "BIN", "BIT", "BOB", "BOG", "BON", "BOO", - "BOP", "BOW", "BOY", "BUB", "BUD", "BUG", "BUM", "BUN", "BUS", "BUT", - "BUY", "BY", "BYE", "CAB", "CAL", "CAM", "CAN", "CAP", "CAR", "CAT", - "CAW", "COD", "COG", "COL", "CON", "COO", "COP", "COT", "COW", "COY", - "CRY", "CUB", "CUE", "CUP", "CUR", "CUT", "DAB", "DAD", "DAM", "DAN", - "DAR", "DAY", "DEE", "DEL", "DEN", "DES", "DEW", "DID", "DIE", "DIG", - "DIN", "DIP", "DO", "DOE", "DOG", "DON", "DOT", "DOW", "DRY", "DUB", - "DUD", "DUE", "DUG", "DUN", "EAR", "EAT", "ED", "EEL", "EGG", "EGO", - "ELI", "ELK", "ELM", "ELY", "EM", "END", "EST", "ETC", "EVA", "EVE", - "EWE", "EYE", "FAD", "FAN", "FAR", "FAT", "FAY", "FED", "FEE", "FEW", - "FIB", "FIG", "FIN", "FIR", "FIT", "FLO", "FLY", "FOE", "FOG", "FOR", - "FRY", "FUM", "FUN", "FUR", "GAB", "GAD", "GAG", "GAL", "GAM", "GAP", - "GAS", "GAY", "GEE", "GEL", "GEM", "GET", "GIG", "GIL", "GIN", "GO", - "GOT", "GUM", "GUN", "GUS", "GUT", "GUY", "GYM", "GYP", "HA", "HAD", - "HAL", "HAM", "HAN", "HAP", "HAS", "HAT", "HAW", "HAY", "HE", "HEM", - "HEN", "HER", "HEW", "HEY", "HI", "HID", "HIM", "HIP", "HIS", "HIT", - "HO", "HOB", "HOC", "HOE", "HOG", "HOP", "HOT", "HOW", "HUB", "HUE", - "HUG", "HUH", "HUM", "HUT", "I", "ICY", "IDA", "IF", "IKE", "ILL", - "INK", "INN", "IO", "ION", "IQ", "IRA", "IRE", "IRK", "IS", "IT", - "ITS", "IVY", "JAB", "JAG", "JAM", "JAN", "JAR", "JAW", "JAY", "JET", - "JIG", "JIM", "JO", "JOB", "JOE", "JOG", "JOT", "JOY", "JUG", "JUT", - "KAY", "KEG", "KEN", "KEY", "KID", "KIM", "KIN", "KIT", "LA", "LAB", - "LAC", "LAD", "LAG", "LAM", "LAP", "LAW", "LAY", "LEA", "LED", "LEE", - "LEG", "LEN", "LEO", "LET", "LEW", "LID", "LIE", "LIN", "LIP", "LIT", - "LO", "LOB", "LOG", "LOP", "LOS", "LOT", "LOU", "LOW", "LOY", "LUG", - "LYE", "MA", "MAC", "MAD", "MAE", "MAN", "MAO", "MAP", "MAT", "MAW", - "MAY", "ME", "MEG", "MEL", "MEN", "MET", "MEW", "MID", "MIN", "MIT", - "MOB", "MOD", "MOE", "MOO", "MOP", "MOS", "MOT", "MOW", "MUD", "MUG", - "MUM", "MY", "NAB", "NAG", "NAN", "NAP", "NAT", "NAY", "NE", "NED", - "NEE", "NET", "NEW", "NIB", "NIL", "NIP", "NIT", "NO", "NOB", "NOD", - "NON", "NOR", "NOT", "NOV", "NOW", "NU", "NUN", "NUT", "O", "OAF", - "OAK", "OAR", "OAT", "ODD", "ODE", "OF", "OFF", "OFT", "OH", "OIL", - "OK", "OLD", "ON", "ONE", "OR", "ORB", "ORE", "ORR", "OS", "OTT", - "OUR", "OUT", "OVA", "OW", "OWE", "OWL", "OWN", "OX", "PA", "PAD", - "PAL", "PAM", "PAN", "PAP", "PAR", "PAT", "PAW", "PAY", "PEA", "PEG", - "PEN", "PEP", "PER", "PET", "PEW", "PHI", "PI", "PIE", "PIN", "PIT", - "PLY", "PO", "POD", "POE", "POP", "POT", "POW", "PRO", "PRY", "PUB", - "PUG", "PUN", "PUP", "PUT", "QUO", "RAG", "RAM", "RAN", "RAP", "RAT", - "RAW", "RAY", "REB", "RED", "REP", "RET", "RIB", "RID", "RIG", "RIM", - "RIO", "RIP", "ROB", "ROD", "ROE", "RON", "ROT", "ROW", "ROY", "RUB", - "RUE", "RUG", "RUM", "RUN", "RYE", "SAC", "SAD", "SAG", "SAL", "SAM", - "SAN", "SAP", "SAT", "SAW", "SAY", "SEA", "SEC", "SEE", "SEN", "SET", - "SEW", "SHE", "SHY", "SIN", "SIP", "SIR", "SIS", "SIT", "SKI", "SKY", - "SLY", "SO", "SOB", "SOD", "SON", "SOP", "SOW", "SOY", "SPA", "SPY", - "SUB", "SUD", "SUE", "SUM", "SUN", "SUP", "TAB", "TAD", "TAG", "TAN", - "TAP", "TAR", "TEA", "TED", "TEE", "TEN", "THE", "THY", "TIC", "TIE", - "TIM", "TIN", "TIP", "TO", "TOE", "TOG", "TOM", "TON", "TOO", "TOP", - "TOW", "TOY", "TRY", "TUB", "TUG", "TUM", "TUN", "TWO", "UN", "UP", - "US", "USE", "VAN", "VAT", "VET", "VIE", "WAD", "WAG", "WAR", "WAS", - "WAY", "WE", "WEB", "WED", "WEE", "WET", "WHO", "WHY", "WIN", "WIT", - "WOK", "WON", "WOO", "WOW", "WRY", "WU", "YAM", "YAP", "YAW", "YE", - "YEA", "YES", "YET", "YOU", "ABED", "ABEL", "ABET", "ABLE", "ABUT", - "ACHE", "ACID", "ACME", "ACRE", "ACTA", "ACTS", "ADAM", "ADDS", - "ADEN", "AFAR", "AFRO", "AGEE", "AHEM", "AHOY", "AIDA", "AIDE", - "AIDS", "AIRY", "AJAR", "AKIN", "ALAN", "ALEC", "ALGA", "ALIA", - "ALLY", "ALMA", "ALOE", "ALSO", "ALTO", "ALUM", "ALVA", "AMEN", - "AMES", "AMID", "AMMO", "AMOK", "AMOS", "AMRA", "ANDY", "ANEW", - "ANNA", "ANNE", "ANTE", "ANTI", "AQUA", "ARAB", "ARCH", "AREA", - "ARGO", "ARID", "ARMY", "ARTS", "ARTY", "ASIA", "ASKS", "ATOM", - "AUNT", "AURA", "AUTO", "AVER", "AVID", "AVIS", "AVON", "AVOW", - "AWAY", "AWRY", "BABE", "BABY", "BACH", "BACK", "BADE", "BAIL", - "BAIT", "BAKE", "BALD", "BALE", "BALI", "BALK", "BALL", "BALM", - "BAND", "BANE", "BANG", "BANK", "BARB", "BARD", "BARE", "BARK", - "BARN", "BARR", "BASE", "BASH", "BASK", "BASS", "BATE", "BATH", - "BAWD", "BAWL", "BEAD", "BEAK", "BEAM", "BEAN", "BEAR", "BEAT", - "BEAU", "BECK", "BEEF", "BEEN", "BEER", - "BEET", "BELA", "BELL", "BELT", "BEND", "BENT", "BERG", "BERN", - "BERT", "BESS", "BEST", "BETA", "BETH", "BHOY", "BIAS", "BIDE", - "BIEN", "BILE", "BILK", "BILL", "BIND", "BING", "BIRD", "BITE", - "BITS", "BLAB", "BLAT", "BLED", "BLEW", "BLOB", "BLOC", "BLOT", - "BLOW", "BLUE", "BLUM", "BLUR", "BOAR", "BOAT", "BOCA", "BOCK", - "BODE", "BODY", "BOGY", "BOHR", "BOIL", "BOLD", "BOLO", "BOLT", - "BOMB", "BONA", "BOND", "BONE", "BONG", "BONN", "BONY", "BOOK", - "BOOM", "BOON", "BOOT", "BORE", "BORG", "BORN", "BOSE", "BOSS", - "BOTH", "BOUT", "BOWL", "BOYD", "BRAD", "BRAE", "BRAG", "BRAN", - "BRAY", "BRED", "BREW", "BRIG", "BRIM", "BROW", "BUCK", "BUDD", - "BUFF", "BULB", "BULK", "BULL", "BUNK", "BUNT", "BUOY", "BURG", - "BURL", "BURN", "BURR", "BURT", "BURY", "BUSH", "BUSS", "BUST", - "BUSY", "BYTE", "CADY", "CAFE", "CAGE", "CAIN", "CAKE", "CALF", - "CALL", "CALM", "CAME", "CANE", "CANT", "CARD", "CARE", "CARL", - "CARR", "CART", "CASE", "CASH", "CASK", "CAST", "CAVE", "CEIL", - "CELL", "CENT", "CERN", "CHAD", "CHAR", "CHAT", "CHAW", "CHEF", - "CHEN", "CHEW", "CHIC", "CHIN", "CHOU", "CHOW", "CHUB", "CHUG", - "CHUM", "CITE", "CITY", "CLAD", "CLAM", "CLAN", "CLAW", "CLAY", - "CLOD", "CLOG", "CLOT", "CLUB", "CLUE", "COAL", "COAT", "COCA", - "COCK", "COCO", "CODA", "CODE", "CODY", "COED", "COIL", "COIN", - "COKE", "COLA", "COLD", "COLT", "COMA", "COMB", "COME", "COOK", - "COOL", "COON", "COOT", "CORD", "CORE", "CORK", "CORN", "COST", - "COVE", "COWL", "CRAB", "CRAG", "CRAM", "CRAY", "CREW", "CRIB", - "CROW", "CRUD", "CUBA", "CUBE", "CUFF", "CULL", "CULT", "CUNY", - "CURB", "CURD", "CURE", "CURL", "CURT", "CUTS", "DADE", "DALE", - "DAME", "DANA", "DANE", "DANG", "DANK", "DARE", "DARK", "DARN", - "DART", "DASH", "DATA", "DATE", "DAVE", "DAVY", "DAWN", "DAYS", - "DEAD", "DEAF", "DEAL", "DEAN", "DEAR", "DEBT", "DECK", "DEED", - "DEEM", "DEER", "DEFT", "DEFY", "DELL", "DENT", "DENY", "DESK", - "DIAL", "DICE", "DIED", "DIET", "DIME", "DINE", "DING", "DINT", - "DIRE", "DIRT", "DISC", "DISH", "DISK", "DIVE", "DOCK", "DOES", - "DOLE", "DOLL", "DOLT", "DOME", "DONE", "DOOM", "DOOR", "DORA", - "DOSE", "DOTE", "DOUG", "DOUR", "DOVE", "DOWN", "DRAB", "DRAG", - "DRAM", "DRAW", "DREW", "DRUB", "DRUG", "DRUM", "DUAL", "DUCK", - "DUCT", "DUEL", "DUET", "DUKE", "DULL", "DUMB", "DUNE", "DUNK", - "DUSK", "DUST", "DUTY", "EACH", "EARL", "EARN", "EASE", "EAST", - "EASY", "EBEN", "ECHO", "EDDY", "EDEN", "EDGE", "EDGY", "EDIT", - "EDNA", "EGAN", "ELAN", "ELBA", "ELLA", "ELSE", "EMIL", "EMIT", - "EMMA", "ENDS", "ERIC", "EROS", "EVEN", "EVER", "EVIL", "EYED", - "FACE", "FACT", "FADE", "FAIL", "FAIN", "FAIR", "FAKE", "FALL", - "FAME", "FANG", "FARM", "FAST", "FATE", "FAWN", "FEAR", "FEAT", - "FEED", "FEEL", "FEET", "FELL", "FELT", "FEND", "FERN", "FEST", - "FEUD", "FIEF", "FIGS", "FILE", "FILL", "FILM", "FIND", "FINE", - "FINK", "FIRE", "FIRM", "FISH", "FISK", "FIST", "FITS", "FIVE", - "FLAG", "FLAK", "FLAM", "FLAT", "FLAW", "FLEA", "FLED", "FLEW", - "FLIT", "FLOC", "FLOG", "FLOW", "FLUB", "FLUE", "FOAL", "FOAM", - "FOGY", "FOIL", "FOLD", "FOLK", "FOND", "FONT", "FOOD", "FOOL", - "FOOT", "FORD", "FORE", "FORK", "FORM", "FORT", "FOSS", "FOUL", - "FOUR", "FOWL", "FRAU", "FRAY", "FRED", "FREE", "FRET", "FREY", - "FROG", "FROM", "FUEL", "FULL", "FUME", "FUND", "FUNK", "FURY", - "FUSE", "FUSS", "GAFF", "GAGE", "GAIL", "GAIN", "GAIT", "GALA", - "GALE", "GALL", "GALT", "GAME", "GANG", "GARB", "GARY", "GASH", - "GATE", "GAUL", "GAUR", "GAVE", "GAWK", "GEAR", "GELD", "GENE", - "GENT", "GERM", "GETS", "GIBE", "GIFT", "GILD", "GILL", "GILT", - "GINA", "GIRD", "GIRL", "GIST", "GIVE", "GLAD", "GLEE", "GLEN", - "GLIB", "GLOB", "GLOM", "GLOW", "GLUE", "GLUM", "GLUT", "GOAD", - "GOAL", "GOAT", "GOER", "GOES", "GOLD", "GOLF", "GONE", "GONG", - "GOOD", "GOOF", "GORE", "GORY", "GOSH", "GOUT", "GOWN", "GRAB", - "GRAD", "GRAY", "GREG", "GREW", "GREY", "GRID", "GRIM", "GRIN", - "GRIT", "GROW", "GRUB", "GULF", "GULL", "GUNK", "GURU", "GUSH", - "GUST", "GWEN", "GWYN", "HAAG", "HAAS", "HACK", "HAIL", "HAIR", - "HALE", "HALF", "HALL", "HALO", "HALT", "HAND", "HANG", "HANK", - "HANS", "HARD", "HARK", "HARM", "HART", "HASH", "HAST", "HATE", - "HATH", "HAUL", "HAVE", "HAWK", "HAYS", "HEAD", "HEAL", "HEAR", - "HEAT", "HEBE", "HECK", "HEED", "HEEL", "HEFT", "HELD", "HELL", - "HELM", "HERB", "HERD", "HERE", "HERO", "HERS", "HESS", "HEWN", - "HICK", "HIDE", "HIGH", "HIKE", "HILL", "HILT", "HIND", "HINT", - "HIRE", "HISS", "HIVE", "HOBO", "HOCK", "HOFF", "HOLD", "HOLE", - "HOLM", "HOLT", "HOME", "HONE", "HONK", "HOOD", "HOOF", "HOOK", - "HOOT", "HORN", "HOSE", "HOST", "HOUR", "HOVE", "HOWE", "HOWL", - "HOYT", "HUCK", "HUED", "HUFF", "HUGE", "HUGH", "HUGO", "HULK", - "HULL", "HUNK", "HUNT", "HURD", "HURL", "HURT", "HUSH", "HYDE", - "HYMN", "IBIS", "ICON", "IDEA", "IDLE", "IFFY", "INCA", "INCH", - "INTO", "IONS", "IOTA", "IOWA", "IRIS", "IRMA", "IRON", "ISLE", - "ITCH", "ITEM", "IVAN", "JACK", "JADE", "JAIL", "JAKE", "JANE", - "JAVA", "JEAN", "JEFF", "JERK", "JESS", "JEST", "JIBE", "JILL", - "JILT", "JIVE", "JOAN", "JOBS", "JOCK", "JOEL", "JOEY", "JOHN", - "JOIN", "JOKE", "JOLT", "JOVE", "JUDD", "JUDE", "JUDO", "JUDY", - "JUJU", "JUKE", "JULY", "JUNE", "JUNK", "JUNO", "JURY", "JUST", - "JUTE", "KAHN", "KALE", "KANE", "KANT", "KARL", "KATE", "KEEL", - "KEEN", "KENO", "KENT", "KERN", "KERR", "KEYS", "KICK", "KILL", - "KIND", "KING", "KIRK", "KISS", "KITE", "KLAN", "KNEE", "KNEW", - "KNIT", "KNOB", "KNOT", "KNOW", "KOCH", "KONG", "KUDO", "KURD", - "KURT", "KYLE", "LACE", "LACK", "LACY", "LADY", "LAID", "LAIN", - "LAIR", "LAKE", "LAMB", "LAME", "LAND", "LANE", "LANG", "LARD", - "LARK", "LASS", "LAST", "LATE", "LAUD", "LAVA", "LAWN", "LAWS", - "LAYS", "LEAD", "LEAF", "LEAK", "LEAN", "LEAR", "LEEK", "LEER", - "LEFT", "LEND", "LENS", "LENT", "LEON", "LESK", "LESS", "LEST", - "LETS", "LIAR", "LICE", "LICK", "LIED", "LIEN", "LIES", "LIEU", - "LIFE", "LIFT", "LIKE", "LILA", "LILT", "LILY", "LIMA", "LIMB", - "LIME", "LIND", "LINE", "LINK", "LINT", "LION", "LISA", "LIST", - "LIVE", "LOAD", "LOAF", "LOAM", "LOAN", "LOCK", "LOFT", "LOGE", - "LOIS", "LOLA", "LONE", "LONG", "LOOK", "LOON", "LOOT", "LORD", - "LORE", "LOSE", "LOSS", "LOST", "LOUD", "LOVE", "LOWE", "LUCK", - "LUCY", "LUGE", "LUKE", "LULU", "LUND", "LUNG", "LURA", "LURE", - "LURK", "LUSH", "LUST", "LYLE", "LYNN", "LYON", "LYRA", "MACE", - "MADE", "MAGI", "MAID", "MAIL", "MAIN", "MAKE", "MALE", "MALI", - "MALL", "MALT", "MANA", "MANN", "MANY", "MARC", "MARE", "MARK", - "MARS", "MART", "MARY", "MASH", "MASK", "MASS", "MAST", "MATE", - "MATH", "MAUL", "MAYO", "MEAD", "MEAL", "MEAN", "MEAT", "MEEK", - "MEET", "MELD", "MELT", "MEMO", "MEND", "MENU", "MERT", "MESH", - "MESS", "MICE", "MIKE", "MILD", "MILE", "MILK", "MILL", "MILT", - "MIMI", "MIND", "MINE", "MINI", "MINK", "MINT", "MIRE", "MISS", - "MIST", "MITE", "MITT", "MOAN", "MOAT", "MOCK", "MODE", "MOLD", - "MOLE", "MOLL", "MOLT", "MONA", "MONK", "MONT", "MOOD", "MOON", - "MOOR", "MOOT", "MORE", "MORN", "MORT", "MOSS", "MOST", "MOTH", - "MOVE", "MUCH", "MUCK", "MUDD", "MUFF", "MULE", "MULL", "MURK", - "MUSH", "MUST", "MUTE", "MUTT", "MYRA", "MYTH", "NAGY", "NAIL", - "NAIR", "NAME", "NARY", "NASH", "NAVE", "NAVY", "NEAL", "NEAR", - "NEAT", "NECK", "NEED", "NEIL", "NELL", "NEON", "NERO", "NESS", - "NEST", "NEWS", "NEWT", "NIBS", "NICE", "NICK", "NILE", "NINA", - "NINE", "NOAH", "NODE", "NOEL", "NOLL", "NONE", "NOOK", "NOON", - "NORM", "NOSE", "NOTE", "NOUN", "NOVA", "NUDE", "NULL", "NUMB", - "OATH", "OBEY", "OBOE", "ODIN", "OHIO", "OILY", "OINT", "OKAY", - "OLAF", "OLDY", "OLGA", "OLIN", "OMAN", "OMEN", "OMIT", "ONCE", - "ONES", "ONLY", "ONTO", "ONUS", "ORAL", "ORGY", "OSLO", "OTIS", - "OTTO", "OUCH", "OUST", "OUTS", "OVAL", "OVEN", "OVER", "OWLY", - "OWNS", "QUAD", "QUIT", "QUOD", "RACE", "RACK", "RACY", "RAFT", - "RAGE", "RAID", "RAIL", "RAIN", "RAKE", "RANK", "RANT", "RARE", - "RASH", "RATE", "RAVE", "RAYS", "READ", "REAL", "REAM", "REAR", - "RECK", "REED", "REEF", "REEK", "REEL", "REID", "REIN", "RENA", - "REND", "RENT", "REST", "RICE", "RICH", "RICK", "RIDE", "RIFT", - "RILL", "RIME", "RING", "RINK", "RISE", "RISK", "RITE", "ROAD", - "ROAM", "ROAR", "ROBE", "ROCK", "RODE", "ROIL", "ROLL", "ROME", - "ROOD", "ROOF", "ROOK", "ROOM", "ROOT", "ROSA", "ROSE", "ROSS", - "ROSY", "ROTH", "ROUT", "ROVE", "ROWE", "ROWS", "RUBE", "RUBY", - "RUDE", "RUDY", "RUIN", "RULE", "RUNG", "RUNS", "RUNT", "RUSE", - "RUSH", "RUSK", "RUSS", "RUST", "RUTH", "SACK", "SAFE", "SAGE", - "SAID", "SAIL", "SALE", "SALK", "SALT", "SAME", "SAND", "SANE", - "SANG", "SANK", "SARA", "SAUL", "SAVE", "SAYS", "SCAN", "SCAR", - "SCAT", "SCOT", "SEAL", "SEAM", "SEAR", "SEAT", "SEED", "SEEK", - "SEEM", "SEEN", "SEES", "SELF", "SELL", "SEND", "SENT", "SETS", - "SEWN", "SHAG", "SHAM", "SHAW", "SHAY", "SHED", "SHIM", "SHIN", - "SHOD", "SHOE", "SHOT", "SHOW", "SHUN", "SHUT", "SICK", "SIDE", - "SIFT", "SIGH", "SIGN", "SILK", "SILL", "SILO", "SILT", "SINE", - "SING", "SINK", "SIRE", "SITE", "SITS", "SITU", "SKAT", "SKEW", - "SKID", "SKIM", "SKIN", "SKIT", "SLAB", "SLAM", "SLAT", "SLAY", - "SLED", "SLEW", "SLID", "SLIM", "SLIT", "SLOB", "SLOG", "SLOT", - "SLOW", "SLUG", "SLUM", "SLUR", "SMOG", "SMUG", "SNAG", "SNOB", - "SNOW", "SNUB", "SNUG", "SOAK", "SOAR", "SOCK", "SODA", "SOFA", - "SOFT", "SOIL", "SOLD", "SOME", "SONG", "SOON", "SOOT", "SORE", - "SORT", "SOUL", "SOUR", "SOWN", "STAB", "STAG", "STAN", "STAR", - "STAY", "STEM", "STEW", "STIR", "STOW", "STUB", "STUN", "SUCH", - "SUDS", "SUIT", "SULK", "SUMS", "SUNG", "SUNK", "SURE", "SURF", - "SWAB", "SWAG", "SWAM", "SWAN", "SWAT", "SWAY", "SWIM", "SWUM", - "TACK", "TACT", "TAIL", "TAKE", "TALE", "TALK", "TALL", "TANK", - "TASK", "TATE", "TAUT", "TEAL", "TEAM", "TEAR", "TECH", "TEEM", - "TEEN", "TEET", "TELL", "TEND", "TENT", "TERM", "TERN", "TESS", - "TEST", "THAN", "THAT", "THEE", "THEM", "THEN", "THEY", "THIN", - "THIS", "THUD", "THUG", "TICK", "TIDE", "TIDY", "TIED", "TIER", - "TILE", "TILL", "TILT", "TIME", "TINA", "TINE", "TINT", "TINY", - "TIRE", "TOAD", "TOGO", "TOIL", "TOLD", "TOLL", "TONE", "TONG", - "TONY", "TOOK", "TOOL", "TOOT", "TORE", "TORN", "TOTE", "TOUR", - "TOUT", "TOWN", "TRAG", "TRAM", "TRAY", "TREE", "TREK", "TRIG", - "TRIM", "TRIO", "TROD", "TROT", "TROY", "TRUE", "TUBA", "TUBE", - "TUCK", "TUFT", "TUNA", "TUNE", "TUNG", "TURF", "TURN", "TUSK", - "TWIG", "TWIN", "TWIT", "ULAN", "UNIT", "URGE", "USED", "USER", - "USES", "UTAH", "VAIL", "VAIN", "VALE", "VARY", "VASE", "VAST", - "VEAL", "VEDA", "VEIL", "VEIN", "VEND", "VENT", "VERB", "VERY", - "VETO", "VICE", "VIEW", "VINE", "VISE", "VOID", "VOLT", "VOTE", - "WACK", "WADE", "WAGE", "WAIL", "WAIT", "WAKE", "WALE", "WALK", - "WALL", "WALT", "WAND", "WANE", "WANG", "WANT", "WARD", "WARM", - "WARN", "WART", "WASH", "WAST", "WATS", "WATT", "WAVE", "WAVY", - "WAYS", "WEAK", "WEAL", "WEAN", "WEAR", "WEED", "WEEK", "WEIR", - "WELD", "WELL", "WELT", "WENT", "WERE", "WERT", "WEST", "WHAM", - "WHAT", "WHEE", "WHEN", "WHET", "WHOA", "WHOM", "WICK", "WIFE", - "WILD", "WILL", "WIND", "WINE", "WING", "WINK", "WINO", "WIRE", - "WISE", "WISH", "WITH", "WOLF", "WONT", "WOOD", "WOOL", "WORD", - "WORE", "WORK", "WORM", "WORN", "WOVE", "WRIT", "WYNN", "YALE", - "YANG", "YANK", "YARD", "YARN", "YAWL", "YAWN", "YEAH", "YEAR", - "YELL", "YOGA", "YOKE" ] - -if __name__=='__main__': - data = [('EB33F77EE73D4053', 'TIDE ITCH SLOW REIN RULE MOT'), - ('CCAC2AED591056BE4F90FD441C534766', - 'RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE'), - ('EFF81F9BFBC65350920CDD7416DE8009', - 'TROD MUTE TAIL WARM CHAR KONG HAAG CITY BORE O TEAL AWL') - ] - - for key, words in data: - print('Trying key', key) - key=binascii.a2b_hex(key) - w2=key_to_english(key) - if w2!=words: - print('key_to_english fails on key', repr(key), ', producing', str(w2)) - k2=english_to_key(words) - if k2!=key: - print('english_to_key fails on key', repr(key), ', producing', repr(k2)) - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/__init__.py deleted file mode 100644 index a3bef8a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/__init__.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Miscellaneous modules - -Contains useful modules that don't belong into any of the -other Crypto.* subpackages. - -Crypto.Util.number Number-theoretic functions (primality testing, etc.) -Crypto.Util.randpool Random number generation -Crypto.Util.RFC1751 Converts between 128-bit keys and human-readable - strings of words. -Crypto.Util.asn1 Minimal support for ASN.1 DER encoding - -""" - -__all__ = ['randpool', 'RFC1751', 'number', 'strxor', 'asn1' ] - -__revision__ = "$Id$" - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/_counter.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/_counter.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index 2f06398b55f2430fed5acb2dde33b5578379c58a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23424 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 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/_number_new.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/_number_new.py deleted file mode 100644 index 5f29176..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/_number_new.py +++ /dev/null @@ -1,119 +0,0 @@ -# -*- coding: ascii -*- -# -# Util/_number_new.py : utility functions -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -## NOTE: Do not import this module directly. Import these functions from Crypto.Util.number. - -__revision__ = "$Id$" -__all__ = ['ceil_shift', 'ceil_div', 'floor_div', 'exact_log2', 'exact_div'] - -import sys -if sys.version_info[0] == 2 and sys.version_info[1] == 1: - from Crypto.Util.py21compat import * - -def ceil_shift(n, b): - """Return ceil(n / 2**b) without performing any floating-point or division operations. - - This is done by right-shifting n by b bits and incrementing the result by 1 - if any '1' bits were shifted out. - """ - if not isinstance(n, int) or not isinstance(b, int): - raise TypeError("unsupported operand type(s): %r and %r" % (type(n).__name__, type(b).__name__)) - - assert n >= 0 and b >= 0 # I haven't tested or even thought about negative values - mask = (1 << b) - 1 - if n & mask: - return (n >> b) + 1 - else: - return n >> b - -def ceil_div(a, b): - """Return ceil(a / b) without performing any floating-point operations.""" - - if not isinstance(a, int) or not isinstance(b, int): - raise TypeError("unsupported operand type(s): %r and %r" % (type(a).__name__, type(b).__name__)) - - (q, r) = divmod(a, b) - if r: - return q + 1 - else: - return q - -def floor_div(a, b): - if not isinstance(a, int) or not isinstance(b, int): - raise TypeError("unsupported operand type(s): %r and %r" % (type(a).__name__, type(b).__name__)) - - (q, r) = divmod(a, b) - return q - -def exact_log2(num): - """Find and return an integer i >= 0 such that num == 2**i. - - If no such integer exists, this function raises ValueError. - """ - - if not isinstance(num, int): - raise TypeError("unsupported operand type: %r" % (type(num).__name__,)) - - n = int(num) - if n <= 0: - raise ValueError("cannot compute logarithm of non-positive number") - - i = 0 - while n != 0: - if (n & 1) and n != 1: - raise ValueError("No solution could be found") - i += 1 - n >>= 1 - i -= 1 - - assert num == (1 << i) - return i - -def exact_div(p, d, allow_divzero=False): - """Find and return an integer n such that p == n * d - - If no such integer exists, this function raises ValueError. - - Both operands must be integers. - - If the second operand is zero, this function will raise ZeroDivisionError - unless allow_divzero is true (default: False). - """ - - if not isinstance(p, int) or not isinstance(d, int): - raise TypeError("unsupported operand type(s): %r and %r" % (type(p).__name__, type(d).__name__)) - - if d == 0 and allow_divzero: - n = 0 - if p != n * d: - raise ValueError("No solution could be found") - else: - (n, r) = divmod(p, d) - if r != 0: - raise ValueError("No solution could be found") - - assert p == n * d - return n - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/asn1.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/asn1.py deleted file mode 100644 index 9a97d97..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/asn1.py +++ /dev/null @@ -1,286 +0,0 @@ -# -*- coding: ascii -*- -# -# Util/asn1.py : Minimal support for ASN.1 DER binary encoding. -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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 Crypto.Util.number import long_to_bytes, bytes_to_long -import sys -from Crypto.Util.py3compat import * - -__all__ = [ 'DerObject', 'DerInteger', 'DerOctetString', 'DerNull', 'DerSequence', 'DerObjectId' ] - -class DerObject: - """Base class for defining a single DER object. - - Instantiate this class ONLY when you have to decode a DER element. - """ - - # Known TAG types - typeTags = { 'SEQUENCE': 0x30, 'BIT STRING': 0x03, 'INTEGER': 0x02, - 'OCTET STRING': 0x04, 'NULL': 0x05, 'OBJECT IDENTIFIER': 0x06 } - - def __init__(self, ASN1Type=None, payload=b('')): - """Initialize the DER object according to a specific type. - - The ASN.1 type is either specified as the ASN.1 string (e.g. - 'SEQUENCE'), directly with its numerical tag or with no tag - at all (None).""" - if isInt(ASN1Type) or ASN1Type is None: - self.typeTag = ASN1Type - else: - if len(ASN1Type)==1: - self.typeTag = ord(ASN1Type) - else: - self.typeTag = self.typeTags.get(ASN1Type) - self.payload = payload - - def isType(self, ASN1Type): - return self.typeTags[ASN1Type]==self.typeTag - - def _lengthOctets(self, payloadLen): - """Return a byte string that encodes the given payload length (in - bytes) in a format suitable for a DER length tag (L). - """ - if payloadLen>127: - encoding = long_to_bytes(payloadLen) - return bchr(len(encoding)+128) + encoding - return bchr(payloadLen) - - def encode(self): - """Return a complete DER element, fully encoded as a TLV.""" - return bchr(self.typeTag) + self._lengthOctets(len(self.payload)) + self.payload - - def _decodeLen(self, idx, der): - """Given a (part of a) DER element, and an index to the first byte of - a DER length tag (L), return a tuple with the payload size, - and the index of the first byte of the such payload (V). - - Raises a ValueError exception if the DER length is invalid. - Raises an IndexError exception if the DER element is too short. - """ - length = bord(der[idx]) - if length<=127: - return (length,idx+1) - payloadLength = bytes_to_long(der[idx+1:idx+1+(length & 0x7F)]) - if payloadLength<=127: - raise ValueError("Not a DER length tag.") - return (payloadLength, idx+1+(length & 0x7F)) - - def decode(self, derEle, noLeftOvers=0): - """Decode a complete DER element, and re-initializes this - object with it. - - @param derEle A complete DER element. It must start with a DER T - tag. - @param noLeftOvers Indicate whether it is acceptable to complete the - parsing of the DER element and find that not all - bytes in derEle have been used. - @return Index of the first unused byte in the given DER element. - - Raises a ValueError exception in case of parsing errors. - Raises an IndexError exception if the DER element is too short. - """ - try: - self.typeTag = bord(derEle[0]) - if (self.typeTag & 0x1F)==0x1F: - raise ValueError("Unsupported DER tag") - (length,idx) = self._decodeLen(1, derEle) - if noLeftOvers and len(derEle) != (idx+length): - raise ValueError("Not a DER structure") - self.payload = derEle[idx:idx+length] - except IndexError: - raise ValueError("Not a valid DER SEQUENCE.") - return idx+length - -class DerInteger(DerObject): - def __init__(self, value = 0): - """Class to model an INTEGER DER element. - - Limitation: only non-negative values are supported. - """ - DerObject.__init__(self, 'INTEGER') - self.value = value - - def encode(self): - """Return a complete INTEGER DER element, fully encoded as a TLV.""" - self.payload = long_to_bytes(self.value) - if bord(self.payload[0])>127: - self.payload = bchr(0x00) + self.payload - return DerObject.encode(self) - - def decode(self, derEle, noLeftOvers=0): - """Decode a complete INTEGER DER element, and re-initializes this - object with it. - - @param derEle A complete INTEGER DER element. It must start with a DER - INTEGER tag. - @param noLeftOvers Indicate whether it is acceptable to complete the - parsing of the DER element and find that not all - bytes in derEle have been used. - @return Index of the first unused byte in the given DER element. - - Raises a ValueError exception if the DER element is not a - valid non-negative INTEGER. - Raises an IndexError exception if the DER element is too short. - """ - tlvLength = DerObject.decode(self, derEle, noLeftOvers) - if self.typeTag!=self.typeTags['INTEGER']: - raise ValueError ("Not a DER INTEGER.") - if bord(self.payload[0])>127: - raise ValueError ("Negative INTEGER.") - self.value = bytes_to_long(self.payload) - return tlvLength - -class DerSequence(DerObject): - """Class to model a SEQUENCE DER element. - - This object behave like a dynamic Python sequence. - Sub-elements that are INTEGERs, look like Python integers. - Any other sub-element is a binary string encoded as the complete DER - sub-element (TLV). - """ - - def __init__(self, startSeq=None): - """Initialize the SEQUENCE DER object. Always empty - initially.""" - DerObject.__init__(self, 'SEQUENCE') - if startSeq==None: - self._seq = [] - else: - self._seq = startSeq - - ## A few methods to make it behave like a python sequence - - def __delitem__(self, n): - del self._seq[n] - def __getitem__(self, n): - return self._seq[n] - def __setitem__(self, key, value): - self._seq[key] = value - def __setslice__(self,i,j,sequence): - self._seq[i:j] = sequence - def __delslice__(self,i,j): - del self._seq[i:j] - def __getslice__(self, i, j): - return self._seq[max(0, i):max(0, j)] - def __len__(self): - return len(self._seq) - def append(self, item): - return self._seq.append(item) - - def hasInts(self): - """Return the number of items in this sequence that are numbers.""" - return len(list(filter(isInt, self._seq))) - - def hasOnlyInts(self): - """Return True if all items in this sequence are numbers.""" - return self._seq and self.hasInts()==len(self._seq) - - def encode(self): - """Return the DER encoding for the ASN.1 SEQUENCE, containing - the non-negative integers and longs added to this object. - - Limitation: Raises a ValueError exception if it some elements - in the sequence are neither Python integers nor complete DER INTEGERs. - """ - self.payload = b('') - for item in self._seq: - try: - self.payload += item - except: - try: - self.payload += DerInteger(item).encode() - except: - raise ValueError("Trying to DER encode an unknown object") - return DerObject.encode(self) - - def decode(self, derEle, noLeftOvers=0): - """Decode a complete SEQUENCE DER element, and re-initializes this - object with it. - - @param derEle A complete SEQUENCE DER element. It must start with a DER - SEQUENCE tag. - @param noLeftOvers Indicate whether it is acceptable to complete the - parsing of the DER element and find that not all - bytes in derEle have been used. - @return Index of the first unused byte in the given DER element. - - DER INTEGERs are decoded into Python integers. Any other DER - element is not decoded. Its validity is not checked. - - Raises a ValueError exception if the DER element is not a - valid DER SEQUENCE. - Raises an IndexError exception if the DER element is too short. - """ - - self._seq = [] - try: - tlvLength = DerObject.decode(self, derEle, noLeftOvers) - if self.typeTag!=self.typeTags['SEQUENCE']: - raise ValueError("Not a DER SEQUENCE.") - # Scan one TLV at once - idx = 0 - while idx= 5 to avoid timing attack vulnerability.", PowmInsecureWarning) - -# New functions -from ._number_new import * - -# Commented out and replaced with faster versions below -## def long2str(n): -## s='' -## while n>0: -## s=chr(n & 255)+s -## n=n>>8 -## return s - -## import types -## def str2long(s): -## if type(s)!=types.StringType: return s # Integers will be left alone -## return reduce(lambda x,y : x*256+ord(y), s, 0L) - -def size (N): - """size(N:long) : int - Returns the size of the number N in bits. - """ - bits = 0 - while N >> bits: - bits += 1 - return bits - -def getRandomNumber(N, randfunc=None): - """Deprecated. Use getRandomInteger or getRandomNBitInteger instead.""" - warnings.warn("Crypto.Util.number.getRandomNumber has confusing semantics"+ - "and has been deprecated. Use getRandomInteger or getRandomNBitInteger instead.", - GetRandomNumber_DeprecationWarning) - return getRandomNBitInteger(N, randfunc) - -def getRandomInteger(N, randfunc=None): - """getRandomInteger(N:int, randfunc:callable):long - Return a random number with at most N bits. - - If randfunc is omitted, then Random.new().read is used. - - This function is for internal use only and may be renamed or removed in - the future. - """ - if randfunc is None: - _import_Random() - randfunc = Random.new().read - - S = randfunc(N>>3) - odd_bits = N % 8 - if odd_bits != 0: - char = ord(randfunc(1)) >> (8-odd_bits) - S = bchr(char) + S - value = bytes_to_long(S) - return value - -def getRandomRange(a, b, randfunc=None): - """getRandomRange(a:int, b:int, randfunc:callable):long - Return a random number n so that a <= n < b. - - If randfunc is omitted, then Random.new().read is used. - - This function is for internal use only and may be renamed or removed in - the future. - """ - range_ = b - a - 1 - bits = size(range_) - value = getRandomInteger(bits, randfunc) - while value > range_: - value = getRandomInteger(bits, randfunc) - return a + value - -def getRandomNBitInteger(N, randfunc=None): - """getRandomInteger(N:int, randfunc:callable):long - Return a random number with exactly N-bits, i.e. a random number - between 2**(N-1) and (2**N)-1. - - If randfunc is omitted, then Random.new().read is used. - - This function is for internal use only and may be renamed or removed in - the future. - """ - value = getRandomInteger (N-1, randfunc) - value |= 2 ** (N-1) # Ensure high bit is set - assert size(value) >= N - return value - -def GCD(x,y): - """GCD(x:long, y:long): long - Return the GCD of x and y. - """ - x = abs(x) ; y = abs(y) - while x > 0: - x, y = y % x, x - return y - -def inverse(u, v): - """inverse(u:long, v:long):long - Return the inverse of u mod v. - """ - u3, v3 = int(u), int(v) - u1, v1 = 1, 0 - while v3 > 0: - q=divmod(u3, v3)[0] - u1, v1 = v1, u1 - v1*q - u3, v3 = v3, u3 - v3*q - while u1<0: - u1 = u1 + v - return u1 - -# Given a number of bits to generate and a random generation function, -# find a prime number of the appropriate size. - -def getPrime(N, randfunc=None): - """getPrime(N:int, randfunc:callable):long - Return a random N-bit prime number. - - If randfunc is omitted, then Random.new().read is used. - """ - if randfunc is None: - _import_Random() - randfunc = Random.new().read - - number=getRandomNBitInteger(N, randfunc) | 1 - while (not isPrime(number, randfunc=randfunc)): - number=number+2 - return number - - -def _rabinMillerTest(n, rounds, randfunc=None): - """_rabinMillerTest(n:long, rounds:int, randfunc:callable):int - Tests if n is prime. - Returns 0 when n is definitly composite. - Returns 1 when n is probably prime. - Returns 2 when n is definitly prime. - - If randfunc is omitted, then Random.new().read is used. - - This function is for internal use only and may be renamed or removed in - the future. - """ - # check special cases (n==2, n even, n < 2) - if n < 3 or (n & 1) == 0: - return n == 2 - # n might be very large so it might be beneficial to precalculate n-1 - n_1 = n - 1 - # determine m and b so that 2**b * m = n - 1 and b maximal - b = 0 - m = n_1 - while (m & 1) == 0: - b += 1 - m >>= 1 - - tested = [] - # we need to do at most n-2 rounds. - for i in range (min (rounds, n-2)): - # randomly choose a < n and make sure it hasn't been tested yet - a = getRandomRange (2, n, randfunc) - while a in tested: - a = getRandomRange (2, n, randfunc) - tested.append (a) - # do the rabin-miller test - z = pow (a, m, n) # (a**m) % n - if z == 1 or z == n_1: - continue - composite = 1 - for r in range (b): - z = (z * z) % n - if z == 1: - return 0 - elif z == n_1: - composite = 0 - break - if composite: - return 0 - return 1 - -def getStrongPrime(N, e=0, false_positive_prob=1e-6, randfunc=None): - """getStrongPrime(N:int, e:int, false_positive_prob:float, randfunc:callable):long - Return a random strong N-bit prime number. - In this context p is a strong prime if p-1 and p+1 have at - least one large prime factor. - N should be a multiple of 128 and > 512. - - If e is provided the returned prime p-1 will be coprime to e - and thus suitable for RSA where e is the public exponent. - - The optional false_positive_prob is the statistical probability - that true is returned even though it is not (pseudo-prime). - It defaults to 1e-6 (less than 1:1000000). - Note that the real probability of a false-positive is far less. This is - just the mathematically provable limit. - - randfunc should take a single int parameter and return that - many random bytes as a string. - If randfunc is omitted, then Random.new().read is used. - """ - # This function was implemented following the - # instructions found in the paper: - # "FAST GENERATION OF RANDOM, STRONG RSA PRIMES" - # by Robert D. Silverman - # RSA Laboratories - # May 17, 1997 - # which by the time of writing could be freely downloaded here: - # http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.17.2713&rep=rep1&type=pdf - - # Use the accelerator if available - if _fastmath is not None: - return _fastmath.getStrongPrime(int(N), int(e), false_positive_prob, - randfunc) - - if (N < 512) or ((N % 128) != 0): - raise ValueError ("bits must be multiple of 128 and > 512") - - rabin_miller_rounds = int(math.ceil(-math.log(false_positive_prob)/math.log(4))) - - # calculate range for X - # lower_bound = sqrt(2) * 2^{511 + 128*x} - # upper_bound = 2^{512 + 128*x} - 1 - x = (N - 512) >> 7; - # We need to approximate the sqrt(2) in the lower_bound by an integer - # expression because floating point math overflows with these numbers - lower_bound = divmod(14142135623730950489 * (2 ** (511 + 128*x)), - 10000000000000000000)[0] - upper_bound = (1 << (512 + 128*x)) - 1 - # Randomly choose X in calculated range - X = getRandomRange (lower_bound, upper_bound, randfunc) - - # generate p1 and p2 - p = [0, 0] - for i in (0, 1): - # randomly choose 101-bit y - y = getRandomNBitInteger (101, randfunc) - # initialize the field for sieving - field = [0] * 5 * len (sieve_base) - # sieve the field - for prime in sieve_base: - offset = y % prime - for j in range ((prime - offset) % prime, len (field), prime): - field[j] = 1 - - # look for suitable p[i] starting at y - result = 0 - for j in range(len(field)): - composite = field[j] - # look for next canidate - if composite: - continue - tmp = y + j - result = _rabinMillerTest (tmp, rabin_miller_rounds) - if result > 0: - p[i] = tmp - break - if result == 0: - raise RuntimeError ("Couln't find prime in field. " - "Developer: Increase field_size") - - # Calculate R - # R = (p2^{-1} mod p1) * p2 - (p1^{-1} mod p2) * p1 - tmp1 = inverse (p[1], p[0]) * p[1] # (p2^-1 mod p1)*p2 - tmp2 = inverse (p[0], p[1]) * p[0] # (p1^-1 mod p2)*p1 - R = tmp1 - tmp2 # (p2^-1 mod p1)*p2 - (p1^-1 mod p2)*p1 - - # search for final prime number starting by Y0 - # Y0 = X + (R - X mod p1p2) - increment = p[0] * p[1] - X = X + (R - (X % increment)) - while 1: - is_possible_prime = 1 - # first check candidate against sieve_base - for prime in sieve_base: - if (X % prime) == 0: - is_possible_prime = 0 - break - # if e is given make sure that e and X-1 are coprime - # this is not necessarily a strong prime criterion but useful when - # creating them for RSA where the p-1 and q-1 should be coprime to - # the public exponent e - if e and is_possible_prime: - if e & 1: - if GCD (e, X-1) != 1: - is_possible_prime = 0 - else: - if GCD (e, divmod((X-1),2)[0]) != 1: - is_possible_prime = 0 - - # do some Rabin-Miller-Tests - if is_possible_prime: - result = _rabinMillerTest (X, rabin_miller_rounds) - if result > 0: - break - X += increment - # abort when X has more bits than requested - # TODO: maybe we shouldn't abort but rather start over. - if X >= 1 << N: - raise RuntimeError ("Couln't find prime in field. " - "Developer: Increase field_size") - return X - -def isPrime(N, false_positive_prob=1e-6, randfunc=None): - """isPrime(N:long, false_positive_prob:float, randfunc:callable):bool - Return true if N is prime. - - The optional false_positive_prob is the statistical probability - that true is returned even though it is not (pseudo-prime). - It defaults to 1e-6 (less than 1:1000000). - Note that the real probability of a false-positive is far less. This is - just the mathematically provable limit. - - If randfunc is omitted, then Random.new().read is used. - """ - if _fastmath is not None: - return _fastmath.isPrime(int(N), false_positive_prob, randfunc) - - if N < 3 or N & 1 == 0: - return N == 2 - for p in sieve_base: - if N == p: - return 1 - if N % p == 0: - return 0 - - rounds = int(math.ceil(-math.log(false_positive_prob)/math.log(4))) - return _rabinMillerTest(N, rounds, randfunc) - - -# Improved conversion functions contributed by Barry Warsaw, after -# careful benchmarking - -import struct - -def long_to_bytes(n, blocksize=0): - """long_to_bytes(n:long, blocksize:int) : string - Convert a long integer to a byte string. - - If optional blocksize is given and greater than zero, pad the front of the - byte string with binary zeros so that the length is a multiple of - blocksize. - """ - # after much testing, this algorithm was deemed to be the fastest - s = b('') - n = int(n) - pack = struct.pack - while n > 0: - s = pack('>I', n & 0xffffffff) + s - n = n >> 32 - # strip off leading zeros - for i in range(len(s)): - if s[i] != b('\000')[0]: - break - else: - # only happens when n == 0 - s = b('\000') - i = 0 - s = s[i:] - # add back some pad bytes. this could be done more efficiently w.r.t. the - # de-padding being done above, but sigh... - if blocksize > 0 and len(s) % blocksize: - s = (blocksize - len(s) % blocksize) * b('\000') + s - return s - -def bytes_to_long(s): - """bytes_to_long(string) : long - Convert a byte string to a long integer. - - This is (essentially) the inverse of long_to_bytes(). - """ - acc = 0 - unpack = struct.unpack - length = len(s) - if length % 4: - extra = (4 - length % 4) - s = b('\000') * extra + s - length = length + extra - for i in range(0, length, 4): - acc = (acc << 32) + unpack('>I', s[i:i+4])[0] - return acc - -# For backwards compatibility... -import warnings -def long2str(n, blocksize=0): - warnings.warn("long2str() has been replaced by long_to_bytes()") - return long_to_bytes(n, blocksize) -def str2long(s): - warnings.warn("str2long() has been replaced by bytes_to_long()") - return bytes_to_long(s) - -def _import_Random(): - # This is called in a function instead of at the module level in order to - # avoid problems with recursive imports - global Random, StrongRandom - from Crypto import Random - from Crypto.Random.random import StrongRandom - - - -# The first 10000 primes used for checking primality. -# This should be enough to eliminate most of the odd -# numbers before needing to do a Rabin-Miller test at all. -sieve_base = ( - 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, - 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, - 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, - 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, - 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, - 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, - 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, - 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, - 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, - 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, - 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, - 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, - 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, - 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, - 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, - 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, - 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, - 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, - 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, - 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, - 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, - 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, - 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, - 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, - 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, - 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, - 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, - 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, - 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, - 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, - 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, - 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, - 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, - 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, - 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, - 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, - 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, - 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, - 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, - 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, - 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, - 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, - 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, - 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, - 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, - 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, - 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, - 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, - 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, - 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, - 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, - 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, - 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, - 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, - 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, - 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, - 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, - 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, - 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, - 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, - 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, - 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, - 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, - 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, - 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, - 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, - 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, - 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, - 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, - 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, - 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, - 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, - 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, - 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, - 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, - 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, - 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, - 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, - 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, - 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, - 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, - 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, - 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, - 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, - 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, - 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, - 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, - 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, - 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, - 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, - 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, - 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, - 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, - 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, - 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, - 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, - 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, - 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, - 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, - 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, - 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, - 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, - 8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, - 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, - 8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, - 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, - 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, - 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, - 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, - 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, - 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, - 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, - 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, - 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, - 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, - 9293, 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, - 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, - 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, - 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, - 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, - 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, - 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, - 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973, 10007, - 10009, 10037, 10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099, - 10103, 10111, 10133, 10139, 10141, 10151, 10159, 10163, 10169, 10177, - 10181, 10193, 10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, - 10273, 10289, 10301, 10303, 10313, 10321, 10331, 10333, 10337, 10343, - 10357, 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457, 10459, - 10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531, 10559, 10567, - 10589, 10597, 10601, 10607, 10613, 10627, 10631, 10639, 10651, 10657, - 10663, 10667, 10687, 10691, 10709, 10711, 10723, 10729, 10733, 10739, - 10753, 10771, 10781, 10789, 10799, 10831, 10837, 10847, 10853, 10859, - 10861, 10867, 10883, 10889, 10891, 10903, 10909, 10937, 10939, 10949, - 10957, 10973, 10979, 10987, 10993, 11003, 11027, 11047, 11057, 11059, - 11069, 11071, 11083, 11087, 11093, 11113, 11117, 11119, 11131, 11149, - 11159, 11161, 11171, 11173, 11177, 11197, 11213, 11239, 11243, 11251, - 11257, 11261, 11273, 11279, 11287, 11299, 11311, 11317, 11321, 11329, - 11351, 11353, 11369, 11383, 11393, 11399, 11411, 11423, 11437, 11443, - 11447, 11467, 11471, 11483, 11489, 11491, 11497, 11503, 11519, 11527, - 11549, 11551, 11579, 11587, 11593, 11597, 11617, 11621, 11633, 11657, - 11677, 11681, 11689, 11699, 11701, 11717, 11719, 11731, 11743, 11777, - 11779, 11783, 11789, 11801, 11807, 11813, 11821, 11827, 11831, 11833, - 11839, 11863, 11867, 11887, 11897, 11903, 11909, 11923, 11927, 11933, - 11939, 11941, 11953, 11959, 11969, 11971, 11981, 11987, 12007, 12011, - 12037, 12041, 12043, 12049, 12071, 12073, 12097, 12101, 12107, 12109, - 12113, 12119, 12143, 12149, 12157, 12161, 12163, 12197, 12203, 12211, - 12227, 12239, 12241, 12251, 12253, 12263, 12269, 12277, 12281, 12289, - 12301, 12323, 12329, 12343, 12347, 12373, 12377, 12379, 12391, 12401, - 12409, 12413, 12421, 12433, 12437, 12451, 12457, 12473, 12479, 12487, - 12491, 12497, 12503, 12511, 12517, 12527, 12539, 12541, 12547, 12553, - 12569, 12577, 12583, 12589, 12601, 12611, 12613, 12619, 12637, 12641, - 12647, 12653, 12659, 12671, 12689, 12697, 12703, 12713, 12721, 12739, - 12743, 12757, 12763, 12781, 12791, 12799, 12809, 12821, 12823, 12829, - 12841, 12853, 12889, 12893, 12899, 12907, 12911, 12917, 12919, 12923, - 12941, 12953, 12959, 12967, 12973, 12979, 12983, 13001, 13003, 13007, - 13009, 13033, 13037, 13043, 13049, 13063, 13093, 13099, 13103, 13109, - 13121, 13127, 13147, 13151, 13159, 13163, 13171, 13177, 13183, 13187, - 13217, 13219, 13229, 13241, 13249, 13259, 13267, 13291, 13297, 13309, - 13313, 13327, 13331, 13337, 13339, 13367, 13381, 13397, 13399, 13411, - 13417, 13421, 13441, 13451, 13457, 13463, 13469, 13477, 13487, 13499, - 13513, 13523, 13537, 13553, 13567, 13577, 13591, 13597, 13613, 13619, - 13627, 13633, 13649, 13669, 13679, 13681, 13687, 13691, 13693, 13697, - 13709, 13711, 13721, 13723, 13729, 13751, 13757, 13759, 13763, 13781, - 13789, 13799, 13807, 13829, 13831, 13841, 13859, 13873, 13877, 13879, - 13883, 13901, 13903, 13907, 13913, 13921, 13931, 13933, 13963, 13967, - 13997, 13999, 14009, 14011, 14029, 14033, 14051, 14057, 14071, 14081, - 14083, 14087, 14107, 14143, 14149, 14153, 14159, 14173, 14177, 14197, - 14207, 14221, 14243, 14249, 14251, 14281, 14293, 14303, 14321, 14323, - 14327, 14341, 14347, 14369, 14387, 14389, 14401, 14407, 14411, 14419, - 14423, 14431, 14437, 14447, 14449, 14461, 14479, 14489, 14503, 14519, - 14533, 14537, 14543, 14549, 14551, 14557, 14561, 14563, 14591, 14593, - 14621, 14627, 14629, 14633, 14639, 14653, 14657, 14669, 14683, 14699, - 14713, 14717, 14723, 14731, 14737, 14741, 14747, 14753, 14759, 14767, - 14771, 14779, 14783, 14797, 14813, 14821, 14827, 14831, 14843, 14851, - 14867, 14869, 14879, 14887, 14891, 14897, 14923, 14929, 14939, 14947, - 14951, 14957, 14969, 14983, 15013, 15017, 15031, 15053, 15061, 15073, - 15077, 15083, 15091, 15101, 15107, 15121, 15131, 15137, 15139, 15149, - 15161, 15173, 15187, 15193, 15199, 15217, 15227, 15233, 15241, 15259, - 15263, 15269, 15271, 15277, 15287, 15289, 15299, 15307, 15313, 15319, - 15329, 15331, 15349, 15359, 15361, 15373, 15377, 15383, 15391, 15401, - 15413, 15427, 15439, 15443, 15451, 15461, 15467, 15473, 15493, 15497, - 15511, 15527, 15541, 15551, 15559, 15569, 15581, 15583, 15601, 15607, - 15619, 15629, 15641, 15643, 15647, 15649, 15661, 15667, 15671, 15679, - 15683, 15727, 15731, 15733, 15737, 15739, 15749, 15761, 15767, 15773, - 15787, 15791, 15797, 15803, 15809, 15817, 15823, 15859, 15877, 15881, - 15887, 15889, 15901, 15907, 15913, 15919, 15923, 15937, 15959, 15971, - 15973, 15991, 16001, 16007, 16033, 16057, 16061, 16063, 16067, 16069, - 16073, 16087, 16091, 16097, 16103, 16111, 16127, 16139, 16141, 16183, - 16187, 16189, 16193, 16217, 16223, 16229, 16231, 16249, 16253, 16267, - 16273, 16301, 16319, 16333, 16339, 16349, 16361, 16363, 16369, 16381, - 16411, 16417, 16421, 16427, 16433, 16447, 16451, 16453, 16477, 16481, - 16487, 16493, 16519, 16529, 16547, 16553, 16561, 16567, 16573, 16603, - 16607, 16619, 16631, 16633, 16649, 16651, 16657, 16661, 16673, 16691, - 16693, 16699, 16703, 16729, 16741, 16747, 16759, 16763, 16787, 16811, - 16823, 16829, 16831, 16843, 16871, 16879, 16883, 16889, 16901, 16903, - 16921, 16927, 16931, 16937, 16943, 16963, 16979, 16981, 16987, 16993, - 17011, 17021, 17027, 17029, 17033, 17041, 17047, 17053, 17077, 17093, - 17099, 17107, 17117, 17123, 17137, 17159, 17167, 17183, 17189, 17191, - 17203, 17207, 17209, 17231, 17239, 17257, 17291, 17293, 17299, 17317, - 17321, 17327, 17333, 17341, 17351, 17359, 17377, 17383, 17387, 17389, - 17393, 17401, 17417, 17419, 17431, 17443, 17449, 17467, 17471, 17477, - 17483, 17489, 17491, 17497, 17509, 17519, 17539, 17551, 17569, 17573, - 17579, 17581, 17597, 17599, 17609, 17623, 17627, 17657, 17659, 17669, - 17681, 17683, 17707, 17713, 17729, 17737, 17747, 17749, 17761, 17783, - 17789, 17791, 17807, 17827, 17837, 17839, 17851, 17863, 17881, 17891, - 17903, 17909, 17911, 17921, 17923, 17929, 17939, 17957, 17959, 17971, - 17977, 17981, 17987, 17989, 18013, 18041, 18043, 18047, 18049, 18059, - 18061, 18077, 18089, 18097, 18119, 18121, 18127, 18131, 18133, 18143, - 18149, 18169, 18181, 18191, 18199, 18211, 18217, 18223, 18229, 18233, - 18251, 18253, 18257, 18269, 18287, 18289, 18301, 18307, 18311, 18313, - 18329, 18341, 18353, 18367, 18371, 18379, 18397, 18401, 18413, 18427, - 18433, 18439, 18443, 18451, 18457, 18461, 18481, 18493, 18503, 18517, - 18521, 18523, 18539, 18541, 18553, 18583, 18587, 18593, 18617, 18637, - 18661, 18671, 18679, 18691, 18701, 18713, 18719, 18731, 18743, 18749, - 18757, 18773, 18787, 18793, 18797, 18803, 18839, 18859, 18869, 18899, - 18911, 18913, 18917, 18919, 18947, 18959, 18973, 18979, 19001, 19009, - 19013, 19031, 19037, 19051, 19069, 19073, 19079, 19081, 19087, 19121, - 19139, 19141, 19157, 19163, 19181, 19183, 19207, 19211, 19213, 19219, - 19231, 19237, 19249, 19259, 19267, 19273, 19289, 19301, 19309, 19319, - 19333, 19373, 19379, 19381, 19387, 19391, 19403, 19417, 19421, 19423, - 19427, 19429, 19433, 19441, 19447, 19457, 19463, 19469, 19471, 19477, - 19483, 19489, 19501, 19507, 19531, 19541, 19543, 19553, 19559, 19571, - 19577, 19583, 19597, 19603, 19609, 19661, 19681, 19687, 19697, 19699, - 19709, 19717, 19727, 19739, 19751, 19753, 19759, 19763, 19777, 19793, - 19801, 19813, 19819, 19841, 19843, 19853, 19861, 19867, 19889, 19891, - 19913, 19919, 19927, 19937, 19949, 19961, 19963, 19973, 19979, 19991, - 19993, 19997, 20011, 20021, 20023, 20029, 20047, 20051, 20063, 20071, - 20089, 20101, 20107, 20113, 20117, 20123, 20129, 20143, 20147, 20149, - 20161, 20173, 20177, 20183, 20201, 20219, 20231, 20233, 20249, 20261, - 20269, 20287, 20297, 20323, 20327, 20333, 20341, 20347, 20353, 20357, - 20359, 20369, 20389, 20393, 20399, 20407, 20411, 20431, 20441, 20443, - 20477, 20479, 20483, 20507, 20509, 20521, 20533, 20543, 20549, 20551, - 20563, 20593, 20599, 20611, 20627, 20639, 20641, 20663, 20681, 20693, - 20707, 20717, 20719, 20731, 20743, 20747, 20749, 20753, 20759, 20771, - 20773, 20789, 20807, 20809, 20849, 20857, 20873, 20879, 20887, 20897, - 20899, 20903, 20921, 20929, 20939, 20947, 20959, 20963, 20981, 20983, - 21001, 21011, 21013, 21017, 21019, 21023, 21031, 21059, 21061, 21067, - 21089, 21101, 21107, 21121, 21139, 21143, 21149, 21157, 21163, 21169, - 21179, 21187, 21191, 21193, 21211, 21221, 21227, 21247, 21269, 21277, - 21283, 21313, 21317, 21319, 21323, 21341, 21347, 21377, 21379, 21383, - 21391, 21397, 21401, 21407, 21419, 21433, 21467, 21481, 21487, 21491, - 21493, 21499, 21503, 21517, 21521, 21523, 21529, 21557, 21559, 21563, - 21569, 21577, 21587, 21589, 21599, 21601, 21611, 21613, 21617, 21647, - 21649, 21661, 21673, 21683, 21701, 21713, 21727, 21737, 21739, 21751, - 21757, 21767, 21773, 21787, 21799, 21803, 21817, 21821, 21839, 21841, - 21851, 21859, 21863, 21871, 21881, 21893, 21911, 21929, 21937, 21943, - 21961, 21977, 21991, 21997, 22003, 22013, 22027, 22031, 22037, 22039, - 22051, 22063, 22067, 22073, 22079, 22091, 22093, 22109, 22111, 22123, - 22129, 22133, 22147, 22153, 22157, 22159, 22171, 22189, 22193, 22229, - 22247, 22259, 22271, 22273, 22277, 22279, 22283, 22291, 22303, 22307, - 22343, 22349, 22367, 22369, 22381, 22391, 22397, 22409, 22433, 22441, - 22447, 22453, 22469, 22481, 22483, 22501, 22511, 22531, 22541, 22543, - 22549, 22567, 22571, 22573, 22613, 22619, 22621, 22637, 22639, 22643, - 22651, 22669, 22679, 22691, 22697, 22699, 22709, 22717, 22721, 22727, - 22739, 22741, 22751, 22769, 22777, 22783, 22787, 22807, 22811, 22817, - 22853, 22859, 22861, 22871, 22877, 22901, 22907, 22921, 22937, 22943, - 22961, 22963, 22973, 22993, 23003, 23011, 23017, 23021, 23027, 23029, - 23039, 23041, 23053, 23057, 23059, 23063, 23071, 23081, 23087, 23099, - 23117, 23131, 23143, 23159, 23167, 23173, 23189, 23197, 23201, 23203, - 23209, 23227, 23251, 23269, 23279, 23291, 23293, 23297, 23311, 23321, - 23327, 23333, 23339, 23357, 23369, 23371, 23399, 23417, 23431, 23447, - 23459, 23473, 23497, 23509, 23531, 23537, 23539, 23549, 23557, 23561, - 23563, 23567, 23581, 23593, 23599, 23603, 23609, 23623, 23627, 23629, - 23633, 23663, 23669, 23671, 23677, 23687, 23689, 23719, 23741, 23743, - 23747, 23753, 23761, 23767, 23773, 23789, 23801, 23813, 23819, 23827, - 23831, 23833, 23857, 23869, 23873, 23879, 23887, 23893, 23899, 23909, - 23911, 23917, 23929, 23957, 23971, 23977, 23981, 23993, 24001, 24007, - 24019, 24023, 24029, 24043, 24049, 24061, 24071, 24077, 24083, 24091, - 24097, 24103, 24107, 24109, 24113, 24121, 24133, 24137, 24151, 24169, - 24179, 24181, 24197, 24203, 24223, 24229, 24239, 24247, 24251, 24281, - 24317, 24329, 24337, 24359, 24371, 24373, 24379, 24391, 24407, 24413, - 24419, 24421, 24439, 24443, 24469, 24473, 24481, 24499, 24509, 24517, - 24527, 24533, 24547, 24551, 24571, 24593, 24611, 24623, 24631, 24659, - 24671, 24677, 24683, 24691, 24697, 24709, 24733, 24749, 24763, 24767, - 24781, 24793, 24799, 24809, 24821, 24841, 24847, 24851, 24859, 24877, - 24889, 24907, 24917, 24919, 24923, 24943, 24953, 24967, 24971, 24977, - 24979, 24989, 25013, 25031, 25033, 25037, 25057, 25073, 25087, 25097, - 25111, 25117, 25121, 25127, 25147, 25153, 25163, 25169, 25171, 25183, - 25189, 25219, 25229, 25237, 25243, 25247, 25253, 25261, 25301, 25303, - 25307, 25309, 25321, 25339, 25343, 25349, 25357, 25367, 25373, 25391, - 25409, 25411, 25423, 25439, 25447, 25453, 25457, 25463, 25469, 25471, - 25523, 25537, 25541, 25561, 25577, 25579, 25583, 25589, 25601, 25603, - 25609, 25621, 25633, 25639, 25643, 25657, 25667, 25673, 25679, 25693, - 25703, 25717, 25733, 25741, 25747, 25759, 25763, 25771, 25793, 25799, - 25801, 25819, 25841, 25847, 25849, 25867, 25873, 25889, 25903, 25913, - 25919, 25931, 25933, 25939, 25943, 25951, 25969, 25981, 25997, 25999, - 26003, 26017, 26021, 26029, 26041, 26053, 26083, 26099, 26107, 26111, - 26113, 26119, 26141, 26153, 26161, 26171, 26177, 26183, 26189, 26203, - 26209, 26227, 26237, 26249, 26251, 26261, 26263, 26267, 26293, 26297, - 26309, 26317, 26321, 26339, 26347, 26357, 26371, 26387, 26393, 26399, - 26407, 26417, 26423, 26431, 26437, 26449, 26459, 26479, 26489, 26497, - 26501, 26513, 26539, 26557, 26561, 26573, 26591, 26597, 26627, 26633, - 26641, 26647, 26669, 26681, 26683, 26687, 26693, 26699, 26701, 26711, - 26713, 26717, 26723, 26729, 26731, 26737, 26759, 26777, 26783, 26801, - 26813, 26821, 26833, 26839, 26849, 26861, 26863, 26879, 26881, 26891, - 26893, 26903, 26921, 26927, 26947, 26951, 26953, 26959, 26981, 26987, - 26993, 27011, 27017, 27031, 27043, 27059, 27061, 27067, 27073, 27077, - 27091, 27103, 27107, 27109, 27127, 27143, 27179, 27191, 27197, 27211, - 27239, 27241, 27253, 27259, 27271, 27277, 27281, 27283, 27299, 27329, - 27337, 27361, 27367, 27397, 27407, 27409, 27427, 27431, 27437, 27449, - 27457, 27479, 27481, 27487, 27509, 27527, 27529, 27539, 27541, 27551, - 27581, 27583, 27611, 27617, 27631, 27647, 27653, 27673, 27689, 27691, - 27697, 27701, 27733, 27737, 27739, 27743, 27749, 27751, 27763, 27767, - 27773, 27779, 27791, 27793, 27799, 27803, 27809, 27817, 27823, 27827, - 27847, 27851, 27883, 27893, 27901, 27917, 27919, 27941, 27943, 27947, - 27953, 27961, 27967, 27983, 27997, 28001, 28019, 28027, 28031, 28051, - 28057, 28069, 28081, 28087, 28097, 28099, 28109, 28111, 28123, 28151, - 28163, 28181, 28183, 28201, 28211, 28219, 28229, 28277, 28279, 28283, - 28289, 28297, 28307, 28309, 28319, 28349, 28351, 28387, 28393, 28403, - 28409, 28411, 28429, 28433, 28439, 28447, 28463, 28477, 28493, 28499, - 28513, 28517, 28537, 28541, 28547, 28549, 28559, 28571, 28573, 28579, - 28591, 28597, 28603, 28607, 28619, 28621, 28627, 28631, 28643, 28649, - 28657, 28661, 28663, 28669, 28687, 28697, 28703, 28711, 28723, 28729, - 28751, 28753, 28759, 28771, 28789, 28793, 28807, 28813, 28817, 28837, - 28843, 28859, 28867, 28871, 28879, 28901, 28909, 28921, 28927, 28933, - 28949, 28961, 28979, 29009, 29017, 29021, 29023, 29027, 29033, 29059, - 29063, 29077, 29101, 29123, 29129, 29131, 29137, 29147, 29153, 29167, - 29173, 29179, 29191, 29201, 29207, 29209, 29221, 29231, 29243, 29251, - 29269, 29287, 29297, 29303, 29311, 29327, 29333, 29339, 29347, 29363, - 29383, 29387, 29389, 29399, 29401, 29411, 29423, 29429, 29437, 29443, - 29453, 29473, 29483, 29501, 29527, 29531, 29537, 29567, 29569, 29573, - 29581, 29587, 29599, 29611, 29629, 29633, 29641, 29663, 29669, 29671, - 29683, 29717, 29723, 29741, 29753, 29759, 29761, 29789, 29803, 29819, - 29833, 29837, 29851, 29863, 29867, 29873, 29879, 29881, 29917, 29921, - 29927, 29947, 29959, 29983, 29989, 30011, 30013, 30029, 30047, 30059, - 30071, 30089, 30091, 30097, 30103, 30109, 30113, 30119, 30133, 30137, - 30139, 30161, 30169, 30181, 30187, 30197, 30203, 30211, 30223, 30241, - 30253, 30259, 30269, 30271, 30293, 30307, 30313, 30319, 30323, 30341, - 30347, 30367, 30389, 30391, 30403, 30427, 30431, 30449, 30467, 30469, - 30491, 30493, 30497, 30509, 30517, 30529, 30539, 30553, 30557, 30559, - 30577, 30593, 30631, 30637, 30643, 30649, 30661, 30671, 30677, 30689, - 30697, 30703, 30707, 30713, 30727, 30757, 30763, 30773, 30781, 30803, - 30809, 30817, 30829, 30839, 30841, 30851, 30853, 30859, 30869, 30871, - 30881, 30893, 30911, 30931, 30937, 30941, 30949, 30971, 30977, 30983, - 31013, 31019, 31033, 31039, 31051, 31063, 31069, 31079, 31081, 31091, - 31121, 31123, 31139, 31147, 31151, 31153, 31159, 31177, 31181, 31183, - 31189, 31193, 31219, 31223, 31231, 31237, 31247, 31249, 31253, 31259, - 31267, 31271, 31277, 31307, 31319, 31321, 31327, 31333, 31337, 31357, - 31379, 31387, 31391, 31393, 31397, 31469, 31477, 31481, 31489, 31511, - 31513, 31517, 31531, 31541, 31543, 31547, 31567, 31573, 31583, 31601, - 31607, 31627, 31643, 31649, 31657, 31663, 31667, 31687, 31699, 31721, - 31723, 31727, 31729, 31741, 31751, 31769, 31771, 31793, 31799, 31817, - 31847, 31849, 31859, 31873, 31883, 31891, 31907, 31957, 31963, 31973, - 31981, 31991, 32003, 32009, 32027, 32029, 32051, 32057, 32059, 32063, - 32069, 32077, 32083, 32089, 32099, 32117, 32119, 32141, 32143, 32159, - 32173, 32183, 32189, 32191, 32203, 32213, 32233, 32237, 32251, 32257, - 32261, 32297, 32299, 32303, 32309, 32321, 32323, 32327, 32341, 32353, - 32359, 32363, 32369, 32371, 32377, 32381, 32401, 32411, 32413, 32423, - 32429, 32441, 32443, 32467, 32479, 32491, 32497, 32503, 32507, 32531, - 32533, 32537, 32561, 32563, 32569, 32573, 32579, 32587, 32603, 32609, - 32611, 32621, 32633, 32647, 32653, 32687, 32693, 32707, 32713, 32717, - 32719, 32749, 32771, 32779, 32783, 32789, 32797, 32801, 32803, 32831, - 32833, 32839, 32843, 32869, 32887, 32909, 32911, 32917, 32933, 32939, - 32941, 32957, 32969, 32971, 32983, 32987, 32993, 32999, 33013, 33023, - 33029, 33037, 33049, 33053, 33071, 33073, 33083, 33091, 33107, 33113, - 33119, 33149, 33151, 33161, 33179, 33181, 33191, 33199, 33203, 33211, - 33223, 33247, 33287, 33289, 33301, 33311, 33317, 33329, 33331, 33343, - 33347, 33349, 33353, 33359, 33377, 33391, 33403, 33409, 33413, 33427, - 33457, 33461, 33469, 33479, 33487, 33493, 33503, 33521, 33529, 33533, - 33547, 33563, 33569, 33577, 33581, 33587, 33589, 33599, 33601, 33613, - 33617, 33619, 33623, 33629, 33637, 33641, 33647, 33679, 33703, 33713, - 33721, 33739, 33749, 33751, 33757, 33767, 33769, 33773, 33791, 33797, - 33809, 33811, 33827, 33829, 33851, 33857, 33863, 33871, 33889, 33893, - 33911, 33923, 33931, 33937, 33941, 33961, 33967, 33997, 34019, 34031, - 34033, 34039, 34057, 34061, 34123, 34127, 34129, 34141, 34147, 34157, - 34159, 34171, 34183, 34211, 34213, 34217, 34231, 34253, 34259, 34261, - 34267, 34273, 34283, 34297, 34301, 34303, 34313, 34319, 34327, 34337, - 34351, 34361, 34367, 34369, 34381, 34403, 34421, 34429, 34439, 34457, - 34469, 34471, 34483, 34487, 34499, 34501, 34511, 34513, 34519, 34537, - 34543, 34549, 34583, 34589, 34591, 34603, 34607, 34613, 34631, 34649, - 34651, 34667, 34673, 34679, 34687, 34693, 34703, 34721, 34729, 34739, - 34747, 34757, 34759, 34763, 34781, 34807, 34819, 34841, 34843, 34847, - 34849, 34871, 34877, 34883, 34897, 34913, 34919, 34939, 34949, 34961, - 34963, 34981, 35023, 35027, 35051, 35053, 35059, 35069, 35081, 35083, - 35089, 35099, 35107, 35111, 35117, 35129, 35141, 35149, 35153, 35159, - 35171, 35201, 35221, 35227, 35251, 35257, 35267, 35279, 35281, 35291, - 35311, 35317, 35323, 35327, 35339, 35353, 35363, 35381, 35393, 35401, - 35407, 35419, 35423, 35437, 35447, 35449, 35461, 35491, 35507, 35509, - 35521, 35527, 35531, 35533, 35537, 35543, 35569, 35573, 35591, 35593, - 35597, 35603, 35617, 35671, 35677, 35729, 35731, 35747, 35753, 35759, - 35771, 35797, 35801, 35803, 35809, 35831, 35837, 35839, 35851, 35863, - 35869, 35879, 35897, 35899, 35911, 35923, 35933, 35951, 35963, 35969, - 35977, 35983, 35993, 35999, 36007, 36011, 36013, 36017, 36037, 36061, - 36067, 36073, 36083, 36097, 36107, 36109, 36131, 36137, 36151, 36161, - 36187, 36191, 36209, 36217, 36229, 36241, 36251, 36263, 36269, 36277, - 36293, 36299, 36307, 36313, 36319, 36341, 36343, 36353, 36373, 36383, - 36389, 36433, 36451, 36457, 36467, 36469, 36473, 36479, 36493, 36497, - 36523, 36527, 36529, 36541, 36551, 36559, 36563, 36571, 36583, 36587, - 36599, 36607, 36629, 36637, 36643, 36653, 36671, 36677, 36683, 36691, - 36697, 36709, 36713, 36721, 36739, 36749, 36761, 36767, 36779, 36781, - 36787, 36791, 36793, 36809, 36821, 36833, 36847, 36857, 36871, 36877, - 36887, 36899, 36901, 36913, 36919, 36923, 36929, 36931, 36943, 36947, - 36973, 36979, 36997, 37003, 37013, 37019, 37021, 37039, 37049, 37057, - 37061, 37087, 37097, 37117, 37123, 37139, 37159, 37171, 37181, 37189, - 37199, 37201, 37217, 37223, 37243, 37253, 37273, 37277, 37307, 37309, - 37313, 37321, 37337, 37339, 37357, 37361, 37363, 37369, 37379, 37397, - 37409, 37423, 37441, 37447, 37463, 37483, 37489, 37493, 37501, 37507, - 37511, 37517, 37529, 37537, 37547, 37549, 37561, 37567, 37571, 37573, - 37579, 37589, 37591, 37607, 37619, 37633, 37643, 37649, 37657, 37663, - 37691, 37693, 37699, 37717, 37747, 37781, 37783, 37799, 37811, 37813, - 37831, 37847, 37853, 37861, 37871, 37879, 37889, 37897, 37907, 37951, - 37957, 37963, 37967, 37987, 37991, 37993, 37997, 38011, 38039, 38047, - 38053, 38069, 38083, 38113, 38119, 38149, 38153, 38167, 38177, 38183, - 38189, 38197, 38201, 38219, 38231, 38237, 38239, 38261, 38273, 38281, - 38287, 38299, 38303, 38317, 38321, 38327, 38329, 38333, 38351, 38371, - 38377, 38393, 38431, 38447, 38449, 38453, 38459, 38461, 38501, 38543, - 38557, 38561, 38567, 38569, 38593, 38603, 38609, 38611, 38629, 38639, - 38651, 38653, 38669, 38671, 38677, 38693, 38699, 38707, 38711, 38713, - 38723, 38729, 38737, 38747, 38749, 38767, 38783, 38791, 38803, 38821, - 38833, 38839, 38851, 38861, 38867, 38873, 38891, 38903, 38917, 38921, - 38923, 38933, 38953, 38959, 38971, 38977, 38993, 39019, 39023, 39041, - 39043, 39047, 39079, 39089, 39097, 39103, 39107, 39113, 39119, 39133, - 39139, 39157, 39161, 39163, 39181, 39191, 39199, 39209, 39217, 39227, - 39229, 39233, 39239, 39241, 39251, 39293, 39301, 39313, 39317, 39323, - 39341, 39343, 39359, 39367, 39371, 39373, 39383, 39397, 39409, 39419, - 39439, 39443, 39451, 39461, 39499, 39503, 39509, 39511, 39521, 39541, - 39551, 39563, 39569, 39581, 39607, 39619, 39623, 39631, 39659, 39667, - 39671, 39679, 39703, 39709, 39719, 39727, 39733, 39749, 39761, 39769, - 39779, 39791, 39799, 39821, 39827, 39829, 39839, 39841, 39847, 39857, - 39863, 39869, 39877, 39883, 39887, 39901, 39929, 39937, 39953, 39971, - 39979, 39983, 39989, 40009, 40013, 40031, 40037, 40039, 40063, 40087, - 40093, 40099, 40111, 40123, 40127, 40129, 40151, 40153, 40163, 40169, - 40177, 40189, 40193, 40213, 40231, 40237, 40241, 40253, 40277, 40283, - 40289, 40343, 40351, 40357, 40361, 40387, 40423, 40427, 40429, 40433, - 40459, 40471, 40483, 40487, 40493, 40499, 40507, 40519, 40529, 40531, - 40543, 40559, 40577, 40583, 40591, 40597, 40609, 40627, 40637, 40639, - 40693, 40697, 40699, 40709, 40739, 40751, 40759, 40763, 40771, 40787, - 40801, 40813, 40819, 40823, 40829, 40841, 40847, 40849, 40853, 40867, - 40879, 40883, 40897, 40903, 40927, 40933, 40939, 40949, 40961, 40973, - 40993, 41011, 41017, 41023, 41039, 41047, 41051, 41057, 41077, 41081, - 41113, 41117, 41131, 41141, 41143, 41149, 41161, 41177, 41179, 41183, - 41189, 41201, 41203, 41213, 41221, 41227, 41231, 41233, 41243, 41257, - 41263, 41269, 41281, 41299, 41333, 41341, 41351, 41357, 41381, 41387, - 41389, 41399, 41411, 41413, 41443, 41453, 41467, 41479, 41491, 41507, - 41513, 41519, 41521, 41539, 41543, 41549, 41579, 41593, 41597, 41603, - 41609, 41611, 41617, 41621, 41627, 41641, 41647, 41651, 41659, 41669, - 41681, 41687, 41719, 41729, 41737, 41759, 41761, 41771, 41777, 41801, - 41809, 41813, 41843, 41849, 41851, 41863, 41879, 41887, 41893, 41897, - 41903, 41911, 41927, 41941, 41947, 41953, 41957, 41959, 41969, 41981, - 41983, 41999, 42013, 42017, 42019, 42023, 42043, 42061, 42071, 42073, - 42083, 42089, 42101, 42131, 42139, 42157, 42169, 42179, 42181, 42187, - 42193, 42197, 42209, 42221, 42223, 42227, 42239, 42257, 42281, 42283, - 42293, 42299, 42307, 42323, 42331, 42337, 42349, 42359, 42373, 42379, - 42391, 42397, 42403, 42407, 42409, 42433, 42437, 42443, 42451, 42457, - 42461, 42463, 42467, 42473, 42487, 42491, 42499, 42509, 42533, 42557, - 42569, 42571, 42577, 42589, 42611, 42641, 42643, 42649, 42667, 42677, - 42683, 42689, 42697, 42701, 42703, 42709, 42719, 42727, 42737, 42743, - 42751, 42767, 42773, 42787, 42793, 42797, 42821, 42829, 42839, 42841, - 42853, 42859, 42863, 42899, 42901, 42923, 42929, 42937, 42943, 42953, - 42961, 42967, 42979, 42989, 43003, 43013, 43019, 43037, 43049, 43051, - 43063, 43067, 43093, 43103, 43117, 43133, 43151, 43159, 43177, 43189, - 43201, 43207, 43223, 43237, 43261, 43271, 43283, 43291, 43313, 43319, - 43321, 43331, 43391, 43397, 43399, 43403, 43411, 43427, 43441, 43451, - 43457, 43481, 43487, 43499, 43517, 43541, 43543, 43573, 43577, 43579, - 43591, 43597, 43607, 43609, 43613, 43627, 43633, 43649, 43651, 43661, - 43669, 43691, 43711, 43717, 43721, 43753, 43759, 43777, 43781, 43783, - 43787, 43789, 43793, 43801, 43853, 43867, 43889, 43891, 43913, 43933, - 43943, 43951, 43961, 43963, 43969, 43973, 43987, 43991, 43997, 44017, - 44021, 44027, 44029, 44041, 44053, 44059, 44071, 44087, 44089, 44101, - 44111, 44119, 44123, 44129, 44131, 44159, 44171, 44179, 44189, 44201, - 44203, 44207, 44221, 44249, 44257, 44263, 44267, 44269, 44273, 44279, - 44281, 44293, 44351, 44357, 44371, 44381, 44383, 44389, 44417, 44449, - 44453, 44483, 44491, 44497, 44501, 44507, 44519, 44531, 44533, 44537, - 44543, 44549, 44563, 44579, 44587, 44617, 44621, 44623, 44633, 44641, - 44647, 44651, 44657, 44683, 44687, 44699, 44701, 44711, 44729, 44741, - 44753, 44771, 44773, 44777, 44789, 44797, 44809, 44819, 44839, 44843, - 44851, 44867, 44879, 44887, 44893, 44909, 44917, 44927, 44939, 44953, - 44959, 44963, 44971, 44983, 44987, 45007, 45013, 45053, 45061, 45077, - 45083, 45119, 45121, 45127, 45131, 45137, 45139, 45161, 45179, 45181, - 45191, 45197, 45233, 45247, 45259, 45263, 45281, 45289, 45293, 45307, - 45317, 45319, 45329, 45337, 45341, 45343, 45361, 45377, 45389, 45403, - 45413, 45427, 45433, 45439, 45481, 45491, 45497, 45503, 45523, 45533, - 45541, 45553, 45557, 45569, 45587, 45589, 45599, 45613, 45631, 45641, - 45659, 45667, 45673, 45677, 45691, 45697, 45707, 45737, 45751, 45757, - 45763, 45767, 45779, 45817, 45821, 45823, 45827, 45833, 45841, 45853, - 45863, 45869, 45887, 45893, 45943, 45949, 45953, 45959, 45971, 45979, - 45989, 46021, 46027, 46049, 46051, 46061, 46073, 46091, 46093, 46099, - 46103, 46133, 46141, 46147, 46153, 46171, 46181, 46183, 46187, 46199, - 46219, 46229, 46237, 46261, 46271, 46273, 46279, 46301, 46307, 46309, - 46327, 46337, 46349, 46351, 46381, 46399, 46411, 46439, 46441, 46447, - 46451, 46457, 46471, 46477, 46489, 46499, 46507, 46511, 46523, 46549, - 46559, 46567, 46573, 46589, 46591, 46601, 46619, 46633, 46639, 46643, - 46649, 46663, 46679, 46681, 46687, 46691, 46703, 46723, 46727, 46747, - 46751, 46757, 46769, 46771, 46807, 46811, 46817, 46819, 46829, 46831, - 46853, 46861, 46867, 46877, 46889, 46901, 46919, 46933, 46957, 46993, - 46997, 47017, 47041, 47051, 47057, 47059, 47087, 47093, 47111, 47119, - 47123, 47129, 47137, 47143, 47147, 47149, 47161, 47189, 47207, 47221, - 47237, 47251, 47269, 47279, 47287, 47293, 47297, 47303, 47309, 47317, - 47339, 47351, 47353, 47363, 47381, 47387, 47389, 47407, 47417, 47419, - 47431, 47441, 47459, 47491, 47497, 47501, 47507, 47513, 47521, 47527, - 47533, 47543, 47563, 47569, 47581, 47591, 47599, 47609, 47623, 47629, - 47639, 47653, 47657, 47659, 47681, 47699, 47701, 47711, 47713, 47717, - 47737, 47741, 47743, 47777, 47779, 47791, 47797, 47807, 47809, 47819, - 47837, 47843, 47857, 47869, 47881, 47903, 47911, 47917, 47933, 47939, - 47947, 47951, 47963, 47969, 47977, 47981, 48017, 48023, 48029, 48049, - 48073, 48079, 48091, 48109, 48119, 48121, 48131, 48157, 48163, 48179, - 48187, 48193, 48197, 48221, 48239, 48247, 48259, 48271, 48281, 48299, - 48311, 48313, 48337, 48341, 48353, 48371, 48383, 48397, 48407, 48409, - 48413, 48437, 48449, 48463, 48473, 48479, 48481, 48487, 48491, 48497, - 48523, 48527, 48533, 48539, 48541, 48563, 48571, 48589, 48593, 48611, - 48619, 48623, 48647, 48649, 48661, 48673, 48677, 48679, 48731, 48733, - 48751, 48757, 48761, 48767, 48779, 48781, 48787, 48799, 48809, 48817, - 48821, 48823, 48847, 48857, 48859, 48869, 48871, 48883, 48889, 48907, - 48947, 48953, 48973, 48989, 48991, 49003, 49009, 49019, 49031, 49033, - 49037, 49043, 49057, 49069, 49081, 49103, 49109, 49117, 49121, 49123, - 49139, 49157, 49169, 49171, 49177, 49193, 49199, 49201, 49207, 49211, - 49223, 49253, 49261, 49277, 49279, 49297, 49307, 49331, 49333, 49339, - 49363, 49367, 49369, 49391, 49393, 49409, 49411, 49417, 49429, 49433, - 49451, 49459, 49463, 49477, 49481, 49499, 49523, 49529, 49531, 49537, - 49547, 49549, 49559, 49597, 49603, 49613, 49627, 49633, 49639, 49663, - 49667, 49669, 49681, 49697, 49711, 49727, 49739, 49741, 49747, 49757, - 49783, 49787, 49789, 49801, 49807, 49811, 49823, 49831, 49843, 49853, - 49871, 49877, 49891, 49919, 49921, 49927, 49937, 49939, 49943, 49957, - 49991, 49993, 49999, 50021, 50023, 50033, 50047, 50051, 50053, 50069, - 50077, 50087, 50093, 50101, 50111, 50119, 50123, 50129, 50131, 50147, - 50153, 50159, 50177, 50207, 50221, 50227, 50231, 50261, 50263, 50273, - 50287, 50291, 50311, 50321, 50329, 50333, 50341, 50359, 50363, 50377, - 50383, 50387, 50411, 50417, 50423, 50441, 50459, 50461, 50497, 50503, - 50513, 50527, 50539, 50543, 50549, 50551, 50581, 50587, 50591, 50593, - 50599, 50627, 50647, 50651, 50671, 50683, 50707, 50723, 50741, 50753, - 50767, 50773, 50777, 50789, 50821, 50833, 50839, 50849, 50857, 50867, - 50873, 50891, 50893, 50909, 50923, 50929, 50951, 50957, 50969, 50971, - 50989, 50993, 51001, 51031, 51043, 51047, 51059, 51061, 51071, 51109, - 51131, 51133, 51137, 51151, 51157, 51169, 51193, 51197, 51199, 51203, - 51217, 51229, 51239, 51241, 51257, 51263, 51283, 51287, 51307, 51329, - 51341, 51343, 51347, 51349, 51361, 51383, 51407, 51413, 51419, 51421, - 51427, 51431, 51437, 51439, 51449, 51461, 51473, 51479, 51481, 51487, - 51503, 51511, 51517, 51521, 51539, 51551, 51563, 51577, 51581, 51593, - 51599, 51607, 51613, 51631, 51637, 51647, 51659, 51673, 51679, 51683, - 51691, 51713, 51719, 51721, 51749, 51767, 51769, 51787, 51797, 51803, - 51817, 51827, 51829, 51839, 51853, 51859, 51869, 51871, 51893, 51899, - 51907, 51913, 51929, 51941, 51949, 51971, 51973, 51977, 51991, 52009, - 52021, 52027, 52051, 52057, 52067, 52069, 52081, 52103, 52121, 52127, - 52147, 52153, 52163, 52177, 52181, 52183, 52189, 52201, 52223, 52237, - 52249, 52253, 52259, 52267, 52289, 52291, 52301, 52313, 52321, 52361, - 52363, 52369, 52379, 52387, 52391, 52433, 52453, 52457, 52489, 52501, - 52511, 52517, 52529, 52541, 52543, 52553, 52561, 52567, 52571, 52579, - 52583, 52609, 52627, 52631, 52639, 52667, 52673, 52691, 52697, 52709, - 52711, 52721, 52727, 52733, 52747, 52757, 52769, 52783, 52807, 52813, - 52817, 52837, 52859, 52861, 52879, 52883, 52889, 52901, 52903, 52919, - 52937, 52951, 52957, 52963, 52967, 52973, 52981, 52999, 53003, 53017, - 53047, 53051, 53069, 53077, 53087, 53089, 53093, 53101, 53113, 53117, - 53129, 53147, 53149, 53161, 53171, 53173, 53189, 53197, 53201, 53231, - 53233, 53239, 53267, 53269, 53279, 53281, 53299, 53309, 53323, 53327, - 53353, 53359, 53377, 53381, 53401, 53407, 53411, 53419, 53437, 53441, - 53453, 53479, 53503, 53507, 53527, 53549, 53551, 53569, 53591, 53593, - 53597, 53609, 53611, 53617, 53623, 53629, 53633, 53639, 53653, 53657, - 53681, 53693, 53699, 53717, 53719, 53731, 53759, 53773, 53777, 53783, - 53791, 53813, 53819, 53831, 53849, 53857, 53861, 53881, 53887, 53891, - 53897, 53899, 53917, 53923, 53927, 53939, 53951, 53959, 53987, 53993, - 54001, 54011, 54013, 54037, 54049, 54059, 54083, 54091, 54101, 54121, - 54133, 54139, 54151, 54163, 54167, 54181, 54193, 54217, 54251, 54269, - 54277, 54287, 54293, 54311, 54319, 54323, 54331, 54347, 54361, 54367, - 54371, 54377, 54401, 54403, 54409, 54413, 54419, 54421, 54437, 54443, - 54449, 54469, 54493, 54497, 54499, 54503, 54517, 54521, 54539, 54541, - 54547, 54559, 54563, 54577, 54581, 54583, 54601, 54617, 54623, 54629, - 54631, 54647, 54667, 54673, 54679, 54709, 54713, 54721, 54727, 54751, - 54767, 54773, 54779, 54787, 54799, 54829, 54833, 54851, 54869, 54877, - 54881, 54907, 54917, 54919, 54941, 54949, 54959, 54973, 54979, 54983, - 55001, 55009, 55021, 55049, 55051, 55057, 55061, 55073, 55079, 55103, - 55109, 55117, 55127, 55147, 55163, 55171, 55201, 55207, 55213, 55217, - 55219, 55229, 55243, 55249, 55259, 55291, 55313, 55331, 55333, 55337, - 55339, 55343, 55351, 55373, 55381, 55399, 55411, 55439, 55441, 55457, - 55469, 55487, 55501, 55511, 55529, 55541, 55547, 55579, 55589, 55603, - 55609, 55619, 55621, 55631, 55633, 55639, 55661, 55663, 55667, 55673, - 55681, 55691, 55697, 55711, 55717, 55721, 55733, 55763, 55787, 55793, - 55799, 55807, 55813, 55817, 55819, 55823, 55829, 55837, 55843, 55849, - 55871, 55889, 55897, 55901, 55903, 55921, 55927, 55931, 55933, 55949, - 55967, 55987, 55997, 56003, 56009, 56039, 56041, 56053, 56081, 56087, - 56093, 56099, 56101, 56113, 56123, 56131, 56149, 56167, 56171, 56179, - 56197, 56207, 56209, 56237, 56239, 56249, 56263, 56267, 56269, 56299, - 56311, 56333, 56359, 56369, 56377, 56383, 56393, 56401, 56417, 56431, - 56437, 56443, 56453, 56467, 56473, 56477, 56479, 56489, 56501, 56503, - 56509, 56519, 56527, 56531, 56533, 56543, 56569, 56591, 56597, 56599, - 56611, 56629, 56633, 56659, 56663, 56671, 56681, 56687, 56701, 56711, - 56713, 56731, 56737, 56747, 56767, 56773, 56779, 56783, 56807, 56809, - 56813, 56821, 56827, 56843, 56857, 56873, 56891, 56893, 56897, 56909, - 56911, 56921, 56923, 56929, 56941, 56951, 56957, 56963, 56983, 56989, - 56993, 56999, 57037, 57041, 57047, 57059, 57073, 57077, 57089, 57097, - 57107, 57119, 57131, 57139, 57143, 57149, 57163, 57173, 57179, 57191, - 57193, 57203, 57221, 57223, 57241, 57251, 57259, 57269, 57271, 57283, - 57287, 57301, 57329, 57331, 57347, 57349, 57367, 57373, 57383, 57389, - 57397, 57413, 57427, 57457, 57467, 57487, 57493, 57503, 57527, 57529, - 57557, 57559, 57571, 57587, 57593, 57601, 57637, 57641, 57649, 57653, - 57667, 57679, 57689, 57697, 57709, 57713, 57719, 57727, 57731, 57737, - 57751, 57773, 57781, 57787, 57791, 57793, 57803, 57809, 57829, 57839, - 57847, 57853, 57859, 57881, 57899, 57901, 57917, 57923, 57943, 57947, - 57973, 57977, 57991, 58013, 58027, 58031, 58043, 58049, 58057, 58061, - 58067, 58073, 58099, 58109, 58111, 58129, 58147, 58151, 58153, 58169, - 58171, 58189, 58193, 58199, 58207, 58211, 58217, 58229, 58231, 58237, - 58243, 58271, 58309, 58313, 58321, 58337, 58363, 58367, 58369, 58379, - 58391, 58393, 58403, 58411, 58417, 58427, 58439, 58441, 58451, 58453, - 58477, 58481, 58511, 58537, 58543, 58549, 58567, 58573, 58579, 58601, - 58603, 58613, 58631, 58657, 58661, 58679, 58687, 58693, 58699, 58711, - 58727, 58733, 58741, 58757, 58763, 58771, 58787, 58789, 58831, 58889, - 58897, 58901, 58907, 58909, 58913, 58921, 58937, 58943, 58963, 58967, - 58979, 58991, 58997, 59009, 59011, 59021, 59023, 59029, 59051, 59053, - 59063, 59069, 59077, 59083, 59093, 59107, 59113, 59119, 59123, 59141, - 59149, 59159, 59167, 59183, 59197, 59207, 59209, 59219, 59221, 59233, - 59239, 59243, 59263, 59273, 59281, 59333, 59341, 59351, 59357, 59359, - 59369, 59377, 59387, 59393, 59399, 59407, 59417, 59419, 59441, 59443, - 59447, 59453, 59467, 59471, 59473, 59497, 59509, 59513, 59539, 59557, - 59561, 59567, 59581, 59611, 59617, 59621, 59627, 59629, 59651, 59659, - 59663, 59669, 59671, 59693, 59699, 59707, 59723, 59729, 59743, 59747, - 59753, 59771, 59779, 59791, 59797, 59809, 59833, 59863, 59879, 59887, - 59921, 59929, 59951, 59957, 59971, 59981, 59999, 60013, 60017, 60029, - 60037, 60041, 60077, 60083, 60089, 60091, 60101, 60103, 60107, 60127, - 60133, 60139, 60149, 60161, 60167, 60169, 60209, 60217, 60223, 60251, - 60257, 60259, 60271, 60289, 60293, 60317, 60331, 60337, 60343, 60353, - 60373, 60383, 60397, 60413, 60427, 60443, 60449, 60457, 60493, 60497, - 60509, 60521, 60527, 60539, 60589, 60601, 60607, 60611, 60617, 60623, - 60631, 60637, 60647, 60649, 60659, 60661, 60679, 60689, 60703, 60719, - 60727, 60733, 60737, 60757, 60761, 60763, 60773, 60779, 60793, 60811, - 60821, 60859, 60869, 60887, 60889, 60899, 60901, 60913, 60917, 60919, - 60923, 60937, 60943, 60953, 60961, 61001, 61007, 61027, 61031, 61043, - 61051, 61057, 61091, 61099, 61121, 61129, 61141, 61151, 61153, 61169, - 61211, 61223, 61231, 61253, 61261, 61283, 61291, 61297, 61331, 61333, - 61339, 61343, 61357, 61363, 61379, 61381, 61403, 61409, 61417, 61441, - 61463, 61469, 61471, 61483, 61487, 61493, 61507, 61511, 61519, 61543, - 61547, 61553, 61559, 61561, 61583, 61603, 61609, 61613, 61627, 61631, - 61637, 61643, 61651, 61657, 61667, 61673, 61681, 61687, 61703, 61717, - 61723, 61729, 61751, 61757, 61781, 61813, 61819, 61837, 61843, 61861, - 61871, 61879, 61909, 61927, 61933, 61949, 61961, 61967, 61979, 61981, - 61987, 61991, 62003, 62011, 62017, 62039, 62047, 62053, 62057, 62071, - 62081, 62099, 62119, 62129, 62131, 62137, 62141, 62143, 62171, 62189, - 62191, 62201, 62207, 62213, 62219, 62233, 62273, 62297, 62299, 62303, - 62311, 62323, 62327, 62347, 62351, 62383, 62401, 62417, 62423, 62459, - 62467, 62473, 62477, 62483, 62497, 62501, 62507, 62533, 62539, 62549, - 62563, 62581, 62591, 62597, 62603, 62617, 62627, 62633, 62639, 62653, - 62659, 62683, 62687, 62701, 62723, 62731, 62743, 62753, 62761, 62773, - 62791, 62801, 62819, 62827, 62851, 62861, 62869, 62873, 62897, 62903, - 62921, 62927, 62929, 62939, 62969, 62971, 62981, 62983, 62987, 62989, - 63029, 63031, 63059, 63067, 63073, 63079, 63097, 63103, 63113, 63127, - 63131, 63149, 63179, 63197, 63199, 63211, 63241, 63247, 63277, 63281, - 63299, 63311, 63313, 63317, 63331, 63337, 63347, 63353, 63361, 63367, - 63377, 63389, 63391, 63397, 63409, 63419, 63421, 63439, 63443, 63463, - 63467, 63473, 63487, 63493, 63499, 63521, 63527, 63533, 63541, 63559, - 63577, 63587, 63589, 63599, 63601, 63607, 63611, 63617, 63629, 63647, - 63649, 63659, 63667, 63671, 63689, 63691, 63697, 63703, 63709, 63719, - 63727, 63737, 63743, 63761, 63773, 63781, 63793, 63799, 63803, 63809, - 63823, 63839, 63841, 63853, 63857, 63863, 63901, 63907, 63913, 63929, - 63949, 63977, 63997, 64007, 64013, 64019, 64033, 64037, 64063, 64067, - 64081, 64091, 64109, 64123, 64151, 64153, 64157, 64171, 64187, 64189, - 64217, 64223, 64231, 64237, 64271, 64279, 64283, 64301, 64303, 64319, - 64327, 64333, 64373, 64381, 64399, 64403, 64433, 64439, 64451, 64453, - 64483, 64489, 64499, 64513, 64553, 64567, 64577, 64579, 64591, 64601, - 64609, 64613, 64621, 64627, 64633, 64661, 64663, 64667, 64679, 64693, - 64709, 64717, 64747, 64763, 64781, 64783, 64793, 64811, 64817, 64849, - 64853, 64871, 64877, 64879, 64891, 64901, 64919, 64921, 64927, 64937, - 64951, 64969, 64997, 65003, 65011, 65027, 65029, 65033, 65053, 65063, - 65071, 65089, 65099, 65101, 65111, 65119, 65123, 65129, 65141, 65147, - 65167, 65171, 65173, 65179, 65183, 65203, 65213, 65239, 65257, 65267, - 65269, 65287, 65293, 65309, 65323, 65327, 65353, 65357, 65371, 65381, - 65393, 65407, 65413, 65419, 65423, 65437, 65447, 65449, 65479, 65497, - 65519, 65521, 65537, 65539, 65543, 65551, 65557, 65563, 65579, 65581, - 65587, 65599, 65609, 65617, 65629, 65633, 65647, 65651, 65657, 65677, - 65687, 65699, 65701, 65707, 65713, 65717, 65719, 65729, 65731, 65761, - 65777, 65789, 65809, 65827, 65831, 65837, 65839, 65843, 65851, 65867, - 65881, 65899, 65921, 65927, 65929, 65951, 65957, 65963, 65981, 65983, - 65993, 66029, 66037, 66041, 66047, 66067, 66071, 66083, 66089, 66103, - 66107, 66109, 66137, 66161, 66169, 66173, 66179, 66191, 66221, 66239, - 66271, 66293, 66301, 66337, 66343, 66347, 66359, 66361, 66373, 66377, - 66383, 66403, 66413, 66431, 66449, 66457, 66463, 66467, 66491, 66499, - 66509, 66523, 66529, 66533, 66541, 66553, 66569, 66571, 66587, 66593, - 66601, 66617, 66629, 66643, 66653, 66683, 66697, 66701, 66713, 66721, - 66733, 66739, 66749, 66751, 66763, 66791, 66797, 66809, 66821, 66841, - 66851, 66853, 66863, 66877, 66883, 66889, 66919, 66923, 66931, 66943, - 66947, 66949, 66959, 66973, 66977, 67003, 67021, 67033, 67043, 67049, - 67057, 67061, 67073, 67079, 67103, 67121, 67129, 67139, 67141, 67153, - 67157, 67169, 67181, 67187, 67189, 67211, 67213, 67217, 67219, 67231, - 67247, 67261, 67271, 67273, 67289, 67307, 67339, 67343, 67349, 67369, - 67391, 67399, 67409, 67411, 67421, 67427, 67429, 67433, 67447, 67453, - 67477, 67481, 67489, 67493, 67499, 67511, 67523, 67531, 67537, 67547, - 67559, 67567, 67577, 67579, 67589, 67601, 67607, 67619, 67631, 67651, - 67679, 67699, 67709, 67723, 67733, 67741, 67751, 67757, 67759, 67763, - 67777, 67783, 67789, 67801, 67807, 67819, 67829, 67843, 67853, 67867, - 67883, 67891, 67901, 67927, 67931, 67933, 67939, 67943, 67957, 67961, - 67967, 67979, 67987, 67993, 68023, 68041, 68053, 68059, 68071, 68087, - 68099, 68111, 68113, 68141, 68147, 68161, 68171, 68207, 68209, 68213, - 68219, 68227, 68239, 68261, 68279, 68281, 68311, 68329, 68351, 68371, - 68389, 68399, 68437, 68443, 68447, 68449, 68473, 68477, 68483, 68489, - 68491, 68501, 68507, 68521, 68531, 68539, 68543, 68567, 68581, 68597, - 68611, 68633, 68639, 68659, 68669, 68683, 68687, 68699, 68711, 68713, - 68729, 68737, 68743, 68749, 68767, 68771, 68777, 68791, 68813, 68819, - 68821, 68863, 68879, 68881, 68891, 68897, 68899, 68903, 68909, 68917, - 68927, 68947, 68963, 68993, 69001, 69011, 69019, 69029, 69031, 69061, - 69067, 69073, 69109, 69119, 69127, 69143, 69149, 69151, 69163, 69191, - 69193, 69197, 69203, 69221, 69233, 69239, 69247, 69257, 69259, 69263, - 69313, 69317, 69337, 69341, 69371, 69379, 69383, 69389, 69401, 69403, - 69427, 69431, 69439, 69457, 69463, 69467, 69473, 69481, 69491, 69493, - 69497, 69499, 69539, 69557, 69593, 69623, 69653, 69661, 69677, 69691, - 69697, 69709, 69737, 69739, 69761, 69763, 69767, 69779, 69809, 69821, - 69827, 69829, 69833, 69847, 69857, 69859, 69877, 69899, 69911, 69929, - 69931, 69941, 69959, 69991, 69997, 70001, 70003, 70009, 70019, 70039, - 70051, 70061, 70067, 70079, 70099, 70111, 70117, 70121, 70123, 70139, - 70141, 70157, 70163, 70177, 70181, 70183, 70199, 70201, 70207, 70223, - 70229, 70237, 70241, 70249, 70271, 70289, 70297, 70309, 70313, 70321, - 70327, 70351, 70373, 70379, 70381, 70393, 70423, 70429, 70439, 70451, - 70457, 70459, 70481, 70487, 70489, 70501, 70507, 70529, 70537, 70549, - 70571, 70573, 70583, 70589, 70607, 70619, 70621, 70627, 70639, 70657, - 70663, 70667, 70687, 70709, 70717, 70729, 70753, 70769, 70783, 70793, - 70823, 70841, 70843, 70849, 70853, 70867, 70877, 70879, 70891, 70901, - 70913, 70919, 70921, 70937, 70949, 70951, 70957, 70969, 70979, 70981, - 70991, 70997, 70999, 71011, 71023, 71039, 71059, 71069, 71081, 71089, - 71119, 71129, 71143, 71147, 71153, 71161, 71167, 71171, 71191, 71209, - 71233, 71237, 71249, 71257, 71261, 71263, 71287, 71293, 71317, 71327, - 71329, 71333, 71339, 71341, 71347, 71353, 71359, 71363, 71387, 71389, - 71399, 71411, 71413, 71419, 71429, 71437, 71443, 71453, 71471, 71473, - 71479, 71483, 71503, 71527, 71537, 71549, 71551, 71563, 71569, 71593, - 71597, 71633, 71647, 71663, 71671, 71693, 71699, 71707, 71711, 71713, - 71719, 71741, 71761, 71777, 71789, 71807, 71809, 71821, 71837, 71843, - 71849, 71861, 71867, 71879, 71881, 71887, 71899, 71909, 71917, 71933, - 71941, 71947, 71963, 71971, 71983, 71987, 71993, 71999, 72019, 72031, - 72043, 72047, 72053, 72073, 72077, 72089, 72091, 72101, 72103, 72109, - 72139, 72161, 72167, 72169, 72173, 72211, 72221, 72223, 72227, 72229, - 72251, 72253, 72269, 72271, 72277, 72287, 72307, 72313, 72337, 72341, - 72353, 72367, 72379, 72383, 72421, 72431, 72461, 72467, 72469, 72481, - 72493, 72497, 72503, 72533, 72547, 72551, 72559, 72577, 72613, 72617, - 72623, 72643, 72647, 72649, 72661, 72671, 72673, 72679, 72689, 72701, - 72707, 72719, 72727, 72733, 72739, 72763, 72767, 72797, 72817, 72823, - 72859, 72869, 72871, 72883, 72889, 72893, 72901, 72907, 72911, 72923, - 72931, 72937, 72949, 72953, 72959, 72973, 72977, 72997, 73009, 73013, - 73019, 73037, 73039, 73043, 73061, 73063, 73079, 73091, 73121, 73127, - 73133, 73141, 73181, 73189, 73237, 73243, 73259, 73277, 73291, 73303, - 73309, 73327, 73331, 73351, 73361, 73363, 73369, 73379, 73387, 73417, - 73421, 73433, 73453, 73459, 73471, 73477, 73483, 73517, 73523, 73529, - 73547, 73553, 73561, 73571, 73583, 73589, 73597, 73607, 73609, 73613, - 73637, 73643, 73651, 73673, 73679, 73681, 73693, 73699, 73709, 73721, - 73727, 73751, 73757, 73771, 73783, 73819, 73823, 73847, 73849, 73859, - 73867, 73877, 73883, 73897, 73907, 73939, 73943, 73951, 73961, 73973, - 73999, 74017, 74021, 74027, 74047, 74051, 74071, 74077, 74093, 74099, - 74101, 74131, 74143, 74149, 74159, 74161, 74167, 74177, 74189, 74197, - 74201, 74203, 74209, 74219, 74231, 74257, 74279, 74287, 74293, 74297, - 74311, 74317, 74323, 74353, 74357, 74363, 74377, 74381, 74383, 74411, - 74413, 74419, 74441, 74449, 74453, 74471, 74489, 74507, 74509, 74521, - 74527, 74531, 74551, 74561, 74567, 74573, 74587, 74597, 74609, 74611, - 74623, 74653, 74687, 74699, 74707, 74713, 74717, 74719, 74729, 74731, - 74747, 74759, 74761, 74771, 74779, 74797, 74821, 74827, 74831, 74843, - 74857, 74861, 74869, 74873, 74887, 74891, 74897, 74903, 74923, 74929, - 74933, 74941, 74959, 75011, 75013, 75017, 75029, 75037, 75041, 75079, - 75083, 75109, 75133, 75149, 75161, 75167, 75169, 75181, 75193, 75209, - 75211, 75217, 75223, 75227, 75239, 75253, 75269, 75277, 75289, 75307, - 75323, 75329, 75337, 75347, 75353, 75367, 75377, 75389, 75391, 75401, - 75403, 75407, 75431, 75437, 75479, 75503, 75511, 75521, 75527, 75533, - 75539, 75541, 75553, 75557, 75571, 75577, 75583, 75611, 75617, 75619, - 75629, 75641, 75653, 75659, 75679, 75683, 75689, 75703, 75707, 75709, - 75721, 75731, 75743, 75767, 75773, 75781, 75787, 75793, 75797, 75821, - 75833, 75853, 75869, 75883, 75913, 75931, 75937, 75941, 75967, 75979, - 75983, 75989, 75991, 75997, 76001, 76003, 76031, 76039, 76079, 76081, - 76091, 76099, 76103, 76123, 76129, 76147, 76157, 76159, 76163, 76207, - 76213, 76231, 76243, 76249, 76253, 76259, 76261, 76283, 76289, 76303, - 76333, 76343, 76367, 76369, 76379, 76387, 76403, 76421, 76423, 76441, - 76463, 76471, 76481, 76487, 76493, 76507, 76511, 76519, 76537, 76541, - 76543, 76561, 76579, 76597, 76603, 76607, 76631, 76649, 76651, 76667, - 76673, 76679, 76697, 76717, 76733, 76753, 76757, 76771, 76777, 76781, - 76801, 76819, 76829, 76831, 76837, 76847, 76871, 76873, 76883, 76907, - 76913, 76919, 76943, 76949, 76961, 76963, 76991, 77003, 77017, 77023, - 77029, 77041, 77047, 77069, 77081, 77093, 77101, 77137, 77141, 77153, - 77167, 77171, 77191, 77201, 77213, 77237, 77239, 77243, 77249, 77261, - 77263, 77267, 77269, 77279, 77291, 77317, 77323, 77339, 77347, 77351, - 77359, 77369, 77377, 77383, 77417, 77419, 77431, 77447, 77471, 77477, - 77479, 77489, 77491, 77509, 77513, 77521, 77527, 77543, 77549, 77551, - 77557, 77563, 77569, 77573, 77587, 77591, 77611, 77617, 77621, 77641, - 77647, 77659, 77681, 77687, 77689, 77699, 77711, 77713, 77719, 77723, - 77731, 77743, 77747, 77761, 77773, 77783, 77797, 77801, 77813, 77839, - 77849, 77863, 77867, 77893, 77899, 77929, 77933, 77951, 77969, 77977, - 77983, 77999, 78007, 78017, 78031, 78041, 78049, 78059, 78079, 78101, - 78121, 78137, 78139, 78157, 78163, 78167, 78173, 78179, 78191, 78193, - 78203, 78229, 78233, 78241, 78259, 78277, 78283, 78301, 78307, 78311, - 78317, 78341, 78347, 78367, 78401, 78427, 78437, 78439, 78467, 78479, - 78487, 78497, 78509, 78511, 78517, 78539, 78541, 78553, 78569, 78571, - 78577, 78583, 78593, 78607, 78623, 78643, 78649, 78653, 78691, 78697, - 78707, 78713, 78721, 78737, 78779, 78781, 78787, 78791, 78797, 78803, - 78809, 78823, 78839, 78853, 78857, 78877, 78887, 78889, 78893, 78901, - 78919, 78929, 78941, 78977, 78979, 78989, 79031, 79039, 79043, 79063, - 79087, 79103, 79111, 79133, 79139, 79147, 79151, 79153, 79159, 79181, - 79187, 79193, 79201, 79229, 79231, 79241, 79259, 79273, 79279, 79283, - 79301, 79309, 79319, 79333, 79337, 79349, 79357, 79367, 79379, 79393, - 79397, 79399, 79411, 79423, 79427, 79433, 79451, 79481, 79493, 79531, - 79537, 79549, 79559, 79561, 79579, 79589, 79601, 79609, 79613, 79621, - 79627, 79631, 79633, 79657, 79669, 79687, 79691, 79693, 79697, 79699, - 79757, 79769, 79777, 79801, 79811, 79813, 79817, 79823, 79829, 79841, - 79843, 79847, 79861, 79867, 79873, 79889, 79901, 79903, 79907, 79939, - 79943, 79967, 79973, 79979, 79987, 79997, 79999, 80021, 80039, 80051, - 80071, 80077, 80107, 80111, 80141, 80147, 80149, 80153, 80167, 80173, - 80177, 80191, 80207, 80209, 80221, 80231, 80233, 80239, 80251, 80263, - 80273, 80279, 80287, 80309, 80317, 80329, 80341, 80347, 80363, 80369, - 80387, 80407, 80429, 80447, 80449, 80471, 80473, 80489, 80491, 80513, - 80527, 80537, 80557, 80567, 80599, 80603, 80611, 80621, 80627, 80629, - 80651, 80657, 80669, 80671, 80677, 80681, 80683, 80687, 80701, 80713, - 80737, 80747, 80749, 80761, 80777, 80779, 80783, 80789, 80803, 80809, - 80819, 80831, 80833, 80849, 80863, 80897, 80909, 80911, 80917, 80923, - 80929, 80933, 80953, 80963, 80989, 81001, 81013, 81017, 81019, 81023, - 81031, 81041, 81043, 81047, 81049, 81071, 81077, 81083, 81097, 81101, - 81119, 81131, 81157, 81163, 81173, 81181, 81197, 81199, 81203, 81223, - 81233, 81239, 81281, 81283, 81293, 81299, 81307, 81331, 81343, 81349, - 81353, 81359, 81371, 81373, 81401, 81409, 81421, 81439, 81457, 81463, - 81509, 81517, 81527, 81533, 81547, 81551, 81553, 81559, 81563, 81569, - 81611, 81619, 81629, 81637, 81647, 81649, 81667, 81671, 81677, 81689, - 81701, 81703, 81707, 81727, 81737, 81749, 81761, 81769, 81773, 81799, - 81817, 81839, 81847, 81853, 81869, 81883, 81899, 81901, 81919, 81929, - 81931, 81937, 81943, 81953, 81967, 81971, 81973, 82003, 82007, 82009, - 82013, 82021, 82031, 82037, 82039, 82051, 82067, 82073, 82129, 82139, - 82141, 82153, 82163, 82171, 82183, 82189, 82193, 82207, 82217, 82219, - 82223, 82231, 82237, 82241, 82261, 82267, 82279, 82301, 82307, 82339, - 82349, 82351, 82361, 82373, 82387, 82393, 82421, 82457, 82463, 82469, - 82471, 82483, 82487, 82493, 82499, 82507, 82529, 82531, 82549, 82559, - 82561, 82567, 82571, 82591, 82601, 82609, 82613, 82619, 82633, 82651, - 82657, 82699, 82721, 82723, 82727, 82729, 82757, 82759, 82763, 82781, - 82787, 82793, 82799, 82811, 82813, 82837, 82847, 82883, 82889, 82891, - 82903, 82913, 82939, 82963, 82981, 82997, 83003, 83009, 83023, 83047, - 83059, 83063, 83071, 83077, 83089, 83093, 83101, 83117, 83137, 83177, - 83203, 83207, 83219, 83221, 83227, 83231, 83233, 83243, 83257, 83267, - 83269, 83273, 83299, 83311, 83339, 83341, 83357, 83383, 83389, 83399, - 83401, 83407, 83417, 83423, 83431, 83437, 83443, 83449, 83459, 83471, - 83477, 83497, 83537, 83557, 83561, 83563, 83579, 83591, 83597, 83609, - 83617, 83621, 83639, 83641, 83653, 83663, 83689, 83701, 83717, 83719, - 83737, 83761, 83773, 83777, 83791, 83813, 83833, 83843, 83857, 83869, - 83873, 83891, 83903, 83911, 83921, 83933, 83939, 83969, 83983, 83987, - 84011, 84017, 84047, 84053, 84059, 84061, 84067, 84089, 84121, 84127, - 84131, 84137, 84143, 84163, 84179, 84181, 84191, 84199, 84211, 84221, - 84223, 84229, 84239, 84247, 84263, 84299, 84307, 84313, 84317, 84319, - 84347, 84349, 84377, 84389, 84391, 84401, 84407, 84421, 84431, 84437, - 84443, 84449, 84457, 84463, 84467, 84481, 84499, 84503, 84509, 84521, - 84523, 84533, 84551, 84559, 84589, 84629, 84631, 84649, 84653, 84659, - 84673, 84691, 84697, 84701, 84713, 84719, 84731, 84737, 84751, 84761, - 84787, 84793, 84809, 84811, 84827, 84857, 84859, 84869, 84871, 84913, - 84919, 84947, 84961, 84967, 84977, 84979, 84991, 85009, 85021, 85027, - 85037, 85049, 85061, 85081, 85087, 85091, 85093, 85103, 85109, 85121, - 85133, 85147, 85159, 85193, 85199, 85201, 85213, 85223, 85229, 85237, - 85243, 85247, 85259, 85297, 85303, 85313, 85331, 85333, 85361, 85363, - 85369, 85381, 85411, 85427, 85429, 85439, 85447, 85451, 85453, 85469, - 85487, 85513, 85517, 85523, 85531, 85549, 85571, 85577, 85597, 85601, - 85607, 85619, 85621, 85627, 85639, 85643, 85661, 85667, 85669, 85691, - 85703, 85711, 85717, 85733, 85751, 85781, 85793, 85817, 85819, 85829, - 85831, 85837, 85843, 85847, 85853, 85889, 85903, 85909, 85931, 85933, - 85991, 85999, 86011, 86017, 86027, 86029, 86069, 86077, 86083, 86111, - 86113, 86117, 86131, 86137, 86143, 86161, 86171, 86179, 86183, 86197, - 86201, 86209, 86239, 86243, 86249, 86257, 86263, 86269, 86287, 86291, - 86293, 86297, 86311, 86323, 86341, 86351, 86353, 86357, 86369, 86371, - 86381, 86389, 86399, 86413, 86423, 86441, 86453, 86461, 86467, 86477, - 86491, 86501, 86509, 86531, 86533, 86539, 86561, 86573, 86579, 86587, - 86599, 86627, 86629, 86677, 86689, 86693, 86711, 86719, 86729, 86743, - 86753, 86767, 86771, 86783, 86813, 86837, 86843, 86851, 86857, 86861, - 86869, 86923, 86927, 86929, 86939, 86951, 86959, 86969, 86981, 86993, - 87011, 87013, 87037, 87041, 87049, 87071, 87083, 87103, 87107, 87119, - 87121, 87133, 87149, 87151, 87179, 87181, 87187, 87211, 87221, 87223, - 87251, 87253, 87257, 87277, 87281, 87293, 87299, 87313, 87317, 87323, - 87337, 87359, 87383, 87403, 87407, 87421, 87427, 87433, 87443, 87473, - 87481, 87491, 87509, 87511, 87517, 87523, 87539, 87541, 87547, 87553, - 87557, 87559, 87583, 87587, 87589, 87613, 87623, 87629, 87631, 87641, - 87643, 87649, 87671, 87679, 87683, 87691, 87697, 87701, 87719, 87721, - 87739, 87743, 87751, 87767, 87793, 87797, 87803, 87811, 87833, 87853, - 87869, 87877, 87881, 87887, 87911, 87917, 87931, 87943, 87959, 87961, - 87973, 87977, 87991, 88001, 88003, 88007, 88019, 88037, 88069, 88079, - 88093, 88117, 88129, 88169, 88177, 88211, 88223, 88237, 88241, 88259, - 88261, 88289, 88301, 88321, 88327, 88337, 88339, 88379, 88397, 88411, - 88423, 88427, 88463, 88469, 88471, 88493, 88499, 88513, 88523, 88547, - 88589, 88591, 88607, 88609, 88643, 88651, 88657, 88661, 88663, 88667, - 88681, 88721, 88729, 88741, 88747, 88771, 88789, 88793, 88799, 88801, - 88807, 88811, 88813, 88817, 88819, 88843, 88853, 88861, 88867, 88873, - 88883, 88897, 88903, 88919, 88937, 88951, 88969, 88993, 88997, 89003, - 89009, 89017, 89021, 89041, 89051, 89057, 89069, 89071, 89083, 89087, - 89101, 89107, 89113, 89119, 89123, 89137, 89153, 89189, 89203, 89209, - 89213, 89227, 89231, 89237, 89261, 89269, 89273, 89293, 89303, 89317, - 89329, 89363, 89371, 89381, 89387, 89393, 89399, 89413, 89417, 89431, - 89443, 89449, 89459, 89477, 89491, 89501, 89513, 89519, 89521, 89527, - 89533, 89561, 89563, 89567, 89591, 89597, 89599, 89603, 89611, 89627, - 89633, 89653, 89657, 89659, 89669, 89671, 89681, 89689, 89753, 89759, - 89767, 89779, 89783, 89797, 89809, 89819, 89821, 89833, 89839, 89849, - 89867, 89891, 89897, 89899, 89909, 89917, 89923, 89939, 89959, 89963, - 89977, 89983, 89989, 90001, 90007, 90011, 90017, 90019, 90023, 90031, - 90053, 90059, 90067, 90071, 90073, 90089, 90107, 90121, 90127, 90149, - 90163, 90173, 90187, 90191, 90197, 90199, 90203, 90217, 90227, 90239, - 90247, 90263, 90271, 90281, 90289, 90313, 90353, 90359, 90371, 90373, - 90379, 90397, 90401, 90403, 90407, 90437, 90439, 90469, 90473, 90481, - 90499, 90511, 90523, 90527, 90529, 90533, 90547, 90583, 90599, 90617, - 90619, 90631, 90641, 90647, 90659, 90677, 90679, 90697, 90703, 90709, - 90731, 90749, 90787, 90793, 90803, 90821, 90823, 90833, 90841, 90847, - 90863, 90887, 90901, 90907, 90911, 90917, 90931, 90947, 90971, 90977, - 90989, 90997, 91009, 91019, 91033, 91079, 91081, 91097, 91099, 91121, - 91127, 91129, 91139, 91141, 91151, 91153, 91159, 91163, 91183, 91193, - 91199, 91229, 91237, 91243, 91249, 91253, 91283, 91291, 91297, 91303, - 91309, 91331, 91367, 91369, 91373, 91381, 91387, 91393, 91397, 91411, - 91423, 91433, 91453, 91457, 91459, 91463, 91493, 91499, 91513, 91529, - 91541, 91571, 91573, 91577, 91583, 91591, 91621, 91631, 91639, 91673, - 91691, 91703, 91711, 91733, 91753, 91757, 91771, 91781, 91801, 91807, - 91811, 91813, 91823, 91837, 91841, 91867, 91873, 91909, 91921, 91939, - 91943, 91951, 91957, 91961, 91967, 91969, 91997, 92003, 92009, 92033, - 92041, 92051, 92077, 92083, 92107, 92111, 92119, 92143, 92153, 92173, - 92177, 92179, 92189, 92203, 92219, 92221, 92227, 92233, 92237, 92243, - 92251, 92269, 92297, 92311, 92317, 92333, 92347, 92353, 92357, 92363, - 92369, 92377, 92381, 92383, 92387, 92399, 92401, 92413, 92419, 92431, - 92459, 92461, 92467, 92479, 92489, 92503, 92507, 92551, 92557, 92567, - 92569, 92581, 92593, 92623, 92627, 92639, 92641, 92647, 92657, 92669, - 92671, 92681, 92683, 92693, 92699, 92707, 92717, 92723, 92737, 92753, - 92761, 92767, 92779, 92789, 92791, 92801, 92809, 92821, 92831, 92849, - 92857, 92861, 92863, 92867, 92893, 92899, 92921, 92927, 92941, 92951, - 92957, 92959, 92987, 92993, 93001, 93047, 93053, 93059, 93077, 93083, - 93089, 93097, 93103, 93113, 93131, 93133, 93139, 93151, 93169, 93179, - 93187, 93199, 93229, 93239, 93241, 93251, 93253, 93257, 93263, 93281, - 93283, 93287, 93307, 93319, 93323, 93329, 93337, 93371, 93377, 93383, - 93407, 93419, 93427, 93463, 93479, 93481, 93487, 93491, 93493, 93497, - 93503, 93523, 93529, 93553, 93557, 93559, 93563, 93581, 93601, 93607, - 93629, 93637, 93683, 93701, 93703, 93719, 93739, 93761, 93763, 93787, - 93809, 93811, 93827, 93851, 93871, 93887, 93889, 93893, 93901, 93911, - 93913, 93923, 93937, 93941, 93949, 93967, 93971, 93979, 93983, 93997, - 94007, 94009, 94033, 94049, 94057, 94063, 94079, 94099, 94109, 94111, - 94117, 94121, 94151, 94153, 94169, 94201, 94207, 94219, 94229, 94253, - 94261, 94273, 94291, 94307, 94309, 94321, 94327, 94331, 94343, 94349, - 94351, 94379, 94397, 94399, 94421, 94427, 94433, 94439, 94441, 94447, - 94463, 94477, 94483, 94513, 94529, 94531, 94541, 94543, 94547, 94559, - 94561, 94573, 94583, 94597, 94603, 94613, 94621, 94649, 94651, 94687, - 94693, 94709, 94723, 94727, 94747, 94771, 94777, 94781, 94789, 94793, - 94811, 94819, 94823, 94837, 94841, 94847, 94849, 94873, 94889, 94903, - 94907, 94933, 94949, 94951, 94961, 94993, 94999, 95003, 95009, 95021, - 95027, 95063, 95071, 95083, 95087, 95089, 95093, 95101, 95107, 95111, - 95131, 95143, 95153, 95177, 95189, 95191, 95203, 95213, 95219, 95231, - 95233, 95239, 95257, 95261, 95267, 95273, 95279, 95287, 95311, 95317, - 95327, 95339, 95369, 95383, 95393, 95401, 95413, 95419, 95429, 95441, - 95443, 95461, 95467, 95471, 95479, 95483, 95507, 95527, 95531, 95539, - 95549, 95561, 95569, 95581, 95597, 95603, 95617, 95621, 95629, 95633, - 95651, 95701, 95707, 95713, 95717, 95723, 95731, 95737, 95747, 95773, - 95783, 95789, 95791, 95801, 95803, 95813, 95819, 95857, 95869, 95873, - 95881, 95891, 95911, 95917, 95923, 95929, 95947, 95957, 95959, 95971, - 95987, 95989, 96001, 96013, 96017, 96043, 96053, 96059, 96079, 96097, - 96137, 96149, 96157, 96167, 96179, 96181, 96199, 96211, 96221, 96223, - 96233, 96259, 96263, 96269, 96281, 96289, 96293, 96323, 96329, 96331, - 96337, 96353, 96377, 96401, 96419, 96431, 96443, 96451, 96457, 96461, - 96469, 96479, 96487, 96493, 96497, 96517, 96527, 96553, 96557, 96581, - 96587, 96589, 96601, 96643, 96661, 96667, 96671, 96697, 96703, 96731, - 96737, 96739, 96749, 96757, 96763, 96769, 96779, 96787, 96797, 96799, - 96821, 96823, 96827, 96847, 96851, 96857, 96893, 96907, 96911, 96931, - 96953, 96959, 96973, 96979, 96989, 96997, 97001, 97003, 97007, 97021, - 97039, 97073, 97081, 97103, 97117, 97127, 97151, 97157, 97159, 97169, - 97171, 97177, 97187, 97213, 97231, 97241, 97259, 97283, 97301, 97303, - 97327, 97367, 97369, 97373, 97379, 97381, 97387, 97397, 97423, 97429, - 97441, 97453, 97459, 97463, 97499, 97501, 97511, 97523, 97547, 97549, - 97553, 97561, 97571, 97577, 97579, 97583, 97607, 97609, 97613, 97649, - 97651, 97673, 97687, 97711, 97729, 97771, 97777, 97787, 97789, 97813, - 97829, 97841, 97843, 97847, 97849, 97859, 97861, 97871, 97879, 97883, - 97919, 97927, 97931, 97943, 97961, 97967, 97973, 97987, 98009, 98011, - 98017, 98041, 98047, 98057, 98081, 98101, 98123, 98129, 98143, 98179, - 98207, 98213, 98221, 98227, 98251, 98257, 98269, 98297, 98299, 98317, - 98321, 98323, 98327, 98347, 98369, 98377, 98387, 98389, 98407, 98411, - 98419, 98429, 98443, 98453, 98459, 98467, 98473, 98479, 98491, 98507, - 98519, 98533, 98543, 98561, 98563, 98573, 98597, 98621, 98627, 98639, - 98641, 98663, 98669, 98689, 98711, 98713, 98717, 98729, 98731, 98737, - 98773, 98779, 98801, 98807, 98809, 98837, 98849, 98867, 98869, 98873, - 98887, 98893, 98897, 98899, 98909, 98911, 98927, 98929, 98939, 98947, - 98953, 98963, 98981, 98993, 98999, 99013, 99017, 99023, 99041, 99053, - 99079, 99083, 99089, 99103, 99109, 99119, 99131, 99133, 99137, 99139, - 99149, 99173, 99181, 99191, 99223, 99233, 99241, 99251, 99257, 99259, - 99277, 99289, 99317, 99347, 99349, 99367, 99371, 99377, 99391, 99397, - 99401, 99409, 99431, 99439, 99469, 99487, 99497, 99523, 99527, 99529, - 99551, 99559, 99563, 99571, 99577, 99581, 99607, 99611, 99623, 99643, - 99661, 99667, 99679, 99689, 99707, 99709, 99713, 99719, 99721, 99733, - 99761, 99767, 99787, 99793, 99809, 99817, 99823, 99829, 99833, 99839, - 99859, 99871, 99877, 99881, 99901, 99907, 99923, 99929, 99961, 99971, - 99989, 99991, 100003, 100019, 100043, 100049, 100057, 100069, 100103, 100109, -100129, 100151, 100153, 100169, 100183, 100189, 100193, 100207, 100213, 100237, -100267, 100271, 100279, 100291, 100297, 100313, 100333, 100343, 100357, 100361, -100363, 100379, 100391, 100393, 100403, 100411, 100417, 100447, 100459, 100469, -100483, 100493, 100501, 100511, 100517, 100519, 100523, 100537, 100547, 100549, -100559, 100591, 100609, 100613, 100621, 100649, 100669, 100673, 100693, 100699, -100703, 100733, 100741, 100747, 100769, 100787, 100799, 100801, 100811, 100823, -100829, 100847, 100853, 100907, 100913, 100927, 100931, 100937, 100943, 100957, -100981, 100987, 100999, 101009, 101021, 101027, 101051, 101063, 101081, 101089, -101107, 101111, 101113, 101117, 101119, 101141, 101149, 101159, 101161, 101173, -101183, 101197, 101203, 101207, 101209, 101221, 101267, 101273, 101279, 101281, -101287, 101293, 101323, 101333, 101341, 101347, 101359, 101363, 101377, 101383, -101399, 101411, 101419, 101429, 101449, 101467, 101477, 101483, 101489, 101501, -101503, 101513, 101527, 101531, 101533, 101537, 101561, 101573, 101581, 101599, -101603, 101611, 101627, 101641, 101653, 101663, 101681, 101693, 101701, 101719, -101723, 101737, 101741, 101747, 101749, 101771, 101789, 101797, 101807, 101833, -101837, 101839, 101863, 101869, 101873, 101879, 101891, 101917, 101921, 101929, -101939, 101957, 101963, 101977, 101987, 101999, 102001, 102013, 102019, 102023, -102031, 102043, 102059, 102061, 102071, 102077, 102079, 102101, 102103, 102107, -102121, 102139, 102149, 102161, 102181, 102191, 102197, 102199, 102203, 102217, -102229, 102233, 102241, 102251, 102253, 102259, 102293, 102299, 102301, 102317, -102329, 102337, 102359, 102367, 102397, 102407, 102409, 102433, 102437, 102451, -102461, 102481, 102497, 102499, 102503, 102523, 102533, 102539, 102547, 102551, -102559, 102563, 102587, 102593, 102607, 102611, 102643, 102647, 102653, 102667, -102673, 102677, 102679, 102701, 102761, 102763, 102769, 102793, 102797, 102811, -102829, 102841, 102859, 102871, 102877, 102881, 102911, 102913, 102929, 102931, -102953, 102967, 102983, 103001, 103007, 103043, 103049, 103067, 103069, 103079, -103087, 103091, 103093, 103099, 103123, 103141, 103171, 103177, 103183, 103217, -103231, 103237, 103289, 103291, 103307, 103319, 103333, 103349, 103357, 103387, -103391, 103393, 103399, 103409, 103421, 103423, 103451, 103457, 103471, 103483, -103511, 103529, 103549, 103553, 103561, 103567, 103573, 103577, 103583, 103591, -103613, 103619, 103643, 103651, 103657, 103669, 103681, 103687, 103699, 103703, -103723, 103769, 103787, 103801, 103811, 103813, 103837, 103841, 103843, 103867, -103889, 103903, 103913, 103919, 103951, 103963, 103967, 103969, 103979, 103981, -103991, 103993, 103997, 104003, 104009, 104021, 104033, 104047, 104053, 104059, -104087, 104089, 104107, 104113, 104119, 104123, 104147, 104149, 104161, 104173, -104179, 104183, 104207, 104231, 104233, 104239, 104243, 104281, 104287, 104297, -104309, 104311, 104323, 104327, 104347, 104369, 104381, 104383, 104393, 104399, -104417, 104459, 104471, 104473, 104479, 104491, 104513, 104527, 104537, 104543, -104549, 104551, 104561, 104579, 104593, 104597, 104623, 104639, 104651, 104659, -104677, 104681, 104683, 104693, 104701, 104707, 104711, 104717, 104723, 104729, -) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/py3compat.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/py3compat.py deleted file mode 100644 index f8367c9..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/py3compat.py +++ /dev/null @@ -1,107 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Util/py3compat.py : Compatibility code for handling Py3k / Python 2.x -# -# Written in 2010 by Thorsten Behrens -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Compatibility code for handling string/bytes changes from Python 2.x to Py3k - -In Python 2.x, strings (of type ''str'') contain binary data, including encoded -Unicode text (e.g. UTF-8). The separate type ''unicode'' holds Unicode text. -Unicode literals are specified via the u'...' prefix. Indexing or slicing -either type always produces a string of the same type as the original. -Data read from a file is always of '''str'' type. - -In Python 3.x, strings (type ''str'') may only contain Unicode text. The u'...' -prefix and the ''unicode'' type are now redundant. A new type (called -''bytes'') has to be used for binary data (including any particular -''encoding'' of a string). The b'...' prefix allows one to specify a binary -literal. Indexing or slicing a string produces another string. Slicing a byte -string produces another byte string, but the indexing operation produces an -integer. Data read from a file is of '''str'' type if the file was opened in -text mode, or of ''bytes'' type otherwise. - -Since PyCrypto aims at supporting both Python 2.x and 3.x, the following helper -functions are used to keep the rest of the library as independent as possible -from the actual Python version. - -In general, the code should always deal with binary strings, and use integers -instead of 1-byte character strings. - -b(s) - Take a text string literal (with no prefix or with u'...' prefix) and - make a byte string. -bchr(c) - Take an integer and make a 1-character byte string. -bord(c) - Take the result of indexing on a byte string and make an integer. -tobytes(s) - Take a text string, a byte string, or a sequence of character taken from - a byte string and make a byte string. -""" - -__revision__ = "$Id$" - -import sys - -if sys.version_info[0] == 2: - def b(s): - return s - def bchr(s): - return chr(s) - def bstr(s): - return str(s) - def bord(s): - return ord(s) - if sys.version_info[1] == 1: - def tobytes(s): - try: - return s.encode('latin-1') - except: - return ''.join(s) - else: - def tobytes(s): - if isinstance(s, str): - return s.encode("latin-1") - else: - return ''.join(s) -else: - def b(s): - return s.encode("latin-1") # utf-8 would cause some side-effects we don't want - def bchr(s): - return bytes([s]) - def bstr(s): - if isinstance(s,str): - return bytes(s,"latin-1") - else: - return bytes(s) - def bord(s): - return s - def tobytes(s): - if isinstance(s,bytes): - return s - else: - if isinstance(s,str): - return s.encode("latin-1") - else: - return bytes(s) - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/randpool.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/randpool.py deleted file mode 100644 index 8b5a0b7..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/randpool.py +++ /dev/null @@ -1,82 +0,0 @@ -# -# randpool.py : Cryptographically strong random number generation -# -# Part of the Python Cryptography Toolkit -# -# Written by Andrew M. Kuchling, Mark Moraes, and others -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== -# - -__revision__ = "$Id$" - -from Crypto.pct_warnings import RandomPool_DeprecationWarning -import Crypto.Random -import warnings - -class RandomPool: - """Deprecated. Use Random.new() instead. - - See http://www.pycrypto.org/randpool-broken - """ - def __init__(self, numbytes = 160, cipher=None, hash=None, file=None): - warnings.warn("This application uses RandomPool, which is BROKEN in older releases. See http://www.pycrypto.org/randpool-broken", - RandomPool_DeprecationWarning) - self.__rng = Crypto.Random.new() - self.bytes = numbytes - self.bits = self.bytes * 8 - self.entropy = self.bits - - def get_bytes(self, N): - return self.__rng.read(N) - - def _updateEntropyEstimate(self, nbits): - self.entropy += nbits - if self.entropy < 0: - self.entropy = 0 - elif self.entropy > self.bits: - self.entropy = self.bits - - def _randomize(self, N=0, devname="/dev/urandom"): - """Dummy _randomize() function""" - self.__rng.flush() - - def randomize(self, N=0): - """Dummy randomize() function""" - self.__rng.flush() - - def stir(self, s=''): - """Dummy stir() function""" - self.__rng.flush() - - def stir_n(self, N=3): - """Dummy stir_n() function""" - self.__rng.flush() - - def add_event(self, s=''): - """Dummy add_event() function""" - self.__rng.flush() - - def getBytes(self, N): - """Dummy getBytes() function""" - return self.get_bytes(N) - - def addEvent(self, event, s=""): - """Dummy addEvent() function""" - return self.add_event() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/strxor.cpython-37m-x86_64-linux-gnu.so b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/Util/strxor.cpython-37m-x86_64-linux-gnu.so deleted file mode 100755 index 1973cd9b5fad258c52e3b39aab13248d1ed5e9f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17288 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 -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -__revision__ = "$Id$" - -from Crypto.Random.OSRNG.winrandom import * - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/__init__.py deleted file mode 100644 index c27402e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/__init__.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -"""Python Cryptography Toolkit - -A collection of cryptographic modules implementing various algorithms -and protocols. - -Subpackages: - -Crypto.Cipher - Secret-key (AES, DES, ARC4) and public-key encryption (RSA PKCS#1) algorithms -Crypto.Hash - Hashing algorithms (MD5, SHA, HMAC) -Crypto.Protocol - Cryptographic protocols (Chaffing, all-or-nothing transform, key derivation - functions). This package does not contain any network protocols. -Crypto.PublicKey - Public-key encryption and signature algorithms (RSA, DSA) -Crypto.Signature - Public-key signature algorithms (RSA PKCS#1) -Crypto.Util - Various useful modules and functions (long-to-string conversion, random number - generation, number theoretic functions) -""" - -__all__ = ['Cipher', 'Hash', 'Protocol', 'PublicKey', 'Util', 'Signature'] - -__version__ = '2.6.1' # See also below and setup.py -__revision__ = "$Id$" - -# New software should look at this instead of at __version__ above. -version_info = (2, 6, 1, 'final', 0) # See also above and setup.py - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/pct_warnings.py b/.tox/py37-normal/lib/python3.7/site-packages/Crypto/pct_warnings.py deleted file mode 100644 index 9b4361e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/Crypto/pct_warnings.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: ascii -*- -# -# pct_warnings.py : PyCrypto warnings file -# -# Written in 2008 by Dwayne C. Litzenberger -# -# =================================================================== -# The contents of this file are dedicated to the public domain. To -# the extent that dedication to the public domain is not available, -# everyone is granted a worldwide, perpetual, royalty-free, -# non-exclusive license to exercise all rights associated with the -# contents of this file for any purpose whatsoever. -# No rights are reserved. -# -# 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. -# =================================================================== - -# -# Base classes. All our warnings inherit from one of these in order to allow -# the user to specifically filter them. -# - -class CryptoWarning(Warning): - """Base class for PyCrypto warnings""" - -class CryptoDeprecationWarning(DeprecationWarning, CryptoWarning): - """Base PyCrypto DeprecationWarning class""" - -class CryptoRuntimeWarning(RuntimeWarning, CryptoWarning): - """Base PyCrypto RuntimeWarning class""" - -# -# Warnings that we might actually use -# - -class RandomPool_DeprecationWarning(CryptoDeprecationWarning): - """Issued when Crypto.Util.randpool.RandomPool is instantiated.""" - -class ClockRewindWarning(CryptoRuntimeWarning): - """Warning for when the system clock moves backwards.""" - -class GetRandomNumber_DeprecationWarning(CryptoDeprecationWarning): - """Issued when Crypto.Util.number.getRandomNumber is invoked.""" - -class PowmInsecureWarning(CryptoRuntimeWarning): - """Warning for when _fastmath is built without mpz_powm_sec""" - -# By default, we want this warning to be shown every time we compensate for -# clock rewinding. -import warnings as _warnings -_warnings.filterwarnings('always', category=ClockRewindWarning, append=1) - -# vim:set ts=4 sw=4 sts=4 expandtab: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/INSTALLER b/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/METADATA b/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/METADATA deleted file mode 100644 index a07d53d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/METADATA +++ /dev/null @@ -1,144 +0,0 @@ -Metadata-Version: 2.1 -Name: atomicwrites -Version: 1.3.0 -Summary: Atomic file writes. -Home-page: https://github.com/untitaker/python-atomicwrites -Author: Markus Unterwaditzer -Author-email: markus@unterwaditzer.net -License: MIT -Platform: UNKNOWN -Classifier: License :: OSI Approved :: MIT License -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: Implementation :: CPython -Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* - -=================== -python-atomicwrites -=================== - -.. image:: https://travis-ci.org/untitaker/python-atomicwrites.svg?branch=master - :target: https://travis-ci.org/untitaker/python-atomicwrites - -.. image:: https://ci.appveyor.com/api/projects/status/vadc4le3c27to59x/branch/master?svg=true - :target: https://ci.appveyor.com/project/untitaker/python-atomicwrites/branch/master - -Atomic file writes. - -.. code-block:: python - - from atomicwrites import atomic_write - - with atomic_write('foo.txt', overwrite=True) as f: - f.write('Hello world.') - # "foo.txt" doesn't exist yet. - - # Now it does. - - -Features that distinguish it from other similar libraries (see `Alternatives and Credit`_): - -- Race-free assertion that the target file doesn't yet exist. This can be - controlled with the ``overwrite`` parameter. - -- Windows support, although not well-tested. The MSDN resources are not very - explicit about which operations are atomic. I'm basing my assumptions off `a - comment - `_ - by `Doug Crook - `_, who appears - to be a Microsoft employee: - - FAQ: Is MoveFileEx atomic - Frequently asked question: Is MoveFileEx atomic if the existing and new - files are both on the same drive? - - The simple answer is "usually, but in some cases it will silently fall-back - to a non-atomic method, so don't count on it". - - The implementation of MoveFileEx looks something like this: [...] - - The problem is if the rename fails, you might end up with a CopyFile, which - is definitely not atomic. - - If you really need atomic-or-nothing, you can try calling - NtSetInformationFile, which is unsupported but is much more likely to be - atomic. - -- Simple high-level API that wraps a very flexible class-based API. - -- Consistent error handling across platforms. - - -How it works -============ - -It uses a temporary file in the same directory as the given path. This ensures -that the temporary file resides on the same filesystem. - -The temporary file will then be atomically moved to the target location: On -POSIX, it will use ``rename`` if files should be overwritten, otherwise a -combination of ``link`` and ``unlink``. On Windows, it uses MoveFileEx_ through -stdlib's ``ctypes`` with the appropriate flags. - -Note that with ``link`` and ``unlink``, there's a timewindow where the file -might be available under two entries in the filesystem: The name of the -temporary file, and the name of the target file. - -Also note that the permissions of the target file may change this way. In some -situations a ``chmod`` can be issued without any concurrency problems, but -since that is not always the case, this library doesn't do it by itself. - -.. _MoveFileEx: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365240%28v=vs.85%29.aspx - -fsync ------ - -On POSIX, ``fsync`` is invoked on the temporary file after it is written (to -flush file content and metadata), and on the parent directory after the file is -moved (to flush filename). - -``fsync`` does not take care of disks' internal buffers, but there don't seem -to be any standard POSIX APIs for that. On OS X, ``fcntl`` is used with -``F_FULLFSYNC`` instead of ``fsync`` for that reason. - -On Windows, `_commit `_ -is used, but there are no guarantees about disk internal buffers. - -Alternatives and Credit -======================= - -Atomicwrites is directly inspired by the following libraries (and shares a -minimal amount of code): - -- The Trac project's `utility functions - `_, - also used in `Werkzeug `_ and - `mitsuhiko/python-atomicfile - `_. The idea to use - ``ctypes`` instead of ``PyWin32`` originated there. - -- `abarnert/fatomic `_. Windows support - (based on ``PyWin32``) was originally taken from there. - -Other alternatives to atomicwrites include: - -- `sashka/atomicfile `_. Originally I - considered using that, but at the time it was lacking a lot of features I - needed (Windows support, overwrite-parameter, overriding behavior through - subclassing). - -- The `Boltons library collection `_ - features a class for atomic file writes, which seems to have a very similar - ``overwrite`` parameter. It is lacking Windows support though. - -License -======= - -Licensed under the MIT, see ``LICENSE``. - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/RECORD b/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/RECORD deleted file mode 100644 index 6fb2cd6..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/RECORD +++ /dev/null @@ -1,7 +0,0 @@ -atomicwrites-1.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -atomicwrites-1.3.0.dist-info/METADATA,sha256=T9BgDww1IuYBG4de40vAgvpSbNBrRtNjTBNcukt1HZU,5535 -atomicwrites-1.3.0.dist-info/RECORD,, -atomicwrites-1.3.0.dist-info/WHEEL,sha256=gduuPyBvFJQSQ0zdyxF7k0zynDXbIbvg5ZBHoXum5uk,110 -atomicwrites-1.3.0.dist-info/top_level.txt,sha256=ks64zKVUkrl2ZrrP046CsytXlSGf8gLG-IcoXpNyeoc,13 -atomicwrites/__init__.py,sha256=00DapdQb04-k79KZjzzfwnI1Q8nfsiF5TPeVcqbGVw0,6562 -atomicwrites/__pycache__/__init__.cpython-37.pyc,, diff --git a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/WHEEL b/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/WHEEL deleted file mode 100644 index 1316c41..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.31.1) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/top_level.txt b/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/top_level.txt deleted file mode 100644 index 5fa5a87..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites-1.3.0.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -atomicwrites diff --git a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites/__init__.py deleted file mode 100644 index cfa5c29..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/atomicwrites/__init__.py +++ /dev/null @@ -1,216 +0,0 @@ -import contextlib -import io -import os -import sys -import tempfile - -try: - import fcntl -except ImportError: - fcntl = None - -__version__ = '1.3.0' - - -PY2 = sys.version_info[0] == 2 - -text_type = unicode if PY2 else str # noqa - - -def _path_to_unicode(x): - if not isinstance(x, text_type): - return x.decode(sys.getfilesystemencoding()) - return x - - -DEFAULT_MODE = "wb" if PY2 else "w" - - -_proper_fsync = os.fsync - - -if sys.platform != 'win32': - if hasattr(fcntl, 'F_FULLFSYNC'): - def _proper_fsync(fd): - # https://lists.apple.com/archives/darwin-dev/2005/Feb/msg00072.html - # https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/fsync.2.html - # https://github.com/untitaker/python-atomicwrites/issues/6 - fcntl.fcntl(fd, fcntl.F_FULLFSYNC) - - def _sync_directory(directory): - # Ensure that filenames are written to disk - fd = os.open(directory, 0) - try: - _proper_fsync(fd) - finally: - os.close(fd) - - def _replace_atomic(src, dst): - os.rename(src, dst) - _sync_directory(os.path.normpath(os.path.dirname(dst))) - - def _move_atomic(src, dst): - os.link(src, dst) - os.unlink(src) - - src_dir = os.path.normpath(os.path.dirname(src)) - dst_dir = os.path.normpath(os.path.dirname(dst)) - _sync_directory(dst_dir) - if src_dir != dst_dir: - _sync_directory(src_dir) -else: - from ctypes import windll, WinError - - _MOVEFILE_REPLACE_EXISTING = 0x1 - _MOVEFILE_WRITE_THROUGH = 0x8 - _windows_default_flags = _MOVEFILE_WRITE_THROUGH - - def _handle_errors(rv): - if not rv: - raise WinError() - - def _replace_atomic(src, dst): - _handle_errors(windll.kernel32.MoveFileExW( - _path_to_unicode(src), _path_to_unicode(dst), - _windows_default_flags | _MOVEFILE_REPLACE_EXISTING - )) - - def _move_atomic(src, dst): - _handle_errors(windll.kernel32.MoveFileExW( - _path_to_unicode(src), _path_to_unicode(dst), - _windows_default_flags - )) - - -def replace_atomic(src, dst): - ''' - Move ``src`` to ``dst``. If ``dst`` exists, it will be silently - overwritten. - - Both paths must reside on the same filesystem for the operation to be - atomic. - ''' - return _replace_atomic(src, dst) - - -def move_atomic(src, dst): - ''' - Move ``src`` to ``dst``. There might a timewindow where both filesystem - entries exist. If ``dst`` already exists, :py:exc:`FileExistsError` will be - raised. - - Both paths must reside on the same filesystem for the operation to be - atomic. - ''' - return _move_atomic(src, dst) - - -class AtomicWriter(object): - ''' - A helper class for performing atomic writes. Usage:: - - with AtomicWriter(path).open() as f: - f.write(...) - - :param path: The destination filepath. May or may not exist. - :param mode: The filemode for the temporary file. This defaults to `wb` in - Python 2 and `w` in Python 3. - :param overwrite: If set to false, an error is raised if ``path`` exists. - Errors are only raised after the file has been written to. Either way, - the operation is atomic. - - If you need further control over the exact behavior, you are encouraged to - subclass. - ''' - - def __init__(self, path, mode=DEFAULT_MODE, overwrite=False, - **open_kwargs): - if 'a' in mode: - raise ValueError( - 'Appending to an existing file is not supported, because that ' - 'would involve an expensive `copy`-operation to a temporary ' - 'file. Open the file in normal `w`-mode and copy explicitly ' - 'if that\'s what you\'re after.' - ) - if 'x' in mode: - raise ValueError('Use the `overwrite`-parameter instead.') - if 'w' not in mode: - raise ValueError('AtomicWriters can only be written to.') - - self._path = path - self._mode = mode - self._overwrite = overwrite - self._open_kwargs = open_kwargs - - def open(self): - ''' - Open the temporary file. - ''' - return self._open(self.get_fileobject) - - @contextlib.contextmanager - def _open(self, get_fileobject): - f = None # make sure f exists even if get_fileobject() fails - try: - success = False - with get_fileobject(**self._open_kwargs) as f: - yield f - self.sync(f) - self.commit(f) - success = True - finally: - if not success: - try: - self.rollback(f) - except Exception: - pass - - def get_fileobject(self, suffix="", prefix=tempfile.template, dir=None, - **kwargs): - '''Return the temporary file to use.''' - if dir is None: - dir = os.path.normpath(os.path.dirname(self._path)) - descriptor, name = tempfile.mkstemp(suffix=suffix, prefix=prefix, - dir=dir) - # io.open() will take either the descriptor or the name, but we need - # the name later for commit()/replace_atomic() and couldn't find a way - # to get the filename from the descriptor. - os.close(descriptor) - kwargs['mode'] = self._mode - kwargs['file'] = name - return io.open(**kwargs) - - def sync(self, f): - '''responsible for clearing as many file caches as possible before - commit''' - f.flush() - _proper_fsync(f.fileno()) - - def commit(self, f): - '''Move the temporary file to the target location.''' - if self._overwrite: - replace_atomic(f.name, self._path) - else: - move_atomic(f.name, self._path) - - def rollback(self, f): - '''Clean up all temporary resources.''' - os.unlink(f.name) - - -def atomic_write(path, writer_cls=AtomicWriter, **cls_kwargs): - ''' - Simple atomic writes. This wraps :py:class:`AtomicWriter`:: - - with atomic_write(path) as f: - f.write(...) - - :param path: The target path to write to. - :param writer_cls: The writer class to use. This parameter is useful if you - subclassed :py:class:`AtomicWriter` to change some behavior and want to - use that new subclass. - - Additional keyword arguments are passed to the writer class. See - :py:class:`AtomicWriter`. - ''' - return writer_cls(path, **cls_kwargs).open() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/attr/__init__.py deleted file mode 100644 index 9ff4d47..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/__init__.py +++ /dev/null @@ -1,68 +0,0 @@ -from __future__ import absolute_import, division, print_function - -from functools import partial - -from . import converters, exceptions, filters, validators -from ._config import get_run_validators, set_run_validators -from ._funcs import asdict, assoc, astuple, evolve, has -from ._make import ( - NOTHING, - Attribute, - Factory, - attrib, - attrs, - fields, - fields_dict, - make_class, - validate, -) -from ._version_info import VersionInfo - - -__version__ = "19.3.0" -__version_info__ = VersionInfo._from_version_string(__version__) - -__title__ = "attrs" -__description__ = "Classes Without Boilerplate" -__url__ = "https://www.attrs.org/" -__uri__ = __url__ -__doc__ = __description__ + " <" + __uri__ + ">" - -__author__ = "Hynek Schlawack" -__email__ = "hs@ox.cx" - -__license__ = "MIT" -__copyright__ = "Copyright (c) 2015 Hynek Schlawack" - - -s = attributes = attrs -ib = attr = attrib -dataclass = partial(attrs, auto_attribs=True) # happy Easter ;) - - -__all__ = [ - "Attribute", - "Factory", - "NOTHING", - "asdict", - "assoc", - "astuple", - "attr", - "attrib", - "attributes", - "attrs", - "converters", - "evolve", - "exceptions", - "fields", - "fields_dict", - "filters", - "get_run_validators", - "has", - "ib", - "make_class", - "s", - "set_run_validators", - "validate", - "validators", -] diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/__init__.pyi b/.tox/py37-normal/lib/python3.7/site-packages/attr/__init__.pyi deleted file mode 100644 index 38f16f0..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/__init__.pyi +++ /dev/null @@ -1,278 +0,0 @@ -from typing import ( - Any, - Callable, - Dict, - Generic, - List, - Optional, - Sequence, - Mapping, - Tuple, - Type, - TypeVar, - Union, - overload, -) - -# `import X as X` is required to make these public -from . import exceptions as exceptions -from . import filters as filters -from . import converters as converters -from . import validators as validators - -from ._version_info import VersionInfo - -__version__: str -__version_info__: VersionInfo -__title__: str -__description__: str -__url__: str -__uri__: str -__author__: str -__email__: str -__license__: str -__copyright__: str - -_T = TypeVar("_T") -_C = TypeVar("_C", bound=type) - -_ValidatorType = Callable[[Any, Attribute[_T], _T], Any] -_ConverterType = Callable[[Any], _T] -_FilterType = Callable[[Attribute[_T], _T], bool] -_ReprType = Callable[[Any], str] -_ReprArgType = Union[bool, _ReprType] -# FIXME: in reality, if multiple validators are passed they must be in a list or tuple, -# but those are invariant and so would prevent subtypes of _ValidatorType from working -# when passed in a list or tuple. -_ValidatorArgType = Union[_ValidatorType[_T], Sequence[_ValidatorType[_T]]] - -# _make -- - -NOTHING: object - -# NOTE: Factory lies about its return type to make this possible: `x: List[int] = Factory(list)` -# Work around mypy issue #4554 in the common case by using an overload. -@overload -def Factory(factory: Callable[[], _T]) -> _T: ... -@overload -def Factory( - factory: Union[Callable[[Any], _T], Callable[[], _T]], - takes_self: bool = ..., -) -> _T: ... - -class Attribute(Generic[_T]): - name: str - default: Optional[_T] - validator: Optional[_ValidatorType[_T]] - repr: _ReprArgType - cmp: bool - eq: bool - order: bool - hash: Optional[bool] - init: bool - converter: Optional[_ConverterType[_T]] - metadata: Dict[Any, Any] - type: Optional[Type[_T]] - kw_only: bool - -# NOTE: We had several choices for the annotation to use for type arg: -# 1) Type[_T] -# - Pros: Handles simple cases correctly -# - Cons: Might produce less informative errors in the case of conflicting TypeVars -# e.g. `attr.ib(default='bad', type=int)` -# 2) Callable[..., _T] -# - Pros: Better error messages than #1 for conflicting TypeVars -# - Cons: Terrible error messages for validator checks. -# e.g. attr.ib(type=int, validator=validate_str) -# -> error: Cannot infer function type argument -# 3) type (and do all of the work in the mypy plugin) -# - Pros: Simple here, and we could customize the plugin with our own errors. -# - Cons: Would need to write mypy plugin code to handle all the cases. -# We chose option #1. - -# `attr` lies about its return type to make the following possible: -# attr() -> Any -# attr(8) -> int -# attr(validator=) -> Whatever the callable expects. -# This makes this type of assignments possible: -# x: int = attr(8) -# -# This form catches explicit None or no default but with no other arguments returns Any. -@overload -def attrib( - default: None = ..., - validator: None = ..., - repr: _ReprArgType = ..., - cmp: Optional[bool] = ..., - hash: Optional[bool] = ..., - init: bool = ..., - metadata: Optional[Mapping[Any, Any]] = ..., - type: None = ..., - converter: None = ..., - factory: None = ..., - kw_only: bool = ..., - eq: Optional[bool] = ..., - order: Optional[bool] = ..., -) -> Any: ... - -# This form catches an explicit None or no default and infers the type from the other arguments. -@overload -def attrib( - default: None = ..., - validator: Optional[_ValidatorArgType[_T]] = ..., - repr: _ReprArgType = ..., - cmp: Optional[bool] = ..., - hash: Optional[bool] = ..., - init: bool = ..., - metadata: Optional[Mapping[Any, Any]] = ..., - type: Optional[Type[_T]] = ..., - converter: Optional[_ConverterType[_T]] = ..., - factory: Optional[Callable[[], _T]] = ..., - kw_only: bool = ..., - eq: Optional[bool] = ..., - order: Optional[bool] = ..., -) -> _T: ... - -# This form catches an explicit default argument. -@overload -def attrib( - default: _T, - validator: Optional[_ValidatorArgType[_T]] = ..., - repr: _ReprArgType = ..., - cmp: Optional[bool] = ..., - hash: Optional[bool] = ..., - init: bool = ..., - metadata: Optional[Mapping[Any, Any]] = ..., - type: Optional[Type[_T]] = ..., - converter: Optional[_ConverterType[_T]] = ..., - factory: Optional[Callable[[], _T]] = ..., - kw_only: bool = ..., - eq: Optional[bool] = ..., - order: Optional[bool] = ..., -) -> _T: ... - -# This form covers type=non-Type: e.g. forward references (str), Any -@overload -def attrib( - default: Optional[_T] = ..., - validator: Optional[_ValidatorArgType[_T]] = ..., - repr: _ReprArgType = ..., - cmp: Optional[bool] = ..., - hash: Optional[bool] = ..., - init: bool = ..., - metadata: Optional[Mapping[Any, Any]] = ..., - type: object = ..., - converter: Optional[_ConverterType[_T]] = ..., - factory: Optional[Callable[[], _T]] = ..., - kw_only: bool = ..., - eq: Optional[bool] = ..., - order: Optional[bool] = ..., -) -> Any: ... -@overload -def attrs( - maybe_cls: _C, - these: Optional[Dict[str, Any]] = ..., - repr_ns: Optional[str] = ..., - repr: bool = ..., - cmp: Optional[bool] = ..., - hash: Optional[bool] = ..., - init: bool = ..., - slots: bool = ..., - frozen: bool = ..., - weakref_slot: bool = ..., - str: bool = ..., - auto_attribs: bool = ..., - kw_only: bool = ..., - cache_hash: bool = ..., - auto_exc: bool = ..., - eq: Optional[bool] = ..., - order: Optional[bool] = ..., -) -> _C: ... -@overload -def attrs( - maybe_cls: None = ..., - these: Optional[Dict[str, Any]] = ..., - repr_ns: Optional[str] = ..., - repr: bool = ..., - cmp: Optional[bool] = ..., - hash: Optional[bool] = ..., - init: bool = ..., - slots: bool = ..., - frozen: bool = ..., - weakref_slot: bool = ..., - str: bool = ..., - auto_attribs: bool = ..., - kw_only: bool = ..., - cache_hash: bool = ..., - auto_exc: bool = ..., - eq: Optional[bool] = ..., - order: Optional[bool] = ..., -) -> Callable[[_C], _C]: ... - -# TODO: add support for returning NamedTuple from the mypy plugin -class _Fields(Tuple[Attribute[Any], ...]): - def __getattr__(self, name: str) -> Attribute[Any]: ... - -def fields(cls: type) -> _Fields: ... -def fields_dict(cls: type) -> Dict[str, Attribute[Any]]: ... -def validate(inst: Any) -> None: ... - -# TODO: add support for returning a proper attrs class from the mypy plugin -# we use Any instead of _CountingAttr so that e.g. `make_class('Foo', [attr.ib()])` is valid -def make_class( - name: str, - attrs: Union[List[str], Tuple[str, ...], Dict[str, Any]], - bases: Tuple[type, ...] = ..., - repr_ns: Optional[str] = ..., - repr: bool = ..., - cmp: Optional[bool] = ..., - hash: Optional[bool] = ..., - init: bool = ..., - slots: bool = ..., - frozen: bool = ..., - weakref_slot: bool = ..., - str: bool = ..., - auto_attribs: bool = ..., - kw_only: bool = ..., - cache_hash: bool = ..., - auto_exc: bool = ..., - eq: Optional[bool] = ..., - order: Optional[bool] = ..., -) -> type: ... - -# _funcs -- - -# TODO: add support for returning TypedDict from the mypy plugin -# FIXME: asdict/astuple do not honor their factory args. waiting on one of these: -# https://github.com/python/mypy/issues/4236 -# https://github.com/python/typing/issues/253 -def asdict( - inst: Any, - recurse: bool = ..., - filter: Optional[_FilterType[Any]] = ..., - dict_factory: Type[Mapping[Any, Any]] = ..., - retain_collection_types: bool = ..., -) -> Dict[str, Any]: ... - -# TODO: add support for returning NamedTuple from the mypy plugin -def astuple( - inst: Any, - recurse: bool = ..., - filter: Optional[_FilterType[Any]] = ..., - tuple_factory: Type[Sequence[Any]] = ..., - retain_collection_types: bool = ..., -) -> Tuple[Any, ...]: ... -def has(cls: type) -> bool: ... -def assoc(inst: _T, **changes: Any) -> _T: ... -def evolve(inst: _T, **changes: Any) -> _T: ... - -# _config -- - -def set_run_validators(run: bool) -> None: ... -def get_run_validators() -> bool: ... - -# aliases -- - -s = attributes = attrs -ib = attr = attrib -dataclass = attrs # Technically, partial(attrs, auto_attribs=True) ;) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/_compat.py b/.tox/py37-normal/lib/python3.7/site-packages/attr/_compat.py deleted file mode 100644 index a915db8..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/_compat.py +++ /dev/null @@ -1,230 +0,0 @@ -from __future__ import absolute_import, division, print_function - -import platform -import sys -import types -import warnings - - -PY2 = sys.version_info[0] == 2 -PYPY = platform.python_implementation() == "PyPy" - - -if PYPY or sys.version_info[:2] >= (3, 6): - ordered_dict = dict -else: - from collections import OrderedDict - - ordered_dict = OrderedDict - - -if PY2: - from UserDict import IterableUserDict - from collections import Mapping, Sequence - - # We 'bundle' isclass instead of using inspect as importing inspect is - # fairly expensive (order of 10-15 ms for a modern machine in 2016) - def isclass(klass): - return isinstance(klass, (type, types.ClassType)) - - # TYPE is used in exceptions, repr(int) is different on Python 2 and 3. - TYPE = "type" - - def iteritems(d): - return d.iteritems() - - # Python 2 is bereft of a read-only dict proxy, so we make one! - class ReadOnlyDict(IterableUserDict): - """ - Best-effort read-only dict wrapper. - """ - - def __setitem__(self, key, val): - # We gently pretend we're a Python 3 mappingproxy. - raise TypeError( - "'mappingproxy' object does not support item assignment" - ) - - def update(self, _): - # We gently pretend we're a Python 3 mappingproxy. - raise AttributeError( - "'mappingproxy' object has no attribute 'update'" - ) - - def __delitem__(self, _): - # We gently pretend we're a Python 3 mappingproxy. - raise TypeError( - "'mappingproxy' object does not support item deletion" - ) - - def clear(self): - # We gently pretend we're a Python 3 mappingproxy. - raise AttributeError( - "'mappingproxy' object has no attribute 'clear'" - ) - - def pop(self, key, default=None): - # We gently pretend we're a Python 3 mappingproxy. - raise AttributeError( - "'mappingproxy' object has no attribute 'pop'" - ) - - def popitem(self): - # We gently pretend we're a Python 3 mappingproxy. - raise AttributeError( - "'mappingproxy' object has no attribute 'popitem'" - ) - - def setdefault(self, key, default=None): - # We gently pretend we're a Python 3 mappingproxy. - raise AttributeError( - "'mappingproxy' object has no attribute 'setdefault'" - ) - - def __repr__(self): - # Override to be identical to the Python 3 version. - return "mappingproxy(" + repr(self.data) + ")" - - def metadata_proxy(d): - res = ReadOnlyDict() - res.data.update(d) # We blocked update, so we have to do it like this. - return res - - def just_warn(*args, **kw): # pragma: nocover - """ - We only warn on Python 3 because we are not aware of any concrete - consequences of not setting the cell on Python 2. - """ - - -else: # Python 3 and later. - from collections.abc import Mapping, Sequence # noqa - - def just_warn(*args, **kw): - """ - We only warn on Python 3 because we are not aware of any concrete - consequences of not setting the cell on Python 2. - """ - warnings.warn( - "Running interpreter doesn't sufficiently support code object " - "introspection. Some features like bare super() or accessing " - "__class__ will not work with slotted classes.", - RuntimeWarning, - stacklevel=2, - ) - - def isclass(klass): - return isinstance(klass, type) - - TYPE = "class" - - def iteritems(d): - return d.items() - - def metadata_proxy(d): - return types.MappingProxyType(dict(d)) - - -def make_set_closure_cell(): - """Return a function of two arguments (cell, value) which sets - the value stored in the closure cell `cell` to `value`. - """ - # pypy makes this easy. (It also supports the logic below, but - # why not do the easy/fast thing?) - if PYPY: # pragma: no cover - - def set_closure_cell(cell, value): - cell.__setstate__((value,)) - - return set_closure_cell - - # Otherwise gotta do it the hard way. - - # Create a function that will set its first cellvar to `value`. - def set_first_cellvar_to(value): - x = value - return - - # This function will be eliminated as dead code, but - # not before its reference to `x` forces `x` to be - # represented as a closure cell rather than a local. - def force_x_to_be_a_cell(): # pragma: no cover - return x - - try: - # Extract the code object and make sure our assumptions about - # the closure behavior are correct. - if PY2: - co = set_first_cellvar_to.func_code - else: - co = set_first_cellvar_to.__code__ - if co.co_cellvars != ("x",) or co.co_freevars != (): - raise AssertionError # pragma: no cover - - # Convert this code object to a code object that sets the - # function's first _freevar_ (not cellvar) to the argument. - if sys.version_info >= (3, 8): - # CPython 3.8+ has an incompatible CodeType signature - # (added a posonlyargcount argument) but also added - # CodeType.replace() to do this without counting parameters. - set_first_freevar_code = co.replace( - co_cellvars=co.co_freevars, co_freevars=co.co_cellvars - ) - else: - args = [co.co_argcount] - if not PY2: - args.append(co.co_kwonlyargcount) - args.extend( - [ - co.co_nlocals, - co.co_stacksize, - co.co_flags, - co.co_code, - co.co_consts, - co.co_names, - co.co_varnames, - co.co_filename, - co.co_name, - co.co_firstlineno, - co.co_lnotab, - # These two arguments are reversed: - co.co_cellvars, - co.co_freevars, - ] - ) - set_first_freevar_code = types.CodeType(*args) - - def set_closure_cell(cell, value): - # Create a function using the set_first_freevar_code, - # whose first closure cell is `cell`. Calling it will - # change the value of that cell. - setter = types.FunctionType( - set_first_freevar_code, {}, "setter", (), (cell,) - ) - # And call it to set the cell. - setter(value) - - # Make sure it works on this interpreter: - def make_func_with_cell(): - x = None - - def func(): - return x # pragma: no cover - - return func - - if PY2: - cell = make_func_with_cell().func_closure[0] - else: - cell = make_func_with_cell().__closure__[0] - set_closure_cell(cell, 100) - if cell.cell_contents != 100: - raise AssertionError # pragma: no cover - - except Exception: - return just_warn - else: - return set_closure_cell - - -set_closure_cell = make_set_closure_cell() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/_config.py b/.tox/py37-normal/lib/python3.7/site-packages/attr/_config.py deleted file mode 100644 index 8ec9209..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/_config.py +++ /dev/null @@ -1,23 +0,0 @@ -from __future__ import absolute_import, division, print_function - - -__all__ = ["set_run_validators", "get_run_validators"] - -_run_validators = True - - -def set_run_validators(run): - """ - Set whether or not validators are run. By default, they are run. - """ - if not isinstance(run, bool): - raise TypeError("'run' must be bool.") - global _run_validators - _run_validators = run - - -def get_run_validators(): - """ - Return whether or not validators are run. - """ - return _run_validators diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/_funcs.py b/.tox/py37-normal/lib/python3.7/site-packages/attr/_funcs.py deleted file mode 100644 index c077e42..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/_funcs.py +++ /dev/null @@ -1,290 +0,0 @@ -from __future__ import absolute_import, division, print_function - -import copy - -from ._compat import iteritems -from ._make import NOTHING, _obj_setattr, fields -from .exceptions import AttrsAttributeNotFoundError - - -def asdict( - inst, - recurse=True, - filter=None, - dict_factory=dict, - retain_collection_types=False, -): - """ - Return the ``attrs`` attribute values of *inst* as a dict. - - Optionally recurse into other ``attrs``-decorated classes. - - :param inst: Instance of an ``attrs``-decorated class. - :param bool recurse: Recurse into classes that are also - ``attrs``-decorated. - :param callable filter: A callable whose return code determines whether an - attribute or element is included (``True``) or dropped (``False``). Is - called with the `attr.Attribute` as the first argument and the - value as the second argument. - :param callable dict_factory: A callable to produce dictionaries from. For - example, to produce ordered dictionaries instead of normal Python - dictionaries, pass in ``collections.OrderedDict``. - :param bool retain_collection_types: Do not convert to ``list`` when - encountering an attribute whose type is ``tuple`` or ``set``. Only - meaningful if ``recurse`` is ``True``. - - :rtype: return type of *dict_factory* - - :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` - class. - - .. versionadded:: 16.0.0 *dict_factory* - .. versionadded:: 16.1.0 *retain_collection_types* - """ - attrs = fields(inst.__class__) - rv = dict_factory() - for a in attrs: - v = getattr(inst, a.name) - if filter is not None and not filter(a, v): - continue - if recurse is True: - if has(v.__class__): - rv[a.name] = asdict( - v, True, filter, dict_factory, retain_collection_types - ) - elif isinstance(v, (tuple, list, set)): - cf = v.__class__ if retain_collection_types is True else list - rv[a.name] = cf( - [ - _asdict_anything( - i, filter, dict_factory, retain_collection_types - ) - for i in v - ] - ) - elif isinstance(v, dict): - df = dict_factory - rv[a.name] = df( - ( - _asdict_anything( - kk, filter, df, retain_collection_types - ), - _asdict_anything( - vv, filter, df, retain_collection_types - ), - ) - for kk, vv in iteritems(v) - ) - else: - rv[a.name] = v - else: - rv[a.name] = v - return rv - - -def _asdict_anything(val, filter, dict_factory, retain_collection_types): - """ - ``asdict`` only works on attrs instances, this works on anything. - """ - if getattr(val.__class__, "__attrs_attrs__", None) is not None: - # Attrs class. - rv = asdict(val, True, filter, dict_factory, retain_collection_types) - elif isinstance(val, (tuple, list, set)): - cf = val.__class__ if retain_collection_types is True else list - rv = cf( - [ - _asdict_anything( - i, filter, dict_factory, retain_collection_types - ) - for i in val - ] - ) - elif isinstance(val, dict): - df = dict_factory - rv = df( - ( - _asdict_anything(kk, filter, df, retain_collection_types), - _asdict_anything(vv, filter, df, retain_collection_types), - ) - for kk, vv in iteritems(val) - ) - else: - rv = val - return rv - - -def astuple( - inst, - recurse=True, - filter=None, - tuple_factory=tuple, - retain_collection_types=False, -): - """ - Return the ``attrs`` attribute values of *inst* as a tuple. - - Optionally recurse into other ``attrs``-decorated classes. - - :param inst: Instance of an ``attrs``-decorated class. - :param bool recurse: Recurse into classes that are also - ``attrs``-decorated. - :param callable filter: A callable whose return code determines whether an - attribute or element is included (``True``) or dropped (``False``). Is - called with the `attr.Attribute` as the first argument and the - value as the second argument. - :param callable tuple_factory: A callable to produce tuples from. For - example, to produce lists instead of tuples. - :param bool retain_collection_types: Do not convert to ``list`` - or ``dict`` when encountering an attribute which type is - ``tuple``, ``dict`` or ``set``. Only meaningful if ``recurse`` is - ``True``. - - :rtype: return type of *tuple_factory* - - :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` - class. - - .. versionadded:: 16.2.0 - """ - attrs = fields(inst.__class__) - rv = [] - retain = retain_collection_types # Very long. :/ - for a in attrs: - v = getattr(inst, a.name) - if filter is not None and not filter(a, v): - continue - if recurse is True: - if has(v.__class__): - rv.append( - astuple( - v, - recurse=True, - filter=filter, - tuple_factory=tuple_factory, - retain_collection_types=retain, - ) - ) - elif isinstance(v, (tuple, list, set)): - cf = v.__class__ if retain is True else list - rv.append( - cf( - [ - astuple( - j, - recurse=True, - filter=filter, - tuple_factory=tuple_factory, - retain_collection_types=retain, - ) - if has(j.__class__) - else j - for j in v - ] - ) - ) - elif isinstance(v, dict): - df = v.__class__ if retain is True else dict - rv.append( - df( - ( - astuple( - kk, - tuple_factory=tuple_factory, - retain_collection_types=retain, - ) - if has(kk.__class__) - else kk, - astuple( - vv, - tuple_factory=tuple_factory, - retain_collection_types=retain, - ) - if has(vv.__class__) - else vv, - ) - for kk, vv in iteritems(v) - ) - ) - else: - rv.append(v) - else: - rv.append(v) - return rv if tuple_factory is list else tuple_factory(rv) - - -def has(cls): - """ - Check whether *cls* is a class with ``attrs`` attributes. - - :param type cls: Class to introspect. - :raise TypeError: If *cls* is not a class. - - :rtype: bool - """ - return getattr(cls, "__attrs_attrs__", None) is not None - - -def assoc(inst, **changes): - """ - Copy *inst* and apply *changes*. - - :param inst: Instance of a class with ``attrs`` attributes. - :param changes: Keyword changes in the new copy. - - :return: A copy of inst with *changes* incorporated. - - :raise attr.exceptions.AttrsAttributeNotFoundError: If *attr_name* couldn't - be found on *cls*. - :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` - class. - - .. deprecated:: 17.1.0 - Use `evolve` instead. - """ - import warnings - - warnings.warn( - "assoc is deprecated and will be removed after 2018/01.", - DeprecationWarning, - stacklevel=2, - ) - new = copy.copy(inst) - attrs = fields(inst.__class__) - for k, v in iteritems(changes): - a = getattr(attrs, k, NOTHING) - if a is NOTHING: - raise AttrsAttributeNotFoundError( - "{k} is not an attrs attribute on {cl}.".format( - k=k, cl=new.__class__ - ) - ) - _obj_setattr(new, k, v) - return new - - -def evolve(inst, **changes): - """ - Create a new instance, based on *inst* with *changes* applied. - - :param inst: Instance of a class with ``attrs`` attributes. - :param changes: Keyword changes in the new copy. - - :return: A copy of inst with *changes* incorporated. - - :raise TypeError: If *attr_name* couldn't be found in the class - ``__init__``. - :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` - class. - - .. versionadded:: 17.1.0 - """ - cls = inst.__class__ - attrs = fields(cls) - for a in attrs: - if not a.init: - continue - attr_name = a.name # To deal with private attributes. - init_name = attr_name if attr_name[0] != "_" else attr_name[1:] - if init_name not in changes: - changes[init_name] = getattr(inst, attr_name) - return cls(**changes) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/_make.py b/.tox/py37-normal/lib/python3.7/site-packages/attr/_make.py deleted file mode 100644 index 46f9c54..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/_make.py +++ /dev/null @@ -1,2168 +0,0 @@ -from __future__ import absolute_import, division, print_function - -import copy -import linecache -import sys -import threading -import uuid -import warnings - -from operator import itemgetter - -from . import _config -from ._compat import ( - PY2, - isclass, - iteritems, - metadata_proxy, - ordered_dict, - set_closure_cell, -) -from .exceptions import ( - DefaultAlreadySetError, - FrozenInstanceError, - NotAnAttrsClassError, - PythonTooOldError, - UnannotatedAttributeError, -) - - -# This is used at least twice, so cache it here. -_obj_setattr = object.__setattr__ -_init_converter_pat = "__attr_converter_{}" -_init_factory_pat = "__attr_factory_{}" -_tuple_property_pat = ( - " {attr_name} = _attrs_property(_attrs_itemgetter({index}))" -) -_classvar_prefixes = ("typing.ClassVar", "t.ClassVar", "ClassVar") -# we don't use a double-underscore prefix because that triggers -# name mangling when trying to create a slot for the field -# (when slots=True) -_hash_cache_field = "_attrs_cached_hash" - -_empty_metadata_singleton = metadata_proxy({}) - -# Unique object for unequivocal getattr() defaults. -_sentinel = object() - - -class _Nothing(object): - """ - Sentinel class to indicate the lack of a value when ``None`` is ambiguous. - - ``_Nothing`` is a singleton. There is only ever one of it. - """ - - _singleton = None - - def __new__(cls): - if _Nothing._singleton is None: - _Nothing._singleton = super(_Nothing, cls).__new__(cls) - return _Nothing._singleton - - def __repr__(self): - return "NOTHING" - - -NOTHING = _Nothing() -""" -Sentinel to indicate the lack of a value when ``None`` is ambiguous. -""" - - -def attrib( - default=NOTHING, - validator=None, - repr=True, - cmp=None, - hash=None, - init=True, - metadata=None, - type=None, - converter=None, - factory=None, - kw_only=False, - eq=None, - order=None, -): - """ - Create a new attribute on a class. - - .. warning:: - - Does *not* do anything unless the class is also decorated with - `attr.s`! - - :param default: A value that is used if an ``attrs``-generated ``__init__`` - is used and no value is passed while instantiating or the attribute is - excluded using ``init=False``. - - If the value is an instance of `Factory`, its callable will be - used to construct a new value (useful for mutable data types like lists - or dicts). - - If a default is not set (or set manually to ``attr.NOTHING``), a value - *must* be supplied when instantiating; otherwise a `TypeError` - will be raised. - - The default can also be set using decorator notation as shown below. - - :type default: Any value - - :param callable factory: Syntactic sugar for - ``default=attr.Factory(callable)``. - - :param validator: `callable` that is called by ``attrs``-generated - ``__init__`` methods after the instance has been initialized. They - receive the initialized instance, the `Attribute`, and the - passed value. - - The return value is *not* inspected so the validator has to throw an - exception itself. - - If a ``list`` is passed, its items are treated as validators and must - all pass. - - Validators can be globally disabled and re-enabled using - `get_run_validators`. - - The validator can also be set using decorator notation as shown below. - - :type validator: ``callable`` or a ``list`` of ``callable``\\ s. - - :param repr: Include this attribute in the generated ``__repr__`` - method. If ``True``, include the attribute; if ``False``, omit it. By - default, the built-in ``repr()`` function is used. To override how the - attribute value is formatted, pass a ``callable`` that takes a single - value and returns a string. Note that the resulting string is used - as-is, i.e. it will be used directly *instead* of calling ``repr()`` - (the default). - :type repr: a ``bool`` or a ``callable`` to use a custom function. - :param bool eq: If ``True`` (default), include this attribute in the - generated ``__eq__`` and ``__ne__`` methods that check two instances - for equality. - :param bool order: If ``True`` (default), include this attributes in the - generated ``__lt__``, ``__le__``, ``__gt__`` and ``__ge__`` methods. - :param bool cmp: Setting to ``True`` is equivalent to setting ``eq=True, - order=True``. Deprecated in favor of *eq* and *order*. - :param hash: Include this attribute in the generated ``__hash__`` - method. If ``None`` (default), mirror *eq*'s value. This is the - correct behavior according the Python spec. Setting this value to - anything else than ``None`` is *discouraged*. - :type hash: ``bool`` or ``None`` - :param bool init: Include this attribute in the generated ``__init__`` - method. It is possible to set this to ``False`` and set a default - value. In that case this attributed is unconditionally initialized - with the specified default value or factory. - :param callable converter: `callable` that is called by - ``attrs``-generated ``__init__`` methods to converter attribute's value - to the desired format. It is given the passed-in value, and the - returned value will be used as the new value of the attribute. The - value is converted before being passed to the validator, if any. - :param metadata: An arbitrary mapping, to be used by third-party - components. See `extending_metadata`. - :param type: The type of the attribute. In Python 3.6 or greater, the - preferred method to specify the type is using a variable annotation - (see `PEP 526 `_). - This argument is provided for backward compatibility. - Regardless of the approach used, the type will be stored on - ``Attribute.type``. - - Please note that ``attrs`` doesn't do anything with this metadata by - itself. You can use it as part of your own code or for - `static type checking `. - :param kw_only: Make this attribute keyword-only (Python 3+) - in the generated ``__init__`` (if ``init`` is ``False``, this - parameter is ignored). - - .. versionadded:: 15.2.0 *convert* - .. versionadded:: 16.3.0 *metadata* - .. versionchanged:: 17.1.0 *validator* can be a ``list`` now. - .. versionchanged:: 17.1.0 - *hash* is ``None`` and therefore mirrors *eq* by default. - .. versionadded:: 17.3.0 *type* - .. deprecated:: 17.4.0 *convert* - .. versionadded:: 17.4.0 *converter* as a replacement for the deprecated - *convert* to achieve consistency with other noun-based arguments. - .. versionadded:: 18.1.0 - ``factory=f`` is syntactic sugar for ``default=attr.Factory(f)``. - .. versionadded:: 18.2.0 *kw_only* - .. versionchanged:: 19.2.0 *convert* keyword argument removed - .. versionchanged:: 19.2.0 *repr* also accepts a custom callable. - .. deprecated:: 19.2.0 *cmp* Removal on or after 2021-06-01. - .. versionadded:: 19.2.0 *eq* and *order* - """ - eq, order = _determine_eq_order(cmp, eq, order) - - if hash is not None and hash is not True and hash is not False: - raise TypeError( - "Invalid value for hash. Must be True, False, or None." - ) - - if factory is not None: - if default is not NOTHING: - raise ValueError( - "The `default` and `factory` arguments are mutually " - "exclusive." - ) - if not callable(factory): - raise ValueError("The `factory` argument must be a callable.") - default = Factory(factory) - - if metadata is None: - metadata = {} - - return _CountingAttr( - default=default, - validator=validator, - repr=repr, - cmp=None, - hash=hash, - init=init, - converter=converter, - metadata=metadata, - type=type, - kw_only=kw_only, - eq=eq, - order=order, - ) - - -def _make_attr_tuple_class(cls_name, attr_names): - """ - Create a tuple subclass to hold `Attribute`s for an `attrs` class. - - The subclass is a bare tuple with properties for names. - - class MyClassAttributes(tuple): - __slots__ = () - x = property(itemgetter(0)) - """ - attr_class_name = "{}Attributes".format(cls_name) - attr_class_template = [ - "class {}(tuple):".format(attr_class_name), - " __slots__ = ()", - ] - if attr_names: - for i, attr_name in enumerate(attr_names): - attr_class_template.append( - _tuple_property_pat.format(index=i, attr_name=attr_name) - ) - else: - attr_class_template.append(" pass") - globs = {"_attrs_itemgetter": itemgetter, "_attrs_property": property} - eval(compile("\n".join(attr_class_template), "", "exec"), globs) - - return globs[attr_class_name] - - -# Tuple class for extracted attributes from a class definition. -# `base_attrs` is a subset of `attrs`. -_Attributes = _make_attr_tuple_class( - "_Attributes", - [ - # all attributes to build dunder methods for - "attrs", - # attributes that have been inherited - "base_attrs", - # map inherited attributes to their originating classes - "base_attrs_map", - ], -) - - -def _is_class_var(annot): - """ - Check whether *annot* is a typing.ClassVar. - - The string comparison hack is used to avoid evaluating all string - annotations which would put attrs-based classes at a performance - disadvantage compared to plain old classes. - """ - return str(annot).startswith(_classvar_prefixes) - - -def _get_annotations(cls): - """ - Get annotations for *cls*. - """ - anns = getattr(cls, "__annotations__", None) - if anns is None: - return {} - - # Verify that the annotations aren't merely inherited. - for base_cls in cls.__mro__[1:]: - if anns is getattr(base_cls, "__annotations__", None): - return {} - - return anns - - -def _counter_getter(e): - """ - Key function for sorting to avoid re-creating a lambda for every class. - """ - return e[1].counter - - -def _transform_attrs(cls, these, auto_attribs, kw_only): - """ - Transform all `_CountingAttr`s on a class into `Attribute`s. - - If *these* is passed, use that and don't look for them on the class. - - Return an `_Attributes`. - """ - cd = cls.__dict__ - anns = _get_annotations(cls) - - if these is not None: - ca_list = [(name, ca) for name, ca in iteritems(these)] - - if not isinstance(these, ordered_dict): - ca_list.sort(key=_counter_getter) - elif auto_attribs is True: - ca_names = { - name - for name, attr in cd.items() - if isinstance(attr, _CountingAttr) - } - ca_list = [] - annot_names = set() - for attr_name, type in anns.items(): - if _is_class_var(type): - continue - annot_names.add(attr_name) - a = cd.get(attr_name, NOTHING) - if not isinstance(a, _CountingAttr): - if a is NOTHING: - a = attrib() - else: - a = attrib(default=a) - ca_list.append((attr_name, a)) - - unannotated = ca_names - annot_names - if len(unannotated) > 0: - raise UnannotatedAttributeError( - "The following `attr.ib`s lack a type annotation: " - + ", ".join( - sorted(unannotated, key=lambda n: cd.get(n).counter) - ) - + "." - ) - else: - ca_list = sorted( - ( - (name, attr) - for name, attr in cd.items() - if isinstance(attr, _CountingAttr) - ), - key=lambda e: e[1].counter, - ) - - own_attrs = [ - Attribute.from_counting_attr( - name=attr_name, ca=ca, type=anns.get(attr_name) - ) - for attr_name, ca in ca_list - ] - - base_attrs = [] - base_attr_map = {} # A dictionary of base attrs to their classes. - taken_attr_names = {a.name: a for a in own_attrs} - - # Traverse the MRO and collect attributes. - for base_cls in cls.__mro__[1:-1]: - sub_attrs = getattr(base_cls, "__attrs_attrs__", None) - if sub_attrs is not None: - for a in sub_attrs: - prev_a = taken_attr_names.get(a.name) - # Only add an attribute if it hasn't been defined before. This - # allows for overwriting attribute definitions by subclassing. - if prev_a is None: - base_attrs.append(a) - taken_attr_names[a.name] = a - base_attr_map[a.name] = base_cls - - attr_names = [a.name for a in base_attrs + own_attrs] - - AttrsClass = _make_attr_tuple_class(cls.__name__, attr_names) - - if kw_only: - own_attrs = [a._assoc(kw_only=True) for a in own_attrs] - base_attrs = [a._assoc(kw_only=True) for a in base_attrs] - - attrs = AttrsClass(base_attrs + own_attrs) - - # Mandatory vs non-mandatory attr order only matters when they are part of - # the __init__ signature and when they aren't kw_only (which are moved to - # the end and can be mandatory or non-mandatory in any order, as they will - # be specified as keyword args anyway). Check the order of those attrs: - had_default = False - for a in (a for a in attrs if a.init is not False and a.kw_only is False): - if had_default is True and a.default is NOTHING: - raise ValueError( - "No mandatory attributes allowed after an attribute with a " - "default value or factory. Attribute in question: %r" % (a,) - ) - - if had_default is False and a.default is not NOTHING: - had_default = True - - return _Attributes((attrs, base_attrs, base_attr_map)) - - -def _frozen_setattrs(self, name, value): - """ - Attached to frozen classes as __setattr__. - """ - raise FrozenInstanceError() - - -def _frozen_delattrs(self, name): - """ - Attached to frozen classes as __delattr__. - """ - raise FrozenInstanceError() - - -class _ClassBuilder(object): - """ - Iteratively build *one* class. - """ - - __slots__ = ( - "_cls", - "_cls_dict", - "_attrs", - "_base_names", - "_attr_names", - "_slots", - "_frozen", - "_weakref_slot", - "_cache_hash", - "_has_post_init", - "_delete_attribs", - "_base_attr_map", - "_is_exc", - ) - - def __init__( - self, - cls, - these, - slots, - frozen, - weakref_slot, - auto_attribs, - kw_only, - cache_hash, - is_exc, - ): - attrs, base_attrs, base_map = _transform_attrs( - cls, these, auto_attribs, kw_only - ) - - self._cls = cls - self._cls_dict = dict(cls.__dict__) if slots else {} - self._attrs = attrs - self._base_names = set(a.name for a in base_attrs) - self._base_attr_map = base_map - self._attr_names = tuple(a.name for a in attrs) - self._slots = slots - self._frozen = frozen or _has_frozen_base_class(cls) - self._weakref_slot = weakref_slot - self._cache_hash = cache_hash - self._has_post_init = bool(getattr(cls, "__attrs_post_init__", False)) - self._delete_attribs = not bool(these) - self._is_exc = is_exc - - self._cls_dict["__attrs_attrs__"] = self._attrs - - if frozen: - self._cls_dict["__setattr__"] = _frozen_setattrs - self._cls_dict["__delattr__"] = _frozen_delattrs - - def __repr__(self): - return "<_ClassBuilder(cls={cls})>".format(cls=self._cls.__name__) - - def build_class(self): - """ - Finalize class based on the accumulated configuration. - - Builder cannot be used after calling this method. - """ - if self._slots is True: - return self._create_slots_class() - else: - return self._patch_original_class() - - def _patch_original_class(self): - """ - Apply accumulated methods and return the class. - """ - cls = self._cls - base_names = self._base_names - - # Clean class of attribute definitions (`attr.ib()`s). - if self._delete_attribs: - for name in self._attr_names: - if ( - name not in base_names - and getattr(cls, name, _sentinel) is not _sentinel - ): - try: - delattr(cls, name) - except AttributeError: - # This can happen if a base class defines a class - # variable and we want to set an attribute with the - # same name by using only a type annotation. - pass - - # Attach our dunder methods. - for name, value in self._cls_dict.items(): - setattr(cls, name, value) - - # Attach __setstate__. This is necessary to clear the hash code - # cache on deserialization. See issue - # https://github.com/python-attrs/attrs/issues/482 . - # Note that this code only handles setstate for dict classes. - # For slotted classes, see similar code in _create_slots_class . - if self._cache_hash: - existing_set_state_method = getattr(cls, "__setstate__", None) - if existing_set_state_method: - raise NotImplementedError( - "Currently you cannot use hash caching if " - "you specify your own __setstate__ method." - "See https://github.com/python-attrs/attrs/issues/494 ." - ) - - def cache_hash_set_state(chss_self, _): - # clear hash code cache - setattr(chss_self, _hash_cache_field, None) - - setattr(cls, "__setstate__", cache_hash_set_state) - - return cls - - def _create_slots_class(self): - """ - Build and return a new class with a `__slots__` attribute. - """ - base_names = self._base_names - cd = { - k: v - for k, v in iteritems(self._cls_dict) - if k not in tuple(self._attr_names) + ("__dict__", "__weakref__") - } - - weakref_inherited = False - - # Traverse the MRO to check for an existing __weakref__. - for base_cls in self._cls.__mro__[1:-1]: - if "__weakref__" in getattr(base_cls, "__dict__", ()): - weakref_inherited = True - break - - names = self._attr_names - if ( - self._weakref_slot - and "__weakref__" not in getattr(self._cls, "__slots__", ()) - and "__weakref__" not in names - and not weakref_inherited - ): - names += ("__weakref__",) - - # We only add the names of attributes that aren't inherited. - # Settings __slots__ to inherited attributes wastes memory. - slot_names = [name for name in names if name not in base_names] - if self._cache_hash: - slot_names.append(_hash_cache_field) - cd["__slots__"] = tuple(slot_names) - - qualname = getattr(self._cls, "__qualname__", None) - if qualname is not None: - cd["__qualname__"] = qualname - - # __weakref__ is not writable. - state_attr_names = tuple( - an for an in self._attr_names if an != "__weakref__" - ) - - def slots_getstate(self): - """ - Automatically created by attrs. - """ - return tuple(getattr(self, name) for name in state_attr_names) - - hash_caching_enabled = self._cache_hash - - def slots_setstate(self, state): - """ - Automatically created by attrs. - """ - __bound_setattr = _obj_setattr.__get__(self, Attribute) - for name, value in zip(state_attr_names, state): - __bound_setattr(name, value) - # Clearing the hash code cache on deserialization is needed - # because hash codes can change from run to run. See issue - # https://github.com/python-attrs/attrs/issues/482 . - # Note that this code only handles setstate for slotted classes. - # For dict classes, see similar code in _patch_original_class . - if hash_caching_enabled: - __bound_setattr(_hash_cache_field, None) - - # slots and frozen require __getstate__/__setstate__ to work - cd["__getstate__"] = slots_getstate - cd["__setstate__"] = slots_setstate - - # Create new class based on old class and our methods. - cls = type(self._cls)(self._cls.__name__, self._cls.__bases__, cd) - - # The following is a fix for - # https://github.com/python-attrs/attrs/issues/102. On Python 3, - # if a method mentions `__class__` or uses the no-arg super(), the - # compiler will bake a reference to the class in the method itself - # as `method.__closure__`. Since we replace the class with a - # clone, we rewrite these references so it keeps working. - for item in cls.__dict__.values(): - if isinstance(item, (classmethod, staticmethod)): - # Class- and staticmethods hide their functions inside. - # These might need to be rewritten as well. - closure_cells = getattr(item.__func__, "__closure__", None) - else: - closure_cells = getattr(item, "__closure__", None) - - if not closure_cells: # Catch None or the empty list. - continue - for cell in closure_cells: - if cell.cell_contents is self._cls: - set_closure_cell(cell, cls) - - return cls - - def add_repr(self, ns): - self._cls_dict["__repr__"] = self._add_method_dunders( - _make_repr(self._attrs, ns=ns) - ) - return self - - def add_str(self): - repr = self._cls_dict.get("__repr__") - if repr is None: - raise ValueError( - "__str__ can only be generated if a __repr__ exists." - ) - - def __str__(self): - return self.__repr__() - - self._cls_dict["__str__"] = self._add_method_dunders(__str__) - return self - - def make_unhashable(self): - self._cls_dict["__hash__"] = None - return self - - def add_hash(self): - self._cls_dict["__hash__"] = self._add_method_dunders( - _make_hash( - self._cls, - self._attrs, - frozen=self._frozen, - cache_hash=self._cache_hash, - ) - ) - - return self - - def add_init(self): - self._cls_dict["__init__"] = self._add_method_dunders( - _make_init( - self._cls, - self._attrs, - self._has_post_init, - self._frozen, - self._slots, - self._cache_hash, - self._base_attr_map, - self._is_exc, - ) - ) - - return self - - def add_eq(self): - cd = self._cls_dict - - cd["__eq__"], cd["__ne__"] = ( - self._add_method_dunders(meth) - for meth in _make_eq(self._cls, self._attrs) - ) - - return self - - def add_order(self): - cd = self._cls_dict - - cd["__lt__"], cd["__le__"], cd["__gt__"], cd["__ge__"] = ( - self._add_method_dunders(meth) - for meth in _make_order(self._cls, self._attrs) - ) - - return self - - def _add_method_dunders(self, method): - """ - Add __module__ and __qualname__ to a *method* if possible. - """ - try: - method.__module__ = self._cls.__module__ - except AttributeError: - pass - - try: - method.__qualname__ = ".".join( - (self._cls.__qualname__, method.__name__) - ) - except AttributeError: - pass - - return method - - -_CMP_DEPRECATION = ( - "The usage of `cmp` is deprecated and will be removed on or after " - "2021-06-01. Please use `eq` and `order` instead." -) - - -def _determine_eq_order(cmp, eq, order): - """ - Validate the combination of *cmp*, *eq*, and *order*. Derive the effective - values of eq and order. - """ - if cmp is not None and any((eq is not None, order is not None)): - raise ValueError("Don't mix `cmp` with `eq' and `order`.") - - # cmp takes precedence due to bw-compatibility. - if cmp is not None: - warnings.warn(_CMP_DEPRECATION, DeprecationWarning, stacklevel=3) - - return cmp, cmp - - # If left None, equality is on and ordering mirrors equality. - if eq is None: - eq = True - - if order is None: - order = eq - - if eq is False and order is True: - raise ValueError("`order` can only be True if `eq` is True too.") - - return eq, order - - -def attrs( - maybe_cls=None, - these=None, - repr_ns=None, - repr=True, - cmp=None, - hash=None, - init=True, - slots=False, - frozen=False, - weakref_slot=True, - str=False, - auto_attribs=False, - kw_only=False, - cache_hash=False, - auto_exc=False, - eq=None, - order=None, -): - r""" - A class decorator that adds `dunder - `_\ -methods according to the - specified attributes using `attr.ib` or the *these* argument. - - :param these: A dictionary of name to `attr.ib` mappings. This is - useful to avoid the definition of your attributes within the class body - because you can't (e.g. if you want to add ``__repr__`` methods to - Django models) or don't want to. - - If *these* is not ``None``, ``attrs`` will *not* search the class body - for attributes and will *not* remove any attributes from it. - - If *these* is an ordered dict (`dict` on Python 3.6+, - `collections.OrderedDict` otherwise), the order is deduced from - the order of the attributes inside *these*. Otherwise the order - of the definition of the attributes is used. - - :type these: `dict` of `str` to `attr.ib` - - :param str repr_ns: When using nested classes, there's no way in Python 2 - to automatically detect that. Therefore it's possible to set the - namespace explicitly for a more meaningful ``repr`` output. - :param bool repr: Create a ``__repr__`` method with a human readable - representation of ``attrs`` attributes.. - :param bool str: Create a ``__str__`` method that is identical to - ``__repr__``. This is usually not necessary except for - `Exception`\ s. - :param bool eq: If ``True`` or ``None`` (default), add ``__eq__`` and - ``__ne__`` methods that check two instances for equality. - - They compare the instances as if they were tuples of their ``attrs`` - attributes, but only iff the types of both classes are *identical*! - :type eq: `bool` or `None` - :param bool order: If ``True``, add ``__lt__``, ``__le__``, ``__gt__``, - and ``__ge__`` methods that behave like *eq* above and allow instances - to be ordered. If ``None`` (default) mirror value of *eq*. - :type order: `bool` or `None` - :param cmp: Setting to ``True`` is equivalent to setting ``eq=True, - order=True``. Deprecated in favor of *eq* and *order*, has precedence - over them for backward-compatibility though. Must not be mixed with - *eq* or *order*. - :type cmp: `bool` or `None` - :param hash: If ``None`` (default), the ``__hash__`` method is generated - according how *eq* and *frozen* are set. - - 1. If *both* are True, ``attrs`` will generate a ``__hash__`` for you. - 2. If *eq* is True and *frozen* is False, ``__hash__`` will be set to - None, marking it unhashable (which it is). - 3. If *eq* is False, ``__hash__`` will be left untouched meaning the - ``__hash__`` method of the base class will be used (if base class is - ``object``, this means it will fall back to id-based hashing.). - - Although not recommended, you can decide for yourself and force - ``attrs`` to create one (e.g. if the class is immutable even though you - didn't freeze it programmatically) by passing ``True`` or not. Both of - these cases are rather special and should be used carefully. - - See our documentation on `hashing`, Python's documentation on - `object.__hash__`, and the `GitHub issue that led to the default \ - behavior `_ for more - details. - :type hash: ``bool`` or ``None`` - :param bool init: Create a ``__init__`` method that initializes the - ``attrs`` attributes. Leading underscores are stripped for the - argument name. If a ``__attrs_post_init__`` method exists on the - class, it will be called after the class is fully initialized. - :param bool slots: Create a `slotted class ` that's more - memory-efficient. - :param bool frozen: Make instances immutable after initialization. If - someone attempts to modify a frozen instance, - `attr.exceptions.FrozenInstanceError` is raised. - - Please note: - - 1. This is achieved by installing a custom ``__setattr__`` method - on your class, so you can't implement your own. - - 2. True immutability is impossible in Python. - - 3. This *does* have a minor a runtime performance `impact - ` when initializing new instances. In other words: - ``__init__`` is slightly slower with ``frozen=True``. - - 4. If a class is frozen, you cannot modify ``self`` in - ``__attrs_post_init__`` or a self-written ``__init__``. You can - circumvent that limitation by using - ``object.__setattr__(self, "attribute_name", value)``. - - :param bool weakref_slot: Make instances weak-referenceable. This has no - effect unless ``slots`` is also enabled. - :param bool auto_attribs: If True, collect `PEP 526`_-annotated attributes - (Python 3.6 and later only) from the class body. - - In this case, you **must** annotate every field. If ``attrs`` - encounters a field that is set to an `attr.ib` but lacks a type - annotation, an `attr.exceptions.UnannotatedAttributeError` is - raised. Use ``field_name: typing.Any = attr.ib(...)`` if you don't - want to set a type. - - If you assign a value to those attributes (e.g. ``x: int = 42``), that - value becomes the default value like if it were passed using - ``attr.ib(default=42)``. Passing an instance of `Factory` also - works as expected. - - Attributes annotated as `typing.ClassVar`, and attributes that are - neither annotated nor set to an `attr.ib` are **ignored**. - - .. _`PEP 526`: https://www.python.org/dev/peps/pep-0526/ - :param bool kw_only: Make all attributes keyword-only (Python 3+) - in the generated ``__init__`` (if ``init`` is ``False``, this - parameter is ignored). - :param bool cache_hash: Ensure that the object's hash code is computed - only once and stored on the object. If this is set to ``True``, - hashing must be either explicitly or implicitly enabled for this - class. If the hash code is cached, avoid any reassignments of - fields involved in hash code computation or mutations of the objects - those fields point to after object creation. If such changes occur, - the behavior of the object's hash code is undefined. - :param bool auto_exc: If the class subclasses `BaseException` - (which implicitly includes any subclass of any exception), the - following happens to behave like a well-behaved Python exceptions - class: - - - the values for *eq*, *order*, and *hash* are ignored and the - instances compare and hash by the instance's ids (N.B. ``attrs`` will - *not* remove existing implementations of ``__hash__`` or the equality - methods. It just won't add own ones.), - - all attributes that are either passed into ``__init__`` or have a - default value are additionally available as a tuple in the ``args`` - attribute, - - the value of *str* is ignored leaving ``__str__`` to base classes. - - .. versionadded:: 16.0.0 *slots* - .. versionadded:: 16.1.0 *frozen* - .. versionadded:: 16.3.0 *str* - .. versionadded:: 16.3.0 Support for ``__attrs_post_init__``. - .. versionchanged:: 17.1.0 - *hash* supports ``None`` as value which is also the default now. - .. versionadded:: 17.3.0 *auto_attribs* - .. versionchanged:: 18.1.0 - If *these* is passed, no attributes are deleted from the class body. - .. versionchanged:: 18.1.0 If *these* is ordered, the order is retained. - .. versionadded:: 18.2.0 *weakref_slot* - .. deprecated:: 18.2.0 - ``__lt__``, ``__le__``, ``__gt__``, and ``__ge__`` now raise a - `DeprecationWarning` if the classes compared are subclasses of - each other. ``__eq`` and ``__ne__`` never tried to compared subclasses - to each other. - .. versionchanged:: 19.2.0 - ``__lt__``, ``__le__``, ``__gt__``, and ``__ge__`` now do not consider - subclasses comparable anymore. - .. versionadded:: 18.2.0 *kw_only* - .. versionadded:: 18.2.0 *cache_hash* - .. versionadded:: 19.1.0 *auto_exc* - .. deprecated:: 19.2.0 *cmp* Removal on or after 2021-06-01. - .. versionadded:: 19.2.0 *eq* and *order* - """ - eq, order = _determine_eq_order(cmp, eq, order) - - def wrap(cls): - - if getattr(cls, "__class__", None) is None: - raise TypeError("attrs only works with new-style classes.") - - is_exc = auto_exc is True and issubclass(cls, BaseException) - - builder = _ClassBuilder( - cls, - these, - slots, - frozen, - weakref_slot, - auto_attribs, - kw_only, - cache_hash, - is_exc, - ) - - if repr is True: - builder.add_repr(repr_ns) - if str is True: - builder.add_str() - if eq is True and not is_exc: - builder.add_eq() - if order is True and not is_exc: - builder.add_order() - - if hash is not True and hash is not False and hash is not None: - # Can't use `hash in` because 1 == True for example. - raise TypeError( - "Invalid value for hash. Must be True, False, or None." - ) - elif hash is False or (hash is None and eq is False) or is_exc: - # Don't do anything. Should fall back to __object__'s __hash__ - # which is by id. - if cache_hash: - raise TypeError( - "Invalid value for cache_hash. To use hash caching," - " hashing must be either explicitly or implicitly " - "enabled." - ) - elif hash is True or (hash is None and eq is True and frozen is True): - # Build a __hash__ if told so, or if it's safe. - builder.add_hash() - else: - # Raise TypeError on attempts to hash. - if cache_hash: - raise TypeError( - "Invalid value for cache_hash. To use hash caching," - " hashing must be either explicitly or implicitly " - "enabled." - ) - builder.make_unhashable() - - if init is True: - builder.add_init() - else: - if cache_hash: - raise TypeError( - "Invalid value for cache_hash. To use hash caching," - " init must be True." - ) - - return builder.build_class() - - # maybe_cls's type depends on the usage of the decorator. It's a class - # if it's used as `@attrs` but ``None`` if used as `@attrs()`. - if maybe_cls is None: - return wrap - else: - return wrap(maybe_cls) - - -_attrs = attrs -""" -Internal alias so we can use it in functions that take an argument called -*attrs*. -""" - - -if PY2: - - def _has_frozen_base_class(cls): - """ - Check whether *cls* has a frozen ancestor by looking at its - __setattr__. - """ - return ( - getattr(cls.__setattr__, "__module__", None) - == _frozen_setattrs.__module__ - and cls.__setattr__.__name__ == _frozen_setattrs.__name__ - ) - - -else: - - def _has_frozen_base_class(cls): - """ - Check whether *cls* has a frozen ancestor by looking at its - __setattr__. - """ - return cls.__setattr__ == _frozen_setattrs - - -def _attrs_to_tuple(obj, attrs): - """ - Create a tuple of all values of *obj*'s *attrs*. - """ - return tuple(getattr(obj, a.name) for a in attrs) - - -def _generate_unique_filename(cls, func_name): - """ - Create a "filename" suitable for a function being generated. - """ - unique_id = uuid.uuid4() - extra = "" - count = 1 - - while True: - unique_filename = "".format( - func_name, - cls.__module__, - getattr(cls, "__qualname__", cls.__name__), - extra, - ) - # To handle concurrency we essentially "reserve" our spot in - # the linecache with a dummy line. The caller can then - # set this value correctly. - cache_line = (1, None, (str(unique_id),), unique_filename) - if ( - linecache.cache.setdefault(unique_filename, cache_line) - == cache_line - ): - return unique_filename - - # Looks like this spot is taken. Try again. - count += 1 - extra = "-{0}".format(count) - - -def _make_hash(cls, attrs, frozen, cache_hash): - attrs = tuple( - a for a in attrs if a.hash is True or (a.hash is None and a.eq is True) - ) - - tab = " " - - unique_filename = _generate_unique_filename(cls, "hash") - type_hash = hash(unique_filename) - - method_lines = ["def __hash__(self):"] - - def append_hash_computation_lines(prefix, indent): - """ - Generate the code for actually computing the hash code. - Below this will either be returned directly or used to compute - a value which is then cached, depending on the value of cache_hash - """ - method_lines.extend( - [indent + prefix + "hash((", indent + " %d," % (type_hash,)] - ) - - for a in attrs: - method_lines.append(indent + " self.%s," % a.name) - - method_lines.append(indent + " ))") - - if cache_hash: - method_lines.append(tab + "if self.%s is None:" % _hash_cache_field) - if frozen: - append_hash_computation_lines( - "object.__setattr__(self, '%s', " % _hash_cache_field, tab * 2 - ) - method_lines.append(tab * 2 + ")") # close __setattr__ - else: - append_hash_computation_lines( - "self.%s = " % _hash_cache_field, tab * 2 - ) - method_lines.append(tab + "return self.%s" % _hash_cache_field) - else: - append_hash_computation_lines("return ", tab) - - script = "\n".join(method_lines) - globs = {} - locs = {} - bytecode = compile(script, unique_filename, "exec") - eval(bytecode, globs, locs) - - # In order of debuggers like PDB being able to step through the code, - # we add a fake linecache entry. - linecache.cache[unique_filename] = ( - len(script), - None, - script.splitlines(True), - unique_filename, - ) - - return locs["__hash__"] - - -def _add_hash(cls, attrs): - """ - Add a hash method to *cls*. - """ - cls.__hash__ = _make_hash(cls, attrs, frozen=False, cache_hash=False) - return cls - - -def __ne__(self, other): - """ - Check equality and either forward a NotImplemented or return the result - negated. - """ - result = self.__eq__(other) - if result is NotImplemented: - return NotImplemented - - return not result - - -def _make_eq(cls, attrs): - attrs = [a for a in attrs if a.eq] - - unique_filename = _generate_unique_filename(cls, "eq") - lines = [ - "def __eq__(self, other):", - " if other.__class__ is not self.__class__:", - " return NotImplemented", - ] - # We can't just do a big self.x = other.x and... clause due to - # irregularities like nan == nan is false but (nan,) == (nan,) is true. - if attrs: - lines.append(" return (") - others = [" ) == ("] - for a in attrs: - lines.append(" self.%s," % (a.name,)) - others.append(" other.%s," % (a.name,)) - - lines += others + [" )"] - else: - lines.append(" return True") - - script = "\n".join(lines) - globs = {} - locs = {} - bytecode = compile(script, unique_filename, "exec") - eval(bytecode, globs, locs) - - # In order of debuggers like PDB being able to step through the code, - # we add a fake linecache entry. - linecache.cache[unique_filename] = ( - len(script), - None, - script.splitlines(True), - unique_filename, - ) - return locs["__eq__"], __ne__ - - -def _make_order(cls, attrs): - attrs = [a for a in attrs if a.order] - - def attrs_to_tuple(obj): - """ - Save us some typing. - """ - return _attrs_to_tuple(obj, attrs) - - def __lt__(self, other): - """ - Automatically created by attrs. - """ - if other.__class__ is self.__class__: - return attrs_to_tuple(self) < attrs_to_tuple(other) - - return NotImplemented - - def __le__(self, other): - """ - Automatically created by attrs. - """ - if other.__class__ is self.__class__: - return attrs_to_tuple(self) <= attrs_to_tuple(other) - - return NotImplemented - - def __gt__(self, other): - """ - Automatically created by attrs. - """ - if other.__class__ is self.__class__: - return attrs_to_tuple(self) > attrs_to_tuple(other) - - return NotImplemented - - def __ge__(self, other): - """ - Automatically created by attrs. - """ - if other.__class__ is self.__class__: - return attrs_to_tuple(self) >= attrs_to_tuple(other) - - return NotImplemented - - return __lt__, __le__, __gt__, __ge__ - - -def _add_eq(cls, attrs=None): - """ - Add equality methods to *cls* with *attrs*. - """ - if attrs is None: - attrs = cls.__attrs_attrs__ - - cls.__eq__, cls.__ne__ = _make_eq(cls, attrs) - - return cls - - -_already_repring = threading.local() - - -def _make_repr(attrs, ns): - """ - Make a repr method that includes relevant *attrs*, adding *ns* to the full - name. - """ - - # Figure out which attributes to include, and which function to use to - # format them. The a.repr value can be either bool or a custom callable. - attr_names_with_reprs = tuple( - (a.name, repr if a.repr is True else a.repr) - for a in attrs - if a.repr is not False - ) - - def __repr__(self): - """ - Automatically created by attrs. - """ - try: - working_set = _already_repring.working_set - except AttributeError: - working_set = set() - _already_repring.working_set = working_set - - if id(self) in working_set: - return "..." - real_cls = self.__class__ - if ns is None: - qualname = getattr(real_cls, "__qualname__", None) - if qualname is not None: - class_name = qualname.rsplit(">.", 1)[-1] - else: - class_name = real_cls.__name__ - else: - class_name = ns + "." + real_cls.__name__ - - # Since 'self' remains on the stack (i.e.: strongly referenced) for the - # duration of this call, it's safe to depend on id(...) stability, and - # not need to track the instance and therefore worry about properties - # like weakref- or hash-ability. - working_set.add(id(self)) - try: - result = [class_name, "("] - first = True - for name, attr_repr in attr_names_with_reprs: - if first: - first = False - else: - result.append(", ") - result.extend( - (name, "=", attr_repr(getattr(self, name, NOTHING))) - ) - return "".join(result) + ")" - finally: - working_set.remove(id(self)) - - return __repr__ - - -def _add_repr(cls, ns=None, attrs=None): - """ - Add a repr method to *cls*. - """ - if attrs is None: - attrs = cls.__attrs_attrs__ - - cls.__repr__ = _make_repr(attrs, ns) - return cls - - -def _make_init( - cls, attrs, post_init, frozen, slots, cache_hash, base_attr_map, is_exc -): - attrs = [a for a in attrs if a.init or a.default is not NOTHING] - - unique_filename = _generate_unique_filename(cls, "init") - - script, globs, annotations = _attrs_to_init_script( - attrs, frozen, slots, post_init, cache_hash, base_attr_map, is_exc - ) - locs = {} - bytecode = compile(script, unique_filename, "exec") - attr_dict = dict((a.name, a) for a in attrs) - globs.update({"NOTHING": NOTHING, "attr_dict": attr_dict}) - - if frozen is True: - # Save the lookup overhead in __init__ if we need to circumvent - # immutability. - globs["_cached_setattr"] = _obj_setattr - - eval(bytecode, globs, locs) - - # In order of debuggers like PDB being able to step through the code, - # we add a fake linecache entry. - linecache.cache[unique_filename] = ( - len(script), - None, - script.splitlines(True), - unique_filename, - ) - - __init__ = locs["__init__"] - __init__.__annotations__ = annotations - - return __init__ - - -def fields(cls): - """ - Return the tuple of ``attrs`` attributes for a class. - - The tuple also allows accessing the fields by their names (see below for - examples). - - :param type cls: Class to introspect. - - :raise TypeError: If *cls* is not a class. - :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` - class. - - :rtype: tuple (with name accessors) of `attr.Attribute` - - .. versionchanged:: 16.2.0 Returned tuple allows accessing the fields - by name. - """ - if not isclass(cls): - raise TypeError("Passed object must be a class.") - attrs = getattr(cls, "__attrs_attrs__", None) - if attrs is None: - raise NotAnAttrsClassError( - "{cls!r} is not an attrs-decorated class.".format(cls=cls) - ) - return attrs - - -def fields_dict(cls): - """ - Return an ordered dictionary of ``attrs`` attributes for a class, whose - keys are the attribute names. - - :param type cls: Class to introspect. - - :raise TypeError: If *cls* is not a class. - :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` - class. - - :rtype: an ordered dict where keys are attribute names and values are - `attr.Attribute`\\ s. This will be a `dict` if it's - naturally ordered like on Python 3.6+ or an - :class:`~collections.OrderedDict` otherwise. - - .. versionadded:: 18.1.0 - """ - if not isclass(cls): - raise TypeError("Passed object must be a class.") - attrs = getattr(cls, "__attrs_attrs__", None) - if attrs is None: - raise NotAnAttrsClassError( - "{cls!r} is not an attrs-decorated class.".format(cls=cls) - ) - return ordered_dict(((a.name, a) for a in attrs)) - - -def validate(inst): - """ - Validate all attributes on *inst* that have a validator. - - Leaves all exceptions through. - - :param inst: Instance of a class with ``attrs`` attributes. - """ - if _config._run_validators is False: - return - - for a in fields(inst.__class__): - v = a.validator - if v is not None: - v(inst, a, getattr(inst, a.name)) - - -def _is_slot_cls(cls): - return "__slots__" in cls.__dict__ - - -def _is_slot_attr(a_name, base_attr_map): - """ - Check if the attribute name comes from a slot class. - """ - return a_name in base_attr_map and _is_slot_cls(base_attr_map[a_name]) - - -def _attrs_to_init_script( - attrs, frozen, slots, post_init, cache_hash, base_attr_map, is_exc -): - """ - Return a script of an initializer for *attrs* and a dict of globals. - - The globals are expected by the generated script. - - If *frozen* is True, we cannot set the attributes directly so we use - a cached ``object.__setattr__``. - """ - lines = [] - any_slot_ancestors = any( - _is_slot_attr(a.name, base_attr_map) for a in attrs - ) - if frozen is True: - if slots is True: - lines.append( - # Circumvent the __setattr__ descriptor to save one lookup per - # assignment. - # Note _setattr will be used again below if cache_hash is True - "_setattr = _cached_setattr.__get__(self, self.__class__)" - ) - - def fmt_setter(attr_name, value_var): - return "_setattr('%(attr_name)s', %(value_var)s)" % { - "attr_name": attr_name, - "value_var": value_var, - } - - def fmt_setter_with_converter(attr_name, value_var): - conv_name = _init_converter_pat.format(attr_name) - return "_setattr('%(attr_name)s', %(conv)s(%(value_var)s))" % { - "attr_name": attr_name, - "value_var": value_var, - "conv": conv_name, - } - - else: - # Dict frozen classes assign directly to __dict__. - # But only if the attribute doesn't come from an ancestor slot - # class. - # Note _inst_dict will be used again below if cache_hash is True - lines.append("_inst_dict = self.__dict__") - if any_slot_ancestors: - lines.append( - # Circumvent the __setattr__ descriptor to save one lookup - # per assignment. - "_setattr = _cached_setattr.__get__(self, self.__class__)" - ) - - def fmt_setter(attr_name, value_var): - if _is_slot_attr(attr_name, base_attr_map): - res = "_setattr('%(attr_name)s', %(value_var)s)" % { - "attr_name": attr_name, - "value_var": value_var, - } - else: - res = "_inst_dict['%(attr_name)s'] = %(value_var)s" % { - "attr_name": attr_name, - "value_var": value_var, - } - return res - - def fmt_setter_with_converter(attr_name, value_var): - conv_name = _init_converter_pat.format(attr_name) - if _is_slot_attr(attr_name, base_attr_map): - tmpl = "_setattr('%(attr_name)s', %(c)s(%(value_var)s))" - else: - tmpl = "_inst_dict['%(attr_name)s'] = %(c)s(%(value_var)s)" - return tmpl % { - "attr_name": attr_name, - "value_var": value_var, - "c": conv_name, - } - - else: - # Not frozen. - def fmt_setter(attr_name, value): - return "self.%(attr_name)s = %(value)s" % { - "attr_name": attr_name, - "value": value, - } - - def fmt_setter_with_converter(attr_name, value_var): - conv_name = _init_converter_pat.format(attr_name) - return "self.%(attr_name)s = %(conv)s(%(value_var)s)" % { - "attr_name": attr_name, - "value_var": value_var, - "conv": conv_name, - } - - args = [] - kw_only_args = [] - attrs_to_validate = [] - - # This is a dictionary of names to validator and converter callables. - # Injecting this into __init__ globals lets us avoid lookups. - names_for_globals = {} - annotations = {"return": None} - - for a in attrs: - if a.validator: - attrs_to_validate.append(a) - attr_name = a.name - arg_name = a.name.lstrip("_") - has_factory = isinstance(a.default, Factory) - if has_factory and a.default.takes_self: - maybe_self = "self" - else: - maybe_self = "" - if a.init is False: - if has_factory: - init_factory_name = _init_factory_pat.format(a.name) - if a.converter is not None: - lines.append( - fmt_setter_with_converter( - attr_name, - init_factory_name + "({0})".format(maybe_self), - ) - ) - conv_name = _init_converter_pat.format(a.name) - names_for_globals[conv_name] = a.converter - else: - lines.append( - fmt_setter( - attr_name, - init_factory_name + "({0})".format(maybe_self), - ) - ) - names_for_globals[init_factory_name] = a.default.factory - else: - if a.converter is not None: - lines.append( - fmt_setter_with_converter( - attr_name, - "attr_dict['{attr_name}'].default".format( - attr_name=attr_name - ), - ) - ) - conv_name = _init_converter_pat.format(a.name) - names_for_globals[conv_name] = a.converter - else: - lines.append( - fmt_setter( - attr_name, - "attr_dict['{attr_name}'].default".format( - attr_name=attr_name - ), - ) - ) - elif a.default is not NOTHING and not has_factory: - arg = "{arg_name}=attr_dict['{attr_name}'].default".format( - arg_name=arg_name, attr_name=attr_name - ) - if a.kw_only: - kw_only_args.append(arg) - else: - args.append(arg) - if a.converter is not None: - lines.append(fmt_setter_with_converter(attr_name, arg_name)) - names_for_globals[ - _init_converter_pat.format(a.name) - ] = a.converter - else: - lines.append(fmt_setter(attr_name, arg_name)) - elif has_factory: - arg = "{arg_name}=NOTHING".format(arg_name=arg_name) - if a.kw_only: - kw_only_args.append(arg) - else: - args.append(arg) - lines.append( - "if {arg_name} is not NOTHING:".format(arg_name=arg_name) - ) - init_factory_name = _init_factory_pat.format(a.name) - if a.converter is not None: - lines.append( - " " + fmt_setter_with_converter(attr_name, arg_name) - ) - lines.append("else:") - lines.append( - " " - + fmt_setter_with_converter( - attr_name, - init_factory_name + "({0})".format(maybe_self), - ) - ) - names_for_globals[ - _init_converter_pat.format(a.name) - ] = a.converter - else: - lines.append(" " + fmt_setter(attr_name, arg_name)) - lines.append("else:") - lines.append( - " " - + fmt_setter( - attr_name, - init_factory_name + "({0})".format(maybe_self), - ) - ) - names_for_globals[init_factory_name] = a.default.factory - else: - if a.kw_only: - kw_only_args.append(arg_name) - else: - args.append(arg_name) - if a.converter is not None: - lines.append(fmt_setter_with_converter(attr_name, arg_name)) - names_for_globals[ - _init_converter_pat.format(a.name) - ] = a.converter - else: - lines.append(fmt_setter(attr_name, arg_name)) - - if a.init is True and a.converter is None and a.type is not None: - annotations[arg_name] = a.type - - if attrs_to_validate: # we can skip this if there are no validators. - names_for_globals["_config"] = _config - lines.append("if _config._run_validators is True:") - for a in attrs_to_validate: - val_name = "__attr_validator_{}".format(a.name) - attr_name = "__attr_{}".format(a.name) - lines.append( - " {}(self, {}, self.{})".format(val_name, attr_name, a.name) - ) - names_for_globals[val_name] = a.validator - names_for_globals[attr_name] = a - if post_init: - lines.append("self.__attrs_post_init__()") - - # because this is set only after __attrs_post_init is called, a crash - # will result if post-init tries to access the hash code. This seemed - # preferable to setting this beforehand, in which case alteration to - # field values during post-init combined with post-init accessing the - # hash code would result in silent bugs. - if cache_hash: - if frozen: - if slots: - # if frozen and slots, then _setattr defined above - init_hash_cache = "_setattr('%s', %s)" - else: - # if frozen and not slots, then _inst_dict defined above - init_hash_cache = "_inst_dict['%s'] = %s" - else: - init_hash_cache = "self.%s = %s" - lines.append(init_hash_cache % (_hash_cache_field, "None")) - - # For exceptions we rely on BaseException.__init__ for proper - # initialization. - if is_exc: - vals = ",".join("self." + a.name for a in attrs if a.init) - - lines.append("BaseException.__init__(self, %s)" % (vals,)) - - args = ", ".join(args) - if kw_only_args: - if PY2: - raise PythonTooOldError( - "Keyword-only arguments only work on Python 3 and later." - ) - - args += "{leading_comma}*, {kw_only_args}".format( - leading_comma=", " if args else "", - kw_only_args=", ".join(kw_only_args), - ) - return ( - """\ -def __init__(self, {args}): - {lines} -""".format( - args=args, lines="\n ".join(lines) if lines else "pass" - ), - names_for_globals, - annotations, - ) - - -class Attribute(object): - """ - *Read-only* representation of an attribute. - - :attribute name: The name of the attribute. - - Plus *all* arguments of `attr.ib` (except for ``factory`` - which is only syntactic sugar for ``default=Factory(...)``. - - For the version history of the fields, see `attr.ib`. - """ - - __slots__ = ( - "name", - "default", - "validator", - "repr", - "eq", - "order", - "hash", - "init", - "metadata", - "type", - "converter", - "kw_only", - ) - - def __init__( - self, - name, - default, - validator, - repr, - cmp, # XXX: unused, remove along with other cmp code. - hash, - init, - metadata=None, - type=None, - converter=None, - kw_only=False, - eq=None, - order=None, - ): - eq, order = _determine_eq_order(cmp, eq, order) - - # Cache this descriptor here to speed things up later. - bound_setattr = _obj_setattr.__get__(self, Attribute) - - # Despite the big red warning, people *do* instantiate `Attribute` - # themselves. - bound_setattr("name", name) - bound_setattr("default", default) - bound_setattr("validator", validator) - bound_setattr("repr", repr) - bound_setattr("eq", eq) - bound_setattr("order", order) - bound_setattr("hash", hash) - bound_setattr("init", init) - bound_setattr("converter", converter) - bound_setattr( - "metadata", - ( - metadata_proxy(metadata) - if metadata - else _empty_metadata_singleton - ), - ) - bound_setattr("type", type) - bound_setattr("kw_only", kw_only) - - def __setattr__(self, name, value): - raise FrozenInstanceError() - - @classmethod - def from_counting_attr(cls, name, ca, type=None): - # type holds the annotated value. deal with conflicts: - if type is None: - type = ca.type - elif ca.type is not None: - raise ValueError( - "Type annotation and type argument cannot both be present" - ) - inst_dict = { - k: getattr(ca, k) - for k in Attribute.__slots__ - if k - not in ( - "name", - "validator", - "default", - "type", - ) # exclude methods and deprecated alias - } - return cls( - name=name, - validator=ca._validator, - default=ca._default, - type=type, - cmp=None, - **inst_dict - ) - - @property - def cmp(self): - """ - Simulate the presence of a cmp attribute and warn. - """ - warnings.warn(_CMP_DEPRECATION, DeprecationWarning, stacklevel=2) - - return self.eq and self.order - - # Don't use attr.assoc since fields(Attribute) doesn't work - def _assoc(self, **changes): - """ - Copy *self* and apply *changes*. - """ - new = copy.copy(self) - - new._setattrs(changes.items()) - - return new - - # Don't use _add_pickle since fields(Attribute) doesn't work - def __getstate__(self): - """ - Play nice with pickle. - """ - return tuple( - getattr(self, name) if name != "metadata" else dict(self.metadata) - for name in self.__slots__ - ) - - def __setstate__(self, state): - """ - Play nice with pickle. - """ - self._setattrs(zip(self.__slots__, state)) - - def _setattrs(self, name_values_pairs): - bound_setattr = _obj_setattr.__get__(self, Attribute) - for name, value in name_values_pairs: - if name != "metadata": - bound_setattr(name, value) - else: - bound_setattr( - name, - metadata_proxy(value) - if value - else _empty_metadata_singleton, - ) - - -_a = [ - Attribute( - name=name, - default=NOTHING, - validator=None, - repr=True, - cmp=None, - eq=True, - order=False, - hash=(name != "metadata"), - init=True, - ) - for name in Attribute.__slots__ -] - -Attribute = _add_hash( - _add_eq(_add_repr(Attribute, attrs=_a), attrs=_a), - attrs=[a for a in _a if a.hash], -) - - -class _CountingAttr(object): - """ - Intermediate representation of attributes that uses a counter to preserve - the order in which the attributes have been defined. - - *Internal* data structure of the attrs library. Running into is most - likely the result of a bug like a forgotten `@attr.s` decorator. - """ - - __slots__ = ( - "counter", - "_default", - "repr", - "eq", - "order", - "hash", - "init", - "metadata", - "_validator", - "converter", - "type", - "kw_only", - ) - __attrs_attrs__ = tuple( - Attribute( - name=name, - default=NOTHING, - validator=None, - repr=True, - cmp=None, - hash=True, - init=True, - kw_only=False, - eq=True, - order=False, - ) - for name in ( - "counter", - "_default", - "repr", - "eq", - "order", - "hash", - "init", - ) - ) + ( - Attribute( - name="metadata", - default=None, - validator=None, - repr=True, - cmp=None, - hash=False, - init=True, - kw_only=False, - eq=True, - order=False, - ), - ) - cls_counter = 0 - - def __init__( - self, - default, - validator, - repr, - cmp, # XXX: unused, remove along with cmp - hash, - init, - converter, - metadata, - type, - kw_only, - eq, - order, - ): - _CountingAttr.cls_counter += 1 - self.counter = _CountingAttr.cls_counter - self._default = default - # If validator is a list/tuple, wrap it using helper validator. - if validator and isinstance(validator, (list, tuple)): - self._validator = and_(*validator) - else: - self._validator = validator - self.repr = repr - self.eq = eq - self.order = order - self.hash = hash - self.init = init - self.converter = converter - self.metadata = metadata - self.type = type - self.kw_only = kw_only - - def validator(self, meth): - """ - Decorator that adds *meth* to the list of validators. - - Returns *meth* unchanged. - - .. versionadded:: 17.1.0 - """ - if self._validator is None: - self._validator = meth - else: - self._validator = and_(self._validator, meth) - return meth - - def default(self, meth): - """ - Decorator that allows to set the default for an attribute. - - Returns *meth* unchanged. - - :raises DefaultAlreadySetError: If default has been set before. - - .. versionadded:: 17.1.0 - """ - if self._default is not NOTHING: - raise DefaultAlreadySetError() - - self._default = Factory(meth, takes_self=True) - - return meth - - -_CountingAttr = _add_eq(_add_repr(_CountingAttr)) - - -@attrs(slots=True, init=False, hash=True) -class Factory(object): - """ - Stores a factory callable. - - If passed as the default value to `attr.ib`, the factory is used to - generate a new value. - - :param callable factory: A callable that takes either none or exactly one - mandatory positional argument depending on *takes_self*. - :param bool takes_self: Pass the partially initialized instance that is - being initialized as a positional argument. - - .. versionadded:: 17.1.0 *takes_self* - """ - - factory = attrib() - takes_self = attrib() - - def __init__(self, factory, takes_self=False): - """ - `Factory` is part of the default machinery so if we want a default - value here, we have to implement it ourselves. - """ - self.factory = factory - self.takes_self = takes_self - - -def make_class(name, attrs, bases=(object,), **attributes_arguments): - """ - A quick way to create a new class called *name* with *attrs*. - - :param name: The name for the new class. - :type name: str - - :param attrs: A list of names or a dictionary of mappings of names to - attributes. - - If *attrs* is a list or an ordered dict (`dict` on Python 3.6+, - `collections.OrderedDict` otherwise), the order is deduced from - the order of the names or attributes inside *attrs*. Otherwise the - order of the definition of the attributes is used. - :type attrs: `list` or `dict` - - :param tuple bases: Classes that the new class will subclass. - - :param attributes_arguments: Passed unmodified to `attr.s`. - - :return: A new class with *attrs*. - :rtype: type - - .. versionadded:: 17.1.0 *bases* - .. versionchanged:: 18.1.0 If *attrs* is ordered, the order is retained. - """ - if isinstance(attrs, dict): - cls_dict = attrs - elif isinstance(attrs, (list, tuple)): - cls_dict = dict((a, attrib()) for a in attrs) - else: - raise TypeError("attrs argument must be a dict or a list.") - - post_init = cls_dict.pop("__attrs_post_init__", None) - type_ = type( - name, - bases, - {} if post_init is None else {"__attrs_post_init__": post_init}, - ) - # For pickling to work, the __module__ variable needs to be set to the - # frame where the class is created. Bypass this step in environments where - # sys._getframe is not defined (Jython for example) or sys._getframe is not - # defined for arguments greater than 0 (IronPython). - try: - type_.__module__ = sys._getframe(1).f_globals.get( - "__name__", "__main__" - ) - except (AttributeError, ValueError): - pass - - # We do it here for proper warnings with meaningful stacklevel. - cmp = attributes_arguments.pop("cmp", None) - attributes_arguments["eq"], attributes_arguments[ - "order" - ] = _determine_eq_order( - cmp, attributes_arguments.get("eq"), attributes_arguments.get("order") - ) - - return _attrs(these=cls_dict, **attributes_arguments)(type_) - - -# These are required by within this module so we define them here and merely -# import into .validators. - - -@attrs(slots=True, hash=True) -class _AndValidator(object): - """ - Compose many validators to a single one. - """ - - _validators = attrib() - - def __call__(self, inst, attr, value): - for v in self._validators: - v(inst, attr, value) - - -def and_(*validators): - """ - A validator that composes multiple validators into one. - - When called on a value, it runs all wrapped validators. - - :param validators: Arbitrary number of validators. - :type validators: callables - - .. versionadded:: 17.1.0 - """ - vals = [] - for validator in validators: - vals.extend( - validator._validators - if isinstance(validator, _AndValidator) - else [validator] - ) - - return _AndValidator(tuple(vals)) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/_version_info.py b/.tox/py37-normal/lib/python3.7/site-packages/attr/_version_info.py deleted file mode 100644 index 014e78a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/_version_info.py +++ /dev/null @@ -1,85 +0,0 @@ -from __future__ import absolute_import, division, print_function - -from functools import total_ordering - -from ._funcs import astuple -from ._make import attrib, attrs - - -@total_ordering -@attrs(eq=False, order=False, slots=True, frozen=True) -class VersionInfo(object): - """ - A version object that can be compared to tuple of length 1--4: - - >>> attr.VersionInfo(19, 1, 0, "final") <= (19, 2) - True - >>> attr.VersionInfo(19, 1, 0, "final") < (19, 1, 1) - True - >>> vi = attr.VersionInfo(19, 2, 0, "final") - >>> vi < (19, 1, 1) - False - >>> vi < (19,) - False - >>> vi == (19, 2,) - True - >>> vi == (19, 2, 1) - False - - .. versionadded:: 19.2 - """ - - year = attrib(type=int) - minor = attrib(type=int) - micro = attrib(type=int) - releaselevel = attrib(type=str) - - @classmethod - def _from_version_string(cls, s): - """ - Parse *s* and return a _VersionInfo. - """ - v = s.split(".") - if len(v) == 3: - v.append("final") - - return cls( - year=int(v[0]), minor=int(v[1]), micro=int(v[2]), releaselevel=v[3] - ) - - def _ensure_tuple(self, other): - """ - Ensure *other* is a tuple of a valid length. - - Returns a possibly transformed *other* and ourselves as a tuple of - the same length as *other*. - """ - - if self.__class__ is other.__class__: - other = astuple(other) - - if not isinstance(other, tuple): - raise NotImplementedError - - if not (1 <= len(other) <= 4): - raise NotImplementedError - - return astuple(self)[: len(other)], other - - def __eq__(self, other): - try: - us, them = self._ensure_tuple(other) - except NotImplementedError: - return NotImplemented - - return us == them - - def __lt__(self, other): - try: - us, them = self._ensure_tuple(other) - except NotImplementedError: - return NotImplemented - - # Since alphabetically "dev0" < "final" < "post1" < "post2", we don't - # have to do anything special with releaselevel for now. - return us < them diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/_version_info.pyi b/.tox/py37-normal/lib/python3.7/site-packages/attr/_version_info.pyi deleted file mode 100644 index 45ced08..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/_version_info.pyi +++ /dev/null @@ -1,9 +0,0 @@ -class VersionInfo: - @property - def year(self) -> int: ... - @property - def minor(self) -> int: ... - @property - def micro(self) -> int: ... - @property - def releaselevel(self) -> str: ... diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/converters.py b/.tox/py37-normal/lib/python3.7/site-packages/attr/converters.py deleted file mode 100644 index 8592897..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/converters.py +++ /dev/null @@ -1,78 +0,0 @@ -""" -Commonly useful converters. -""" - -from __future__ import absolute_import, division, print_function - -from ._make import NOTHING, Factory - - -def optional(converter): - """ - A converter that allows an attribute to be optional. An optional attribute - is one which can be set to ``None``. - - :param callable converter: the converter that is used for non-``None`` - values. - - .. versionadded:: 17.1.0 - """ - - def optional_converter(val): - if val is None: - return None - return converter(val) - - return optional_converter - - -def default_if_none(default=NOTHING, factory=None): - """ - A converter that allows to replace ``None`` values by *default* or the - result of *factory*. - - :param default: Value to be used if ``None`` is passed. Passing an instance - of `attr.Factory` is supported, however the ``takes_self`` option - is *not*. - :param callable factory: A callable that takes not parameters whose result - is used if ``None`` is passed. - - :raises TypeError: If **neither** *default* or *factory* is passed. - :raises TypeError: If **both** *default* and *factory* are passed. - :raises ValueError: If an instance of `attr.Factory` is passed with - ``takes_self=True``. - - .. versionadded:: 18.2.0 - """ - if default is NOTHING and factory is None: - raise TypeError("Must pass either `default` or `factory`.") - - if default is not NOTHING and factory is not None: - raise TypeError( - "Must pass either `default` or `factory` but not both." - ) - - if factory is not None: - default = Factory(factory) - - if isinstance(default, Factory): - if default.takes_self: - raise ValueError( - "`takes_self` is not supported by default_if_none." - ) - - def default_if_none_converter(val): - if val is not None: - return val - - return default.factory() - - else: - - def default_if_none_converter(val): - if val is not None: - return val - - return default - - return default_if_none_converter diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/converters.pyi b/.tox/py37-normal/lib/python3.7/site-packages/attr/converters.pyi deleted file mode 100644 index 63b2a38..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/converters.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import TypeVar, Optional, Callable, overload -from . import _ConverterType - -_T = TypeVar("_T") - -def optional( - converter: _ConverterType[_T] -) -> _ConverterType[Optional[_T]]: ... -@overload -def default_if_none(default: _T) -> _ConverterType[_T]: ... -@overload -def default_if_none(*, factory: Callable[[], _T]) -> _ConverterType[_T]: ... diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/exceptions.py b/.tox/py37-normal/lib/python3.7/site-packages/attr/exceptions.py deleted file mode 100644 index d1b7618..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/exceptions.py +++ /dev/null @@ -1,74 +0,0 @@ -from __future__ import absolute_import, division, print_function - - -class FrozenInstanceError(AttributeError): - """ - A frozen/immutable instance has been attempted to be modified. - - It mirrors the behavior of ``namedtuples`` by using the same error message - and subclassing `AttributeError`. - - .. versionadded:: 16.1.0 - """ - - msg = "can't set attribute" - args = [msg] - - -class AttrsAttributeNotFoundError(ValueError): - """ - An ``attrs`` function couldn't find an attribute that the user asked for. - - .. versionadded:: 16.2.0 - """ - - -class NotAnAttrsClassError(ValueError): - """ - A non-``attrs`` class has been passed into an ``attrs`` function. - - .. versionadded:: 16.2.0 - """ - - -class DefaultAlreadySetError(RuntimeError): - """ - A default has been set using ``attr.ib()`` and is attempted to be reset - using the decorator. - - .. versionadded:: 17.1.0 - """ - - -class UnannotatedAttributeError(RuntimeError): - """ - A class with ``auto_attribs=True`` has an ``attr.ib()`` without a type - annotation. - - .. versionadded:: 17.3.0 - """ - - -class PythonTooOldError(RuntimeError): - """ - An ``attrs`` feature requiring a more recent python version has been used. - - .. versionadded:: 18.2.0 - """ - - -class NotCallableError(TypeError): - """ - A ``attr.ib()`` requiring a callable has been set with a value - that is not callable. - - .. versionadded:: 19.2.0 - """ - - def __init__(self, msg, value): - super(TypeError, self).__init__(msg, value) - self.msg = msg - self.value = value - - def __str__(self): - return str(self.msg) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/exceptions.pyi b/.tox/py37-normal/lib/python3.7/site-packages/attr/exceptions.pyi deleted file mode 100644 index 736fde2..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/exceptions.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Any - -class FrozenInstanceError(AttributeError): - msg: str = ... - -class AttrsAttributeNotFoundError(ValueError): ... -class NotAnAttrsClassError(ValueError): ... -class DefaultAlreadySetError(RuntimeError): ... -class UnannotatedAttributeError(RuntimeError): ... -class PythonTooOldError(RuntimeError): ... - -class NotCallableError(TypeError): - msg: str = ... - value: Any = ... - def __init__(self, msg: str, value: Any) -> None: ... diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/filters.py b/.tox/py37-normal/lib/python3.7/site-packages/attr/filters.py deleted file mode 100644 index dc47e8f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/filters.py +++ /dev/null @@ -1,52 +0,0 @@ -""" -Commonly useful filters for `attr.asdict`. -""" - -from __future__ import absolute_import, division, print_function - -from ._compat import isclass -from ._make import Attribute - - -def _split_what(what): - """ - Returns a tuple of `frozenset`s of classes and attributes. - """ - return ( - frozenset(cls for cls in what if isclass(cls)), - frozenset(cls for cls in what if isinstance(cls, Attribute)), - ) - - -def include(*what): - """ - Whitelist *what*. - - :param what: What to whitelist. - :type what: `list` of `type` or `attr.Attribute`\\ s - - :rtype: `callable` - """ - cls, attrs = _split_what(what) - - def include_(attribute, value): - return value.__class__ in cls or attribute in attrs - - return include_ - - -def exclude(*what): - """ - Blacklist *what*. - - :param what: What to blacklist. - :type what: `list` of classes or `attr.Attribute`\\ s. - - :rtype: `callable` - """ - cls, attrs = _split_what(what) - - def exclude_(attribute, value): - return value.__class__ not in cls and attribute not in attrs - - return exclude_ diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/filters.pyi b/.tox/py37-normal/lib/python3.7/site-packages/attr/filters.pyi deleted file mode 100644 index 68368fe..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/filters.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from typing import Union, Any -from . import Attribute, _FilterType - -def include(*what: Union[type, Attribute[Any]]) -> _FilterType[Any]: ... -def exclude(*what: Union[type, Attribute[Any]]) -> _FilterType[Any]: ... diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/py.typed b/.tox/py37-normal/lib/python3.7/site-packages/attr/py.typed deleted file mode 100644 index e69de29..0000000 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/validators.py b/.tox/py37-normal/lib/python3.7/site-packages/attr/validators.py deleted file mode 100644 index 839d310..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/validators.py +++ /dev/null @@ -1,378 +0,0 @@ -""" -Commonly useful validators. -""" - -from __future__ import absolute_import, division, print_function - -import re - -from ._make import _AndValidator, and_, attrib, attrs -from .exceptions import NotCallableError - - -__all__ = [ - "and_", - "deep_iterable", - "deep_mapping", - "in_", - "instance_of", - "is_callable", - "matches_re", - "optional", - "provides", -] - - -@attrs(repr=False, slots=True, hash=True) -class _InstanceOfValidator(object): - type = attrib() - - def __call__(self, inst, attr, value): - """ - We use a callable class to be able to change the ``__repr__``. - """ - if not isinstance(value, self.type): - raise TypeError( - "'{name}' must be {type!r} (got {value!r} that is a " - "{actual!r}).".format( - name=attr.name, - type=self.type, - actual=value.__class__, - value=value, - ), - attr, - self.type, - value, - ) - - def __repr__(self): - return "".format( - type=self.type - ) - - -def instance_of(type): - """ - A validator that raises a `TypeError` if the initializer is called - with a wrong type for this particular attribute (checks are performed using - `isinstance` therefore it's also valid to pass a tuple of types). - - :param type: The type to check for. - :type type: type or tuple of types - - :raises TypeError: With a human readable error message, the attribute - (of type `attr.Attribute`), the expected type, and the value it - got. - """ - return _InstanceOfValidator(type) - - -@attrs(repr=False, frozen=True) -class _MatchesReValidator(object): - regex = attrib() - flags = attrib() - match_func = attrib() - - def __call__(self, inst, attr, value): - """ - We use a callable class to be able to change the ``__repr__``. - """ - if not self.match_func(value): - raise ValueError( - "'{name}' must match regex {regex!r}" - " ({value!r} doesn't)".format( - name=attr.name, regex=self.regex.pattern, value=value - ), - attr, - self.regex, - value, - ) - - def __repr__(self): - return "".format( - regex=self.regex - ) - - -def matches_re(regex, flags=0, func=None): - r""" - A validator that raises `ValueError` if the initializer is called - with a string that doesn't match *regex*. - - :param str regex: a regex string to match against - :param int flags: flags that will be passed to the underlying re function - (default 0) - :param callable func: which underlying `re` function to call (options - are `re.fullmatch`, `re.search`, `re.match`, default - is ``None`` which means either `re.fullmatch` or an emulation of - it on Python 2). For performance reasons, they won't be used directly - but on a pre-`re.compile`\ ed pattern. - - .. versionadded:: 19.2.0 - """ - fullmatch = getattr(re, "fullmatch", None) - valid_funcs = (fullmatch, None, re.search, re.match) - if func not in valid_funcs: - raise ValueError( - "'func' must be one of %s." - % ( - ", ".join( - sorted( - e and e.__name__ or "None" for e in set(valid_funcs) - ) - ), - ) - ) - - pattern = re.compile(regex, flags) - if func is re.match: - match_func = pattern.match - elif func is re.search: - match_func = pattern.search - else: - if fullmatch: - match_func = pattern.fullmatch - else: - pattern = re.compile(r"(?:{})\Z".format(regex), flags) - match_func = pattern.match - - return _MatchesReValidator(pattern, flags, match_func) - - -@attrs(repr=False, slots=True, hash=True) -class _ProvidesValidator(object): - interface = attrib() - - def __call__(self, inst, attr, value): - """ - We use a callable class to be able to change the ``__repr__``. - """ - if not self.interface.providedBy(value): - raise TypeError( - "'{name}' must provide {interface!r} which {value!r} " - "doesn't.".format( - name=attr.name, interface=self.interface, value=value - ), - attr, - self.interface, - value, - ) - - def __repr__(self): - return "".format( - interface=self.interface - ) - - -def provides(interface): - """ - A validator that raises a `TypeError` if the initializer is called - with an object that does not provide the requested *interface* (checks are - performed using ``interface.providedBy(value)`` (see `zope.interface - `_). - - :param zope.interface.Interface interface: The interface to check for. - - :raises TypeError: With a human readable error message, the attribute - (of type `attr.Attribute`), the expected interface, and the - value it got. - """ - return _ProvidesValidator(interface) - - -@attrs(repr=False, slots=True, hash=True) -class _OptionalValidator(object): - validator = attrib() - - def __call__(self, inst, attr, value): - if value is None: - return - - self.validator(inst, attr, value) - - def __repr__(self): - return "".format( - what=repr(self.validator) - ) - - -def optional(validator): - """ - A validator that makes an attribute optional. An optional attribute is one - which can be set to ``None`` in addition to satisfying the requirements of - the sub-validator. - - :param validator: A validator (or a list of validators) that is used for - non-``None`` values. - :type validator: callable or `list` of callables. - - .. versionadded:: 15.1.0 - .. versionchanged:: 17.1.0 *validator* can be a list of validators. - """ - if isinstance(validator, list): - return _OptionalValidator(_AndValidator(validator)) - return _OptionalValidator(validator) - - -@attrs(repr=False, slots=True, hash=True) -class _InValidator(object): - options = attrib() - - def __call__(self, inst, attr, value): - try: - in_options = value in self.options - except TypeError: # e.g. `1 in "abc"` - in_options = False - - if not in_options: - raise ValueError( - "'{name}' must be in {options!r} (got {value!r})".format( - name=attr.name, options=self.options, value=value - ) - ) - - def __repr__(self): - return "".format( - options=self.options - ) - - -def in_(options): - """ - A validator that raises a `ValueError` if the initializer is called - with a value that does not belong in the options provided. The check is - performed using ``value in options``. - - :param options: Allowed options. - :type options: list, tuple, `enum.Enum`, ... - - :raises ValueError: With a human readable error message, the attribute (of - type `attr.Attribute`), the expected options, and the value it - got. - - .. versionadded:: 17.1.0 - """ - return _InValidator(options) - - -@attrs(repr=False, slots=False, hash=True) -class _IsCallableValidator(object): - def __call__(self, inst, attr, value): - """ - We use a callable class to be able to change the ``__repr__``. - """ - if not callable(value): - message = ( - "'{name}' must be callable " - "(got {value!r} that is a {actual!r})." - ) - raise NotCallableError( - msg=message.format( - name=attr.name, value=value, actual=value.__class__ - ), - value=value, - ) - - def __repr__(self): - return "" - - -def is_callable(): - """ - A validator that raises a `attr.exceptions.NotCallableError` if the - initializer is called with a value for this particular attribute - that is not callable. - - .. versionadded:: 19.1.0 - - :raises `attr.exceptions.NotCallableError`: With a human readable error - message containing the attribute (`attr.Attribute`) name, - and the value it got. - """ - return _IsCallableValidator() - - -@attrs(repr=False, slots=True, hash=True) -class _DeepIterable(object): - member_validator = attrib(validator=is_callable()) - iterable_validator = attrib( - default=None, validator=optional(is_callable()) - ) - - def __call__(self, inst, attr, value): - """ - We use a callable class to be able to change the ``__repr__``. - """ - if self.iterable_validator is not None: - self.iterable_validator(inst, attr, value) - - for member in value: - self.member_validator(inst, attr, member) - - def __repr__(self): - iterable_identifier = ( - "" - if self.iterable_validator is None - else " {iterable!r}".format(iterable=self.iterable_validator) - ) - return ( - "" - ).format( - iterable_identifier=iterable_identifier, - member=self.member_validator, - ) - - -def deep_iterable(member_validator, iterable_validator=None): - """ - A validator that performs deep validation of an iterable. - - :param member_validator: Validator to apply to iterable members - :param iterable_validator: Validator to apply to iterable itself - (optional) - - .. versionadded:: 19.1.0 - - :raises TypeError: if any sub-validators fail - """ - return _DeepIterable(member_validator, iterable_validator) - - -@attrs(repr=False, slots=True, hash=True) -class _DeepMapping(object): - key_validator = attrib(validator=is_callable()) - value_validator = attrib(validator=is_callable()) - mapping_validator = attrib(default=None, validator=optional(is_callable())) - - def __call__(self, inst, attr, value): - """ - We use a callable class to be able to change the ``__repr__``. - """ - if self.mapping_validator is not None: - self.mapping_validator(inst, attr, value) - - for key in value: - self.key_validator(inst, attr, key) - self.value_validator(inst, attr, value[key]) - - def __repr__(self): - return ( - "" - ).format(key=self.key_validator, value=self.value_validator) - - -def deep_mapping(key_validator, value_validator, mapping_validator=None): - """ - A validator that performs deep validation of a dictionary. - - :param key_validator: Validator to apply to dictionary keys - :param value_validator: Validator to apply to dictionary values - :param mapping_validator: Validator to apply to top-level mapping - attribute (optional) - - .. versionadded:: 19.1.0 - - :raises TypeError: if any sub-validators fail - """ - return _DeepMapping(key_validator, value_validator, mapping_validator) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attr/validators.pyi b/.tox/py37-normal/lib/python3.7/site-packages/attr/validators.pyi deleted file mode 100644 index 9a22abb..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attr/validators.pyi +++ /dev/null @@ -1,66 +0,0 @@ -from typing import ( - Container, - List, - Union, - TypeVar, - Type, - Any, - Optional, - Tuple, - Iterable, - Mapping, - Callable, - Match, - AnyStr, - overload, -) -from . import _ValidatorType - -_T = TypeVar("_T") -_T1 = TypeVar("_T1") -_T2 = TypeVar("_T2") -_T3 = TypeVar("_T3") -_I = TypeVar("_I", bound=Iterable) -_K = TypeVar("_K") -_V = TypeVar("_V") -_M = TypeVar("_M", bound=Mapping) - -# To be more precise on instance_of use some overloads. -# If there are more than 3 items in the tuple then we fall back to Any -@overload -def instance_of(type: Type[_T]) -> _ValidatorType[_T]: ... -@overload -def instance_of(type: Tuple[Type[_T]]) -> _ValidatorType[_T]: ... -@overload -def instance_of( - type: Tuple[Type[_T1], Type[_T2]] -) -> _ValidatorType[Union[_T1, _T2]]: ... -@overload -def instance_of( - type: Tuple[Type[_T1], Type[_T2], Type[_T3]] -) -> _ValidatorType[Union[_T1, _T2, _T3]]: ... -@overload -def instance_of(type: Tuple[type, ...]) -> _ValidatorType[Any]: ... -def provides(interface: Any) -> _ValidatorType[Any]: ... -def optional( - validator: Union[_ValidatorType[_T], List[_ValidatorType[_T]]] -) -> _ValidatorType[Optional[_T]]: ... -def in_(options: Container[_T]) -> _ValidatorType[_T]: ... -def and_(*validators: _ValidatorType[_T]) -> _ValidatorType[_T]: ... -def matches_re( - regex: AnyStr, - flags: int = ..., - func: Optional[ - Callable[[AnyStr, AnyStr, int], Optional[Match[AnyStr]]] - ] = ..., -) -> _ValidatorType[AnyStr]: ... -def deep_iterable( - member_validator: _ValidatorType[_T], - iterable_validator: Optional[_ValidatorType[_I]] = ..., -) -> _ValidatorType[_I]: ... -def deep_mapping( - key_validator: _ValidatorType[_K], - value_validator: _ValidatorType[_V], - mapping_validator: Optional[_ValidatorType[_M]] = ..., -) -> _ValidatorType[_M]: ... -def is_callable() -> _ValidatorType[_T]: ... diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/INSTALLER b/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/LICENSE b/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/LICENSE deleted file mode 100644 index 7ae3df9..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Hynek Schlawack - -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/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/METADATA b/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/METADATA deleted file mode 100644 index a106415..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/METADATA +++ /dev/null @@ -1,229 +0,0 @@ -Metadata-Version: 2.1 -Name: attrs -Version: 19.3.0 -Summary: Classes Without Boilerplate -Home-page: https://www.attrs.org/ -Author: Hynek Schlawack -Author-email: hs@ox.cx -Maintainer: Hynek Schlawack -Maintainer-email: hs@ox.cx -License: MIT -Project-URL: Documentation, https://www.attrs.org/ -Project-URL: Bug Tracker, https://github.com/python-attrs/attrs/issues -Project-URL: Source Code, https://github.com/python-attrs/attrs -Keywords: class,attribute,boilerplate -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: Natural Language :: English -Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* -Description-Content-Type: text/x-rst -Provides-Extra: azure-pipelines -Requires-Dist: coverage ; extra == 'azure-pipelines' -Requires-Dist: hypothesis ; extra == 'azure-pipelines' -Requires-Dist: pympler ; extra == 'azure-pipelines' -Requires-Dist: pytest (>=4.3.0) ; extra == 'azure-pipelines' -Requires-Dist: six ; extra == 'azure-pipelines' -Requires-Dist: zope.interface ; extra == 'azure-pipelines' -Requires-Dist: pytest-azurepipelines ; extra == 'azure-pipelines' -Provides-Extra: dev -Requires-Dist: coverage ; extra == 'dev' -Requires-Dist: hypothesis ; extra == 'dev' -Requires-Dist: pympler ; extra == 'dev' -Requires-Dist: pytest (>=4.3.0) ; extra == 'dev' -Requires-Dist: six ; extra == 'dev' -Requires-Dist: zope.interface ; extra == 'dev' -Requires-Dist: sphinx ; extra == 'dev' -Requires-Dist: pre-commit ; extra == 'dev' -Provides-Extra: docs -Requires-Dist: sphinx ; extra == 'docs' -Requires-Dist: zope.interface ; extra == 'docs' -Provides-Extra: tests -Requires-Dist: coverage ; extra == 'tests' -Requires-Dist: hypothesis ; extra == 'tests' -Requires-Dist: pympler ; extra == 'tests' -Requires-Dist: pytest (>=4.3.0) ; extra == 'tests' -Requires-Dist: six ; extra == 'tests' -Requires-Dist: zope.interface ; extra == 'tests' - -.. image:: https://www.attrs.org/en/latest/_static/attrs_logo.png - :alt: attrs Logo - -====================================== -``attrs``: Classes Without Boilerplate -====================================== - -.. image:: https://readthedocs.org/projects/attrs/badge/?version=stable - :target: https://www.attrs.org/en/stable/?badge=stable - :alt: Documentation Status - -.. image:: https://attrs.visualstudio.com/attrs/_apis/build/status/python-attrs.attrs?branchName=master - :target: https://attrs.visualstudio.com/attrs/_build/latest?definitionId=1&branchName=master - :alt: CI Status - -.. image:: https://codecov.io/github/python-attrs/attrs/branch/master/graph/badge.svg - :target: https://codecov.io/github/python-attrs/attrs - :alt: Test Coverage - -.. image:: https://img.shields.io/badge/code%20style-black-000000.svg - :target: https://github.com/psf/black - :alt: Code style: black - -.. teaser-begin - -``attrs`` is the Python package that will bring back the **joy** of **writing classes** by relieving you from the drudgery of implementing object protocols (aka `dunder `_ methods). - -Its main goal is to help you to write **concise** and **correct** software without slowing down your code. - -.. -spiel-end- - -For that, it gives you a class decorator and a way to declaratively define the attributes on that class: - -.. -code-begin- - -.. code-block:: pycon - - >>> import attr - - >>> @attr.s - ... class SomeClass(object): - ... a_number = attr.ib(default=42) - ... list_of_numbers = attr.ib(factory=list) - ... - ... def hard_math(self, another_number): - ... return self.a_number + sum(self.list_of_numbers) * another_number - - - >>> sc = SomeClass(1, [1, 2, 3]) - >>> sc - SomeClass(a_number=1, list_of_numbers=[1, 2, 3]) - - >>> sc.hard_math(3) - 19 - >>> sc == SomeClass(1, [1, 2, 3]) - True - >>> sc != SomeClass(2, [3, 2, 1]) - True - - >>> attr.asdict(sc) - {'a_number': 1, 'list_of_numbers': [1, 2, 3]} - - >>> SomeClass() - SomeClass(a_number=42, list_of_numbers=[]) - - >>> C = attr.make_class("C", ["a", "b"]) - >>> C("foo", "bar") - C(a='foo', b='bar') - - -After *declaring* your attributes ``attrs`` gives you: - -- a concise and explicit overview of the class's attributes, -- a nice human-readable ``__repr__``, -- a complete set of comparison methods (equality and ordering), -- an initializer, -- and much more, - -*without* writing dull boilerplate code again and again and *without* runtime performance penalties. - -On Python 3.6 and later, you can often even drop the calls to ``attr.ib()`` by using `type annotations `_. - -This gives you the power to use actual classes with actual types in your code instead of confusing ``tuple``\ s or `confusingly behaving `_ ``namedtuple``\ s. -Which in turn encourages you to write *small classes* that do `one thing well `_. -Never again violate the `single responsibility principle `_ just because implementing ``__init__`` et al is a painful drag. - - -.. -testimonials- - -Testimonials -============ - -**Amber Hawkie Brown**, Twisted Release Manager and Computer Owl: - - Writing a fully-functional class using attrs takes me less time than writing this testimonial. - - -**Glyph Lefkowitz**, creator of `Twisted `_, `Automat `_, and other open source software, in `The One Python Library Everyone Needs `_: - - I’m looking forward to is being able to program in Python-with-attrs everywhere. - It exerts a subtle, but positive, design influence in all the codebases I’ve see it used in. - - -**Kenneth Reitz**, creator of `Requests `_ (`on paper no less `_!): - - attrs—classes for humans. I like it. - - -**Łukasz Langa**, creator of `Black `_, prolific Python core developer, and release manager for Python 3.8 and 3.9: - - I'm increasingly digging your attr.ocity. Good job! - - -.. -end- - -.. -project-information- - -Getting Help -============ - -Please use the ``python-attrs`` tag on `StackOverflow `_ to get help. - -Answering questions of your fellow developers is also great way to help the project! - - -Project Information -=================== - -``attrs`` is released under the `MIT `_ license, -its documentation lives at `Read the Docs `_, -the code on `GitHub `_, -and the latest release on `PyPI `_. -It’s rigorously tested on Python 2.7, 3.4+, and PyPy. - -We collect information on **third-party extensions** in our `wiki `_. -Feel free to browse and add your own! - -If you'd like to contribute to ``attrs`` you're most welcome and we've written `a little guide `_ to get you started! - - -Release Information -=================== - -19.3.0 (2019-10-15) -------------------- - -Changes -^^^^^^^ - -- Fixed ``auto_attribs`` usage when default values cannot be compared directly with ``==``, such as ``numpy`` arrays. - `#585 `_ - -`Full changelog `_. - -Credits -======= - -``attrs`` is written and maintained by `Hynek Schlawack `_. - -The development is kindly supported by `Variomedia AG `_. - -A full list of contributors can be found in `GitHub's overview `_. - -It’s the spiritual successor of `characteristic `_ and aspires to fix some of it clunkiness and unfortunate decisions. -Both were inspired by Twisted’s `FancyEqMixin `_ but both are implemented using class decorators because `subclassing is bad for you `_, m’kay? - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/RECORD b/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/RECORD deleted file mode 100644 index c9acc4a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/RECORD +++ /dev/null @@ -1,33 +0,0 @@ -attr/__init__.py,sha256=ONaI-ZEGOIC7IDqH2HANgesnOxPE1m0GIRRYPPsXEHk,1349 -attr/__init__.pyi,sha256=fOnMRTF00b5J23PYPF74u66UVhVzzm0KYVxzmVXHPw0,8257 -attr/__pycache__/__init__.cpython-37.pyc,, -attr/__pycache__/_compat.cpython-37.pyc,, -attr/__pycache__/_config.cpython-37.pyc,, -attr/__pycache__/_funcs.cpython-37.pyc,, -attr/__pycache__/_make.cpython-37.pyc,, -attr/__pycache__/_version_info.cpython-37.pyc,, -attr/__pycache__/converters.cpython-37.pyc,, -attr/__pycache__/exceptions.cpython-37.pyc,, -attr/__pycache__/filters.cpython-37.pyc,, -attr/__pycache__/validators.cpython-37.pyc,, -attr/_compat.py,sha256=-pJtdtqgCg0K6rH_BWf3wKuTum58GD-WWPclQQ2SUaU,7326 -attr/_config.py,sha256=_KvW0mQdH2PYjHc0YfIUaV_o2pVfM7ziMEYTxwmEhOA,514 -attr/_funcs.py,sha256=unAJfNGSTOzxyFzkj7Rs3O1bfsQodmXyir9uZKen-vY,9696 -attr/_make.py,sha256=HhjGhFEbnxPKuUb9hFmAjXoQGpekniw1IEF3_Z-vwCc,70807 -attr/_version_info.py,sha256=azMi1lNelb3cJvvYUMXsXVbUANkRzbD5IEiaXVpeVr4,2162 -attr/_version_info.pyi,sha256=x_M3L3WuB7r_ULXAWjx959udKQ4HLB8l-hsc1FDGNvk,209 -attr/converters.py,sha256=5QJRYSXE8G7PW0289y_SPwvvZIcw-nJIuBlfYVdB4BQ,2141 -attr/converters.pyi,sha256=wAhCoOT1MFV8t323rpD87O7bxQ8CYLTPiBQd-29BieI,351 -attr/exceptions.py,sha256=hbhOa3b4W8_mRrbj3FsMTR4Bt5xzbJs5xaFTWn8s6h4,1635 -attr/exceptions.pyi,sha256=4zuaJyl2axxWbqnZgxo_2oTpPNbyowEw3A4hqV5PmAc,458 -attr/filters.py,sha256=weDxwATsa69T_0bPVjiM1fGsciAMQmwhY5G8Jm5BxuI,1098 -attr/filters.pyi,sha256=xDpmKQlFdssgxGa5tsl1ADh_3zwAwAT4vUhd8h-8-Tk,214 -attr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -attr/validators.py,sha256=8AsxgdDgh3sGPseiUIMPGcTr6PvaDYfH3AK46tsvs8U,11460 -attr/validators.pyi,sha256=vZgsJqUwrJevh4v_Hd7_RSXqDrBctE6-3AEZ7uYKodo,1868 -attrs-19.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -attrs-19.3.0.dist-info/LICENSE,sha256=v2WaKLSSQGAvVrvfSQy-LsUJsVuY-Z17GaUsdA4yeGM,1082 -attrs-19.3.0.dist-info/METADATA,sha256=WmnjYy_TftebL3pewXyGEaD4TZRrLUEHk3frEkAtqL0,9022 -attrs-19.3.0.dist-info/RECORD,, -attrs-19.3.0.dist-info/WHEEL,sha256=8zNYZbwQSXoB9IfXOjPfeNwvAsALAjffgk27FqvCWbo,110 -attrs-19.3.0.dist-info/top_level.txt,sha256=tlRYMddkRlKPqJ96wP2_j9uEsmcNHgD2SbuWd4CzGVU,5 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/WHEEL b/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/WHEEL deleted file mode 100644 index 8b701e9..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.33.6) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/top_level.txt b/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/top_level.txt deleted file mode 100644 index 66a062d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/attrs-19.3.0.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -attr diff --git a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/DESCRIPTION.rst b/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/DESCRIPTION.rst deleted file mode 100644 index 0b0953d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,50 +0,0 @@ -Certifi: Python SSL Certificates -================================ - -`Certifi`_ is a carefully curated collection of Root Certificates for -validating the trustworthiness of SSL certificates while verifying the identity -of TLS hosts. It has been extracted from the `Requests`_ project. - -Installation ------------- - -``certifi`` is available on PyPI. Simply install it with ``pip``:: - - $ pip install certifi - -Usage ------ - -To reference the installed certificate authority (CA) bundle, you can use the -built-in function:: - - >>> import certifi - - >>> certifi.where() - '/usr/local/lib/python2.7/site-packages/certifi/cacert.pem' - -Or from the command line:: - - $ python -m certifi - /usr/local/lib/python2.7/site-packages/certifi/cacert.pem - -Enjoy! - -1024-bit Root Certificates -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Browsers and certificate authorities have concluded that 1024-bit keys are -unacceptably weak for certificates, particularly root certificates. For this -reason, Mozilla has removed any weak (i.e. 1024-bit key) certificate from its -bundle, replacing it with an equivalent strong (i.e. 2048-bit or greater key) -certificate from the same CA. Because Mozilla removed these certificates from -its bundle, ``certifi`` removed them as well. - -In previous versions, ``certifi`` provided the ``certifi.old_where()`` function -to intentionally re-add the 1024-bit roots back into your bundle. This was not -recommended in production and therefore was removed at the end of 2018. - -.. _`Certifi`: https://certifi.io/en/latest/ -.. _`Requests`: http://docs.python-requests.org/en/latest/ - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/INSTALLER b/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/METADATA b/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/METADATA deleted file mode 100644 index 6ecc70c..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/METADATA +++ /dev/null @@ -1,74 +0,0 @@ -Metadata-Version: 2.0 -Name: certifi -Version: 2019.9.11 -Summary: Python package for providing Mozilla's CA Bundle. -Home-page: https://certifi.io/ -Author: Kenneth Reitz -Author-email: me@kennethreitz.com -License: MPL-2.0 -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0) -Classifier: Natural Language :: English -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 - -Certifi: Python SSL Certificates -================================ - -`Certifi`_ is a carefully curated collection of Root Certificates for -validating the trustworthiness of SSL certificates while verifying the identity -of TLS hosts. It has been extracted from the `Requests`_ project. - -Installation ------------- - -``certifi`` is available on PyPI. Simply install it with ``pip``:: - - $ pip install certifi - -Usage ------ - -To reference the installed certificate authority (CA) bundle, you can use the -built-in function:: - - >>> import certifi - - >>> certifi.where() - '/usr/local/lib/python2.7/site-packages/certifi/cacert.pem' - -Or from the command line:: - - $ python -m certifi - /usr/local/lib/python2.7/site-packages/certifi/cacert.pem - -Enjoy! - -1024-bit Root Certificates -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Browsers and certificate authorities have concluded that 1024-bit keys are -unacceptably weak for certificates, particularly root certificates. For this -reason, Mozilla has removed any weak (i.e. 1024-bit key) certificate from its -bundle, replacing it with an equivalent strong (i.e. 2048-bit or greater key) -certificate from the same CA. Because Mozilla removed these certificates from -its bundle, ``certifi`` removed them as well. - -In previous versions, ``certifi`` provided the ``certifi.old_where()`` function -to intentionally re-add the 1024-bit roots back into your bundle. This was not -recommended in production and therefore was removed at the end of 2018. - -.. _`Certifi`: https://certifi.io/en/latest/ -.. _`Requests`: http://docs.python-requests.org/en/latest/ - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/RECORD b/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/RECORD deleted file mode 100644 index 83ea0cc..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/RECORD +++ /dev/null @@ -1,14 +0,0 @@ -certifi-2019.9.11.dist-info/DESCRIPTION.rst,sha256=aLNHONztn2ZiBpSTivVFy6EDIWmuNYSsEQwx4NWbvB4,1580 -certifi-2019.9.11.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -certifi-2019.9.11.dist-info/METADATA,sha256=M0Gen7rhgJKIvggZuENXqcZexg74gXdjGC679bMeoDw,2522 -certifi-2019.9.11.dist-info/RECORD,, -certifi-2019.9.11.dist-info/WHEEL,sha256=5wvfB7GvgZAbKBSE9uX9Zbi6LCL-_KgezgHblXhCRnM,113 -certifi-2019.9.11.dist-info/metadata.json,sha256=NppG2TtVr6va5nwyG9pxGhktdvudS-IfpTkaQaWKlBE,1022 -certifi-2019.9.11.dist-info/top_level.txt,sha256=KMu4vUCfsjLrkPbSNdgdekS-pVJzBAJFO__nI8NF6-U,8 -certifi/__init__.py,sha256=WFoavXHhpX-BZ5kbvyinZTbhLsqPJypLKIZu29nUsQg,52 -certifi/__main__.py,sha256=FiOYt1Fltst7wk9DRa6GCoBr8qBUxlNQu_MKJf04E6s,41 -certifi/__pycache__/__init__.cpython-37.pyc,, -certifi/__pycache__/__main__.cpython-37.pyc,, -certifi/__pycache__/core.cpython-37.pyc,, -certifi/cacert.pem,sha256=cVC1b0T-OcQzgdcRql2yMxT7O08O6pcJHnuO9nbLLn0,278533 -certifi/core.py,sha256=EuFc2BsToG5O1-qsx4BSjQ1r1-7WRtH87b1WflZOWhI,218 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/WHEEL b/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/WHEEL deleted file mode 100644 index 7bf9daa..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.30.0.a0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/metadata.json b/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/metadata.json deleted file mode 100644 index 7f155f5..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7"], "extensions": {"python.details": {"contacts": [{"email": "me@kennethreitz.com", "name": "Kenneth Reitz", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://certifi.io/"}}}, "generator": "bdist_wheel (0.30.0.a0)", "license": "MPL-2.0", "metadata_version": "2.0", "name": "certifi", "summary": "Python package for providing Mozilla's CA Bundle.", "version": "2019.9.11"} \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/top_level.txt b/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/top_level.txt deleted file mode 100644 index 963eac5..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/certifi-2019.9.11.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -certifi diff --git a/.tox/py37-normal/lib/python3.7/site-packages/certifi/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/certifi/__init__.py deleted file mode 100644 index 8e358e4..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/certifi/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from .core import where - -__version__ = "2019.09.11" diff --git a/.tox/py37-normal/lib/python3.7/site-packages/certifi/__main__.py b/.tox/py37-normal/lib/python3.7/site-packages/certifi/__main__.py deleted file mode 100644 index 5f1da0d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/certifi/__main__.py +++ /dev/null @@ -1,2 +0,0 @@ -from certifi import where -print(where()) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/certifi/cacert.pem b/.tox/py37-normal/lib/python3.7/site-packages/certifi/cacert.pem deleted file mode 100644 index 70fa91f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/certifi/cacert.pem +++ /dev/null @@ -1,4558 +0,0 @@ - -# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA -# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA -# Label: "GlobalSign Root CA" -# Serial: 4835703278459707669005204 -# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a -# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c -# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 ------BEGIN CERTIFICATE----- -MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG -A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv -b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw -MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i -YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT -aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ -jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp -xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp -1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG -snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ -U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 -9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E -BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B -AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz -yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE -38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP -AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad -DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME -HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 -# Label: "GlobalSign Root CA - R2" -# Serial: 4835703278459682885658125 -# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30 -# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe -# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e ------BEGIN CERTIFICATE----- -MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 -MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL -v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 -eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq -tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd -C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa -zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB -mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH -V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n -bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG -3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs -J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO -291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS -ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd -AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 -TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only -# Label: "Verisign Class 3 Public Primary Certification Authority - G3" -# Serial: 206684696279472310254277870180966723415 -# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09 -# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6 -# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44 ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl -cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu -LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT -aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD -VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT -aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ -bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu -IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b -N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t -KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu -kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm -CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ -Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu -imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te -2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe -DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC -/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p -F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt -TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== ------END CERTIFICATE----- - -# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Label: "Entrust.net Premium 2048 Secure Server CA" -# Serial: 946069240 -# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 -# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 -# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML -RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp -bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 -IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 -MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 -LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp -YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG -A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq -K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe -sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX -MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT -XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ -HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH -4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub -j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo -U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf -zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b -u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ -bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er -fF6adulZkMV8gzURZVE= ------END CERTIFICATE----- - -# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust -# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust -# Label: "Baltimore CyberTrust Root" -# Serial: 33554617 -# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 -# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 -# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ -RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD -VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX -DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y -ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy -VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr -mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr -IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK -mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu -XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy -dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye -jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 -BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 -DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 -9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx -jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 -Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz -ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS -R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp ------END CERTIFICATE----- - -# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network -# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network -# Label: "AddTrust External Root" -# Serial: 1 -# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f -# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68 -# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2 ------BEGIN CERTIFICATE----- -MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs -IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 -MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux -FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h -bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v -dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt -H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 -uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX -mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX -a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN -E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 -WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD -VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 -Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU -cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx -IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN -AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH -YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 -6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC -Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX -c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a -mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. -# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. -# Label: "Entrust Root Certification Authority" -# Serial: 1164660820 -# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 -# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 -# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c ------BEGIN CERTIFICATE----- -MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 -Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW -KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl -cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw -NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw -NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy -ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV -BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ -KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo -Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 -4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 -KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI -rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi -94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB -sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi -gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo -kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE -vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA -A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t -O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua -AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP -9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ -eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m -0vdXcDazv/wor3ElhVsT/h5/WrQ8 ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc. -# Subject: CN=GeoTrust Global CA O=GeoTrust Inc. -# Label: "GeoTrust Global CA" -# Serial: 144470 -# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5 -# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12 -# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a ------BEGIN CERTIFICATE----- -MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT -MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i -YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG -EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg -R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 -9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq -fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv -iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU -1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ -bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW -MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA -ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l -uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn -Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS -tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF -PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un -hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV -5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc. -# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc. -# Label: "GeoTrust Universal CA" -# Serial: 1 -# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48 -# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79 -# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12 ------BEGIN CERTIFICATE----- -MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW -MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy -c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE -BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 -IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV -VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 -cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT -QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh -F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v -c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w -mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd -VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX -teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ -f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe -Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ -nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB -/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY -MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG -9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc -aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX -IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn -ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z -uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN -Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja -QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW -koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 -ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt -DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm -bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. -# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. -# Label: "GeoTrust Universal CA 2" -# Serial: 1 -# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7 -# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79 -# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW -MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy -c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD -VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1 -c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81 -WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG -FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq -XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL -se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb -KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd -IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73 -y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt -hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc -QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4 -Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV -HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ -KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z -dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ -L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr -Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo -ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY -T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz -GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m -1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV -OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH -6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX -QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS ------END CERTIFICATE----- - -# Issuer: CN=AAA Certificate Services O=Comodo CA Limited -# Subject: CN=AAA Certificate Services O=Comodo CA Limited -# Label: "Comodo AAA Services root" -# Serial: 1 -# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 -# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 -# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 ------BEGIN CERTIFICATE----- -MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj -YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM -GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua -BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe -3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 -YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR -rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm -ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU -oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF -MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v -QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t -b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF -AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q -GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz -Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 -G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi -l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 -smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority -# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority -# Label: "QuoVadis Root CA" -# Serial: 985026699 -# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24 -# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9 -# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73 ------BEGIN CERTIFICATE----- -MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz -MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw -IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR -dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp -li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D -rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ -WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug -F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU -xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC -Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv -dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw -ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl -IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh -c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy -ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh -Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI -KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T -KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq -y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p -dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD -VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL -MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk -fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 -7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R -cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y -mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW -xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK -SnQ2+Q== ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited -# Label: "QuoVadis Root CA 2" -# Serial: 1289 -# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b -# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 -# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 ------BEGIN CERTIFICATE----- -MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa -GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg -Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J -WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB -rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp -+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 -ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i -Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz -PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og -/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH -oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI -yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud -EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 -A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL -MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT -ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f -BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn -g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl -fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K -WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha -B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc -hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR -TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD -mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z -ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y -4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza -8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 3" -# Serial: 1478 -# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf -# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 -# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 ------BEGIN CERTIFICATE----- -MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM -V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB -4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr -H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd -8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv -vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT -mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe -btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc -T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt -WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ -c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A -4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD -VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG -CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 -aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 -aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu -dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw -czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G -A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg -Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 -7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem -d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd -+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B -4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN -t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x -DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 -k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s -zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j -Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT -mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK -4SVhM7JZG+Ju1zdXtg2pEto= ------END CERTIFICATE----- - -# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1 -# Subject: O=SECOM Trust.net OU=Security Communication RootCA1 -# Label: "Security Communication Root CA" -# Serial: 0 -# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a -# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7 -# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c ------BEGIN CERTIFICATE----- -MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY -MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t -dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 -WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD -VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 -9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ -DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 -Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N -QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ -xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G -A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T -AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG -kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr -Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 -Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU -JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot -RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== ------END CERTIFICATE----- - -# Issuer: CN=Sonera Class2 CA O=Sonera -# Subject: CN=Sonera Class2 CA O=Sonera -# Label: "Sonera Class 2 Root CA" -# Serial: 29 -# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb -# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27 -# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27 ------BEGIN CERTIFICATE----- -MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP -MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx -MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV -BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o -Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt -5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s -3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej -vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu -8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw -DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG -MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil -zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ -3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD -FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 -Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 -ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M ------END CERTIFICATE----- - -# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com -# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com -# Label: "XRamp Global CA Root" -# Serial: 107108908803651509692980124233745014957 -# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 -# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 -# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB -gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk -MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY -UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx -NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 -dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy -dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 -38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP -KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q -DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 -qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa -JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi -PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P -BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs -jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 -eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD -ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR -vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt -qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa -IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy -i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ -O+7ETPTsJ3xCwnR8gooJybQDJbw= ------END CERTIFICATE----- - -# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority -# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority -# Label: "Go Daddy Class 2 CA" -# Serial: 0 -# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 -# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 -# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 ------BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh -MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE -YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 -MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo -ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg -MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN -ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA -PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w -wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi -EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY -avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ -YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE -sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h -/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 -IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD -ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy -OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P -TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER -dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf -ReYNnyicsbkqWletNw+vHX/bvZ8= ------END CERTIFICATE----- - -# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority -# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority -# Label: "Starfield Class 2 CA" -# Serial: 0 -# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 -# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a -# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl -MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp -U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw -NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE -ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp -ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 -DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf -8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN -+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 -X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa -K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA -1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G -A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR -zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 -YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD -bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w -DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 -L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D -eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl -xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp -VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY -WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= ------END CERTIFICATE----- - -# Issuer: O=Government Root Certification Authority -# Subject: O=Government Root Certification Authority -# Label: "Taiwan GRCA" -# Serial: 42023070807708724159991140556527066870 -# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e -# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9 -# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3 ------BEGIN CERTIFICATE----- -MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/ -MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow -PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR -IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q -gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy -yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts -F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2 -jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx -ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC -VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK -YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH -EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN -Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud -DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE -MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK -UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ -TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf -qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK -ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE -JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7 -hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1 -EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm -nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX -udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz -ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe -LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl -pYYsfPQS ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root CA" -# Serial: 17154717934120587862167794914071425081 -# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 -# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 -# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c ------BEGIN CERTIFICATE----- -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c -JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP -mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ -wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 -VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ -AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB -AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun -pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC -dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf -fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm -NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx -H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root CA" -# Serial: 10944719598952040374951832963794454346 -# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e -# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 -# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 ------BEGIN CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD -QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB -CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 -nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt -43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P -T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 -gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR -TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw -DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr -hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg -06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF -PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls -YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= ------END CERTIFICATE----- - -# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert High Assurance EV Root CA" -# Serial: 3553400076410547919724730734378100087 -# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a -# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 -# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j -ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 -LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug -RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm -+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW -PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM -xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB -Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 -hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg -EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA -FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec -nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z -eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF -hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 -Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep -+OkuE6N36B9K ------END CERTIFICATE----- - -# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co. -# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co. -# Label: "DST Root CA X3" -# Serial: 91299735575339953335919266965803778155 -# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5 -# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13 -# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39 ------BEGIN CERTIFICATE----- -MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ -MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT -DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow -PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD -Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O -rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq -OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b -xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw -7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD -aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG -SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 -ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr -AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz -R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 -JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo -Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ ------END CERTIFICATE----- - -# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG -# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG -# Label: "SwissSign Gold CA - G2" -# Serial: 13492815561806991280 -# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 -# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 -# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG -# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG -# Label: "SwissSign Silver CA - G2" -# Serial: 5700383053117599563 -# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 -# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb -# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. -# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. -# Label: "GeoTrust Primary Certification Authority" -# Serial: 32798226551256963324313806436981982369 -# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf -# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96 -# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c ------BEGIN CERTIFICATE----- -MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY -MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo -R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx -MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK -Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 -AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA -ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 -7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W -kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI -mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ -KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 -6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl -4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K -oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj -UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU -AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA" -# Serial: 69529181992039203566298953787712940909 -# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12 -# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81 -# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB -qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf -Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw -MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV -BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw -NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j -LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG -A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs -W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta -3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk -6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 -Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J -NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP -r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU -DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz -YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX -xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 -/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ -LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 -jVaMaA== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Class 3 Public Primary Certification Authority - G5" -# Serial: 33037644167568058970164719475676101450 -# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c -# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5 -# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df ------BEGIN CERTIFICATE----- -MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW -ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW -ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp -U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y -aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 -nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex -t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz -SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG -BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ -rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ -NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E -BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH -BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy -aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv -MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE -p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y -5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK -WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ -4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N -hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq ------END CERTIFICATE----- - -# Issuer: CN=SecureTrust CA O=SecureTrust Corporation -# Subject: CN=SecureTrust CA O=SecureTrust Corporation -# Label: "SecureTrust CA" -# Serial: 17199774589125277788362757014266862032 -# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 -# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 -# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 ------BEGIN CERTIFICATE----- -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz -MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv -cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz -Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO -0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao -wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj -7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS -8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT -BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg -JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC -NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 -6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ -3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm -D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS -CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= ------END CERTIFICATE----- - -# Issuer: CN=Secure Global CA O=SecureTrust Corporation -# Subject: CN=Secure Global CA O=SecureTrust Corporation -# Label: "Secure Global CA" -# Serial: 9751836167731051554232119481456978597 -# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de -# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b -# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 ------BEGIN CERTIFICATE----- -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx -MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg -Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ -iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa -/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ -jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI -HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 -sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w -gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw -KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG -AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L -URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO -H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm -I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY -iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW ------END CERTIFICATE----- - -# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO Certification Authority O=COMODO CA Limited -# Label: "COMODO Certification Authority" -# Serial: 104350513648249232941998508985834464573 -# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 -# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b -# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 ------BEGIN CERTIFICATE----- -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB -gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV -BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw -MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl -YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P -RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 -UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI -2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 -Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp -+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ -DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O -nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW -/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g -PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u -QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY -SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv -IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 -zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd -BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB -ZQ== ------END CERTIFICATE----- - -# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. -# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. -# Label: "Network Solutions Certificate Authority" -# Serial: 116697915152937497490437556386812487904 -# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e -# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce -# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c ------BEGIN CERTIFICATE----- -MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi -MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu -MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp -dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV -UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO -ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz -c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP -OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl -mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF -BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4 -qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw -gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB -BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu -bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp -dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8 -6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/ -h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH -/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv -wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN -pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey ------END CERTIFICATE----- - -# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited -# Label: "COMODO ECC Certification Authority" -# Serial: 41578283867086692638256921589707938090 -# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 -# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 -# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 ------BEGIN CERTIFICATE----- -MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT -IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw -MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy -ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N -T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR -FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J -cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW -BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm -fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv -GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= ------END CERTIFICATE----- - -# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed -# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed -# Label: "OISTE WISeKey Global Root GA CA" -# Serial: 86718877871133159090080555911823548314 -# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93 -# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9 -# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5 ------BEGIN CERTIFICATE----- -MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB -ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly -aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl -ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w -NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G -A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD -VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX -SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR -VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2 -w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF -mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg -4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9 -4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw -EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx -SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2 -ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8 -vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa -hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi -Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ -/L7fCg0= ------END CERTIFICATE----- - -# Issuer: CN=Certigna O=Dhimyotis -# Subject: CN=Certigna O=Dhimyotis -# Label: "Certigna" -# Serial: 18364802974209362175 -# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff -# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 -# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d ------BEGIN CERTIFICATE----- -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV -BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X -DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ -BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 -QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny -gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw -zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q -130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 -JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw -ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT -AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj -AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG -9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h -bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc -fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu -HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w -t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== ------END CERTIFICATE----- - -# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc -# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc -# Label: "Cybertrust Global Root" -# Serial: 4835703278459682877484360 -# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1 -# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6 -# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3 ------BEGIN CERTIFICATE----- -MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG -A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh -bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE -ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS -b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5 -7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS -J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y -HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP -t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz -FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY -XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/ -MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw -hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js -MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA -A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj -Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx -XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o -omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc -A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW -WL1WMRJOEcgh4LMRkWXbtKaIOM5V ------END CERTIFICATE----- - -# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority -# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority -# Label: "ePKI Root Certification Authority" -# Serial: 28956088682735189655030529057352760477 -# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 -# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 -# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 ------BEGIN CERTIFICATE----- -MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe -MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 -ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw -IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL -SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH -SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh -ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X -DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 -TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ -fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA -sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU -WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS -nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH -dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip -NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC -AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF -MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH -ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB -uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl -PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP -JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ -gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 -j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 -5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB -o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS -/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z -Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE -W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D -hNQ+IIX3Sj0rnP0qCglN6oH4EZw= ------END CERTIFICATE----- - -# Issuer: O=certSIGN OU=certSIGN ROOT CA -# Subject: O=certSIGN OU=certSIGN ROOT CA -# Label: "certSIGN ROOT CA" -# Serial: 35210227249154 -# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 -# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b -# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb ------BEGIN CERTIFICATE----- -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT -AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD -QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP -MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do -0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ -UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d -RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ -OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv -JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C -AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O -BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ -LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY -MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ -44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I -Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw -i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN -9u6wWk5JRFRYX0KD ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only -# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only -# Label: "GeoTrust Primary Certification Authority - G3" -# Serial: 28809105769928564313984085209975885599 -# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05 -# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd -# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4 ------BEGIN CERTIFICATE----- -MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB -mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT -MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s -eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv -cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ -BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg -MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 -BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz -+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm -hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn -5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W -JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL -DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC -huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw -HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB -AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB -zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN -kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD -AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH -SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G -spki4cErx5z481+oghLrGREt ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA - G2" -# Serial: 71758320672825410020661621085256472406 -# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f -# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12 -# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57 ------BEGIN CERTIFICATE----- -MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp -IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi -BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw -MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh -d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig -YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v -dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ -BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 -papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K -DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 -KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox -XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA - G3" -# Serial: 127614157056681299805556476275995414779 -# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31 -# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2 -# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB -rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf -Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw -MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV -BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa -Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl -LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u -MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl -ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm -gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 -YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf -b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 -9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S -zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk -OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV -HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA -2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW -oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu -t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c -KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM -m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu -MdRAGmI0Nj81Aa6sY6A= ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only -# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only -# Label: "GeoTrust Primary Certification Authority - G2" -# Serial: 80682863203381065782177908751794619243 -# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a -# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0 -# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66 ------BEGIN CERTIFICATE----- -MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL -MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj -KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 -MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 -eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV -BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw -NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV -BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH -MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL -So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal -tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG -CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT -qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz -rD6ogRLQy7rQkgu2npaqBA+K ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Universal Root Certification Authority" -# Serial: 85209574734084581917763752644031726877 -# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19 -# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54 -# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c ------BEGIN CERTIFICATE----- -MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB -vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W -ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX -MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 -IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y -IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh -bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF -9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH -H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H -LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN -/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT -rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud -EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw -WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs -exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud -DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 -sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ -seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz -4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ -BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR -lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 -7M2CYfE45k+XmCpajQ== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Class 3 Public Primary Certification Authority - G4" -# Serial: 63143484348153506665311985501458640051 -# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41 -# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a -# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79 ------BEGIN CERTIFICATE----- -MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW -ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp -U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y -aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG -A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp -U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg -SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln -biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm -GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve -fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ -aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj -aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW -kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC -4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga -FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== ------END CERTIFICATE----- - -# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) -# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) -# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny" -# Serial: 80544274841616 -# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 -# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 -# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG -EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 -MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl -cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR -dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB -pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM -b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm -aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz -IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT -lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz -AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 -VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG -ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 -BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG -AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M -U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh -bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C -+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC -bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F -uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 -XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden -# Label: "Staat der Nederlanden Root CA - G2" -# Serial: 10000012 -# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a -# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16 -# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f ------BEGIN CERTIFICATE----- -MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX -DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl -ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv -b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291 -qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp -uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU -Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE -pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp -5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M -UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN -GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy -5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv -6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK -eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6 -B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/ -BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov -L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG -SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS -CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen -5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897 -IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK -gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL -+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL -vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm -bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk -N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC -Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z -ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ== ------END CERTIFICATE----- - -# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post -# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post -# Label: "Hongkong Post Root CA 1" -# Serial: 1000 -# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca -# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58 -# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2 ------BEGIN CERTIFICATE----- -MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx -FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg -Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG -A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr -b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ -jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn -PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh -ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9 -nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h -q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED -MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC -mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3 -7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB -oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs -EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO -fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi -AmvZWg== ------END CERTIFICATE----- - -# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. -# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. -# Label: "SecureSign RootCA11" -# Serial: 1 -# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 -# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 -# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 ------BEGIN CERTIFICATE----- -MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr -MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG -A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 -MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp -Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD -QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz -i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 -h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV -MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 -UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni -8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC -h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD -VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB -AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm -KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ -X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr -QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 -pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN -QSdJQO7e5iNEOdyhIta6A/I= ------END CERTIFICATE----- - -# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. -# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. -# Label: "Microsec e-Szigno Root CA 2009" -# Serial: 14014712776195784473 -# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 -# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e -# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 ------BEGIN CERTIFICATE----- -MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD -VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 -ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G -CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y -OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx -FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp -Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o -dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP -kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc -cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U -fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 -N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC -xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 -+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM -Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG -SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h -mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk -ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 -tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c -2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t -HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 -# Label: "GlobalSign Root CA - R3" -# Serial: 4835703278459759426209954 -# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 -# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad -# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b ------BEGIN CERTIFICATE----- -MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 -MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 -RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT -gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm -KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd -QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ -XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o -LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU -RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp -jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK -6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX -mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs -Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH -WD9f ------END CERTIFICATE----- - -# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 -# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 -# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" -# Serial: 6047274297262753887 -# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3 -# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa -# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef ------BEGIN CERTIFICATE----- -MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UE -BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h -cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEy -MzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg -Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 -thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM -cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG -L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i -NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h -X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b -m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy -Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja -EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T -KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF -6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh -OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD -VR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp -cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBv -ACAAZABlACAAbABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBl -AGwAbwBuAGEAIAAwADgAMAAxADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF -661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx51tkljYyGOylMnfX40S2wBEqgLk9 -am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qkR71kMrv2JYSiJ0L1 -ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaPT481 -PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS -3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k -SeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF -3dvd6qJ2gHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVM -ZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0g -StRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/icz -Q0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQB -jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V ------END CERTIFICATE----- - -# Issuer: CN=Izenpe.com O=IZENPE S.A. -# Subject: CN=Izenpe.com O=IZENPE S.A. -# Label: "Izenpe.com" -# Serial: 917563065490389241595536686991402621 -# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 -# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 -# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. -# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. -# Label: "Chambers of Commerce Root - 2008" -# Serial: 11806822484801597146 -# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7 -# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c -# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0 ------BEGIN CERTIFICATE----- -MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD -VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 -IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 -MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz -IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz -MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj -dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw -EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp -MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G -CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9 -28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq -VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q -DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR -5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL -ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a -Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl -UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s -+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5 -Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj -ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx -hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV -HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1 -+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN -YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t -L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy -ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt -IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV -HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w -DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW -PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF -5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1 -glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH -FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2 -pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD -xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG -tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq -jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De -fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg -OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ -d0jQ ------END CERTIFICATE----- - -# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. -# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. -# Label: "Global Chambersign Root - 2008" -# Serial: 14541511773111788494 -# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3 -# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c -# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca ------BEGIN CERTIFICATE----- -MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD -VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 -IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 -MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD -aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx -MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy -cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG -A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl -BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI -hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed -KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7 -G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2 -zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4 -ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG -HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2 -Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V -yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e -beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r -6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh -wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog -zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW -BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr -ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp -ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk -cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt -YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC -CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow -KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI -hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ -UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz -X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x -fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz -a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd -Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd -SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O -AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso -M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge -v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z -09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B ------END CERTIFICATE----- - -# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. -# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. -# Label: "Go Daddy Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 -# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b -# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT -EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp -ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz -NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH -EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE -AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD -E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH -/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy -DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh -GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR -tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA -AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX -WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu -9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr -gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo -2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO -LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI -4uJEvlz36hz1 ------END CERTIFICATE----- - -# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Label: "Starfield Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 -# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e -# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 ------BEGIN CERTIFICATE----- -MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs -ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw -MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 -b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj -aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp -Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg -nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 -HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N -Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN -dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 -HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G -CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU -sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 -4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg -8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K -pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 -mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 ------END CERTIFICATE----- - -# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Label: "Starfield Services Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 -# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f -# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 ------BEGIN CERTIFICATE----- -MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs -ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 -MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD -VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy -ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy -dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p -OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 -8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K -Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe -hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk -6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q -AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI -bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB -ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z -qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd -iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn -0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN -sSi6 ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Commercial O=AffirmTrust -# Subject: CN=AffirmTrust Commercial O=AffirmTrust -# Label: "AffirmTrust Commercial" -# Serial: 8608355977964138876 -# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 -# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 -# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP -Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr -ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL -MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 -yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr -VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ -nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG -XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj -vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt -Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g -N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC -nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Networking O=AffirmTrust -# Subject: CN=AffirmTrust Networking O=AffirmTrust -# Label: "AffirmTrust Networking" -# Serial: 8957382827206547757 -# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f -# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f -# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y -YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua -kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL -QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp -6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG -yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i -QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO -tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu -QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ -Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u -olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 -x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Premium O=AffirmTrust -# Subject: CN=AffirmTrust Premium O=AffirmTrust -# Label: "AffirmTrust Premium" -# Serial: 7893706540734352110 -# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 -# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 -# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz -dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG -A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U -cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf -qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ -JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ -+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS -s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 -HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 -70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG -V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S -qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S -5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia -C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX -OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE -FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 -KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B -8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ -MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc -0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ -u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF -u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH -YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 -GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO -RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e -KeC2uAloGRwYQw== ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust -# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust -# Label: "AffirmTrust Premium ECC" -# Serial: 8401224907861490260 -# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d -# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb -# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 ------BEGIN CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC -VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ -cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ -BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt -VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D -0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 -ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G -A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs -aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I -flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== ------END CERTIFICATE----- - -# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Label: "Certum Trusted Network CA" -# Serial: 279744 -# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 -# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e -# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e ------BEGIN CERTIFICATE----- -MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM -MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D -ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU -cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 -WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg -Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw -IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH -UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM -TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU -BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM -kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x -AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV -HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y -sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL -I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 -J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY -VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI -03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= ------END CERTIFICATE----- - -# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA -# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA -# Label: "TWCA Root Certification Authority" -# Serial: 1 -# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 -# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 -# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 ------BEGIN CERTIFICATE----- -MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES -MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU -V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz -WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO -LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE -AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH -K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX -RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z -rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx -3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq -hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC -MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls -XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D -lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn -aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ -YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== ------END CERTIFICATE----- - -# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 -# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 -# Label: "Security Communication RootCA2" -# Serial: 0 -# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 -# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 -# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl -MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe -U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX -DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy -dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj -YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV -OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr -zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM -VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ -hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO -ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw -awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs -OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 -DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF -coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc -okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 -t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy -1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ -SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions RootCA 2011" -# Serial: 0 -# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9 -# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d -# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71 ------BEGIN CERTIFICATE----- -MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix -RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 -dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p -YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw -NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK -EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl -cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz -dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ -fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns -bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD -75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP -FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV -HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp -5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu -b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA -A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p -6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 -TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7 -dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys -Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI -l7WdmplNsDz4SgCbZN2fOUvRJ9e4 ------END CERTIFICATE----- - -# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 -# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 -# Label: "Actalis Authentication Root CA" -# Serial: 6271844772424770508 -# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 -# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac -# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 ------BEGIN CERTIFICATE----- -MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE -BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w -MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 -IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC -SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 -ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv -UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX -4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 -KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ -gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb -rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ -51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F -be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe -KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F -v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn -fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 -jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz -ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt -ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL -e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 -jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz -WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V -SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j -pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX -X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok -fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R -K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU -ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU -LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT -LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== ------END CERTIFICATE----- - -# Issuer: O=Trustis Limited OU=Trustis FPS Root CA -# Subject: O=Trustis Limited OU=Trustis FPS Root CA -# Label: "Trustis FPS Root CA" -# Serial: 36053640375399034304724988975563710553 -# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d -# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04 -# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d ------BEGIN CERTIFICATE----- -MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF -MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL -ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx -MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc -MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+ -AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH -iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj -vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA -0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB -OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/ -BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E -FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01 -GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW -zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4 -1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE -f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F -jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN -ZetX2fNXlrtIzYE= ------END CERTIFICATE----- - -# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 -# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 -# Label: "Buypass Class 2 Root CA" -# Serial: 2 -# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 -# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 -# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr -6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV -L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 -1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx -MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ -QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB -arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr -Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi -FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS -P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN -9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz -uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h -9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s -A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t -OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo -+fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 -KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 -DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us -H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ -I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 -5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h -3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz -Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= ------END CERTIFICATE----- - -# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 -# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 -# Label: "Buypass Class 3 Root CA" -# Serial: 2 -# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec -# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 -# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y -ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E -N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 -tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX -0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c -/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X -KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY -zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS -O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D -34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP -K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv -Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj -QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV -cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS -IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 -HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa -O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv -033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u -dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE -kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 -3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD -u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq -4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= ------END CERTIFICATE----- - -# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Label: "T-TeleSec GlobalRoot Class 3" -# Serial: 1 -# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef -# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 -# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN -8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ -RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 -hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 -ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM -EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 -A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy -WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ -1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 -6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT -91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml -e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p -TpPDpFQUWw== ------END CERTIFICATE----- - -# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus -# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus -# Label: "EE Certification Centre Root CA" -# Serial: 112324828676200291871926431888494945866 -# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f -# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7 -# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76 ------BEGIN CERTIFICATE----- -MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1 -MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1 -czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG -CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy -MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl -ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS -b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy -euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO -bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw -WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d -MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE -1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/ -zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB -BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF -BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV -v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG -E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u -uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW -iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v -GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0= ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH -# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH -# Label: "D-TRUST Root Class 3 CA 2 2009" -# Serial: 623603 -# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f -# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 -# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 ------BEGIN CERTIFICATE----- -MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha -ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM -HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 -UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 -tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R -ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM -lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp -/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G -A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G -A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj -dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy -MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl -cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js -L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL -BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni -acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 -o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K -zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 -PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y -Johw1+qRzT65ysCQblrGXnRl11z+o+I= ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH -# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH -# Label: "D-TRUST Root Class 3 CA 2 EV 2009" -# Serial: 623604 -# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 -# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 -# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw -NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV -BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn -ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 -3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z -qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR -p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 -HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw -ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea -HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw -Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh -c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E -RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt -dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku -Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp -3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 -nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF -CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na -xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX -KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 ------END CERTIFICATE----- - -# Issuer: CN=CA Disig Root R2 O=Disig a.s. -# Subject: CN=CA Disig Root R2 O=Disig a.s. -# Label: "CA Disig Root R2" -# Serial: 10572350602393338211 -# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 -# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 -# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 ------BEGIN CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV -BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu -MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy -MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx -EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw -ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe -NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH -PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I -x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe -QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR -yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO -QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 -H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ -QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD -i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs -nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 -rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud -DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI -hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM -tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf -GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb -lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka -+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal -TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i -nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 -gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr -G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os -zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x -L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL ------END CERTIFICATE----- - -# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV -# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV -# Label: "ACCVRAIZ1" -# Serial: 6828503384748696800 -# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 -# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 -# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 ------BEGIN CERTIFICATE----- -MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE -AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw -CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ -BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND -VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb -qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY -HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo -G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA -lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr -IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ -0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH -k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 -4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO -m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa -cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl -uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI -KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls -ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG -AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 -VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT -VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG -CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA -cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA -QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA -7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA -cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA -QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA -czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu -aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt -aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud -DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF -BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp -D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU -JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m -AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD -vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms -tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH -7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h -I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA -h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF -d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H -pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 ------END CERTIFICATE----- - -# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA -# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA -# Label: "TWCA Global Root CA" -# Serial: 3262 -# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 -# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 -# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx -EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT -VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 -NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT -B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF -10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz -0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh -MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH -zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc -46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 -yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi -laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP -oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA -BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE -qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm -4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL -1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn -LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF -H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo -RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ -nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh -15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW -6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW -nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j -wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz -aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy -KwbQBM0= ------END CERTIFICATE----- - -# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera -# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera -# Label: "TeliaSonera Root CA v1" -# Serial: 199041966741090107964904287217786801558 -# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c -# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 -# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 ------BEGIN CERTIFICATE----- -MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw -NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv -b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD -VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F -VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 -7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X -Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ -/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs -81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm -dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe -Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu -sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 -pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs -slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ -arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD -VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG -9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl -dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx -0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj -TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed -Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 -Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI -OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 -vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW -t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn -HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx -SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= ------END CERTIFICATE----- - -# Issuer: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi -# Subject: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi -# Label: "E-Tugra Certification Authority" -# Serial: 7667447206703254355 -# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49 -# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39 -# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c ------BEGIN CERTIFICATE----- -MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV -BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC -aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV -BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1 -Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz -MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+ -BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp -em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN -ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY -B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH -D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF -Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo -q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D -k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH -fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut -dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM -ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8 -zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn -rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX -U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6 -Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5 -XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF -Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR -HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY -GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c -77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3 -+GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK -vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6 -FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl -yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P -AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD -y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d -NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA== ------END CERTIFICATE----- - -# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Label: "T-TeleSec GlobalRoot Class 2" -# Serial: 1 -# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a -# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 -# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd -AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC -FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi -1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq -jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ -wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ -WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy -NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC -uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw -IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 -g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN -9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP -BSeOE6Fuwg== ------END CERTIFICATE----- - -# Issuer: CN=Atos TrustedRoot 2011 O=Atos -# Subject: CN=Atos TrustedRoot 2011 O=Atos -# Label: "Atos TrustedRoot 2011" -# Serial: 6643877497813316402 -# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 -# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 -# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE -AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG -EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM -FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC -REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp -Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM -VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ -SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ -4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L -cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi -eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG -A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 -DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j -vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP -DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc -maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D -lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv -KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 1 G3" -# Serial: 687049649626669250736271037606554624078720034195 -# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab -# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 -# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 -MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV -wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe -rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 -68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh -4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp -UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o -abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc -3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G -KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt -hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO -Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt -zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD -ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC -MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 -cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN -qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 -YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv -b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 -8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k -NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj -ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp -q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt -nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 2 G3" -# Serial: 390156079458959257446133169266079962026824725800 -# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 -# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 -# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 -MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf -qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW -n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym -c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ -O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 -o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j -IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq -IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz -8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh -vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l -7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG -cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD -ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 -AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC -roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga -W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n -lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE -+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV -csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd -dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg -KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM -HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 -WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 3 G3" -# Serial: 268090761170461462463995952157327242137089239581 -# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 -# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d -# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 -MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR -/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu -FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR -U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c -ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR -FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k -A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw -eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl -sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp -VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q -A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ -ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD -ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px -KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI -FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv -oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg -u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP -0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf -3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl -8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ -DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN -PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ -ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root G2" -# Serial: 15385348160840213938643033620894905419 -# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d -# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f -# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 ------BEGIN CERTIFICATE----- -MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA -n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc -biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp -EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA -bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu -YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB -AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW -BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI -QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I -0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni -lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 -B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv -ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo -IhNzbM8m9Yop5w== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root G3" -# Serial: 15459312981008553731928384953135426796 -# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb -# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 -# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 ------BEGIN CERTIFICATE----- -MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg -RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf -Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q -RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD -AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY -JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv -6pZjamVFkpUBtA== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root G2" -# Serial: 4293743540046975378534879503202253541 -# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 -# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 -# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f ------BEGIN CERTIFICATE----- -MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH -MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI -2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx -1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ -q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz -tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ -vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV -5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY -1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 -NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG -Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 -8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe -pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl -MrY= ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root G3" -# Serial: 7089244469030293291760083333884364146 -# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca -# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e -# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 ------BEGIN CERTIFICATE----- -MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe -Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw -EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x -IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG -fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO -Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd -BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx -AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ -oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 -sycX ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Trusted Root G4" -# Serial: 7451500558977370777930084869016614236 -# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 -# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 -# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 ------BEGIN CERTIFICATE----- -MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg -RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y -ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If -xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV -ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO -DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ -jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ -CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi -EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM -fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY -uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK -chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t -9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD -ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 -SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd -+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc -fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa -sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N -cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N -0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie -4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI -r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 -/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm -gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ ------END CERTIFICATE----- - -# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited -# Label: "COMODO RSA Certification Authority" -# Serial: 101909084537582093308941363524873193117 -# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 -# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 -# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 ------BEGIN CERTIFICATE----- -MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB -hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV -BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT -EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR -Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR -6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X -pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC -9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV -/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf -Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z -+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w -qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah -SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC -u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf -Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq -crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E -FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB -/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl -wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM -4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV -2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna -FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ -CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK -boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke -jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL -S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb -QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl -0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB -NVOFBkpdn627G190 ------END CERTIFICATE----- - -# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network -# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network -# Label: "USERTrust RSA Certification Authority" -# Serial: 2645093764781058787591871645665788717 -# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 -# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e -# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 ------BEGIN CERTIFICATE----- -MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB -iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl -cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV -BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw -MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV -BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU -aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B -3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY -tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ -Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 -VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT -79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 -c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT -Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l -c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee -UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE -Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd -BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF -Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO -VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 -ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs -8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR -iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze -Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ -XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ -qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB -VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB -L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG -jjxDah2nGN59PRbxYvnKkKj9 ------END CERTIFICATE----- - -# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network -# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network -# Label: "USERTrust ECC Certification Authority" -# Serial: 123013823720199481456569720443997572134 -# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 -# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 -# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a ------BEGIN CERTIFICATE----- -MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL -MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl -eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT -JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT -Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg -VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo -I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng -o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G -A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB -zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW -RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 -# Label: "GlobalSign ECC Root CA - R4" -# Serial: 14367148294922964480859022125800977897474 -# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e -# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb -# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c ------BEGIN CERTIFICATE----- -MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD -QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu -MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ -FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F -uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX -kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs -ewv4n4Q= ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 -# Label: "GlobalSign ECC Root CA - R5" -# Serial: 32785792099990507226680698011560947931244 -# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 -# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa -# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 ------BEGIN CERTIFICATE----- -MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD -QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu -MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc -8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke -hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI -KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg -515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO -xwy8p2Fp8fc74SrL+SvzZpA3 ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden -# Label: "Staat der Nederlanden Root CA - G3" -# Serial: 10003001 -# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37 -# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc -# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28 ------BEGIN CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX -DTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl -ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv -b3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP -cPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW -IkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX -xz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy -KJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR -9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az -5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8 -6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7 -Ngzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP -bMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt -BznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt -XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF -MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd -INyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD -U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp -LiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8 -Ipf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp -gZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh -/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw -0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A -fsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq -4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR -1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/ -QFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM -94B7IWcnMFk= ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden -# Label: "Staat der Nederlanden EV Root CA" -# Serial: 10000013 -# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba -# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb -# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a ------BEGIN CERTIFICATE----- -MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y -MjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg -TmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS -b290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS -M4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC -UiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d -Z//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p -rfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l -pJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb -j5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC -KFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS -/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X -cgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH -1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP -px9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7 -MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI -eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u -2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS -v4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC -wPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy -CqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e -vTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6 -Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa -Gl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL -eG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8 -FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc -7uzXLg== ------END CERTIFICATE----- - -# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust -# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust -# Label: "IdenTrust Commercial Root CA 1" -# Serial: 13298821034946342390520003877796839426 -# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 -# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 -# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu -VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw -MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw -JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT -3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU -+ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp -S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 -bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi -T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL -vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK -Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK -dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT -c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv -l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N -iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD -ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH -6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt -LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 -nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 -+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK -W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT -AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq -l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG -4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ -mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A -7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H ------END CERTIFICATE----- - -# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust -# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust -# Label: "IdenTrust Public Sector Root CA 1" -# Serial: 13298821034946342390521976156843933698 -# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba -# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd -# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f ------BEGIN CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu -VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN -MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 -MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 -ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy -RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS -bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF -/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R -3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw -EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy -9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V -GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ -2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV -WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD -W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN -AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj -t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV -DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 -TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G -lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW -mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df -WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 -+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ -tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA -GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv -8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only -# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only -# Label: "Entrust Root Certification Authority - G2" -# Serial: 1246989352 -# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 -# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 -# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 ------BEGIN CERTIFICATE----- -MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 -cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs -IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz -dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy -NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu -dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt -dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 -aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T -RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN -cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW -wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 -U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 -jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN -BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ -jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ -Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v -1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R -nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH -VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only -# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only -# Label: "Entrust Root Certification Authority - EC1" -# Serial: 51543124481930649114116133369 -# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc -# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 -# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 ------BEGIN CERTIFICATE----- -MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG -A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 -d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu -dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq -RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy -MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD -VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 -L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g -Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi -A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt -ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH -Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O -BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC -R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX -hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G ------END CERTIFICATE----- - -# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority -# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority -# Label: "CFCA EV ROOT" -# Serial: 407555286 -# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 -# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 -# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd ------BEGIN CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD -TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y -aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx -MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j -aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP -T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 -sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL -TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 -/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp -7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz -EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt -hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP -a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot -aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg -TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV -PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv -cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL -tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd -BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB -ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT -ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL -jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS -ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy -P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 -xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d -Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN -5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe -/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z -AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ -5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su ------END CERTIFICATE----- - -# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed -# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed -# Label: "OISTE WISeKey Global Root GB CA" -# Serial: 157768595616588414422159278966750757568 -# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d -# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed -# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6 ------BEGIN CERTIFICATE----- -MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt -MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg -Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i -YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x -CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG -b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh -bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 -HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx -WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX -1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk -u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P -99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r -M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB -BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh -cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 -gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO -ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf -aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic -Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= ------END CERTIFICATE----- - -# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. -# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. -# Label: "SZAFIR ROOT CA2" -# Serial: 357043034767186914217277344587386743377558296292 -# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99 -# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de -# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe ------BEGIN CERTIFICATE----- -MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL -BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 -ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw -NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L -cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg -Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN -QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT -3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw -3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 -3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 -BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN -XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF -AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw -8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG -nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP -oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy -d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg -LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== ------END CERTIFICATE----- - -# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Label: "Certum Trusted Network CA 2" -# Serial: 44979900017204383099463764357512596969 -# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2 -# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92 -# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04 ------BEGIN CERTIFICATE----- -MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB -gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu -QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG -A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz -OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ -VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 -b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA -DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn -0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB -OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE -fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E -Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m -o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i -sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW -OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez -Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS -adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n -3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ -F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf -CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 -XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm -djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ -WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb -AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq -P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko -b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj -XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P -5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi -DrW5viSP ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions RootCA 2015" -# Serial: 0 -# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce -# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6 -# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36 ------BEGIN CERTIFICATE----- -MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix -DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k -IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT -N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v -dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG -A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh -ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx -QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 -dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA -4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 -AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 -4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C -ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV -9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD -gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 -Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq -NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko -LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc -Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd -ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I -XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI -M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot -9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V -Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea -j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh -X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ -l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf -bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 -pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK -e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 -vm9qp/UsQu0yrbYhnr68 ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015" -# Serial: 0 -# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef -# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66 -# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33 ------BEGIN CERTIFICATE----- -MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN -BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl -bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv -b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ -BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj -YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 -MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 -dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg -QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa -jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi -C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep -lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof -TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR ------END CERTIFICATE----- - -# Issuer: CN=ISRG Root X1 O=Internet Security Research Group -# Subject: CN=ISRG Root X1 O=Internet Security Research Group -# Label: "ISRG Root X1" -# Serial: 172886928669790476064670243504169061120 -# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e -# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8 -# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6 ------BEGIN CERTIFICATE----- -MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw -TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh -cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 -WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu -ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc -h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ -0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U -A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW -T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH -B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC -B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv -KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn -OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn -jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw -qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI -rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq -hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL -ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ -3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK -NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 -ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur -TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC -jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc -oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq -4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA -mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d -emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= ------END CERTIFICATE----- - -# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM -# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM -# Label: "AC RAIZ FNMT-RCM" -# Serial: 485876308206448804701554682760554759 -# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d -# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20 -# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa ------BEGIN CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx -CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ -WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ -BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG -Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ -yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf -BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz -WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF -tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z -374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC -IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL -mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 -wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS -MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 -ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet -UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H -YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 -LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD -nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 -RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM -LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf -77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N -JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm -fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp -6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp -1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B -9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok -RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv -uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 1 O=Amazon -# Subject: CN=Amazon Root CA 1 O=Amazon -# Label: "Amazon Root CA 1" -# Serial: 143266978916655856878034712317230054538369994 -# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6 -# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16 -# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e ------BEGIN CERTIFICATE----- -MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj -ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM -9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw -IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 -VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L -93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm -jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA -A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI -U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs -N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv -o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU -5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy -rqXRfboQnoZsG4q5WTP468SQvvG5 ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 2 O=Amazon -# Subject: CN=Amazon Root CA 2 O=Amazon -# Label: "Amazon Root CA 2" -# Serial: 143266982885963551818349160658925006970653239 -# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66 -# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a -# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4 ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK -gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ -W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg -1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K -8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r -2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me -z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR -8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj -mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz -7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 -+XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI -0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB -Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm -UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 -LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY -+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS -k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl -7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm -btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl -urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ -fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 -n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE -76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H -9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT -4PsJYGw= ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 3 O=Amazon -# Subject: CN=Amazon Root CA 3 O=Amazon -# Label: "Amazon Root CA 3" -# Serial: 143266986699090766294700635381230934788665930 -# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87 -# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e -# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4 ------BEGIN CERTIFICATE----- -MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl -ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr -ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr -BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM -YyRIHN8wfdVoOw== ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 4 O=Amazon -# Subject: CN=Amazon Root CA 4 O=Amazon -# Label: "Amazon Root CA 4" -# Serial: 143266989758080763974105200630763877849284878 -# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd -# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be -# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92 ------BEGIN CERTIFICATE----- -MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi -9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk -M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB -MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw -CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW -1KyLa2tJElMzrdfkviT8tQp21KW8EA== ------END CERTIFICATE----- - -# Issuer: CN=LuxTrust Global Root 2 O=LuxTrust S.A. -# Subject: CN=LuxTrust Global Root 2 O=LuxTrust S.A. -# Label: "LuxTrust Global Root 2" -# Serial: 59914338225734147123941058376788110305822489521 -# MD5 Fingerprint: b2:e1:09:00:61:af:f7:f1:91:6f:c4:ad:8d:5e:3b:7c -# SHA1 Fingerprint: 1e:0e:56:19:0a:d1:8b:25:98:b2:04:44:ff:66:8a:04:17:99:5f:3f -# SHA256 Fingerprint: 54:45:5f:71:29:c2:0b:14:47:c4:18:f9:97:16:8f:24:c5:8f:c5:02:3b:f5:da:5b:e2:eb:6e:1d:d8:90:2e:d5 ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM -# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM -# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" -# Serial: 1 -# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49 -# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca -# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 ------BEGIN CERTIFICATE----- -MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx -GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp -bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w -KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 -BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy -dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG -EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll -IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU -QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT -TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg -LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 -a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr -LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr -N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X -YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ -iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f -AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH -V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL -BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh -AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf -IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 -lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c -8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf -lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= ------END CERTIFICATE----- - -# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. -# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. -# Label: "GDCA TrustAUTH R5 ROOT" -# Serial: 9009899650740120186 -# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4 -# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4 -# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93 ------BEGIN CERTIFICATE----- -MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE -BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ -IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 -MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV -BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w -HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj -Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj -TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u -KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj -qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm -MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 -ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP -zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk -L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC -jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA -HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC -AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg -p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm -DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 -COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry -L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf -JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg -IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io -2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV -09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ -XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq -T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe -MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== ------END CERTIFICATE----- - -# Issuer: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Subject: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Label: "TrustCor RootCert CA-1" -# Serial: 15752444095811006489 -# MD5 Fingerprint: 6e:85:f1:dc:1a:00:d3:22:d5:b2:b2:ac:6b:37:05:45 -# SHA1 Fingerprint: ff:bd:cd:e7:82:c8:43:5e:3c:6f:26:86:5c:ca:a8:3a:45:5b:c3:0a -# SHA256 Fingerprint: d4:0e:9c:86:cd:8f:e4:68:c1:77:69:59:f4:9e:a7:74:fa:54:86:84:b6:c4:06:f3:90:92:61:f4:dc:e2:57:5c ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYD -VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk -MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U -cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29y -IFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkxMjMxMTcyMzE2WjCB -pDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFuYW1h -IENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUG -A1UECwweVHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZU -cnVzdENvciBSb290Q2VydCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEAv463leLCJhJrMxnHQFgKq1mqjQCj/IDHUHuO1CAmujIS2CNUSSUQIpid -RtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4pQa81QBeCQryJ3pS/C3V -seq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0JEsq1pme -9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CV -EY4hgLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorW -hnAbJN7+KIor0Gqw/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/ -DeOxCbeKyKsZn3MzUOcwHwYDVR0jBBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcw -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD -ggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5mDo4Nvu7Zp5I -/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf -ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZ -yonnMlo2HD6CqFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djts -L1Ac59v2Z3kf9YKVmgenFK+P3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdN -zl/HHk484IkzlQsPpTLWPFp5LBk= ------END CERTIFICATE----- - -# Issuer: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Subject: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Label: "TrustCor RootCert CA-2" -# Serial: 2711694510199101698 -# MD5 Fingerprint: a2:e1:f8:18:0b:ba:45:d5:c7:41:2a:bb:37:52:45:64 -# SHA1 Fingerprint: b8:be:6d:cb:56:f1:55:b9:63:d4:12:ca:4e:06:34:c7:94:b2:1c:c0 -# SHA256 Fingerprint: 07:53:e9:40:37:8c:1b:d5:e3:83:6e:39:5d:ae:a5:cb:83:9e:50:46:f1:bd:0e:ae:19:51:cf:10:fe:c7:c9:65 ------BEGIN CERTIFICATE----- -MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNV -BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw -IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy -dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEfMB0GA1UEAwwWVHJ1c3RDb3Ig -Um9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEyMzExNzI2MzlaMIGk -MQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEg -Q2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYD -VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRy -dXN0Q29yIFJvb3RDZXJ0IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCnIG7CKqJiJJWQdsg4foDSq8GbZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+ -QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9NkRvRUqdw6VC0xK5mC8tkq -1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1oYxOdqHp -2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK -DOObXUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hape -az6LMvYHL1cEksr1/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF -3wP+TfSvPd9cW436cOGlfifHhi5qjxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88 -oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQPeSghYA2FFn3XVDjxklb9tTNM -g9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+CtgrKAmrhQhJ8Z3 -mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh -8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAd -BgNVHQ4EFgQU2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6U -nrybPZx9mCAZ5YwwYrIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw -DQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/hOsh80QA9z+LqBrWyOrsGS2h60COX -dKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnpkpfbsEZC89NiqpX+ -MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv2wnL -/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RX -CI/hOWB3S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYa -ZH9bDTMJBzN7Bj8RpFxwPIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW -2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dvDDqPys/cA8GiCcjl/YBeyGBCARsaU1q7 -N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYURpFHmygk71dSTlxCnKr3 -Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANExdqtvArB -As8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp -5KeXRKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu -1uwJ ------END CERTIFICATE----- - -# Issuer: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Subject: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Label: "TrustCor ECA-1" -# Serial: 9548242946988625984 -# MD5 Fingerprint: 27:92:23:1d:0a:f5:40:7c:e9:e6:6b:9d:d8:f5:e7:6c -# SHA1 Fingerprint: 58:d1:df:95:95:67:6b:63:c0:f0:5b:1c:17:4d:8b:84:0b:c8:78:bd -# SHA256 Fingerprint: 5a:88:5d:b1:9c:01:d9:12:c5:75:93:88:93:8c:af:bb:df:03:1a:b2:d4:8e:91:ee:15:58:9b:42:97:1d:03:9c ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYD -VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk -MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U -cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDlRydXN0Q29y -IEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3MjgwN1owgZwxCzAJBgNV -BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw -IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy -dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3Ig -RUNBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb -3w9U73NjKYKtR8aja+3+XzP4Q1HpGjORMRegdMTUpwHmspI+ap3tDvl0mEDTPwOA -BoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23xFUfJ3zSCNV2HykVh0A5 -3ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmcp0yJF4Ou -owReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/ -wZ0+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZF -ZtS6mFjBAgMBAAGjYzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAf -BgNVHSMEGDAWgBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/ -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEABT41XBVwm8nHc2Fv -civUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u/ukZMjgDfxT2 -AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F -hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50 -soIipX1TH0XsJ5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BI -WJZpTdwHjFGTot+fDz2LYLSCjaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1Wi -tJ/X5g== ------END CERTIFICATE----- - -# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation -# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation -# Label: "SSL.com Root Certification Authority RSA" -# Serial: 8875640296558310041 -# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29 -# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb -# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69 ------BEGIN CERTIFICATE----- -MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE -BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK -DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz -OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv -bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R -xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX -qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC -C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 -6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh -/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF -YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E -JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc -US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 -ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm -+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi -M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G -A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV -cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc -Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs -PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ -q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 -cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr -a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I -H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y -K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu -nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf -oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY -Ic2wBlX7Jz9TkHCpBB5XJ7k= ------END CERTIFICATE----- - -# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation -# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation -# Label: "SSL.com Root Certification Authority ECC" -# Serial: 8495723813297216424 -# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e -# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a -# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65 ------BEGIN CERTIFICATE----- -MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 -aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz -WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 -b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS -b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB -BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI -7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg -CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud -EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD -VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T -kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ -gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl ------END CERTIFICATE----- - -# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation -# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation -# Label: "SSL.com EV Root Certification Authority RSA R2" -# Serial: 6248227494352943350 -# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95 -# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a -# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c ------BEGIN CERTIFICATE----- -MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV -BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE -CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy -MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G -A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD -DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq -M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf -OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa -4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 -HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR -aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA -b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ -Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV -PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO -pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu -UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY -MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV -HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 -9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW -s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 -Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg -cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM -79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz -/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt -ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm -Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK -QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ -w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi -S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 -mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== ------END CERTIFICATE----- - -# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation -# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation -# Label: "SSL.com EV Root Certification Authority ECC" -# Serial: 3182246526754555285 -# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90 -# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d -# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8 ------BEGIN CERTIFICATE----- -MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx -NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv -bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 -AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA -VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku -WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP -MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX -5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ -ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg -h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 -# Label: "GlobalSign Root CA - R6" -# Serial: 1417766617973444989252670301619537 -# MD5 Fingerprint: 4f:dd:07:e4:d4:22:64:39:1e:0c:37:42:ea:d1:c6:ae -# SHA1 Fingerprint: 80:94:64:0e:b5:a7:a1:ca:11:9c:1f:dd:d5:9f:81:02:63:a7:fb:d1 -# SHA256 Fingerprint: 2c:ab:ea:fe:37:d0:6c:a2:2a:ba:73:91:c0:03:3d:25:98:29:52:c4:53:64:73:49:76:3a:3a:b5:ad:6c:cf:69 ------BEGIN CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg -MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh -bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx -MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET -MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ -KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI -xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k -ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD -aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw -LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw -1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX -k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2 -SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h -bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n -WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY -rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce -MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu -bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN -nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt -Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61 -55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj -vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf -cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz -oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp -nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs -pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v -JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R -8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4 -5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= ------END CERTIFICATE----- - -# Issuer: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed -# Subject: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed -# Label: "OISTE WISeKey Global Root GC CA" -# Serial: 44084345621038548146064804565436152554 -# MD5 Fingerprint: a9:d6:b9:2d:2f:93:64:f8:a5:69:ca:91:e9:68:07:23 -# SHA1 Fingerprint: e0:11:84:5e:34:de:be:88:81:b9:9c:f6:16:26:d1:96:1f:c3:b9:31 -# SHA256 Fingerprint: 85:60:f9:1c:36:24:da:ba:95:70:b5:fe:a0:db:e3:6f:f1:1a:83:23:be:94:86:85:4f:b3:f3:4a:55:71:19:8d ------BEGIN CERTIFICATE----- -MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw -CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91 -bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg -Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ -BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu -ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS -b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni -eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W -p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T -rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV -57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg -Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 ------END CERTIFICATE----- - -# Issuer: CN=GTS Root R1 O=Google Trust Services LLC -# Subject: CN=GTS Root R1 O=Google Trust Services LLC -# Label: "GTS Root R1" -# Serial: 146587175971765017618439757810265552097 -# MD5 Fingerprint: 82:1a:ef:d4:d2:4a:f2:9f:e2:3d:97:06:14:70:72:85 -# SHA1 Fingerprint: e1:c9:50:e6:ef:22:f8:4c:56:45:72:8b:92:20:60:d7:d5:a7:a3:e8 -# SHA256 Fingerprint: 2a:57:54:71:e3:13:40:bc:21:58:1c:bd:2c:f1:3e:15:84:63:20:3e:ce:94:bc:f9:d3:cc:19:6b:f0:9a:54:72 ------BEGIN CERTIFICATE----- -MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBH -MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM -QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy -MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl -cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM -f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vX -mX7wCl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7 -zUjwTcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0P -fyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtc -vfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4 -Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUsp -zBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOO -Rc92wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYW -k70paDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+ -DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgF -lQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBADiW -Cu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1 -d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6Z -XPYfcX3v73svfuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZR -gyFmxhE+885H7pwoHyXa/6xmld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3 -d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9bgsiG1eGZbYwE8na6SfZu6W0eX6Dv -J4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq4BjFbkerQUIpm/Zg -DdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWErtXvM -+SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyy -F62ARPBopY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9 -SQ98POyDGCBDTtWTurQ0sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdws -E3PYJ/HQcu51OyLemGhmW/HGY0dVHLqlCFF1pkgl ------END CERTIFICATE----- - -# Issuer: CN=GTS Root R2 O=Google Trust Services LLC -# Subject: CN=GTS Root R2 O=Google Trust Services LLC -# Label: "GTS Root R2" -# Serial: 146587176055767053814479386953112547951 -# MD5 Fingerprint: 44:ed:9a:0e:a4:09:3b:00:f2:ae:4c:a3:c6:61:b0:8b -# SHA1 Fingerprint: d2:73:96:2a:2a:5e:39:9f:73:3f:e1:c7:1e:64:3f:03:38:34:fc:4d -# SHA256 Fingerprint: c4:5d:7b:b0:8e:6d:67:e6:2e:42:35:11:0b:56:4e:5f:78:fd:92:ef:05:8c:84:0a:ea:4e:64:55:d7:58:5c:60 ------BEGIN CERTIFICATE----- -MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBH -MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM -QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy -MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl -cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv -CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3Kg -GjSY6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9Bu -XvAuMC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOd -re7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXu -PuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1 -mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K -8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqj -x5RWIr9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsR -nTKaG73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0 -kzCqgc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9Ok -twIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBALZp -8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT -vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiT -z9D2PGcDFWEJ+YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiA -pJiS4wGWAqoC7o87xdFtCjMwc3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvb -pxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3DaWsYDQvTtN6LwG1BUSw7YhN4ZKJmB -R64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5rn/WkhLx3+WuXrD5R -RaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56GtmwfuNmsk -0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC -5AwiWVIQ7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiF -izoHCBy69Y9Vmhh1fuXsgWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLn -yOd/xCxgXS/Dr55FBcOEArf9LAhST4Ldo/DUhgkC ------END CERTIFICATE----- - -# Issuer: CN=GTS Root R3 O=Google Trust Services LLC -# Subject: CN=GTS Root R3 O=Google Trust Services LLC -# Label: "GTS Root R3" -# Serial: 146587176140553309517047991083707763997 -# MD5 Fingerprint: 1a:79:5b:6b:04:52:9c:5d:c7:74:33:1b:25:9a:f9:25 -# SHA1 Fingerprint: 30:d4:24:6f:07:ff:db:91:89:8a:0b:e9:49:66:11:eb:8c:5e:46:e5 -# SHA256 Fingerprint: 15:d5:b8:77:46:19:ea:7d:54:ce:1c:a6:d0:b0:c4:03:e0:37:a9:17:f1:31:e8:a0:4e:1e:6b:7a:71:ba:bc:e5 ------BEGIN CERTIFICATE----- -MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQsw -CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU -MBIGA1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw -MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp -Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout -736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2A -DDL24CejQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud -DgQWBBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFuk -fCPAlaUs3L6JbyO5o91lAFJekazInXJ0glMLfalAvWhgxeG4VDvBNhcl2MG9AjEA -njWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOaKaqW04MjyaR7YbPMAuhd ------END CERTIFICATE----- - -# Issuer: CN=GTS Root R4 O=Google Trust Services LLC -# Subject: CN=GTS Root R4 O=Google Trust Services LLC -# Label: "GTS Root R4" -# Serial: 146587176229350439916519468929765261721 -# MD5 Fingerprint: 5d:b6:6a:c4:60:17:24:6a:1a:99:a8:4b:ee:5e:b4:26 -# SHA1 Fingerprint: 2a:1d:60:27:d9:4a:b1:0a:1c:4d:91:5c:cd:33:a0:cb:3e:2d:54:cb -# SHA256 Fingerprint: 71:cc:a5:39:1f:9e:79:4b:04:80:25:30:b3:63:e1:21:da:8a:30:43:bb:26:66:2f:ea:4d:ca:7f:c9:51:a4:bd ------BEGIN CERTIFICATE----- -MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQsw -CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU -MBIGA1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw -MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp -Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu -hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/l -xKvRHYqjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud -DgQWBBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0 -CMRw3J5QdCHojXohw0+WbhXRIjVhLfoIN+4Zba3bssx9BzT1YBkstTTZbyACMANx -sbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11xzPKwTdb+mciUqXWi4w== ------END CERTIFICATE----- - -# Issuer: CN=UCA Global G2 Root O=UniTrust -# Subject: CN=UCA Global G2 Root O=UniTrust -# Label: "UCA Global G2 Root" -# Serial: 124779693093741543919145257850076631279 -# MD5 Fingerprint: 80:fe:f0:c4:4a:f0:5c:62:32:9f:1c:ba:78:a9:50:f8 -# SHA1 Fingerprint: 28:f9:78:16:19:7a:ff:18:25:18:aa:44:fe:c1:a0:ce:5c:b6:4c:8a -# SHA256 Fingerprint: 9b:ea:11:c9:76:fe:01:47:64:c1:be:56:a6:f9:14:b5:a5:60:31:7a:bd:99:88:39:33:82:e5:16:1a:a0:49:3c ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9 -MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH -bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x -CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds -b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr -b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9 -kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm -VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R -VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc -C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj -tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY -D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv -j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl -NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6 -iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP -O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/ -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV -ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj -L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 -1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl -1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU -b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV -PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj -y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb -EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg -DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI -+Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy -YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX -UB+K+wb1whnw0A== ------END CERTIFICATE----- - -# Issuer: CN=UCA Extended Validation Root O=UniTrust -# Subject: CN=UCA Extended Validation Root O=UniTrust -# Label: "UCA Extended Validation Root" -# Serial: 106100277556486529736699587978573607008 -# MD5 Fingerprint: a1:f3:5f:43:c6:34:9b:da:bf:8c:7e:05:53:ad:96:e2 -# SHA1 Fingerprint: a3:a1:b0:6f:24:61:23:4a:e3:36:a5:c2:37:fc:a6:ff:dd:f0:d7:3a -# SHA256 Fingerprint: d4:3a:f9:b3:54:73:75:5c:96:84:fc:06:d7:d8:cb:70:ee:5c:28:e7:73:fb:29:4e:b4:1e:e7:17:22:92:4d:24 ------BEGIN CERTIFICATE----- -MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH -MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF -eHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx -MDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV -BAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog -D4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS -sPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop -O2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk -sHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi -c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj -VMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz -KuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/ -TuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G -sx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs -1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD -fwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T -AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN -l8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR -ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ -VBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5 -c6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp -4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s -t2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj -2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO -vpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C -xR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx -cmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM -fjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1ax ------END CERTIFICATE----- - -# Issuer: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 -# Subject: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 -# Label: "Certigna Root CA" -# Serial: 269714418870597844693661054334862075617 -# MD5 Fingerprint: 0e:5c:30:62:27:eb:5b:bc:d7:ae:62:ba:e9:d5:df:77 -# SHA1 Fingerprint: 2d:0d:52:14:ff:9e:ad:99:24:01:74:20:47:6e:6c:85:27:27:f5:43 -# SHA256 Fingerprint: d4:8d:3d:23:ee:db:50:a4:59:e5:51:97:60:1c:27:77:4b:9d:7b:18:c9:4d:5a:05:95:11:a1:02:50:b9:31:68 ------BEGIN CERTIFICATE----- -MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw -WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw -MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x -MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD -VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX -BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw -ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO -ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M -CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu -I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm -TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh -C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf -ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz -IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT -Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k -JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5 -hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB -GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of -1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov -L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo -dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr -aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq -hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L -6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG -HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6 -0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB -lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi -o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1 -gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v -faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63 -Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh -jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw -3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= ------END CERTIFICATE----- - -# Issuer: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI -# Subject: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI -# Label: "emSign Root CA - G1" -# Serial: 235931866688319308814040 -# MD5 Fingerprint: 9c:42:84:57:dd:cb:0b:a7:2e:95:ad:b6:f3:da:bc:ac -# SHA1 Fingerprint: 8a:c7:ad:8f:73:ac:4e:c1:b5:75:4d:a5:40:f4:fc:cf:7c:b5:8e:8c -# SHA256 Fingerprint: 40:f6:af:03:46:a9:9a:a1:cd:1d:55:5a:4e:9c:ce:62:c7:f9:63:46:03:ee:40:66:15:83:3d:c8:c8:d0:03:67 ------BEGIN CERTIFICATE----- -MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD -VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU -ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH -MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO -MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv -Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz -f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO -8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq -d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM -tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt -Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB -o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD -AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x -PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM -wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d -GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH -6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby -RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx -iN66zB+Afko= ------END CERTIFICATE----- - -# Issuer: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI -# Subject: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI -# Label: "emSign ECC Root CA - G3" -# Serial: 287880440101571086945156 -# MD5 Fingerprint: ce:0b:72:d1:9f:88:8e:d0:50:03:e8:e3:b8:8b:67:40 -# SHA1 Fingerprint: 30:43:fa:4f:f2:57:dc:a0:c3:80:ee:2e:58:ea:78:b2:3f:e6:bb:c1 -# SHA256 Fingerprint: 86:a1:ec:ba:08:9c:4a:8d:3b:be:27:34:c6:12:ba:34:1d:81:3e:04:3c:f9:e8:a8:62:cd:5c:57:a3:6b:be:6b ------BEGIN CERTIFICATE----- -MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG -EwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo -bm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g -RzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ -TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s -b2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0 -WXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS -fvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB -zhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq -hkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB -CUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD -+JbNR6iC8hZVdyR+EhCVBCyj ------END CERTIFICATE----- - -# Issuer: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI -# Subject: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI -# Label: "emSign Root CA - C1" -# Serial: 825510296613316004955058 -# MD5 Fingerprint: d8:e3:5d:01:21:fa:78:5a:b0:df:ba:d2:ee:2a:5f:68 -# SHA1 Fingerprint: e7:2e:f1:df:fc:b2:09:28:cf:5d:d4:d5:67:37:b1:51:cb:86:4f:01 -# SHA256 Fingerprint: 12:56:09:aa:30:1d:a0:a2:49:b9:7a:82:39:cb:6a:34:21:6f:44:dc:ac:9f:39:54:b1:42:92:f2:e8:c8:60:8f ------BEGIN CERTIFICATE----- -MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkG -A1UEBhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEg -SW5jMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAw -MFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln -biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9v -dCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+upufGZ -BczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZ -HdPIWoU/Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH -3DspVpNqs8FqOp099cGXOFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvH -GPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4VI5b2P/AgNBbeCsbEBEV5f6f9vtKppa+c -xSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleoomslMuoaJuvimUnzYnu3Yy1 -aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+XJGFehiq -TbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL -BQADggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87 -/kOXSTKZEhVb3xEp/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4 -kqNPEjE2NuLe/gDEo2APJ62gsIq1NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrG -YQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9wC68AivTxEDkigcxHpvOJpkT -+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQBmIMMMAVSKeo -WXzhriKi4gp6D/piq1JM4fHfyr6DDUI= ------END CERTIFICATE----- - -# Issuer: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI -# Subject: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI -# Label: "emSign ECC Root CA - C3" -# Serial: 582948710642506000014504 -# MD5 Fingerprint: 3e:53:b3:a3:81:ee:d7:10:f8:d3:b0:1d:17:92:f5:d5 -# SHA1 Fingerprint: b6:af:43:c2:9b:81:53:7d:f6:ef:6b:c3:1f:1f:60:15:0c:ee:48:66 -# SHA256 Fingerprint: bc:4d:80:9b:15:18:9d:78:db:3e:1d:8c:f4:f9:72:6a:79:5d:a1:64:3c:a5:f1:35:8e:1d:db:0e:dc:0d:7e:b3 ------BEGIN CERTIFICATE----- -MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQG -EwJVUzETMBEGA1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMx -IDAeBgNVBAMTF2VtU2lnbiBFQ0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAw -MFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln -biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQDExdlbVNpZ24gRUND -IFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd6bci -MK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4Ojavti -sIGJAnB9SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0O -BBYEFPtaSNCAIEDyqOkAB2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB -Af8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQC02C8Cif22TGK6Q04ThHK1rt0c -3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwUZOR8loMRnLDRWmFLpg9J -0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ== ------END CERTIFICATE----- - -# Issuer: CN=Hongkong Post Root CA 3 O=Hongkong Post -# Subject: CN=Hongkong Post Root CA 3 O=Hongkong Post -# Label: "Hongkong Post Root CA 3" -# Serial: 46170865288971385588281144162979347873371282084 -# MD5 Fingerprint: 11:fc:9f:bd:73:30:02:8a:fd:3f:f3:58:b9:cb:20:f0 -# SHA1 Fingerprint: 58:a2:d0:ec:20:52:81:5b:c1:f3:f8:64:02:24:4e:c2:8e:02:4b:02 -# SHA256 Fingerprint: 5a:2f:c0:3f:0c:83:b0:90:bb:fa:40:60:4b:09:88:44:6c:76:36:18:3d:f9:84:6e:17:10:1a:44:7f:b8:ef:d6 ------BEGIN CERTIFICATE----- -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 -mpv0 ------END CERTIFICATE----- diff --git a/.tox/py37-normal/lib/python3.7/site-packages/certifi/core.py b/.tox/py37-normal/lib/python3.7/site-packages/certifi/core.py deleted file mode 100644 index 7271acf..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/certifi/core.py +++ /dev/null @@ -1,15 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -certifi.py -~~~~~~~~~~ - -This module returns the installation location of cacert.pem. -""" -import os - - -def where(): - f = os.path.dirname(__file__) - - return os.path.join(f, 'cacert.pem') diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/DESCRIPTION.rst b/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/DESCRIPTION.rst deleted file mode 100644 index c0f044d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,70 +0,0 @@ -Chardet: The Universal Character Encoding Detector --------------------------------------------------- - -.. image:: https://img.shields.io/travis/chardet/chardet/stable.svg - :alt: Build status - :target: https://travis-ci.org/chardet/chardet - -.. image:: https://img.shields.io/coveralls/chardet/chardet/stable.svg - :target: https://coveralls.io/r/chardet/chardet - -.. image:: https://img.shields.io/pypi/v/chardet.svg - :target: https://warehouse.python.org/project/chardet/ - :alt: Latest version on PyPI - -.. image:: https://img.shields.io/pypi/l/chardet.svg - :alt: License - - -Detects - - ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants) - - Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified Chinese) - - EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP (Japanese) - - EUC-KR, ISO-2022-KR (Korean) - - KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (Cyrillic) - - ISO-8859-5, windows-1251 (Bulgarian) - - ISO-8859-1, windows-1252 (Western European languages) - - ISO-8859-7, windows-1253 (Greek) - - ISO-8859-8, windows-1255 (Visual and Logical Hebrew) - - TIS-620 (Thai) - -.. note:: - Our ISO-8859-2 and windows-1250 (Hungarian) probers have been temporarily - disabled until we can retrain the models. - -Requires Python 2.6, 2.7, or 3.3+. - -Installation ------------- - -Install from `PyPI `_:: - - pip install chardet - -Documentation -------------- - -For users, docs are now available at https://chardet.readthedocs.io/. - -Command-line Tool ------------------ - -chardet comes with a command-line script which reports on the encodings of one -or more files:: - - % chardetect somefile someotherfile - somefile: windows-1252 with confidence 0.5 - someotherfile: ascii with confidence 1.0 - -About ------ - -This is a continuation of Mark Pilgrim's excellent chardet. Previously, two -versions needed to be maintained: one that supported python 2.x and one that -supported python 3.x. We've recently merged with `Ian Cordasco `_'s -`charade `_ fork, so now we have one -coherent version that works for Python 2.6+. - -:maintainer: Dan Blanchard - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/INSTALLER b/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/METADATA b/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/METADATA deleted file mode 100644 index 1427867..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/METADATA +++ /dev/null @@ -1,96 +0,0 @@ -Metadata-Version: 2.0 -Name: chardet -Version: 3.0.4 -Summary: Universal encoding detector for Python 2 and 3 -Home-page: https://github.com/chardet/chardet -Author: Daniel Blanchard -Author-email: dan.blanchard@gmail.com -License: LGPL -Keywords: encoding,i18n,xml -Platform: UNKNOWN -Classifier: Development Status :: 4 - Beta -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL) -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: Text Processing :: Linguistic - -Chardet: The Universal Character Encoding Detector --------------------------------------------------- - -.. image:: https://img.shields.io/travis/chardet/chardet/stable.svg - :alt: Build status - :target: https://travis-ci.org/chardet/chardet - -.. image:: https://img.shields.io/coveralls/chardet/chardet/stable.svg - :target: https://coveralls.io/r/chardet/chardet - -.. image:: https://img.shields.io/pypi/v/chardet.svg - :target: https://warehouse.python.org/project/chardet/ - :alt: Latest version on PyPI - -.. image:: https://img.shields.io/pypi/l/chardet.svg - :alt: License - - -Detects - - ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants) - - Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified Chinese) - - EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP (Japanese) - - EUC-KR, ISO-2022-KR (Korean) - - KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (Cyrillic) - - ISO-8859-5, windows-1251 (Bulgarian) - - ISO-8859-1, windows-1252 (Western European languages) - - ISO-8859-7, windows-1253 (Greek) - - ISO-8859-8, windows-1255 (Visual and Logical Hebrew) - - TIS-620 (Thai) - -.. note:: - Our ISO-8859-2 and windows-1250 (Hungarian) probers have been temporarily - disabled until we can retrain the models. - -Requires Python 2.6, 2.7, or 3.3+. - -Installation ------------- - -Install from `PyPI `_:: - - pip install chardet - -Documentation -------------- - -For users, docs are now available at https://chardet.readthedocs.io/. - -Command-line Tool ------------------ - -chardet comes with a command-line script which reports on the encodings of one -or more files:: - - % chardetect somefile someotherfile - somefile: windows-1252 with confidence 0.5 - someotherfile: ascii with confidence 1.0 - -About ------ - -This is a continuation of Mark Pilgrim's excellent chardet. Previously, two -versions needed to be maintained: one that supported python 2.x and one that -supported python 3.x. We've recently merged with `Ian Cordasco `_'s -`charade `_ fork, so now we have one -coherent version that works for Python 2.6+. - -:maintainer: Dan Blanchard - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/RECORD b/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/RECORD deleted file mode 100644 index 655e02f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/RECORD +++ /dev/null @@ -1,91 +0,0 @@ -../../../bin/chardetect,sha256=TILYUysO3Eg6edpzkFBXVl9jdnELa7yzXuMapKaxwFw,258 -chardet-3.0.4.dist-info/DESCRIPTION.rst,sha256=PQ4sBsMyKFZkjC6QpmbpLn0UtCNyeb-ZqvCGEgyZMGk,2174 -chardet-3.0.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -chardet-3.0.4.dist-info/METADATA,sha256=RV_2I4B1Z586DL8oVO5Kp7X5bUdQ5EuKAvNoAEF8wSw,3239 -chardet-3.0.4.dist-info/RECORD,, -chardet-3.0.4.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 -chardet-3.0.4.dist-info/entry_points.txt,sha256=fAMmhu5eJ-zAJ-smfqQwRClQ3-nozOCmvJ6-E8lgGJo,60 -chardet-3.0.4.dist-info/metadata.json,sha256=0htbRM18ujyGZDdfowgAqj6Hq2eQtwzwyhaEveKntgo,1375 -chardet-3.0.4.dist-info/top_level.txt,sha256=AowzBbZy4x8EirABDdJSLJZMkJ_53iIag8xfKR6D7kI,8 -chardet/__init__.py,sha256=YsP5wQlsHJ2auF1RZJfypiSrCA7_bQiRm3ES_NI76-Y,1559 -chardet/__pycache__/__init__.cpython-37.pyc,, -chardet/__pycache__/big5freq.cpython-37.pyc,, -chardet/__pycache__/big5prober.cpython-37.pyc,, -chardet/__pycache__/chardistribution.cpython-37.pyc,, -chardet/__pycache__/charsetgroupprober.cpython-37.pyc,, -chardet/__pycache__/charsetprober.cpython-37.pyc,, -chardet/__pycache__/codingstatemachine.cpython-37.pyc,, -chardet/__pycache__/compat.cpython-37.pyc,, -chardet/__pycache__/cp949prober.cpython-37.pyc,, -chardet/__pycache__/enums.cpython-37.pyc,, -chardet/__pycache__/escprober.cpython-37.pyc,, -chardet/__pycache__/escsm.cpython-37.pyc,, -chardet/__pycache__/eucjpprober.cpython-37.pyc,, -chardet/__pycache__/euckrfreq.cpython-37.pyc,, -chardet/__pycache__/euckrprober.cpython-37.pyc,, -chardet/__pycache__/euctwfreq.cpython-37.pyc,, -chardet/__pycache__/euctwprober.cpython-37.pyc,, -chardet/__pycache__/gb2312freq.cpython-37.pyc,, -chardet/__pycache__/gb2312prober.cpython-37.pyc,, -chardet/__pycache__/hebrewprober.cpython-37.pyc,, -chardet/__pycache__/jisfreq.cpython-37.pyc,, -chardet/__pycache__/jpcntx.cpython-37.pyc,, -chardet/__pycache__/langbulgarianmodel.cpython-37.pyc,, -chardet/__pycache__/langcyrillicmodel.cpython-37.pyc,, -chardet/__pycache__/langgreekmodel.cpython-37.pyc,, -chardet/__pycache__/langhebrewmodel.cpython-37.pyc,, -chardet/__pycache__/langhungarianmodel.cpython-37.pyc,, -chardet/__pycache__/langthaimodel.cpython-37.pyc,, -chardet/__pycache__/langturkishmodel.cpython-37.pyc,, -chardet/__pycache__/latin1prober.cpython-37.pyc,, -chardet/__pycache__/mbcharsetprober.cpython-37.pyc,, -chardet/__pycache__/mbcsgroupprober.cpython-37.pyc,, -chardet/__pycache__/mbcssm.cpython-37.pyc,, -chardet/__pycache__/sbcharsetprober.cpython-37.pyc,, -chardet/__pycache__/sbcsgroupprober.cpython-37.pyc,, -chardet/__pycache__/sjisprober.cpython-37.pyc,, -chardet/__pycache__/universaldetector.cpython-37.pyc,, -chardet/__pycache__/utf8prober.cpython-37.pyc,, -chardet/__pycache__/version.cpython-37.pyc,, -chardet/big5freq.py,sha256=D_zK5GyzoVsRes0HkLJziltFQX0bKCLOrFe9_xDvO_8,31254 -chardet/big5prober.py,sha256=kBxHbdetBpPe7xrlb-e990iot64g_eGSLd32lB7_h3M,1757 -chardet/chardistribution.py,sha256=3woWS62KrGooKyqz4zQSnjFbJpa6V7g02daAibTwcl8,9411 -chardet/charsetgroupprober.py,sha256=6bDu8YIiRuScX4ca9Igb0U69TA2PGXXDej6Cc4_9kO4,3787 -chardet/charsetprober.py,sha256=KSmwJErjypyj0bRZmC5F5eM7c8YQgLYIjZXintZNstg,5110 -chardet/cli/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 -chardet/cli/__pycache__/__init__.cpython-37.pyc,, -chardet/cli/__pycache__/chardetect.cpython-37.pyc,, -chardet/cli/chardetect.py,sha256=YBO8L4mXo0WR6_-Fjh_8QxPBoEBNqB9oNxNrdc54AQs,2738 -chardet/codingstatemachine.py,sha256=VYp_6cyyki5sHgXDSZnXW4q1oelHc3cu9AyQTX7uug8,3590 -chardet/compat.py,sha256=PKTzHkSbtbHDqS9PyujMbX74q1a8mMpeQTDVsQhZMRw,1134 -chardet/cp949prober.py,sha256=TZ434QX8zzBsnUvL_8wm4AQVTZ2ZkqEEQL_lNw9f9ow,1855 -chardet/enums.py,sha256=Aimwdb9as1dJKZaFNUH2OhWIVBVd6ZkJJ_WK5sNY8cU,1661 -chardet/escprober.py,sha256=kkyqVg1Yw3DIOAMJ2bdlyQgUFQhuHAW8dUGskToNWSc,3950 -chardet/escsm.py,sha256=RuXlgNvTIDarndvllNCk5WZBIpdCxQ0kcd9EAuxUh84,10510 -chardet/eucjpprober.py,sha256=iD8Jdp0ISRjgjiVN7f0e8xGeQJ5GM2oeZ1dA8nbSeUw,3749 -chardet/euckrfreq.py,sha256=-7GdmvgWez4-eO4SuXpa7tBiDi5vRXQ8WvdFAzVaSfo,13546 -chardet/euckrprober.py,sha256=MqFMTQXxW4HbzIpZ9lKDHB3GN8SP4yiHenTmf8g_PxY,1748 -chardet/euctwfreq.py,sha256=No1WyduFOgB5VITUA7PLyC5oJRNzRyMbBxaKI1l16MA,31621 -chardet/euctwprober.py,sha256=13p6EP4yRaxqnP4iHtxHOJ6R2zxHq1_m8hTRjzVZ95c,1747 -chardet/gb2312freq.py,sha256=JX8lsweKLmnCwmk8UHEQsLgkr_rP_kEbvivC4qPOrlc,20715 -chardet/gb2312prober.py,sha256=gGvIWi9WhDjE-xQXHvNIyrnLvEbMAYgyUSZ65HUfylw,1754 -chardet/hebrewprober.py,sha256=c3SZ-K7hvyzGY6JRAZxJgwJ_sUS9k0WYkvMY00YBYFo,13838 -chardet/jisfreq.py,sha256=vpmJv2Bu0J8gnMVRPHMFefTRvo_ha1mryLig8CBwgOg,25777 -chardet/jpcntx.py,sha256=PYlNqRUQT8LM3cT5FmHGP0iiscFlTWED92MALvBungo,19643 -chardet/langbulgarianmodel.py,sha256=1HqQS9Pbtnj1xQgxitJMvw8X6kKr5OockNCZWfEQrPE,12839 -chardet/langcyrillicmodel.py,sha256=LODajvsetH87yYDDQKA2CULXUH87tI223dhfjh9Zx9c,17948 -chardet/langgreekmodel.py,sha256=8YAW7bU8YwSJap0kIJSbPMw1BEqzGjWzqcqf0WgUKAA,12688 -chardet/langhebrewmodel.py,sha256=JSnqmE5E62tDLTPTvLpQsg5gOMO4PbdWRvV7Avkc0HA,11345 -chardet/langhungarianmodel.py,sha256=RhapYSG5l0ZaO-VV4Fan5sW0WRGQqhwBM61yx3yxyOA,12592 -chardet/langthaimodel.py,sha256=8l0173Gu_W6G8mxmQOTEF4ls2YdE7FxWf3QkSxEGXJQ,11290 -chardet/langturkishmodel.py,sha256=W22eRNJsqI6uWAfwXSKVWWnCerYqrI8dZQTm_M0lRFk,11102 -chardet/latin1prober.py,sha256=S2IoORhFk39FEFOlSFWtgVybRiP6h7BlLldHVclNkU8,5370 -chardet/mbcharsetprober.py,sha256=AR95eFH9vuqSfvLQZN-L5ijea25NOBCoXqw8s5O9xLQ,3413 -chardet/mbcsgroupprober.py,sha256=h6TRnnYq2OxG1WdD5JOyxcdVpn7dG0q-vB8nWr5mbh4,2012 -chardet/mbcssm.py,sha256=SY32wVIF3HzcjY3BaEspy9metbNSKxIIB0RKPn7tjpI,25481 -chardet/sbcharsetprober.py,sha256=LDSpCldDCFlYwUkGkwD2oFxLlPWIWXT09akH_2PiY74,5657 -chardet/sbcsgroupprober.py,sha256=1IprcCB_k1qfmnxGC6MBbxELlKqD3scW6S8YIwdeyXA,3546 -chardet/sjisprober.py,sha256=IIt-lZj0WJqK4rmUZzKZP4GJlE8KUEtFYVuY96ek5MQ,3774 -chardet/universaldetector.py,sha256=qL0174lSZE442eB21nnktT9_VcAye07laFWUeUrjttY,12485 -chardet/utf8prober.py,sha256=IdD8v3zWOsB8OLiyPi-y_fqwipRFxV9Nc1eKBLSuIEw,2766 -chardet/version.py,sha256=sp3B08mrDXB-pf3K9fqJ_zeDHOCLC8RrngQyDFap_7g,242 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/WHEEL b/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/WHEEL deleted file mode 100644 index 8b6dd1b..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.29.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/entry_points.txt b/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/entry_points.txt deleted file mode 100644 index a884269..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/entry_points.txt +++ /dev/null @@ -1,3 +0,0 @@ -[console_scripts] -chardetect = chardet.cli.chardetect:main - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/metadata.json b/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/metadata.json deleted file mode 100644 index 8cdf025..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: Linguistic"], "extensions": {"python.commands": {"wrap_console": {"chardetect": "chardet.cli.chardetect:main"}}, "python.details": {"contacts": [{"email": "dan.blanchard@gmail.com", "name": "Daniel Blanchard", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/chardet/chardet"}}, "python.exports": {"console_scripts": {"chardetect": "chardet.cli.chardetect:main"}}}, "generator": "bdist_wheel (0.29.0)", "keywords": ["encoding", "i18n", "xml"], "license": "LGPL", "metadata_version": "2.0", "name": "chardet", "summary": "Universal encoding detector for Python 2 and 3", "test_requires": [{"requires": ["hypothesis", "pytest"]}], "version": "3.0.4"} \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/top_level.txt b/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/top_level.txt deleted file mode 100644 index 79236f2..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet-3.0.4.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -chardet diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/__init__.py deleted file mode 100644 index 0f9f820..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/__init__.py +++ /dev/null @@ -1,39 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - - -from .compat import PY2, PY3 -from .universaldetector import UniversalDetector -from .version import __version__, VERSION - - -def detect(byte_str): - """ - Detect the encoding of the given byte string. - - :param byte_str: The byte sequence to examine. - :type byte_str: ``bytes`` or ``bytearray`` - """ - if not isinstance(byte_str, bytearray): - if not isinstance(byte_str, bytes): - raise TypeError('Expected object of type bytes or bytearray, got: ' - '{0}'.format(type(byte_str))) - else: - byte_str = bytearray(byte_str) - detector = UniversalDetector() - detector.feed(byte_str) - return detector.close() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/big5freq.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/big5freq.py deleted file mode 100644 index 38f3251..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/big5freq.py +++ /dev/null @@ -1,386 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# Big5 frequency table -# by Taiwan's Mandarin Promotion Council -# -# -# 128 --> 0.42261 -# 256 --> 0.57851 -# 512 --> 0.74851 -# 1024 --> 0.89384 -# 2048 --> 0.97583 -# -# Ideal Distribution Ratio = 0.74851/(1-0.74851) =2.98 -# Random Distribution Ration = 512/(5401-512)=0.105 -# -# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR - -BIG5_TYPICAL_DISTRIBUTION_RATIO = 0.75 - -#Char to FreqOrder table -BIG5_TABLE_SIZE = 5376 - -BIG5_CHAR_TO_FREQ_ORDER = ( - 1,1801,1506, 255,1431, 198, 9, 82, 6,5008, 177, 202,3681,1256,2821, 110, # 16 -3814, 33,3274, 261, 76, 44,2114, 16,2946,2187,1176, 659,3971, 26,3451,2653, # 32 -1198,3972,3350,4202, 410,2215, 302, 590, 361,1964, 8, 204, 58,4510,5009,1932, # 48 - 63,5010,5011, 317,1614, 75, 222, 159,4203,2417,1480,5012,3555,3091, 224,2822, # 64 -3682, 3, 10,3973,1471, 29,2787,1135,2866,1940, 873, 130,3275,1123, 312,5013, # 80 -4511,2052, 507, 252, 682,5014, 142,1915, 124, 206,2947, 34,3556,3204, 64, 604, # 96 -5015,2501,1977,1978, 155,1991, 645, 641,1606,5016,3452, 337, 72, 406,5017, 80, # 112 - 630, 238,3205,1509, 263, 939,1092,2654, 756,1440,1094,3453, 449, 69,2987, 591, # 128 - 179,2096, 471, 115,2035,1844, 60, 50,2988, 134, 806,1869, 734,2036,3454, 180, # 144 - 995,1607, 156, 537,2907, 688,5018, 319,1305, 779,2145, 514,2379, 298,4512, 359, # 160 -2502, 90,2716,1338, 663, 11, 906,1099,2553, 20,2441, 182, 532,1716,5019, 732, # 176 -1376,4204,1311,1420,3206, 25,2317,1056, 113, 399, 382,1950, 242,3455,2474, 529, # 192 -3276, 475,1447,3683,5020, 117, 21, 656, 810,1297,2300,2334,3557,5021, 126,4205, # 208 - 706, 456, 150, 613,4513, 71,1118,2037,4206, 145,3092, 85, 835, 486,2115,1246, # 224 -1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,5022,2128,2359, 347,3815, 221, # 240 -3558,3135,5023,1956,1153,4207, 83, 296,1199,3093, 192, 624, 93,5024, 822,1898, # 256 -2823,3136, 795,2065, 991,1554,1542,1592, 27, 43,2867, 859, 139,1456, 860,4514, # 272 - 437, 712,3974, 164,2397,3137, 695, 211,3037,2097, 195,3975,1608,3559,3560,3684, # 288 -3976, 234, 811,2989,2098,3977,2233,1441,3561,1615,2380, 668,2077,1638, 305, 228, # 304 -1664,4515, 467, 415,5025, 262,2099,1593, 239, 108, 300, 200,1033, 512,1247,2078, # 320 -5026,5027,2176,3207,3685,2682, 593, 845,1062,3277, 88,1723,2038,3978,1951, 212, # 336 - 266, 152, 149, 468,1899,4208,4516, 77, 187,5028,3038, 37, 5,2990,5029,3979, # 352 -5030,5031, 39,2524,4517,2908,3208,2079, 55, 148, 74,4518, 545, 483,1474,1029, # 368 -1665, 217,1870,1531,3138,1104,2655,4209, 24, 172,3562, 900,3980,3563,3564,4519, # 384 - 32,1408,2824,1312, 329, 487,2360,2251,2717, 784,2683, 4,3039,3351,1427,1789, # 400 - 188, 109, 499,5032,3686,1717,1790, 888,1217,3040,4520,5033,3565,5034,3352,1520, # 416 -3687,3981, 196,1034, 775,5035,5036, 929,1816, 249, 439, 38,5037,1063,5038, 794, # 432 -3982,1435,2301, 46, 178,3278,2066,5039,2381,5040, 214,1709,4521, 804, 35, 707, # 448 - 324,3688,1601,2554, 140, 459,4210,5041,5042,1365, 839, 272, 978,2262,2580,3456, # 464 -2129,1363,3689,1423, 697, 100,3094, 48, 70,1231, 495,3139,2196,5043,1294,5044, # 480 -2080, 462, 586,1042,3279, 853, 256, 988, 185,2382,3457,1698, 434,1084,5045,3458, # 496 - 314,2625,2788,4522,2335,2336, 569,2285, 637,1817,2525, 757,1162,1879,1616,3459, # 512 - 287,1577,2116, 768,4523,1671,2868,3566,2526,1321,3816, 909,2418,5046,4211, 933, # 528 -3817,4212,2053,2361,1222,4524, 765,2419,1322, 786,4525,5047,1920,1462,1677,2909, # 544 -1699,5048,4526,1424,2442,3140,3690,2600,3353,1775,1941,3460,3983,4213, 309,1369, # 560 -1130,2825, 364,2234,1653,1299,3984,3567,3985,3986,2656, 525,1085,3041, 902,2001, # 576 -1475, 964,4527, 421,1845,1415,1057,2286, 940,1364,3141, 376,4528,4529,1381, 7, # 592 -2527, 983,2383, 336,1710,2684,1846, 321,3461, 559,1131,3042,2752,1809,1132,1313, # 608 - 265,1481,1858,5049, 352,1203,2826,3280, 167,1089, 420,2827, 776, 792,1724,3568, # 624 -4214,2443,3281,5050,4215,5051, 446, 229, 333,2753, 901,3818,1200,1557,4530,2657, # 640 -1921, 395,2754,2685,3819,4216,1836, 125, 916,3209,2626,4531,5052,5053,3820,5054, # 656 -5055,5056,4532,3142,3691,1133,2555,1757,3462,1510,2318,1409,3569,5057,2146, 438, # 672 -2601,2910,2384,3354,1068, 958,3043, 461, 311,2869,2686,4217,1916,3210,4218,1979, # 688 - 383, 750,2755,2627,4219, 274, 539, 385,1278,1442,5058,1154,1965, 384, 561, 210, # 704 - 98,1295,2556,3570,5059,1711,2420,1482,3463,3987,2911,1257, 129,5060,3821, 642, # 720 - 523,2789,2790,2658,5061, 141,2235,1333, 68, 176, 441, 876, 907,4220, 603,2602, # 736 - 710, 171,3464, 404, 549, 18,3143,2398,1410,3692,1666,5062,3571,4533,2912,4534, # 752 -5063,2991, 368,5064, 146, 366, 99, 871,3693,1543, 748, 807,1586,1185, 22,2263, # 768 - 379,3822,3211,5065,3212, 505,1942,2628,1992,1382,2319,5066, 380,2362, 218, 702, # 784 -1818,1248,3465,3044,3572,3355,3282,5067,2992,3694, 930,3283,3823,5068, 59,5069, # 800 - 585, 601,4221, 497,3466,1112,1314,4535,1802,5070,1223,1472,2177,5071, 749,1837, # 816 - 690,1900,3824,1773,3988,1476, 429,1043,1791,2236,2117, 917,4222, 447,1086,1629, # 832 -5072, 556,5073,5074,2021,1654, 844,1090, 105, 550, 966,1758,2828,1008,1783, 686, # 848 -1095,5075,2287, 793,1602,5076,3573,2603,4536,4223,2948,2302,4537,3825, 980,2503, # 864 - 544, 353, 527,4538, 908,2687,2913,5077, 381,2629,1943,1348,5078,1341,1252, 560, # 880 -3095,5079,3467,2870,5080,2054, 973, 886,2081, 143,4539,5081,5082, 157,3989, 496, # 896 -4224, 57, 840, 540,2039,4540,4541,3468,2118,1445, 970,2264,1748,1966,2082,4225, # 912 -3144,1234,1776,3284,2829,3695, 773,1206,2130,1066,2040,1326,3990,1738,1725,4226, # 928 - 279,3145, 51,1544,2604, 423,1578,2131,2067, 173,4542,1880,5083,5084,1583, 264, # 944 - 610,3696,4543,2444, 280, 154,5085,5086,5087,1739, 338,1282,3096, 693,2871,1411, # 960 -1074,3826,2445,5088,4544,5089,5090,1240, 952,2399,5091,2914,1538,2688, 685,1483, # 976 -4227,2475,1436, 953,4228,2055,4545, 671,2400, 79,4229,2446,3285, 608, 567,2689, # 992 -3469,4230,4231,1691, 393,1261,1792,2401,5092,4546,5093,5094,5095,5096,1383,1672, # 1008 -3827,3213,1464, 522,1119, 661,1150, 216, 675,4547,3991,1432,3574, 609,4548,2690, # 1024 -2402,5097,5098,5099,4232,3045, 0,5100,2476, 315, 231,2447, 301,3356,4549,2385, # 1040 -5101, 233,4233,3697,1819,4550,4551,5102, 96,1777,1315,2083,5103, 257,5104,1810, # 1056 -3698,2718,1139,1820,4234,2022,1124,2164,2791,1778,2659,5105,3097, 363,1655,3214, # 1072 -5106,2993,5107,5108,5109,3992,1567,3993, 718, 103,3215, 849,1443, 341,3357,2949, # 1088 -1484,5110,1712, 127, 67, 339,4235,2403, 679,1412, 821,5111,5112, 834, 738, 351, # 1104 -2994,2147, 846, 235,1497,1881, 418,1993,3828,2719, 186,1100,2148,2756,3575,1545, # 1120 -1355,2950,2872,1377, 583,3994,4236,2581,2995,5113,1298,3699,1078,2557,3700,2363, # 1136 - 78,3829,3830, 267,1289,2100,2002,1594,4237, 348, 369,1274,2197,2178,1838,4552, # 1152 -1821,2830,3701,2757,2288,2003,4553,2951,2758, 144,3358, 882,4554,3995,2759,3470, # 1168 -4555,2915,5114,4238,1726, 320,5115,3996,3046, 788,2996,5116,2831,1774,1327,2873, # 1184 -3997,2832,5117,1306,4556,2004,1700,3831,3576,2364,2660, 787,2023, 506, 824,3702, # 1200 - 534, 323,4557,1044,3359,2024,1901, 946,3471,5118,1779,1500,1678,5119,1882,4558, # 1216 - 165, 243,4559,3703,2528, 123, 683,4239, 764,4560, 36,3998,1793, 589,2916, 816, # 1232 - 626,1667,3047,2237,1639,1555,1622,3832,3999,5120,4000,2874,1370,1228,1933, 891, # 1248 -2084,2917, 304,4240,5121, 292,2997,2720,3577, 691,2101,4241,1115,4561, 118, 662, # 1264 -5122, 611,1156, 854,2386,1316,2875, 2, 386, 515,2918,5123,5124,3286, 868,2238, # 1280 -1486, 855,2661, 785,2216,3048,5125,1040,3216,3578,5126,3146, 448,5127,1525,5128, # 1296 -2165,4562,5129,3833,5130,4242,2833,3579,3147, 503, 818,4001,3148,1568, 814, 676, # 1312 -1444, 306,1749,5131,3834,1416,1030, 197,1428, 805,2834,1501,4563,5132,5133,5134, # 1328 -1994,5135,4564,5136,5137,2198, 13,2792,3704,2998,3149,1229,1917,5138,3835,2132, # 1344 -5139,4243,4565,2404,3580,5140,2217,1511,1727,1120,5141,5142, 646,3836,2448, 307, # 1360 -5143,5144,1595,3217,5145,5146,5147,3705,1113,1356,4002,1465,2529,2530,5148, 519, # 1376 -5149, 128,2133, 92,2289,1980,5150,4003,1512, 342,3150,2199,5151,2793,2218,1981, # 1392 -3360,4244, 290,1656,1317, 789, 827,2365,5152,3837,4566, 562, 581,4004,5153, 401, # 1408 -4567,2252, 94,4568,5154,1399,2794,5155,1463,2025,4569,3218,1944,5156, 828,1105, # 1424 -4245,1262,1394,5157,4246, 605,4570,5158,1784,2876,5159,2835, 819,2102, 578,2200, # 1440 -2952,5160,1502, 436,3287,4247,3288,2836,4005,2919,3472,3473,5161,2721,2320,5162, # 1456 -5163,2337,2068, 23,4571, 193, 826,3838,2103, 699,1630,4248,3098, 390,1794,1064, # 1472 -3581,5164,1579,3099,3100,1400,5165,4249,1839,1640,2877,5166,4572,4573, 137,4250, # 1488 - 598,3101,1967, 780, 104, 974,2953,5167, 278, 899, 253, 402, 572, 504, 493,1339, # 1504 -5168,4006,1275,4574,2582,2558,5169,3706,3049,3102,2253, 565,1334,2722, 863, 41, # 1520 -5170,5171,4575,5172,1657,2338, 19, 463,2760,4251, 606,5173,2999,3289,1087,2085, # 1536 -1323,2662,3000,5174,1631,1623,1750,4252,2691,5175,2878, 791,2723,2663,2339, 232, # 1552 -2421,5176,3001,1498,5177,2664,2630, 755,1366,3707,3290,3151,2026,1609, 119,1918, # 1568 -3474, 862,1026,4253,5178,4007,3839,4576,4008,4577,2265,1952,2477,5179,1125, 817, # 1584 -4254,4255,4009,1513,1766,2041,1487,4256,3050,3291,2837,3840,3152,5180,5181,1507, # 1600 -5182,2692, 733, 40,1632,1106,2879, 345,4257, 841,2531, 230,4578,3002,1847,3292, # 1616 -3475,5183,1263, 986,3476,5184, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562, # 1632 -4010,4011,2954, 967,2761,2665,1349, 592,2134,1692,3361,3003,1995,4258,1679,4012, # 1648 -1902,2188,5185, 739,3708,2724,1296,1290,5186,4259,2201,2202,1922,1563,2605,2559, # 1664 -1871,2762,3004,5187, 435,5188, 343,1108, 596, 17,1751,4579,2239,3477,3709,5189, # 1680 -4580, 294,3582,2955,1693, 477, 979, 281,2042,3583, 643,2043,3710,2631,2795,2266, # 1696 -1031,2340,2135,2303,3584,4581, 367,1249,2560,5190,3585,5191,4582,1283,3362,2005, # 1712 - 240,1762,3363,4583,4584, 836,1069,3153, 474,5192,2149,2532, 268,3586,5193,3219, # 1728 -1521,1284,5194,1658,1546,4260,5195,3587,3588,5196,4261,3364,2693,1685,4262, 961, # 1744 -1673,2632, 190,2006,2203,3841,4585,4586,5197, 570,2504,3711,1490,5198,4587,2633, # 1760 -3293,1957,4588, 584,1514, 396,1045,1945,5199,4589,1968,2449,5200,5201,4590,4013, # 1776 - 619,5202,3154,3294, 215,2007,2796,2561,3220,4591,3221,4592, 763,4263,3842,4593, # 1792 -5203,5204,1958,1767,2956,3365,3712,1174, 452,1477,4594,3366,3155,5205,2838,1253, # 1808 -2387,2189,1091,2290,4264, 492,5206, 638,1169,1825,2136,1752,4014, 648, 926,1021, # 1824 -1324,4595, 520,4596, 997, 847,1007, 892,4597,3843,2267,1872,3713,2405,1785,4598, # 1840 -1953,2957,3103,3222,1728,4265,2044,3714,4599,2008,1701,3156,1551, 30,2268,4266, # 1856 -5207,2027,4600,3589,5208, 501,5209,4267, 594,3478,2166,1822,3590,3479,3591,3223, # 1872 - 829,2839,4268,5210,1680,3157,1225,4269,5211,3295,4601,4270,3158,2341,5212,4602, # 1888 -4271,5213,4015,4016,5214,1848,2388,2606,3367,5215,4603, 374,4017, 652,4272,4273, # 1904 - 375,1140, 798,5216,5217,5218,2366,4604,2269, 546,1659, 138,3051,2450,4605,5219, # 1920 -2254, 612,1849, 910, 796,3844,1740,1371, 825,3845,3846,5220,2920,2562,5221, 692, # 1936 - 444,3052,2634, 801,4606,4274,5222,1491, 244,1053,3053,4275,4276, 340,5223,4018, # 1952 -1041,3005, 293,1168, 87,1357,5224,1539, 959,5225,2240, 721, 694,4277,3847, 219, # 1968 -1478, 644,1417,3368,2666,1413,1401,1335,1389,4019,5226,5227,3006,2367,3159,1826, # 1984 - 730,1515, 184,2840, 66,4607,5228,1660,2958, 246,3369, 378,1457, 226,3480, 975, # 2000 -4020,2959,1264,3592, 674, 696,5229, 163,5230,1141,2422,2167, 713,3593,3370,4608, # 2016 -4021,5231,5232,1186, 15,5233,1079,1070,5234,1522,3224,3594, 276,1050,2725, 758, # 2032 -1126, 653,2960,3296,5235,2342, 889,3595,4022,3104,3007, 903,1250,4609,4023,3481, # 2048 -3596,1342,1681,1718, 766,3297, 286, 89,2961,3715,5236,1713,5237,2607,3371,3008, # 2064 -5238,2962,2219,3225,2880,5239,4610,2505,2533, 181, 387,1075,4024, 731,2190,3372, # 2080 -5240,3298, 310, 313,3482,2304, 770,4278, 54,3054, 189,4611,3105,3848,4025,5241, # 2096 -1230,1617,1850, 355,3597,4279,4612,3373, 111,4280,3716,1350,3160,3483,3055,4281, # 2112 -2150,3299,3598,5242,2797,4026,4027,3009, 722,2009,5243,1071, 247,1207,2343,2478, # 2128 -1378,4613,2010, 864,1437,1214,4614, 373,3849,1142,2220, 667,4615, 442,2763,2563, # 2144 -3850,4028,1969,4282,3300,1840, 837, 170,1107, 934,1336,1883,5244,5245,2119,4283, # 2160 -2841, 743,1569,5246,4616,4284, 582,2389,1418,3484,5247,1803,5248, 357,1395,1729, # 2176 -3717,3301,2423,1564,2241,5249,3106,3851,1633,4617,1114,2086,4285,1532,5250, 482, # 2192 -2451,4618,5251,5252,1492, 833,1466,5253,2726,3599,1641,2842,5254,1526,1272,3718, # 2208 -4286,1686,1795, 416,2564,1903,1954,1804,5255,3852,2798,3853,1159,2321,5256,2881, # 2224 -4619,1610,1584,3056,2424,2764, 443,3302,1163,3161,5257,5258,4029,5259,4287,2506, # 2240 -3057,4620,4030,3162,2104,1647,3600,2011,1873,4288,5260,4289, 431,3485,5261, 250, # 2256 - 97, 81,4290,5262,1648,1851,1558, 160, 848,5263, 866, 740,1694,5264,2204,2843, # 2272 -3226,4291,4621,3719,1687, 950,2479, 426, 469,3227,3720,3721,4031,5265,5266,1188, # 2288 - 424,1996, 861,3601,4292,3854,2205,2694, 168,1235,3602,4293,5267,2087,1674,4622, # 2304 -3374,3303, 220,2565,1009,5268,3855, 670,3010, 332,1208, 717,5269,5270,3603,2452, # 2320 -4032,3375,5271, 513,5272,1209,2882,3376,3163,4623,1080,5273,5274,5275,5276,2534, # 2336 -3722,3604, 815,1587,4033,4034,5277,3605,3486,3856,1254,4624,1328,3058,1390,4035, # 2352 -1741,4036,3857,4037,5278, 236,3858,2453,3304,5279,5280,3723,3859,1273,3860,4625, # 2368 -5281, 308,5282,4626, 245,4627,1852,2480,1307,2583, 430, 715,2137,2454,5283, 270, # 2384 - 199,2883,4038,5284,3606,2727,1753, 761,1754, 725,1661,1841,4628,3487,3724,5285, # 2400 -5286, 587, 14,3305, 227,2608, 326, 480,2270, 943,2765,3607, 291, 650,1884,5287, # 2416 -1702,1226, 102,1547, 62,3488, 904,4629,3489,1164,4294,5288,5289,1224,1548,2766, # 2432 - 391, 498,1493,5290,1386,1419,5291,2056,1177,4630, 813, 880,1081,2368, 566,1145, # 2448 -4631,2291,1001,1035,2566,2609,2242, 394,1286,5292,5293,2069,5294, 86,1494,1730, # 2464 -4039, 491,1588, 745, 897,2963, 843,3377,4040,2767,2884,3306,1768, 998,2221,2070, # 2480 - 397,1827,1195,1970,3725,3011,3378, 284,5295,3861,2507,2138,2120,1904,5296,4041, # 2496 -2151,4042,4295,1036,3490,1905, 114,2567,4296, 209,1527,5297,5298,2964,2844,2635, # 2512 -2390,2728,3164, 812,2568,5299,3307,5300,1559, 737,1885,3726,1210, 885, 28,2695, # 2528 -3608,3862,5301,4297,1004,1780,4632,5302, 346,1982,2222,2696,4633,3863,1742, 797, # 2544 -1642,4043,1934,1072,1384,2152, 896,4044,3308,3727,3228,2885,3609,5303,2569,1959, # 2560 -4634,2455,1786,5304,5305,5306,4045,4298,1005,1308,3728,4299,2729,4635,4636,1528, # 2576 -2610, 161,1178,4300,1983, 987,4637,1101,4301, 631,4046,1157,3229,2425,1343,1241, # 2592 -1016,2243,2570, 372, 877,2344,2508,1160, 555,1935, 911,4047,5307, 466,1170, 169, # 2608 -1051,2921,2697,3729,2481,3012,1182,2012,2571,1251,2636,5308, 992,2345,3491,1540, # 2624 -2730,1201,2071,2406,1997,2482,5309,4638, 528,1923,2191,1503,1874,1570,2369,3379, # 2640 -3309,5310, 557,1073,5311,1828,3492,2088,2271,3165,3059,3107, 767,3108,2799,4639, # 2656 -1006,4302,4640,2346,1267,2179,3730,3230, 778,4048,3231,2731,1597,2667,5312,4641, # 2672 -5313,3493,5314,5315,5316,3310,2698,1433,3311, 131, 95,1504,4049, 723,4303,3166, # 2688 -1842,3610,2768,2192,4050,2028,2105,3731,5317,3013,4051,1218,5318,3380,3232,4052, # 2704 -4304,2584, 248,1634,3864, 912,5319,2845,3732,3060,3865, 654, 53,5320,3014,5321, # 2720 -1688,4642, 777,3494,1032,4053,1425,5322, 191, 820,2121,2846, 971,4643, 931,3233, # 2736 - 135, 664, 783,3866,1998, 772,2922,1936,4054,3867,4644,2923,3234, 282,2732, 640, # 2752 -1372,3495,1127, 922, 325,3381,5323,5324, 711,2045,5325,5326,4055,2223,2800,1937, # 2768 -4056,3382,2224,2255,3868,2305,5327,4645,3869,1258,3312,4057,3235,2139,2965,4058, # 2784 -4059,5328,2225, 258,3236,4646, 101,1227,5329,3313,1755,5330,1391,3314,5331,2924, # 2800 -2057, 893,5332,5333,5334,1402,4305,2347,5335,5336,3237,3611,5337,5338, 878,1325, # 2816 -1781,2801,4647, 259,1385,2585, 744,1183,2272,4648,5339,4060,2509,5340, 684,1024, # 2832 -4306,5341, 472,3612,3496,1165,3315,4061,4062, 322,2153, 881, 455,1695,1152,1340, # 2848 - 660, 554,2154,4649,1058,4650,4307, 830,1065,3383,4063,4651,1924,5342,1703,1919, # 2864 -5343, 932,2273, 122,5344,4652, 947, 677,5345,3870,2637, 297,1906,1925,2274,4653, # 2880 -2322,3316,5346,5347,4308,5348,4309, 84,4310, 112, 989,5349, 547,1059,4064, 701, # 2896 -3613,1019,5350,4311,5351,3497, 942, 639, 457,2306,2456, 993,2966, 407, 851, 494, # 2912 -4654,3384, 927,5352,1237,5353,2426,3385, 573,4312, 680, 921,2925,1279,1875, 285, # 2928 - 790,1448,1984, 719,2168,5354,5355,4655,4065,4066,1649,5356,1541, 563,5357,1077, # 2944 -5358,3386,3061,3498, 511,3015,4067,4068,3733,4069,1268,2572,3387,3238,4656,4657, # 2960 -5359, 535,1048,1276,1189,2926,2029,3167,1438,1373,2847,2967,1134,2013,5360,4313, # 2976 -1238,2586,3109,1259,5361, 700,5362,2968,3168,3734,4314,5363,4315,1146,1876,1907, # 2992 -4658,2611,4070, 781,2427, 132,1589, 203, 147, 273,2802,2407, 898,1787,2155,4071, # 3008 -4072,5364,3871,2803,5365,5366,4659,4660,5367,3239,5368,1635,3872, 965,5369,1805, # 3024 -2699,1516,3614,1121,1082,1329,3317,4073,1449,3873, 65,1128,2848,2927,2769,1590, # 3040 -3874,5370,5371, 12,2668, 45, 976,2587,3169,4661, 517,2535,1013,1037,3240,5372, # 3056 -3875,2849,5373,3876,5374,3499,5375,2612, 614,1999,2323,3877,3110,2733,2638,5376, # 3072 -2588,4316, 599,1269,5377,1811,3735,5378,2700,3111, 759,1060, 489,1806,3388,3318, # 3088 -1358,5379,5380,2391,1387,1215,2639,2256, 490,5381,5382,4317,1759,2392,2348,5383, # 3104 -4662,3878,1908,4074,2640,1807,3241,4663,3500,3319,2770,2349, 874,5384,5385,3501, # 3120 -3736,1859, 91,2928,3737,3062,3879,4664,5386,3170,4075,2669,5387,3502,1202,1403, # 3136 -3880,2969,2536,1517,2510,4665,3503,2511,5388,4666,5389,2701,1886,1495,1731,4076, # 3152 -2370,4667,5390,2030,5391,5392,4077,2702,1216, 237,2589,4318,2324,4078,3881,4668, # 3168 -4669,2703,3615,3504, 445,4670,5393,5394,5395,5396,2771, 61,4079,3738,1823,4080, # 3184 -5397, 687,2046, 935, 925, 405,2670, 703,1096,1860,2734,4671,4081,1877,1367,2704, # 3200 -3389, 918,2106,1782,2483, 334,3320,1611,1093,4672, 564,3171,3505,3739,3390, 945, # 3216 -2641,2058,4673,5398,1926, 872,4319,5399,3506,2705,3112, 349,4320,3740,4082,4674, # 3232 -3882,4321,3741,2156,4083,4675,4676,4322,4677,2408,2047, 782,4084, 400, 251,4323, # 3248 -1624,5400,5401, 277,3742, 299,1265, 476,1191,3883,2122,4324,4325,1109, 205,5402, # 3264 -2590,1000,2157,3616,1861,5403,5404,5405,4678,5406,4679,2573, 107,2484,2158,4085, # 3280 -3507,3172,5407,1533, 541,1301, 158, 753,4326,2886,3617,5408,1696, 370,1088,4327, # 3296 -4680,3618, 579, 327, 440, 162,2244, 269,1938,1374,3508, 968,3063, 56,1396,3113, # 3312 -2107,3321,3391,5409,1927,2159,4681,3016,5410,3619,5411,5412,3743,4682,2485,5413, # 3328 -2804,5414,1650,4683,5415,2613,5416,5417,4086,2671,3392,1149,3393,4087,3884,4088, # 3344 -5418,1076, 49,5419, 951,3242,3322,3323, 450,2850, 920,5420,1812,2805,2371,4328, # 3360 -1909,1138,2372,3885,3509,5421,3243,4684,1910,1147,1518,2428,4685,3886,5422,4686, # 3376 -2393,2614, 260,1796,3244,5423,5424,3887,3324, 708,5425,3620,1704,5426,3621,1351, # 3392 -1618,3394,3017,1887, 944,4329,3395,4330,3064,3396,4331,5427,3744, 422, 413,1714, # 3408 -3325, 500,2059,2350,4332,2486,5428,1344,1911, 954,5429,1668,5430,5431,4089,2409, # 3424 -4333,3622,3888,4334,5432,2307,1318,2512,3114, 133,3115,2887,4687, 629, 31,2851, # 3440 -2706,3889,4688, 850, 949,4689,4090,2970,1732,2089,4335,1496,1853,5433,4091, 620, # 3456 -3245, 981,1242,3745,3397,1619,3746,1643,3326,2140,2457,1971,1719,3510,2169,5434, # 3472 -3246,5435,5436,3398,1829,5437,1277,4690,1565,2048,5438,1636,3623,3116,5439, 869, # 3488 -2852, 655,3890,3891,3117,4092,3018,3892,1310,3624,4691,5440,5441,5442,1733, 558, # 3504 -4692,3747, 335,1549,3065,1756,4336,3748,1946,3511,1830,1291,1192, 470,2735,2108, # 3520 -2806, 913,1054,4093,5443,1027,5444,3066,4094,4693, 982,2672,3399,3173,3512,3247, # 3536 -3248,1947,2807,5445, 571,4694,5446,1831,5447,3625,2591,1523,2429,5448,2090, 984, # 3552 -4695,3749,1960,5449,3750, 852, 923,2808,3513,3751, 969,1519, 999,2049,2325,1705, # 3568 -5450,3118, 615,1662, 151, 597,4095,2410,2326,1049, 275,4696,3752,4337, 568,3753, # 3584 -3626,2487,4338,3754,5451,2430,2275, 409,3249,5452,1566,2888,3514,1002, 769,2853, # 3600 - 194,2091,3174,3755,2226,3327,4339, 628,1505,5453,5454,1763,2180,3019,4096, 521, # 3616 -1161,2592,1788,2206,2411,4697,4097,1625,4340,4341, 412, 42,3119, 464,5455,2642, # 3632 -4698,3400,1760,1571,2889,3515,2537,1219,2207,3893,2643,2141,2373,4699,4700,3328, # 3648 -1651,3401,3627,5456,5457,3628,2488,3516,5458,3756,5459,5460,2276,2092, 460,5461, # 3664 -4701,5462,3020, 962, 588,3629, 289,3250,2644,1116, 52,5463,3067,1797,5464,5465, # 3680 -5466,1467,5467,1598,1143,3757,4342,1985,1734,1067,4702,1280,3402, 465,4703,1572, # 3696 - 510,5468,1928,2245,1813,1644,3630,5469,4704,3758,5470,5471,2673,1573,1534,5472, # 3712 -5473, 536,1808,1761,3517,3894,3175,2645,5474,5475,5476,4705,3518,2929,1912,2809, # 3728 -5477,3329,1122, 377,3251,5478, 360,5479,5480,4343,1529, 551,5481,2060,3759,1769, # 3744 -2431,5482,2930,4344,3330,3120,2327,2109,2031,4706,1404, 136,1468,1479, 672,1171, # 3760 -3252,2308, 271,3176,5483,2772,5484,2050, 678,2736, 865,1948,4707,5485,2014,4098, # 3776 -2971,5486,2737,2227,1397,3068,3760,4708,4709,1735,2931,3403,3631,5487,3895, 509, # 3792 -2854,2458,2890,3896,5488,5489,3177,3178,4710,4345,2538,4711,2309,1166,1010, 552, # 3808 - 681,1888,5490,5491,2972,2973,4099,1287,1596,1862,3179, 358, 453, 736, 175, 478, # 3824 -1117, 905,1167,1097,5492,1854,1530,5493,1706,5494,2181,3519,2292,3761,3520,3632, # 3840 -4346,2093,4347,5495,3404,1193,2489,4348,1458,2193,2208,1863,1889,1421,3331,2932, # 3856 -3069,2182,3521, 595,2123,5496,4100,5497,5498,4349,1707,2646, 223,3762,1359, 751, # 3872 -3121, 183,3522,5499,2810,3021, 419,2374, 633, 704,3897,2394, 241,5500,5501,5502, # 3888 - 838,3022,3763,2277,2773,2459,3898,1939,2051,4101,1309,3122,2246,1181,5503,1136, # 3904 -2209,3899,2375,1446,4350,2310,4712,5504,5505,4351,1055,2615, 484,3764,5506,4102, # 3920 - 625,4352,2278,3405,1499,4353,4103,5507,4104,4354,3253,2279,2280,3523,5508,5509, # 3936 -2774, 808,2616,3765,3406,4105,4355,3123,2539, 526,3407,3900,4356, 955,5510,1620, # 3952 -4357,2647,2432,5511,1429,3766,1669,1832, 994, 928,5512,3633,1260,5513,5514,5515, # 3968 -1949,2293, 741,2933,1626,4358,2738,2460, 867,1184, 362,3408,1392,5516,5517,4106, # 3984 -4359,1770,1736,3254,2934,4713,4714,1929,2707,1459,1158,5518,3070,3409,2891,1292, # 4000 -1930,2513,2855,3767,1986,1187,2072,2015,2617,4360,5519,2574,2514,2170,3768,2490, # 4016 -3332,5520,3769,4715,5521,5522, 666,1003,3023,1022,3634,4361,5523,4716,1814,2257, # 4032 - 574,3901,1603, 295,1535, 705,3902,4362, 283, 858, 417,5524,5525,3255,4717,4718, # 4048 -3071,1220,1890,1046,2281,2461,4107,1393,1599, 689,2575, 388,4363,5526,2491, 802, # 4064 -5527,2811,3903,2061,1405,2258,5528,4719,3904,2110,1052,1345,3256,1585,5529, 809, # 4080 -5530,5531,5532, 575,2739,3524, 956,1552,1469,1144,2328,5533,2329,1560,2462,3635, # 4096 -3257,4108, 616,2210,4364,3180,2183,2294,5534,1833,5535,3525,4720,5536,1319,3770, # 4112 -3771,1211,3636,1023,3258,1293,2812,5537,5538,5539,3905, 607,2311,3906, 762,2892, # 4128 -1439,4365,1360,4721,1485,3072,5540,4722,1038,4366,1450,2062,2648,4367,1379,4723, # 4144 -2593,5541,5542,4368,1352,1414,2330,2935,1172,5543,5544,3907,3908,4724,1798,1451, # 4160 -5545,5546,5547,5548,2936,4109,4110,2492,2351, 411,4111,4112,3637,3333,3124,4725, # 4176 -1561,2674,1452,4113,1375,5549,5550, 47,2974, 316,5551,1406,1591,2937,3181,5552, # 4192 -1025,2142,3125,3182, 354,2740, 884,2228,4369,2412, 508,3772, 726,3638, 996,2433, # 4208 -3639, 729,5553, 392,2194,1453,4114,4726,3773,5554,5555,2463,3640,2618,1675,2813, # 4224 - 919,2352,2975,2353,1270,4727,4115, 73,5556,5557, 647,5558,3259,2856,2259,1550, # 4240 -1346,3024,5559,1332, 883,3526,5560,5561,5562,5563,3334,2775,5564,1212, 831,1347, # 4256 -4370,4728,2331,3909,1864,3073, 720,3910,4729,4730,3911,5565,4371,5566,5567,4731, # 4272 -5568,5569,1799,4732,3774,2619,4733,3641,1645,2376,4734,5570,2938, 669,2211,2675, # 4288 -2434,5571,2893,5572,5573,1028,3260,5574,4372,2413,5575,2260,1353,5576,5577,4735, # 4304 -3183, 518,5578,4116,5579,4373,1961,5580,2143,4374,5581,5582,3025,2354,2355,3912, # 4320 - 516,1834,1454,4117,2708,4375,4736,2229,2620,1972,1129,3642,5583,2776,5584,2976, # 4336 -1422, 577,1470,3026,1524,3410,5585,5586, 432,4376,3074,3527,5587,2594,1455,2515, # 4352 -2230,1973,1175,5588,1020,2741,4118,3528,4737,5589,2742,5590,1743,1361,3075,3529, # 4368 -2649,4119,4377,4738,2295, 895, 924,4378,2171, 331,2247,3076, 166,1627,3077,1098, # 4384 -5591,1232,2894,2231,3411,4739, 657, 403,1196,2377, 542,3775,3412,1600,4379,3530, # 4400 -5592,4740,2777,3261, 576, 530,1362,4741,4742,2540,2676,3776,4120,5593, 842,3913, # 4416 -5594,2814,2032,1014,4121, 213,2709,3413, 665, 621,4380,5595,3777,2939,2435,5596, # 4432 -2436,3335,3643,3414,4743,4381,2541,4382,4744,3644,1682,4383,3531,1380,5597, 724, # 4448 -2282, 600,1670,5598,1337,1233,4745,3126,2248,5599,1621,4746,5600, 651,4384,5601, # 4464 -1612,4385,2621,5602,2857,5603,2743,2312,3078,5604, 716,2464,3079, 174,1255,2710, # 4480 -4122,3645, 548,1320,1398, 728,4123,1574,5605,1891,1197,3080,4124,5606,3081,3082, # 4496 -3778,3646,3779, 747,5607, 635,4386,4747,5608,5609,5610,4387,5611,5612,4748,5613, # 4512 -3415,4749,2437, 451,5614,3780,2542,2073,4388,2744,4389,4125,5615,1764,4750,5616, # 4528 -4390, 350,4751,2283,2395,2493,5617,4391,4126,2249,1434,4127, 488,4752, 458,4392, # 4544 -4128,3781, 771,1330,2396,3914,2576,3184,2160,2414,1553,2677,3185,4393,5618,2494, # 4560 -2895,2622,1720,2711,4394,3416,4753,5619,2543,4395,5620,3262,4396,2778,5621,2016, # 4576 -2745,5622,1155,1017,3782,3915,5623,3336,2313, 201,1865,4397,1430,5624,4129,5625, # 4592 -5626,5627,5628,5629,4398,1604,5630, 414,1866, 371,2595,4754,4755,3532,2017,3127, # 4608 -4756,1708, 960,4399, 887, 389,2172,1536,1663,1721,5631,2232,4130,2356,2940,1580, # 4624 -5632,5633,1744,4757,2544,4758,4759,5634,4760,5635,2074,5636,4761,3647,3417,2896, # 4640 -4400,5637,4401,2650,3418,2815, 673,2712,2465, 709,3533,4131,3648,4402,5638,1148, # 4656 - 502, 634,5639,5640,1204,4762,3649,1575,4763,2623,3783,5641,3784,3128, 948,3263, # 4672 - 121,1745,3916,1110,5642,4403,3083,2516,3027,4132,3785,1151,1771,3917,1488,4133, # 4688 -1987,5643,2438,3534,5644,5645,2094,5646,4404,3918,1213,1407,2816, 531,2746,2545, # 4704 -3264,1011,1537,4764,2779,4405,3129,1061,5647,3786,3787,1867,2897,5648,2018, 120, # 4720 -4406,4407,2063,3650,3265,2314,3919,2678,3419,1955,4765,4134,5649,3535,1047,2713, # 4736 -1266,5650,1368,4766,2858, 649,3420,3920,2546,2747,1102,2859,2679,5651,5652,2000, # 4752 -5653,1111,3651,2977,5654,2495,3921,3652,2817,1855,3421,3788,5655,5656,3422,2415, # 4768 -2898,3337,3266,3653,5657,2577,5658,3654,2818,4135,1460, 856,5659,3655,5660,2899, # 4784 -2978,5661,2900,3922,5662,4408, 632,2517, 875,3923,1697,3924,2296,5663,5664,4767, # 4800 -3028,1239, 580,4768,4409,5665, 914, 936,2075,1190,4136,1039,2124,5666,5667,5668, # 4816 -5669,3423,1473,5670,1354,4410,3925,4769,2173,3084,4137, 915,3338,4411,4412,3339, # 4832 -1605,1835,5671,2748, 398,3656,4413,3926,4138, 328,1913,2860,4139,3927,1331,4414, # 4848 -3029, 937,4415,5672,3657,4140,4141,3424,2161,4770,3425, 524, 742, 538,3085,1012, # 4864 -5673,5674,3928,2466,5675, 658,1103, 225,3929,5676,5677,4771,5678,4772,5679,3267, # 4880 -1243,5680,4142, 963,2250,4773,5681,2714,3658,3186,5682,5683,2596,2332,5684,4774, # 4896 -5685,5686,5687,3536, 957,3426,2547,2033,1931,2941,2467, 870,2019,3659,1746,2780, # 4912 -2781,2439,2468,5688,3930,5689,3789,3130,3790,3537,3427,3791,5690,1179,3086,5691, # 4928 -3187,2378,4416,3792,2548,3188,3131,2749,4143,5692,3428,1556,2549,2297, 977,2901, # 4944 -2034,4144,1205,3429,5693,1765,3430,3189,2125,1271, 714,1689,4775,3538,5694,2333, # 4960 -3931, 533,4417,3660,2184, 617,5695,2469,3340,3539,2315,5696,5697,3190,5698,5699, # 4976 -3932,1988, 618, 427,2651,3540,3431,5700,5701,1244,1690,5702,2819,4418,4776,5703, # 4992 -3541,4777,5704,2284,1576, 473,3661,4419,3432, 972,5705,3662,5706,3087,5707,5708, # 5008 -4778,4779,5709,3793,4145,4146,5710, 153,4780, 356,5711,1892,2902,4420,2144, 408, # 5024 - 803,2357,5712,3933,5713,4421,1646,2578,2518,4781,4782,3934,5714,3935,4422,5715, # 5040 -2416,3433, 752,5716,5717,1962,3341,2979,5718, 746,3030,2470,4783,4423,3794, 698, # 5056 -4784,1893,4424,3663,2550,4785,3664,3936,5719,3191,3434,5720,1824,1302,4147,2715, # 5072 -3937,1974,4425,5721,4426,3192, 823,1303,1288,1236,2861,3542,4148,3435, 774,3938, # 5088 -5722,1581,4786,1304,2862,3939,4787,5723,2440,2162,1083,3268,4427,4149,4428, 344, # 5104 -1173, 288,2316, 454,1683,5724,5725,1461,4788,4150,2597,5726,5727,4789, 985, 894, # 5120 -5728,3436,3193,5729,1914,2942,3795,1989,5730,2111,1975,5731,4151,5732,2579,1194, # 5136 - 425,5733,4790,3194,1245,3796,4429,5734,5735,2863,5736, 636,4791,1856,3940, 760, # 5152 -1800,5737,4430,2212,1508,4792,4152,1894,1684,2298,5738,5739,4793,4431,4432,2213, # 5168 - 479,5740,5741, 832,5742,4153,2496,5743,2980,2497,3797, 990,3132, 627,1815,2652, # 5184 -4433,1582,4434,2126,2112,3543,4794,5744, 799,4435,3195,5745,4795,2113,1737,3031, # 5200 -1018, 543, 754,4436,3342,1676,4796,4797,4154,4798,1489,5746,3544,5747,2624,2903, # 5216 -4155,5748,5749,2981,5750,5751,5752,5753,3196,4799,4800,2185,1722,5754,3269,3270, # 5232 -1843,3665,1715, 481, 365,1976,1857,5755,5756,1963,2498,4801,5757,2127,3666,3271, # 5248 - 433,1895,2064,2076,5758, 602,2750,5759,5760,5761,5762,5763,3032,1628,3437,5764, # 5264 -3197,4802,4156,2904,4803,2519,5765,2551,2782,5766,5767,5768,3343,4804,2905,5769, # 5280 -4805,5770,2864,4806,4807,1221,2982,4157,2520,5771,5772,5773,1868,1990,5774,5775, # 5296 -5776,1896,5777,5778,4808,1897,4158, 318,5779,2095,4159,4437,5780,5781, 485,5782, # 5312 - 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, # 5328 -3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, # 5344 - 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, # 5360 -2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, # 5376 -) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/big5prober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/big5prober.py deleted file mode 100644 index 98f9970..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/big5prober.py +++ /dev/null @@ -1,47 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import Big5DistributionAnalysis -from .mbcssm import BIG5_SM_MODEL - - -class Big5Prober(MultiByteCharSetProber): - def __init__(self): - super(Big5Prober, self).__init__() - self.coding_sm = CodingStateMachine(BIG5_SM_MODEL) - self.distribution_analyzer = Big5DistributionAnalysis() - self.reset() - - @property - def charset_name(self): - return "Big5" - - @property - def language(self): - return "Chinese" diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/chardistribution.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/chardistribution.py deleted file mode 100644 index c0395f4..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/chardistribution.py +++ /dev/null @@ -1,233 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .euctwfreq import (EUCTW_CHAR_TO_FREQ_ORDER, EUCTW_TABLE_SIZE, - EUCTW_TYPICAL_DISTRIBUTION_RATIO) -from .euckrfreq import (EUCKR_CHAR_TO_FREQ_ORDER, EUCKR_TABLE_SIZE, - EUCKR_TYPICAL_DISTRIBUTION_RATIO) -from .gb2312freq import (GB2312_CHAR_TO_FREQ_ORDER, GB2312_TABLE_SIZE, - GB2312_TYPICAL_DISTRIBUTION_RATIO) -from .big5freq import (BIG5_CHAR_TO_FREQ_ORDER, BIG5_TABLE_SIZE, - BIG5_TYPICAL_DISTRIBUTION_RATIO) -from .jisfreq import (JIS_CHAR_TO_FREQ_ORDER, JIS_TABLE_SIZE, - JIS_TYPICAL_DISTRIBUTION_RATIO) - - -class CharDistributionAnalysis(object): - ENOUGH_DATA_THRESHOLD = 1024 - SURE_YES = 0.99 - SURE_NO = 0.01 - MINIMUM_DATA_THRESHOLD = 3 - - def __init__(self): - # Mapping table to get frequency order from char order (get from - # GetOrder()) - self._char_to_freq_order = None - self._table_size = None # Size of above table - # This is a constant value which varies from language to language, - # used in calculating confidence. See - # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html - # for further detail. - self.typical_distribution_ratio = None - self._done = None - self._total_chars = None - self._freq_chars = None - self.reset() - - def reset(self): - """reset analyser, clear any state""" - # If this flag is set to True, detection is done and conclusion has - # been made - self._done = False - self._total_chars = 0 # Total characters encountered - # The number of characters whose frequency order is less than 512 - self._freq_chars = 0 - - def feed(self, char, char_len): - """feed a character with known length""" - if char_len == 2: - # we only care about 2-bytes character in our distribution analysis - order = self.get_order(char) - else: - order = -1 - if order >= 0: - self._total_chars += 1 - # order is valid - if order < self._table_size: - if 512 > self._char_to_freq_order[order]: - self._freq_chars += 1 - - def get_confidence(self): - """return confidence based on existing data""" - # if we didn't receive any character in our consideration range, - # return negative answer - if self._total_chars <= 0 or self._freq_chars <= self.MINIMUM_DATA_THRESHOLD: - return self.SURE_NO - - if self._total_chars != self._freq_chars: - r = (self._freq_chars / ((self._total_chars - self._freq_chars) - * self.typical_distribution_ratio)) - if r < self.SURE_YES: - return r - - # normalize confidence (we don't want to be 100% sure) - return self.SURE_YES - - def got_enough_data(self): - # It is not necessary to receive all data to draw conclusion. - # For charset detection, certain amount of data is enough - return self._total_chars > self.ENOUGH_DATA_THRESHOLD - - def get_order(self, byte_str): - # We do not handle characters based on the original encoding string, - # but convert this encoding string to a number, here called order. - # This allows multiple encodings of a language to share one frequency - # table. - return -1 - - -class EUCTWDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - super(EUCTWDistributionAnalysis, self).__init__() - self._char_to_freq_order = EUCTW_CHAR_TO_FREQ_ORDER - self._table_size = EUCTW_TABLE_SIZE - self.typical_distribution_ratio = EUCTW_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, byte_str): - # for euc-TW encoding, we are interested - # first byte range: 0xc4 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char = byte_str[0] - if first_char >= 0xC4: - return 94 * (first_char - 0xC4) + byte_str[1] - 0xA1 - else: - return -1 - - -class EUCKRDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - super(EUCKRDistributionAnalysis, self).__init__() - self._char_to_freq_order = EUCKR_CHAR_TO_FREQ_ORDER - self._table_size = EUCKR_TABLE_SIZE - self.typical_distribution_ratio = EUCKR_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, byte_str): - # for euc-KR encoding, we are interested - # first byte range: 0xb0 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char = byte_str[0] - if first_char >= 0xB0: - return 94 * (first_char - 0xB0) + byte_str[1] - 0xA1 - else: - return -1 - - -class GB2312DistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - super(GB2312DistributionAnalysis, self).__init__() - self._char_to_freq_order = GB2312_CHAR_TO_FREQ_ORDER - self._table_size = GB2312_TABLE_SIZE - self.typical_distribution_ratio = GB2312_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, byte_str): - # for GB2312 encoding, we are interested - # first byte range: 0xb0 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char, second_char = byte_str[0], byte_str[1] - if (first_char >= 0xB0) and (second_char >= 0xA1): - return 94 * (first_char - 0xB0) + second_char - 0xA1 - else: - return -1 - - -class Big5DistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - super(Big5DistributionAnalysis, self).__init__() - self._char_to_freq_order = BIG5_CHAR_TO_FREQ_ORDER - self._table_size = BIG5_TABLE_SIZE - self.typical_distribution_ratio = BIG5_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, byte_str): - # for big5 encoding, we are interested - # first byte range: 0xa4 -- 0xfe - # second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char, second_char = byte_str[0], byte_str[1] - if first_char >= 0xA4: - if second_char >= 0xA1: - return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63 - else: - return 157 * (first_char - 0xA4) + second_char - 0x40 - else: - return -1 - - -class SJISDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - super(SJISDistributionAnalysis, self).__init__() - self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER - self._table_size = JIS_TABLE_SIZE - self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, byte_str): - # for sjis encoding, we are interested - # first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe - # second byte range: 0x40 -- 0x7e, 0x81 -- oxfe - # no validation needed here. State machine has done that - first_char, second_char = byte_str[0], byte_str[1] - if (first_char >= 0x81) and (first_char <= 0x9F): - order = 188 * (first_char - 0x81) - elif (first_char >= 0xE0) and (first_char <= 0xEF): - order = 188 * (first_char - 0xE0 + 31) - else: - return -1 - order = order + second_char - 0x40 - if second_char > 0x7F: - order = -1 - return order - - -class EUCJPDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - super(EUCJPDistributionAnalysis, self).__init__() - self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER - self._table_size = JIS_TABLE_SIZE - self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, byte_str): - # for euc-JP encoding, we are interested - # first byte range: 0xa0 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - char = byte_str[0] - if char >= 0xA0: - return 94 * (char - 0xA1) + byte_str[1] - 0xa1 - else: - return -1 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/charsetgroupprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/charsetgroupprober.py deleted file mode 100644 index 8b3738e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/charsetgroupprober.py +++ /dev/null @@ -1,106 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .enums import ProbingState -from .charsetprober import CharSetProber - - -class CharSetGroupProber(CharSetProber): - def __init__(self, lang_filter=None): - super(CharSetGroupProber, self).__init__(lang_filter=lang_filter) - self._active_num = 0 - self.probers = [] - self._best_guess_prober = None - - def reset(self): - super(CharSetGroupProber, self).reset() - self._active_num = 0 - for prober in self.probers: - if prober: - prober.reset() - prober.active = True - self._active_num += 1 - self._best_guess_prober = None - - @property - def charset_name(self): - if not self._best_guess_prober: - self.get_confidence() - if not self._best_guess_prober: - return None - return self._best_guess_prober.charset_name - - @property - def language(self): - if not self._best_guess_prober: - self.get_confidence() - if not self._best_guess_prober: - return None - return self._best_guess_prober.language - - def feed(self, byte_str): - for prober in self.probers: - if not prober: - continue - if not prober.active: - continue - state = prober.feed(byte_str) - if not state: - continue - if state == ProbingState.FOUND_IT: - self._best_guess_prober = prober - return self.state - elif state == ProbingState.NOT_ME: - prober.active = False - self._active_num -= 1 - if self._active_num <= 0: - self._state = ProbingState.NOT_ME - return self.state - return self.state - - def get_confidence(self): - state = self.state - if state == ProbingState.FOUND_IT: - return 0.99 - elif state == ProbingState.NOT_ME: - return 0.01 - best_conf = 0.0 - self._best_guess_prober = None - for prober in self.probers: - if not prober: - continue - if not prober.active: - self.logger.debug('%s not active', prober.charset_name) - continue - conf = prober.get_confidence() - self.logger.debug('%s %s confidence = %s', prober.charset_name, prober.language, conf) - if best_conf < conf: - best_conf = conf - self._best_guess_prober = prober - if not self._best_guess_prober: - return 0.0 - return best_conf diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/charsetprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/charsetprober.py deleted file mode 100644 index eac4e59..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/charsetprober.py +++ /dev/null @@ -1,145 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import logging -import re - -from .enums import ProbingState - - -class CharSetProber(object): - - SHORTCUT_THRESHOLD = 0.95 - - def __init__(self, lang_filter=None): - self._state = None - self.lang_filter = lang_filter - self.logger = logging.getLogger(__name__) - - def reset(self): - self._state = ProbingState.DETECTING - - @property - def charset_name(self): - return None - - def feed(self, buf): - pass - - @property - def state(self): - return self._state - - def get_confidence(self): - return 0.0 - - @staticmethod - def filter_high_byte_only(buf): - buf = re.sub(b'([\x00-\x7F])+', b' ', buf) - return buf - - @staticmethod - def filter_international_words(buf): - """ - We define three types of bytes: - alphabet: english alphabets [a-zA-Z] - international: international characters [\x80-\xFF] - marker: everything else [^a-zA-Z\x80-\xFF] - - The input buffer can be thought to contain a series of words delimited - by markers. This function works to filter all words that contain at - least one international character. All contiguous sequences of markers - are replaced by a single space ascii character. - - This filter applies to all scripts which do not use English characters. - """ - filtered = bytearray() - - # This regex expression filters out only words that have at-least one - # international character. The word may include one marker character at - # the end. - words = re.findall(b'[a-zA-Z]*[\x80-\xFF]+[a-zA-Z]*[^a-zA-Z\x80-\xFF]?', - buf) - - for word in words: - filtered.extend(word[:-1]) - - # If the last character in the word is a marker, replace it with a - # space as markers shouldn't affect our analysis (they are used - # similarly across all languages and may thus have similar - # frequencies). - last_char = word[-1:] - if not last_char.isalpha() and last_char < b'\x80': - last_char = b' ' - filtered.extend(last_char) - - return filtered - - @staticmethod - def filter_with_english_letters(buf): - """ - Returns a copy of ``buf`` that retains only the sequences of English - alphabet and high byte characters that are not between <> characters. - Also retains English alphabet and high byte characters immediately - before occurrences of >. - - This filter can be applied to all scripts which contain both English - characters and extended ASCII characters, but is currently only used by - ``Latin1Prober``. - """ - filtered = bytearray() - in_tag = False - prev = 0 - - for curr in range(len(buf)): - # Slice here to get bytes instead of an int with Python 3 - buf_char = buf[curr:curr + 1] - # Check if we're coming out of or entering an HTML tag - if buf_char == b'>': - in_tag = False - elif buf_char == b'<': - in_tag = True - - # If current character is not extended-ASCII and not alphabetic... - if buf_char < b'\x80' and not buf_char.isalpha(): - # ...and we're not in a tag - if curr > prev and not in_tag: - # Keep everything after last non-extended-ASCII, - # non-alphabetic character - filtered.extend(buf[prev:curr]) - # Output a space to delimit stretch we kept - filtered.extend(b' ') - prev = curr + 1 - - # If we're not in a tag... - if not in_tag: - # Keep everything after last non-extended-ASCII, non-alphabetic - # character - filtered.extend(buf[prev:]) - - return filtered diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/cli/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/cli/__init__.py deleted file mode 100644 index 8b13789..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/cli/__init__.py +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/cli/chardetect.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/cli/chardetect.py deleted file mode 100644 index f0a4cc5..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/cli/chardetect.py +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python -""" -Script which takes one or more file paths and reports on their detected -encodings - -Example:: - - % chardetect somefile someotherfile - somefile: windows-1252 with confidence 0.5 - someotherfile: ascii with confidence 1.0 - -If no paths are provided, it takes its input from stdin. - -""" - -from __future__ import absolute_import, print_function, unicode_literals - -import argparse -import sys - -from chardet import __version__ -from chardet.compat import PY2 -from chardet.universaldetector import UniversalDetector - - -def description_of(lines, name='stdin'): - """ - Return a string describing the probable encoding of a file or - list of strings. - - :param lines: The lines to get the encoding of. - :type lines: Iterable of bytes - :param name: Name of file or collection of lines - :type name: str - """ - u = UniversalDetector() - for line in lines: - line = bytearray(line) - u.feed(line) - # shortcut out of the loop to save reading further - particularly useful if we read a BOM. - if u.done: - break - u.close() - result = u.result - if PY2: - name = name.decode(sys.getfilesystemencoding(), 'ignore') - if result['encoding']: - return '{0}: {1} with confidence {2}'.format(name, result['encoding'], - result['confidence']) - else: - return '{0}: no result'.format(name) - - -def main(argv=None): - """ - Handles command line arguments and gets things started. - - :param argv: List of arguments, as if specified on the command-line. - If None, ``sys.argv[1:]`` is used instead. - :type argv: list of str - """ - # Get command line arguments - parser = argparse.ArgumentParser( - description="Takes one or more file paths and reports their detected \ - encodings") - parser.add_argument('input', - help='File whose encoding we would like to determine. \ - (default: stdin)', - type=argparse.FileType('rb'), nargs='*', - default=[sys.stdin if PY2 else sys.stdin.buffer]) - parser.add_argument('--version', action='version', - version='%(prog)s {0}'.format(__version__)) - args = parser.parse_args(argv) - - for f in args.input: - if f.isatty(): - print("You are running chardetect interactively. Press " + - "CTRL-D twice at the start of a blank line to signal the " + - "end of your input. If you want help, run chardetect " + - "--help\n", file=sys.stderr) - print(description_of(f, f.name)) - - -if __name__ == '__main__': - main() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/codingstatemachine.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/codingstatemachine.py deleted file mode 100644 index 68fba44..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/codingstatemachine.py +++ /dev/null @@ -1,88 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import logging - -from .enums import MachineState - - -class CodingStateMachine(object): - """ - A state machine to verify a byte sequence for a particular encoding. For - each byte the detector receives, it will feed that byte to every active - state machine available, one byte at a time. The state machine changes its - state based on its previous state and the byte it receives. There are 3 - states in a state machine that are of interest to an auto-detector: - - START state: This is the state to start with, or a legal byte sequence - (i.e. a valid code point) for character has been identified. - - ME state: This indicates that the state machine identified a byte sequence - that is specific to the charset it is designed for and that - there is no other possible encoding which can contain this byte - sequence. This will to lead to an immediate positive answer for - the detector. - - ERROR state: This indicates the state machine identified an illegal byte - sequence for that encoding. This will lead to an immediate - negative answer for this encoding. Detector will exclude this - encoding from consideration from here on. - """ - def __init__(self, sm): - self._model = sm - self._curr_byte_pos = 0 - self._curr_char_len = 0 - self._curr_state = None - self.logger = logging.getLogger(__name__) - self.reset() - - def reset(self): - self._curr_state = MachineState.START - - def next_state(self, c): - # for each byte we get its class - # if it is first byte, we also get byte length - byte_class = self._model['class_table'][c] - if self._curr_state == MachineState.START: - self._curr_byte_pos = 0 - self._curr_char_len = self._model['char_len_table'][byte_class] - # from byte's class and state_table, we get its next state - curr_state = (self._curr_state * self._model['class_factor'] - + byte_class) - self._curr_state = self._model['state_table'][curr_state] - self._curr_byte_pos += 1 - return self._curr_state - - def get_current_charlen(self): - return self._curr_char_len - - def get_coding_state_machine(self): - return self._model['name'] - - @property - def language(self): - return self._model['language'] diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/compat.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/compat.py deleted file mode 100644 index ddd7468..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/compat.py +++ /dev/null @@ -1,34 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# Contributor(s): -# Dan Blanchard -# Ian Cordasco -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import sys - - -if sys.version_info < (3, 0): - PY2 = True - PY3 = False - base_str = (str, unicode) - text_type = unicode -else: - PY2 = False - PY3 = True - base_str = (bytes, str) - text_type = str diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/cp949prober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/cp949prober.py deleted file mode 100644 index efd793a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/cp949prober.py +++ /dev/null @@ -1,49 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .chardistribution import EUCKRDistributionAnalysis -from .codingstatemachine import CodingStateMachine -from .mbcharsetprober import MultiByteCharSetProber -from .mbcssm import CP949_SM_MODEL - - -class CP949Prober(MultiByteCharSetProber): - def __init__(self): - super(CP949Prober, self).__init__() - self.coding_sm = CodingStateMachine(CP949_SM_MODEL) - # NOTE: CP949 is a superset of EUC-KR, so the distribution should be - # not different. - self.distribution_analyzer = EUCKRDistributionAnalysis() - self.reset() - - @property - def charset_name(self): - return "CP949" - - @property - def language(self): - return "Korean" diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/enums.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/enums.py deleted file mode 100644 index 0451207..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/enums.py +++ /dev/null @@ -1,76 +0,0 @@ -""" -All of the Enums that are used throughout the chardet package. - -:author: Dan Blanchard (dan.blanchard@gmail.com) -""" - - -class InputState(object): - """ - This enum represents the different states a universal detector can be in. - """ - PURE_ASCII = 0 - ESC_ASCII = 1 - HIGH_BYTE = 2 - - -class LanguageFilter(object): - """ - This enum represents the different language filters we can apply to a - ``UniversalDetector``. - """ - CHINESE_SIMPLIFIED = 0x01 - CHINESE_TRADITIONAL = 0x02 - JAPANESE = 0x04 - KOREAN = 0x08 - NON_CJK = 0x10 - ALL = 0x1F - CHINESE = CHINESE_SIMPLIFIED | CHINESE_TRADITIONAL - CJK = CHINESE | JAPANESE | KOREAN - - -class ProbingState(object): - """ - This enum represents the different states a prober can be in. - """ - DETECTING = 0 - FOUND_IT = 1 - NOT_ME = 2 - - -class MachineState(object): - """ - This enum represents the different states a state machine can be in. - """ - START = 0 - ERROR = 1 - ITS_ME = 2 - - -class SequenceLikelihood(object): - """ - This enum represents the likelihood of a character following the previous one. - """ - NEGATIVE = 0 - UNLIKELY = 1 - LIKELY = 2 - POSITIVE = 3 - - @classmethod - def get_num_categories(cls): - """:returns: The number of likelihood categories in the enum.""" - return 4 - - -class CharacterCategory(object): - """ - This enum represents the different categories language models for - ``SingleByteCharsetProber`` put characters into. - - Anything less than CONTROL is considered a letter. - """ - UNDEFINED = 255 - LINE_BREAK = 254 - SYMBOL = 253 - DIGIT = 252 - CONTROL = 251 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/escprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/escprober.py deleted file mode 100644 index c70493f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/escprober.py +++ /dev/null @@ -1,101 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetprober import CharSetProber -from .codingstatemachine import CodingStateMachine -from .enums import LanguageFilter, ProbingState, MachineState -from .escsm import (HZ_SM_MODEL, ISO2022CN_SM_MODEL, ISO2022JP_SM_MODEL, - ISO2022KR_SM_MODEL) - - -class EscCharSetProber(CharSetProber): - """ - This CharSetProber uses a "code scheme" approach for detecting encodings, - whereby easily recognizable escape or shift sequences are relied on to - identify these encodings. - """ - - def __init__(self, lang_filter=None): - super(EscCharSetProber, self).__init__(lang_filter=lang_filter) - self.coding_sm = [] - if self.lang_filter & LanguageFilter.CHINESE_SIMPLIFIED: - self.coding_sm.append(CodingStateMachine(HZ_SM_MODEL)) - self.coding_sm.append(CodingStateMachine(ISO2022CN_SM_MODEL)) - if self.lang_filter & LanguageFilter.JAPANESE: - self.coding_sm.append(CodingStateMachine(ISO2022JP_SM_MODEL)) - if self.lang_filter & LanguageFilter.KOREAN: - self.coding_sm.append(CodingStateMachine(ISO2022KR_SM_MODEL)) - self.active_sm_count = None - self._detected_charset = None - self._detected_language = None - self._state = None - self.reset() - - def reset(self): - super(EscCharSetProber, self).reset() - for coding_sm in self.coding_sm: - if not coding_sm: - continue - coding_sm.active = True - coding_sm.reset() - self.active_sm_count = len(self.coding_sm) - self._detected_charset = None - self._detected_language = None - - @property - def charset_name(self): - return self._detected_charset - - @property - def language(self): - return self._detected_language - - def get_confidence(self): - if self._detected_charset: - return 0.99 - else: - return 0.00 - - def feed(self, byte_str): - for c in byte_str: - for coding_sm in self.coding_sm: - if not coding_sm or not coding_sm.active: - continue - coding_state = coding_sm.next_state(c) - if coding_state == MachineState.ERROR: - coding_sm.active = False - self.active_sm_count -= 1 - if self.active_sm_count <= 0: - self._state = ProbingState.NOT_ME - return self.state - elif coding_state == MachineState.ITS_ME: - self._state = ProbingState.FOUND_IT - self._detected_charset = coding_sm.get_coding_state_machine() - self._detected_language = coding_sm.language - return self.state - - return self.state diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/escsm.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/escsm.py deleted file mode 100644 index 0069523..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/escsm.py +++ /dev/null @@ -1,246 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .enums import MachineState - -HZ_CLS = ( -1,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,0,0, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,0,0,0,0, # 20 - 27 -0,0,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -0,0,0,0,0,0,0,0, # 40 - 47 -0,0,0,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,4,0,5,2,0, # 78 - 7f -1,1,1,1,1,1,1,1, # 80 - 87 -1,1,1,1,1,1,1,1, # 88 - 8f -1,1,1,1,1,1,1,1, # 90 - 97 -1,1,1,1,1,1,1,1, # 98 - 9f -1,1,1,1,1,1,1,1, # a0 - a7 -1,1,1,1,1,1,1,1, # a8 - af -1,1,1,1,1,1,1,1, # b0 - b7 -1,1,1,1,1,1,1,1, # b8 - bf -1,1,1,1,1,1,1,1, # c0 - c7 -1,1,1,1,1,1,1,1, # c8 - cf -1,1,1,1,1,1,1,1, # d0 - d7 -1,1,1,1,1,1,1,1, # d8 - df -1,1,1,1,1,1,1,1, # e0 - e7 -1,1,1,1,1,1,1,1, # e8 - ef -1,1,1,1,1,1,1,1, # f0 - f7 -1,1,1,1,1,1,1,1, # f8 - ff -) - -HZ_ST = ( -MachineState.START,MachineState.ERROR, 3,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f -MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START, 4,MachineState.ERROR,# 10-17 - 5,MachineState.ERROR, 6,MachineState.ERROR, 5, 5, 4,MachineState.ERROR,# 18-1f - 4,MachineState.ERROR, 4, 4, 4,MachineState.ERROR, 4,MachineState.ERROR,# 20-27 - 4,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 28-2f -) - -HZ_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) - -HZ_SM_MODEL = {'class_table': HZ_CLS, - 'class_factor': 6, - 'state_table': HZ_ST, - 'char_len_table': HZ_CHAR_LEN_TABLE, - 'name': "HZ-GB-2312", - 'language': 'Chinese'} - -ISO2022CN_CLS = ( -2,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,0,0, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,0,0,0,0, # 20 - 27 -0,3,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -0,0,0,4,0,0,0,0, # 40 - 47 -0,0,0,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,0,0,0,0,0, # 78 - 7f -2,2,2,2,2,2,2,2, # 80 - 87 -2,2,2,2,2,2,2,2, # 88 - 8f -2,2,2,2,2,2,2,2, # 90 - 97 -2,2,2,2,2,2,2,2, # 98 - 9f -2,2,2,2,2,2,2,2, # a0 - a7 -2,2,2,2,2,2,2,2, # a8 - af -2,2,2,2,2,2,2,2, # b0 - b7 -2,2,2,2,2,2,2,2, # b8 - bf -2,2,2,2,2,2,2,2, # c0 - c7 -2,2,2,2,2,2,2,2, # c8 - cf -2,2,2,2,2,2,2,2, # d0 - d7 -2,2,2,2,2,2,2,2, # d8 - df -2,2,2,2,2,2,2,2, # e0 - e7 -2,2,2,2,2,2,2,2, # e8 - ef -2,2,2,2,2,2,2,2, # f0 - f7 -2,2,2,2,2,2,2,2, # f8 - ff -) - -ISO2022CN_ST = ( -MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 -MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f -MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 -MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,# 18-1f -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 20-27 - 5, 6,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 28-2f -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 30-37 -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,# 38-3f -) - -ISO2022CN_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0) - -ISO2022CN_SM_MODEL = {'class_table': ISO2022CN_CLS, - 'class_factor': 9, - 'state_table': ISO2022CN_ST, - 'char_len_table': ISO2022CN_CHAR_LEN_TABLE, - 'name': "ISO-2022-CN", - 'language': 'Chinese'} - -ISO2022JP_CLS = ( -2,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,2,2, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,7,0,0,0, # 20 - 27 -3,0,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -6,0,4,0,8,0,0,0, # 40 - 47 -0,9,5,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,0,0,0,0,0, # 78 - 7f -2,2,2,2,2,2,2,2, # 80 - 87 -2,2,2,2,2,2,2,2, # 88 - 8f -2,2,2,2,2,2,2,2, # 90 - 97 -2,2,2,2,2,2,2,2, # 98 - 9f -2,2,2,2,2,2,2,2, # a0 - a7 -2,2,2,2,2,2,2,2, # a8 - af -2,2,2,2,2,2,2,2, # b0 - b7 -2,2,2,2,2,2,2,2, # b8 - bf -2,2,2,2,2,2,2,2, # c0 - c7 -2,2,2,2,2,2,2,2, # c8 - cf -2,2,2,2,2,2,2,2, # d0 - d7 -2,2,2,2,2,2,2,2, # d8 - df -2,2,2,2,2,2,2,2, # e0 - e7 -2,2,2,2,2,2,2,2, # e8 - ef -2,2,2,2,2,2,2,2, # f0 - f7 -2,2,2,2,2,2,2,2, # f8 - ff -) - -ISO2022JP_ST = ( -MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 -MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 -MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,# 18-1f -MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 20-27 -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 6,MachineState.ITS_ME,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,# 28-2f -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,# 30-37 -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 38-3f -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.START,# 40-47 -) - -ISO2022JP_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) - -ISO2022JP_SM_MODEL = {'class_table': ISO2022JP_CLS, - 'class_factor': 10, - 'state_table': ISO2022JP_ST, - 'char_len_table': ISO2022JP_CHAR_LEN_TABLE, - 'name': "ISO-2022-JP", - 'language': 'Japanese'} - -ISO2022KR_CLS = ( -2,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,0,0, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,3,0,0,0, # 20 - 27 -0,4,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -0,0,0,5,0,0,0,0, # 40 - 47 -0,0,0,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,0,0,0,0,0, # 78 - 7f -2,2,2,2,2,2,2,2, # 80 - 87 -2,2,2,2,2,2,2,2, # 88 - 8f -2,2,2,2,2,2,2,2, # 90 - 97 -2,2,2,2,2,2,2,2, # 98 - 9f -2,2,2,2,2,2,2,2, # a0 - a7 -2,2,2,2,2,2,2,2, # a8 - af -2,2,2,2,2,2,2,2, # b0 - b7 -2,2,2,2,2,2,2,2, # b8 - bf -2,2,2,2,2,2,2,2, # c0 - c7 -2,2,2,2,2,2,2,2, # c8 - cf -2,2,2,2,2,2,2,2, # d0 - d7 -2,2,2,2,2,2,2,2, # d8 - df -2,2,2,2,2,2,2,2, # e0 - e7 -2,2,2,2,2,2,2,2, # e8 - ef -2,2,2,2,2,2,2,2, # f0 - f7 -2,2,2,2,2,2,2,2, # f8 - ff -) - -ISO2022KR_ST = ( -MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f -MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 10-17 -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 18-1f -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 20-27 -) - -ISO2022KR_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) - -ISO2022KR_SM_MODEL = {'class_table': ISO2022KR_CLS, - 'class_factor': 6, - 'state_table': ISO2022KR_ST, - 'char_len_table': ISO2022KR_CHAR_LEN_TABLE, - 'name': "ISO-2022-KR", - 'language': 'Korean'} - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/eucjpprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/eucjpprober.py deleted file mode 100644 index 20ce8f7..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/eucjpprober.py +++ /dev/null @@ -1,92 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .enums import ProbingState, MachineState -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCJPDistributionAnalysis -from .jpcntx import EUCJPContextAnalysis -from .mbcssm import EUCJP_SM_MODEL - - -class EUCJPProber(MultiByteCharSetProber): - def __init__(self): - super(EUCJPProber, self).__init__() - self.coding_sm = CodingStateMachine(EUCJP_SM_MODEL) - self.distribution_analyzer = EUCJPDistributionAnalysis() - self.context_analyzer = EUCJPContextAnalysis() - self.reset() - - def reset(self): - super(EUCJPProber, self).reset() - self.context_analyzer.reset() - - @property - def charset_name(self): - return "EUC-JP" - - @property - def language(self): - return "Japanese" - - def feed(self, byte_str): - for i in range(len(byte_str)): - # PY3K: byte_str is a byte array, so byte_str[i] is an int, not a byte - coding_state = self.coding_sm.next_state(byte_str[i]) - if coding_state == MachineState.ERROR: - self.logger.debug('%s %s prober hit error at byte %s', - self.charset_name, self.language, i) - self._state = ProbingState.NOT_ME - break - elif coding_state == MachineState.ITS_ME: - self._state = ProbingState.FOUND_IT - break - elif coding_state == MachineState.START: - char_len = self.coding_sm.get_current_charlen() - if i == 0: - self._last_char[1] = byte_str[0] - self.context_analyzer.feed(self._last_char, char_len) - self.distribution_analyzer.feed(self._last_char, char_len) - else: - self.context_analyzer.feed(byte_str[i - 1:i + 1], - char_len) - self.distribution_analyzer.feed(byte_str[i - 1:i + 1], - char_len) - - self._last_char[0] = byte_str[-1] - - if self.state == ProbingState.DETECTING: - if (self.context_analyzer.got_enough_data() and - (self.get_confidence() > self.SHORTCUT_THRESHOLD)): - self._state = ProbingState.FOUND_IT - - return self.state - - def get_confidence(self): - context_conf = self.context_analyzer.get_confidence() - distrib_conf = self.distribution_analyzer.get_confidence() - return max(context_conf, distrib_conf) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/euckrfreq.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/euckrfreq.py deleted file mode 100644 index b68078c..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/euckrfreq.py +++ /dev/null @@ -1,195 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# Sampling from about 20M text materials include literature and computer technology - -# 128 --> 0.79 -# 256 --> 0.92 -# 512 --> 0.986 -# 1024 --> 0.99944 -# 2048 --> 0.99999 -# -# Idea Distribution Ratio = 0.98653 / (1-0.98653) = 73.24 -# Random Distribution Ration = 512 / (2350-512) = 0.279. -# -# Typical Distribution Ratio - -EUCKR_TYPICAL_DISTRIBUTION_RATIO = 6.0 - -EUCKR_TABLE_SIZE = 2352 - -# Char to FreqOrder table , -EUCKR_CHAR_TO_FREQ_ORDER = ( - 13, 130, 120,1396, 481,1719,1720, 328, 609, 212,1721, 707, 400, 299,1722, 87, -1397,1723, 104, 536,1117,1203,1724,1267, 685,1268, 508,1725,1726,1727,1728,1398, -1399,1729,1730,1731, 141, 621, 326,1057, 368,1732, 267, 488, 20,1733,1269,1734, - 945,1400,1735, 47, 904,1270,1736,1737, 773, 248,1738, 409, 313, 786, 429,1739, - 116, 987, 813,1401, 683, 75,1204, 145,1740,1741,1742,1743, 16, 847, 667, 622, - 708,1744,1745,1746, 966, 787, 304, 129,1747, 60, 820, 123, 676,1748,1749,1750, -1751, 617,1752, 626,1753,1754,1755,1756, 653,1757,1758,1759,1760,1761,1762, 856, - 344,1763,1764,1765,1766, 89, 401, 418, 806, 905, 848,1767,1768,1769, 946,1205, - 709,1770,1118,1771, 241,1772,1773,1774,1271,1775, 569,1776, 999,1777,1778,1779, -1780, 337, 751,1058, 28, 628, 254,1781, 177, 906, 270, 349, 891,1079,1782, 19, -1783, 379,1784, 315,1785, 629, 754,1402, 559,1786, 636, 203,1206,1787, 710, 567, -1788, 935, 814,1789,1790,1207, 766, 528,1791,1792,1208,1793,1794,1795,1796,1797, -1403,1798,1799, 533,1059,1404,1405,1156,1406, 936, 884,1080,1800, 351,1801,1802, -1803,1804,1805, 801,1806,1807,1808,1119,1809,1157, 714, 474,1407,1810, 298, 899, - 885,1811,1120, 802,1158,1812, 892,1813,1814,1408, 659,1815,1816,1121,1817,1818, -1819,1820,1821,1822, 319,1823, 594, 545,1824, 815, 937,1209,1825,1826, 573,1409, -1022,1827,1210,1828,1829,1830,1831,1832,1833, 556, 722, 807,1122,1060,1834, 697, -1835, 900, 557, 715,1836,1410, 540,1411, 752,1159, 294, 597,1211, 976, 803, 770, -1412,1837,1838, 39, 794,1413, 358,1839, 371, 925,1840, 453, 661, 788, 531, 723, - 544,1023,1081, 869, 91,1841, 392, 430, 790, 602,1414, 677,1082, 457,1415,1416, -1842,1843, 475, 327,1024,1417, 795, 121,1844, 733, 403,1418,1845,1846,1847, 300, - 119, 711,1212, 627,1848,1272, 207,1849,1850, 796,1213, 382,1851, 519,1852,1083, - 893,1853,1854,1855, 367, 809, 487, 671,1856, 663,1857,1858, 956, 471, 306, 857, -1859,1860,1160,1084,1861,1862,1863,1864,1865,1061,1866,1867,1868,1869,1870,1871, - 282, 96, 574,1872, 502,1085,1873,1214,1874, 907,1875,1876, 827, 977,1419,1420, -1421, 268,1877,1422,1878,1879,1880, 308,1881, 2, 537,1882,1883,1215,1884,1885, - 127, 791,1886,1273,1423,1887, 34, 336, 404, 643,1888, 571, 654, 894, 840,1889, - 0, 886,1274, 122, 575, 260, 908, 938,1890,1275, 410, 316,1891,1892, 100,1893, -1894,1123, 48,1161,1124,1025,1895, 633, 901,1276,1896,1897, 115, 816,1898, 317, -1899, 694,1900, 909, 734,1424, 572, 866,1425, 691, 85, 524,1010, 543, 394, 841, -1901,1902,1903,1026,1904,1905,1906,1907,1908,1909, 30, 451, 651, 988, 310,1910, -1911,1426, 810,1216, 93,1912,1913,1277,1217,1914, 858, 759, 45, 58, 181, 610, - 269,1915,1916, 131,1062, 551, 443,1000, 821,1427, 957, 895,1086,1917,1918, 375, -1919, 359,1920, 687,1921, 822,1922, 293,1923,1924, 40, 662, 118, 692, 29, 939, - 887, 640, 482, 174,1925, 69,1162, 728,1428, 910,1926,1278,1218,1279, 386, 870, - 217, 854,1163, 823,1927,1928,1929,1930, 834,1931, 78,1932, 859,1933,1063,1934, -1935,1936,1937, 438,1164, 208, 595,1938,1939,1940,1941,1219,1125,1942, 280, 888, -1429,1430,1220,1431,1943,1944,1945,1946,1947,1280, 150, 510,1432,1948,1949,1950, -1951,1952,1953,1954,1011,1087,1955,1433,1043,1956, 881,1957, 614, 958,1064,1065, -1221,1958, 638,1001, 860, 967, 896,1434, 989, 492, 553,1281,1165,1959,1282,1002, -1283,1222,1960,1961,1962,1963, 36, 383, 228, 753, 247, 454,1964, 876, 678,1965, -1966,1284, 126, 464, 490, 835, 136, 672, 529, 940,1088,1435, 473,1967,1968, 467, - 50, 390, 227, 587, 279, 378, 598, 792, 968, 240, 151, 160, 849, 882,1126,1285, - 639,1044, 133, 140, 288, 360, 811, 563,1027, 561, 142, 523,1969,1970,1971, 7, - 103, 296, 439, 407, 506, 634, 990,1972,1973,1974,1975, 645,1976,1977,1978,1979, -1980,1981, 236,1982,1436,1983,1984,1089, 192, 828, 618, 518,1166, 333,1127,1985, - 818,1223,1986,1987,1988,1989,1990,1991,1992,1993, 342,1128,1286, 746, 842,1994, -1995, 560, 223,1287, 98, 8, 189, 650, 978,1288,1996,1437,1997, 17, 345, 250, - 423, 277, 234, 512, 226, 97, 289, 42, 167,1998, 201,1999,2000, 843, 836, 824, - 532, 338, 783,1090, 182, 576, 436,1438,1439, 527, 500,2001, 947, 889,2002,2003, -2004,2005, 262, 600, 314, 447,2006, 547,2007, 693, 738,1129,2008, 71,1440, 745, - 619, 688,2009, 829,2010,2011, 147,2012, 33, 948,2013,2014, 74, 224,2015, 61, - 191, 918, 399, 637,2016,1028,1130, 257, 902,2017,2018,2019,2020,2021,2022,2023, -2024,2025,2026, 837,2027,2028,2029,2030, 179, 874, 591, 52, 724, 246,2031,2032, -2033,2034,1167, 969,2035,1289, 630, 605, 911,1091,1168,2036,2037,2038,1441, 912, -2039, 623,2040,2041, 253,1169,1290,2042,1442, 146, 620, 611, 577, 433,2043,1224, - 719,1170, 959, 440, 437, 534, 84, 388, 480,1131, 159, 220, 198, 679,2044,1012, - 819,1066,1443, 113,1225, 194, 318,1003,1029,2045,2046,2047,2048,1067,2049,2050, -2051,2052,2053, 59, 913, 112,2054, 632,2055, 455, 144, 739,1291,2056, 273, 681, - 499,2057, 448,2058,2059, 760,2060,2061, 970, 384, 169, 245,1132,2062,2063, 414, -1444,2064,2065, 41, 235,2066, 157, 252, 877, 568, 919, 789, 580,2067, 725,2068, -2069,1292,2070,2071,1445,2072,1446,2073,2074, 55, 588, 66,1447, 271,1092,2075, -1226,2076, 960,1013, 372,2077,2078,2079,2080,2081,1293,2082,2083,2084,2085, 850, -2086,2087,2088,2089,2090, 186,2091,1068, 180,2092,2093,2094, 109,1227, 522, 606, -2095, 867,1448,1093, 991,1171, 926, 353,1133,2096, 581,2097,2098,2099,1294,1449, -1450,2100, 596,1172,1014,1228,2101,1451,1295,1173,1229,2102,2103,1296,1134,1452, - 949,1135,2104,2105,1094,1453,1454,1455,2106,1095,2107,2108,2109,2110,2111,2112, -2113,2114,2115,2116,2117, 804,2118,2119,1230,1231, 805,1456, 405,1136,2120,2121, -2122,2123,2124, 720, 701,1297, 992,1457, 927,1004,2125,2126,2127,2128,2129,2130, - 22, 417,2131, 303,2132, 385,2133, 971, 520, 513,2134,1174, 73,1096, 231, 274, - 962,1458, 673,2135,1459,2136, 152,1137,2137,2138,2139,2140,1005,1138,1460,1139, -2141,2142,2143,2144, 11, 374, 844,2145, 154,1232, 46,1461,2146, 838, 830, 721, -1233, 106,2147, 90, 428, 462, 578, 566,1175, 352,2148,2149, 538,1234, 124,1298, -2150,1462, 761, 565,2151, 686,2152, 649,2153, 72, 173,2154, 460, 415,2155,1463, -2156,1235, 305,2157,2158,2159,2160,2161,2162, 579,2163,2164,2165,2166,2167, 747, -2168,2169,2170,2171,1464, 669,2172,2173,2174,2175,2176,1465,2177, 23, 530, 285, -2178, 335, 729,2179, 397,2180,2181,2182,1030,2183,2184, 698,2185,2186, 325,2187, -2188, 369,2189, 799,1097,1015, 348,2190,1069, 680,2191, 851,1466,2192,2193, 10, -2194, 613, 424,2195, 979, 108, 449, 589, 27, 172, 81,1031, 80, 774, 281, 350, -1032, 525, 301, 582,1176,2196, 674,1045,2197,2198,1467, 730, 762,2199,2200,2201, -2202,1468,2203, 993,2204,2205, 266,1070, 963,1140,2206,2207,2208, 664,1098, 972, -2209,2210,2211,1177,1469,1470, 871,2212,2213,2214,2215,2216,1471,2217,2218,2219, -2220,2221,2222,2223,2224,2225,2226,2227,1472,1236,2228,2229,2230,2231,2232,2233, -2234,2235,1299,2236,2237, 200,2238, 477, 373,2239,2240, 731, 825, 777,2241,2242, -2243, 521, 486, 548,2244,2245,2246,1473,1300, 53, 549, 137, 875, 76, 158,2247, -1301,1474, 469, 396,1016, 278, 712,2248, 321, 442, 503, 767, 744, 941,1237,1178, -1475,2249, 82, 178,1141,1179, 973,2250,1302,2251, 297,2252,2253, 570,2254,2255, -2256, 18, 450, 206,2257, 290, 292,1142,2258, 511, 162, 99, 346, 164, 735,2259, -1476,1477, 4, 554, 343, 798,1099,2260,1100,2261, 43, 171,1303, 139, 215,2262, -2263, 717, 775,2264,1033, 322, 216,2265, 831,2266, 149,2267,1304,2268,2269, 702, -1238, 135, 845, 347, 309,2270, 484,2271, 878, 655, 238,1006,1478,2272, 67,2273, - 295,2274,2275, 461,2276, 478, 942, 412,2277,1034,2278,2279,2280, 265,2281, 541, -2282,2283,2284,2285,2286, 70, 852,1071,2287,2288,2289,2290, 21, 56, 509, 117, - 432,2291,2292, 331, 980, 552,1101, 148, 284, 105, 393,1180,1239, 755,2293, 187, -2294,1046,1479,2295, 340,2296, 63,1047, 230,2297,2298,1305, 763,1306, 101, 800, - 808, 494,2299,2300,2301, 903,2302, 37,1072, 14, 5,2303, 79, 675,2304, 312, -2305,2306,2307,2308,2309,1480, 6,1307,2310,2311,2312, 1, 470, 35, 24, 229, -2313, 695, 210, 86, 778, 15, 784, 592, 779, 32, 77, 855, 964,2314, 259,2315, - 501, 380,2316,2317, 83, 981, 153, 689,1308,1481,1482,1483,2318,2319, 716,1484, -2320,2321,2322,2323,2324,2325,1485,2326,2327, 128, 57, 68, 261,1048, 211, 170, -1240, 31,2328, 51, 435, 742,2329,2330,2331, 635,2332, 264, 456,2333,2334,2335, - 425,2336,1486, 143, 507, 263, 943,2337, 363, 920,1487, 256,1488,1102, 243, 601, -1489,2338,2339,2340,2341,2342,2343,2344, 861,2345,2346,2347,2348,2349,2350, 395, -2351,1490,1491, 62, 535, 166, 225,2352,2353, 668, 419,1241, 138, 604, 928,2354, -1181,2355,1492,1493,2356,2357,2358,1143,2359, 696,2360, 387, 307,1309, 682, 476, -2361,2362, 332, 12, 222, 156,2363, 232,2364, 641, 276, 656, 517,1494,1495,1035, - 416, 736,1496,2365,1017, 586,2366,2367,2368,1497,2369, 242,2370,2371,2372,1498, -2373, 965, 713,2374,2375,2376,2377, 740, 982,1499, 944,1500,1007,2378,2379,1310, -1501,2380,2381,2382, 785, 329,2383,2384,1502,2385,2386,2387, 932,2388,1503,2389, -2390,2391,2392,1242,2393,2394,2395,2396,2397, 994, 950,2398,2399,2400,2401,1504, -1311,2402,2403,2404,2405,1049, 749,2406,2407, 853, 718,1144,1312,2408,1182,1505, -2409,2410, 255, 516, 479, 564, 550, 214,1506,1507,1313, 413, 239, 444, 339,1145, -1036,1508,1509,1314,1037,1510,1315,2411,1511,2412,2413,2414, 176, 703, 497, 624, - 593, 921, 302,2415, 341, 165,1103,1512,2416,1513,2417,2418,2419, 376,2420, 700, -2421,2422,2423, 258, 768,1316,2424,1183,2425, 995, 608,2426,2427,2428,2429, 221, -2430,2431,2432,2433,2434,2435,2436,2437, 195, 323, 726, 188, 897, 983,1317, 377, - 644,1050, 879,2438, 452,2439,2440,2441,2442,2443,2444, 914,2445,2446,2447,2448, - 915, 489,2449,1514,1184,2450,2451, 515, 64, 427, 495,2452, 583,2453, 483, 485, -1038, 562, 213,1515, 748, 666,2454,2455,2456,2457, 334,2458, 780, 996,1008, 705, -1243,2459,2460,2461,2462,2463, 114,2464, 493,1146, 366, 163,1516, 961,1104,2465, - 291,2466,1318,1105,2467,1517, 365,2468, 355, 951,1244,2469,1319,2470, 631,2471, -2472, 218,1320, 364, 320, 756,1518,1519,1321,1520,1322,2473,2474,2475,2476, 997, -2477,2478,2479,2480, 665,1185,2481, 916,1521,2482,2483,2484, 584, 684,2485,2486, - 797,2487,1051,1186,2488,2489,2490,1522,2491,2492, 370,2493,1039,1187, 65,2494, - 434, 205, 463,1188,2495, 125, 812, 391, 402, 826, 699, 286, 398, 155, 781, 771, - 585,2496, 590, 505,1073,2497, 599, 244, 219, 917,1018, 952, 646,1523,2498,1323, -2499,2500, 49, 984, 354, 741,2501, 625,2502,1324,2503,1019, 190, 357, 757, 491, - 95, 782, 868,2504,2505,2506,2507,2508,2509, 134,1524,1074, 422,1525, 898,2510, - 161,2511,2512,2513,2514, 769,2515,1526,2516,2517, 411,1325,2518, 472,1527,2519, -2520,2521,2522,2523,2524, 985,2525,2526,2527,2528,2529,2530, 764,2531,1245,2532, -2533, 25, 204, 311,2534, 496,2535,1052,2536,2537,2538,2539,2540,2541,2542, 199, - 704, 504, 468, 758, 657,1528, 196, 44, 839,1246, 272, 750,2543, 765, 862,2544, -2545,1326,2546, 132, 615, 933,2547, 732,2548,2549,2550,1189,1529,2551, 283,1247, -1053, 607, 929,2552,2553,2554, 930, 183, 872, 616,1040,1147,2555,1148,1020, 441, - 249,1075,2556,2557,2558, 466, 743,2559,2560,2561, 92, 514, 426, 420, 526,2562, -2563,2564,2565,2566,2567,2568, 185,2569,2570,2571,2572, 776,1530, 658,2573, 362, -2574, 361, 922,1076, 793,2575,2576,2577,2578,2579,2580,1531, 251,2581,2582,2583, -2584,1532, 54, 612, 237,1327,2585,2586, 275, 408, 647, 111,2587,1533,1106, 465, - 3, 458, 9, 38,2588, 107, 110, 890, 209, 26, 737, 498,2589,1534,2590, 431, - 202, 88,1535, 356, 287,1107, 660,1149,2591, 381,1536, 986,1150, 445,1248,1151, - 974,2592,2593, 846,2594, 446, 953, 184,1249,1250, 727,2595, 923, 193, 883,2596, -2597,2598, 102, 324, 539, 817,2599, 421,1041,2600, 832,2601, 94, 175, 197, 406, -2602, 459,2603,2604,2605,2606,2607, 330, 555,2608,2609,2610, 706,1108, 389,2611, -2612,2613,2614, 233,2615, 833, 558, 931, 954,1251,2616,2617,1537, 546,2618,2619, -1009,2620,2621,2622,1538, 690,1328,2623, 955,2624,1539,2625,2626, 772,2627,2628, -2629,2630,2631, 924, 648, 863, 603,2632,2633, 934,1540, 864, 865,2634, 642,1042, - 670,1190,2635,2636,2637,2638, 168,2639, 652, 873, 542,1054,1541,2640,2641,2642, # 512, 256 -) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/euckrprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/euckrprober.py deleted file mode 100644 index 345a060..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/euckrprober.py +++ /dev/null @@ -1,47 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCKRDistributionAnalysis -from .mbcssm import EUCKR_SM_MODEL - - -class EUCKRProber(MultiByteCharSetProber): - def __init__(self): - super(EUCKRProber, self).__init__() - self.coding_sm = CodingStateMachine(EUCKR_SM_MODEL) - self.distribution_analyzer = EUCKRDistributionAnalysis() - self.reset() - - @property - def charset_name(self): - return "EUC-KR" - - @property - def language(self): - return "Korean" diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/euctwfreq.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/euctwfreq.py deleted file mode 100644 index ed7a995..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/euctwfreq.py +++ /dev/null @@ -1,387 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# EUCTW frequency table -# Converted from big5 work -# by Taiwan's Mandarin Promotion Council -# - -# 128 --> 0.42261 -# 256 --> 0.57851 -# 512 --> 0.74851 -# 1024 --> 0.89384 -# 2048 --> 0.97583 -# -# Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98 -# Random Distribution Ration = 512/(5401-512)=0.105 -# -# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR - -EUCTW_TYPICAL_DISTRIBUTION_RATIO = 0.75 - -# Char to FreqOrder table , -EUCTW_TABLE_SIZE = 5376 - -EUCTW_CHAR_TO_FREQ_ORDER = ( - 1,1800,1506, 255,1431, 198, 9, 82, 6,7310, 177, 202,3615,1256,2808, 110, # 2742 -3735, 33,3241, 261, 76, 44,2113, 16,2931,2184,1176, 659,3868, 26,3404,2643, # 2758 -1198,3869,3313,4060, 410,2211, 302, 590, 361,1963, 8, 204, 58,4296,7311,1931, # 2774 - 63,7312,7313, 317,1614, 75, 222, 159,4061,2412,1480,7314,3500,3068, 224,2809, # 2790 -3616, 3, 10,3870,1471, 29,2774,1135,2852,1939, 873, 130,3242,1123, 312,7315, # 2806 -4297,2051, 507, 252, 682,7316, 142,1914, 124, 206,2932, 34,3501,3173, 64, 604, # 2822 -7317,2494,1976,1977, 155,1990, 645, 641,1606,7318,3405, 337, 72, 406,7319, 80, # 2838 - 630, 238,3174,1509, 263, 939,1092,2644, 756,1440,1094,3406, 449, 69,2969, 591, # 2854 - 179,2095, 471, 115,2034,1843, 60, 50,2970, 134, 806,1868, 734,2035,3407, 180, # 2870 - 995,1607, 156, 537,2893, 688,7320, 319,1305, 779,2144, 514,2374, 298,4298, 359, # 2886 -2495, 90,2707,1338, 663, 11, 906,1099,2545, 20,2436, 182, 532,1716,7321, 732, # 2902 -1376,4062,1311,1420,3175, 25,2312,1056, 113, 399, 382,1949, 242,3408,2467, 529, # 2918 -3243, 475,1447,3617,7322, 117, 21, 656, 810,1297,2295,2329,3502,7323, 126,4063, # 2934 - 706, 456, 150, 613,4299, 71,1118,2036,4064, 145,3069, 85, 835, 486,2114,1246, # 2950 -1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,7324,2127,2354, 347,3736, 221, # 2966 -3503,3110,7325,1955,1153,4065, 83, 296,1199,3070, 192, 624, 93,7326, 822,1897, # 2982 -2810,3111, 795,2064, 991,1554,1542,1592, 27, 43,2853, 859, 139,1456, 860,4300, # 2998 - 437, 712,3871, 164,2392,3112, 695, 211,3017,2096, 195,3872,1608,3504,3505,3618, # 3014 -3873, 234, 811,2971,2097,3874,2229,1441,3506,1615,2375, 668,2076,1638, 305, 228, # 3030 -1664,4301, 467, 415,7327, 262,2098,1593, 239, 108, 300, 200,1033, 512,1247,2077, # 3046 -7328,7329,2173,3176,3619,2673, 593, 845,1062,3244, 88,1723,2037,3875,1950, 212, # 3062 - 266, 152, 149, 468,1898,4066,4302, 77, 187,7330,3018, 37, 5,2972,7331,3876, # 3078 -7332,7333, 39,2517,4303,2894,3177,2078, 55, 148, 74,4304, 545, 483,1474,1029, # 3094 -1665, 217,1869,1531,3113,1104,2645,4067, 24, 172,3507, 900,3877,3508,3509,4305, # 3110 - 32,1408,2811,1312, 329, 487,2355,2247,2708, 784,2674, 4,3019,3314,1427,1788, # 3126 - 188, 109, 499,7334,3620,1717,1789, 888,1217,3020,4306,7335,3510,7336,3315,1520, # 3142 -3621,3878, 196,1034, 775,7337,7338, 929,1815, 249, 439, 38,7339,1063,7340, 794, # 3158 -3879,1435,2296, 46, 178,3245,2065,7341,2376,7342, 214,1709,4307, 804, 35, 707, # 3174 - 324,3622,1601,2546, 140, 459,4068,7343,7344,1365, 839, 272, 978,2257,2572,3409, # 3190 -2128,1363,3623,1423, 697, 100,3071, 48, 70,1231, 495,3114,2193,7345,1294,7346, # 3206 -2079, 462, 586,1042,3246, 853, 256, 988, 185,2377,3410,1698, 434,1084,7347,3411, # 3222 - 314,2615,2775,4308,2330,2331, 569,2280, 637,1816,2518, 757,1162,1878,1616,3412, # 3238 - 287,1577,2115, 768,4309,1671,2854,3511,2519,1321,3737, 909,2413,7348,4069, 933, # 3254 -3738,7349,2052,2356,1222,4310, 765,2414,1322, 786,4311,7350,1919,1462,1677,2895, # 3270 -1699,7351,4312,1424,2437,3115,3624,2590,3316,1774,1940,3413,3880,4070, 309,1369, # 3286 -1130,2812, 364,2230,1653,1299,3881,3512,3882,3883,2646, 525,1085,3021, 902,2000, # 3302 -1475, 964,4313, 421,1844,1415,1057,2281, 940,1364,3116, 376,4314,4315,1381, 7, # 3318 -2520, 983,2378, 336,1710,2675,1845, 321,3414, 559,1131,3022,2742,1808,1132,1313, # 3334 - 265,1481,1857,7352, 352,1203,2813,3247, 167,1089, 420,2814, 776, 792,1724,3513, # 3350 -4071,2438,3248,7353,4072,7354, 446, 229, 333,2743, 901,3739,1200,1557,4316,2647, # 3366 -1920, 395,2744,2676,3740,4073,1835, 125, 916,3178,2616,4317,7355,7356,3741,7357, # 3382 -7358,7359,4318,3117,3625,1133,2547,1757,3415,1510,2313,1409,3514,7360,2145, 438, # 3398 -2591,2896,2379,3317,1068, 958,3023, 461, 311,2855,2677,4074,1915,3179,4075,1978, # 3414 - 383, 750,2745,2617,4076, 274, 539, 385,1278,1442,7361,1154,1964, 384, 561, 210, # 3430 - 98,1295,2548,3515,7362,1711,2415,1482,3416,3884,2897,1257, 129,7363,3742, 642, # 3446 - 523,2776,2777,2648,7364, 141,2231,1333, 68, 176, 441, 876, 907,4077, 603,2592, # 3462 - 710, 171,3417, 404, 549, 18,3118,2393,1410,3626,1666,7365,3516,4319,2898,4320, # 3478 -7366,2973, 368,7367, 146, 366, 99, 871,3627,1543, 748, 807,1586,1185, 22,2258, # 3494 - 379,3743,3180,7368,3181, 505,1941,2618,1991,1382,2314,7369, 380,2357, 218, 702, # 3510 -1817,1248,3418,3024,3517,3318,3249,7370,2974,3628, 930,3250,3744,7371, 59,7372, # 3526 - 585, 601,4078, 497,3419,1112,1314,4321,1801,7373,1223,1472,2174,7374, 749,1836, # 3542 - 690,1899,3745,1772,3885,1476, 429,1043,1790,2232,2116, 917,4079, 447,1086,1629, # 3558 -7375, 556,7376,7377,2020,1654, 844,1090, 105, 550, 966,1758,2815,1008,1782, 686, # 3574 -1095,7378,2282, 793,1602,7379,3518,2593,4322,4080,2933,2297,4323,3746, 980,2496, # 3590 - 544, 353, 527,4324, 908,2678,2899,7380, 381,2619,1942,1348,7381,1341,1252, 560, # 3606 -3072,7382,3420,2856,7383,2053, 973, 886,2080, 143,4325,7384,7385, 157,3886, 496, # 3622 -4081, 57, 840, 540,2038,4326,4327,3421,2117,1445, 970,2259,1748,1965,2081,4082, # 3638 -3119,1234,1775,3251,2816,3629, 773,1206,2129,1066,2039,1326,3887,1738,1725,4083, # 3654 - 279,3120, 51,1544,2594, 423,1578,2130,2066, 173,4328,1879,7386,7387,1583, 264, # 3670 - 610,3630,4329,2439, 280, 154,7388,7389,7390,1739, 338,1282,3073, 693,2857,1411, # 3686 -1074,3747,2440,7391,4330,7392,7393,1240, 952,2394,7394,2900,1538,2679, 685,1483, # 3702 -4084,2468,1436, 953,4085,2054,4331, 671,2395, 79,4086,2441,3252, 608, 567,2680, # 3718 -3422,4087,4088,1691, 393,1261,1791,2396,7395,4332,7396,7397,7398,7399,1383,1672, # 3734 -3748,3182,1464, 522,1119, 661,1150, 216, 675,4333,3888,1432,3519, 609,4334,2681, # 3750 -2397,7400,7401,7402,4089,3025, 0,7403,2469, 315, 231,2442, 301,3319,4335,2380, # 3766 -7404, 233,4090,3631,1818,4336,4337,7405, 96,1776,1315,2082,7406, 257,7407,1809, # 3782 -3632,2709,1139,1819,4091,2021,1124,2163,2778,1777,2649,7408,3074, 363,1655,3183, # 3798 -7409,2975,7410,7411,7412,3889,1567,3890, 718, 103,3184, 849,1443, 341,3320,2934, # 3814 -1484,7413,1712, 127, 67, 339,4092,2398, 679,1412, 821,7414,7415, 834, 738, 351, # 3830 -2976,2146, 846, 235,1497,1880, 418,1992,3749,2710, 186,1100,2147,2746,3520,1545, # 3846 -1355,2935,2858,1377, 583,3891,4093,2573,2977,7416,1298,3633,1078,2549,3634,2358, # 3862 - 78,3750,3751, 267,1289,2099,2001,1594,4094, 348, 369,1274,2194,2175,1837,4338, # 3878 -1820,2817,3635,2747,2283,2002,4339,2936,2748, 144,3321, 882,4340,3892,2749,3423, # 3894 -4341,2901,7417,4095,1726, 320,7418,3893,3026, 788,2978,7419,2818,1773,1327,2859, # 3910 -3894,2819,7420,1306,4342,2003,1700,3752,3521,2359,2650, 787,2022, 506, 824,3636, # 3926 - 534, 323,4343,1044,3322,2023,1900, 946,3424,7421,1778,1500,1678,7422,1881,4344, # 3942 - 165, 243,4345,3637,2521, 123, 683,4096, 764,4346, 36,3895,1792, 589,2902, 816, # 3958 - 626,1667,3027,2233,1639,1555,1622,3753,3896,7423,3897,2860,1370,1228,1932, 891, # 3974 -2083,2903, 304,4097,7424, 292,2979,2711,3522, 691,2100,4098,1115,4347, 118, 662, # 3990 -7425, 611,1156, 854,2381,1316,2861, 2, 386, 515,2904,7426,7427,3253, 868,2234, # 4006 -1486, 855,2651, 785,2212,3028,7428,1040,3185,3523,7429,3121, 448,7430,1525,7431, # 4022 -2164,4348,7432,3754,7433,4099,2820,3524,3122, 503, 818,3898,3123,1568, 814, 676, # 4038 -1444, 306,1749,7434,3755,1416,1030, 197,1428, 805,2821,1501,4349,7435,7436,7437, # 4054 -1993,7438,4350,7439,7440,2195, 13,2779,3638,2980,3124,1229,1916,7441,3756,2131, # 4070 -7442,4100,4351,2399,3525,7443,2213,1511,1727,1120,7444,7445, 646,3757,2443, 307, # 4086 -7446,7447,1595,3186,7448,7449,7450,3639,1113,1356,3899,1465,2522,2523,7451, 519, # 4102 -7452, 128,2132, 92,2284,1979,7453,3900,1512, 342,3125,2196,7454,2780,2214,1980, # 4118 -3323,7455, 290,1656,1317, 789, 827,2360,7456,3758,4352, 562, 581,3901,7457, 401, # 4134 -4353,2248, 94,4354,1399,2781,7458,1463,2024,4355,3187,1943,7459, 828,1105,4101, # 4150 -1262,1394,7460,4102, 605,4356,7461,1783,2862,7462,2822, 819,2101, 578,2197,2937, # 4166 -7463,1502, 436,3254,4103,3255,2823,3902,2905,3425,3426,7464,2712,2315,7465,7466, # 4182 -2332,2067, 23,4357, 193, 826,3759,2102, 699,1630,4104,3075, 390,1793,1064,3526, # 4198 -7467,1579,3076,3077,1400,7468,4105,1838,1640,2863,7469,4358,4359, 137,4106, 598, # 4214 -3078,1966, 780, 104, 974,2938,7470, 278, 899, 253, 402, 572, 504, 493,1339,7471, # 4230 -3903,1275,4360,2574,2550,7472,3640,3029,3079,2249, 565,1334,2713, 863, 41,7473, # 4246 -7474,4361,7475,1657,2333, 19, 463,2750,4107, 606,7476,2981,3256,1087,2084,1323, # 4262 -2652,2982,7477,1631,1623,1750,4108,2682,7478,2864, 791,2714,2653,2334, 232,2416, # 4278 -7479,2983,1498,7480,2654,2620, 755,1366,3641,3257,3126,2025,1609, 119,1917,3427, # 4294 - 862,1026,4109,7481,3904,3760,4362,3905,4363,2260,1951,2470,7482,1125, 817,4110, # 4310 -4111,3906,1513,1766,2040,1487,4112,3030,3258,2824,3761,3127,7483,7484,1507,7485, # 4326 -2683, 733, 40,1632,1106,2865, 345,4113, 841,2524, 230,4364,2984,1846,3259,3428, # 4342 -7486,1263, 986,3429,7487, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562,3907, # 4358 -3908,2939, 967,2751,2655,1349, 592,2133,1692,3324,2985,1994,4114,1679,3909,1901, # 4374 -2185,7488, 739,3642,2715,1296,1290,7489,4115,2198,2199,1921,1563,2595,2551,1870, # 4390 -2752,2986,7490, 435,7491, 343,1108, 596, 17,1751,4365,2235,3430,3643,7492,4366, # 4406 - 294,3527,2940,1693, 477, 979, 281,2041,3528, 643,2042,3644,2621,2782,2261,1031, # 4422 -2335,2134,2298,3529,4367, 367,1249,2552,7493,3530,7494,4368,1283,3325,2004, 240, # 4438 -1762,3326,4369,4370, 836,1069,3128, 474,7495,2148,2525, 268,3531,7496,3188,1521, # 4454 -1284,7497,1658,1546,4116,7498,3532,3533,7499,4117,3327,2684,1685,4118, 961,1673, # 4470 -2622, 190,2005,2200,3762,4371,4372,7500, 570,2497,3645,1490,7501,4373,2623,3260, # 4486 -1956,4374, 584,1514, 396,1045,1944,7502,4375,1967,2444,7503,7504,4376,3910, 619, # 4502 -7505,3129,3261, 215,2006,2783,2553,3189,4377,3190,4378, 763,4119,3763,4379,7506, # 4518 -7507,1957,1767,2941,3328,3646,1174, 452,1477,4380,3329,3130,7508,2825,1253,2382, # 4534 -2186,1091,2285,4120, 492,7509, 638,1169,1824,2135,1752,3911, 648, 926,1021,1324, # 4550 -4381, 520,4382, 997, 847,1007, 892,4383,3764,2262,1871,3647,7510,2400,1784,4384, # 4566 -1952,2942,3080,3191,1728,4121,2043,3648,4385,2007,1701,3131,1551, 30,2263,4122, # 4582 -7511,2026,4386,3534,7512, 501,7513,4123, 594,3431,2165,1821,3535,3432,3536,3192, # 4598 - 829,2826,4124,7514,1680,3132,1225,4125,7515,3262,4387,4126,3133,2336,7516,4388, # 4614 -4127,7517,3912,3913,7518,1847,2383,2596,3330,7519,4389, 374,3914, 652,4128,4129, # 4630 - 375,1140, 798,7520,7521,7522,2361,4390,2264, 546,1659, 138,3031,2445,4391,7523, # 4646 -2250, 612,1848, 910, 796,3765,1740,1371, 825,3766,3767,7524,2906,2554,7525, 692, # 4662 - 444,3032,2624, 801,4392,4130,7526,1491, 244,1053,3033,4131,4132, 340,7527,3915, # 4678 -1041,2987, 293,1168, 87,1357,7528,1539, 959,7529,2236, 721, 694,4133,3768, 219, # 4694 -1478, 644,1417,3331,2656,1413,1401,1335,1389,3916,7530,7531,2988,2362,3134,1825, # 4710 - 730,1515, 184,2827, 66,4393,7532,1660,2943, 246,3332, 378,1457, 226,3433, 975, # 4726 -3917,2944,1264,3537, 674, 696,7533, 163,7534,1141,2417,2166, 713,3538,3333,4394, # 4742 -3918,7535,7536,1186, 15,7537,1079,1070,7538,1522,3193,3539, 276,1050,2716, 758, # 4758 -1126, 653,2945,3263,7539,2337, 889,3540,3919,3081,2989, 903,1250,4395,3920,3434, # 4774 -3541,1342,1681,1718, 766,3264, 286, 89,2946,3649,7540,1713,7541,2597,3334,2990, # 4790 -7542,2947,2215,3194,2866,7543,4396,2498,2526, 181, 387,1075,3921, 731,2187,3335, # 4806 -7544,3265, 310, 313,3435,2299, 770,4134, 54,3034, 189,4397,3082,3769,3922,7545, # 4822 -1230,1617,1849, 355,3542,4135,4398,3336, 111,4136,3650,1350,3135,3436,3035,4137, # 4838 -2149,3266,3543,7546,2784,3923,3924,2991, 722,2008,7547,1071, 247,1207,2338,2471, # 4854 -1378,4399,2009, 864,1437,1214,4400, 373,3770,1142,2216, 667,4401, 442,2753,2555, # 4870 -3771,3925,1968,4138,3267,1839, 837, 170,1107, 934,1336,1882,7548,7549,2118,4139, # 4886 -2828, 743,1569,7550,4402,4140, 582,2384,1418,3437,7551,1802,7552, 357,1395,1729, # 4902 -3651,3268,2418,1564,2237,7553,3083,3772,1633,4403,1114,2085,4141,1532,7554, 482, # 4918 -2446,4404,7555,7556,1492, 833,1466,7557,2717,3544,1641,2829,7558,1526,1272,3652, # 4934 -4142,1686,1794, 416,2556,1902,1953,1803,7559,3773,2785,3774,1159,2316,7560,2867, # 4950 -4405,1610,1584,3036,2419,2754, 443,3269,1163,3136,7561,7562,3926,7563,4143,2499, # 4966 -3037,4406,3927,3137,2103,1647,3545,2010,1872,4144,7564,4145, 431,3438,7565, 250, # 4982 - 97, 81,4146,7566,1648,1850,1558, 160, 848,7567, 866, 740,1694,7568,2201,2830, # 4998 -3195,4147,4407,3653,1687, 950,2472, 426, 469,3196,3654,3655,3928,7569,7570,1188, # 5014 - 424,1995, 861,3546,4148,3775,2202,2685, 168,1235,3547,4149,7571,2086,1674,4408, # 5030 -3337,3270, 220,2557,1009,7572,3776, 670,2992, 332,1208, 717,7573,7574,3548,2447, # 5046 -3929,3338,7575, 513,7576,1209,2868,3339,3138,4409,1080,7577,7578,7579,7580,2527, # 5062 -3656,3549, 815,1587,3930,3931,7581,3550,3439,3777,1254,4410,1328,3038,1390,3932, # 5078 -1741,3933,3778,3934,7582, 236,3779,2448,3271,7583,7584,3657,3780,1273,3781,4411, # 5094 -7585, 308,7586,4412, 245,4413,1851,2473,1307,2575, 430, 715,2136,2449,7587, 270, # 5110 - 199,2869,3935,7588,3551,2718,1753, 761,1754, 725,1661,1840,4414,3440,3658,7589, # 5126 -7590, 587, 14,3272, 227,2598, 326, 480,2265, 943,2755,3552, 291, 650,1883,7591, # 5142 -1702,1226, 102,1547, 62,3441, 904,4415,3442,1164,4150,7592,7593,1224,1548,2756, # 5158 - 391, 498,1493,7594,1386,1419,7595,2055,1177,4416, 813, 880,1081,2363, 566,1145, # 5174 -4417,2286,1001,1035,2558,2599,2238, 394,1286,7596,7597,2068,7598, 86,1494,1730, # 5190 -3936, 491,1588, 745, 897,2948, 843,3340,3937,2757,2870,3273,1768, 998,2217,2069, # 5206 - 397,1826,1195,1969,3659,2993,3341, 284,7599,3782,2500,2137,2119,1903,7600,3938, # 5222 -2150,3939,4151,1036,3443,1904, 114,2559,4152, 209,1527,7601,7602,2949,2831,2625, # 5238 -2385,2719,3139, 812,2560,7603,3274,7604,1559, 737,1884,3660,1210, 885, 28,2686, # 5254 -3553,3783,7605,4153,1004,1779,4418,7606, 346,1981,2218,2687,4419,3784,1742, 797, # 5270 -1642,3940,1933,1072,1384,2151, 896,3941,3275,3661,3197,2871,3554,7607,2561,1958, # 5286 -4420,2450,1785,7608,7609,7610,3942,4154,1005,1308,3662,4155,2720,4421,4422,1528, # 5302 -2600, 161,1178,4156,1982, 987,4423,1101,4157, 631,3943,1157,3198,2420,1343,1241, # 5318 -1016,2239,2562, 372, 877,2339,2501,1160, 555,1934, 911,3944,7611, 466,1170, 169, # 5334 -1051,2907,2688,3663,2474,2994,1182,2011,2563,1251,2626,7612, 992,2340,3444,1540, # 5350 -2721,1201,2070,2401,1996,2475,7613,4424, 528,1922,2188,1503,1873,1570,2364,3342, # 5366 -3276,7614, 557,1073,7615,1827,3445,2087,2266,3140,3039,3084, 767,3085,2786,4425, # 5382 -1006,4158,4426,2341,1267,2176,3664,3199, 778,3945,3200,2722,1597,2657,7616,4427, # 5398 -7617,3446,7618,7619,7620,3277,2689,1433,3278, 131, 95,1504,3946, 723,4159,3141, # 5414 -1841,3555,2758,2189,3947,2027,2104,3665,7621,2995,3948,1218,7622,3343,3201,3949, # 5430 -4160,2576, 248,1634,3785, 912,7623,2832,3666,3040,3786, 654, 53,7624,2996,7625, # 5446 -1688,4428, 777,3447,1032,3950,1425,7626, 191, 820,2120,2833, 971,4429, 931,3202, # 5462 - 135, 664, 783,3787,1997, 772,2908,1935,3951,3788,4430,2909,3203, 282,2723, 640, # 5478 -1372,3448,1127, 922, 325,3344,7627,7628, 711,2044,7629,7630,3952,2219,2787,1936, # 5494 -3953,3345,2220,2251,3789,2300,7631,4431,3790,1258,3279,3954,3204,2138,2950,3955, # 5510 -3956,7632,2221, 258,3205,4432, 101,1227,7633,3280,1755,7634,1391,3281,7635,2910, # 5526 -2056, 893,7636,7637,7638,1402,4161,2342,7639,7640,3206,3556,7641,7642, 878,1325, # 5542 -1780,2788,4433, 259,1385,2577, 744,1183,2267,4434,7643,3957,2502,7644, 684,1024, # 5558 -4162,7645, 472,3557,3449,1165,3282,3958,3959, 322,2152, 881, 455,1695,1152,1340, # 5574 - 660, 554,2153,4435,1058,4436,4163, 830,1065,3346,3960,4437,1923,7646,1703,1918, # 5590 -7647, 932,2268, 122,7648,4438, 947, 677,7649,3791,2627, 297,1905,1924,2269,4439, # 5606 -2317,3283,7650,7651,4164,7652,4165, 84,4166, 112, 989,7653, 547,1059,3961, 701, # 5622 -3558,1019,7654,4167,7655,3450, 942, 639, 457,2301,2451, 993,2951, 407, 851, 494, # 5638 -4440,3347, 927,7656,1237,7657,2421,3348, 573,4168, 680, 921,2911,1279,1874, 285, # 5654 - 790,1448,1983, 719,2167,7658,7659,4441,3962,3963,1649,7660,1541, 563,7661,1077, # 5670 -7662,3349,3041,3451, 511,2997,3964,3965,3667,3966,1268,2564,3350,3207,4442,4443, # 5686 -7663, 535,1048,1276,1189,2912,2028,3142,1438,1373,2834,2952,1134,2012,7664,4169, # 5702 -1238,2578,3086,1259,7665, 700,7666,2953,3143,3668,4170,7667,4171,1146,1875,1906, # 5718 -4444,2601,3967, 781,2422, 132,1589, 203, 147, 273,2789,2402, 898,1786,2154,3968, # 5734 -3969,7668,3792,2790,7669,7670,4445,4446,7671,3208,7672,1635,3793, 965,7673,1804, # 5750 -2690,1516,3559,1121,1082,1329,3284,3970,1449,3794, 65,1128,2835,2913,2759,1590, # 5766 -3795,7674,7675, 12,2658, 45, 976,2579,3144,4447, 517,2528,1013,1037,3209,7676, # 5782 -3796,2836,7677,3797,7678,3452,7679,2602, 614,1998,2318,3798,3087,2724,2628,7680, # 5798 -2580,4172, 599,1269,7681,1810,3669,7682,2691,3088, 759,1060, 489,1805,3351,3285, # 5814 -1358,7683,7684,2386,1387,1215,2629,2252, 490,7685,7686,4173,1759,2387,2343,7687, # 5830 -4448,3799,1907,3971,2630,1806,3210,4449,3453,3286,2760,2344, 874,7688,7689,3454, # 5846 -3670,1858, 91,2914,3671,3042,3800,4450,7690,3145,3972,2659,7691,3455,1202,1403, # 5862 -3801,2954,2529,1517,2503,4451,3456,2504,7692,4452,7693,2692,1885,1495,1731,3973, # 5878 -2365,4453,7694,2029,7695,7696,3974,2693,1216, 237,2581,4174,2319,3975,3802,4454, # 5894 -4455,2694,3560,3457, 445,4456,7697,7698,7699,7700,2761, 61,3976,3672,1822,3977, # 5910 -7701, 687,2045, 935, 925, 405,2660, 703,1096,1859,2725,4457,3978,1876,1367,2695, # 5926 -3352, 918,2105,1781,2476, 334,3287,1611,1093,4458, 564,3146,3458,3673,3353, 945, # 5942 -2631,2057,4459,7702,1925, 872,4175,7703,3459,2696,3089, 349,4176,3674,3979,4460, # 5958 -3803,4177,3675,2155,3980,4461,4462,4178,4463,2403,2046, 782,3981, 400, 251,4179, # 5974 -1624,7704,7705, 277,3676, 299,1265, 476,1191,3804,2121,4180,4181,1109, 205,7706, # 5990 -2582,1000,2156,3561,1860,7707,7708,7709,4464,7710,4465,2565, 107,2477,2157,3982, # 6006 -3460,3147,7711,1533, 541,1301, 158, 753,4182,2872,3562,7712,1696, 370,1088,4183, # 6022 -4466,3563, 579, 327, 440, 162,2240, 269,1937,1374,3461, 968,3043, 56,1396,3090, # 6038 -2106,3288,3354,7713,1926,2158,4467,2998,7714,3564,7715,7716,3677,4468,2478,7717, # 6054 -2791,7718,1650,4469,7719,2603,7720,7721,3983,2661,3355,1149,3356,3984,3805,3985, # 6070 -7722,1076, 49,7723, 951,3211,3289,3290, 450,2837, 920,7724,1811,2792,2366,4184, # 6086 -1908,1138,2367,3806,3462,7725,3212,4470,1909,1147,1518,2423,4471,3807,7726,4472, # 6102 -2388,2604, 260,1795,3213,7727,7728,3808,3291, 708,7729,3565,1704,7730,3566,1351, # 6118 -1618,3357,2999,1886, 944,4185,3358,4186,3044,3359,4187,7731,3678, 422, 413,1714, # 6134 -3292, 500,2058,2345,4188,2479,7732,1344,1910, 954,7733,1668,7734,7735,3986,2404, # 6150 -4189,3567,3809,4190,7736,2302,1318,2505,3091, 133,3092,2873,4473, 629, 31,2838, # 6166 -2697,3810,4474, 850, 949,4475,3987,2955,1732,2088,4191,1496,1852,7737,3988, 620, # 6182 -3214, 981,1242,3679,3360,1619,3680,1643,3293,2139,2452,1970,1719,3463,2168,7738, # 6198 -3215,7739,7740,3361,1828,7741,1277,4476,1565,2047,7742,1636,3568,3093,7743, 869, # 6214 -2839, 655,3811,3812,3094,3989,3000,3813,1310,3569,4477,7744,7745,7746,1733, 558, # 6230 -4478,3681, 335,1549,3045,1756,4192,3682,1945,3464,1829,1291,1192, 470,2726,2107, # 6246 -2793, 913,1054,3990,7747,1027,7748,3046,3991,4479, 982,2662,3362,3148,3465,3216, # 6262 -3217,1946,2794,7749, 571,4480,7750,1830,7751,3570,2583,1523,2424,7752,2089, 984, # 6278 -4481,3683,1959,7753,3684, 852, 923,2795,3466,3685, 969,1519, 999,2048,2320,1705, # 6294 -7754,3095, 615,1662, 151, 597,3992,2405,2321,1049, 275,4482,3686,4193, 568,3687, # 6310 -3571,2480,4194,3688,7755,2425,2270, 409,3218,7756,1566,2874,3467,1002, 769,2840, # 6326 - 194,2090,3149,3689,2222,3294,4195, 628,1505,7757,7758,1763,2177,3001,3993, 521, # 6342 -1161,2584,1787,2203,2406,4483,3994,1625,4196,4197, 412, 42,3096, 464,7759,2632, # 6358 -4484,3363,1760,1571,2875,3468,2530,1219,2204,3814,2633,2140,2368,4485,4486,3295, # 6374 -1651,3364,3572,7760,7761,3573,2481,3469,7762,3690,7763,7764,2271,2091, 460,7765, # 6390 -4487,7766,3002, 962, 588,3574, 289,3219,2634,1116, 52,7767,3047,1796,7768,7769, # 6406 -7770,1467,7771,1598,1143,3691,4198,1984,1734,1067,4488,1280,3365, 465,4489,1572, # 6422 - 510,7772,1927,2241,1812,1644,3575,7773,4490,3692,7774,7775,2663,1573,1534,7776, # 6438 -7777,4199, 536,1807,1761,3470,3815,3150,2635,7778,7779,7780,4491,3471,2915,1911, # 6454 -2796,7781,3296,1122, 377,3220,7782, 360,7783,7784,4200,1529, 551,7785,2059,3693, # 6470 -1769,2426,7786,2916,4201,3297,3097,2322,2108,2030,4492,1404, 136,1468,1479, 672, # 6486 -1171,3221,2303, 271,3151,7787,2762,7788,2049, 678,2727, 865,1947,4493,7789,2013, # 6502 -3995,2956,7790,2728,2223,1397,3048,3694,4494,4495,1735,2917,3366,3576,7791,3816, # 6518 - 509,2841,2453,2876,3817,7792,7793,3152,3153,4496,4202,2531,4497,2304,1166,1010, # 6534 - 552, 681,1887,7794,7795,2957,2958,3996,1287,1596,1861,3154, 358, 453, 736, 175, # 6550 - 478,1117, 905,1167,1097,7796,1853,1530,7797,1706,7798,2178,3472,2287,3695,3473, # 6566 -3577,4203,2092,4204,7799,3367,1193,2482,4205,1458,2190,2205,1862,1888,1421,3298, # 6582 -2918,3049,2179,3474, 595,2122,7800,3997,7801,7802,4206,1707,2636, 223,3696,1359, # 6598 - 751,3098, 183,3475,7803,2797,3003, 419,2369, 633, 704,3818,2389, 241,7804,7805, # 6614 -7806, 838,3004,3697,2272,2763,2454,3819,1938,2050,3998,1309,3099,2242,1181,7807, # 6630 -1136,2206,3820,2370,1446,4207,2305,4498,7808,7809,4208,1055,2605, 484,3698,7810, # 6646 -3999, 625,4209,2273,3368,1499,4210,4000,7811,4001,4211,3222,2274,2275,3476,7812, # 6662 -7813,2764, 808,2606,3699,3369,4002,4212,3100,2532, 526,3370,3821,4213, 955,7814, # 6678 -1620,4214,2637,2427,7815,1429,3700,1669,1831, 994, 928,7816,3578,1260,7817,7818, # 6694 -7819,1948,2288, 741,2919,1626,4215,2729,2455, 867,1184, 362,3371,1392,7820,7821, # 6710 -4003,4216,1770,1736,3223,2920,4499,4500,1928,2698,1459,1158,7822,3050,3372,2877, # 6726 -1292,1929,2506,2842,3701,1985,1187,2071,2014,2607,4217,7823,2566,2507,2169,3702, # 6742 -2483,3299,7824,3703,4501,7825,7826, 666,1003,3005,1022,3579,4218,7827,4502,1813, # 6758 -2253, 574,3822,1603, 295,1535, 705,3823,4219, 283, 858, 417,7828,7829,3224,4503, # 6774 -4504,3051,1220,1889,1046,2276,2456,4004,1393,1599, 689,2567, 388,4220,7830,2484, # 6790 - 802,7831,2798,3824,2060,1405,2254,7832,4505,3825,2109,1052,1345,3225,1585,7833, # 6806 - 809,7834,7835,7836, 575,2730,3477, 956,1552,1469,1144,2323,7837,2324,1560,2457, # 6822 -3580,3226,4005, 616,2207,3155,2180,2289,7838,1832,7839,3478,4506,7840,1319,3704, # 6838 -3705,1211,3581,1023,3227,1293,2799,7841,7842,7843,3826, 607,2306,3827, 762,2878, # 6854 -1439,4221,1360,7844,1485,3052,7845,4507,1038,4222,1450,2061,2638,4223,1379,4508, # 6870 -2585,7846,7847,4224,1352,1414,2325,2921,1172,7848,7849,3828,3829,7850,1797,1451, # 6886 -7851,7852,7853,7854,2922,4006,4007,2485,2346, 411,4008,4009,3582,3300,3101,4509, # 6902 -1561,2664,1452,4010,1375,7855,7856, 47,2959, 316,7857,1406,1591,2923,3156,7858, # 6918 -1025,2141,3102,3157, 354,2731, 884,2224,4225,2407, 508,3706, 726,3583, 996,2428, # 6934 -3584, 729,7859, 392,2191,1453,4011,4510,3707,7860,7861,2458,3585,2608,1675,2800, # 6950 - 919,2347,2960,2348,1270,4511,4012, 73,7862,7863, 647,7864,3228,2843,2255,1550, # 6966 -1346,3006,7865,1332, 883,3479,7866,7867,7868,7869,3301,2765,7870,1212, 831,1347, # 6982 -4226,4512,2326,3830,1863,3053, 720,3831,4513,4514,3832,7871,4227,7872,7873,4515, # 6998 -7874,7875,1798,4516,3708,2609,4517,3586,1645,2371,7876,7877,2924, 669,2208,2665, # 7014 -2429,7878,2879,7879,7880,1028,3229,7881,4228,2408,7882,2256,1353,7883,7884,4518, # 7030 -3158, 518,7885,4013,7886,4229,1960,7887,2142,4230,7888,7889,3007,2349,2350,3833, # 7046 - 516,1833,1454,4014,2699,4231,4519,2225,2610,1971,1129,3587,7890,2766,7891,2961, # 7062 -1422, 577,1470,3008,1524,3373,7892,7893, 432,4232,3054,3480,7894,2586,1455,2508, # 7078 -2226,1972,1175,7895,1020,2732,4015,3481,4520,7896,2733,7897,1743,1361,3055,3482, # 7094 -2639,4016,4233,4521,2290, 895, 924,4234,2170, 331,2243,3056, 166,1627,3057,1098, # 7110 -7898,1232,2880,2227,3374,4522, 657, 403,1196,2372, 542,3709,3375,1600,4235,3483, # 7126 -7899,4523,2767,3230, 576, 530,1362,7900,4524,2533,2666,3710,4017,7901, 842,3834, # 7142 -7902,2801,2031,1014,4018, 213,2700,3376, 665, 621,4236,7903,3711,2925,2430,7904, # 7158 -2431,3302,3588,3377,7905,4237,2534,4238,4525,3589,1682,4239,3484,1380,7906, 724, # 7174 -2277, 600,1670,7907,1337,1233,4526,3103,2244,7908,1621,4527,7909, 651,4240,7910, # 7190 -1612,4241,2611,7911,2844,7912,2734,2307,3058,7913, 716,2459,3059, 174,1255,2701, # 7206 -4019,3590, 548,1320,1398, 728,4020,1574,7914,1890,1197,3060,4021,7915,3061,3062, # 7222 -3712,3591,3713, 747,7916, 635,4242,4528,7917,7918,7919,4243,7920,7921,4529,7922, # 7238 -3378,4530,2432, 451,7923,3714,2535,2072,4244,2735,4245,4022,7924,1764,4531,7925, # 7254 -4246, 350,7926,2278,2390,2486,7927,4247,4023,2245,1434,4024, 488,4532, 458,4248, # 7270 -4025,3715, 771,1330,2391,3835,2568,3159,2159,2409,1553,2667,3160,4249,7928,2487, # 7286 -2881,2612,1720,2702,4250,3379,4533,7929,2536,4251,7930,3231,4252,2768,7931,2015, # 7302 -2736,7932,1155,1017,3716,3836,7933,3303,2308, 201,1864,4253,1430,7934,4026,7935, # 7318 -7936,7937,7938,7939,4254,1604,7940, 414,1865, 371,2587,4534,4535,3485,2016,3104, # 7334 -4536,1708, 960,4255, 887, 389,2171,1536,1663,1721,7941,2228,4027,2351,2926,1580, # 7350 -7942,7943,7944,1744,7945,2537,4537,4538,7946,4539,7947,2073,7948,7949,3592,3380, # 7366 -2882,4256,7950,4257,2640,3381,2802, 673,2703,2460, 709,3486,4028,3593,4258,7951, # 7382 -1148, 502, 634,7952,7953,1204,4540,3594,1575,4541,2613,3717,7954,3718,3105, 948, # 7398 -3232, 121,1745,3837,1110,7955,4259,3063,2509,3009,4029,3719,1151,1771,3838,1488, # 7414 -4030,1986,7956,2433,3487,7957,7958,2093,7959,4260,3839,1213,1407,2803, 531,2737, # 7430 -2538,3233,1011,1537,7960,2769,4261,3106,1061,7961,3720,3721,1866,2883,7962,2017, # 7446 - 120,4262,4263,2062,3595,3234,2309,3840,2668,3382,1954,4542,7963,7964,3488,1047, # 7462 -2704,1266,7965,1368,4543,2845, 649,3383,3841,2539,2738,1102,2846,2669,7966,7967, # 7478 -1999,7968,1111,3596,2962,7969,2488,3842,3597,2804,1854,3384,3722,7970,7971,3385, # 7494 -2410,2884,3304,3235,3598,7972,2569,7973,3599,2805,4031,1460, 856,7974,3600,7975, # 7510 -2885,2963,7976,2886,3843,7977,4264, 632,2510, 875,3844,1697,3845,2291,7978,7979, # 7526 -4544,3010,1239, 580,4545,4265,7980, 914, 936,2074,1190,4032,1039,2123,7981,7982, # 7542 -7983,3386,1473,7984,1354,4266,3846,7985,2172,3064,4033, 915,3305,4267,4268,3306, # 7558 -1605,1834,7986,2739, 398,3601,4269,3847,4034, 328,1912,2847,4035,3848,1331,4270, # 7574 -3011, 937,4271,7987,3602,4036,4037,3387,2160,4546,3388, 524, 742, 538,3065,1012, # 7590 -7988,7989,3849,2461,7990, 658,1103, 225,3850,7991,7992,4547,7993,4548,7994,3236, # 7606 -1243,7995,4038, 963,2246,4549,7996,2705,3603,3161,7997,7998,2588,2327,7999,4550, # 7622 -8000,8001,8002,3489,3307, 957,3389,2540,2032,1930,2927,2462, 870,2018,3604,1746, # 7638 -2770,2771,2434,2463,8003,3851,8004,3723,3107,3724,3490,3390,3725,8005,1179,3066, # 7654 -8006,3162,2373,4272,3726,2541,3163,3108,2740,4039,8007,3391,1556,2542,2292, 977, # 7670 -2887,2033,4040,1205,3392,8008,1765,3393,3164,2124,1271,1689, 714,4551,3491,8009, # 7686 -2328,3852, 533,4273,3605,2181, 617,8010,2464,3308,3492,2310,8011,8012,3165,8013, # 7702 -8014,3853,1987, 618, 427,2641,3493,3394,8015,8016,1244,1690,8017,2806,4274,4552, # 7718 -8018,3494,8019,8020,2279,1576, 473,3606,4275,3395, 972,8021,3607,8022,3067,8023, # 7734 -8024,4553,4554,8025,3727,4041,4042,8026, 153,4555, 356,8027,1891,2888,4276,2143, # 7750 - 408, 803,2352,8028,3854,8029,4277,1646,2570,2511,4556,4557,3855,8030,3856,4278, # 7766 -8031,2411,3396, 752,8032,8033,1961,2964,8034, 746,3012,2465,8035,4279,3728, 698, # 7782 -4558,1892,4280,3608,2543,4559,3609,3857,8036,3166,3397,8037,1823,1302,4043,2706, # 7798 -3858,1973,4281,8038,4282,3167, 823,1303,1288,1236,2848,3495,4044,3398, 774,3859, # 7814 -8039,1581,4560,1304,2849,3860,4561,8040,2435,2161,1083,3237,4283,4045,4284, 344, # 7830 -1173, 288,2311, 454,1683,8041,8042,1461,4562,4046,2589,8043,8044,4563, 985, 894, # 7846 -8045,3399,3168,8046,1913,2928,3729,1988,8047,2110,1974,8048,4047,8049,2571,1194, # 7862 - 425,8050,4564,3169,1245,3730,4285,8051,8052,2850,8053, 636,4565,1855,3861, 760, # 7878 -1799,8054,4286,2209,1508,4566,4048,1893,1684,2293,8055,8056,8057,4287,4288,2210, # 7894 - 479,8058,8059, 832,8060,4049,2489,8061,2965,2490,3731, 990,3109, 627,1814,2642, # 7910 -4289,1582,4290,2125,2111,3496,4567,8062, 799,4291,3170,8063,4568,2112,1737,3013, # 7926 -1018, 543, 754,4292,3309,1676,4569,4570,4050,8064,1489,8065,3497,8066,2614,2889, # 7942 -4051,8067,8068,2966,8069,8070,8071,8072,3171,4571,4572,2182,1722,8073,3238,3239, # 7958 -1842,3610,1715, 481, 365,1975,1856,8074,8075,1962,2491,4573,8076,2126,3611,3240, # 7974 - 433,1894,2063,2075,8077, 602,2741,8078,8079,8080,8081,8082,3014,1628,3400,8083, # 7990 -3172,4574,4052,2890,4575,2512,8084,2544,2772,8085,8086,8087,3310,4576,2891,8088, # 8006 -4577,8089,2851,4578,4579,1221,2967,4053,2513,8090,8091,8092,1867,1989,8093,8094, # 8022 -8095,1895,8096,8097,4580,1896,4054, 318,8098,2094,4055,4293,8099,8100, 485,8101, # 8038 - 938,3862, 553,2670, 116,8102,3863,3612,8103,3498,2671,2773,3401,3311,2807,8104, # 8054 -3613,2929,4056,1747,2930,2968,8105,8106, 207,8107,8108,2672,4581,2514,8109,3015, # 8070 - 890,3614,3864,8110,1877,3732,3402,8111,2183,2353,3403,1652,8112,8113,8114, 941, # 8086 -2294, 208,3499,4057,2019, 330,4294,3865,2892,2492,3733,4295,8115,8116,8117,8118, # 8102 -) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/euctwprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/euctwprober.py deleted file mode 100644 index 35669cc..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/euctwprober.py +++ /dev/null @@ -1,46 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCTWDistributionAnalysis -from .mbcssm import EUCTW_SM_MODEL - -class EUCTWProber(MultiByteCharSetProber): - def __init__(self): - super(EUCTWProber, self).__init__() - self.coding_sm = CodingStateMachine(EUCTW_SM_MODEL) - self.distribution_analyzer = EUCTWDistributionAnalysis() - self.reset() - - @property - def charset_name(self): - return "EUC-TW" - - @property - def language(self): - return "Taiwan" diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/gb2312freq.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/gb2312freq.py deleted file mode 100644 index 697837b..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/gb2312freq.py +++ /dev/null @@ -1,283 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# GB2312 most frequently used character table -# -# Char to FreqOrder table , from hz6763 - -# 512 --> 0.79 -- 0.79 -# 1024 --> 0.92 -- 0.13 -# 2048 --> 0.98 -- 0.06 -# 6768 --> 1.00 -- 0.02 -# -# Ideal Distribution Ratio = 0.79135/(1-0.79135) = 3.79 -# Random Distribution Ration = 512 / (3755 - 512) = 0.157 -# -# Typical Distribution Ratio about 25% of Ideal one, still much higher that RDR - -GB2312_TYPICAL_DISTRIBUTION_RATIO = 0.9 - -GB2312_TABLE_SIZE = 3760 - -GB2312_CHAR_TO_FREQ_ORDER = ( -1671, 749,1443,2364,3924,3807,2330,3921,1704,3463,2691,1511,1515, 572,3191,2205, -2361, 224,2558, 479,1711, 963,3162, 440,4060,1905,2966,2947,3580,2647,3961,3842, -2204, 869,4207, 970,2678,5626,2944,2956,1479,4048, 514,3595, 588,1346,2820,3409, - 249,4088,1746,1873,2047,1774, 581,1813, 358,1174,3590,1014,1561,4844,2245, 670, -1636,3112, 889,1286, 953, 556,2327,3060,1290,3141, 613, 185,3477,1367, 850,3820, -1715,2428,2642,2303,2732,3041,2562,2648,3566,3946,1349, 388,3098,2091,1360,3585, - 152,1687,1539, 738,1559, 59,1232,2925,2267,1388,1249,1741,1679,2960, 151,1566, -1125,1352,4271, 924,4296, 385,3166,4459, 310,1245,2850, 70,3285,2729,3534,3575, -2398,3298,3466,1960,2265, 217,3647, 864,1909,2084,4401,2773,1010,3269,5152, 853, -3051,3121,1244,4251,1895, 364,1499,1540,2313,1180,3655,2268, 562, 715,2417,3061, - 544, 336,3768,2380,1752,4075, 950, 280,2425,4382, 183,2759,3272, 333,4297,2155, -1688,2356,1444,1039,4540, 736,1177,3349,2443,2368,2144,2225, 565, 196,1482,3406, - 927,1335,4147, 692, 878,1311,1653,3911,3622,1378,4200,1840,2969,3149,2126,1816, -2534,1546,2393,2760, 737,2494, 13, 447, 245,2747, 38,2765,2129,2589,1079, 606, - 360, 471,3755,2890, 404, 848, 699,1785,1236, 370,2221,1023,3746,2074,2026,2023, -2388,1581,2119, 812,1141,3091,2536,1519, 804,2053, 406,1596,1090, 784, 548,4414, -1806,2264,2936,1100, 343,4114,5096, 622,3358, 743,3668,1510,1626,5020,3567,2513, -3195,4115,5627,2489,2991, 24,2065,2697,1087,2719, 48,1634, 315, 68, 985,2052, - 198,2239,1347,1107,1439, 597,2366,2172, 871,3307, 919,2487,2790,1867, 236,2570, -1413,3794, 906,3365,3381,1701,1982,1818,1524,2924,1205, 616,2586,2072,2004, 575, - 253,3099, 32,1365,1182, 197,1714,2454,1201, 554,3388,3224,2748, 756,2587, 250, -2567,1507,1517,3529,1922,2761,2337,3416,1961,1677,2452,2238,3153, 615, 911,1506, -1474,2495,1265,1906,2749,3756,3280,2161, 898,2714,1759,3450,2243,2444, 563, 26, -3286,2266,3769,3344,2707,3677, 611,1402, 531,1028,2871,4548,1375, 261,2948, 835, -1190,4134, 353, 840,2684,1900,3082,1435,2109,1207,1674, 329,1872,2781,4055,2686, -2104, 608,3318,2423,2957,2768,1108,3739,3512,3271,3985,2203,1771,3520,1418,2054, -1681,1153, 225,1627,2929, 162,2050,2511,3687,1954, 124,1859,2431,1684,3032,2894, - 585,4805,3969,2869,2704,2088,2032,2095,3656,2635,4362,2209, 256, 518,2042,2105, -3777,3657, 643,2298,1148,1779, 190, 989,3544, 414, 11,2135,2063,2979,1471, 403, -3678, 126, 770,1563, 671,2499,3216,2877, 600,1179, 307,2805,4937,1268,1297,2694, - 252,4032,1448,1494,1331,1394, 127,2256, 222,1647,1035,1481,3056,1915,1048, 873, -3651, 210, 33,1608,2516, 200,1520, 415, 102, 0,3389,1287, 817, 91,3299,2940, - 836,1814, 549,2197,1396,1669,2987,3582,2297,2848,4528,1070, 687, 20,1819, 121, -1552,1364,1461,1968,2617,3540,2824,2083, 177, 948,4938,2291, 110,4549,2066, 648, -3359,1755,2110,2114,4642,4845,1693,3937,3308,1257,1869,2123, 208,1804,3159,2992, -2531,2549,3361,2418,1350,2347,2800,2568,1291,2036,2680, 72, 842,1990, 212,1233, -1154,1586, 75,2027,3410,4900,1823,1337,2710,2676, 728,2810,1522,3026,4995, 157, - 755,1050,4022, 710, 785,1936,2194,2085,1406,2777,2400, 150,1250,4049,1206, 807, -1910, 534, 529,3309,1721,1660, 274, 39,2827, 661,2670,1578, 925,3248,3815,1094, -4278,4901,4252, 41,1150,3747,2572,2227,4501,3658,4902,3813,3357,3617,2884,2258, - 887, 538,4187,3199,1294,2439,3042,2329,2343,2497,1255, 107, 543,1527, 521,3478, -3568, 194,5062, 15, 961,3870,1241,1192,2664, 66,5215,3260,2111,1295,1127,2152, -3805,4135, 901,1164,1976, 398,1278, 530,1460, 748, 904,1054,1966,1426, 53,2909, - 509, 523,2279,1534, 536,1019, 239,1685, 460,2353, 673,1065,2401,3600,4298,2272, -1272,2363, 284,1753,3679,4064,1695, 81, 815,2677,2757,2731,1386, 859, 500,4221, -2190,2566, 757,1006,2519,2068,1166,1455, 337,2654,3203,1863,1682,1914,3025,1252, -1409,1366, 847, 714,2834,2038,3209, 964,2970,1901, 885,2553,1078,1756,3049, 301, -1572,3326, 688,2130,1996,2429,1805,1648,2930,3421,2750,3652,3088, 262,1158,1254, - 389,1641,1812, 526,1719, 923,2073,1073,1902, 468, 489,4625,1140, 857,2375,3070, -3319,2863, 380, 116,1328,2693,1161,2244, 273,1212,1884,2769,3011,1775,1142, 461, -3066,1200,2147,2212, 790, 702,2695,4222,1601,1058, 434,2338,5153,3640, 67,2360, -4099,2502, 618,3472,1329, 416,1132, 830,2782,1807,2653,3211,3510,1662, 192,2124, - 296,3979,1739,1611,3684, 23, 118, 324, 446,1239,1225, 293,2520,3814,3795,2535, -3116, 17,1074, 467,2692,2201, 387,2922, 45,1326,3055,1645,3659,2817, 958, 243, -1903,2320,1339,2825,1784,3289, 356, 576, 865,2315,2381,3377,3916,1088,3122,1713, -1655, 935, 628,4689,1034,1327, 441, 800, 720, 894,1979,2183,1528,5289,2702,1071, -4046,3572,2399,1571,3281, 79, 761,1103, 327, 134, 758,1899,1371,1615, 879, 442, - 215,2605,2579, 173,2048,2485,1057,2975,3317,1097,2253,3801,4263,1403,1650,2946, - 814,4968,3487,1548,2644,1567,1285, 2, 295,2636, 97, 946,3576, 832, 141,4257, -3273, 760,3821,3521,3156,2607, 949,1024,1733,1516,1803,1920,2125,2283,2665,3180, -1501,2064,3560,2171,1592, 803,3518,1416, 732,3897,4258,1363,1362,2458, 119,1427, - 602,1525,2608,1605,1639,3175, 694,3064, 10, 465, 76,2000,4846,4208, 444,3781, -1619,3353,2206,1273,3796, 740,2483, 320,1723,2377,3660,2619,1359,1137,1762,1724, -2345,2842,1850,1862, 912, 821,1866, 612,2625,1735,2573,3369,1093, 844, 89, 937, - 930,1424,3564,2413,2972,1004,3046,3019,2011, 711,3171,1452,4178, 428, 801,1943, - 432, 445,2811, 206,4136,1472, 730, 349, 73, 397,2802,2547, 998,1637,1167, 789, - 396,3217, 154,1218, 716,1120,1780,2819,4826,1931,3334,3762,2139,1215,2627, 552, -3664,3628,3232,1405,2383,3111,1356,2652,3577,3320,3101,1703, 640,1045,1370,1246, -4996, 371,1575,2436,1621,2210, 984,4033,1734,2638, 16,4529, 663,2755,3255,1451, -3917,2257,1253,1955,2234,1263,2951, 214,1229, 617, 485, 359,1831,1969, 473,2310, - 750,2058, 165, 80,2864,2419, 361,4344,2416,2479,1134, 796,3726,1266,2943, 860, -2715, 938, 390,2734,1313,1384, 248, 202, 877,1064,2854, 522,3907, 279,1602, 297, -2357, 395,3740, 137,2075, 944,4089,2584,1267,3802, 62,1533,2285, 178, 176, 780, -2440, 201,3707, 590, 478,1560,4354,2117,1075, 30, 74,4643,4004,1635,1441,2745, - 776,2596, 238,1077,1692,1912,2844, 605, 499,1742,3947, 241,3053, 980,1749, 936, -2640,4511,2582, 515,1543,2162,5322,2892,2993, 890,2148,1924, 665,1827,3581,1032, - 968,3163, 339,1044,1896, 270, 583,1791,1720,4367,1194,3488,3669, 43,2523,1657, - 163,2167, 290,1209,1622,3378, 550, 634,2508,2510, 695,2634,2384,2512,1476,1414, - 220,1469,2341,2138,2852,3183,2900,4939,2865,3502,1211,3680, 854,3227,1299,2976, -3172, 186,2998,1459, 443,1067,3251,1495, 321,1932,3054, 909, 753,1410,1828, 436, -2441,1119,1587,3164,2186,1258, 227, 231,1425,1890,3200,3942, 247, 959, 725,5254, -2741, 577,2158,2079, 929, 120, 174, 838,2813, 591,1115, 417,2024, 40,3240,1536, -1037, 291,4151,2354, 632,1298,2406,2500,3535,1825,1846,3451, 205,1171, 345,4238, - 18,1163, 811, 685,2208,1217, 425,1312,1508,1175,4308,2552,1033, 587,1381,3059, -2984,3482, 340,1316,4023,3972, 792,3176, 519, 777,4690, 918, 933,4130,2981,3741, - 90,3360,2911,2200,5184,4550, 609,3079,2030, 272,3379,2736, 363,3881,1130,1447, - 286, 779, 357,1169,3350,3137,1630,1220,2687,2391, 747,1277,3688,2618,2682,2601, -1156,3196,5290,4034,3102,1689,3596,3128, 874, 219,2783, 798, 508,1843,2461, 269, -1658,1776,1392,1913,2983,3287,2866,2159,2372, 829,4076, 46,4253,2873,1889,1894, - 915,1834,1631,2181,2318, 298, 664,2818,3555,2735, 954,3228,3117, 527,3511,2173, - 681,2712,3033,2247,2346,3467,1652, 155,2164,3382, 113,1994, 450, 899, 494, 994, -1237,2958,1875,2336,1926,3727, 545,1577,1550, 633,3473, 204,1305,3072,2410,1956, -2471, 707,2134, 841,2195,2196,2663,3843,1026,4940, 990,3252,4997, 368,1092, 437, -3212,3258,1933,1829, 675,2977,2893, 412, 943,3723,4644,3294,3283,2230,2373,5154, -2389,2241,2661,2323,1404,2524, 593, 787, 677,3008,1275,2059, 438,2709,2609,2240, -2269,2246,1446, 36,1568,1373,3892,1574,2301,1456,3962, 693,2276,5216,2035,1143, -2720,1919,1797,1811,2763,4137,2597,1830,1699,1488,1198,2090, 424,1694, 312,3634, -3390,4179,3335,2252,1214, 561,1059,3243,2295,2561, 975,5155,2321,2751,3772, 472, -1537,3282,3398,1047,2077,2348,2878,1323,3340,3076, 690,2906, 51, 369, 170,3541, -1060,2187,2688,3670,2541,1083,1683, 928,3918, 459, 109,4427, 599,3744,4286, 143, -2101,2730,2490, 82,1588,3036,2121, 281,1860, 477,4035,1238,2812,3020,2716,3312, -1530,2188,2055,1317, 843, 636,1808,1173,3495, 649, 181,1002, 147,3641,1159,2414, -3750,2289,2795, 813,3123,2610,1136,4368, 5,3391,4541,2174, 420, 429,1728, 754, -1228,2115,2219, 347,2223,2733, 735,1518,3003,2355,3134,1764,3948,3329,1888,2424, -1001,1234,1972,3321,3363,1672,1021,1450,1584, 226, 765, 655,2526,3404,3244,2302, -3665, 731, 594,2184, 319,1576, 621, 658,2656,4299,2099,3864,1279,2071,2598,2739, - 795,3086,3699,3908,1707,2352,2402,1382,3136,2475,1465,4847,3496,3865,1085,3004, -2591,1084, 213,2287,1963,3565,2250, 822, 793,4574,3187,1772,1789,3050, 595,1484, -1959,2770,1080,2650, 456, 422,2996, 940,3322,4328,4345,3092,2742, 965,2784, 739, -4124, 952,1358,2498,2949,2565, 332,2698,2378, 660,2260,2473,4194,3856,2919, 535, -1260,2651,1208,1428,1300,1949,1303,2942, 433,2455,2450,1251,1946, 614,1269, 641, -1306,1810,2737,3078,2912, 564,2365,1419,1415,1497,4460,2367,2185,1379,3005,1307, -3218,2175,1897,3063, 682,1157,4040,4005,1712,1160,1941,1399, 394, 402,2952,1573, -1151,2986,2404, 862, 299,2033,1489,3006, 346, 171,2886,3401,1726,2932, 168,2533, - 47,2507,1030,3735,1145,3370,1395,1318,1579,3609,4560,2857,4116,1457,2529,1965, - 504,1036,2690,2988,2405, 745,5871, 849,2397,2056,3081, 863,2359,3857,2096, 99, -1397,1769,2300,4428,1643,3455,1978,1757,3718,1440, 35,4879,3742,1296,4228,2280, - 160,5063,1599,2013, 166, 520,3479,1646,3345,3012, 490,1937,1545,1264,2182,2505, -1096,1188,1369,1436,2421,1667,2792,2460,1270,2122, 727,3167,2143, 806,1706,1012, -1800,3037, 960,2218,1882, 805, 139,2456,1139,1521, 851,1052,3093,3089, 342,2039, - 744,5097,1468,1502,1585,2087, 223, 939, 326,2140,2577, 892,2481,1623,4077, 982, -3708, 135,2131, 87,2503,3114,2326,1106, 876,1616, 547,2997,2831,2093,3441,4530, -4314, 9,3256,4229,4148, 659,1462,1986,1710,2046,2913,2231,4090,4880,5255,3392, -3274,1368,3689,4645,1477, 705,3384,3635,1068,1529,2941,1458,3782,1509, 100,1656, -2548, 718,2339, 408,1590,2780,3548,1838,4117,3719,1345,3530, 717,3442,2778,3220, -2898,1892,4590,3614,3371,2043,1998,1224,3483, 891, 635, 584,2559,3355, 733,1766, -1729,1172,3789,1891,2307, 781,2982,2271,1957,1580,5773,2633,2005,4195,3097,1535, -3213,1189,1934,5693,3262, 586,3118,1324,1598, 517,1564,2217,1868,1893,4445,3728, -2703,3139,1526,1787,1992,3882,2875,1549,1199,1056,2224,1904,2711,5098,4287, 338, -1993,3129,3489,2689,1809,2815,1997, 957,1855,3898,2550,3275,3057,1105,1319, 627, -1505,1911,1883,3526, 698,3629,3456,1833,1431, 746, 77,1261,2017,2296,1977,1885, - 125,1334,1600, 525,1798,1109,2222,1470,1945, 559,2236,1186,3443,2476,1929,1411, -2411,3135,1777,3372,2621,1841,1613,3229, 668,1430,1839,2643,2916, 195,1989,2671, -2358,1387, 629,3205,2293,5256,4439, 123,1310, 888,1879,4300,3021,3605,1003,1162, -3192,2910,2010, 140,2395,2859, 55,1082,2012,2901, 662, 419,2081,1438, 680,2774, -4654,3912,1620,1731,1625,5035,4065,2328, 512,1344, 802,5443,2163,2311,2537, 524, -3399, 98,1155,2103,1918,2606,3925,2816,1393,2465,1504,3773,2177,3963,1478,4346, - 180,1113,4655,3461,2028,1698, 833,2696,1235,1322,1594,4408,3623,3013,3225,2040, -3022, 541,2881, 607,3632,2029,1665,1219, 639,1385,1686,1099,2803,3231,1938,3188, -2858, 427, 676,2772,1168,2025, 454,3253,2486,3556, 230,1950, 580, 791,1991,1280, -1086,1974,2034, 630, 257,3338,2788,4903,1017, 86,4790, 966,2789,1995,1696,1131, - 259,3095,4188,1308, 179,1463,5257, 289,4107,1248, 42,3413,1725,2288, 896,1947, - 774,4474,4254, 604,3430,4264, 392,2514,2588, 452, 237,1408,3018, 988,4531,1970, -3034,3310, 540,2370,1562,1288,2990, 502,4765,1147, 4,1853,2708, 207, 294,2814, -4078,2902,2509, 684, 34,3105,3532,2551, 644, 709,2801,2344, 573,1727,3573,3557, -2021,1081,3100,4315,2100,3681, 199,2263,1837,2385, 146,3484,1195,2776,3949, 997, -1939,3973,1008,1091,1202,1962,1847,1149,4209,5444,1076, 493, 117,5400,2521, 972, -1490,2934,1796,4542,2374,1512,2933,2657, 413,2888,1135,2762,2314,2156,1355,2369, - 766,2007,2527,2170,3124,2491,2593,2632,4757,2437, 234,3125,3591,1898,1750,1376, -1942,3468,3138, 570,2127,2145,3276,4131, 962, 132,1445,4196, 19, 941,3624,3480, -3366,1973,1374,4461,3431,2629, 283,2415,2275, 808,2887,3620,2112,2563,1353,3610, - 955,1089,3103,1053, 96, 88,4097, 823,3808,1583, 399, 292,4091,3313, 421,1128, - 642,4006, 903,2539,1877,2082, 596, 29,4066,1790, 722,2157, 130, 995,1569, 769, -1485, 464, 513,2213, 288,1923,1101,2453,4316, 133, 486,2445, 50, 625, 487,2207, - 57, 423, 481,2962, 159,3729,1558, 491, 303, 482, 501, 240,2837, 112,3648,2392, -1783, 362, 8,3433,3422, 610,2793,3277,1390,1284,1654, 21,3823, 734, 367, 623, - 193, 287, 374,1009,1483, 816, 476, 313,2255,2340,1262,2150,2899,1146,2581, 782, -2116,1659,2018,1880, 255,3586,3314,1110,2867,2137,2564, 986,2767,5185,2006, 650, - 158, 926, 762, 881,3157,2717,2362,3587, 306,3690,3245,1542,3077,2427,1691,2478, -2118,2985,3490,2438, 539,2305, 983, 129,1754, 355,4201,2386, 827,2923, 104,1773, -2838,2771, 411,2905,3919, 376, 767, 122,1114, 828,2422,1817,3506, 266,3460,1007, -1609,4998, 945,2612,4429,2274, 726,1247,1964,2914,2199,2070,4002,4108, 657,3323, -1422, 579, 455,2764,4737,1222,2895,1670, 824,1223,1487,2525, 558, 861,3080, 598, -2659,2515,1967, 752,2583,2376,2214,4180, 977, 704,2464,4999,2622,4109,1210,2961, - 819,1541, 142,2284, 44, 418, 457,1126,3730,4347,4626,1644,1876,3671,1864, 302, -1063,5694, 624, 723,1984,3745,1314,1676,2488,1610,1449,3558,3569,2166,2098, 409, -1011,2325,3704,2306, 818,1732,1383,1824,1844,3757, 999,2705,3497,1216,1423,2683, -2426,2954,2501,2726,2229,1475,2554,5064,1971,1794,1666,2014,1343, 783, 724, 191, -2434,1354,2220,5065,1763,2752,2472,4152, 131, 175,2885,3434, 92,1466,4920,2616, -3871,3872,3866, 128,1551,1632, 669,1854,3682,4691,4125,1230, 188,2973,3290,1302, -1213, 560,3266, 917, 763,3909,3249,1760, 868,1958, 764,1782,2097, 145,2277,3774, -4462, 64,1491,3062, 971,2132,3606,2442, 221,1226,1617, 218, 323,1185,3207,3147, - 571, 619,1473,1005,1744,2281, 449,1887,2396,3685, 275, 375,3816,1743,3844,3731, - 845,1983,2350,4210,1377, 773, 967,3499,3052,3743,2725,4007,1697,1022,3943,1464, -3264,2855,2722,1952,1029,2839,2467, 84,4383,2215, 820,1391,2015,2448,3672, 377, -1948,2168, 797,2545,3536,2578,2645, 94,2874,1678, 405,1259,3071, 771, 546,1315, - 470,1243,3083, 895,2468, 981, 969,2037, 846,4181, 653,1276,2928, 14,2594, 557, -3007,2474, 156, 902,1338,1740,2574, 537,2518, 973,2282,2216,2433,1928, 138,2903, -1293,2631,1612, 646,3457, 839,2935, 111, 496,2191,2847, 589,3186, 149,3994,2060, -4031,2641,4067,3145,1870, 37,3597,2136,1025,2051,3009,3383,3549,1121,1016,3261, -1301, 251,2446,2599,2153, 872,3246, 637, 334,3705, 831, 884, 921,3065,3140,4092, -2198,1944, 246,2964, 108,2045,1152,1921,2308,1031, 203,3173,4170,1907,3890, 810, -1401,2003,1690, 506, 647,1242,2828,1761,1649,3208,2249,1589,3709,2931,5156,1708, - 498, 666,2613, 834,3817,1231, 184,2851,1124, 883,3197,2261,3710,1765,1553,2658, -1178,2639,2351, 93,1193, 942,2538,2141,4402, 235,1821, 870,1591,2192,1709,1871, -3341,1618,4126,2595,2334, 603, 651, 69, 701, 268,2662,3411,2555,1380,1606, 503, - 448, 254,2371,2646, 574,1187,2309,1770, 322,2235,1292,1801, 305, 566,1133, 229, -2067,2057, 706, 167, 483,2002,2672,3295,1820,3561,3067, 316, 378,2746,3452,1112, - 136,1981, 507,1651,2917,1117, 285,4591, 182,2580,3522,1304, 335,3303,1835,2504, -1795,1792,2248, 674,1018,2106,2449,1857,2292,2845, 976,3047,1781,2600,2727,1389, -1281, 52,3152, 153, 265,3950, 672,3485,3951,4463, 430,1183, 365, 278,2169, 27, -1407,1336,2304, 209,1340,1730,2202,1852,2403,2883, 979,1737,1062, 631,2829,2542, -3876,2592, 825,2086,2226,3048,3625, 352,1417,3724, 542, 991, 431,1351,3938,1861, -2294, 826,1361,2927,3142,3503,1738, 463,2462,2723, 582,1916,1595,2808, 400,3845, -3891,2868,3621,2254, 58,2492,1123, 910,2160,2614,1372,1603,1196,1072,3385,1700, -3267,1980, 696, 480,2430, 920, 799,1570,2920,1951,2041,4047,2540,1321,4223,2469, -3562,2228,1271,2602, 401,2833,3351,2575,5157, 907,2312,1256, 410, 263,3507,1582, - 996, 678,1849,2316,1480, 908,3545,2237, 703,2322, 667,1826,2849,1531,2604,2999, -2407,3146,2151,2630,1786,3711, 469,3542, 497,3899,2409, 858, 837,4446,3393,1274, - 786, 620,1845,2001,3311, 484, 308,3367,1204,1815,3691,2332,1532,2557,1842,2020, -2724,1927,2333,4440, 567, 22,1673,2728,4475,1987,1858,1144,1597, 101,1832,3601, - 12, 974,3783,4391, 951,1412, 1,3720, 453,4608,4041, 528,1041,1027,3230,2628, -1129, 875,1051,3291,1203,2262,1069,2860,2799,2149,2615,3278, 144,1758,3040, 31, - 475,1680, 366,2685,3184, 311,1642,4008,2466,5036,1593,1493,2809, 216,1420,1668, - 233, 304,2128,3284, 232,1429,1768,1040,2008,3407,2740,2967,2543, 242,2133, 778, -1565,2022,2620, 505,2189,2756,1098,2273, 372,1614, 708, 553,2846,2094,2278, 169, -3626,2835,4161, 228,2674,3165, 809,1454,1309, 466,1705,1095, 900,3423, 880,2667, -3751,5258,2317,3109,2571,4317,2766,1503,1342, 866,4447,1118, 63,2076, 314,1881, -1348,1061, 172, 978,3515,1747, 532, 511,3970, 6, 601, 905,2699,3300,1751, 276, -1467,3725,2668, 65,4239,2544,2779,2556,1604, 578,2451,1802, 992,2331,2624,1320, -3446, 713,1513,1013, 103,2786,2447,1661, 886,1702, 916, 654,3574,2031,1556, 751, -2178,2821,2179,1498,1538,2176, 271, 914,2251,2080,1325, 638,1953,2937,3877,2432, -2754, 95,3265,1716, 260,1227,4083, 775, 106,1357,3254, 426,1607, 555,2480, 772, -1985, 244,2546, 474, 495,1046,2611,1851,2061, 71,2089,1675,2590, 742,3758,2843, -3222,1433, 267,2180,2576,2826,2233,2092,3913,2435, 956,1745,3075, 856,2113,1116, - 451, 3,1988,2896,1398, 993,2463,1878,2049,1341,2718,2721,2870,2108, 712,2904, -4363,2753,2324, 277,2872,2349,2649, 384, 987, 435, 691,3000, 922, 164,3939, 652, -1500,1184,4153,2482,3373,2165,4848,2335,3775,3508,3154,2806,2830,1554,2102,1664, -2530,1434,2408, 893,1547,2623,3447,2832,2242,2532,3169,2856,3223,2078, 49,3770, -3469, 462, 318, 656,2259,3250,3069, 679,1629,2758, 344,1138,1104,3120,1836,1283, -3115,2154,1437,4448, 934, 759,1999, 794,2862,1038, 533,2560,1722,2342, 855,2626, -1197,1663,4476,3127, 85,4240,2528, 25,1111,1181,3673, 407,3470,4561,2679,2713, - 768,1925,2841,3986,1544,1165, 932, 373,1240,2146,1930,2673, 721,4766, 354,4333, - 391,2963, 187, 61,3364,1442,1102, 330,1940,1767, 341,3809,4118, 393,2496,2062, -2211, 105, 331, 300, 439, 913,1332, 626, 379,3304,1557, 328, 689,3952, 309,1555, - 931, 317,2517,3027, 325, 569, 686,2107,3084, 60,1042,1333,2794, 264,3177,4014, -1628, 258,3712, 7,4464,1176,1043,1778, 683, 114,1975, 78,1492, 383,1886, 510, - 386, 645,5291,2891,2069,3305,4138,3867,2939,2603,2493,1935,1066,1848,3588,1015, -1282,1289,4609, 697,1453,3044,2666,3611,1856,2412, 54, 719,1330, 568,3778,2459, -1748, 788, 492, 551,1191,1000, 488,3394,3763, 282,1799, 348,2016,1523,3155,2390, -1049, 382,2019,1788,1170, 729,2968,3523, 897,3926,2785,2938,3292, 350,2319,3238, -1718,1717,2655,3453,3143,4465, 161,2889,2980,2009,1421, 56,1908,1640,2387,2232, -1917,1874,2477,4921, 148, 83,3438, 592,4245,2882,1822,1055, 741, 115,1496,1624, - 381,1638,4592,1020, 516,3214, 458, 947,4575,1432, 211,1514,2926,1865,2142, 189, - 852,1221,1400,1486, 882,2299,4036, 351, 28,1122, 700,6479,6480,6481,6482,6483, #last 512 -) - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/gb2312prober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/gb2312prober.py deleted file mode 100644 index 8446d2d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/gb2312prober.py +++ /dev/null @@ -1,46 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import GB2312DistributionAnalysis -from .mbcssm import GB2312_SM_MODEL - -class GB2312Prober(MultiByteCharSetProber): - def __init__(self): - super(GB2312Prober, self).__init__() - self.coding_sm = CodingStateMachine(GB2312_SM_MODEL) - self.distribution_analyzer = GB2312DistributionAnalysis() - self.reset() - - @property - def charset_name(self): - return "GB2312" - - @property - def language(self): - return "Chinese" diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/hebrewprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/hebrewprober.py deleted file mode 100644 index b0e1bf4..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/hebrewprober.py +++ /dev/null @@ -1,292 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Shy Shalom -# Portions created by the Initial Developer are Copyright (C) 2005 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetprober import CharSetProber -from .enums import ProbingState - -# This prober doesn't actually recognize a language or a charset. -# It is a helper prober for the use of the Hebrew model probers - -### General ideas of the Hebrew charset recognition ### -# -# Four main charsets exist in Hebrew: -# "ISO-8859-8" - Visual Hebrew -# "windows-1255" - Logical Hebrew -# "ISO-8859-8-I" - Logical Hebrew -# "x-mac-hebrew" - ?? Logical Hebrew ?? -# -# Both "ISO" charsets use a completely identical set of code points, whereas -# "windows-1255" and "x-mac-hebrew" are two different proper supersets of -# these code points. windows-1255 defines additional characters in the range -# 0x80-0x9F as some misc punctuation marks as well as some Hebrew-specific -# diacritics and additional 'Yiddish' ligature letters in the range 0xc0-0xd6. -# x-mac-hebrew defines similar additional code points but with a different -# mapping. -# -# As far as an average Hebrew text with no diacritics is concerned, all four -# charsets are identical with respect to code points. Meaning that for the -# main Hebrew alphabet, all four map the same values to all 27 Hebrew letters -# (including final letters). -# -# The dominant difference between these charsets is their directionality. -# "Visual" directionality means that the text is ordered as if the renderer is -# not aware of a BIDI rendering algorithm. The renderer sees the text and -# draws it from left to right. The text itself when ordered naturally is read -# backwards. A buffer of Visual Hebrew generally looks like so: -# "[last word of first line spelled backwards] [whole line ordered backwards -# and spelled backwards] [first word of first line spelled backwards] -# [end of line] [last word of second line] ... etc' " -# adding punctuation marks, numbers and English text to visual text is -# naturally also "visual" and from left to right. -# -# "Logical" directionality means the text is ordered "naturally" according to -# the order it is read. It is the responsibility of the renderer to display -# the text from right to left. A BIDI algorithm is used to place general -# punctuation marks, numbers and English text in the text. -# -# Texts in x-mac-hebrew are almost impossible to find on the Internet. From -# what little evidence I could find, it seems that its general directionality -# is Logical. -# -# To sum up all of the above, the Hebrew probing mechanism knows about two -# charsets: -# Visual Hebrew - "ISO-8859-8" - backwards text - Words and sentences are -# backwards while line order is natural. For charset recognition purposes -# the line order is unimportant (In fact, for this implementation, even -# word order is unimportant). -# Logical Hebrew - "windows-1255" - normal, naturally ordered text. -# -# "ISO-8859-8-I" is a subset of windows-1255 and doesn't need to be -# specifically identified. -# "x-mac-hebrew" is also identified as windows-1255. A text in x-mac-hebrew -# that contain special punctuation marks or diacritics is displayed with -# some unconverted characters showing as question marks. This problem might -# be corrected using another model prober for x-mac-hebrew. Due to the fact -# that x-mac-hebrew texts are so rare, writing another model prober isn't -# worth the effort and performance hit. -# -#### The Prober #### -# -# The prober is divided between two SBCharSetProbers and a HebrewProber, -# all of which are managed, created, fed data, inquired and deleted by the -# SBCSGroupProber. The two SBCharSetProbers identify that the text is in -# fact some kind of Hebrew, Logical or Visual. The final decision about which -# one is it is made by the HebrewProber by combining final-letter scores -# with the scores of the two SBCharSetProbers to produce a final answer. -# -# The SBCSGroupProber is responsible for stripping the original text of HTML -# tags, English characters, numbers, low-ASCII punctuation characters, spaces -# and new lines. It reduces any sequence of such characters to a single space. -# The buffer fed to each prober in the SBCS group prober is pure text in -# high-ASCII. -# The two SBCharSetProbers (model probers) share the same language model: -# Win1255Model. -# The first SBCharSetProber uses the model normally as any other -# SBCharSetProber does, to recognize windows-1255, upon which this model was -# built. The second SBCharSetProber is told to make the pair-of-letter -# lookup in the language model backwards. This in practice exactly simulates -# a visual Hebrew model using the windows-1255 logical Hebrew model. -# -# The HebrewProber is not using any language model. All it does is look for -# final-letter evidence suggesting the text is either logical Hebrew or visual -# Hebrew. Disjointed from the model probers, the results of the HebrewProber -# alone are meaningless. HebrewProber always returns 0.00 as confidence -# since it never identifies a charset by itself. Instead, the pointer to the -# HebrewProber is passed to the model probers as a helper "Name Prober". -# When the Group prober receives a positive identification from any prober, -# it asks for the name of the charset identified. If the prober queried is a -# Hebrew model prober, the model prober forwards the call to the -# HebrewProber to make the final decision. In the HebrewProber, the -# decision is made according to the final-letters scores maintained and Both -# model probers scores. The answer is returned in the form of the name of the -# charset identified, either "windows-1255" or "ISO-8859-8". - -class HebrewProber(CharSetProber): - # windows-1255 / ISO-8859-8 code points of interest - FINAL_KAF = 0xea - NORMAL_KAF = 0xeb - FINAL_MEM = 0xed - NORMAL_MEM = 0xee - FINAL_NUN = 0xef - NORMAL_NUN = 0xf0 - FINAL_PE = 0xf3 - NORMAL_PE = 0xf4 - FINAL_TSADI = 0xf5 - NORMAL_TSADI = 0xf6 - - # Minimum Visual vs Logical final letter score difference. - # If the difference is below this, don't rely solely on the final letter score - # distance. - MIN_FINAL_CHAR_DISTANCE = 5 - - # Minimum Visual vs Logical model score difference. - # If the difference is below this, don't rely at all on the model score - # distance. - MIN_MODEL_DISTANCE = 0.01 - - VISUAL_HEBREW_NAME = "ISO-8859-8" - LOGICAL_HEBREW_NAME = "windows-1255" - - def __init__(self): - super(HebrewProber, self).__init__() - self._final_char_logical_score = None - self._final_char_visual_score = None - self._prev = None - self._before_prev = None - self._logical_prober = None - self._visual_prober = None - self.reset() - - def reset(self): - self._final_char_logical_score = 0 - self._final_char_visual_score = 0 - # The two last characters seen in the previous buffer, - # mPrev and mBeforePrev are initialized to space in order to simulate - # a word delimiter at the beginning of the data - self._prev = ' ' - self._before_prev = ' ' - # These probers are owned by the group prober. - - def set_model_probers(self, logicalProber, visualProber): - self._logical_prober = logicalProber - self._visual_prober = visualProber - - def is_final(self, c): - return c in [self.FINAL_KAF, self.FINAL_MEM, self.FINAL_NUN, - self.FINAL_PE, self.FINAL_TSADI] - - def is_non_final(self, c): - # The normal Tsadi is not a good Non-Final letter due to words like - # 'lechotet' (to chat) containing an apostrophe after the tsadi. This - # apostrophe is converted to a space in FilterWithoutEnglishLetters - # causing the Non-Final tsadi to appear at an end of a word even - # though this is not the case in the original text. - # The letters Pe and Kaf rarely display a related behavior of not being - # a good Non-Final letter. Words like 'Pop', 'Winamp' and 'Mubarak' - # for example legally end with a Non-Final Pe or Kaf. However, the - # benefit of these letters as Non-Final letters outweighs the damage - # since these words are quite rare. - return c in [self.NORMAL_KAF, self.NORMAL_MEM, - self.NORMAL_NUN, self.NORMAL_PE] - - def feed(self, byte_str): - # Final letter analysis for logical-visual decision. - # Look for evidence that the received buffer is either logical Hebrew - # or visual Hebrew. - # The following cases are checked: - # 1) A word longer than 1 letter, ending with a final letter. This is - # an indication that the text is laid out "naturally" since the - # final letter really appears at the end. +1 for logical score. - # 2) A word longer than 1 letter, ending with a Non-Final letter. In - # normal Hebrew, words ending with Kaf, Mem, Nun, Pe or Tsadi, - # should not end with the Non-Final form of that letter. Exceptions - # to this rule are mentioned above in isNonFinal(). This is an - # indication that the text is laid out backwards. +1 for visual - # score - # 3) A word longer than 1 letter, starting with a final letter. Final - # letters should not appear at the beginning of a word. This is an - # indication that the text is laid out backwards. +1 for visual - # score. - # - # The visual score and logical score are accumulated throughout the - # text and are finally checked against each other in GetCharSetName(). - # No checking for final letters in the middle of words is done since - # that case is not an indication for either Logical or Visual text. - # - # We automatically filter out all 7-bit characters (replace them with - # spaces) so the word boundary detection works properly. [MAP] - - if self.state == ProbingState.NOT_ME: - # Both model probers say it's not them. No reason to continue. - return ProbingState.NOT_ME - - byte_str = self.filter_high_byte_only(byte_str) - - for cur in byte_str: - if cur == ' ': - # We stand on a space - a word just ended - if self._before_prev != ' ': - # next-to-last char was not a space so self._prev is not a - # 1 letter word - if self.is_final(self._prev): - # case (1) [-2:not space][-1:final letter][cur:space] - self._final_char_logical_score += 1 - elif self.is_non_final(self._prev): - # case (2) [-2:not space][-1:Non-Final letter][ - # cur:space] - self._final_char_visual_score += 1 - else: - # Not standing on a space - if ((self._before_prev == ' ') and - (self.is_final(self._prev)) and (cur != ' ')): - # case (3) [-2:space][-1:final letter][cur:not space] - self._final_char_visual_score += 1 - self._before_prev = self._prev - self._prev = cur - - # Forever detecting, till the end or until both model probers return - # ProbingState.NOT_ME (handled above) - return ProbingState.DETECTING - - @property - def charset_name(self): - # Make the decision: is it Logical or Visual? - # If the final letter score distance is dominant enough, rely on it. - finalsub = self._final_char_logical_score - self._final_char_visual_score - if finalsub >= self.MIN_FINAL_CHAR_DISTANCE: - return self.LOGICAL_HEBREW_NAME - if finalsub <= -self.MIN_FINAL_CHAR_DISTANCE: - return self.VISUAL_HEBREW_NAME - - # It's not dominant enough, try to rely on the model scores instead. - modelsub = (self._logical_prober.get_confidence() - - self._visual_prober.get_confidence()) - if modelsub > self.MIN_MODEL_DISTANCE: - return self.LOGICAL_HEBREW_NAME - if modelsub < -self.MIN_MODEL_DISTANCE: - return self.VISUAL_HEBREW_NAME - - # Still no good, back to final letter distance, maybe it'll save the - # day. - if finalsub < 0.0: - return self.VISUAL_HEBREW_NAME - - # (finalsub > 0 - Logical) or (don't know what to do) default to - # Logical. - return self.LOGICAL_HEBREW_NAME - - @property - def language(self): - return 'Hebrew' - - @property - def state(self): - # Remain active as long as any of the model probers are active. - if (self._logical_prober.state == ProbingState.NOT_ME) and \ - (self._visual_prober.state == ProbingState.NOT_ME): - return ProbingState.NOT_ME - return ProbingState.DETECTING diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/jisfreq.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/jisfreq.py deleted file mode 100644 index 83fc082..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/jisfreq.py +++ /dev/null @@ -1,325 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# Sampling from about 20M text materials include literature and computer technology -# -# Japanese frequency table, applied to both S-JIS and EUC-JP -# They are sorted in order. - -# 128 --> 0.77094 -# 256 --> 0.85710 -# 512 --> 0.92635 -# 1024 --> 0.97130 -# 2048 --> 0.99431 -# -# Ideal Distribution Ratio = 0.92635 / (1-0.92635) = 12.58 -# Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191 -# -# Typical Distribution Ratio, 25% of IDR - -JIS_TYPICAL_DISTRIBUTION_RATIO = 3.0 - -# Char to FreqOrder table , -JIS_TABLE_SIZE = 4368 - -JIS_CHAR_TO_FREQ_ORDER = ( - 40, 1, 6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, # 16 -3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247, 18, 179,5071, 856,1661, # 32 -1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, # 48 -2042,1061,1062, 48, 49, 44, 45, 433, 434,1040,1041, 996, 787,2997,1255,4305, # 64 -2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, # 80 -5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, # 96 -1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, # 112 -5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, # 128 -5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, # 144 -5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, # 160 -5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, # 176 -5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, # 192 -5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, # 208 -1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, # 224 -1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, # 240 -1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, # 256 -2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, # 272 -3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161, 26,3377, 2,3929, 20, # 288 -3691, 47,4100, 50, 17, 16, 35, 268, 27, 243, 42, 155, 24, 154, 29, 184, # 304 - 4, 91, 14, 92, 53, 396, 33, 289, 9, 37, 64, 620, 21, 39, 321, 5, # 320 - 12, 11, 52, 13, 3, 208, 138, 0, 7, 60, 526, 141, 151,1069, 181, 275, # 336 -1591, 83, 132,1475, 126, 331, 829, 15, 69, 160, 59, 22, 157, 55,1079, 312, # 352 - 109, 38, 23, 25, 10, 19, 79,5195, 61, 382,1124, 8, 30,5196,5197,5198, # 368 -5199,5200,5201,5202,5203,5204,5205,5206, 89, 62, 74, 34,2416, 112, 139, 196, # 384 - 271, 149, 84, 607, 131, 765, 46, 88, 153, 683, 76, 874, 101, 258, 57, 80, # 400 - 32, 364, 121,1508, 169,1547, 68, 235, 145,2999, 41, 360,3027, 70, 63, 31, # 416 - 43, 259, 262,1383, 99, 533, 194, 66, 93, 846, 217, 192, 56, 106, 58, 565, # 432 - 280, 272, 311, 256, 146, 82, 308, 71, 100, 128, 214, 655, 110, 261, 104,1140, # 448 - 54, 51, 36, 87, 67,3070, 185,2618,2936,2020, 28,1066,2390,2059,5207,5208, # 464 -5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, # 480 -5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, # 496 -5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, # 512 -4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, # 528 -5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, # 544 -5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, # 560 -5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, # 576 -5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, # 592 -5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, # 608 -5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, # 624 -5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, # 640 -5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, # 656 -5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, # 672 -3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, # 688 -5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, # 704 -5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, # 720 -5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, # 736 -5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, # 752 -5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, # 768 -5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, # 784 -5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, # 800 -5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, # 816 -5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, # 832 -5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, # 848 -5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, # 864 -5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, # 880 -5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, # 896 -5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, # 912 -5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, # 928 -5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, # 944 -5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, # 960 -5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, # 976 -5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, # 992 -5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, # 1008 -5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, # 1024 -5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, # 1040 -5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, # 1056 -5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, # 1072 -5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, # 1088 -5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, # 1104 -5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, # 1120 -5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, # 1136 -5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, # 1152 -5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, # 1168 -5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, # 1184 -5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, # 1200 -5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, # 1216 -5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, # 1232 -5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, # 1248 -5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, # 1264 -5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, # 1280 -5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, # 1296 -6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, # 1312 -6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, # 1328 -6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, # 1344 -6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, # 1360 -6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, # 1376 -6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, # 1392 -6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, # 1408 -6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, # 1424 -4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, # 1440 - 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, # 1456 - 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, # 1472 -1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619, 65,3302,2045, # 1488 -1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, # 1504 - 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, # 1520 -3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, # 1536 -3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, # 1552 - 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, # 1568 -3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, # 1584 -3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, # 1600 - 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, # 1616 -2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, # 1632 - 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, # 1648 -3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, # 1664 -1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, # 1680 - 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, # 1696 -1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, # 1712 - 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, # 1728 -2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, # 1744 -2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, # 1760 -2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, # 1776 -2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, # 1792 -1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, # 1808 -1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, # 1824 -1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, # 1840 -1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, # 1856 -2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, # 1872 -1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, # 1888 -2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, # 1904 -1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, # 1920 -1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, # 1936 -1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, # 1952 -1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, # 1968 -1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, # 1984 -1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, # 2000 - 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, # 2016 - 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, # 2032 -1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, # 2048 -2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, # 2064 -2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, # 2080 -2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, # 2096 -3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, # 2112 -3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, # 2128 - 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, # 2144 -3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, # 2160 -1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876, 78,2287,1482,1277, # 2176 - 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, # 2192 -2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, # 2208 -1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, # 2224 - 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, # 2240 -3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, # 2256 -4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, # 2272 -2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, # 2288 -1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, # 2304 -2601,1919,1078, 75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, # 2320 -1075, 292,3818,1756,2602, 317, 98,3173,3605,3525,1844,2218,3819,2502, 814, 567, # 2336 - 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, # 2352 - 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, # 2368 -1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, # 2384 -2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, # 2400 -2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, # 2416 -2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, # 2432 -3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, # 2448 -1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, # 2464 -2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, # 2480 - 359,2291,1676, 73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, # 2496 - 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, # 2512 - 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, # 2528 -1209, 96, 587,2166,1032, 260,1072,2153, 173, 94, 226,3244, 819,2006,4642,4114, # 2544 -2203, 231,1744, 782, 97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, # 2560 - 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, # 2576 -1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, # 2592 -1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, # 2608 - 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, # 2624 -1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, # 2640 -1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, # 2656 -1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, # 2672 - 764,2861,1853, 688,2429,1920,1462, 77, 595, 415,2002,3034, 798,1192,4115,6144, # 2688 -2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, # 2704 - 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, # 2720 -2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, # 2736 -3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, # 2752 -2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, # 2768 -1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, # 2784 -6147, 441, 762,1771,3447,3607,3608,1904, 840,3037, 86, 939,1385, 572,1370,2445, # 2800 -1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, # 2816 -2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, # 2832 -1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, # 2848 - 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, # 2864 - 72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, # 2880 -3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, # 2896 -3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, # 2912 -1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, # 2928 -1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, # 2944 -1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, # 2960 -1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, # 2976 - 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, # 2992 - 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, # 3008 -2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, # 3024 - 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, # 3040 -3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, # 3056 -2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, # 3072 - 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, # 3088 -1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, # 3104 -2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, # 3120 - 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, # 3136 -1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, # 3152 - 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, # 3168 -4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, # 3184 -2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, # 3200 -1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, # 3216 - 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, # 3232 -1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, # 3248 -2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, # 3264 - 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, # 3280 -6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, # 3296 -1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, # 3312 -1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, # 3328 -2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, # 3344 -3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, # 3360 - 914,2550,2587, 81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, # 3376 -3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, # 3392 -1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, # 3408 - 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, # 3424 -1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, # 3440 - 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, # 3456 -3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, # 3472 - 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, # 3488 -2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, # 3504 - 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, # 3520 -4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, # 3536 -2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, # 3552 -1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, # 3568 -1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, # 3584 -1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, # 3600 - 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, # 3616 -1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, # 3632 -3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, # 3648 -1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, # 3664 -3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, # 3680 - 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, # 3696 - 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, # 3712 - 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, # 3728 -2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, # 3744 -1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, # 3760 - 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, # 3776 -1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, # 3792 - 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, # 3808 -1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, # 3824 - 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, # 3840 - 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, # 3856 - 480,2083,1774,3458, 923,2279,1350, 221,3086, 85,2233,2234,3835,1585,3010,2147, # 3872 -1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, # 3888 -1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, # 3904 -2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, # 3920 -4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, # 3936 - 227,1351,1645,2453,2193,1421,2887, 812,2121, 634, 95,2435, 201,2312,4665,1646, # 3952 -1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, # 3968 - 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, # 3984 -1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, # 4000 -3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, # 4016 -1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, # 4032 -2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, # 4048 -2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, # 4064 -1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, # 4080 -1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, # 4096 -2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, # 4112 - 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, # 4128 -2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, # 4144 -1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, # 4160 -1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, # 4176 -1279,2136,1697,2335, 204, 721,2097,3838, 90,6186,2085,2505, 191,3967, 124,2148, # 4192 -1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, # 4208 -3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, # 4224 -2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, # 4240 -2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, # 4256 - 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, # 4272 -3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, # 4288 -3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, # 4304 -1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, # 4320 -2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, # 4336 -1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, # 4352 -2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, # 4368 #last 512 -) - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/jpcntx.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/jpcntx.py deleted file mode 100644 index 20044e4..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/jpcntx.py +++ /dev/null @@ -1,233 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - - -# This is hiragana 2-char sequence table, the number in each cell represents its frequency category -jp2CharContext = ( -(0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1), -(2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4), -(0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2), -(0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4), -(1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4), -(0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3), -(0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3), -(0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3), -(0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4), -(0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3), -(2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4), -(0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3), -(0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5), -(0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3), -(2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5), -(0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4), -(1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4), -(0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3), -(0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3), -(0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3), -(0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5), -(0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4), -(0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5), -(0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3), -(0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4), -(0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4), -(0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4), -(0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1), -(0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0), -(1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3), -(0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0), -(0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3), -(0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3), -(0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5), -(0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4), -(2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5), -(0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3), -(0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3), -(0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3), -(0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3), -(0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4), -(0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4), -(0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2), -(0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3), -(0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3), -(0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3), -(0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3), -(0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4), -(0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3), -(0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4), -(0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3), -(0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3), -(0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4), -(0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4), -(0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3), -(2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4), -(0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4), -(0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3), -(0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4), -(0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4), -(1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4), -(0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3), -(0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2), -(0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2), -(0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3), -(0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3), -(0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5), -(0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3), -(0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4), -(1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4), -(0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1), -(0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2), -(0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3), -(0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1), -) - -class JapaneseContextAnalysis(object): - NUM_OF_CATEGORY = 6 - DONT_KNOW = -1 - ENOUGH_REL_THRESHOLD = 100 - MAX_REL_THRESHOLD = 1000 - MINIMUM_DATA_THRESHOLD = 4 - - def __init__(self): - self._total_rel = None - self._rel_sample = None - self._need_to_skip_char_num = None - self._last_char_order = None - self._done = None - self.reset() - - def reset(self): - self._total_rel = 0 # total sequence received - # category counters, each integer counts sequence in its category - self._rel_sample = [0] * self.NUM_OF_CATEGORY - # if last byte in current buffer is not the last byte of a character, - # we need to know how many bytes to skip in next buffer - self._need_to_skip_char_num = 0 - self._last_char_order = -1 # The order of previous char - # If this flag is set to True, detection is done and conclusion has - # been made - self._done = False - - def feed(self, byte_str, num_bytes): - if self._done: - return - - # The buffer we got is byte oriented, and a character may span in more than one - # buffers. In case the last one or two byte in last buffer is not - # complete, we record how many byte needed to complete that character - # and skip these bytes here. We can choose to record those bytes as - # well and analyse the character once it is complete, but since a - # character will not make much difference, by simply skipping - # this character will simply our logic and improve performance. - i = self._need_to_skip_char_num - while i < num_bytes: - order, char_len = self.get_order(byte_str[i:i + 2]) - i += char_len - if i > num_bytes: - self._need_to_skip_char_num = i - num_bytes - self._last_char_order = -1 - else: - if (order != -1) and (self._last_char_order != -1): - self._total_rel += 1 - if self._total_rel > self.MAX_REL_THRESHOLD: - self._done = True - break - self._rel_sample[jp2CharContext[self._last_char_order][order]] += 1 - self._last_char_order = order - - def got_enough_data(self): - return self._total_rel > self.ENOUGH_REL_THRESHOLD - - def get_confidence(self): - # This is just one way to calculate confidence. It works well for me. - if self._total_rel > self.MINIMUM_DATA_THRESHOLD: - return (self._total_rel - self._rel_sample[0]) / self._total_rel - else: - return self.DONT_KNOW - - def get_order(self, byte_str): - return -1, 1 - -class SJISContextAnalysis(JapaneseContextAnalysis): - def __init__(self): - super(SJISContextAnalysis, self).__init__() - self._charset_name = "SHIFT_JIS" - - @property - def charset_name(self): - return self._charset_name - - def get_order(self, byte_str): - if not byte_str: - return -1, 1 - # find out current char's byte length - first_char = byte_str[0] - if (0x81 <= first_char <= 0x9F) or (0xE0 <= first_char <= 0xFC): - char_len = 2 - if (first_char == 0x87) or (0xFA <= first_char <= 0xFC): - self._charset_name = "CP932" - else: - char_len = 1 - - # return its order if it is hiragana - if len(byte_str) > 1: - second_char = byte_str[1] - if (first_char == 202) and (0x9F <= second_char <= 0xF1): - return second_char - 0x9F, char_len - - return -1, char_len - -class EUCJPContextAnalysis(JapaneseContextAnalysis): - def get_order(self, byte_str): - if not byte_str: - return -1, 1 - # find out current char's byte length - first_char = byte_str[0] - if (first_char == 0x8E) or (0xA1 <= first_char <= 0xFE): - char_len = 2 - elif first_char == 0x8F: - char_len = 3 - else: - char_len = 1 - - # return its order if it is hiragana - if len(byte_str) > 1: - second_char = byte_str[1] - if (first_char == 0xA4) and (0xA1 <= second_char <= 0xF3): - return second_char - 0xA1, char_len - - return -1, char_len - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langbulgarianmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/langbulgarianmodel.py deleted file mode 100644 index 2aa4fb2..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langbulgarianmodel.py +++ /dev/null @@ -1,228 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Character Mapping Table: -# this table is modified base on win1251BulgarianCharToOrderMap, so -# only number <64 is sure valid - -Latin5_BulgarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 -110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 -253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 -116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 -194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209, # 80 -210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, # 90 - 81,226,227,228,229,230,105,231,232,233,234,235,236, 45,237,238, # a0 - 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # b0 - 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,239, 67,240, 60, 56, # c0 - 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # d0 - 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,241, 42, 16, # e0 - 62,242,243,244, 58,245, 98,246,247,248,249,250,251, 91,252,253, # f0 -) - -win1251BulgarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 -110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 -253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 -116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 -206,207,208,209,210,211,212,213,120,214,215,216,217,218,219,220, # 80 -221, 78, 64, 83,121, 98,117,105,222,223,224,225,226,227,228,229, # 90 - 88,230,231,232,233,122, 89,106,234,235,236,237,238, 45,239,240, # a0 - 73, 80,118,114,241,242,243,244,245, 62, 58,246,247,248,249,250, # b0 - 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # c0 - 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,251, 67,252, 60, 56, # d0 - 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # e0 - 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,253, 42, 16, # f0 -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 96.9392% -# first 1024 sequences:3.0618% -# rest sequences: 0.2992% -# negative sequences: 0.0020% -BulgarianLangModel = ( -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,3,3, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,2,2,1,2,2, -3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,0,1, -0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,0,3,1,0, -0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,1,3,3,3,3,2,2,2,1,1,2,0,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,2,3,2,2,3,3,1,1,2,3,3,2,3,3,3,3,2,1,2,0,2,0,3,0,0, -0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,1,3,3,3,3,3,2,3,2,3,3,3,3,3,2,3,3,1,3,0,3,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,1,3,3,2,3,2,2,2,0,0,2,0,2,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,3,3,1,2,2,3,2,1,1,2,0,2,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,2,3,3,1,2,3,2,2,2,3,3,3,3,3,2,2,3,1,2,0,2,1,2,0,0, -0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,1,3,3,3,3,3,2,3,3,3,2,3,3,2,3,2,2,2,3,1,2,0,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,3,3,1,1,1,2,2,1,3,1,3,2,2,3,0,0,1,0,1,0,1,0,0, -0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,2,2,3,2,2,3,1,2,1,1,1,2,3,1,3,1,2,2,0,1,1,1,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,1,3,2,2,3,3,1,2,3,1,1,3,3,3,3,1,2,2,1,1,1,0,2,0,2,0,1, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,3,3,3,2,2,1,1,2,0,2,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,0,1,2,1,3,3,2,3,3,3,3,3,2,3,2,1,0,3,1,2,1,2,1,2,3,2,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,1,3,3,2,3,3,2,2,2,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,0,3,3,3,3,3,2,1,1,2,1,3,3,0,3,1,1,1,1,3,2,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,1,1,3,1,3,3,2,3,2,2,2,3,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,2,3,3,2,2,3,2,1,1,1,1,1,3,1,3,1,1,0,0,0,1,0,0,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,2,3,2,0,3,2,0,3,0,2,0,0,2,1,3,1,0,0,1,0,0,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,2,1,1,1,1,2,1,1,2,1,1,1,2,2,1,2,1,1,1,0,1,1,0,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,2,1,3,1,1,2,1,3,2,1,1,0,1,2,3,2,1,1,1,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,2,2,1,0,1,0,0,1,0,0,0,2,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,2,3,2,3,3,1,3,2,1,1,1,2,1,1,2,1,3,0,1,0,0,0,1,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,2,2,3,3,2,3,2,2,2,3,1,2,2,1,1,2,1,1,2,2,0,1,1,0,1,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,1,3,1,0,2,2,1,3,2,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,1,2,0,2,3,1,2,3,2,0,1,3,1,2,1,1,1,0,0,1,0,0,2,2,2,3, -2,2,2,2,1,2,1,1,2,2,1,1,2,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1, -3,3,3,3,3,2,1,2,2,1,2,0,2,0,1,0,1,2,1,2,1,1,0,0,0,1,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,2,3,3,1,1,3,1,0,3,2,1,0,0,0,1,2,0,2,0,1,0,0,0,1,0,1,2,1,2,2, -1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,0,1,2,1,1,1,0,0,0,0,0,1,1,0,0, -3,1,0,1,0,2,3,2,2,2,3,2,2,2,2,2,1,0,2,1,2,1,1,1,0,1,2,1,2,2,2,1, -1,1,2,2,2,2,1,2,1,1,0,1,2,1,2,2,2,1,1,1,0,1,1,1,1,2,0,1,0,0,0,0, -2,3,2,3,3,0,0,2,1,0,2,1,0,0,0,0,2,3,0,2,0,0,0,0,0,1,0,0,2,0,1,2, -2,1,2,1,2,2,1,1,1,2,1,1,1,0,1,2,2,1,1,1,1,1,0,1,1,1,0,0,1,2,0,0, -3,3,2,2,3,0,2,3,1,1,2,0,0,0,1,0,0,2,0,2,0,0,0,1,0,1,0,1,2,0,2,2, -1,1,1,1,2,1,0,1,2,2,2,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0, -2,3,2,3,3,0,0,3,0,1,1,0,1,0,0,0,2,2,1,2,0,0,0,0,0,0,0,0,2,0,1,2, -2,2,1,1,1,1,1,2,2,2,1,0,2,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0, -3,3,3,3,2,2,2,2,2,0,2,1,1,1,1,2,1,2,1,1,0,2,0,1,0,1,0,0,2,0,1,2, -1,1,1,1,1,1,1,2,2,1,1,0,2,0,1,0,2,0,0,1,1,1,0,0,2,0,0,0,1,1,0,0, -2,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,0,0,0,1,2,0,1,2, -2,2,2,1,1,2,1,1,2,2,2,1,2,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,0, -2,3,3,3,3,0,2,2,0,2,1,0,0,0,1,1,1,2,0,2,0,0,0,3,0,0,0,0,2,0,2,2, -1,1,1,2,1,2,1,1,2,2,2,1,2,0,1,1,1,0,1,1,1,1,0,2,1,0,0,0,1,1,0,0, -2,3,3,3,3,0,2,1,0,0,2,0,0,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,2,0,1,2, -1,1,1,2,1,1,1,1,2,2,2,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0, -3,3,2,2,3,0,1,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,0,0,0,0,1,0,2,2, -1,1,1,1,1,2,1,1,2,2,1,2,2,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0, -3,1,0,1,0,2,2,2,2,3,2,1,1,1,2,3,0,0,1,0,2,1,1,0,1,1,1,1,2,1,1,1, -1,2,2,1,2,1,2,2,1,1,0,1,2,1,2,2,1,1,1,0,0,1,1,1,2,1,0,1,0,0,0,0, -2,1,0,1,0,3,1,2,2,2,2,1,2,2,1,1,1,0,2,1,2,2,1,1,2,1,1,0,2,1,1,1, -1,2,2,2,2,2,2,2,1,2,0,1,1,0,2,1,1,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0, -2,1,1,1,1,2,2,2,2,1,2,2,2,1,2,2,1,1,2,1,2,3,2,2,1,1,1,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,3,2,0,1,2,0,1,2,1,1,0,1,0,1,2,1,2,0,0,0,1,1,0,0,0,1,0,0,2, -1,1,0,0,1,1,0,1,1,1,1,0,2,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0, -2,0,0,0,0,1,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1, -1,2,2,2,2,1,1,2,1,2,1,1,1,0,2,1,2,1,1,1,0,2,1,1,1,1,0,1,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, -1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,3,2,0,0,0,0,1,0,0,0,0,0,0,1,1,0,2,0,0,0,0,0,0,0,0,1,0,1,2, -1,1,1,1,1,1,0,0,2,2,2,2,2,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1, -2,3,1,2,1,0,1,1,0,2,2,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,2, -1,1,1,1,2,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0, -2,2,2,2,2,0,0,2,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,0,2,2, -1,1,1,1,1,0,0,1,2,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,0,2,0,1,1,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,1, -0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,3,2,0,0,1,0,0,1,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0,0,2, -1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -2,1,2,2,2,1,2,1,2,2,1,1,2,1,1,1,0,1,1,1,1,2,0,1,0,1,1,1,1,0,1,1, -1,1,2,1,1,1,1,1,1,0,0,1,2,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0, -1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,2,1,0,0,1,0,2,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,2,0,0,1, -0,2,0,1,0,0,1,1,2,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,1,1,0,2,1,0,1,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,1, -0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,2,2,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, -0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -2,0,1,0,0,1,2,1,1,1,1,1,1,2,2,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0, -1,1,2,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, -0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, -0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, -1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,2,0,0,2,0,1,0,0,1,0,0,1, -1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, -1,1,1,1,1,1,1,2,0,0,0,0,0,0,2,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -) - -Latin5BulgarianModel = { - 'char_to_order_map': Latin5_BulgarianCharToOrderMap, - 'precedence_matrix': BulgarianLangModel, - 'typical_positive_ratio': 0.969392, - 'keep_english_letter': False, - 'charset_name': "ISO-8859-5", - 'language': 'Bulgairan', -} - -Win1251BulgarianModel = { - 'char_to_order_map': win1251BulgarianCharToOrderMap, - 'precedence_matrix': BulgarianLangModel, - 'typical_positive_ratio': 0.969392, - 'keep_english_letter': False, - 'charset_name': "windows-1251", - 'language': 'Bulgarian', -} diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langcyrillicmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/langcyrillicmodel.py deleted file mode 100644 index e5f9a1f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langcyrillicmodel.py +++ /dev/null @@ -1,333 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# KOI8-R language model -# Character Mapping Table: -KOI8R_char_to_order_map = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, # 80 -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, # 90 -223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237, # a0 -238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253, # b0 - 27, 3, 21, 28, 13, 2, 39, 19, 26, 4, 23, 11, 8, 12, 5, 1, # c0 - 15, 16, 9, 7, 6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54, # d0 - 59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34, # e0 - 35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70, # f0 -) - -win1251_char_to_order_map = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, -239,240,241,242,243,244,245,246, 68,247,248,249,250,251,252,253, - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, -) - -latin5_char_to_order_map = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, -239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, -) - -macCyrillic_char_to_order_map = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, -239,240,241,242,243,244,245,246,247,248,249,250,251,252, 68, 16, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255, -) - -IBM855_char_to_order_map = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205, -206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70, - 3, 37, 21, 44, 28, 58, 13, 41, 2, 48, 39, 53, 19, 46,218,219, -220,221,222,223,224, 26, 55, 4, 42,225,226,227,228, 23, 60,229, -230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243, - 8, 49, 12, 38, 5, 31, 1, 34, 15,244,245,246,247, 35, 16,248, - 43, 9, 45, 7, 32, 6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249, -250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255, -) - -IBM866_char_to_order_map = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, -239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 97.6601% -# first 1024 sequences: 2.3389% -# rest sequences: 0.1237% -# negative sequences: 0.0009% -RussianLangModel = ( -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2, -3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, -0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, -0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1, -1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1, -1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0, -2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1, -1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0, -3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1, -1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0, -2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2, -1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1, -1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1, -1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, -2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1, -1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0, -3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2, -1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1, -2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1, -1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0, -2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1, -1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0, -1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1, -1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0, -3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1, -2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1, -3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1, -1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1, -1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1, -0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0, -2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1, -1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0, -1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1, -0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1, -1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, -2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2, -2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1, -1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0, -1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0, -2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0, -1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1, -0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, -2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1, -1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1, -1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0, -0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1, -0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1, -0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1, -0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0, -0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, -1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1, -0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1, -2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0, -0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, -) - -Koi8rModel = { - 'char_to_order_map': KOI8R_char_to_order_map, - 'precedence_matrix': RussianLangModel, - 'typical_positive_ratio': 0.976601, - 'keep_english_letter': False, - 'charset_name': "KOI8-R", - 'language': 'Russian', -} - -Win1251CyrillicModel = { - 'char_to_order_map': win1251_char_to_order_map, - 'precedence_matrix': RussianLangModel, - 'typical_positive_ratio': 0.976601, - 'keep_english_letter': False, - 'charset_name': "windows-1251", - 'language': 'Russian', -} - -Latin5CyrillicModel = { - 'char_to_order_map': latin5_char_to_order_map, - 'precedence_matrix': RussianLangModel, - 'typical_positive_ratio': 0.976601, - 'keep_english_letter': False, - 'charset_name': "ISO-8859-5", - 'language': 'Russian', -} - -MacCyrillicModel = { - 'char_to_order_map': macCyrillic_char_to_order_map, - 'precedence_matrix': RussianLangModel, - 'typical_positive_ratio': 0.976601, - 'keep_english_letter': False, - 'charset_name': "MacCyrillic", - 'language': 'Russian', -} - -Ibm866Model = { - 'char_to_order_map': IBM866_char_to_order_map, - 'precedence_matrix': RussianLangModel, - 'typical_positive_ratio': 0.976601, - 'keep_english_letter': False, - 'charset_name': "IBM866", - 'language': 'Russian', -} - -Ibm855Model = { - 'char_to_order_map': IBM855_char_to_order_map, - 'precedence_matrix': RussianLangModel, - 'typical_positive_ratio': 0.976601, - 'keep_english_letter': False, - 'charset_name': "IBM855", - 'language': 'Russian', -} diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langgreekmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/langgreekmodel.py deleted file mode 100644 index 5332221..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langgreekmodel.py +++ /dev/null @@ -1,225 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Character Mapping Table: -Latin7_char_to_order_map = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 - 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 -253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 - 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 -253,233, 90,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 -253,253,253,253,247,248, 61, 36, 46, 71, 73,253, 54,253,108,123, # b0 -110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 - 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 -124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 - 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 -) - -win1253_char_to_order_map = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 - 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 -253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 - 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 -253,233, 61,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 -253,253,253,253,247,253,253, 36, 46, 71, 73,253, 54,253,108,123, # b0 -110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 - 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 -124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 - 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 98.2851% -# first 1024 sequences:1.7001% -# rest sequences: 0.0359% -# negative sequences: 0.0148% -GreekLangModel = ( -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,2,2,3,3,3,3,3,3,3,3,1,3,3,3,0,2,2,3,3,0,3,0,3,2,0,3,3,3,0, -3,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,0,3,3,0,3,2,3,3,0,3,2,3,3,3,0,0,3,0,3,0,3,3,2,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, -0,2,3,2,2,3,3,3,3,3,3,3,3,0,3,3,3,3,0,2,3,3,0,3,3,3,3,2,3,3,3,0, -2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,2,1,3,3,3,3,2,3,3,2,3,3,2,0, -0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,2,3,3,0, -2,0,1,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,3,0,0,0,0,3,3,0,3,1,3,3,3,0,3,3,0,3,3,3,3,0,0,0,0, -2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,0,3,0,3,3,3,3,3,0,3,2,2,2,3,0,2,3,3,3,3,3,2,3,3,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,3,2,2,2,3,3,3,3,0,3,1,3,3,3,3,2,3,3,3,3,3,3,3,2,2,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,0,3,0,0,0,3,3,2,3,3,3,3,3,0,0,3,2,3,0,2,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,3,0,0,3,3,0,2,3,0,3,0,3,3,3,0,0,3,0,3,0,2,2,3,3,0,0, -0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,0,3,2,3,3,3,3,0,3,3,3,3,3,0,3,3,2,3,2,3,3,2,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,2,3,2,3,3,3,3,3,3,0,2,3,2,3,2,2,2,3,2,3,3,2,3,0,2,2,2,3,0, -2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,0,3,3,3,2,3,3,0,0,3,0,3,0,0,0,3,2,0,3,0,3,0,0,2,0,2,0, -0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,0,0,0,3,3,0,3,3,3,0,0,1,2,3,0, -3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,0,0,3,2,2,3,3,0,3,3,3,3,3,2,1,3,0,3,2,3,3,2,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,3,0,2,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,3,0,3,2,3,0,0,3,3,3,0, -3,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,0,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,2,0,3,2,3,0,0,3,2,3,0, -2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,1,2,2,3,3,3,3,3,3,0,2,3,0,3,0,0,0,3,3,0,3,0,2,0,0,2,3,1,0, -2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,3,0,3,0,3,3,2,3,0,3,3,3,3,3,3,0,3,3,3,0,2,3,0,0,3,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,0,0,3,0,0,0,3,3,0,3,0,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,0,3,3,3,3,3,3,0,0,3,0,2,0,0,0,3,3,0,3,0,3,0,0,2,0,2,0, -0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,3,0,3,0,2,0,3,2,0,3,2,3,2,3,0,0,3,2,3,2,3,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,2,3,3,3,3,3,0,0,0,3,0,2,1,0,0,3,2,2,2,0,3,0,0,2,2,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,2,0,3,0,3,0,3,3,0,2,1,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,3,3,3,0,3,3,3,3,3,3,0,2,3,0,3,0,0,0,2,1,0,2,2,3,0,0,2,2,2,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,2,3,3,3,2,3,0,0,1,3,0,2,0,0,0,0,3,0,1,0,2,0,0,1,1,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,1,0,3,0,0,0,3,2,0,3,2,3,3,3,0,0,3,0,3,2,2,2,1,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,0,0,3,0,0,0,0,2,0,2,3,3,2,2,2,2,3,0,2,0,2,2,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,2,0,0,0,0,0,0,2,3,0,2,0,2,3,2,0,0,3,0,3,0,3,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,3,2,3,3,2,2,3,0,2,0,3,0,0,0,2,0,0,0,0,1,2,0,2,0,2,0, -0,2,0,2,0,2,2,0,0,1,0,2,2,2,0,2,2,2,0,2,2,2,0,0,2,0,0,1,0,0,0,0, -0,2,0,3,3,2,0,0,0,0,0,0,1,3,0,2,0,2,2,2,0,0,2,0,3,0,0,2,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,2,3,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,0,0,0,0,0,0,2,3,0,0,0,2, -0,1,2,0,0,0,0,2,2,0,0,0,2,1,0,2,2,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0, -0,0,2,1,0,2,3,2,2,3,2,3,2,0,0,3,3,3,0,0,3,2,0,0,0,1,1,0,2,0,2,2, -0,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,2,2,0,0,2,0,0,0,2,0,1,0,0,0,0, -0,3,0,3,3,2,2,0,3,0,0,0,2,2,0,2,2,2,1,2,0,0,1,2,2,0,0,3,0,0,0,2, -0,1,2,0,0,0,1,2,0,0,0,0,0,0,0,2,2,0,1,0,0,2,0,0,0,2,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,3,3,2,2,0,0,0,2,0,2,3,3,0,2,0,0,0,0,0,0,2,2,2,0,2,2,0,2,0,2, -0,2,2,0,0,2,2,2,2,1,0,0,2,2,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0, -0,2,0,3,2,3,0,0,0,3,0,0,2,2,0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,0,2, -0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,2,0,0,3,2,0,2,2,2,2,2,0,0,0,2,0,0,0,0,2,0,1,0,0,2,0,1,0,0,0, -0,2,2,2,0,2,2,0,1,2,0,2,2,2,0,2,2,2,2,1,2,2,0,0,2,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,2,0,2,0,2,2,0,0,0,0,1,2,1,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,3,2,3,0,0,2,0,0,0,2,2,0,2,0,0,0,1,0,0,2,0,2,0,2,2,0,0,0,0, -0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, -0,2,2,3,2,2,0,0,0,0,0,0,1,3,0,2,0,2,2,0,0,0,1,0,2,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,0,2,0,3,2,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -0,0,2,0,0,0,0,1,1,0,0,2,1,2,0,2,2,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0, -0,3,0,2,2,2,0,0,2,0,0,0,2,0,0,0,2,3,0,2,0,0,0,0,0,0,2,2,0,0,0,2, -0,1,2,0,0,0,1,2,2,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,1,2,0,2,2,0,2,0,0,2,0,0,0,0,1,2,1,0,2,1,0,0,0,0,0,0,0,0,0,0, -0,0,2,0,0,0,3,1,2,2,0,2,0,0,0,0,2,0,0,0,2,0,0,3,0,0,0,0,2,2,2,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,1,0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,2, -0,2,2,0,0,2,2,2,2,2,0,1,2,0,0,0,2,2,0,1,0,2,0,0,2,2,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,2, -0,1,2,0,0,0,0,2,2,1,0,1,0,1,0,2,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0, -0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,1,0,0,0,0,0,0,2, -0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0, -0,2,2,2,2,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,1, -0,0,2,0,0,0,0,1,2,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0, -0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2, -0,0,1,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -0,3,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2, -0,0,2,0,0,0,0,2,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,0,2,2,1,0,0,0,0,0,0,2,0,0,2,0,2,2,2,0,0,0,0,0,0,2,0,0,0,0,2, -0,0,2,0,0,2,0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0, -0,0,3,0,0,0,2,2,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0, -0,2,2,2,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1, -0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,2,0,0,0,2,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,2,0,0,0, -0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,2,0,2,0,0,0, -0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -) - -Latin7GreekModel = { - 'char_to_order_map': Latin7_char_to_order_map, - 'precedence_matrix': GreekLangModel, - 'typical_positive_ratio': 0.982851, - 'keep_english_letter': False, - 'charset_name': "ISO-8859-7", - 'language': 'Greek', -} - -Win1253GreekModel = { - 'char_to_order_map': win1253_char_to_order_map, - 'precedence_matrix': GreekLangModel, - 'typical_positive_ratio': 0.982851, - 'keep_english_letter': False, - 'charset_name': "windows-1253", - 'language': 'Greek', -} diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langhebrewmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/langhebrewmodel.py deleted file mode 100644 index 58f4c87..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langhebrewmodel.py +++ /dev/null @@ -1,200 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Simon Montagu -# Portions created by the Initial Developer are Copyright (C) 2005 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# Shoshannah Forbes - original C code (?) -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Windows-1255 language model -# Character Mapping Table: -WIN1255_CHAR_TO_ORDER_MAP = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85, # 40 - 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253, # 50 -253, 50, 74, 60, 61, 42, 76, 70, 64, 53,105, 93, 56, 65, 54, 49, # 60 - 66,110, 51, 43, 44, 63, 81, 77, 98, 75,108,253,253,253,253,253, # 70 -124,202,203,204,205, 40, 58,206,207,208,209,210,211,212,213,214, -215, 83, 52, 47, 46, 72, 32, 94,216,113,217,109,218,219,220,221, - 34,116,222,118,100,223,224,117,119,104,125,225,226, 87, 99,227, -106,122,123,228, 55,229,230,101,231,232,120,233, 48, 39, 57,234, - 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237, -238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250, - 9, 8, 20, 16, 3, 2, 24, 14, 22, 1, 25, 15, 4, 11, 6, 23, - 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,251,252,128, 96,253, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 98.4004% -# first 1024 sequences: 1.5981% -# rest sequences: 0.087% -# negative sequences: 0.0015% -HEBREW_LANG_MODEL = ( -0,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,1,2,0,1,0,0, -3,0,3,1,0,0,1,3,2,0,1,1,2,0,2,2,2,1,1,1,1,2,1,1,1,2,0,0,2,2,0,1, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2, -1,2,1,2,1,2,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2, -1,2,1,3,1,1,0,0,2,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,1,2,2,1,3, -1,2,1,1,2,2,0,0,2,2,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,2,2,3,2, -1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,2,2,2,1,2,2,2,2, -1,2,1,1,2,2,0,1,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,2,2,2,2,2, -0,2,0,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,2,2,2, -0,2,1,2,2,2,0,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,2,3,2,2,2, -1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,2,0,2, -0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,2,3,2,1,2,1,1,1, -0,1,1,1,1,1,3,0,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0, -0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2, -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,2,1,2,3,3,2,3,3,3,3,2,3,2,1,2,0,2,1,2, -0,2,0,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,2,3,2,3,2,2,3,1,2,2,0,2,2,2, -0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,2,2,3,3,3,3,1,3,2,2,2, -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,3,2,2,2,1,2,2,0,2,2,2,2, -0,2,0,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,1,3,2,3,3,2,3,3,2,2,1,2,2,2,2,2,2, -0,2,1,2,1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,2,2,2,2,2,2,2,1, -0,2,0,1,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,2,1,2,3,3,3,3,3,3,3,2,3,2,3,2,1,2,3,0,2,1,2,2, -0,2,1,1,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,1,3,1,2,2,2,1,2,3,3,1,2,1,2,2,2,2, -0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,1,3,3,3,1,2,2,2,2,1,1,2,2,2,2,2,2, -0,2,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,2,1,2,3,2,3,2,2,2,2,1,2,1,1,1,2,2, -0,2,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0, -1,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,2,3,3,2,3,1,2,2,2,2,3,2,3,1,1,2,2,1,2,2,1,1,0,2,2,2,2, -0,1,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0, -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -3,2,2,1,2,2,2,2,2,2,2,1,2,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,0,3,3,3, -0,3,0,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,1,1,2,0,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,0,2,2,0,0,0,0,0,0, -0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,2,1,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -0,3,1,1,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,1,0,1,1,1,1,0, -0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,1,1,1,1,2,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, -0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0, -2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,1,1,1,0,0,0,0, -0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,1,1,1,2,1,2,1,2,0,1,0,1, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,1,2,1,1,0,1,0,1, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2, -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,2,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0, -0,1,1,1,2,1,2,2,2,0,2,0,2,0,1,1,2,1,1,1,1,2,1,0,1,1,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,1,0,0,0,0,0,1,0,1,2,2,0,1,0,0,1,1,2,2,1,2,0,2,0,0,0,1,2,0,1, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,2,0,2,1,2,0,2,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,1,2,2,0,0,1,0,0,0,1,0,0,1, -1,1,2,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,2,1, -0,2,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,1,1,0,1, -2,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,2,1,1,2,0,1,0,0,0,1,1,0,1, -1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,0,0,2,1,1,2,0,2,0,0,0,1,1,0,1, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,2,2,1,2,1,1,0,1,0,0,0,1,1,0,1, -2,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,2,1,1,1,0,2,1,1,0,0,0,2,1,0,1, -1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,0,2,1,1,0,1,0,0,0,1,1,0,1, -2,2,1,1,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,0,1,2,1,0,2,0,0,0,1,1,0,1, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, -0,1,0,0,2,0,2,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,1,0,0,1, -1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,2,1,1,1,1,1,0,1,0,0,0,0,1,0,1, -0,1,1,1,2,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0, -) - -Win1255HebrewModel = { - 'char_to_order_map': WIN1255_CHAR_TO_ORDER_MAP, - 'precedence_matrix': HEBREW_LANG_MODEL, - 'typical_positive_ratio': 0.984004, - 'keep_english_letter': False, - 'charset_name': "windows-1255", - 'language': 'Hebrew', -} diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langhungarianmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/langhungarianmodel.py deleted file mode 100644 index bb7c095..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langhungarianmodel.py +++ /dev/null @@ -1,225 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Character Mapping Table: -Latin2_HungarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, - 46, 71, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, -253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, - 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, -159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174, -175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190, -191,192,193,194,195,196,197, 75,198,199,200,201,202,203,204,205, - 79,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, -221, 51, 81,222, 78,223,224,225,226, 44,227,228,229, 61,230,231, -232,233,234, 58,235, 66, 59,236,237,238, 60, 69, 63,239,240,241, - 82, 14, 74,242, 70, 80,243, 72,244, 15, 83, 77, 84, 30, 76, 85, -245,246,247, 25, 73, 42, 24,248,249,250, 31, 56, 29,251,252,253, -) - -win1250HungarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, - 46, 72, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, -253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, - 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, -161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176, -177,178,179,180, 78,181, 69,182,183,184,185,186,187,188,189,190, -191,192,193,194,195,196,197, 76,198,199,200,201,202,203,204,205, - 81,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, -221, 51, 83,222, 80,223,224,225,226, 44,227,228,229, 61,230,231, -232,233,234, 58,235, 66, 59,236,237,238, 60, 70, 63,239,240,241, - 84, 14, 75,242, 71, 82,243, 73,244, 15, 85, 79, 86, 30, 77, 87, -245,246,247, 25, 74, 42, 24,248,249,250, 31, 56, 29,251,252,253, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 94.7368% -# first 1024 sequences:5.2623% -# rest sequences: 0.8894% -# negative sequences: 0.0009% -HungarianLangModel = ( -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, -3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,3,3,1,1,2,2,2,2,2,1,2, -3,2,2,3,3,3,3,3,2,3,3,3,3,3,3,1,2,3,3,3,3,2,3,3,1,1,3,3,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, -3,2,1,3,3,3,3,3,2,3,3,3,3,3,1,1,2,3,3,3,3,3,3,3,1,1,3,2,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,1,1,2,3,3,3,1,3,3,3,3,3,1,3,3,2,2,0,3,2,3, -0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,3,3,2,3,3,2,2,3,2,3,2,0,3,2,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,3,3,3,3,2,3,3,3,1,2,3,2,2,3,1,2,3,3,2,2,0,3,3,3, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,3,3,3,3,2,3,3,3,3,0,2,3,2, -0,0,0,1,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,1,1,1,3,3,2,1,3,2,2,3,2,1,3,2,2,1,0,3,3,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,2,2,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,3,2,2,3,1,1,3,2,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,1,3,3,3,3,3,2,2,1,3,3,3,0,1,1,2, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,2,0,3,2,3, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,1,3,2,2,2,3,1,1,3,3,1,1,0,3,3,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,1,2,3,2,2,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,2,2,2,3,1,3,3,2,2,1,3,3,3,1,1,3,1,2,3,2,3,2,2,2,1,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, -3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,2,2,3,2,1,0,3,2,0,1,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,1,0,3,3,3,3,0,2,3,0,0,2,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,2,3,3,2,2,2,2,3,3,0,1,2,3,2,3,2,2,3,2,1,2,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, -3,3,3,3,3,3,1,2,3,3,3,2,1,2,3,3,2,2,2,3,2,3,3,1,3,3,1,1,0,2,3,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,1,2,2,2,2,3,3,3,1,1,1,3,3,1,1,3,1,1,3,2,1,2,3,1,1,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,2,1,2,1,1,3,3,1,1,1,1,3,3,1,1,2,2,1,2,1,1,2,2,1,1,0,2,2,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,1,1,2,1,1,3,3,1,0,1,1,3,3,2,0,1,1,2,3,1,0,2,2,1,0,0,1,3,2, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,2,1,3,3,3,3,3,1,2,3,2,3,3,2,1,1,3,2,3,2,1,2,2,0,1,2,1,0,0,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,2,2,2,2,3,1,2,2,1,1,3,3,0,3,2,1,2,3,2,1,3,3,1,1,0,2,1,3, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,2,2,2,3,2,3,3,3,2,1,1,3,3,1,1,1,2,2,3,2,3,2,2,2,1,0,2,2,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -1,0,0,3,3,3,3,3,0,0,3,3,2,3,0,0,0,2,3,3,1,0,1,2,0,0,1,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,2,3,3,3,3,3,1,2,3,3,2,2,1,1,0,3,3,2,2,1,2,2,1,0,2,2,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,2,2,1,3,1,2,3,3,2,2,1,1,2,2,1,1,1,1,3,2,1,1,1,1,2,1,0,1,2,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -2,3,3,1,1,1,1,1,3,3,3,0,1,1,3,3,1,1,1,1,1,2,2,0,3,1,1,2,0,2,1,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,1,0,1,2,1,2,2,0,1,2,3,1,2,0,0,0,2,1,1,1,1,1,2,0,0,1,1,0,0,0,0, -1,2,1,2,2,2,1,2,1,2,0,2,0,2,2,1,1,2,1,1,2,1,1,1,0,1,0,0,0,1,1,0, -1,1,1,2,3,2,3,3,0,1,2,2,3,1,0,1,0,2,1,2,2,0,1,1,0,0,1,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,3,3,2,2,1,0,0,3,2,3,2,0,0,0,1,1,3,0,0,1,1,0,0,2,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,2,2,3,3,1,0,1,3,2,3,1,1,1,0,1,1,1,1,1,3,1,0,0,2,2,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,1,2,2,2,1,0,1,2,3,3,2,0,0,0,2,1,1,1,2,1,1,1,0,1,1,1,0,0,0, -1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,0,0,1,1, -3,2,2,1,0,0,1,1,2,2,0,3,0,1,2,1,1,0,0,1,1,1,0,1,1,1,1,0,2,1,1,1, -2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,0,1, -2,3,3,0,1,0,0,0,3,3,1,0,0,1,2,2,1,0,0,0,0,2,0,0,1,1,1,0,2,1,1,1, -2,1,1,1,1,1,1,2,1,1,0,1,1,0,1,1,1,0,1,2,1,1,0,1,1,1,1,1,1,1,0,1, -2,3,3,0,1,0,0,0,2,2,0,0,0,0,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,1,0, -2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, -3,2,2,0,1,0,1,0,2,3,2,0,0,1,2,2,1,0,0,1,1,1,0,0,2,1,0,1,2,2,1,1, -2,1,1,1,1,1,1,2,1,1,1,1,1,1,0,2,1,0,1,1,0,1,1,1,0,1,1,2,1,1,0,1, -2,2,2,0,0,1,0,0,2,2,1,1,0,0,2,1,1,0,0,0,1,2,0,0,2,1,0,0,2,1,1,1, -2,1,1,1,1,2,1,2,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1, -1,2,3,0,0,0,1,0,3,2,1,0,0,1,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,2,1, -1,1,0,0,0,1,0,1,1,1,1,1,2,0,0,1,0,0,0,2,0,0,1,1,1,1,1,1,1,1,0,1, -3,0,0,2,1,2,2,1,0,0,2,1,2,2,0,0,0,2,1,1,1,0,1,1,0,0,1,1,2,0,0,0, -1,2,1,2,2,1,1,2,1,2,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,0,0,1, -1,3,2,0,0,0,1,0,2,2,2,0,0,0,2,2,1,0,0,0,0,3,1,1,1,1,0,0,2,1,1,1, -2,1,0,1,1,1,0,1,1,1,1,1,1,1,0,2,1,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1, -2,3,2,0,0,0,1,0,2,2,0,0,0,0,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,1,0, -2,1,1,1,1,2,1,2,1,2,0,1,1,1,0,2,1,1,1,2,1,1,1,1,0,1,1,1,1,1,0,1, -3,1,1,2,2,2,3,2,1,1,2,2,1,1,0,1,0,2,2,1,1,1,1,1,0,0,1,1,0,1,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,0,0,0,0,0,2,2,0,0,0,0,2,2,1,0,0,0,1,1,0,0,1,2,0,0,2,1,1,1, -2,2,1,1,1,2,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,1,1,0,1,2,1,1,1,0,1, -1,0,0,1,2,3,2,1,0,0,2,0,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,0,0,0,0,0, -1,2,1,2,1,2,1,1,1,2,0,2,1,1,1,0,1,2,0,0,1,1,1,0,0,0,0,0,0,0,0,0, -2,3,2,0,0,0,0,0,1,1,2,1,0,0,1,1,1,0,0,0,0,2,0,0,1,1,0,0,2,1,1,1, -2,1,1,1,1,1,1,2,1,0,1,1,1,1,0,2,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1, -1,2,2,0,1,1,1,0,2,2,2,0,0,0,3,2,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0, -1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,0,0,1,1,1,0,1,0,1, -2,1,0,2,1,1,2,2,1,1,2,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,0,0, -1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,0, -1,2,3,0,0,0,1,0,2,2,0,0,0,0,2,2,0,0,0,0,0,1,0,0,1,0,0,0,2,0,1,0, -2,1,1,1,1,1,0,2,0,0,0,1,2,1,1,1,1,0,1,2,0,1,0,1,0,1,1,1,0,1,0,1, -2,2,2,0,0,0,1,0,2,1,2,0,0,0,1,1,2,0,0,0,0,1,0,0,1,1,0,0,2,1,0,1, -2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, -1,2,2,0,0,0,1,0,2,2,2,0,0,0,1,1,0,0,0,0,0,1,1,0,2,0,0,1,1,1,0,1, -1,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1, -1,0,0,1,0,1,2,1,0,0,1,1,1,2,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0, -0,2,1,2,1,1,1,1,1,2,0,2,0,1,1,0,1,2,1,0,1,1,1,0,0,0,0,0,0,1,0,0, -2,1,1,0,1,2,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,2,1,0,1, -2,2,1,1,1,1,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,0,1,0,1,1,1,1,1,0,1, -1,2,2,0,0,0,0,0,1,1,0,0,0,0,2,1,0,0,0,0,0,2,0,0,2,2,0,0,2,0,0,1, -2,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1, -1,1,2,0,0,3,1,0,2,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0, -1,2,1,0,1,1,1,2,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0, -2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,2,0,0,0, -2,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,1,0,1, -2,1,1,1,2,1,1,1,0,1,1,2,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,0,1,1,1,1,1,0,0,1,1,2,1,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0, -1,2,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0, -2,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,2,0,0,1,0,0,1,0,1,0,0,0, -0,1,1,1,1,1,1,1,1,2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,1,1,0,0,2,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0, -0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, -0,0,0,1,0,0,0,0,0,0,1,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, -2,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,1,1,0,0,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, -0,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0, -) - -Latin2HungarianModel = { - 'char_to_order_map': Latin2_HungarianCharToOrderMap, - 'precedence_matrix': HungarianLangModel, - 'typical_positive_ratio': 0.947368, - 'keep_english_letter': True, - 'charset_name': "ISO-8859-2", - 'language': 'Hungarian', -} - -Win1250HungarianModel = { - 'char_to_order_map': win1250HungarianCharToOrderMap, - 'precedence_matrix': HungarianLangModel, - 'typical_positive_ratio': 0.947368, - 'keep_english_letter': True, - 'charset_name': "windows-1250", - 'language': 'Hungarian', -} diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langthaimodel.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/langthaimodel.py deleted file mode 100644 index 15f94c2..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langthaimodel.py +++ /dev/null @@ -1,199 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# The following result for thai was collected from a limited sample (1M). - -# Character Mapping Table: -TIS620CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,182,106,107,100,183,184,185,101, 94,186,187,108,109,110,111, # 40 -188,189,190, 89, 95,112,113,191,192,193,194,253,253,253,253,253, # 50 -253, 64, 72, 73,114, 74,115,116,102, 81,201,117, 90,103, 78, 82, # 60 - 96,202, 91, 79, 84,104,105, 97, 98, 92,203,253,253,253,253,253, # 70 -209,210,211,212,213, 88,214,215,216,217,218,219,220,118,221,222, -223,224, 99, 85, 83,225,226,227,228,229,230,231,232,233,234,235, -236, 5, 30,237, 24,238, 75, 8, 26, 52, 34, 51,119, 47, 58, 57, - 49, 53, 55, 43, 20, 19, 44, 14, 48, 3, 17, 25, 39, 62, 31, 54, - 45, 9, 16, 2, 61, 15,239, 12, 42, 46, 18, 21, 76, 4, 66, 63, - 22, 10, 1, 36, 23, 13, 40, 27, 32, 35, 86,240,241,242,243,244, - 11, 28, 41, 29, 33,245, 50, 37, 6, 7, 67, 77, 38, 93,246,247, - 68, 56, 59, 65, 69, 60, 70, 80, 71, 87,248,249,250,251,252,253, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 92.6386% -# first 1024 sequences:7.3177% -# rest sequences: 1.0230% -# negative sequences: 0.0436% -ThaiLangModel = ( -0,1,3,3,3,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,0,0,3,3,3,0,3,3,3,3, -0,3,3,0,0,0,1,3,0,3,3,2,3,3,0,1,2,3,3,3,3,0,2,0,2,0,0,3,2,1,2,2, -3,0,3,3,2,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,0,3,2,3,0,2,2,2,3, -0,2,3,0,0,0,0,1,0,1,2,3,1,1,3,2,2,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1, -3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,2,3,2,3,3,2,2,2, -3,1,2,3,0,3,3,2,2,1,2,3,3,1,2,0,1,3,0,1,0,0,1,0,0,0,0,0,0,0,1,1, -3,3,2,2,3,3,3,3,1,2,3,3,3,3,3,2,2,2,2,3,3,2,2,3,3,2,2,3,2,3,2,2, -3,3,1,2,3,1,2,2,3,3,1,0,2,1,0,0,3,1,2,1,0,0,1,0,0,0,0,0,0,1,0,1, -3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,2,3,3,2,2,3,2,2,2,2,1,1,3,1,2,1,1, -3,2,1,0,2,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0, -3,3,3,2,3,2,3,3,2,2,3,2,3,3,2,3,1,1,2,3,2,2,2,3,2,2,2,2,2,1,2,1, -2,2,1,1,3,3,2,1,0,1,2,2,0,1,3,0,0,0,1,1,0,0,0,0,0,2,3,0,0,2,1,1, -3,3,2,3,3,2,0,0,3,3,0,3,3,0,2,2,3,1,2,2,1,1,1,0,2,2,2,0,2,2,1,1, -0,2,1,0,2,0,0,2,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,2,3,3,2,0,0,3,3,0,2,3,0,2,1,2,2,2,2,1,2,0,0,2,2,2,0,2,2,1,1, -0,2,1,0,2,0,0,2,0,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0, -3,3,2,3,2,3,2,0,2,2,1,3,2,1,3,2,1,2,3,2,2,3,0,2,3,2,2,1,2,2,2,2, -1,2,2,0,0,0,0,2,0,1,2,0,1,1,1,0,1,0,3,1,1,0,0,0,0,0,0,0,0,0,1,0, -3,3,2,3,3,2,3,2,2,2,3,2,2,3,2,2,1,2,3,2,2,3,1,3,2,2,2,3,2,2,2,3, -3,2,1,3,0,1,1,1,0,2,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,2,0,0, -1,0,0,3,0,3,3,3,3,3,0,0,3,0,2,2,3,3,3,3,3,0,0,0,1,1,3,0,0,0,0,2, -0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0, -2,0,3,3,3,3,0,0,2,3,0,0,3,0,3,3,2,3,3,3,3,3,0,0,3,3,3,0,0,0,3,3, -0,0,3,0,0,0,0,2,0,0,2,1,1,3,0,0,1,0,0,2,3,0,1,0,0,0,0,0,0,0,1,0, -3,3,3,3,2,3,3,3,3,3,3,3,1,2,1,3,3,2,2,1,2,2,2,3,1,1,2,0,2,1,2,1, -2,2,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0, -3,0,2,1,2,3,3,3,0,2,0,2,2,0,2,1,3,2,2,1,2,1,0,0,2,2,1,0,2,1,2,2, -0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,1,3,3,1,1,3,0,2,3,1,1,3,2,1,1,2,0,2,2,3,2,1,1,1,1,1,2, -3,0,0,1,3,1,2,1,2,0,3,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, -3,3,1,1,3,2,3,3,3,1,3,2,1,3,2,1,3,2,2,2,2,1,3,3,1,2,1,3,1,2,3,0, -2,1,1,3,2,2,2,1,2,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, -3,3,2,3,2,3,3,2,3,2,3,2,3,3,2,1,0,3,2,2,2,1,2,2,2,1,2,2,1,2,1,1, -2,2,2,3,0,1,3,1,1,1,1,0,1,1,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,3,2,2,1,1,3,2,3,2,3,2,0,3,2,2,1,2,0,2,2,2,1,2,2,2,2,1, -3,2,1,2,2,1,0,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,2,3,1,2,3,3,2,2,3,0,1,1,2,0,3,3,2,2,3,0,1,1,3,0,0,0,0, -3,1,0,3,3,0,2,0,2,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,2,3,2,3,3,0,1,3,1,1,2,1,2,1,1,3,1,1,0,2,3,1,1,1,1,1,1,1,1, -3,1,1,2,2,2,2,1,1,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,2,2,1,1,2,1,3,3,2,3,2,2,3,2,2,3,1,2,2,1,2,0,3,2,1,2,2,2,2,2,1, -3,2,1,2,2,2,1,1,1,1,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,1,3,3,0,2,1,0,3,2,0,0,3,1,0,1,1,0,1,0,0,0,0,0,1, -1,0,0,1,0,3,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,2,2,2,3,0,0,1,3,0,3,2,0,3,2,2,3,3,3,3,3,1,0,2,2,2,0,2,2,1,2, -0,2,3,0,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,0,2,3,1,3,3,2,3,3,0,3,3,0,3,2,2,3,2,3,3,3,0,0,2,2,3,0,1,1,1,3, -0,0,3,0,0,0,2,2,0,1,3,0,1,2,2,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1, -3,2,3,3,2,0,3,3,2,2,3,1,3,2,1,3,2,0,1,2,2,0,2,3,2,1,0,3,0,0,0,0, -3,0,0,2,3,1,3,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,3,2,2,2,1,2,0,1,3,1,1,3,1,3,0,0,2,1,1,1,1,2,1,1,1,0,2,1,0,1, -1,2,0,0,0,3,1,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,3,1,0,0,0,1,0, -3,3,3,3,2,2,2,2,2,1,3,1,1,1,2,0,1,1,2,1,2,1,3,2,0,0,3,1,1,1,1,1, -3,1,0,2,3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,2,3,0,3,3,0,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,2,3,1,3,0,0,1,2,0,0,2,0,3,3,2,3,3,3,2,3,0,0,2,2,2,0,0,0,2,2, -0,0,1,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,2,3,1,3,3,0,0,1,0,3,0,0,0,0,0, -0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,1,2,3,1,2,3,1,0,3,0,2,2,1,0,2,1,1,2,0,1,0,0,1,1,1,1,0,1,0,0, -1,0,0,0,0,1,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,1,0,1,1,1,3,1,2,2,2,2,2,2,1,1,1,1,0,3,1,0,1,3,1,1,1,1, -1,1,0,2,0,1,3,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1, -3,0,2,2,1,3,3,2,3,3,0,1,1,0,2,2,1,2,1,3,3,1,0,0,3,2,0,0,0,0,2,1, -0,1,0,0,0,0,1,2,0,1,1,3,1,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,0,3,0,0,1,0,0,0,3,0,0,3,0,3,1,0,1,1,1,3,2,0,0,0,3,0,0,0,0,2,0, -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,1,3,2,1,3,3,1,2,2,0,1,2,1,0,1,2,0,0,0,0,0,3,0,0,0,3,0,0,0,0, -3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,1,2,0,3,3,3,2,2,0,1,1,0,1,3,0,0,0,2,2,0,0,0,0,3,1,0,1,0,0,0, -0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,2,3,1,2,0,0,2,1,0,3,1,0,1,2,0,1,1,1,1,3,0,0,3,1,1,0,2,2,1,1, -0,2,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,3,1,2,0,0,2,2,0,1,2,0,1,0,1,3,1,2,1,0,0,0,2,0,3,0,0,0,1,0, -0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,1,1,2,2,0,0,0,2,0,2,1,0,1,1,0,1,1,1,2,1,0,0,1,1,1,0,2,1,1,1, -0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1, -0,0,0,2,0,1,3,1,1,1,1,0,0,0,0,3,2,0,1,0,0,0,1,2,0,0,0,1,0,0,0,0, -0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,2,3,2,2,0,0,0,1,0,0,0,0,2,3,2,1,2,2,3,0,0,0,2,3,1,0,0,0,1,1, -0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0, -3,3,2,2,0,1,0,0,0,0,2,0,2,0,1,0,0,0,1,1,0,0,0,2,1,0,1,0,1,1,0,0, -0,1,0,2,0,0,1,0,3,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,1,0,0,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,0,1,3,1,0,0,0,0,1,1,0,0, -0,1,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0, -3,3,1,1,1,1,2,3,0,0,2,1,1,1,1,1,0,2,1,1,0,0,0,2,1,0,1,2,1,1,0,1, -2,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,3,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1, -0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,2,0,0,0,0,0,0,1,2,1,0,1,1,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,2,0,0,0,1,3,0,1,0,0,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0, -3,3,0,0,1,1,2,0,0,1,2,1,0,1,1,1,0,1,1,0,0,2,1,1,0,1,0,0,1,1,1,0, -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,0,0,1,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,0,1,2,0,1,2,0,0,1,1,0,2,0,1,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0, -1,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,2,1,3,0,0,0,0,1,1,0,0,0,0,0,0,0,3, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,1,0,1,0,0,2,0,0,2,0,0,1,1,2,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0, -1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,1,0,0,2,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -) - -TIS620ThaiModel = { - 'char_to_order_map': TIS620CharToOrderMap, - 'precedence_matrix': ThaiLangModel, - 'typical_positive_ratio': 0.926386, - 'keep_english_letter': False, - 'charset_name': "TIS-620", - 'language': 'Thai', -} diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langturkishmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/langturkishmodel.py deleted file mode 100644 index a427a45..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/langturkishmodel.py +++ /dev/null @@ -1,193 +0,0 @@ -# -*- coding: utf-8 -*- -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Özgür Baskın - Turkish Language Model -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Character Mapping Table: -Latin5_TurkishCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, -255, 23, 37, 47, 39, 29, 52, 36, 45, 53, 60, 16, 49, 20, 46, 42, - 48, 69, 44, 35, 31, 51, 38, 62, 65, 43, 56,255,255,255,255,255, -255, 1, 21, 28, 12, 2, 18, 27, 25, 3, 24, 10, 5, 13, 4, 15, - 26, 64, 7, 8, 9, 14, 32, 57, 58, 11, 22,255,255,255,255,255, -180,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165, -164,163,162,161,160,159,101,158,157,156,155,154,153,152,151,106, -150,149,148,147,146,145,144,100,143,142,141,140,139,138,137,136, - 94, 80, 93,135,105,134,133, 63,132,131,130,129,128,127,126,125, -124,104, 73, 99, 79, 85,123, 54,122, 98, 92,121,120, 91,103,119, - 68,118,117, 97,116,115, 50, 90,114,113,112,111, 55, 41, 40, 86, - 89, 70, 59, 78, 71, 82, 88, 33, 77, 66, 84, 83,110, 75, 61, 96, - 30, 67,109, 74, 87,102, 34, 95, 81,108, 76, 72, 17, 6, 19,107, -) - -TurkishLangModel = ( -3,2,3,3,3,1,3,3,3,3,3,3,3,3,2,1,1,3,3,1,3,3,0,3,3,3,3,3,0,3,1,3, -3,2,1,0,0,1,1,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, -3,2,2,3,3,0,3,3,3,3,3,3,3,2,3,1,0,3,3,1,3,3,0,3,3,3,3,3,0,3,0,3, -3,1,1,0,1,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,0,1,0,1, -3,3,2,3,3,0,3,3,3,3,3,3,3,2,3,1,1,3,3,0,3,3,1,2,3,3,3,3,0,3,0,3, -3,1,1,0,0,0,1,0,0,0,0,1,1,0,1,2,1,0,0,0,1,0,0,0,0,2,0,0,0,0,0,1, -3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,1,3,3,2,0,3,2,1,2,2,1,3,3,0,0,0,2, -2,2,0,1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1, -3,3,3,2,3,3,1,2,3,3,3,3,3,3,3,1,3,2,1,0,3,2,0,1,2,3,3,2,1,0,0,2, -2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0, -1,0,1,3,3,1,3,3,3,3,3,3,3,1,2,0,0,2,3,0,2,3,0,0,2,2,2,3,0,3,0,1, -2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,0,3,2,0,2,3,2,3,3,1,0,0,2, -3,2,0,0,1,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,2,0,0,1, -3,3,3,2,3,3,2,3,3,3,3,2,3,3,3,0,3,3,0,0,2,1,0,0,2,3,2,2,0,0,0,2, -2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,1,0,2,0,0,1, -3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,0,1,3,2,1,1,3,2,3,2,1,0,0,2, -2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, -3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,2,0,2,3,0,0,2,2,2,2,0,0,0,2, -3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, -3,3,3,3,3,3,3,2,2,2,2,3,2,3,3,0,3,3,1,1,2,2,0,0,2,2,3,2,0,0,1,3, -0,3,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1, -3,3,3,2,3,3,3,2,1,2,2,3,2,3,3,0,3,2,0,0,1,1,0,1,1,2,1,2,0,0,0,1, -0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0, -3,3,3,2,3,3,2,3,2,2,2,3,3,3,3,1,3,1,1,0,3,2,1,1,3,3,2,3,1,0,0,1, -1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,1, -3,2,2,3,3,0,3,3,3,3,3,3,3,2,2,1,0,3,3,1,3,3,0,1,3,3,2,3,0,3,0,3, -2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, -2,2,2,3,3,0,3,3,3,3,3,3,3,3,3,0,0,3,2,0,3,3,0,3,2,3,3,3,0,3,1,3, -2,0,0,0,0,0,0,0,0,0,0,1,0,1,2,0,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, -3,3,3,1,2,3,3,1,0,0,1,0,0,3,3,2,3,0,0,2,0,0,2,0,2,0,0,0,2,0,2,0, -0,3,1,0,1,0,0,0,2,2,1,0,1,1,2,1,2,2,2,0,2,1,1,0,0,0,2,0,0,0,0,0, -1,2,1,3,3,0,3,3,3,3,3,2,3,0,0,0,0,2,3,0,2,3,1,0,2,3,1,3,0,3,0,2, -3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,1,3,3,2,2,3,2,2,0,1,2,3,0,1,2,1,0,1,0,0,0,1,0,2,2,0,0,0,1, -1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0, -3,3,3,1,3,3,1,1,3,3,1,1,3,3,1,0,2,1,2,0,2,1,0,0,1,1,2,1,0,0,0,2, -2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,1,0,2,1,3,0,0,2,0,0,3,3,0,3,0,0,1,0,1,2,0,0,1,1,2,2,0,1,0, -0,1,2,1,1,0,1,0,1,1,1,1,1,0,1,1,1,2,2,1,2,0,1,0,0,0,0,0,0,1,0,0, -3,3,3,2,3,2,3,3,0,2,2,2,3,3,3,0,3,0,0,0,2,2,0,1,2,1,1,1,0,0,0,1, -0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, -3,3,3,3,3,3,2,1,2,2,3,3,3,3,2,0,2,0,0,0,2,2,0,0,2,1,3,3,0,0,1,1, -1,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0, -1,1,2,3,3,0,3,3,3,3,3,3,2,2,0,2,0,2,3,2,3,2,2,2,2,2,2,2,1,3,2,3, -2,0,2,1,2,2,2,2,1,1,2,2,1,2,2,1,2,0,0,2,1,1,0,2,1,0,0,1,0,0,0,1, -2,3,3,1,1,1,0,1,1,1,2,3,2,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0, -0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,2,2,2,3,2,3,2,2,1,3,3,3,0,2,1,2,0,2,1,0,0,1,1,1,1,1,0,0,1, -2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, -3,3,3,2,3,3,3,3,3,2,3,1,2,3,3,1,2,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, -3,3,3,2,2,3,3,2,1,1,1,1,1,3,3,0,3,1,0,0,1,1,0,0,3,1,2,1,0,0,0,0, -0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, -3,3,3,2,2,3,2,2,2,3,2,1,1,3,3,0,3,0,0,0,0,1,0,0,3,1,1,2,0,0,0,1, -1,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -1,1,1,3,3,0,3,3,3,3,3,2,2,2,1,2,0,2,1,2,2,1,1,0,1,2,2,2,2,2,2,2, -0,0,2,1,2,1,2,1,0,1,1,3,1,2,1,1,2,0,0,2,0,1,0,1,0,1,0,0,0,1,0,1, -3,3,3,1,3,3,3,0,1,1,0,2,2,3,1,0,3,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,2,0,0,2,2,1,0,0,1,0,0,3,3,1,3,0,0,1,1,0,2,0,3,0,0,0,2,0,1,1, -0,1,2,0,1,2,2,0,2,2,2,2,1,0,2,1,1,0,2,0,2,1,2,0,0,0,0,0,0,0,0,0, -3,3,3,1,3,2,3,2,0,2,2,2,1,3,2,0,2,1,2,0,1,2,0,0,1,0,2,2,0,0,0,2, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0, -3,3,3,0,3,3,1,1,2,3,1,0,3,2,3,0,3,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0, -1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,3,3,0,3,3,2,3,3,2,2,0,0,0,0,1,2,0,1,3,0,0,0,3,1,1,0,3,0,2, -2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,1,2,2,1,0,3,1,1,1,1,3,3,2,3,0,0,1,0,1,2,0,2,2,0,2,2,0,2,1, -0,2,2,1,1,1,1,0,2,1,1,0,1,1,1,1,2,1,2,1,2,0,1,0,1,0,0,0,0,0,0,0, -3,3,3,0,1,1,3,0,0,1,1,0,0,2,2,0,3,0,0,1,1,0,1,0,0,0,0,0,2,0,0,0, -0,3,1,0,1,0,1,0,2,0,0,1,0,1,0,1,1,1,2,1,1,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,0,2,0,2,0,1,1,1,0,0,3,3,0,2,0,0,1,0,0,2,1,1,0,1,0,1,0,1,0, -0,2,0,1,2,0,2,0,2,1,1,0,1,0,2,1,1,0,2,1,1,0,1,0,0,0,1,1,0,0,0,0, -3,2,3,0,1,0,0,0,0,0,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,0,2,0,0,0, -0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,2,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,0,0,2,3,0,0,1,0,1,0,2,3,2,3,0,0,1,3,0,2,1,0,0,0,0,2,0,1,0, -0,2,1,0,0,1,1,0,2,1,0,0,1,0,0,1,1,0,1,1,2,0,1,0,0,0,0,1,0,0,0,0, -3,2,2,0,0,1,1,0,0,0,0,0,0,3,1,1,1,0,0,0,0,0,1,0,0,0,0,0,2,0,1,0, -0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, -0,0,0,3,3,0,2,3,2,2,1,2,2,1,1,2,0,1,3,2,2,2,0,0,2,2,0,0,0,1,2,1, -3,0,2,1,1,0,1,1,1,0,1,2,2,2,1,1,2,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0, -0,1,1,2,3,0,3,3,3,2,2,2,2,1,0,1,0,1,0,1,2,2,0,0,2,2,1,3,1,1,2,1, -0,0,1,1,2,0,1,1,0,0,1,2,0,2,1,1,2,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0, -3,3,2,0,0,3,1,0,0,0,0,0,0,3,2,1,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, -0,2,1,1,0,0,1,0,1,2,0,0,1,1,0,0,2,1,1,1,1,0,2,0,0,0,0,0,0,0,0,0, -3,3,2,0,0,1,0,0,0,0,1,0,0,3,3,2,2,0,0,1,0,0,2,0,1,0,0,0,2,0,1,0, -0,0,1,1,0,0,2,0,2,1,0,0,1,1,2,1,2,0,2,1,2,1,1,1,0,0,1,1,0,0,0,0, -3,3,2,0,0,2,2,0,0,0,1,1,0,2,2,1,3,1,0,1,0,1,2,0,0,0,0,0,1,0,1,0, -0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,2,0,0,0,1,0,0,1,0,0,2,3,1,2,0,0,1,0,0,2,0,0,0,1,0,2,0,2,0, -0,1,1,2,2,1,2,0,2,1,1,0,0,1,1,0,1,1,1,1,2,1,1,0,0,0,0,0,0,0,0,0, -3,3,3,0,2,1,2,1,0,0,1,1,0,3,3,1,2,0,0,1,0,0,2,0,2,0,1,1,2,0,0,0, -0,0,1,1,1,1,2,0,1,1,0,1,1,1,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0, -3,3,3,0,2,2,3,2,0,0,1,0,0,2,3,1,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0, -0,1,1,0,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,0,0,0,0,0,0,0,1,0,0,2,2,2,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, -0,0,2,1,1,0,1,0,2,1,1,0,0,1,1,2,1,0,2,0,2,0,1,0,0,0,2,0,0,0,0,0, -0,0,0,2,2,0,2,1,1,1,1,2,2,0,0,1,0,1,0,0,1,3,0,0,0,0,1,0,0,2,1,0, -0,0,1,0,1,0,0,0,0,0,2,1,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, -2,0,0,2,3,0,2,3,1,2,2,0,2,0,0,2,0,2,1,1,1,2,1,0,0,1,2,1,1,2,1,0, -1,0,2,0,1,0,1,1,0,0,2,2,1,2,1,1,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,0,2,1,2,0,0,0,1,0,0,3,2,0,1,0,0,1,0,0,2,0,0,0,1,2,1,0,1,0, -0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0, -0,0,0,2,2,0,2,2,1,1,0,1,1,1,1,1,0,0,1,2,1,1,1,0,1,0,0,0,1,1,1,1, -0,0,2,1,0,1,1,1,0,1,1,2,1,2,1,1,2,0,1,1,2,1,0,2,0,0,0,0,0,0,0,0, -3,2,2,0,0,2,0,0,0,0,0,0,0,2,2,0,2,0,0,1,0,0,2,0,0,0,0,0,2,0,0,0, -0,2,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, -0,0,0,3,2,0,2,2,0,1,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0, -2,0,1,0,1,0,1,1,0,0,1,2,0,1,0,1,1,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0, -2,2,2,0,1,1,0,0,0,1,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,1,2,0,1,0, -0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,2,1,0,1,1,1,0,0,0,0,1,2,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, -1,1,2,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,1, -0,0,1,2,2,0,2,1,2,1,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,0,0,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, -2,2,2,0,0,0,1,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -) - -Latin5TurkishModel = { - 'char_to_order_map': Latin5_TurkishCharToOrderMap, - 'precedence_matrix': TurkishLangModel, - 'typical_positive_ratio': 0.970290, - 'keep_english_letter': True, - 'charset_name': "ISO-8859-9", - 'language': 'Turkish', -} diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/latin1prober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/latin1prober.py deleted file mode 100644 index 7d1e8c2..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/latin1prober.py +++ /dev/null @@ -1,145 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetprober import CharSetProber -from .enums import ProbingState - -FREQ_CAT_NUM = 4 - -UDF = 0 # undefined -OTH = 1 # other -ASC = 2 # ascii capital letter -ASS = 3 # ascii small letter -ACV = 4 # accent capital vowel -ACO = 5 # accent capital other -ASV = 6 # accent small vowel -ASO = 7 # accent small other -CLASS_NUM = 8 # total classes - -Latin1_CharToClass = ( - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 00 - 07 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 08 - 0F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 10 - 17 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 18 - 1F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 20 - 27 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 28 - 2F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 30 - 37 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 38 - 3F - OTH, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 40 - 47 - ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 48 - 4F - ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 50 - 57 - ASC, ASC, ASC, OTH, OTH, OTH, OTH, OTH, # 58 - 5F - OTH, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 60 - 67 - ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 68 - 6F - ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 70 - 77 - ASS, ASS, ASS, OTH, OTH, OTH, OTH, OTH, # 78 - 7F - OTH, UDF, OTH, ASO, OTH, OTH, OTH, OTH, # 80 - 87 - OTH, OTH, ACO, OTH, ACO, UDF, ACO, UDF, # 88 - 8F - UDF, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 90 - 97 - OTH, OTH, ASO, OTH, ASO, UDF, ASO, ACO, # 98 - 9F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A0 - A7 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A8 - AF - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B0 - B7 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B8 - BF - ACV, ACV, ACV, ACV, ACV, ACV, ACO, ACO, # C0 - C7 - ACV, ACV, ACV, ACV, ACV, ACV, ACV, ACV, # C8 - CF - ACO, ACO, ACV, ACV, ACV, ACV, ACV, OTH, # D0 - D7 - ACV, ACV, ACV, ACV, ACV, ACO, ACO, ACO, # D8 - DF - ASV, ASV, ASV, ASV, ASV, ASV, ASO, ASO, # E0 - E7 - ASV, ASV, ASV, ASV, ASV, ASV, ASV, ASV, # E8 - EF - ASO, ASO, ASV, ASV, ASV, ASV, ASV, OTH, # F0 - F7 - ASV, ASV, ASV, ASV, ASV, ASO, ASO, ASO, # F8 - FF -) - -# 0 : illegal -# 1 : very unlikely -# 2 : normal -# 3 : very likely -Latin1ClassModel = ( -# UDF OTH ASC ASS ACV ACO ASV ASO - 0, 0, 0, 0, 0, 0, 0, 0, # UDF - 0, 3, 3, 3, 3, 3, 3, 3, # OTH - 0, 3, 3, 3, 3, 3, 3, 3, # ASC - 0, 3, 3, 3, 1, 1, 3, 3, # ASS - 0, 3, 3, 3, 1, 2, 1, 2, # ACV - 0, 3, 3, 3, 3, 3, 3, 3, # ACO - 0, 3, 1, 3, 1, 1, 1, 3, # ASV - 0, 3, 1, 3, 1, 1, 3, 3, # ASO -) - - -class Latin1Prober(CharSetProber): - def __init__(self): - super(Latin1Prober, self).__init__() - self._last_char_class = None - self._freq_counter = None - self.reset() - - def reset(self): - self._last_char_class = OTH - self._freq_counter = [0] * FREQ_CAT_NUM - CharSetProber.reset(self) - - @property - def charset_name(self): - return "ISO-8859-1" - - @property - def language(self): - return "" - - def feed(self, byte_str): - byte_str = self.filter_with_english_letters(byte_str) - for c in byte_str: - char_class = Latin1_CharToClass[c] - freq = Latin1ClassModel[(self._last_char_class * CLASS_NUM) - + char_class] - if freq == 0: - self._state = ProbingState.NOT_ME - break - self._freq_counter[freq] += 1 - self._last_char_class = char_class - - return self.state - - def get_confidence(self): - if self.state == ProbingState.NOT_ME: - return 0.01 - - total = sum(self._freq_counter) - if total < 0.01: - confidence = 0.0 - else: - confidence = ((self._freq_counter[3] - self._freq_counter[1] * 20.0) - / total) - if confidence < 0.0: - confidence = 0.0 - # lower the confidence of latin1 so that other more accurate - # detector can take priority. - confidence = confidence * 0.73 - return confidence diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/mbcharsetprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/mbcharsetprober.py deleted file mode 100644 index 6256ecf..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/mbcharsetprober.py +++ /dev/null @@ -1,91 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# Proofpoint, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetprober import CharSetProber -from .enums import ProbingState, MachineState - - -class MultiByteCharSetProber(CharSetProber): - """ - MultiByteCharSetProber - """ - - def __init__(self, lang_filter=None): - super(MultiByteCharSetProber, self).__init__(lang_filter=lang_filter) - self.distribution_analyzer = None - self.coding_sm = None - self._last_char = [0, 0] - - def reset(self): - super(MultiByteCharSetProber, self).reset() - if self.coding_sm: - self.coding_sm.reset() - if self.distribution_analyzer: - self.distribution_analyzer.reset() - self._last_char = [0, 0] - - @property - def charset_name(self): - raise NotImplementedError - - @property - def language(self): - raise NotImplementedError - - def feed(self, byte_str): - for i in range(len(byte_str)): - coding_state = self.coding_sm.next_state(byte_str[i]) - if coding_state == MachineState.ERROR: - self.logger.debug('%s %s prober hit error at byte %s', - self.charset_name, self.language, i) - self._state = ProbingState.NOT_ME - break - elif coding_state == MachineState.ITS_ME: - self._state = ProbingState.FOUND_IT - break - elif coding_state == MachineState.START: - char_len = self.coding_sm.get_current_charlen() - if i == 0: - self._last_char[1] = byte_str[0] - self.distribution_analyzer.feed(self._last_char, char_len) - else: - self.distribution_analyzer.feed(byte_str[i - 1:i + 1], - char_len) - - self._last_char[0] = byte_str[-1] - - if self.state == ProbingState.DETECTING: - if (self.distribution_analyzer.got_enough_data() and - (self.get_confidence() > self.SHORTCUT_THRESHOLD)): - self._state = ProbingState.FOUND_IT - - return self.state - - def get_confidence(self): - return self.distribution_analyzer.get_confidence() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/mbcsgroupprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/mbcsgroupprober.py deleted file mode 100644 index 530abe7..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/mbcsgroupprober.py +++ /dev/null @@ -1,54 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# Proofpoint, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetgroupprober import CharSetGroupProber -from .utf8prober import UTF8Prober -from .sjisprober import SJISProber -from .eucjpprober import EUCJPProber -from .gb2312prober import GB2312Prober -from .euckrprober import EUCKRProber -from .cp949prober import CP949Prober -from .big5prober import Big5Prober -from .euctwprober import EUCTWProber - - -class MBCSGroupProber(CharSetGroupProber): - def __init__(self, lang_filter=None): - super(MBCSGroupProber, self).__init__(lang_filter=lang_filter) - self.probers = [ - UTF8Prober(), - SJISProber(), - EUCJPProber(), - GB2312Prober(), - EUCKRProber(), - CP949Prober(), - Big5Prober(), - EUCTWProber() - ] - self.reset() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/mbcssm.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/mbcssm.py deleted file mode 100644 index 8360d0f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/mbcssm.py +++ /dev/null @@ -1,572 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .enums import MachineState - -# BIG5 - -BIG5_CLS = ( - 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as legal value - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,1, # 78 - 7f - 4,4,4,4,4,4,4,4, # 80 - 87 - 4,4,4,4,4,4,4,4, # 88 - 8f - 4,4,4,4,4,4,4,4, # 90 - 97 - 4,4,4,4,4,4,4,4, # 98 - 9f - 4,3,3,3,3,3,3,3, # a0 - a7 - 3,3,3,3,3,3,3,3, # a8 - af - 3,3,3,3,3,3,3,3, # b0 - b7 - 3,3,3,3,3,3,3,3, # b8 - bf - 3,3,3,3,3,3,3,3, # c0 - c7 - 3,3,3,3,3,3,3,3, # c8 - cf - 3,3,3,3,3,3,3,3, # d0 - d7 - 3,3,3,3,3,3,3,3, # d8 - df - 3,3,3,3,3,3,3,3, # e0 - e7 - 3,3,3,3,3,3,3,3, # e8 - ef - 3,3,3,3,3,3,3,3, # f0 - f7 - 3,3,3,3,3,3,3,0 # f8 - ff -) - -BIG5_ST = ( - MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 - MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,#08-0f - MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START#10-17 -) - -BIG5_CHAR_LEN_TABLE = (0, 1, 1, 2, 0) - -BIG5_SM_MODEL = {'class_table': BIG5_CLS, - 'class_factor': 5, - 'state_table': BIG5_ST, - 'char_len_table': BIG5_CHAR_LEN_TABLE, - 'name': 'Big5'} - -# CP949 - -CP949_CLS = ( - 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,0,0, # 00 - 0f - 1,1,1,1,1,1,1,1, 1,1,1,0,1,1,1,1, # 10 - 1f - 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 20 - 2f - 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 30 - 3f - 1,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4, # 40 - 4f - 4,4,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 50 - 5f - 1,5,5,5,5,5,5,5, 5,5,5,5,5,5,5,5, # 60 - 6f - 5,5,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 70 - 7f - 0,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 80 - 8f - 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 90 - 9f - 6,7,7,7,7,7,7,7, 7,7,7,7,7,8,8,8, # a0 - af - 7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7, # b0 - bf - 7,7,7,7,7,7,9,2, 2,3,2,2,2,2,2,2, # c0 - cf - 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # d0 - df - 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # e0 - ef - 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,0, # f0 - ff -) - -CP949_ST = ( -#cls= 0 1 2 3 4 5 6 7 8 9 # previous state = - MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START, 4, 5,MachineState.ERROR, 6, # MachineState.START - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, # MachineState.ERROR - MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME, # MachineState.ITS_ME - MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 3 - MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 4 - MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 5 - MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 6 -) - -CP949_CHAR_LEN_TABLE = (0, 1, 2, 0, 1, 1, 2, 2, 0, 2) - -CP949_SM_MODEL = {'class_table': CP949_CLS, - 'class_factor': 10, - 'state_table': CP949_ST, - 'char_len_table': CP949_CHAR_LEN_TABLE, - 'name': 'CP949'} - -# EUC-JP - -EUCJP_CLS = ( - 4,4,4,4,4,4,4,4, # 00 - 07 - 4,4,4,4,4,4,5,5, # 08 - 0f - 4,4,4,4,4,4,4,4, # 10 - 17 - 4,4,4,5,4,4,4,4, # 18 - 1f - 4,4,4,4,4,4,4,4, # 20 - 27 - 4,4,4,4,4,4,4,4, # 28 - 2f - 4,4,4,4,4,4,4,4, # 30 - 37 - 4,4,4,4,4,4,4,4, # 38 - 3f - 4,4,4,4,4,4,4,4, # 40 - 47 - 4,4,4,4,4,4,4,4, # 48 - 4f - 4,4,4,4,4,4,4,4, # 50 - 57 - 4,4,4,4,4,4,4,4, # 58 - 5f - 4,4,4,4,4,4,4,4, # 60 - 67 - 4,4,4,4,4,4,4,4, # 68 - 6f - 4,4,4,4,4,4,4,4, # 70 - 77 - 4,4,4,4,4,4,4,4, # 78 - 7f - 5,5,5,5,5,5,5,5, # 80 - 87 - 5,5,5,5,5,5,1,3, # 88 - 8f - 5,5,5,5,5,5,5,5, # 90 - 97 - 5,5,5,5,5,5,5,5, # 98 - 9f - 5,2,2,2,2,2,2,2, # a0 - a7 - 2,2,2,2,2,2,2,2, # a8 - af - 2,2,2,2,2,2,2,2, # b0 - b7 - 2,2,2,2,2,2,2,2, # b8 - bf - 2,2,2,2,2,2,2,2, # c0 - c7 - 2,2,2,2,2,2,2,2, # c8 - cf - 2,2,2,2,2,2,2,2, # d0 - d7 - 2,2,2,2,2,2,2,2, # d8 - df - 0,0,0,0,0,0,0,0, # e0 - e7 - 0,0,0,0,0,0,0,0, # e8 - ef - 0,0,0,0,0,0,0,0, # f0 - f7 - 0,0,0,0,0,0,0,5 # f8 - ff -) - -EUCJP_ST = ( - 3, 4, 3, 5,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f - MachineState.ITS_ME,MachineState.ITS_ME,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 - MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 3,MachineState.ERROR,#18-1f - 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START#20-27 -) - -EUCJP_CHAR_LEN_TABLE = (2, 2, 2, 3, 1, 0) - -EUCJP_SM_MODEL = {'class_table': EUCJP_CLS, - 'class_factor': 6, - 'state_table': EUCJP_ST, - 'char_len_table': EUCJP_CHAR_LEN_TABLE, - 'name': 'EUC-JP'} - -# EUC-KR - -EUCKR_CLS = ( - 1,1,1,1,1,1,1,1, # 00 - 07 - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 1,1,1,1,1,1,1,1, # 40 - 47 - 1,1,1,1,1,1,1,1, # 48 - 4f - 1,1,1,1,1,1,1,1, # 50 - 57 - 1,1,1,1,1,1,1,1, # 58 - 5f - 1,1,1,1,1,1,1,1, # 60 - 67 - 1,1,1,1,1,1,1,1, # 68 - 6f - 1,1,1,1,1,1,1,1, # 70 - 77 - 1,1,1,1,1,1,1,1, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,0,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,2,2,2,2,2,2,2, # a0 - a7 - 2,2,2,2,2,3,3,3, # a8 - af - 2,2,2,2,2,2,2,2, # b0 - b7 - 2,2,2,2,2,2,2,2, # b8 - bf - 2,2,2,2,2,2,2,2, # c0 - c7 - 2,3,2,2,2,2,2,2, # c8 - cf - 2,2,2,2,2,2,2,2, # d0 - d7 - 2,2,2,2,2,2,2,2, # d8 - df - 2,2,2,2,2,2,2,2, # e0 - e7 - 2,2,2,2,2,2,2,2, # e8 - ef - 2,2,2,2,2,2,2,2, # f0 - f7 - 2,2,2,2,2,2,2,0 # f8 - ff -) - -EUCKR_ST = ( - MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 - MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #08-0f -) - -EUCKR_CHAR_LEN_TABLE = (0, 1, 2, 0) - -EUCKR_SM_MODEL = {'class_table': EUCKR_CLS, - 'class_factor': 4, - 'state_table': EUCKR_ST, - 'char_len_table': EUCKR_CHAR_LEN_TABLE, - 'name': 'EUC-KR'} - -# EUC-TW - -EUCTW_CLS = ( - 2,2,2,2,2,2,2,2, # 00 - 07 - 2,2,2,2,2,2,0,0, # 08 - 0f - 2,2,2,2,2,2,2,2, # 10 - 17 - 2,2,2,0,2,2,2,2, # 18 - 1f - 2,2,2,2,2,2,2,2, # 20 - 27 - 2,2,2,2,2,2,2,2, # 28 - 2f - 2,2,2,2,2,2,2,2, # 30 - 37 - 2,2,2,2,2,2,2,2, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,2, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,6,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,3,4,4,4,4,4,4, # a0 - a7 - 5,5,1,1,1,1,1,1, # a8 - af - 1,1,1,1,1,1,1,1, # b0 - b7 - 1,1,1,1,1,1,1,1, # b8 - bf - 1,1,3,1,3,3,3,3, # c0 - c7 - 3,3,3,3,3,3,3,3, # c8 - cf - 3,3,3,3,3,3,3,3, # d0 - d7 - 3,3,3,3,3,3,3,3, # d8 - df - 3,3,3,3,3,3,3,3, # e0 - e7 - 3,3,3,3,3,3,3,3, # e8 - ef - 3,3,3,3,3,3,3,3, # f0 - f7 - 3,3,3,3,3,3,3,0 # f8 - ff -) - -EUCTW_ST = ( - MachineState.ERROR,MachineState.ERROR,MachineState.START, 3, 3, 3, 4,MachineState.ERROR,#00-07 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f - MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.ERROR,#10-17 - MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f - 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,#20-27 - MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f -) - -EUCTW_CHAR_LEN_TABLE = (0, 0, 1, 2, 2, 2, 3) - -EUCTW_SM_MODEL = {'class_table': EUCTW_CLS, - 'class_factor': 7, - 'state_table': EUCTW_ST, - 'char_len_table': EUCTW_CHAR_LEN_TABLE, - 'name': 'x-euc-tw'} - -# GB2312 - -GB2312_CLS = ( - 1,1,1,1,1,1,1,1, # 00 - 07 - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 3,3,3,3,3,3,3,3, # 30 - 37 - 3,3,1,1,1,1,1,1, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,4, # 78 - 7f - 5,6,6,6,6,6,6,6, # 80 - 87 - 6,6,6,6,6,6,6,6, # 88 - 8f - 6,6,6,6,6,6,6,6, # 90 - 97 - 6,6,6,6,6,6,6,6, # 98 - 9f - 6,6,6,6,6,6,6,6, # a0 - a7 - 6,6,6,6,6,6,6,6, # a8 - af - 6,6,6,6,6,6,6,6, # b0 - b7 - 6,6,6,6,6,6,6,6, # b8 - bf - 6,6,6,6,6,6,6,6, # c0 - c7 - 6,6,6,6,6,6,6,6, # c8 - cf - 6,6,6,6,6,6,6,6, # d0 - d7 - 6,6,6,6,6,6,6,6, # d8 - df - 6,6,6,6,6,6,6,6, # e0 - e7 - 6,6,6,6,6,6,6,6, # e8 - ef - 6,6,6,6,6,6,6,6, # f0 - f7 - 6,6,6,6,6,6,6,0 # f8 - ff -) - -GB2312_ST = ( - MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, 3,MachineState.ERROR,#00-07 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f - MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,#10-17 - 4,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f - MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#20-27 - MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f -) - -# To be accurate, the length of class 6 can be either 2 or 4. -# But it is not necessary to discriminate between the two since -# it is used for frequency analysis only, and we are validating -# each code range there as well. So it is safe to set it to be -# 2 here. -GB2312_CHAR_LEN_TABLE = (0, 1, 1, 1, 1, 1, 2) - -GB2312_SM_MODEL = {'class_table': GB2312_CLS, - 'class_factor': 7, - 'state_table': GB2312_ST, - 'char_len_table': GB2312_CHAR_LEN_TABLE, - 'name': 'GB2312'} - -# Shift_JIS - -SJIS_CLS = ( - 1,1,1,1,1,1,1,1, # 00 - 07 - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,1, # 78 - 7f - 3,3,3,3,3,2,2,3, # 80 - 87 - 3,3,3,3,3,3,3,3, # 88 - 8f - 3,3,3,3,3,3,3,3, # 90 - 97 - 3,3,3,3,3,3,3,3, # 98 - 9f - #0xa0 is illegal in sjis encoding, but some pages does - #contain such byte. We need to be more error forgiven. - 2,2,2,2,2,2,2,2, # a0 - a7 - 2,2,2,2,2,2,2,2, # a8 - af - 2,2,2,2,2,2,2,2, # b0 - b7 - 2,2,2,2,2,2,2,2, # b8 - bf - 2,2,2,2,2,2,2,2, # c0 - c7 - 2,2,2,2,2,2,2,2, # c8 - cf - 2,2,2,2,2,2,2,2, # d0 - d7 - 2,2,2,2,2,2,2,2, # d8 - df - 3,3,3,3,3,3,3,3, # e0 - e7 - 3,3,3,3,3,4,4,4, # e8 - ef - 3,3,3,3,3,3,3,3, # f0 - f7 - 3,3,3,3,3,0,0,0) # f8 - ff - - -SJIS_ST = ( - MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f - MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START #10-17 -) - -SJIS_CHAR_LEN_TABLE = (0, 1, 1, 2, 0, 0) - -SJIS_SM_MODEL = {'class_table': SJIS_CLS, - 'class_factor': 6, - 'state_table': SJIS_ST, - 'char_len_table': SJIS_CHAR_LEN_TABLE, - 'name': 'Shift_JIS'} - -# UCS2-BE - -UCS2BE_CLS = ( - 0,0,0,0,0,0,0,0, # 00 - 07 - 0,0,1,0,0,2,0,0, # 08 - 0f - 0,0,0,0,0,0,0,0, # 10 - 17 - 0,0,0,3,0,0,0,0, # 18 - 1f - 0,0,0,0,0,0,0,0, # 20 - 27 - 0,3,3,3,3,3,0,0, # 28 - 2f - 0,0,0,0,0,0,0,0, # 30 - 37 - 0,0,0,0,0,0,0,0, # 38 - 3f - 0,0,0,0,0,0,0,0, # 40 - 47 - 0,0,0,0,0,0,0,0, # 48 - 4f - 0,0,0,0,0,0,0,0, # 50 - 57 - 0,0,0,0,0,0,0,0, # 58 - 5f - 0,0,0,0,0,0,0,0, # 60 - 67 - 0,0,0,0,0,0,0,0, # 68 - 6f - 0,0,0,0,0,0,0,0, # 70 - 77 - 0,0,0,0,0,0,0,0, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,0,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,0,0,0,0,0,0,0, # a0 - a7 - 0,0,0,0,0,0,0,0, # a8 - af - 0,0,0,0,0,0,0,0, # b0 - b7 - 0,0,0,0,0,0,0,0, # b8 - bf - 0,0,0,0,0,0,0,0, # c0 - c7 - 0,0,0,0,0,0,0,0, # c8 - cf - 0,0,0,0,0,0,0,0, # d0 - d7 - 0,0,0,0,0,0,0,0, # d8 - df - 0,0,0,0,0,0,0,0, # e0 - e7 - 0,0,0,0,0,0,0,0, # e8 - ef - 0,0,0,0,0,0,0,0, # f0 - f7 - 0,0,0,0,0,0,4,5 # f8 - ff -) - -UCS2BE_ST = ( - 5, 7, 7,MachineState.ERROR, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f - MachineState.ITS_ME,MachineState.ITS_ME, 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,#10-17 - 6, 6, 6, 6, 6,MachineState.ITS_ME, 6, 6,#18-1f - 6, 6, 6, 6, 5, 7, 7,MachineState.ERROR,#20-27 - 5, 8, 6, 6,MachineState.ERROR, 6, 6, 6,#28-2f - 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #30-37 -) - -UCS2BE_CHAR_LEN_TABLE = (2, 2, 2, 0, 2, 2) - -UCS2BE_SM_MODEL = {'class_table': UCS2BE_CLS, - 'class_factor': 6, - 'state_table': UCS2BE_ST, - 'char_len_table': UCS2BE_CHAR_LEN_TABLE, - 'name': 'UTF-16BE'} - -# UCS2-LE - -UCS2LE_CLS = ( - 0,0,0,0,0,0,0,0, # 00 - 07 - 0,0,1,0,0,2,0,0, # 08 - 0f - 0,0,0,0,0,0,0,0, # 10 - 17 - 0,0,0,3,0,0,0,0, # 18 - 1f - 0,0,0,0,0,0,0,0, # 20 - 27 - 0,3,3,3,3,3,0,0, # 28 - 2f - 0,0,0,0,0,0,0,0, # 30 - 37 - 0,0,0,0,0,0,0,0, # 38 - 3f - 0,0,0,0,0,0,0,0, # 40 - 47 - 0,0,0,0,0,0,0,0, # 48 - 4f - 0,0,0,0,0,0,0,0, # 50 - 57 - 0,0,0,0,0,0,0,0, # 58 - 5f - 0,0,0,0,0,0,0,0, # 60 - 67 - 0,0,0,0,0,0,0,0, # 68 - 6f - 0,0,0,0,0,0,0,0, # 70 - 77 - 0,0,0,0,0,0,0,0, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,0,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,0,0,0,0,0,0,0, # a0 - a7 - 0,0,0,0,0,0,0,0, # a8 - af - 0,0,0,0,0,0,0,0, # b0 - b7 - 0,0,0,0,0,0,0,0, # b8 - bf - 0,0,0,0,0,0,0,0, # c0 - c7 - 0,0,0,0,0,0,0,0, # c8 - cf - 0,0,0,0,0,0,0,0, # d0 - d7 - 0,0,0,0,0,0,0,0, # d8 - df - 0,0,0,0,0,0,0,0, # e0 - e7 - 0,0,0,0,0,0,0,0, # e8 - ef - 0,0,0,0,0,0,0,0, # f0 - f7 - 0,0,0,0,0,0,4,5 # f8 - ff -) - -UCS2LE_ST = ( - 6, 6, 7, 6, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f - MachineState.ITS_ME,MachineState.ITS_ME, 5, 5, 5,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#10-17 - 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR, 6, 6,#18-1f - 7, 6, 8, 8, 5, 5, 5,MachineState.ERROR,#20-27 - 5, 5, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5,#28-2f - 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR,MachineState.START,MachineState.START #30-37 -) - -UCS2LE_CHAR_LEN_TABLE = (2, 2, 2, 2, 2, 2) - -UCS2LE_SM_MODEL = {'class_table': UCS2LE_CLS, - 'class_factor': 6, - 'state_table': UCS2LE_ST, - 'char_len_table': UCS2LE_CHAR_LEN_TABLE, - 'name': 'UTF-16LE'} - -# UTF-8 - -UTF8_CLS = ( - 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as a legal value - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 1,1,1,1,1,1,1,1, # 40 - 47 - 1,1,1,1,1,1,1,1, # 48 - 4f - 1,1,1,1,1,1,1,1, # 50 - 57 - 1,1,1,1,1,1,1,1, # 58 - 5f - 1,1,1,1,1,1,1,1, # 60 - 67 - 1,1,1,1,1,1,1,1, # 68 - 6f - 1,1,1,1,1,1,1,1, # 70 - 77 - 1,1,1,1,1,1,1,1, # 78 - 7f - 2,2,2,2,3,3,3,3, # 80 - 87 - 4,4,4,4,4,4,4,4, # 88 - 8f - 4,4,4,4,4,4,4,4, # 90 - 97 - 4,4,4,4,4,4,4,4, # 98 - 9f - 5,5,5,5,5,5,5,5, # a0 - a7 - 5,5,5,5,5,5,5,5, # a8 - af - 5,5,5,5,5,5,5,5, # b0 - b7 - 5,5,5,5,5,5,5,5, # b8 - bf - 0,0,6,6,6,6,6,6, # c0 - c7 - 6,6,6,6,6,6,6,6, # c8 - cf - 6,6,6,6,6,6,6,6, # d0 - d7 - 6,6,6,6,6,6,6,6, # d8 - df - 7,8,8,8,8,8,8,8, # e0 - e7 - 8,8,8,8,8,9,8,8, # e8 - ef - 10,11,11,11,11,11,11,11, # f0 - f7 - 12,13,13,13,14,15,0,0 # f8 - ff -) - -UTF8_ST = ( - MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12, 10,#00-07 - 9, 11, 8, 7, 6, 5, 4, 3,#08-0f - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f - MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#20-27 - MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#28-2f - MachineState.ERROR,MachineState.ERROR, 5, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#30-37 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#38-3f - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#40-47 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#48-4f - MachineState.ERROR,MachineState.ERROR, 7, 7, 7, 7,MachineState.ERROR,MachineState.ERROR,#50-57 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#58-5f - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 7, 7,MachineState.ERROR,MachineState.ERROR,#60-67 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#68-6f - MachineState.ERROR,MachineState.ERROR, 9, 9, 9, 9,MachineState.ERROR,MachineState.ERROR,#70-77 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#78-7f - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 9,MachineState.ERROR,MachineState.ERROR,#80-87 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#88-8f - MachineState.ERROR,MachineState.ERROR, 12, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,#90-97 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#98-9f - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12,MachineState.ERROR,MachineState.ERROR,#a0-a7 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#a8-af - MachineState.ERROR,MachineState.ERROR, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b0-b7 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b8-bf - MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,#c0-c7 - MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR #c8-cf -) - -UTF8_CHAR_LEN_TABLE = (0, 1, 0, 0, 0, 0, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6) - -UTF8_SM_MODEL = {'class_table': UTF8_CLS, - 'class_factor': 16, - 'state_table': UTF8_ST, - 'char_len_table': UTF8_CHAR_LEN_TABLE, - 'name': 'UTF-8'} diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/sbcharsetprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/sbcharsetprober.py deleted file mode 100644 index 0adb51d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/sbcharsetprober.py +++ /dev/null @@ -1,132 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetprober import CharSetProber -from .enums import CharacterCategory, ProbingState, SequenceLikelihood - - -class SingleByteCharSetProber(CharSetProber): - SAMPLE_SIZE = 64 - SB_ENOUGH_REL_THRESHOLD = 1024 # 0.25 * SAMPLE_SIZE^2 - POSITIVE_SHORTCUT_THRESHOLD = 0.95 - NEGATIVE_SHORTCUT_THRESHOLD = 0.05 - - def __init__(self, model, reversed=False, name_prober=None): - super(SingleByteCharSetProber, self).__init__() - self._model = model - # TRUE if we need to reverse every pair in the model lookup - self._reversed = reversed - # Optional auxiliary prober for name decision - self._name_prober = name_prober - self._last_order = None - self._seq_counters = None - self._total_seqs = None - self._total_char = None - self._freq_char = None - self.reset() - - def reset(self): - super(SingleByteCharSetProber, self).reset() - # char order of last character - self._last_order = 255 - self._seq_counters = [0] * SequenceLikelihood.get_num_categories() - self._total_seqs = 0 - self._total_char = 0 - # characters that fall in our sampling range - self._freq_char = 0 - - @property - def charset_name(self): - if self._name_prober: - return self._name_prober.charset_name - else: - return self._model['charset_name'] - - @property - def language(self): - if self._name_prober: - return self._name_prober.language - else: - return self._model.get('language') - - def feed(self, byte_str): - if not self._model['keep_english_letter']: - byte_str = self.filter_international_words(byte_str) - if not byte_str: - return self.state - char_to_order_map = self._model['char_to_order_map'] - for i, c in enumerate(byte_str): - # XXX: Order is in range 1-64, so one would think we want 0-63 here, - # but that leads to 27 more test failures than before. - order = char_to_order_map[c] - # XXX: This was SYMBOL_CAT_ORDER before, with a value of 250, but - # CharacterCategory.SYMBOL is actually 253, so we use CONTROL - # to make it closer to the original intent. The only difference - # is whether or not we count digits and control characters for - # _total_char purposes. - if order < CharacterCategory.CONTROL: - self._total_char += 1 - if order < self.SAMPLE_SIZE: - self._freq_char += 1 - if self._last_order < self.SAMPLE_SIZE: - self._total_seqs += 1 - if not self._reversed: - i = (self._last_order * self.SAMPLE_SIZE) + order - model = self._model['precedence_matrix'][i] - else: # reverse the order of the letters in the lookup - i = (order * self.SAMPLE_SIZE) + self._last_order - model = self._model['precedence_matrix'][i] - self._seq_counters[model] += 1 - self._last_order = order - - charset_name = self._model['charset_name'] - if self.state == ProbingState.DETECTING: - if self._total_seqs > self.SB_ENOUGH_REL_THRESHOLD: - confidence = self.get_confidence() - if confidence > self.POSITIVE_SHORTCUT_THRESHOLD: - self.logger.debug('%s confidence = %s, we have a winner', - charset_name, confidence) - self._state = ProbingState.FOUND_IT - elif confidence < self.NEGATIVE_SHORTCUT_THRESHOLD: - self.logger.debug('%s confidence = %s, below negative ' - 'shortcut threshhold %s', charset_name, - confidence, - self.NEGATIVE_SHORTCUT_THRESHOLD) - self._state = ProbingState.NOT_ME - - return self.state - - def get_confidence(self): - r = 0.01 - if self._total_seqs > 0: - r = ((1.0 * self._seq_counters[SequenceLikelihood.POSITIVE]) / - self._total_seqs / self._model['typical_positive_ratio']) - r = r * self._freq_char / self._total_char - if r >= 1.0: - r = 0.99 - return r diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/sbcsgroupprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/sbcsgroupprober.py deleted file mode 100644 index 98e95dc..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/sbcsgroupprober.py +++ /dev/null @@ -1,73 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetgroupprober import CharSetGroupProber -from .sbcharsetprober import SingleByteCharSetProber -from .langcyrillicmodel import (Win1251CyrillicModel, Koi8rModel, - Latin5CyrillicModel, MacCyrillicModel, - Ibm866Model, Ibm855Model) -from .langgreekmodel import Latin7GreekModel, Win1253GreekModel -from .langbulgarianmodel import Latin5BulgarianModel, Win1251BulgarianModel -# from .langhungarianmodel import Latin2HungarianModel, Win1250HungarianModel -from .langthaimodel import TIS620ThaiModel -from .langhebrewmodel import Win1255HebrewModel -from .hebrewprober import HebrewProber -from .langturkishmodel import Latin5TurkishModel - - -class SBCSGroupProber(CharSetGroupProber): - def __init__(self): - super(SBCSGroupProber, self).__init__() - self.probers = [ - SingleByteCharSetProber(Win1251CyrillicModel), - SingleByteCharSetProber(Koi8rModel), - SingleByteCharSetProber(Latin5CyrillicModel), - SingleByteCharSetProber(MacCyrillicModel), - SingleByteCharSetProber(Ibm866Model), - SingleByteCharSetProber(Ibm855Model), - SingleByteCharSetProber(Latin7GreekModel), - SingleByteCharSetProber(Win1253GreekModel), - SingleByteCharSetProber(Latin5BulgarianModel), - SingleByteCharSetProber(Win1251BulgarianModel), - # TODO: Restore Hungarian encodings (iso-8859-2 and windows-1250) - # after we retrain model. - # SingleByteCharSetProber(Latin2HungarianModel), - # SingleByteCharSetProber(Win1250HungarianModel), - SingleByteCharSetProber(TIS620ThaiModel), - SingleByteCharSetProber(Latin5TurkishModel), - ] - hebrew_prober = HebrewProber() - logical_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, - False, hebrew_prober) - visual_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, True, - hebrew_prober) - hebrew_prober.set_model_probers(logical_hebrew_prober, visual_hebrew_prober) - self.probers.extend([hebrew_prober, logical_hebrew_prober, - visual_hebrew_prober]) - - self.reset() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/sjisprober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/sjisprober.py deleted file mode 100644 index 9e29623..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/sjisprober.py +++ /dev/null @@ -1,92 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import SJISDistributionAnalysis -from .jpcntx import SJISContextAnalysis -from .mbcssm import SJIS_SM_MODEL -from .enums import ProbingState, MachineState - - -class SJISProber(MultiByteCharSetProber): - def __init__(self): - super(SJISProber, self).__init__() - self.coding_sm = CodingStateMachine(SJIS_SM_MODEL) - self.distribution_analyzer = SJISDistributionAnalysis() - self.context_analyzer = SJISContextAnalysis() - self.reset() - - def reset(self): - super(SJISProber, self).reset() - self.context_analyzer.reset() - - @property - def charset_name(self): - return self.context_analyzer.charset_name - - @property - def language(self): - return "Japanese" - - def feed(self, byte_str): - for i in range(len(byte_str)): - coding_state = self.coding_sm.next_state(byte_str[i]) - if coding_state == MachineState.ERROR: - self.logger.debug('%s %s prober hit error at byte %s', - self.charset_name, self.language, i) - self._state = ProbingState.NOT_ME - break - elif coding_state == MachineState.ITS_ME: - self._state = ProbingState.FOUND_IT - break - elif coding_state == MachineState.START: - char_len = self.coding_sm.get_current_charlen() - if i == 0: - self._last_char[1] = byte_str[0] - self.context_analyzer.feed(self._last_char[2 - char_len:], - char_len) - self.distribution_analyzer.feed(self._last_char, char_len) - else: - self.context_analyzer.feed(byte_str[i + 1 - char_len:i + 3 - - char_len], char_len) - self.distribution_analyzer.feed(byte_str[i - 1:i + 1], - char_len) - - self._last_char[0] = byte_str[-1] - - if self.state == ProbingState.DETECTING: - if (self.context_analyzer.got_enough_data() and - (self.get_confidence() > self.SHORTCUT_THRESHOLD)): - self._state = ProbingState.FOUND_IT - - return self.state - - def get_confidence(self): - context_conf = self.context_analyzer.get_confidence() - distrib_conf = self.distribution_analyzer.get_confidence() - return max(context_conf, distrib_conf) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/universaldetector.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/universaldetector.py deleted file mode 100644 index 7b4e92d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/universaldetector.py +++ /dev/null @@ -1,286 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### -""" -Module containing the UniversalDetector detector class, which is the primary -class a user of ``chardet`` should use. - -:author: Mark Pilgrim (initial port to Python) -:author: Shy Shalom (original C code) -:author: Dan Blanchard (major refactoring for 3.0) -:author: Ian Cordasco -""" - - -import codecs -import logging -import re - -from .charsetgroupprober import CharSetGroupProber -from .enums import InputState, LanguageFilter, ProbingState -from .escprober import EscCharSetProber -from .latin1prober import Latin1Prober -from .mbcsgroupprober import MBCSGroupProber -from .sbcsgroupprober import SBCSGroupProber - - -class UniversalDetector(object): - """ - The ``UniversalDetector`` class underlies the ``chardet.detect`` function - and coordinates all of the different charset probers. - - To get a ``dict`` containing an encoding and its confidence, you can simply - run: - - .. code:: - - u = UniversalDetector() - u.feed(some_bytes) - u.close() - detected = u.result - - """ - - MINIMUM_THRESHOLD = 0.20 - HIGH_BYTE_DETECTOR = re.compile(b'[\x80-\xFF]') - ESC_DETECTOR = re.compile(b'(\033|~{)') - WIN_BYTE_DETECTOR = re.compile(b'[\x80-\x9F]') - ISO_WIN_MAP = {'iso-8859-1': 'Windows-1252', - 'iso-8859-2': 'Windows-1250', - 'iso-8859-5': 'Windows-1251', - 'iso-8859-6': 'Windows-1256', - 'iso-8859-7': 'Windows-1253', - 'iso-8859-8': 'Windows-1255', - 'iso-8859-9': 'Windows-1254', - 'iso-8859-13': 'Windows-1257'} - - def __init__(self, lang_filter=LanguageFilter.ALL): - self._esc_charset_prober = None - self._charset_probers = [] - self.result = None - self.done = None - self._got_data = None - self._input_state = None - self._last_char = None - self.lang_filter = lang_filter - self.logger = logging.getLogger(__name__) - self._has_win_bytes = None - self.reset() - - def reset(self): - """ - Reset the UniversalDetector and all of its probers back to their - initial states. This is called by ``__init__``, so you only need to - call this directly in between analyses of different documents. - """ - self.result = {'encoding': None, 'confidence': 0.0, 'language': None} - self.done = False - self._got_data = False - self._has_win_bytes = False - self._input_state = InputState.PURE_ASCII - self._last_char = b'' - if self._esc_charset_prober: - self._esc_charset_prober.reset() - for prober in self._charset_probers: - prober.reset() - - def feed(self, byte_str): - """ - Takes a chunk of a document and feeds it through all of the relevant - charset probers. - - After calling ``feed``, you can check the value of the ``done`` - attribute to see if you need to continue feeding the - ``UniversalDetector`` more data, or if it has made a prediction - (in the ``result`` attribute). - - .. note:: - You should always call ``close`` when you're done feeding in your - document if ``done`` is not already ``True``. - """ - if self.done: - return - - if not len(byte_str): - return - - if not isinstance(byte_str, bytearray): - byte_str = bytearray(byte_str) - - # First check for known BOMs, since these are guaranteed to be correct - if not self._got_data: - # If the data starts with BOM, we know it is UTF - if byte_str.startswith(codecs.BOM_UTF8): - # EF BB BF UTF-8 with BOM - self.result = {'encoding': "UTF-8-SIG", - 'confidence': 1.0, - 'language': ''} - elif byte_str.startswith((codecs.BOM_UTF32_LE, - codecs.BOM_UTF32_BE)): - # FF FE 00 00 UTF-32, little-endian BOM - # 00 00 FE FF UTF-32, big-endian BOM - self.result = {'encoding': "UTF-32", - 'confidence': 1.0, - 'language': ''} - elif byte_str.startswith(b'\xFE\xFF\x00\x00'): - # FE FF 00 00 UCS-4, unusual octet order BOM (3412) - self.result = {'encoding': "X-ISO-10646-UCS-4-3412", - 'confidence': 1.0, - 'language': ''} - elif byte_str.startswith(b'\x00\x00\xFF\xFE'): - # 00 00 FF FE UCS-4, unusual octet order BOM (2143) - self.result = {'encoding': "X-ISO-10646-UCS-4-2143", - 'confidence': 1.0, - 'language': ''} - elif byte_str.startswith((codecs.BOM_LE, codecs.BOM_BE)): - # FF FE UTF-16, little endian BOM - # FE FF UTF-16, big endian BOM - self.result = {'encoding': "UTF-16", - 'confidence': 1.0, - 'language': ''} - - self._got_data = True - if self.result['encoding'] is not None: - self.done = True - return - - # If none of those matched and we've only see ASCII so far, check - # for high bytes and escape sequences - if self._input_state == InputState.PURE_ASCII: - if self.HIGH_BYTE_DETECTOR.search(byte_str): - self._input_state = InputState.HIGH_BYTE - elif self._input_state == InputState.PURE_ASCII and \ - self.ESC_DETECTOR.search(self._last_char + byte_str): - self._input_state = InputState.ESC_ASCII - - self._last_char = byte_str[-1:] - - # If we've seen escape sequences, use the EscCharSetProber, which - # uses a simple state machine to check for known escape sequences in - # HZ and ISO-2022 encodings, since those are the only encodings that - # use such sequences. - if self._input_state == InputState.ESC_ASCII: - if not self._esc_charset_prober: - self._esc_charset_prober = EscCharSetProber(self.lang_filter) - if self._esc_charset_prober.feed(byte_str) == ProbingState.FOUND_IT: - self.result = {'encoding': - self._esc_charset_prober.charset_name, - 'confidence': - self._esc_charset_prober.get_confidence(), - 'language': - self._esc_charset_prober.language} - self.done = True - # If we've seen high bytes (i.e., those with values greater than 127), - # we need to do more complicated checks using all our multi-byte and - # single-byte probers that are left. The single-byte probers - # use character bigram distributions to determine the encoding, whereas - # the multi-byte probers use a combination of character unigram and - # bigram distributions. - elif self._input_state == InputState.HIGH_BYTE: - if not self._charset_probers: - self._charset_probers = [MBCSGroupProber(self.lang_filter)] - # If we're checking non-CJK encodings, use single-byte prober - if self.lang_filter & LanguageFilter.NON_CJK: - self._charset_probers.append(SBCSGroupProber()) - self._charset_probers.append(Latin1Prober()) - for prober in self._charset_probers: - if prober.feed(byte_str) == ProbingState.FOUND_IT: - self.result = {'encoding': prober.charset_name, - 'confidence': prober.get_confidence(), - 'language': prober.language} - self.done = True - break - if self.WIN_BYTE_DETECTOR.search(byte_str): - self._has_win_bytes = True - - def close(self): - """ - Stop analyzing the current document and come up with a final - prediction. - - :returns: The ``result`` attribute, a ``dict`` with the keys - `encoding`, `confidence`, and `language`. - """ - # Don't bother with checks if we're already done - if self.done: - return self.result - self.done = True - - if not self._got_data: - self.logger.debug('no data received!') - - # Default to ASCII if it is all we've seen so far - elif self._input_state == InputState.PURE_ASCII: - self.result = {'encoding': 'ascii', - 'confidence': 1.0, - 'language': ''} - - # If we have seen non-ASCII, return the best that met MINIMUM_THRESHOLD - elif self._input_state == InputState.HIGH_BYTE: - prober_confidence = None - max_prober_confidence = 0.0 - max_prober = None - for prober in self._charset_probers: - if not prober: - continue - prober_confidence = prober.get_confidence() - if prober_confidence > max_prober_confidence: - max_prober_confidence = prober_confidence - max_prober = prober - if max_prober and (max_prober_confidence > self.MINIMUM_THRESHOLD): - charset_name = max_prober.charset_name - lower_charset_name = max_prober.charset_name.lower() - confidence = max_prober.get_confidence() - # Use Windows encoding name instead of ISO-8859 if we saw any - # extra Windows-specific bytes - if lower_charset_name.startswith('iso-8859'): - if self._has_win_bytes: - charset_name = self.ISO_WIN_MAP.get(lower_charset_name, - charset_name) - self.result = {'encoding': charset_name, - 'confidence': confidence, - 'language': max_prober.language} - - # Log all prober confidences if none met MINIMUM_THRESHOLD - if self.logger.getEffectiveLevel() == logging.DEBUG: - if self.result['encoding'] is None: - self.logger.debug('no probers hit minimum threshold') - for group_prober in self._charset_probers: - if not group_prober: - continue - if isinstance(group_prober, CharSetGroupProber): - for prober in group_prober.probers: - self.logger.debug('%s %s confidence = %s', - prober.charset_name, - prober.language, - prober.get_confidence()) - else: - self.logger.debug('%s %s confidence = %s', - prober.charset_name, - prober.language, - prober.get_confidence()) - return self.result diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/utf8prober.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/utf8prober.py deleted file mode 100644 index 6c3196c..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/utf8prober.py +++ /dev/null @@ -1,82 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetprober import CharSetProber -from .enums import ProbingState, MachineState -from .codingstatemachine import CodingStateMachine -from .mbcssm import UTF8_SM_MODEL - - - -class UTF8Prober(CharSetProber): - ONE_CHAR_PROB = 0.5 - - def __init__(self): - super(UTF8Prober, self).__init__() - self.coding_sm = CodingStateMachine(UTF8_SM_MODEL) - self._num_mb_chars = None - self.reset() - - def reset(self): - super(UTF8Prober, self).reset() - self.coding_sm.reset() - self._num_mb_chars = 0 - - @property - def charset_name(self): - return "utf-8" - - @property - def language(self): - return "" - - def feed(self, byte_str): - for c in byte_str: - coding_state = self.coding_sm.next_state(c) - if coding_state == MachineState.ERROR: - self._state = ProbingState.NOT_ME - break - elif coding_state == MachineState.ITS_ME: - self._state = ProbingState.FOUND_IT - break - elif coding_state == MachineState.START: - if self.coding_sm.get_current_charlen() >= 2: - self._num_mb_chars += 1 - - if self.state == ProbingState.DETECTING: - if self.get_confidence() > self.SHORTCUT_THRESHOLD: - self._state = ProbingState.FOUND_IT - - return self.state - - def get_confidence(self): - unlike = 0.99 - if self._num_mb_chars < 6: - unlike *= self.ONE_CHAR_PROB ** self._num_mb_chars - return 1.0 - unlike - else: - return unlike diff --git a/.tox/py37-normal/lib/python3.7/site-packages/chardet/version.py b/.tox/py37-normal/lib/python3.7/site-packages/chardet/version.py deleted file mode 100644 index bb2a34a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/chardet/version.py +++ /dev/null @@ -1,9 +0,0 @@ -""" -This module exists only to simplify retrieving the version number of chardet -from within setup.py and from chardet subpackages. - -:author: Dan Blanchard (dan.blanchard@gmail.com) -""" - -__version__ = "3.0.4" -VERSION = __version__.split('.') diff --git a/.tox/py37-normal/lib/python3.7/site-packages/easy_install.py b/.tox/py37-normal/lib/python3.7/site-packages/easy_install.py deleted file mode 100644 index d87e984..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/easy_install.py +++ /dev/null @@ -1,5 +0,0 @@ -"""Run the EasyInstall command""" - -if __name__ == '__main__': - from setuptools.command.easy_install import main - main() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/INSTALLER b/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/LICENSE.rst b/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/LICENSE.rst deleted file mode 100644 index 3ee64fb..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/LICENSE.rst +++ /dev/null @@ -1,80 +0,0 @@ -License -------- - -Copyright (c) 2013-2018, Kim Davies. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -#. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -#. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided with - the distribution. - -#. Neither the name of the copyright holder nor the names of the - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -#. THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS "AS IS" AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE - USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. - -Portions of the codec implementation and unit tests are derived from the -Python standard library, which carries the `Python Software Foundation -License `_: - - Copyright (c) 2001-2014 Python Software Foundation; All Rights Reserved - -Portions of the unit tests are derived from the Unicode standard, which -is subject to the Unicode, Inc. License Agreement: - - Copyright (c) 1991-2014 Unicode, Inc. All rights reserved. - Distributed under the Terms of Use in - . - - Permission is hereby granted, free of charge, to any person obtaining - a copy of the Unicode data files and any associated documentation - (the "Data Files") or Unicode software and any associated documentation - (the "Software") to deal in the Data Files or Software - without restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, and/or sell copies of - the Data Files or Software, and to permit persons to whom the Data Files - or Software are furnished to do so, provided that - - (a) this copyright and permission notice appear with all copies - of the Data Files or Software, - - (b) this copyright and permission notice appear in associated - documentation, and - - (c) there is clear notice in each modified Data File or in the Software - as well as in the documentation associated with the Data File(s) or - Software that the data or software has been modified. - - THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS - NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL - DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THE DATA FILES OR SOFTWARE. - - Except as contained in this notice, the name of a copyright holder - shall not be used in advertising or otherwise to promote the sale, - use or other dealings in these Data Files or Software without prior - written authorization of the copyright holder. diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/METADATA b/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/METADATA deleted file mode 100644 index 30fde02..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/METADATA +++ /dev/null @@ -1,239 +0,0 @@ -Metadata-Version: 2.1 -Name: idna -Version: 2.8 -Summary: Internationalized Domain Names in Applications (IDNA) -Home-page: https://github.com/kjd/idna -Author: Kim Davies -Author-email: kim@cynosure.com.au -License: BSD-like -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: Intended Audience :: System Administrators -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Topic :: Internet :: Name Service (DNS) -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: Utilities -Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* - -Internationalized Domain Names in Applications (IDNA) -===================================================== - -Support for the Internationalised Domain Names in Applications -(IDNA) protocol as specified in `RFC 5891 `_. -This is the latest version of the protocol and is sometimes referred to as -“IDNA 2008”. - -This library also provides support for Unicode Technical Standard 46, -`Unicode IDNA Compatibility Processing `_. - -This acts as a suitable replacement for the “encodings.idna” module that -comes with the Python standard library, but only supports the -old, deprecated IDNA specification (`RFC 3490 `_). - -Basic functions are simply executed: - -.. code-block:: pycon - - # Python 3 - >>> import idna - >>> idna.encode('ドメイン.テスト') - b'xn--eckwd4c7c.xn--zckzah' - >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah')) - ドメイン.テスト - - # Python 2 - >>> import idna - >>> idna.encode(u'ドメイン.テスト') - 'xn--eckwd4c7c.xn--zckzah' - >>> print idna.decode('xn--eckwd4c7c.xn--zckzah') - ドメイン.テスト - -Packages --------- - -The latest tagged release version is published in the PyPI repository: - -.. image:: https://badge.fury.io/py/idna.svg - :target: http://badge.fury.io/py/idna - - -Installation ------------- - -To install this library, you can use pip: - -.. code-block:: bash - - $ pip install idna - -Alternatively, you can install the package using the bundled setup script: - -.. code-block:: bash - - $ python setup.py install - -This library works with Python 2.7 and Python 3.4 or later. - - -Usage ------ - -For typical usage, the ``encode`` and ``decode`` functions will take a domain -name argument and perform a conversion to A-labels or U-labels respectively. - -.. code-block:: pycon - - # Python 3 - >>> import idna - >>> idna.encode('ドメイン.テスト') - b'xn--eckwd4c7c.xn--zckzah' - >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah')) - ドメイン.テスト - -You may use the codec encoding and decoding methods using the -``idna.codec`` module: - -.. code-block:: pycon - - # Python 2 - >>> import idna.codec - >>> print u'домена.испытание'.encode('idna') - xn--80ahd1agd.xn--80akhbyknj4f - >>> print 'xn--80ahd1agd.xn--80akhbyknj4f'.decode('idna') - домена.испытание - -Conversions can be applied at a per-label basis using the ``ulabel`` or ``alabel`` -functions if necessary: - -.. code-block:: pycon - - # Python 2 - >>> idna.alabel(u'测试') - 'xn--0zwm56d' - -Compatibility Mapping (UTS #46) -+++++++++++++++++++++++++++++++ - -As described in `RFC 5895 `_, the IDNA -specification no longer normalizes input from different potential ways a user -may input a domain name. This functionality, known as a “mapping”, is now -considered by the specification to be a local user-interface issue distinct -from IDNA conversion functionality. - -This library provides one such mapping, that was developed by the Unicode -Consortium. Known as `Unicode IDNA Compatibility Processing `_, -it provides for both a regular mapping for typical applications, as well as -a transitional mapping to help migrate from older IDNA 2003 applications. - -For example, “Königsgäßchen” is not a permissible label as *LATIN CAPITAL -LETTER K* is not allowed (nor are capital letters in general). UTS 46 will -convert this into lower case prior to applying the IDNA conversion. - -.. code-block:: pycon - - # Python 3 - >>> import idna - >>> idna.encode(u'Königsgäßchen') - ... - idna.core.InvalidCodepoint: Codepoint U+004B at position 1 of 'Königsgäßchen' not allowed - >>> idna.encode('Königsgäßchen', uts46=True) - b'xn--knigsgchen-b4a3dun' - >>> print(idna.decode('xn--knigsgchen-b4a3dun')) - königsgäßchen - -Transitional processing provides conversions to help transition from the older -2003 standard to the current standard. For example, in the original IDNA -specification, the *LATIN SMALL LETTER SHARP S* (ß) was converted into two -*LATIN SMALL LETTER S* (ss), whereas in the current IDNA specification this -conversion is not performed. - -.. code-block:: pycon - - # Python 2 - >>> idna.encode(u'Königsgäßchen', uts46=True, transitional=True) - 'xn--knigsgsschen-lcb0w' - -Implementors should use transitional processing with caution, only in rare -cases where conversion from legacy labels to current labels must be performed -(i.e. IDNA implementations that pre-date 2008). For typical applications -that just need to convert labels, transitional processing is unlikely to be -beneficial and could produce unexpected incompatible results. - -``encodings.idna`` Compatibility -++++++++++++++++++++++++++++++++ - -Function calls from the Python built-in ``encodings.idna`` module are -mapped to their IDNA 2008 equivalents using the ``idna.compat`` module. -Simply substitute the ``import`` clause in your code to refer to the -new module name. - -Exceptions ----------- - -All errors raised during the conversion following the specification should -raise an exception derived from the ``idna.IDNAError`` base class. - -More specific exceptions that may be generated as ``idna.IDNABidiError`` -when the error reflects an illegal combination of left-to-right and right-to-left -characters in a label; ``idna.InvalidCodepoint`` when a specific codepoint is -an illegal character in an IDN label (i.e. INVALID); and ``idna.InvalidCodepointContext`` -when the codepoint is illegal based on its positional context (i.e. it is CONTEXTO -or CONTEXTJ but the contextual requirements are not satisfied.) - -Building and Diagnostics ------------------------- - -The IDNA and UTS 46 functionality relies upon pre-calculated lookup tables for -performance. These tables are derived from computing against eligibility criteria -in the respective standards. These tables are computed using the command-line -script ``tools/idna-data``. - -This tool will fetch relevant tables from the Unicode Consortium and perform the -required calculations to identify eligibility. It has three main modes: - -* ``idna-data make-libdata``. Generates ``idnadata.py`` and ``uts46data.py``, - the pre-calculated lookup tables using for IDNA and UTS 46 conversions. Implementors - who wish to track this library against a different Unicode version may use this tool - to manually generate a different version of the ``idnadata.py`` and ``uts46data.py`` - files. - -* ``idna-data make-table``. Generate a table of the IDNA disposition - (e.g. PVALID, CONTEXTJ, CONTEXTO) in the format found in Appendix B.1 of RFC - 5892 and the pre-computed tables published by `IANA `_. - -* ``idna-data U+0061``. Prints debugging output on the various properties - associated with an individual Unicode codepoint (in this case, U+0061), that are - used to assess the IDNA and UTS 46 status of a codepoint. This is helpful in debugging - or analysis. - -The tool accepts a number of arguments, described using ``idna-data -h``. Most notably, -the ``--version`` argument allows the specification of the version of Unicode to use -in computing the table data. For example, ``idna-data --version 9.0.0 make-libdata`` -will generate library data against Unicode 9.0.0. - -Note that this script requires Python 3, but all generated library data will work -in Python 2.7. - - -Testing -------- - -The library has a test suite based on each rule of the IDNA specification, as -well as tests that are provided as part of the Unicode Technical Standard 46, -`Unicode IDNA Compatibility Processing `_. - -The tests are run automatically on each commit at Travis CI: - -.. image:: https://travis-ci.org/kjd/idna.svg?branch=master - :target: https://travis-ci.org/kjd/idna - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/RECORD b/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/RECORD deleted file mode 100644 index 8d4bc61..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/RECORD +++ /dev/null @@ -1,22 +0,0 @@ -idna-2.8.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -idna-2.8.dist-info/LICENSE.rst,sha256=DUvHq9SNz7FOJCVO5AQGZzf_AWcUTiIpFKIRO4eUaD4,3947 -idna-2.8.dist-info/METADATA,sha256=X4QsM_BLMPhl4gC8SEnXjvl5-gj7hvwAl7UCyR418so,8862 -idna-2.8.dist-info/RECORD,, -idna-2.8.dist-info/WHEEL,sha256=CihQvCnsGZQBGAHLEUMf0IdA4fRduS_NBUTMgCTtvPM,110 -idna-2.8.dist-info/top_level.txt,sha256=jSag9sEDqvSPftxOQy-ABfGV_RSy7oFh4zZJpODV8k0,5 -idna/__init__.py,sha256=9Nt7xpyet3DmOrPUGooDdAwmHZZu1qUAy2EaJ93kGiQ,58 -idna/__pycache__/__init__.cpython-37.pyc,, -idna/__pycache__/codec.cpython-37.pyc,, -idna/__pycache__/compat.cpython-37.pyc,, -idna/__pycache__/core.cpython-37.pyc,, -idna/__pycache__/idnadata.cpython-37.pyc,, -idna/__pycache__/intranges.cpython-37.pyc,, -idna/__pycache__/package_data.cpython-37.pyc,, -idna/__pycache__/uts46data.cpython-37.pyc,, -idna/codec.py,sha256=lvYb7yu7PhAqFaAIAdWcwgaWI2UmgseUua-1c0AsG0A,3299 -idna/compat.py,sha256=R-h29D-6mrnJzbXxymrWUW7iZUvy-26TQwZ0ij57i4U,232 -idna/core.py,sha256=JDCZZ_PLESqIgEbU8mPyoEufWwoOiIqygA17-QZIe3s,11733 -idna/idnadata.py,sha256=HXaPFw6_YAJ0qppACPu0YLAULtRs3QovRM_CCZHGdY0,40899 -idna/intranges.py,sha256=TY1lpxZIQWEP6tNqjZkFA5hgoMWOj1OBmnUG8ihT87E,1749 -idna/package_data.py,sha256=kIzeKKXEouXLR4srqwf9Q3zv-NffKSOz5aSDOJARPB0,21 -idna/uts46data.py,sha256=oLyNZ1pBaiBlj9zFzLFRd_P7J8MkRcgDisjExZR_4MY,198292 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/WHEEL b/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/WHEEL deleted file mode 100644 index dea0e20..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.32.2) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/top_level.txt b/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/top_level.txt deleted file mode 100644 index c40472e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna-2.8.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -idna diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/idna/__init__.py deleted file mode 100644 index 847bf93..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from .package_data import __version__ -from .core import * diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna/codec.py b/.tox/py37-normal/lib/python3.7/site-packages/idna/codec.py deleted file mode 100644 index 98c65ea..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna/codec.py +++ /dev/null @@ -1,118 +0,0 @@ -from .core import encode, decode, alabel, ulabel, IDNAError -import codecs -import re - -_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') - -class Codec(codecs.Codec): - - def encode(self, data, errors='strict'): - - if errors != 'strict': - raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) - - if not data: - return "", 0 - - return encode(data), len(data) - - def decode(self, data, errors='strict'): - - if errors != 'strict': - raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) - - if not data: - return u"", 0 - - return decode(data), len(data) - -class IncrementalEncoder(codecs.BufferedIncrementalEncoder): - def _buffer_encode(self, data, errors, final): - if errors != 'strict': - raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) - - if not data: - return ("", 0) - - labels = _unicode_dots_re.split(data) - trailing_dot = u'' - if labels: - if not labels[-1]: - trailing_dot = '.' - del labels[-1] - elif not final: - # Keep potentially unfinished label until the next call - del labels[-1] - if labels: - trailing_dot = '.' - - result = [] - size = 0 - for label in labels: - result.append(alabel(label)) - if size: - size += 1 - size += len(label) - - # Join with U+002E - result = ".".join(result) + trailing_dot - size += len(trailing_dot) - return (result, size) - -class IncrementalDecoder(codecs.BufferedIncrementalDecoder): - def _buffer_decode(self, data, errors, final): - if errors != 'strict': - raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) - - if not data: - return (u"", 0) - - # IDNA allows decoding to operate on Unicode strings, too. - if isinstance(data, unicode): - labels = _unicode_dots_re.split(data) - else: - # Must be ASCII string - data = str(data) - unicode(data, "ascii") - labels = data.split(".") - - trailing_dot = u'' - if labels: - if not labels[-1]: - trailing_dot = u'.' - del labels[-1] - elif not final: - # Keep potentially unfinished label until the next call - del labels[-1] - if labels: - trailing_dot = u'.' - - result = [] - size = 0 - for label in labels: - result.append(ulabel(label)) - if size: - size += 1 - size += len(label) - - result = u".".join(result) + trailing_dot - size += len(trailing_dot) - return (result, size) - - -class StreamWriter(Codec, codecs.StreamWriter): - pass - -class StreamReader(Codec, codecs.StreamReader): - pass - -def getregentry(): - return codecs.CodecInfo( - name='idna', - encode=Codec().encode, - decode=Codec().decode, - incrementalencoder=IncrementalEncoder, - incrementaldecoder=IncrementalDecoder, - streamwriter=StreamWriter, - streamreader=StreamReader, - ) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna/compat.py b/.tox/py37-normal/lib/python3.7/site-packages/idna/compat.py deleted file mode 100644 index 4d47f33..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna/compat.py +++ /dev/null @@ -1,12 +0,0 @@ -from .core import * -from .codec import * - -def ToASCII(label): - return encode(label) - -def ToUnicode(label): - return decode(label) - -def nameprep(s): - raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol") - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna/core.py b/.tox/py37-normal/lib/python3.7/site-packages/idna/core.py deleted file mode 100644 index 104624a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna/core.py +++ /dev/null @@ -1,396 +0,0 @@ -from . import idnadata -import bisect -import unicodedata -import re -import sys -from .intranges import intranges_contain - -_virama_combining_class = 9 -_alabel_prefix = b'xn--' -_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') - -if sys.version_info[0] == 3: - unicode = str - unichr = chr - -class IDNAError(UnicodeError): - """ Base exception for all IDNA-encoding related problems """ - pass - - -class IDNABidiError(IDNAError): - """ Exception when bidirectional requirements are not satisfied """ - pass - - -class InvalidCodepoint(IDNAError): - """ Exception when a disallowed or unallocated codepoint is used """ - pass - - -class InvalidCodepointContext(IDNAError): - """ Exception when the codepoint is not valid in the context it is used """ - pass - - -def _combining_class(cp): - v = unicodedata.combining(unichr(cp)) - if v == 0: - if not unicodedata.name(unichr(cp)): - raise ValueError("Unknown character in unicodedata") - return v - -def _is_script(cp, script): - return intranges_contain(ord(cp), idnadata.scripts[script]) - -def _punycode(s): - return s.encode('punycode') - -def _unot(s): - return 'U+{0:04X}'.format(s) - - -def valid_label_length(label): - - if len(label) > 63: - return False - return True - - -def valid_string_length(label, trailing_dot): - - if len(label) > (254 if trailing_dot else 253): - return False - return True - - -def check_bidi(label, check_ltr=False): - - # Bidi rules should only be applied if string contains RTL characters - bidi_label = False - for (idx, cp) in enumerate(label, 1): - direction = unicodedata.bidirectional(cp) - if direction == '': - # String likely comes from a newer version of Unicode - raise IDNABidiError('Unknown directionality in label {0} at position {1}'.format(repr(label), idx)) - if direction in ['R', 'AL', 'AN']: - bidi_label = True - if not bidi_label and not check_ltr: - return True - - # Bidi rule 1 - direction = unicodedata.bidirectional(label[0]) - if direction in ['R', 'AL']: - rtl = True - elif direction == 'L': - rtl = False - else: - raise IDNABidiError('First codepoint in label {0} must be directionality L, R or AL'.format(repr(label))) - - valid_ending = False - number_type = False - for (idx, cp) in enumerate(label, 1): - direction = unicodedata.bidirectional(cp) - - if rtl: - # Bidi rule 2 - if not direction in ['R', 'AL', 'AN', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: - raise IDNABidiError('Invalid direction for codepoint at position {0} in a right-to-left label'.format(idx)) - # Bidi rule 3 - if direction in ['R', 'AL', 'EN', 'AN']: - valid_ending = True - elif direction != 'NSM': - valid_ending = False - # Bidi rule 4 - if direction in ['AN', 'EN']: - if not number_type: - number_type = direction - else: - if number_type != direction: - raise IDNABidiError('Can not mix numeral types in a right-to-left label') - else: - # Bidi rule 5 - if not direction in ['L', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: - raise IDNABidiError('Invalid direction for codepoint at position {0} in a left-to-right label'.format(idx)) - # Bidi rule 6 - if direction in ['L', 'EN']: - valid_ending = True - elif direction != 'NSM': - valid_ending = False - - if not valid_ending: - raise IDNABidiError('Label ends with illegal codepoint directionality') - - return True - - -def check_initial_combiner(label): - - if unicodedata.category(label[0])[0] == 'M': - raise IDNAError('Label begins with an illegal combining character') - return True - - -def check_hyphen_ok(label): - - if label[2:4] == '--': - raise IDNAError('Label has disallowed hyphens in 3rd and 4th position') - if label[0] == '-' or label[-1] == '-': - raise IDNAError('Label must not start or end with a hyphen') - return True - - -def check_nfc(label): - - if unicodedata.normalize('NFC', label) != label: - raise IDNAError('Label must be in Normalization Form C') - - -def valid_contextj(label, pos): - - cp_value = ord(label[pos]) - - if cp_value == 0x200c: - - if pos > 0: - if _combining_class(ord(label[pos - 1])) == _virama_combining_class: - return True - - ok = False - for i in range(pos-1, -1, -1): - joining_type = idnadata.joining_types.get(ord(label[i])) - if joining_type == ord('T'): - continue - if joining_type in [ord('L'), ord('D')]: - ok = True - break - - if not ok: - return False - - ok = False - for i in range(pos+1, len(label)): - joining_type = idnadata.joining_types.get(ord(label[i])) - if joining_type == ord('T'): - continue - if joining_type in [ord('R'), ord('D')]: - ok = True - break - return ok - - if cp_value == 0x200d: - - if pos > 0: - if _combining_class(ord(label[pos - 1])) == _virama_combining_class: - return True - return False - - else: - - return False - - -def valid_contexto(label, pos, exception=False): - - cp_value = ord(label[pos]) - - if cp_value == 0x00b7: - if 0 < pos < len(label)-1: - if ord(label[pos - 1]) == 0x006c and ord(label[pos + 1]) == 0x006c: - return True - return False - - elif cp_value == 0x0375: - if pos < len(label)-1 and len(label) > 1: - return _is_script(label[pos + 1], 'Greek') - return False - - elif cp_value == 0x05f3 or cp_value == 0x05f4: - if pos > 0: - return _is_script(label[pos - 1], 'Hebrew') - return False - - elif cp_value == 0x30fb: - for cp in label: - if cp == u'\u30fb': - continue - if _is_script(cp, 'Hiragana') or _is_script(cp, 'Katakana') or _is_script(cp, 'Han'): - return True - return False - - elif 0x660 <= cp_value <= 0x669: - for cp in label: - if 0x6f0 <= ord(cp) <= 0x06f9: - return False - return True - - elif 0x6f0 <= cp_value <= 0x6f9: - for cp in label: - if 0x660 <= ord(cp) <= 0x0669: - return False - return True - - -def check_label(label): - - if isinstance(label, (bytes, bytearray)): - label = label.decode('utf-8') - if len(label) == 0: - raise IDNAError('Empty Label') - - check_nfc(label) - check_hyphen_ok(label) - check_initial_combiner(label) - - for (pos, cp) in enumerate(label): - cp_value = ord(cp) - if intranges_contain(cp_value, idnadata.codepoint_classes['PVALID']): - continue - elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTJ']): - try: - if not valid_contextj(label, pos): - raise InvalidCodepointContext('Joiner {0} not allowed at position {1} in {2}'.format( - _unot(cp_value), pos+1, repr(label))) - except ValueError: - raise IDNAError('Unknown codepoint adjacent to joiner {0} at position {1} in {2}'.format( - _unot(cp_value), pos+1, repr(label))) - elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTO']): - if not valid_contexto(label, pos): - raise InvalidCodepointContext('Codepoint {0} not allowed at position {1} in {2}'.format(_unot(cp_value), pos+1, repr(label))) - else: - raise InvalidCodepoint('Codepoint {0} at position {1} of {2} not allowed'.format(_unot(cp_value), pos+1, repr(label))) - - check_bidi(label) - - -def alabel(label): - - try: - label = label.encode('ascii') - ulabel(label) - if not valid_label_length(label): - raise IDNAError('Label too long') - return label - except UnicodeEncodeError: - pass - - if not label: - raise IDNAError('No Input') - - label = unicode(label) - check_label(label) - label = _punycode(label) - label = _alabel_prefix + label - - if not valid_label_length(label): - raise IDNAError('Label too long') - - return label - - -def ulabel(label): - - if not isinstance(label, (bytes, bytearray)): - try: - label = label.encode('ascii') - except UnicodeEncodeError: - check_label(label) - return label - - label = label.lower() - if label.startswith(_alabel_prefix): - label = label[len(_alabel_prefix):] - else: - check_label(label) - return label.decode('ascii') - - label = label.decode('punycode') - check_label(label) - return label - - -def uts46_remap(domain, std3_rules=True, transitional=False): - """Re-map the characters in the string according to UTS46 processing.""" - from .uts46data import uts46data - output = u"" - try: - for pos, char in enumerate(domain): - code_point = ord(char) - uts46row = uts46data[code_point if code_point < 256 else - bisect.bisect_left(uts46data, (code_point, "Z")) - 1] - status = uts46row[1] - replacement = uts46row[2] if len(uts46row) == 3 else None - if (status == "V" or - (status == "D" and not transitional) or - (status == "3" and not std3_rules and replacement is None)): - output += char - elif replacement is not None and (status == "M" or - (status == "3" and not std3_rules) or - (status == "D" and transitional)): - output += replacement - elif status != "I": - raise IndexError() - return unicodedata.normalize("NFC", output) - except IndexError: - raise InvalidCodepoint( - "Codepoint {0} not allowed at position {1} in {2}".format( - _unot(code_point), pos + 1, repr(domain))) - - -def encode(s, strict=False, uts46=False, std3_rules=False, transitional=False): - - if isinstance(s, (bytes, bytearray)): - s = s.decode("ascii") - if uts46: - s = uts46_remap(s, std3_rules, transitional) - trailing_dot = False - result = [] - if strict: - labels = s.split('.') - else: - labels = _unicode_dots_re.split(s) - if not labels or labels == ['']: - raise IDNAError('Empty domain') - if labels[-1] == '': - del labels[-1] - trailing_dot = True - for label in labels: - s = alabel(label) - if s: - result.append(s) - else: - raise IDNAError('Empty label') - if trailing_dot: - result.append(b'') - s = b'.'.join(result) - if not valid_string_length(s, trailing_dot): - raise IDNAError('Domain too long') - return s - - -def decode(s, strict=False, uts46=False, std3_rules=False): - - if isinstance(s, (bytes, bytearray)): - s = s.decode("ascii") - if uts46: - s = uts46_remap(s, std3_rules, False) - trailing_dot = False - result = [] - if not strict: - labels = _unicode_dots_re.split(s) - else: - labels = s.split(u'.') - if not labels or labels == ['']: - raise IDNAError('Empty domain') - if not labels[-1]: - del labels[-1] - trailing_dot = True - for label in labels: - s = ulabel(label) - if s: - result.append(s) - else: - raise IDNAError('Empty label') - if trailing_dot: - result.append(u'') - return u'.'.join(result) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna/idnadata.py b/.tox/py37-normal/lib/python3.7/site-packages/idna/idnadata.py deleted file mode 100644 index a80c959..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna/idnadata.py +++ /dev/null @@ -1,1979 +0,0 @@ -# This file is automatically generated by tools/idna-data - -__version__ = "11.0.0" -scripts = { - 'Greek': ( - 0x37000000374, - 0x37500000378, - 0x37a0000037e, - 0x37f00000380, - 0x38400000385, - 0x38600000387, - 0x3880000038b, - 0x38c0000038d, - 0x38e000003a2, - 0x3a3000003e2, - 0x3f000000400, - 0x1d2600001d2b, - 0x1d5d00001d62, - 0x1d6600001d6b, - 0x1dbf00001dc0, - 0x1f0000001f16, - 0x1f1800001f1e, - 0x1f2000001f46, - 0x1f4800001f4e, - 0x1f5000001f58, - 0x1f5900001f5a, - 0x1f5b00001f5c, - 0x1f5d00001f5e, - 0x1f5f00001f7e, - 0x1f8000001fb5, - 0x1fb600001fc5, - 0x1fc600001fd4, - 0x1fd600001fdc, - 0x1fdd00001ff0, - 0x1ff200001ff5, - 0x1ff600001fff, - 0x212600002127, - 0xab650000ab66, - 0x101400001018f, - 0x101a0000101a1, - 0x1d2000001d246, - ), - 'Han': ( - 0x2e8000002e9a, - 0x2e9b00002ef4, - 0x2f0000002fd6, - 0x300500003006, - 0x300700003008, - 0x30210000302a, - 0x30380000303c, - 0x340000004db6, - 0x4e0000009ff0, - 0xf9000000fa6e, - 0xfa700000fada, - 0x200000002a6d7, - 0x2a7000002b735, - 0x2b7400002b81e, - 0x2b8200002cea2, - 0x2ceb00002ebe1, - 0x2f8000002fa1e, - ), - 'Hebrew': ( - 0x591000005c8, - 0x5d0000005eb, - 0x5ef000005f5, - 0xfb1d0000fb37, - 0xfb380000fb3d, - 0xfb3e0000fb3f, - 0xfb400000fb42, - 0xfb430000fb45, - 0xfb460000fb50, - ), - 'Hiragana': ( - 0x304100003097, - 0x309d000030a0, - 0x1b0010001b11f, - 0x1f2000001f201, - ), - 'Katakana': ( - 0x30a1000030fb, - 0x30fd00003100, - 0x31f000003200, - 0x32d0000032ff, - 0x330000003358, - 0xff660000ff70, - 0xff710000ff9e, - 0x1b0000001b001, - ), -} -joining_types = { - 0x600: 85, - 0x601: 85, - 0x602: 85, - 0x603: 85, - 0x604: 85, - 0x605: 85, - 0x608: 85, - 0x60b: 85, - 0x620: 68, - 0x621: 85, - 0x622: 82, - 0x623: 82, - 0x624: 82, - 0x625: 82, - 0x626: 68, - 0x627: 82, - 0x628: 68, - 0x629: 82, - 0x62a: 68, - 0x62b: 68, - 0x62c: 68, - 0x62d: 68, - 0x62e: 68, - 0x62f: 82, - 0x630: 82, - 0x631: 82, - 0x632: 82, - 0x633: 68, - 0x634: 68, - 0x635: 68, - 0x636: 68, - 0x637: 68, - 0x638: 68, - 0x639: 68, - 0x63a: 68, - 0x63b: 68, - 0x63c: 68, - 0x63d: 68, - 0x63e: 68, - 0x63f: 68, - 0x640: 67, - 0x641: 68, - 0x642: 68, - 0x643: 68, - 0x644: 68, - 0x645: 68, - 0x646: 68, - 0x647: 68, - 0x648: 82, - 0x649: 68, - 0x64a: 68, - 0x66e: 68, - 0x66f: 68, - 0x671: 82, - 0x672: 82, - 0x673: 82, - 0x674: 85, - 0x675: 82, - 0x676: 82, - 0x677: 82, - 0x678: 68, - 0x679: 68, - 0x67a: 68, - 0x67b: 68, - 0x67c: 68, - 0x67d: 68, - 0x67e: 68, - 0x67f: 68, - 0x680: 68, - 0x681: 68, - 0x682: 68, - 0x683: 68, - 0x684: 68, - 0x685: 68, - 0x686: 68, - 0x687: 68, - 0x688: 82, - 0x689: 82, - 0x68a: 82, - 0x68b: 82, - 0x68c: 82, - 0x68d: 82, - 0x68e: 82, - 0x68f: 82, - 0x690: 82, - 0x691: 82, - 0x692: 82, - 0x693: 82, - 0x694: 82, - 0x695: 82, - 0x696: 82, - 0x697: 82, - 0x698: 82, - 0x699: 82, - 0x69a: 68, - 0x69b: 68, - 0x69c: 68, - 0x69d: 68, - 0x69e: 68, - 0x69f: 68, - 0x6a0: 68, - 0x6a1: 68, - 0x6a2: 68, - 0x6a3: 68, - 0x6a4: 68, - 0x6a5: 68, - 0x6a6: 68, - 0x6a7: 68, - 0x6a8: 68, - 0x6a9: 68, - 0x6aa: 68, - 0x6ab: 68, - 0x6ac: 68, - 0x6ad: 68, - 0x6ae: 68, - 0x6af: 68, - 0x6b0: 68, - 0x6b1: 68, - 0x6b2: 68, - 0x6b3: 68, - 0x6b4: 68, - 0x6b5: 68, - 0x6b6: 68, - 0x6b7: 68, - 0x6b8: 68, - 0x6b9: 68, - 0x6ba: 68, - 0x6bb: 68, - 0x6bc: 68, - 0x6bd: 68, - 0x6be: 68, - 0x6bf: 68, - 0x6c0: 82, - 0x6c1: 68, - 0x6c2: 68, - 0x6c3: 82, - 0x6c4: 82, - 0x6c5: 82, - 0x6c6: 82, - 0x6c7: 82, - 0x6c8: 82, - 0x6c9: 82, - 0x6ca: 82, - 0x6cb: 82, - 0x6cc: 68, - 0x6cd: 82, - 0x6ce: 68, - 0x6cf: 82, - 0x6d0: 68, - 0x6d1: 68, - 0x6d2: 82, - 0x6d3: 82, - 0x6d5: 82, - 0x6dd: 85, - 0x6ee: 82, - 0x6ef: 82, - 0x6fa: 68, - 0x6fb: 68, - 0x6fc: 68, - 0x6ff: 68, - 0x70f: 84, - 0x710: 82, - 0x712: 68, - 0x713: 68, - 0x714: 68, - 0x715: 82, - 0x716: 82, - 0x717: 82, - 0x718: 82, - 0x719: 82, - 0x71a: 68, - 0x71b: 68, - 0x71c: 68, - 0x71d: 68, - 0x71e: 82, - 0x71f: 68, - 0x720: 68, - 0x721: 68, - 0x722: 68, - 0x723: 68, - 0x724: 68, - 0x725: 68, - 0x726: 68, - 0x727: 68, - 0x728: 82, - 0x729: 68, - 0x72a: 82, - 0x72b: 68, - 0x72c: 82, - 0x72d: 68, - 0x72e: 68, - 0x72f: 82, - 0x74d: 82, - 0x74e: 68, - 0x74f: 68, - 0x750: 68, - 0x751: 68, - 0x752: 68, - 0x753: 68, - 0x754: 68, - 0x755: 68, - 0x756: 68, - 0x757: 68, - 0x758: 68, - 0x759: 82, - 0x75a: 82, - 0x75b: 82, - 0x75c: 68, - 0x75d: 68, - 0x75e: 68, - 0x75f: 68, - 0x760: 68, - 0x761: 68, - 0x762: 68, - 0x763: 68, - 0x764: 68, - 0x765: 68, - 0x766: 68, - 0x767: 68, - 0x768: 68, - 0x769: 68, - 0x76a: 68, - 0x76b: 82, - 0x76c: 82, - 0x76d: 68, - 0x76e: 68, - 0x76f: 68, - 0x770: 68, - 0x771: 82, - 0x772: 68, - 0x773: 82, - 0x774: 82, - 0x775: 68, - 0x776: 68, - 0x777: 68, - 0x778: 82, - 0x779: 82, - 0x77a: 68, - 0x77b: 68, - 0x77c: 68, - 0x77d: 68, - 0x77e: 68, - 0x77f: 68, - 0x7ca: 68, - 0x7cb: 68, - 0x7cc: 68, - 0x7cd: 68, - 0x7ce: 68, - 0x7cf: 68, - 0x7d0: 68, - 0x7d1: 68, - 0x7d2: 68, - 0x7d3: 68, - 0x7d4: 68, - 0x7d5: 68, - 0x7d6: 68, - 0x7d7: 68, - 0x7d8: 68, - 0x7d9: 68, - 0x7da: 68, - 0x7db: 68, - 0x7dc: 68, - 0x7dd: 68, - 0x7de: 68, - 0x7df: 68, - 0x7e0: 68, - 0x7e1: 68, - 0x7e2: 68, - 0x7e3: 68, - 0x7e4: 68, - 0x7e5: 68, - 0x7e6: 68, - 0x7e7: 68, - 0x7e8: 68, - 0x7e9: 68, - 0x7ea: 68, - 0x7fa: 67, - 0x840: 82, - 0x841: 68, - 0x842: 68, - 0x843: 68, - 0x844: 68, - 0x845: 68, - 0x846: 82, - 0x847: 82, - 0x848: 68, - 0x849: 82, - 0x84a: 68, - 0x84b: 68, - 0x84c: 68, - 0x84d: 68, - 0x84e: 68, - 0x84f: 68, - 0x850: 68, - 0x851: 68, - 0x852: 68, - 0x853: 68, - 0x854: 82, - 0x855: 68, - 0x856: 85, - 0x857: 85, - 0x858: 85, - 0x860: 68, - 0x861: 85, - 0x862: 68, - 0x863: 68, - 0x864: 68, - 0x865: 68, - 0x866: 85, - 0x867: 82, - 0x868: 68, - 0x869: 82, - 0x86a: 82, - 0x8a0: 68, - 0x8a1: 68, - 0x8a2: 68, - 0x8a3: 68, - 0x8a4: 68, - 0x8a5: 68, - 0x8a6: 68, - 0x8a7: 68, - 0x8a8: 68, - 0x8a9: 68, - 0x8aa: 82, - 0x8ab: 82, - 0x8ac: 82, - 0x8ad: 85, - 0x8ae: 82, - 0x8af: 68, - 0x8b0: 68, - 0x8b1: 82, - 0x8b2: 82, - 0x8b3: 68, - 0x8b4: 68, - 0x8b6: 68, - 0x8b7: 68, - 0x8b8: 68, - 0x8b9: 82, - 0x8ba: 68, - 0x8bb: 68, - 0x8bc: 68, - 0x8bd: 68, - 0x8e2: 85, - 0x1806: 85, - 0x1807: 68, - 0x180a: 67, - 0x180e: 85, - 0x1820: 68, - 0x1821: 68, - 0x1822: 68, - 0x1823: 68, - 0x1824: 68, - 0x1825: 68, - 0x1826: 68, - 0x1827: 68, - 0x1828: 68, - 0x1829: 68, - 0x182a: 68, - 0x182b: 68, - 0x182c: 68, - 0x182d: 68, - 0x182e: 68, - 0x182f: 68, - 0x1830: 68, - 0x1831: 68, - 0x1832: 68, - 0x1833: 68, - 0x1834: 68, - 0x1835: 68, - 0x1836: 68, - 0x1837: 68, - 0x1838: 68, - 0x1839: 68, - 0x183a: 68, - 0x183b: 68, - 0x183c: 68, - 0x183d: 68, - 0x183e: 68, - 0x183f: 68, - 0x1840: 68, - 0x1841: 68, - 0x1842: 68, - 0x1843: 68, - 0x1844: 68, - 0x1845: 68, - 0x1846: 68, - 0x1847: 68, - 0x1848: 68, - 0x1849: 68, - 0x184a: 68, - 0x184b: 68, - 0x184c: 68, - 0x184d: 68, - 0x184e: 68, - 0x184f: 68, - 0x1850: 68, - 0x1851: 68, - 0x1852: 68, - 0x1853: 68, - 0x1854: 68, - 0x1855: 68, - 0x1856: 68, - 0x1857: 68, - 0x1858: 68, - 0x1859: 68, - 0x185a: 68, - 0x185b: 68, - 0x185c: 68, - 0x185d: 68, - 0x185e: 68, - 0x185f: 68, - 0x1860: 68, - 0x1861: 68, - 0x1862: 68, - 0x1863: 68, - 0x1864: 68, - 0x1865: 68, - 0x1866: 68, - 0x1867: 68, - 0x1868: 68, - 0x1869: 68, - 0x186a: 68, - 0x186b: 68, - 0x186c: 68, - 0x186d: 68, - 0x186e: 68, - 0x186f: 68, - 0x1870: 68, - 0x1871: 68, - 0x1872: 68, - 0x1873: 68, - 0x1874: 68, - 0x1875: 68, - 0x1876: 68, - 0x1877: 68, - 0x1878: 68, - 0x1880: 85, - 0x1881: 85, - 0x1882: 85, - 0x1883: 85, - 0x1884: 85, - 0x1885: 84, - 0x1886: 84, - 0x1887: 68, - 0x1888: 68, - 0x1889: 68, - 0x188a: 68, - 0x188b: 68, - 0x188c: 68, - 0x188d: 68, - 0x188e: 68, - 0x188f: 68, - 0x1890: 68, - 0x1891: 68, - 0x1892: 68, - 0x1893: 68, - 0x1894: 68, - 0x1895: 68, - 0x1896: 68, - 0x1897: 68, - 0x1898: 68, - 0x1899: 68, - 0x189a: 68, - 0x189b: 68, - 0x189c: 68, - 0x189d: 68, - 0x189e: 68, - 0x189f: 68, - 0x18a0: 68, - 0x18a1: 68, - 0x18a2: 68, - 0x18a3: 68, - 0x18a4: 68, - 0x18a5: 68, - 0x18a6: 68, - 0x18a7: 68, - 0x18a8: 68, - 0x18aa: 68, - 0x200c: 85, - 0x200d: 67, - 0x202f: 85, - 0x2066: 85, - 0x2067: 85, - 0x2068: 85, - 0x2069: 85, - 0xa840: 68, - 0xa841: 68, - 0xa842: 68, - 0xa843: 68, - 0xa844: 68, - 0xa845: 68, - 0xa846: 68, - 0xa847: 68, - 0xa848: 68, - 0xa849: 68, - 0xa84a: 68, - 0xa84b: 68, - 0xa84c: 68, - 0xa84d: 68, - 0xa84e: 68, - 0xa84f: 68, - 0xa850: 68, - 0xa851: 68, - 0xa852: 68, - 0xa853: 68, - 0xa854: 68, - 0xa855: 68, - 0xa856: 68, - 0xa857: 68, - 0xa858: 68, - 0xa859: 68, - 0xa85a: 68, - 0xa85b: 68, - 0xa85c: 68, - 0xa85d: 68, - 0xa85e: 68, - 0xa85f: 68, - 0xa860: 68, - 0xa861: 68, - 0xa862: 68, - 0xa863: 68, - 0xa864: 68, - 0xa865: 68, - 0xa866: 68, - 0xa867: 68, - 0xa868: 68, - 0xa869: 68, - 0xa86a: 68, - 0xa86b: 68, - 0xa86c: 68, - 0xa86d: 68, - 0xa86e: 68, - 0xa86f: 68, - 0xa870: 68, - 0xa871: 68, - 0xa872: 76, - 0xa873: 85, - 0x10ac0: 68, - 0x10ac1: 68, - 0x10ac2: 68, - 0x10ac3: 68, - 0x10ac4: 68, - 0x10ac5: 82, - 0x10ac6: 85, - 0x10ac7: 82, - 0x10ac8: 85, - 0x10ac9: 82, - 0x10aca: 82, - 0x10acb: 85, - 0x10acc: 85, - 0x10acd: 76, - 0x10ace: 82, - 0x10acf: 82, - 0x10ad0: 82, - 0x10ad1: 82, - 0x10ad2: 82, - 0x10ad3: 68, - 0x10ad4: 68, - 0x10ad5: 68, - 0x10ad6: 68, - 0x10ad7: 76, - 0x10ad8: 68, - 0x10ad9: 68, - 0x10ada: 68, - 0x10adb: 68, - 0x10adc: 68, - 0x10add: 82, - 0x10ade: 68, - 0x10adf: 68, - 0x10ae0: 68, - 0x10ae1: 82, - 0x10ae2: 85, - 0x10ae3: 85, - 0x10ae4: 82, - 0x10aeb: 68, - 0x10aec: 68, - 0x10aed: 68, - 0x10aee: 68, - 0x10aef: 82, - 0x10b80: 68, - 0x10b81: 82, - 0x10b82: 68, - 0x10b83: 82, - 0x10b84: 82, - 0x10b85: 82, - 0x10b86: 68, - 0x10b87: 68, - 0x10b88: 68, - 0x10b89: 82, - 0x10b8a: 68, - 0x10b8b: 68, - 0x10b8c: 82, - 0x10b8d: 68, - 0x10b8e: 82, - 0x10b8f: 82, - 0x10b90: 68, - 0x10b91: 82, - 0x10ba9: 82, - 0x10baa: 82, - 0x10bab: 82, - 0x10bac: 82, - 0x10bad: 68, - 0x10bae: 68, - 0x10baf: 85, - 0x10d00: 76, - 0x10d01: 68, - 0x10d02: 68, - 0x10d03: 68, - 0x10d04: 68, - 0x10d05: 68, - 0x10d06: 68, - 0x10d07: 68, - 0x10d08: 68, - 0x10d09: 68, - 0x10d0a: 68, - 0x10d0b: 68, - 0x10d0c: 68, - 0x10d0d: 68, - 0x10d0e: 68, - 0x10d0f: 68, - 0x10d10: 68, - 0x10d11: 68, - 0x10d12: 68, - 0x10d13: 68, - 0x10d14: 68, - 0x10d15: 68, - 0x10d16: 68, - 0x10d17: 68, - 0x10d18: 68, - 0x10d19: 68, - 0x10d1a: 68, - 0x10d1b: 68, - 0x10d1c: 68, - 0x10d1d: 68, - 0x10d1e: 68, - 0x10d1f: 68, - 0x10d20: 68, - 0x10d21: 68, - 0x10d22: 82, - 0x10d23: 68, - 0x10f30: 68, - 0x10f31: 68, - 0x10f32: 68, - 0x10f33: 82, - 0x10f34: 68, - 0x10f35: 68, - 0x10f36: 68, - 0x10f37: 68, - 0x10f38: 68, - 0x10f39: 68, - 0x10f3a: 68, - 0x10f3b: 68, - 0x10f3c: 68, - 0x10f3d: 68, - 0x10f3e: 68, - 0x10f3f: 68, - 0x10f40: 68, - 0x10f41: 68, - 0x10f42: 68, - 0x10f43: 68, - 0x10f44: 68, - 0x10f45: 85, - 0x10f51: 68, - 0x10f52: 68, - 0x10f53: 68, - 0x10f54: 82, - 0x110bd: 85, - 0x110cd: 85, - 0x1e900: 68, - 0x1e901: 68, - 0x1e902: 68, - 0x1e903: 68, - 0x1e904: 68, - 0x1e905: 68, - 0x1e906: 68, - 0x1e907: 68, - 0x1e908: 68, - 0x1e909: 68, - 0x1e90a: 68, - 0x1e90b: 68, - 0x1e90c: 68, - 0x1e90d: 68, - 0x1e90e: 68, - 0x1e90f: 68, - 0x1e910: 68, - 0x1e911: 68, - 0x1e912: 68, - 0x1e913: 68, - 0x1e914: 68, - 0x1e915: 68, - 0x1e916: 68, - 0x1e917: 68, - 0x1e918: 68, - 0x1e919: 68, - 0x1e91a: 68, - 0x1e91b: 68, - 0x1e91c: 68, - 0x1e91d: 68, - 0x1e91e: 68, - 0x1e91f: 68, - 0x1e920: 68, - 0x1e921: 68, - 0x1e922: 68, - 0x1e923: 68, - 0x1e924: 68, - 0x1e925: 68, - 0x1e926: 68, - 0x1e927: 68, - 0x1e928: 68, - 0x1e929: 68, - 0x1e92a: 68, - 0x1e92b: 68, - 0x1e92c: 68, - 0x1e92d: 68, - 0x1e92e: 68, - 0x1e92f: 68, - 0x1e930: 68, - 0x1e931: 68, - 0x1e932: 68, - 0x1e933: 68, - 0x1e934: 68, - 0x1e935: 68, - 0x1e936: 68, - 0x1e937: 68, - 0x1e938: 68, - 0x1e939: 68, - 0x1e93a: 68, - 0x1e93b: 68, - 0x1e93c: 68, - 0x1e93d: 68, - 0x1e93e: 68, - 0x1e93f: 68, - 0x1e940: 68, - 0x1e941: 68, - 0x1e942: 68, - 0x1e943: 68, -} -codepoint_classes = { - 'PVALID': ( - 0x2d0000002e, - 0x300000003a, - 0x610000007b, - 0xdf000000f7, - 0xf800000100, - 0x10100000102, - 0x10300000104, - 0x10500000106, - 0x10700000108, - 0x1090000010a, - 0x10b0000010c, - 0x10d0000010e, - 0x10f00000110, - 0x11100000112, - 0x11300000114, - 0x11500000116, - 0x11700000118, - 0x1190000011a, - 0x11b0000011c, - 0x11d0000011e, - 0x11f00000120, - 0x12100000122, - 0x12300000124, - 0x12500000126, - 0x12700000128, - 0x1290000012a, - 0x12b0000012c, - 0x12d0000012e, - 0x12f00000130, - 0x13100000132, - 0x13500000136, - 0x13700000139, - 0x13a0000013b, - 0x13c0000013d, - 0x13e0000013f, - 0x14200000143, - 0x14400000145, - 0x14600000147, - 0x14800000149, - 0x14b0000014c, - 0x14d0000014e, - 0x14f00000150, - 0x15100000152, - 0x15300000154, - 0x15500000156, - 0x15700000158, - 0x1590000015a, - 0x15b0000015c, - 0x15d0000015e, - 0x15f00000160, - 0x16100000162, - 0x16300000164, - 0x16500000166, - 0x16700000168, - 0x1690000016a, - 0x16b0000016c, - 0x16d0000016e, - 0x16f00000170, - 0x17100000172, - 0x17300000174, - 0x17500000176, - 0x17700000178, - 0x17a0000017b, - 0x17c0000017d, - 0x17e0000017f, - 0x18000000181, - 0x18300000184, - 0x18500000186, - 0x18800000189, - 0x18c0000018e, - 0x19200000193, - 0x19500000196, - 0x1990000019c, - 0x19e0000019f, - 0x1a1000001a2, - 0x1a3000001a4, - 0x1a5000001a6, - 0x1a8000001a9, - 0x1aa000001ac, - 0x1ad000001ae, - 0x1b0000001b1, - 0x1b4000001b5, - 0x1b6000001b7, - 0x1b9000001bc, - 0x1bd000001c4, - 0x1ce000001cf, - 0x1d0000001d1, - 0x1d2000001d3, - 0x1d4000001d5, - 0x1d6000001d7, - 0x1d8000001d9, - 0x1da000001db, - 0x1dc000001de, - 0x1df000001e0, - 0x1e1000001e2, - 0x1e3000001e4, - 0x1e5000001e6, - 0x1e7000001e8, - 0x1e9000001ea, - 0x1eb000001ec, - 0x1ed000001ee, - 0x1ef000001f1, - 0x1f5000001f6, - 0x1f9000001fa, - 0x1fb000001fc, - 0x1fd000001fe, - 0x1ff00000200, - 0x20100000202, - 0x20300000204, - 0x20500000206, - 0x20700000208, - 0x2090000020a, - 0x20b0000020c, - 0x20d0000020e, - 0x20f00000210, - 0x21100000212, - 0x21300000214, - 0x21500000216, - 0x21700000218, - 0x2190000021a, - 0x21b0000021c, - 0x21d0000021e, - 0x21f00000220, - 0x22100000222, - 0x22300000224, - 0x22500000226, - 0x22700000228, - 0x2290000022a, - 0x22b0000022c, - 0x22d0000022e, - 0x22f00000230, - 0x23100000232, - 0x2330000023a, - 0x23c0000023d, - 0x23f00000241, - 0x24200000243, - 0x24700000248, - 0x2490000024a, - 0x24b0000024c, - 0x24d0000024e, - 0x24f000002b0, - 0x2b9000002c2, - 0x2c6000002d2, - 0x2ec000002ed, - 0x2ee000002ef, - 0x30000000340, - 0x34200000343, - 0x3460000034f, - 0x35000000370, - 0x37100000372, - 0x37300000374, - 0x37700000378, - 0x37b0000037e, - 0x39000000391, - 0x3ac000003cf, - 0x3d7000003d8, - 0x3d9000003da, - 0x3db000003dc, - 0x3dd000003de, - 0x3df000003e0, - 0x3e1000003e2, - 0x3e3000003e4, - 0x3e5000003e6, - 0x3e7000003e8, - 0x3e9000003ea, - 0x3eb000003ec, - 0x3ed000003ee, - 0x3ef000003f0, - 0x3f3000003f4, - 0x3f8000003f9, - 0x3fb000003fd, - 0x43000000460, - 0x46100000462, - 0x46300000464, - 0x46500000466, - 0x46700000468, - 0x4690000046a, - 0x46b0000046c, - 0x46d0000046e, - 0x46f00000470, - 0x47100000472, - 0x47300000474, - 0x47500000476, - 0x47700000478, - 0x4790000047a, - 0x47b0000047c, - 0x47d0000047e, - 0x47f00000480, - 0x48100000482, - 0x48300000488, - 0x48b0000048c, - 0x48d0000048e, - 0x48f00000490, - 0x49100000492, - 0x49300000494, - 0x49500000496, - 0x49700000498, - 0x4990000049a, - 0x49b0000049c, - 0x49d0000049e, - 0x49f000004a0, - 0x4a1000004a2, - 0x4a3000004a4, - 0x4a5000004a6, - 0x4a7000004a8, - 0x4a9000004aa, - 0x4ab000004ac, - 0x4ad000004ae, - 0x4af000004b0, - 0x4b1000004b2, - 0x4b3000004b4, - 0x4b5000004b6, - 0x4b7000004b8, - 0x4b9000004ba, - 0x4bb000004bc, - 0x4bd000004be, - 0x4bf000004c0, - 0x4c2000004c3, - 0x4c4000004c5, - 0x4c6000004c7, - 0x4c8000004c9, - 0x4ca000004cb, - 0x4cc000004cd, - 0x4ce000004d0, - 0x4d1000004d2, - 0x4d3000004d4, - 0x4d5000004d6, - 0x4d7000004d8, - 0x4d9000004da, - 0x4db000004dc, - 0x4dd000004de, - 0x4df000004e0, - 0x4e1000004e2, - 0x4e3000004e4, - 0x4e5000004e6, - 0x4e7000004e8, - 0x4e9000004ea, - 0x4eb000004ec, - 0x4ed000004ee, - 0x4ef000004f0, - 0x4f1000004f2, - 0x4f3000004f4, - 0x4f5000004f6, - 0x4f7000004f8, - 0x4f9000004fa, - 0x4fb000004fc, - 0x4fd000004fe, - 0x4ff00000500, - 0x50100000502, - 0x50300000504, - 0x50500000506, - 0x50700000508, - 0x5090000050a, - 0x50b0000050c, - 0x50d0000050e, - 0x50f00000510, - 0x51100000512, - 0x51300000514, - 0x51500000516, - 0x51700000518, - 0x5190000051a, - 0x51b0000051c, - 0x51d0000051e, - 0x51f00000520, - 0x52100000522, - 0x52300000524, - 0x52500000526, - 0x52700000528, - 0x5290000052a, - 0x52b0000052c, - 0x52d0000052e, - 0x52f00000530, - 0x5590000055a, - 0x56000000587, - 0x58800000589, - 0x591000005be, - 0x5bf000005c0, - 0x5c1000005c3, - 0x5c4000005c6, - 0x5c7000005c8, - 0x5d0000005eb, - 0x5ef000005f3, - 0x6100000061b, - 0x62000000640, - 0x64100000660, - 0x66e00000675, - 0x679000006d4, - 0x6d5000006dd, - 0x6df000006e9, - 0x6ea000006f0, - 0x6fa00000700, - 0x7100000074b, - 0x74d000007b2, - 0x7c0000007f6, - 0x7fd000007fe, - 0x8000000082e, - 0x8400000085c, - 0x8600000086b, - 0x8a0000008b5, - 0x8b6000008be, - 0x8d3000008e2, - 0x8e300000958, - 0x96000000964, - 0x96600000970, - 0x97100000984, - 0x9850000098d, - 0x98f00000991, - 0x993000009a9, - 0x9aa000009b1, - 0x9b2000009b3, - 0x9b6000009ba, - 0x9bc000009c5, - 0x9c7000009c9, - 0x9cb000009cf, - 0x9d7000009d8, - 0x9e0000009e4, - 0x9e6000009f2, - 0x9fc000009fd, - 0x9fe000009ff, - 0xa0100000a04, - 0xa0500000a0b, - 0xa0f00000a11, - 0xa1300000a29, - 0xa2a00000a31, - 0xa3200000a33, - 0xa3500000a36, - 0xa3800000a3a, - 0xa3c00000a3d, - 0xa3e00000a43, - 0xa4700000a49, - 0xa4b00000a4e, - 0xa5100000a52, - 0xa5c00000a5d, - 0xa6600000a76, - 0xa8100000a84, - 0xa8500000a8e, - 0xa8f00000a92, - 0xa9300000aa9, - 0xaaa00000ab1, - 0xab200000ab4, - 0xab500000aba, - 0xabc00000ac6, - 0xac700000aca, - 0xacb00000ace, - 0xad000000ad1, - 0xae000000ae4, - 0xae600000af0, - 0xaf900000b00, - 0xb0100000b04, - 0xb0500000b0d, - 0xb0f00000b11, - 0xb1300000b29, - 0xb2a00000b31, - 0xb3200000b34, - 0xb3500000b3a, - 0xb3c00000b45, - 0xb4700000b49, - 0xb4b00000b4e, - 0xb5600000b58, - 0xb5f00000b64, - 0xb6600000b70, - 0xb7100000b72, - 0xb8200000b84, - 0xb8500000b8b, - 0xb8e00000b91, - 0xb9200000b96, - 0xb9900000b9b, - 0xb9c00000b9d, - 0xb9e00000ba0, - 0xba300000ba5, - 0xba800000bab, - 0xbae00000bba, - 0xbbe00000bc3, - 0xbc600000bc9, - 0xbca00000bce, - 0xbd000000bd1, - 0xbd700000bd8, - 0xbe600000bf0, - 0xc0000000c0d, - 0xc0e00000c11, - 0xc1200000c29, - 0xc2a00000c3a, - 0xc3d00000c45, - 0xc4600000c49, - 0xc4a00000c4e, - 0xc5500000c57, - 0xc5800000c5b, - 0xc6000000c64, - 0xc6600000c70, - 0xc8000000c84, - 0xc8500000c8d, - 0xc8e00000c91, - 0xc9200000ca9, - 0xcaa00000cb4, - 0xcb500000cba, - 0xcbc00000cc5, - 0xcc600000cc9, - 0xcca00000cce, - 0xcd500000cd7, - 0xcde00000cdf, - 0xce000000ce4, - 0xce600000cf0, - 0xcf100000cf3, - 0xd0000000d04, - 0xd0500000d0d, - 0xd0e00000d11, - 0xd1200000d45, - 0xd4600000d49, - 0xd4a00000d4f, - 0xd5400000d58, - 0xd5f00000d64, - 0xd6600000d70, - 0xd7a00000d80, - 0xd8200000d84, - 0xd8500000d97, - 0xd9a00000db2, - 0xdb300000dbc, - 0xdbd00000dbe, - 0xdc000000dc7, - 0xdca00000dcb, - 0xdcf00000dd5, - 0xdd600000dd7, - 0xdd800000de0, - 0xde600000df0, - 0xdf200000df4, - 0xe0100000e33, - 0xe3400000e3b, - 0xe4000000e4f, - 0xe5000000e5a, - 0xe8100000e83, - 0xe8400000e85, - 0xe8700000e89, - 0xe8a00000e8b, - 0xe8d00000e8e, - 0xe9400000e98, - 0xe9900000ea0, - 0xea100000ea4, - 0xea500000ea6, - 0xea700000ea8, - 0xeaa00000eac, - 0xead00000eb3, - 0xeb400000eba, - 0xebb00000ebe, - 0xec000000ec5, - 0xec600000ec7, - 0xec800000ece, - 0xed000000eda, - 0xede00000ee0, - 0xf0000000f01, - 0xf0b00000f0c, - 0xf1800000f1a, - 0xf2000000f2a, - 0xf3500000f36, - 0xf3700000f38, - 0xf3900000f3a, - 0xf3e00000f43, - 0xf4400000f48, - 0xf4900000f4d, - 0xf4e00000f52, - 0xf5300000f57, - 0xf5800000f5c, - 0xf5d00000f69, - 0xf6a00000f6d, - 0xf7100000f73, - 0xf7400000f75, - 0xf7a00000f81, - 0xf8200000f85, - 0xf8600000f93, - 0xf9400000f98, - 0xf9900000f9d, - 0xf9e00000fa2, - 0xfa300000fa7, - 0xfa800000fac, - 0xfad00000fb9, - 0xfba00000fbd, - 0xfc600000fc7, - 0x10000000104a, - 0x10500000109e, - 0x10d0000010fb, - 0x10fd00001100, - 0x120000001249, - 0x124a0000124e, - 0x125000001257, - 0x125800001259, - 0x125a0000125e, - 0x126000001289, - 0x128a0000128e, - 0x1290000012b1, - 0x12b2000012b6, - 0x12b8000012bf, - 0x12c0000012c1, - 0x12c2000012c6, - 0x12c8000012d7, - 0x12d800001311, - 0x131200001316, - 0x13180000135b, - 0x135d00001360, - 0x138000001390, - 0x13a0000013f6, - 0x14010000166d, - 0x166f00001680, - 0x16810000169b, - 0x16a0000016eb, - 0x16f1000016f9, - 0x17000000170d, - 0x170e00001715, - 0x172000001735, - 0x174000001754, - 0x17600000176d, - 0x176e00001771, - 0x177200001774, - 0x1780000017b4, - 0x17b6000017d4, - 0x17d7000017d8, - 0x17dc000017de, - 0x17e0000017ea, - 0x18100000181a, - 0x182000001879, - 0x1880000018ab, - 0x18b0000018f6, - 0x19000000191f, - 0x19200000192c, - 0x19300000193c, - 0x19460000196e, - 0x197000001975, - 0x1980000019ac, - 0x19b0000019ca, - 0x19d0000019da, - 0x1a0000001a1c, - 0x1a2000001a5f, - 0x1a6000001a7d, - 0x1a7f00001a8a, - 0x1a9000001a9a, - 0x1aa700001aa8, - 0x1ab000001abe, - 0x1b0000001b4c, - 0x1b5000001b5a, - 0x1b6b00001b74, - 0x1b8000001bf4, - 0x1c0000001c38, - 0x1c4000001c4a, - 0x1c4d00001c7e, - 0x1cd000001cd3, - 0x1cd400001cfa, - 0x1d0000001d2c, - 0x1d2f00001d30, - 0x1d3b00001d3c, - 0x1d4e00001d4f, - 0x1d6b00001d78, - 0x1d7900001d9b, - 0x1dc000001dfa, - 0x1dfb00001e00, - 0x1e0100001e02, - 0x1e0300001e04, - 0x1e0500001e06, - 0x1e0700001e08, - 0x1e0900001e0a, - 0x1e0b00001e0c, - 0x1e0d00001e0e, - 0x1e0f00001e10, - 0x1e1100001e12, - 0x1e1300001e14, - 0x1e1500001e16, - 0x1e1700001e18, - 0x1e1900001e1a, - 0x1e1b00001e1c, - 0x1e1d00001e1e, - 0x1e1f00001e20, - 0x1e2100001e22, - 0x1e2300001e24, - 0x1e2500001e26, - 0x1e2700001e28, - 0x1e2900001e2a, - 0x1e2b00001e2c, - 0x1e2d00001e2e, - 0x1e2f00001e30, - 0x1e3100001e32, - 0x1e3300001e34, - 0x1e3500001e36, - 0x1e3700001e38, - 0x1e3900001e3a, - 0x1e3b00001e3c, - 0x1e3d00001e3e, - 0x1e3f00001e40, - 0x1e4100001e42, - 0x1e4300001e44, - 0x1e4500001e46, - 0x1e4700001e48, - 0x1e4900001e4a, - 0x1e4b00001e4c, - 0x1e4d00001e4e, - 0x1e4f00001e50, - 0x1e5100001e52, - 0x1e5300001e54, - 0x1e5500001e56, - 0x1e5700001e58, - 0x1e5900001e5a, - 0x1e5b00001e5c, - 0x1e5d00001e5e, - 0x1e5f00001e60, - 0x1e6100001e62, - 0x1e6300001e64, - 0x1e6500001e66, - 0x1e6700001e68, - 0x1e6900001e6a, - 0x1e6b00001e6c, - 0x1e6d00001e6e, - 0x1e6f00001e70, - 0x1e7100001e72, - 0x1e7300001e74, - 0x1e7500001e76, - 0x1e7700001e78, - 0x1e7900001e7a, - 0x1e7b00001e7c, - 0x1e7d00001e7e, - 0x1e7f00001e80, - 0x1e8100001e82, - 0x1e8300001e84, - 0x1e8500001e86, - 0x1e8700001e88, - 0x1e8900001e8a, - 0x1e8b00001e8c, - 0x1e8d00001e8e, - 0x1e8f00001e90, - 0x1e9100001e92, - 0x1e9300001e94, - 0x1e9500001e9a, - 0x1e9c00001e9e, - 0x1e9f00001ea0, - 0x1ea100001ea2, - 0x1ea300001ea4, - 0x1ea500001ea6, - 0x1ea700001ea8, - 0x1ea900001eaa, - 0x1eab00001eac, - 0x1ead00001eae, - 0x1eaf00001eb0, - 0x1eb100001eb2, - 0x1eb300001eb4, - 0x1eb500001eb6, - 0x1eb700001eb8, - 0x1eb900001eba, - 0x1ebb00001ebc, - 0x1ebd00001ebe, - 0x1ebf00001ec0, - 0x1ec100001ec2, - 0x1ec300001ec4, - 0x1ec500001ec6, - 0x1ec700001ec8, - 0x1ec900001eca, - 0x1ecb00001ecc, - 0x1ecd00001ece, - 0x1ecf00001ed0, - 0x1ed100001ed2, - 0x1ed300001ed4, - 0x1ed500001ed6, - 0x1ed700001ed8, - 0x1ed900001eda, - 0x1edb00001edc, - 0x1edd00001ede, - 0x1edf00001ee0, - 0x1ee100001ee2, - 0x1ee300001ee4, - 0x1ee500001ee6, - 0x1ee700001ee8, - 0x1ee900001eea, - 0x1eeb00001eec, - 0x1eed00001eee, - 0x1eef00001ef0, - 0x1ef100001ef2, - 0x1ef300001ef4, - 0x1ef500001ef6, - 0x1ef700001ef8, - 0x1ef900001efa, - 0x1efb00001efc, - 0x1efd00001efe, - 0x1eff00001f08, - 0x1f1000001f16, - 0x1f2000001f28, - 0x1f3000001f38, - 0x1f4000001f46, - 0x1f5000001f58, - 0x1f6000001f68, - 0x1f7000001f71, - 0x1f7200001f73, - 0x1f7400001f75, - 0x1f7600001f77, - 0x1f7800001f79, - 0x1f7a00001f7b, - 0x1f7c00001f7d, - 0x1fb000001fb2, - 0x1fb600001fb7, - 0x1fc600001fc7, - 0x1fd000001fd3, - 0x1fd600001fd8, - 0x1fe000001fe3, - 0x1fe400001fe8, - 0x1ff600001ff7, - 0x214e0000214f, - 0x218400002185, - 0x2c3000002c5f, - 0x2c6100002c62, - 0x2c6500002c67, - 0x2c6800002c69, - 0x2c6a00002c6b, - 0x2c6c00002c6d, - 0x2c7100002c72, - 0x2c7300002c75, - 0x2c7600002c7c, - 0x2c8100002c82, - 0x2c8300002c84, - 0x2c8500002c86, - 0x2c8700002c88, - 0x2c8900002c8a, - 0x2c8b00002c8c, - 0x2c8d00002c8e, - 0x2c8f00002c90, - 0x2c9100002c92, - 0x2c9300002c94, - 0x2c9500002c96, - 0x2c9700002c98, - 0x2c9900002c9a, - 0x2c9b00002c9c, - 0x2c9d00002c9e, - 0x2c9f00002ca0, - 0x2ca100002ca2, - 0x2ca300002ca4, - 0x2ca500002ca6, - 0x2ca700002ca8, - 0x2ca900002caa, - 0x2cab00002cac, - 0x2cad00002cae, - 0x2caf00002cb0, - 0x2cb100002cb2, - 0x2cb300002cb4, - 0x2cb500002cb6, - 0x2cb700002cb8, - 0x2cb900002cba, - 0x2cbb00002cbc, - 0x2cbd00002cbe, - 0x2cbf00002cc0, - 0x2cc100002cc2, - 0x2cc300002cc4, - 0x2cc500002cc6, - 0x2cc700002cc8, - 0x2cc900002cca, - 0x2ccb00002ccc, - 0x2ccd00002cce, - 0x2ccf00002cd0, - 0x2cd100002cd2, - 0x2cd300002cd4, - 0x2cd500002cd6, - 0x2cd700002cd8, - 0x2cd900002cda, - 0x2cdb00002cdc, - 0x2cdd00002cde, - 0x2cdf00002ce0, - 0x2ce100002ce2, - 0x2ce300002ce5, - 0x2cec00002ced, - 0x2cee00002cf2, - 0x2cf300002cf4, - 0x2d0000002d26, - 0x2d2700002d28, - 0x2d2d00002d2e, - 0x2d3000002d68, - 0x2d7f00002d97, - 0x2da000002da7, - 0x2da800002daf, - 0x2db000002db7, - 0x2db800002dbf, - 0x2dc000002dc7, - 0x2dc800002dcf, - 0x2dd000002dd7, - 0x2dd800002ddf, - 0x2de000002e00, - 0x2e2f00002e30, - 0x300500003008, - 0x302a0000302e, - 0x303c0000303d, - 0x304100003097, - 0x30990000309b, - 0x309d0000309f, - 0x30a1000030fb, - 0x30fc000030ff, - 0x310500003130, - 0x31a0000031bb, - 0x31f000003200, - 0x340000004db6, - 0x4e0000009ff0, - 0xa0000000a48d, - 0xa4d00000a4fe, - 0xa5000000a60d, - 0xa6100000a62c, - 0xa6410000a642, - 0xa6430000a644, - 0xa6450000a646, - 0xa6470000a648, - 0xa6490000a64a, - 0xa64b0000a64c, - 0xa64d0000a64e, - 0xa64f0000a650, - 0xa6510000a652, - 0xa6530000a654, - 0xa6550000a656, - 0xa6570000a658, - 0xa6590000a65a, - 0xa65b0000a65c, - 0xa65d0000a65e, - 0xa65f0000a660, - 0xa6610000a662, - 0xa6630000a664, - 0xa6650000a666, - 0xa6670000a668, - 0xa6690000a66a, - 0xa66b0000a66c, - 0xa66d0000a670, - 0xa6740000a67e, - 0xa67f0000a680, - 0xa6810000a682, - 0xa6830000a684, - 0xa6850000a686, - 0xa6870000a688, - 0xa6890000a68a, - 0xa68b0000a68c, - 0xa68d0000a68e, - 0xa68f0000a690, - 0xa6910000a692, - 0xa6930000a694, - 0xa6950000a696, - 0xa6970000a698, - 0xa6990000a69a, - 0xa69b0000a69c, - 0xa69e0000a6e6, - 0xa6f00000a6f2, - 0xa7170000a720, - 0xa7230000a724, - 0xa7250000a726, - 0xa7270000a728, - 0xa7290000a72a, - 0xa72b0000a72c, - 0xa72d0000a72e, - 0xa72f0000a732, - 0xa7330000a734, - 0xa7350000a736, - 0xa7370000a738, - 0xa7390000a73a, - 0xa73b0000a73c, - 0xa73d0000a73e, - 0xa73f0000a740, - 0xa7410000a742, - 0xa7430000a744, - 0xa7450000a746, - 0xa7470000a748, - 0xa7490000a74a, - 0xa74b0000a74c, - 0xa74d0000a74e, - 0xa74f0000a750, - 0xa7510000a752, - 0xa7530000a754, - 0xa7550000a756, - 0xa7570000a758, - 0xa7590000a75a, - 0xa75b0000a75c, - 0xa75d0000a75e, - 0xa75f0000a760, - 0xa7610000a762, - 0xa7630000a764, - 0xa7650000a766, - 0xa7670000a768, - 0xa7690000a76a, - 0xa76b0000a76c, - 0xa76d0000a76e, - 0xa76f0000a770, - 0xa7710000a779, - 0xa77a0000a77b, - 0xa77c0000a77d, - 0xa77f0000a780, - 0xa7810000a782, - 0xa7830000a784, - 0xa7850000a786, - 0xa7870000a789, - 0xa78c0000a78d, - 0xa78e0000a790, - 0xa7910000a792, - 0xa7930000a796, - 0xa7970000a798, - 0xa7990000a79a, - 0xa79b0000a79c, - 0xa79d0000a79e, - 0xa79f0000a7a0, - 0xa7a10000a7a2, - 0xa7a30000a7a4, - 0xa7a50000a7a6, - 0xa7a70000a7a8, - 0xa7a90000a7aa, - 0xa7af0000a7b0, - 0xa7b50000a7b6, - 0xa7b70000a7b8, - 0xa7b90000a7ba, - 0xa7f70000a7f8, - 0xa7fa0000a828, - 0xa8400000a874, - 0xa8800000a8c6, - 0xa8d00000a8da, - 0xa8e00000a8f8, - 0xa8fb0000a8fc, - 0xa8fd0000a92e, - 0xa9300000a954, - 0xa9800000a9c1, - 0xa9cf0000a9da, - 0xa9e00000a9ff, - 0xaa000000aa37, - 0xaa400000aa4e, - 0xaa500000aa5a, - 0xaa600000aa77, - 0xaa7a0000aac3, - 0xaadb0000aade, - 0xaae00000aaf0, - 0xaaf20000aaf7, - 0xab010000ab07, - 0xab090000ab0f, - 0xab110000ab17, - 0xab200000ab27, - 0xab280000ab2f, - 0xab300000ab5b, - 0xab600000ab66, - 0xabc00000abeb, - 0xabec0000abee, - 0xabf00000abfa, - 0xac000000d7a4, - 0xfa0e0000fa10, - 0xfa110000fa12, - 0xfa130000fa15, - 0xfa1f0000fa20, - 0xfa210000fa22, - 0xfa230000fa25, - 0xfa270000fa2a, - 0xfb1e0000fb1f, - 0xfe200000fe30, - 0xfe730000fe74, - 0x100000001000c, - 0x1000d00010027, - 0x100280001003b, - 0x1003c0001003e, - 0x1003f0001004e, - 0x100500001005e, - 0x10080000100fb, - 0x101fd000101fe, - 0x102800001029d, - 0x102a0000102d1, - 0x102e0000102e1, - 0x1030000010320, - 0x1032d00010341, - 0x103420001034a, - 0x103500001037b, - 0x103800001039e, - 0x103a0000103c4, - 0x103c8000103d0, - 0x104280001049e, - 0x104a0000104aa, - 0x104d8000104fc, - 0x1050000010528, - 0x1053000010564, - 0x1060000010737, - 0x1074000010756, - 0x1076000010768, - 0x1080000010806, - 0x1080800010809, - 0x1080a00010836, - 0x1083700010839, - 0x1083c0001083d, - 0x1083f00010856, - 0x1086000010877, - 0x108800001089f, - 0x108e0000108f3, - 0x108f4000108f6, - 0x1090000010916, - 0x109200001093a, - 0x10980000109b8, - 0x109be000109c0, - 0x10a0000010a04, - 0x10a0500010a07, - 0x10a0c00010a14, - 0x10a1500010a18, - 0x10a1900010a36, - 0x10a3800010a3b, - 0x10a3f00010a40, - 0x10a6000010a7d, - 0x10a8000010a9d, - 0x10ac000010ac8, - 0x10ac900010ae7, - 0x10b0000010b36, - 0x10b4000010b56, - 0x10b6000010b73, - 0x10b8000010b92, - 0x10c0000010c49, - 0x10cc000010cf3, - 0x10d0000010d28, - 0x10d3000010d3a, - 0x10f0000010f1d, - 0x10f2700010f28, - 0x10f3000010f51, - 0x1100000011047, - 0x1106600011070, - 0x1107f000110bb, - 0x110d0000110e9, - 0x110f0000110fa, - 0x1110000011135, - 0x1113600011140, - 0x1114400011147, - 0x1115000011174, - 0x1117600011177, - 0x11180000111c5, - 0x111c9000111cd, - 0x111d0000111db, - 0x111dc000111dd, - 0x1120000011212, - 0x1121300011238, - 0x1123e0001123f, - 0x1128000011287, - 0x1128800011289, - 0x1128a0001128e, - 0x1128f0001129e, - 0x1129f000112a9, - 0x112b0000112eb, - 0x112f0000112fa, - 0x1130000011304, - 0x113050001130d, - 0x1130f00011311, - 0x1131300011329, - 0x1132a00011331, - 0x1133200011334, - 0x113350001133a, - 0x1133b00011345, - 0x1134700011349, - 0x1134b0001134e, - 0x1135000011351, - 0x1135700011358, - 0x1135d00011364, - 0x113660001136d, - 0x1137000011375, - 0x114000001144b, - 0x114500001145a, - 0x1145e0001145f, - 0x11480000114c6, - 0x114c7000114c8, - 0x114d0000114da, - 0x11580000115b6, - 0x115b8000115c1, - 0x115d8000115de, - 0x1160000011641, - 0x1164400011645, - 0x116500001165a, - 0x11680000116b8, - 0x116c0000116ca, - 0x117000001171b, - 0x1171d0001172c, - 0x117300001173a, - 0x118000001183b, - 0x118c0000118ea, - 0x118ff00011900, - 0x11a0000011a3f, - 0x11a4700011a48, - 0x11a5000011a84, - 0x11a8600011a9a, - 0x11a9d00011a9e, - 0x11ac000011af9, - 0x11c0000011c09, - 0x11c0a00011c37, - 0x11c3800011c41, - 0x11c5000011c5a, - 0x11c7200011c90, - 0x11c9200011ca8, - 0x11ca900011cb7, - 0x11d0000011d07, - 0x11d0800011d0a, - 0x11d0b00011d37, - 0x11d3a00011d3b, - 0x11d3c00011d3e, - 0x11d3f00011d48, - 0x11d5000011d5a, - 0x11d6000011d66, - 0x11d6700011d69, - 0x11d6a00011d8f, - 0x11d9000011d92, - 0x11d9300011d99, - 0x11da000011daa, - 0x11ee000011ef7, - 0x120000001239a, - 0x1248000012544, - 0x130000001342f, - 0x1440000014647, - 0x1680000016a39, - 0x16a4000016a5f, - 0x16a6000016a6a, - 0x16ad000016aee, - 0x16af000016af5, - 0x16b0000016b37, - 0x16b4000016b44, - 0x16b5000016b5a, - 0x16b6300016b78, - 0x16b7d00016b90, - 0x16e6000016e80, - 0x16f0000016f45, - 0x16f5000016f7f, - 0x16f8f00016fa0, - 0x16fe000016fe2, - 0x17000000187f2, - 0x1880000018af3, - 0x1b0000001b11f, - 0x1b1700001b2fc, - 0x1bc000001bc6b, - 0x1bc700001bc7d, - 0x1bc800001bc89, - 0x1bc900001bc9a, - 0x1bc9d0001bc9f, - 0x1da000001da37, - 0x1da3b0001da6d, - 0x1da750001da76, - 0x1da840001da85, - 0x1da9b0001daa0, - 0x1daa10001dab0, - 0x1e0000001e007, - 0x1e0080001e019, - 0x1e01b0001e022, - 0x1e0230001e025, - 0x1e0260001e02b, - 0x1e8000001e8c5, - 0x1e8d00001e8d7, - 0x1e9220001e94b, - 0x1e9500001e95a, - 0x200000002a6d7, - 0x2a7000002b735, - 0x2b7400002b81e, - 0x2b8200002cea2, - 0x2ceb00002ebe1, - ), - 'CONTEXTJ': ( - 0x200c0000200e, - ), - 'CONTEXTO': ( - 0xb7000000b8, - 0x37500000376, - 0x5f3000005f5, - 0x6600000066a, - 0x6f0000006fa, - 0x30fb000030fc, - ), -} diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna/intranges.py b/.tox/py37-normal/lib/python3.7/site-packages/idna/intranges.py deleted file mode 100644 index fa8a735..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna/intranges.py +++ /dev/null @@ -1,53 +0,0 @@ -""" -Given a list of integers, made up of (hopefully) a small number of long runs -of consecutive integers, compute a representation of the form -((start1, end1), (start2, end2) ...). Then answer the question "was x present -in the original list?" in time O(log(# runs)). -""" - -import bisect - -def intranges_from_list(list_): - """Represent a list of integers as a sequence of ranges: - ((start_0, end_0), (start_1, end_1), ...), such that the original - integers are exactly those x such that start_i <= x < end_i for some i. - - Ranges are encoded as single integers (start << 32 | end), not as tuples. - """ - - sorted_list = sorted(list_) - ranges = [] - last_write = -1 - for i in range(len(sorted_list)): - if i+1 < len(sorted_list): - if sorted_list[i] == sorted_list[i+1]-1: - continue - current_range = sorted_list[last_write+1:i+1] - ranges.append(_encode_range(current_range[0], current_range[-1] + 1)) - last_write = i - - return tuple(ranges) - -def _encode_range(start, end): - return (start << 32) | end - -def _decode_range(r): - return (r >> 32), (r & ((1 << 32) - 1)) - - -def intranges_contain(int_, ranges): - """Determine if `int_` falls into one of the ranges in `ranges`.""" - tuple_ = _encode_range(int_, 0) - pos = bisect.bisect_left(ranges, tuple_) - # we could be immediately ahead of a tuple (start, end) - # with start < int_ <= end - if pos > 0: - left, right = _decode_range(ranges[pos-1]) - if left <= int_ < right: - return True - # or we could be immediately behind a tuple (int_, end) - if pos < len(ranges): - left, _ = _decode_range(ranges[pos]) - if left == int_: - return True - return False diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna/package_data.py b/.tox/py37-normal/lib/python3.7/site-packages/idna/package_data.py deleted file mode 100644 index 257e898..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna/package_data.py +++ /dev/null @@ -1,2 +0,0 @@ -__version__ = '2.8' - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/idna/uts46data.py b/.tox/py37-normal/lib/python3.7/site-packages/idna/uts46data.py deleted file mode 100644 index a68ed4c..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/idna/uts46data.py +++ /dev/null @@ -1,8205 +0,0 @@ -# This file is automatically generated by tools/idna-data -# vim: set fileencoding=utf-8 : - -"""IDNA Mapping Table from UTS46.""" - - -__version__ = "11.0.0" -def _seg_0(): - return [ - (0x0, '3'), - (0x1, '3'), - (0x2, '3'), - (0x3, '3'), - (0x4, '3'), - (0x5, '3'), - (0x6, '3'), - (0x7, '3'), - (0x8, '3'), - (0x9, '3'), - (0xA, '3'), - (0xB, '3'), - (0xC, '3'), - (0xD, '3'), - (0xE, '3'), - (0xF, '3'), - (0x10, '3'), - (0x11, '3'), - (0x12, '3'), - (0x13, '3'), - (0x14, '3'), - (0x15, '3'), - (0x16, '3'), - (0x17, '3'), - (0x18, '3'), - (0x19, '3'), - (0x1A, '3'), - (0x1B, '3'), - (0x1C, '3'), - (0x1D, '3'), - (0x1E, '3'), - (0x1F, '3'), - (0x20, '3'), - (0x21, '3'), - (0x22, '3'), - (0x23, '3'), - (0x24, '3'), - (0x25, '3'), - (0x26, '3'), - (0x27, '3'), - (0x28, '3'), - (0x29, '3'), - (0x2A, '3'), - (0x2B, '3'), - (0x2C, '3'), - (0x2D, 'V'), - (0x2E, 'V'), - (0x2F, '3'), - (0x30, 'V'), - (0x31, 'V'), - (0x32, 'V'), - (0x33, 'V'), - (0x34, 'V'), - (0x35, 'V'), - (0x36, 'V'), - (0x37, 'V'), - (0x38, 'V'), - (0x39, 'V'), - (0x3A, '3'), - (0x3B, '3'), - (0x3C, '3'), - (0x3D, '3'), - (0x3E, '3'), - (0x3F, '3'), - (0x40, '3'), - (0x41, 'M', u'a'), - (0x42, 'M', u'b'), - (0x43, 'M', u'c'), - (0x44, 'M', u'd'), - (0x45, 'M', u'e'), - (0x46, 'M', u'f'), - (0x47, 'M', u'g'), - (0x48, 'M', u'h'), - (0x49, 'M', u'i'), - (0x4A, 'M', u'j'), - (0x4B, 'M', u'k'), - (0x4C, 'M', u'l'), - (0x4D, 'M', u'm'), - (0x4E, 'M', u'n'), - (0x4F, 'M', u'o'), - (0x50, 'M', u'p'), - (0x51, 'M', u'q'), - (0x52, 'M', u'r'), - (0x53, 'M', u's'), - (0x54, 'M', u't'), - (0x55, 'M', u'u'), - (0x56, 'M', u'v'), - (0x57, 'M', u'w'), - (0x58, 'M', u'x'), - (0x59, 'M', u'y'), - (0x5A, 'M', u'z'), - (0x5B, '3'), - (0x5C, '3'), - (0x5D, '3'), - (0x5E, '3'), - (0x5F, '3'), - (0x60, '3'), - (0x61, 'V'), - (0x62, 'V'), - (0x63, 'V'), - ] - -def _seg_1(): - return [ - (0x64, 'V'), - (0x65, 'V'), - (0x66, 'V'), - (0x67, 'V'), - (0x68, 'V'), - (0x69, 'V'), - (0x6A, 'V'), - (0x6B, 'V'), - (0x6C, 'V'), - (0x6D, 'V'), - (0x6E, 'V'), - (0x6F, 'V'), - (0x70, 'V'), - (0x71, 'V'), - (0x72, 'V'), - (0x73, 'V'), - (0x74, 'V'), - (0x75, 'V'), - (0x76, 'V'), - (0x77, 'V'), - (0x78, 'V'), - (0x79, 'V'), - (0x7A, 'V'), - (0x7B, '3'), - (0x7C, '3'), - (0x7D, '3'), - (0x7E, '3'), - (0x7F, '3'), - (0x80, 'X'), - (0x81, 'X'), - (0x82, 'X'), - (0x83, 'X'), - (0x84, 'X'), - (0x85, 'X'), - (0x86, 'X'), - (0x87, 'X'), - (0x88, 'X'), - (0x89, 'X'), - (0x8A, 'X'), - (0x8B, 'X'), - (0x8C, 'X'), - (0x8D, 'X'), - (0x8E, 'X'), - (0x8F, 'X'), - (0x90, 'X'), - (0x91, 'X'), - (0x92, 'X'), - (0x93, 'X'), - (0x94, 'X'), - (0x95, 'X'), - (0x96, 'X'), - (0x97, 'X'), - (0x98, 'X'), - (0x99, 'X'), - (0x9A, 'X'), - (0x9B, 'X'), - (0x9C, 'X'), - (0x9D, 'X'), - (0x9E, 'X'), - (0x9F, 'X'), - (0xA0, '3', u' '), - (0xA1, 'V'), - (0xA2, 'V'), - (0xA3, 'V'), - (0xA4, 'V'), - (0xA5, 'V'), - (0xA6, 'V'), - (0xA7, 'V'), - (0xA8, '3', u' ̈'), - (0xA9, 'V'), - (0xAA, 'M', u'a'), - (0xAB, 'V'), - (0xAC, 'V'), - (0xAD, 'I'), - (0xAE, 'V'), - (0xAF, '3', u' ̄'), - (0xB0, 'V'), - (0xB1, 'V'), - (0xB2, 'M', u'2'), - (0xB3, 'M', u'3'), - (0xB4, '3', u' ́'), - (0xB5, 'M', u'μ'), - (0xB6, 'V'), - (0xB7, 'V'), - (0xB8, '3', u' ̧'), - (0xB9, 'M', u'1'), - (0xBA, 'M', u'o'), - (0xBB, 'V'), - (0xBC, 'M', u'1⁄4'), - (0xBD, 'M', u'1⁄2'), - (0xBE, 'M', u'3⁄4'), - (0xBF, 'V'), - (0xC0, 'M', u'à'), - (0xC1, 'M', u'á'), - (0xC2, 'M', u'â'), - (0xC3, 'M', u'ã'), - (0xC4, 'M', u'ä'), - (0xC5, 'M', u'å'), - (0xC6, 'M', u'æ'), - (0xC7, 'M', u'ç'), - ] - -def _seg_2(): - return [ - (0xC8, 'M', u'è'), - (0xC9, 'M', u'é'), - (0xCA, 'M', u'ê'), - (0xCB, 'M', u'ë'), - (0xCC, 'M', u'ì'), - (0xCD, 'M', u'í'), - (0xCE, 'M', u'î'), - (0xCF, 'M', u'ï'), - (0xD0, 'M', u'ð'), - (0xD1, 'M', u'ñ'), - (0xD2, 'M', u'ò'), - (0xD3, 'M', u'ó'), - (0xD4, 'M', u'ô'), - (0xD5, 'M', u'õ'), - (0xD6, 'M', u'ö'), - (0xD7, 'V'), - (0xD8, 'M', u'ø'), - (0xD9, 'M', u'ù'), - (0xDA, 'M', u'ú'), - (0xDB, 'M', u'û'), - (0xDC, 'M', u'ü'), - (0xDD, 'M', u'ý'), - (0xDE, 'M', u'þ'), - (0xDF, 'D', u'ss'), - (0xE0, 'V'), - (0xE1, 'V'), - (0xE2, 'V'), - (0xE3, 'V'), - (0xE4, 'V'), - (0xE5, 'V'), - (0xE6, 'V'), - (0xE7, 'V'), - (0xE8, 'V'), - (0xE9, 'V'), - (0xEA, 'V'), - (0xEB, 'V'), - (0xEC, 'V'), - (0xED, 'V'), - (0xEE, 'V'), - (0xEF, 'V'), - (0xF0, 'V'), - (0xF1, 'V'), - (0xF2, 'V'), - (0xF3, 'V'), - (0xF4, 'V'), - (0xF5, 'V'), - (0xF6, 'V'), - (0xF7, 'V'), - (0xF8, 'V'), - (0xF9, 'V'), - (0xFA, 'V'), - (0xFB, 'V'), - (0xFC, 'V'), - (0xFD, 'V'), - (0xFE, 'V'), - (0xFF, 'V'), - (0x100, 'M', u'ā'), - (0x101, 'V'), - (0x102, 'M', u'ă'), - (0x103, 'V'), - (0x104, 'M', u'ą'), - (0x105, 'V'), - (0x106, 'M', u'ć'), - (0x107, 'V'), - (0x108, 'M', u'ĉ'), - (0x109, 'V'), - (0x10A, 'M', u'ċ'), - (0x10B, 'V'), - (0x10C, 'M', u'č'), - (0x10D, 'V'), - (0x10E, 'M', u'ď'), - (0x10F, 'V'), - (0x110, 'M', u'đ'), - (0x111, 'V'), - (0x112, 'M', u'ē'), - (0x113, 'V'), - (0x114, 'M', u'ĕ'), - (0x115, 'V'), - (0x116, 'M', u'ė'), - (0x117, 'V'), - (0x118, 'M', u'ę'), - (0x119, 'V'), - (0x11A, 'M', u'ě'), - (0x11B, 'V'), - (0x11C, 'M', u'ĝ'), - (0x11D, 'V'), - (0x11E, 'M', u'ğ'), - (0x11F, 'V'), - (0x120, 'M', u'ġ'), - (0x121, 'V'), - (0x122, 'M', u'ģ'), - (0x123, 'V'), - (0x124, 'M', u'ĥ'), - (0x125, 'V'), - (0x126, 'M', u'ħ'), - (0x127, 'V'), - (0x128, 'M', u'ĩ'), - (0x129, 'V'), - (0x12A, 'M', u'ī'), - (0x12B, 'V'), - ] - -def _seg_3(): - return [ - (0x12C, 'M', u'ĭ'), - (0x12D, 'V'), - (0x12E, 'M', u'į'), - (0x12F, 'V'), - (0x130, 'M', u'i̇'), - (0x131, 'V'), - (0x132, 'M', u'ij'), - (0x134, 'M', u'ĵ'), - (0x135, 'V'), - (0x136, 'M', u'ķ'), - (0x137, 'V'), - (0x139, 'M', u'ĺ'), - (0x13A, 'V'), - (0x13B, 'M', u'ļ'), - (0x13C, 'V'), - (0x13D, 'M', u'ľ'), - (0x13E, 'V'), - (0x13F, 'M', u'l·'), - (0x141, 'M', u'ł'), - (0x142, 'V'), - (0x143, 'M', u'ń'), - (0x144, 'V'), - (0x145, 'M', u'ņ'), - (0x146, 'V'), - (0x147, 'M', u'ň'), - (0x148, 'V'), - (0x149, 'M', u'ʼn'), - (0x14A, 'M', u'ŋ'), - (0x14B, 'V'), - (0x14C, 'M', u'ō'), - (0x14D, 'V'), - (0x14E, 'M', u'ŏ'), - (0x14F, 'V'), - (0x150, 'M', u'ő'), - (0x151, 'V'), - (0x152, 'M', u'œ'), - (0x153, 'V'), - (0x154, 'M', u'ŕ'), - (0x155, 'V'), - (0x156, 'M', u'ŗ'), - (0x157, 'V'), - (0x158, 'M', u'ř'), - (0x159, 'V'), - (0x15A, 'M', u'ś'), - (0x15B, 'V'), - (0x15C, 'M', u'ŝ'), - (0x15D, 'V'), - (0x15E, 'M', u'ş'), - (0x15F, 'V'), - (0x160, 'M', u'š'), - (0x161, 'V'), - (0x162, 'M', u'ţ'), - (0x163, 'V'), - (0x164, 'M', u'ť'), - (0x165, 'V'), - (0x166, 'M', u'ŧ'), - (0x167, 'V'), - (0x168, 'M', u'ũ'), - (0x169, 'V'), - (0x16A, 'M', u'ū'), - (0x16B, 'V'), - (0x16C, 'M', u'ŭ'), - (0x16D, 'V'), - (0x16E, 'M', u'ů'), - (0x16F, 'V'), - (0x170, 'M', u'ű'), - (0x171, 'V'), - (0x172, 'M', u'ų'), - (0x173, 'V'), - (0x174, 'M', u'ŵ'), - (0x175, 'V'), - (0x176, 'M', u'ŷ'), - (0x177, 'V'), - (0x178, 'M', u'ÿ'), - (0x179, 'M', u'ź'), - (0x17A, 'V'), - (0x17B, 'M', u'ż'), - (0x17C, 'V'), - (0x17D, 'M', u'ž'), - (0x17E, 'V'), - (0x17F, 'M', u's'), - (0x180, 'V'), - (0x181, 'M', u'ɓ'), - (0x182, 'M', u'ƃ'), - (0x183, 'V'), - (0x184, 'M', u'ƅ'), - (0x185, 'V'), - (0x186, 'M', u'ɔ'), - (0x187, 'M', u'ƈ'), - (0x188, 'V'), - (0x189, 'M', u'ɖ'), - (0x18A, 'M', u'ɗ'), - (0x18B, 'M', u'ƌ'), - (0x18C, 'V'), - (0x18E, 'M', u'ǝ'), - (0x18F, 'M', u'ə'), - (0x190, 'M', u'ɛ'), - (0x191, 'M', u'ƒ'), - (0x192, 'V'), - (0x193, 'M', u'ɠ'), - ] - -def _seg_4(): - return [ - (0x194, 'M', u'ɣ'), - (0x195, 'V'), - (0x196, 'M', u'ɩ'), - (0x197, 'M', u'ɨ'), - (0x198, 'M', u'ƙ'), - (0x199, 'V'), - (0x19C, 'M', u'ɯ'), - (0x19D, 'M', u'ɲ'), - (0x19E, 'V'), - (0x19F, 'M', u'ɵ'), - (0x1A0, 'M', u'ơ'), - (0x1A1, 'V'), - (0x1A2, 'M', u'ƣ'), - (0x1A3, 'V'), - (0x1A4, 'M', u'ƥ'), - (0x1A5, 'V'), - (0x1A6, 'M', u'ʀ'), - (0x1A7, 'M', u'ƨ'), - (0x1A8, 'V'), - (0x1A9, 'M', u'ʃ'), - (0x1AA, 'V'), - (0x1AC, 'M', u'ƭ'), - (0x1AD, 'V'), - (0x1AE, 'M', u'ʈ'), - (0x1AF, 'M', u'ư'), - (0x1B0, 'V'), - (0x1B1, 'M', u'ʊ'), - (0x1B2, 'M', u'ʋ'), - (0x1B3, 'M', u'ƴ'), - (0x1B4, 'V'), - (0x1B5, 'M', u'ƶ'), - (0x1B6, 'V'), - (0x1B7, 'M', u'ʒ'), - (0x1B8, 'M', u'ƹ'), - (0x1B9, 'V'), - (0x1BC, 'M', u'ƽ'), - (0x1BD, 'V'), - (0x1C4, 'M', u'dž'), - (0x1C7, 'M', u'lj'), - (0x1CA, 'M', u'nj'), - (0x1CD, 'M', u'ǎ'), - (0x1CE, 'V'), - (0x1CF, 'M', u'ǐ'), - (0x1D0, 'V'), - (0x1D1, 'M', u'ǒ'), - (0x1D2, 'V'), - (0x1D3, 'M', u'ǔ'), - (0x1D4, 'V'), - (0x1D5, 'M', u'ǖ'), - (0x1D6, 'V'), - (0x1D7, 'M', u'ǘ'), - (0x1D8, 'V'), - (0x1D9, 'M', u'ǚ'), - (0x1DA, 'V'), - (0x1DB, 'M', u'ǜ'), - (0x1DC, 'V'), - (0x1DE, 'M', u'ǟ'), - (0x1DF, 'V'), - (0x1E0, 'M', u'ǡ'), - (0x1E1, 'V'), - (0x1E2, 'M', u'ǣ'), - (0x1E3, 'V'), - (0x1E4, 'M', u'ǥ'), - (0x1E5, 'V'), - (0x1E6, 'M', u'ǧ'), - (0x1E7, 'V'), - (0x1E8, 'M', u'ǩ'), - (0x1E9, 'V'), - (0x1EA, 'M', u'ǫ'), - (0x1EB, 'V'), - (0x1EC, 'M', u'ǭ'), - (0x1ED, 'V'), - (0x1EE, 'M', u'ǯ'), - (0x1EF, 'V'), - (0x1F1, 'M', u'dz'), - (0x1F4, 'M', u'ǵ'), - (0x1F5, 'V'), - (0x1F6, 'M', u'ƕ'), - (0x1F7, 'M', u'ƿ'), - (0x1F8, 'M', u'ǹ'), - (0x1F9, 'V'), - (0x1FA, 'M', u'ǻ'), - (0x1FB, 'V'), - (0x1FC, 'M', u'ǽ'), - (0x1FD, 'V'), - (0x1FE, 'M', u'ǿ'), - (0x1FF, 'V'), - (0x200, 'M', u'ȁ'), - (0x201, 'V'), - (0x202, 'M', u'ȃ'), - (0x203, 'V'), - (0x204, 'M', u'ȅ'), - (0x205, 'V'), - (0x206, 'M', u'ȇ'), - (0x207, 'V'), - (0x208, 'M', u'ȉ'), - (0x209, 'V'), - (0x20A, 'M', u'ȋ'), - (0x20B, 'V'), - (0x20C, 'M', u'ȍ'), - ] - -def _seg_5(): - return [ - (0x20D, 'V'), - (0x20E, 'M', u'ȏ'), - (0x20F, 'V'), - (0x210, 'M', u'ȑ'), - (0x211, 'V'), - (0x212, 'M', u'ȓ'), - (0x213, 'V'), - (0x214, 'M', u'ȕ'), - (0x215, 'V'), - (0x216, 'M', u'ȗ'), - (0x217, 'V'), - (0x218, 'M', u'ș'), - (0x219, 'V'), - (0x21A, 'M', u'ț'), - (0x21B, 'V'), - (0x21C, 'M', u'ȝ'), - (0x21D, 'V'), - (0x21E, 'M', u'ȟ'), - (0x21F, 'V'), - (0x220, 'M', u'ƞ'), - (0x221, 'V'), - (0x222, 'M', u'ȣ'), - (0x223, 'V'), - (0x224, 'M', u'ȥ'), - (0x225, 'V'), - (0x226, 'M', u'ȧ'), - (0x227, 'V'), - (0x228, 'M', u'ȩ'), - (0x229, 'V'), - (0x22A, 'M', u'ȫ'), - (0x22B, 'V'), - (0x22C, 'M', u'ȭ'), - (0x22D, 'V'), - (0x22E, 'M', u'ȯ'), - (0x22F, 'V'), - (0x230, 'M', u'ȱ'), - (0x231, 'V'), - (0x232, 'M', u'ȳ'), - (0x233, 'V'), - (0x23A, 'M', u'ⱥ'), - (0x23B, 'M', u'ȼ'), - (0x23C, 'V'), - (0x23D, 'M', u'ƚ'), - (0x23E, 'M', u'ⱦ'), - (0x23F, 'V'), - (0x241, 'M', u'ɂ'), - (0x242, 'V'), - (0x243, 'M', u'ƀ'), - (0x244, 'M', u'ʉ'), - (0x245, 'M', u'ʌ'), - (0x246, 'M', u'ɇ'), - (0x247, 'V'), - (0x248, 'M', u'ɉ'), - (0x249, 'V'), - (0x24A, 'M', u'ɋ'), - (0x24B, 'V'), - (0x24C, 'M', u'ɍ'), - (0x24D, 'V'), - (0x24E, 'M', u'ɏ'), - (0x24F, 'V'), - (0x2B0, 'M', u'h'), - (0x2B1, 'M', u'ɦ'), - (0x2B2, 'M', u'j'), - (0x2B3, 'M', u'r'), - (0x2B4, 'M', u'ɹ'), - (0x2B5, 'M', u'ɻ'), - (0x2B6, 'M', u'ʁ'), - (0x2B7, 'M', u'w'), - (0x2B8, 'M', u'y'), - (0x2B9, 'V'), - (0x2D8, '3', u' ̆'), - (0x2D9, '3', u' ̇'), - (0x2DA, '3', u' ̊'), - (0x2DB, '3', u' ̨'), - (0x2DC, '3', u' ̃'), - (0x2DD, '3', u' ̋'), - (0x2DE, 'V'), - (0x2E0, 'M', u'ɣ'), - (0x2E1, 'M', u'l'), - (0x2E2, 'M', u's'), - (0x2E3, 'M', u'x'), - (0x2E4, 'M', u'ʕ'), - (0x2E5, 'V'), - (0x340, 'M', u'̀'), - (0x341, 'M', u'́'), - (0x342, 'V'), - (0x343, 'M', u'̓'), - (0x344, 'M', u'̈́'), - (0x345, 'M', u'ι'), - (0x346, 'V'), - (0x34F, 'I'), - (0x350, 'V'), - (0x370, 'M', u'ͱ'), - (0x371, 'V'), - (0x372, 'M', u'ͳ'), - (0x373, 'V'), - (0x374, 'M', u'ʹ'), - (0x375, 'V'), - (0x376, 'M', u'ͷ'), - (0x377, 'V'), - ] - -def _seg_6(): - return [ - (0x378, 'X'), - (0x37A, '3', u' ι'), - (0x37B, 'V'), - (0x37E, '3', u';'), - (0x37F, 'M', u'ϳ'), - (0x380, 'X'), - (0x384, '3', u' ́'), - (0x385, '3', u' ̈́'), - (0x386, 'M', u'ά'), - (0x387, 'M', u'·'), - (0x388, 'M', u'έ'), - (0x389, 'M', u'ή'), - (0x38A, 'M', u'ί'), - (0x38B, 'X'), - (0x38C, 'M', u'ό'), - (0x38D, 'X'), - (0x38E, 'M', u'ύ'), - (0x38F, 'M', u'ώ'), - (0x390, 'V'), - (0x391, 'M', u'α'), - (0x392, 'M', u'β'), - (0x393, 'M', u'γ'), - (0x394, 'M', u'δ'), - (0x395, 'M', u'ε'), - (0x396, 'M', u'ζ'), - (0x397, 'M', u'η'), - (0x398, 'M', u'θ'), - (0x399, 'M', u'ι'), - (0x39A, 'M', u'κ'), - (0x39B, 'M', u'λ'), - (0x39C, 'M', u'μ'), - (0x39D, 'M', u'ν'), - (0x39E, 'M', u'ξ'), - (0x39F, 'M', u'ο'), - (0x3A0, 'M', u'π'), - (0x3A1, 'M', u'ρ'), - (0x3A2, 'X'), - (0x3A3, 'M', u'σ'), - (0x3A4, 'M', u'τ'), - (0x3A5, 'M', u'υ'), - (0x3A6, 'M', u'φ'), - (0x3A7, 'M', u'χ'), - (0x3A8, 'M', u'ψ'), - (0x3A9, 'M', u'ω'), - (0x3AA, 'M', u'ϊ'), - (0x3AB, 'M', u'ϋ'), - (0x3AC, 'V'), - (0x3C2, 'D', u'σ'), - (0x3C3, 'V'), - (0x3CF, 'M', u'ϗ'), - (0x3D0, 'M', u'β'), - (0x3D1, 'M', u'θ'), - (0x3D2, 'M', u'υ'), - (0x3D3, 'M', u'ύ'), - (0x3D4, 'M', u'ϋ'), - (0x3D5, 'M', u'φ'), - (0x3D6, 'M', u'π'), - (0x3D7, 'V'), - (0x3D8, 'M', u'ϙ'), - (0x3D9, 'V'), - (0x3DA, 'M', u'ϛ'), - (0x3DB, 'V'), - (0x3DC, 'M', u'ϝ'), - (0x3DD, 'V'), - (0x3DE, 'M', u'ϟ'), - (0x3DF, 'V'), - (0x3E0, 'M', u'ϡ'), - (0x3E1, 'V'), - (0x3E2, 'M', u'ϣ'), - (0x3E3, 'V'), - (0x3E4, 'M', u'ϥ'), - (0x3E5, 'V'), - (0x3E6, 'M', u'ϧ'), - (0x3E7, 'V'), - (0x3E8, 'M', u'ϩ'), - (0x3E9, 'V'), - (0x3EA, 'M', u'ϫ'), - (0x3EB, 'V'), - (0x3EC, 'M', u'ϭ'), - (0x3ED, 'V'), - (0x3EE, 'M', u'ϯ'), - (0x3EF, 'V'), - (0x3F0, 'M', u'κ'), - (0x3F1, 'M', u'ρ'), - (0x3F2, 'M', u'σ'), - (0x3F3, 'V'), - (0x3F4, 'M', u'θ'), - (0x3F5, 'M', u'ε'), - (0x3F6, 'V'), - (0x3F7, 'M', u'ϸ'), - (0x3F8, 'V'), - (0x3F9, 'M', u'σ'), - (0x3FA, 'M', u'ϻ'), - (0x3FB, 'V'), - (0x3FD, 'M', u'ͻ'), - (0x3FE, 'M', u'ͼ'), - (0x3FF, 'M', u'ͽ'), - (0x400, 'M', u'ѐ'), - (0x401, 'M', u'ё'), - (0x402, 'M', u'ђ'), - ] - -def _seg_7(): - return [ - (0x403, 'M', u'ѓ'), - (0x404, 'M', u'є'), - (0x405, 'M', u'ѕ'), - (0x406, 'M', u'і'), - (0x407, 'M', u'ї'), - (0x408, 'M', u'ј'), - (0x409, 'M', u'љ'), - (0x40A, 'M', u'њ'), - (0x40B, 'M', u'ћ'), - (0x40C, 'M', u'ќ'), - (0x40D, 'M', u'ѝ'), - (0x40E, 'M', u'ў'), - (0x40F, 'M', u'џ'), - (0x410, 'M', u'а'), - (0x411, 'M', u'б'), - (0x412, 'M', u'в'), - (0x413, 'M', u'г'), - (0x414, 'M', u'д'), - (0x415, 'M', u'е'), - (0x416, 'M', u'ж'), - (0x417, 'M', u'з'), - (0x418, 'M', u'и'), - (0x419, 'M', u'й'), - (0x41A, 'M', u'к'), - (0x41B, 'M', u'л'), - (0x41C, 'M', u'м'), - (0x41D, 'M', u'н'), - (0x41E, 'M', u'о'), - (0x41F, 'M', u'п'), - (0x420, 'M', u'р'), - (0x421, 'M', u'с'), - (0x422, 'M', u'т'), - (0x423, 'M', u'у'), - (0x424, 'M', u'ф'), - (0x425, 'M', u'х'), - (0x426, 'M', u'ц'), - (0x427, 'M', u'ч'), - (0x428, 'M', u'ш'), - (0x429, 'M', u'щ'), - (0x42A, 'M', u'ъ'), - (0x42B, 'M', u'ы'), - (0x42C, 'M', u'ь'), - (0x42D, 'M', u'э'), - (0x42E, 'M', u'ю'), - (0x42F, 'M', u'я'), - (0x430, 'V'), - (0x460, 'M', u'ѡ'), - (0x461, 'V'), - (0x462, 'M', u'ѣ'), - (0x463, 'V'), - (0x464, 'M', u'ѥ'), - (0x465, 'V'), - (0x466, 'M', u'ѧ'), - (0x467, 'V'), - (0x468, 'M', u'ѩ'), - (0x469, 'V'), - (0x46A, 'M', u'ѫ'), - (0x46B, 'V'), - (0x46C, 'M', u'ѭ'), - (0x46D, 'V'), - (0x46E, 'M', u'ѯ'), - (0x46F, 'V'), - (0x470, 'M', u'ѱ'), - (0x471, 'V'), - (0x472, 'M', u'ѳ'), - (0x473, 'V'), - (0x474, 'M', u'ѵ'), - (0x475, 'V'), - (0x476, 'M', u'ѷ'), - (0x477, 'V'), - (0x478, 'M', u'ѹ'), - (0x479, 'V'), - (0x47A, 'M', u'ѻ'), - (0x47B, 'V'), - (0x47C, 'M', u'ѽ'), - (0x47D, 'V'), - (0x47E, 'M', u'ѿ'), - (0x47F, 'V'), - (0x480, 'M', u'ҁ'), - (0x481, 'V'), - (0x48A, 'M', u'ҋ'), - (0x48B, 'V'), - (0x48C, 'M', u'ҍ'), - (0x48D, 'V'), - (0x48E, 'M', u'ҏ'), - (0x48F, 'V'), - (0x490, 'M', u'ґ'), - (0x491, 'V'), - (0x492, 'M', u'ғ'), - (0x493, 'V'), - (0x494, 'M', u'ҕ'), - (0x495, 'V'), - (0x496, 'M', u'җ'), - (0x497, 'V'), - (0x498, 'M', u'ҙ'), - (0x499, 'V'), - (0x49A, 'M', u'қ'), - (0x49B, 'V'), - (0x49C, 'M', u'ҝ'), - (0x49D, 'V'), - ] - -def _seg_8(): - return [ - (0x49E, 'M', u'ҟ'), - (0x49F, 'V'), - (0x4A0, 'M', u'ҡ'), - (0x4A1, 'V'), - (0x4A2, 'M', u'ң'), - (0x4A3, 'V'), - (0x4A4, 'M', u'ҥ'), - (0x4A5, 'V'), - (0x4A6, 'M', u'ҧ'), - (0x4A7, 'V'), - (0x4A8, 'M', u'ҩ'), - (0x4A9, 'V'), - (0x4AA, 'M', u'ҫ'), - (0x4AB, 'V'), - (0x4AC, 'M', u'ҭ'), - (0x4AD, 'V'), - (0x4AE, 'M', u'ү'), - (0x4AF, 'V'), - (0x4B0, 'M', u'ұ'), - (0x4B1, 'V'), - (0x4B2, 'M', u'ҳ'), - (0x4B3, 'V'), - (0x4B4, 'M', u'ҵ'), - (0x4B5, 'V'), - (0x4B6, 'M', u'ҷ'), - (0x4B7, 'V'), - (0x4B8, 'M', u'ҹ'), - (0x4B9, 'V'), - (0x4BA, 'M', u'һ'), - (0x4BB, 'V'), - (0x4BC, 'M', u'ҽ'), - (0x4BD, 'V'), - (0x4BE, 'M', u'ҿ'), - (0x4BF, 'V'), - (0x4C0, 'X'), - (0x4C1, 'M', u'ӂ'), - (0x4C2, 'V'), - (0x4C3, 'M', u'ӄ'), - (0x4C4, 'V'), - (0x4C5, 'M', u'ӆ'), - (0x4C6, 'V'), - (0x4C7, 'M', u'ӈ'), - (0x4C8, 'V'), - (0x4C9, 'M', u'ӊ'), - (0x4CA, 'V'), - (0x4CB, 'M', u'ӌ'), - (0x4CC, 'V'), - (0x4CD, 'M', u'ӎ'), - (0x4CE, 'V'), - (0x4D0, 'M', u'ӑ'), - (0x4D1, 'V'), - (0x4D2, 'M', u'ӓ'), - (0x4D3, 'V'), - (0x4D4, 'M', u'ӕ'), - (0x4D5, 'V'), - (0x4D6, 'M', u'ӗ'), - (0x4D7, 'V'), - (0x4D8, 'M', u'ә'), - (0x4D9, 'V'), - (0x4DA, 'M', u'ӛ'), - (0x4DB, 'V'), - (0x4DC, 'M', u'ӝ'), - (0x4DD, 'V'), - (0x4DE, 'M', u'ӟ'), - (0x4DF, 'V'), - (0x4E0, 'M', u'ӡ'), - (0x4E1, 'V'), - (0x4E2, 'M', u'ӣ'), - (0x4E3, 'V'), - (0x4E4, 'M', u'ӥ'), - (0x4E5, 'V'), - (0x4E6, 'M', u'ӧ'), - (0x4E7, 'V'), - (0x4E8, 'M', u'ө'), - (0x4E9, 'V'), - (0x4EA, 'M', u'ӫ'), - (0x4EB, 'V'), - (0x4EC, 'M', u'ӭ'), - (0x4ED, 'V'), - (0x4EE, 'M', u'ӯ'), - (0x4EF, 'V'), - (0x4F0, 'M', u'ӱ'), - (0x4F1, 'V'), - (0x4F2, 'M', u'ӳ'), - (0x4F3, 'V'), - (0x4F4, 'M', u'ӵ'), - (0x4F5, 'V'), - (0x4F6, 'M', u'ӷ'), - (0x4F7, 'V'), - (0x4F8, 'M', u'ӹ'), - (0x4F9, 'V'), - (0x4FA, 'M', u'ӻ'), - (0x4FB, 'V'), - (0x4FC, 'M', u'ӽ'), - (0x4FD, 'V'), - (0x4FE, 'M', u'ӿ'), - (0x4FF, 'V'), - (0x500, 'M', u'ԁ'), - (0x501, 'V'), - (0x502, 'M', u'ԃ'), - ] - -def _seg_9(): - return [ - (0x503, 'V'), - (0x504, 'M', u'ԅ'), - (0x505, 'V'), - (0x506, 'M', u'ԇ'), - (0x507, 'V'), - (0x508, 'M', u'ԉ'), - (0x509, 'V'), - (0x50A, 'M', u'ԋ'), - (0x50B, 'V'), - (0x50C, 'M', u'ԍ'), - (0x50D, 'V'), - (0x50E, 'M', u'ԏ'), - (0x50F, 'V'), - (0x510, 'M', u'ԑ'), - (0x511, 'V'), - (0x512, 'M', u'ԓ'), - (0x513, 'V'), - (0x514, 'M', u'ԕ'), - (0x515, 'V'), - (0x516, 'M', u'ԗ'), - (0x517, 'V'), - (0x518, 'M', u'ԙ'), - (0x519, 'V'), - (0x51A, 'M', u'ԛ'), - (0x51B, 'V'), - (0x51C, 'M', u'ԝ'), - (0x51D, 'V'), - (0x51E, 'M', u'ԟ'), - (0x51F, 'V'), - (0x520, 'M', u'ԡ'), - (0x521, 'V'), - (0x522, 'M', u'ԣ'), - (0x523, 'V'), - (0x524, 'M', u'ԥ'), - (0x525, 'V'), - (0x526, 'M', u'ԧ'), - (0x527, 'V'), - (0x528, 'M', u'ԩ'), - (0x529, 'V'), - (0x52A, 'M', u'ԫ'), - (0x52B, 'V'), - (0x52C, 'M', u'ԭ'), - (0x52D, 'V'), - (0x52E, 'M', u'ԯ'), - (0x52F, 'V'), - (0x530, 'X'), - (0x531, 'M', u'ա'), - (0x532, 'M', u'բ'), - (0x533, 'M', u'գ'), - (0x534, 'M', u'դ'), - (0x535, 'M', u'ե'), - (0x536, 'M', u'զ'), - (0x537, 'M', u'է'), - (0x538, 'M', u'ը'), - (0x539, 'M', u'թ'), - (0x53A, 'M', u'ժ'), - (0x53B, 'M', u'ի'), - (0x53C, 'M', u'լ'), - (0x53D, 'M', u'խ'), - (0x53E, 'M', u'ծ'), - (0x53F, 'M', u'կ'), - (0x540, 'M', u'հ'), - (0x541, 'M', u'ձ'), - (0x542, 'M', u'ղ'), - (0x543, 'M', u'ճ'), - (0x544, 'M', u'մ'), - (0x545, 'M', u'յ'), - (0x546, 'M', u'ն'), - (0x547, 'M', u'շ'), - (0x548, 'M', u'ո'), - (0x549, 'M', u'չ'), - (0x54A, 'M', u'պ'), - (0x54B, 'M', u'ջ'), - (0x54C, 'M', u'ռ'), - (0x54D, 'M', u'ս'), - (0x54E, 'M', u'վ'), - (0x54F, 'M', u'տ'), - (0x550, 'M', u'ր'), - (0x551, 'M', u'ց'), - (0x552, 'M', u'ւ'), - (0x553, 'M', u'փ'), - (0x554, 'M', u'ք'), - (0x555, 'M', u'օ'), - (0x556, 'M', u'ֆ'), - (0x557, 'X'), - (0x559, 'V'), - (0x587, 'M', u'եւ'), - (0x588, 'V'), - (0x58B, 'X'), - (0x58D, 'V'), - (0x590, 'X'), - (0x591, 'V'), - (0x5C8, 'X'), - (0x5D0, 'V'), - (0x5EB, 'X'), - (0x5EF, 'V'), - (0x5F5, 'X'), - (0x606, 'V'), - (0x61C, 'X'), - (0x61E, 'V'), - ] - -def _seg_10(): - return [ - (0x675, 'M', u'اٴ'), - (0x676, 'M', u'وٴ'), - (0x677, 'M', u'ۇٴ'), - (0x678, 'M', u'يٴ'), - (0x679, 'V'), - (0x6DD, 'X'), - (0x6DE, 'V'), - (0x70E, 'X'), - (0x710, 'V'), - (0x74B, 'X'), - (0x74D, 'V'), - (0x7B2, 'X'), - (0x7C0, 'V'), - (0x7FB, 'X'), - (0x7FD, 'V'), - (0x82E, 'X'), - (0x830, 'V'), - (0x83F, 'X'), - (0x840, 'V'), - (0x85C, 'X'), - (0x85E, 'V'), - (0x85F, 'X'), - (0x860, 'V'), - (0x86B, 'X'), - (0x8A0, 'V'), - (0x8B5, 'X'), - (0x8B6, 'V'), - (0x8BE, 'X'), - (0x8D3, 'V'), - (0x8E2, 'X'), - (0x8E3, 'V'), - (0x958, 'M', u'क़'), - (0x959, 'M', u'ख़'), - (0x95A, 'M', u'ग़'), - (0x95B, 'M', u'ज़'), - (0x95C, 'M', u'ड़'), - (0x95D, 'M', u'ढ़'), - (0x95E, 'M', u'फ़'), - (0x95F, 'M', u'य़'), - (0x960, 'V'), - (0x984, 'X'), - (0x985, 'V'), - (0x98D, 'X'), - (0x98F, 'V'), - (0x991, 'X'), - (0x993, 'V'), - (0x9A9, 'X'), - (0x9AA, 'V'), - (0x9B1, 'X'), - (0x9B2, 'V'), - (0x9B3, 'X'), - (0x9B6, 'V'), - (0x9BA, 'X'), - (0x9BC, 'V'), - (0x9C5, 'X'), - (0x9C7, 'V'), - (0x9C9, 'X'), - (0x9CB, 'V'), - (0x9CF, 'X'), - (0x9D7, 'V'), - (0x9D8, 'X'), - (0x9DC, 'M', u'ড়'), - (0x9DD, 'M', u'ঢ়'), - (0x9DE, 'X'), - (0x9DF, 'M', u'য়'), - (0x9E0, 'V'), - (0x9E4, 'X'), - (0x9E6, 'V'), - (0x9FF, 'X'), - (0xA01, 'V'), - (0xA04, 'X'), - (0xA05, 'V'), - (0xA0B, 'X'), - (0xA0F, 'V'), - (0xA11, 'X'), - (0xA13, 'V'), - (0xA29, 'X'), - (0xA2A, 'V'), - (0xA31, 'X'), - (0xA32, 'V'), - (0xA33, 'M', u'ਲ਼'), - (0xA34, 'X'), - (0xA35, 'V'), - (0xA36, 'M', u'ਸ਼'), - (0xA37, 'X'), - (0xA38, 'V'), - (0xA3A, 'X'), - (0xA3C, 'V'), - (0xA3D, 'X'), - (0xA3E, 'V'), - (0xA43, 'X'), - (0xA47, 'V'), - (0xA49, 'X'), - (0xA4B, 'V'), - (0xA4E, 'X'), - (0xA51, 'V'), - (0xA52, 'X'), - (0xA59, 'M', u'ਖ਼'), - (0xA5A, 'M', u'ਗ਼'), - (0xA5B, 'M', u'ਜ਼'), - ] - -def _seg_11(): - return [ - (0xA5C, 'V'), - (0xA5D, 'X'), - (0xA5E, 'M', u'ਫ਼'), - (0xA5F, 'X'), - (0xA66, 'V'), - (0xA77, 'X'), - (0xA81, 'V'), - (0xA84, 'X'), - (0xA85, 'V'), - (0xA8E, 'X'), - (0xA8F, 'V'), - (0xA92, 'X'), - (0xA93, 'V'), - (0xAA9, 'X'), - (0xAAA, 'V'), - (0xAB1, 'X'), - (0xAB2, 'V'), - (0xAB4, 'X'), - (0xAB5, 'V'), - (0xABA, 'X'), - (0xABC, 'V'), - (0xAC6, 'X'), - (0xAC7, 'V'), - (0xACA, 'X'), - (0xACB, 'V'), - (0xACE, 'X'), - (0xAD0, 'V'), - (0xAD1, 'X'), - (0xAE0, 'V'), - (0xAE4, 'X'), - (0xAE6, 'V'), - (0xAF2, 'X'), - (0xAF9, 'V'), - (0xB00, 'X'), - (0xB01, 'V'), - (0xB04, 'X'), - (0xB05, 'V'), - (0xB0D, 'X'), - (0xB0F, 'V'), - (0xB11, 'X'), - (0xB13, 'V'), - (0xB29, 'X'), - (0xB2A, 'V'), - (0xB31, 'X'), - (0xB32, 'V'), - (0xB34, 'X'), - (0xB35, 'V'), - (0xB3A, 'X'), - (0xB3C, 'V'), - (0xB45, 'X'), - (0xB47, 'V'), - (0xB49, 'X'), - (0xB4B, 'V'), - (0xB4E, 'X'), - (0xB56, 'V'), - (0xB58, 'X'), - (0xB5C, 'M', u'ଡ଼'), - (0xB5D, 'M', u'ଢ଼'), - (0xB5E, 'X'), - (0xB5F, 'V'), - (0xB64, 'X'), - (0xB66, 'V'), - (0xB78, 'X'), - (0xB82, 'V'), - (0xB84, 'X'), - (0xB85, 'V'), - (0xB8B, 'X'), - (0xB8E, 'V'), - (0xB91, 'X'), - (0xB92, 'V'), - (0xB96, 'X'), - (0xB99, 'V'), - (0xB9B, 'X'), - (0xB9C, 'V'), - (0xB9D, 'X'), - (0xB9E, 'V'), - (0xBA0, 'X'), - (0xBA3, 'V'), - (0xBA5, 'X'), - (0xBA8, 'V'), - (0xBAB, 'X'), - (0xBAE, 'V'), - (0xBBA, 'X'), - (0xBBE, 'V'), - (0xBC3, 'X'), - (0xBC6, 'V'), - (0xBC9, 'X'), - (0xBCA, 'V'), - (0xBCE, 'X'), - (0xBD0, 'V'), - (0xBD1, 'X'), - (0xBD7, 'V'), - (0xBD8, 'X'), - (0xBE6, 'V'), - (0xBFB, 'X'), - (0xC00, 'V'), - (0xC0D, 'X'), - (0xC0E, 'V'), - (0xC11, 'X'), - (0xC12, 'V'), - ] - -def _seg_12(): - return [ - (0xC29, 'X'), - (0xC2A, 'V'), - (0xC3A, 'X'), - (0xC3D, 'V'), - (0xC45, 'X'), - (0xC46, 'V'), - (0xC49, 'X'), - (0xC4A, 'V'), - (0xC4E, 'X'), - (0xC55, 'V'), - (0xC57, 'X'), - (0xC58, 'V'), - (0xC5B, 'X'), - (0xC60, 'V'), - (0xC64, 'X'), - (0xC66, 'V'), - (0xC70, 'X'), - (0xC78, 'V'), - (0xC8D, 'X'), - (0xC8E, 'V'), - (0xC91, 'X'), - (0xC92, 'V'), - (0xCA9, 'X'), - (0xCAA, 'V'), - (0xCB4, 'X'), - (0xCB5, 'V'), - (0xCBA, 'X'), - (0xCBC, 'V'), - (0xCC5, 'X'), - (0xCC6, 'V'), - (0xCC9, 'X'), - (0xCCA, 'V'), - (0xCCE, 'X'), - (0xCD5, 'V'), - (0xCD7, 'X'), - (0xCDE, 'V'), - (0xCDF, 'X'), - (0xCE0, 'V'), - (0xCE4, 'X'), - (0xCE6, 'V'), - (0xCF0, 'X'), - (0xCF1, 'V'), - (0xCF3, 'X'), - (0xD00, 'V'), - (0xD04, 'X'), - (0xD05, 'V'), - (0xD0D, 'X'), - (0xD0E, 'V'), - (0xD11, 'X'), - (0xD12, 'V'), - (0xD45, 'X'), - (0xD46, 'V'), - (0xD49, 'X'), - (0xD4A, 'V'), - (0xD50, 'X'), - (0xD54, 'V'), - (0xD64, 'X'), - (0xD66, 'V'), - (0xD80, 'X'), - (0xD82, 'V'), - (0xD84, 'X'), - (0xD85, 'V'), - (0xD97, 'X'), - (0xD9A, 'V'), - (0xDB2, 'X'), - (0xDB3, 'V'), - (0xDBC, 'X'), - (0xDBD, 'V'), - (0xDBE, 'X'), - (0xDC0, 'V'), - (0xDC7, 'X'), - (0xDCA, 'V'), - (0xDCB, 'X'), - (0xDCF, 'V'), - (0xDD5, 'X'), - (0xDD6, 'V'), - (0xDD7, 'X'), - (0xDD8, 'V'), - (0xDE0, 'X'), - (0xDE6, 'V'), - (0xDF0, 'X'), - (0xDF2, 'V'), - (0xDF5, 'X'), - (0xE01, 'V'), - (0xE33, 'M', u'ํา'), - (0xE34, 'V'), - (0xE3B, 'X'), - (0xE3F, 'V'), - (0xE5C, 'X'), - (0xE81, 'V'), - (0xE83, 'X'), - (0xE84, 'V'), - (0xE85, 'X'), - (0xE87, 'V'), - (0xE89, 'X'), - (0xE8A, 'V'), - (0xE8B, 'X'), - (0xE8D, 'V'), - (0xE8E, 'X'), - (0xE94, 'V'), - ] - -def _seg_13(): - return [ - (0xE98, 'X'), - (0xE99, 'V'), - (0xEA0, 'X'), - (0xEA1, 'V'), - (0xEA4, 'X'), - (0xEA5, 'V'), - (0xEA6, 'X'), - (0xEA7, 'V'), - (0xEA8, 'X'), - (0xEAA, 'V'), - (0xEAC, 'X'), - (0xEAD, 'V'), - (0xEB3, 'M', u'ໍາ'), - (0xEB4, 'V'), - (0xEBA, 'X'), - (0xEBB, 'V'), - (0xEBE, 'X'), - (0xEC0, 'V'), - (0xEC5, 'X'), - (0xEC6, 'V'), - (0xEC7, 'X'), - (0xEC8, 'V'), - (0xECE, 'X'), - (0xED0, 'V'), - (0xEDA, 'X'), - (0xEDC, 'M', u'ຫນ'), - (0xEDD, 'M', u'ຫມ'), - (0xEDE, 'V'), - (0xEE0, 'X'), - (0xF00, 'V'), - (0xF0C, 'M', u'་'), - (0xF0D, 'V'), - (0xF43, 'M', u'གྷ'), - (0xF44, 'V'), - (0xF48, 'X'), - (0xF49, 'V'), - (0xF4D, 'M', u'ཌྷ'), - (0xF4E, 'V'), - (0xF52, 'M', u'དྷ'), - (0xF53, 'V'), - (0xF57, 'M', u'བྷ'), - (0xF58, 'V'), - (0xF5C, 'M', u'ཛྷ'), - (0xF5D, 'V'), - (0xF69, 'M', u'ཀྵ'), - (0xF6A, 'V'), - (0xF6D, 'X'), - (0xF71, 'V'), - (0xF73, 'M', u'ཱི'), - (0xF74, 'V'), - (0xF75, 'M', u'ཱུ'), - (0xF76, 'M', u'ྲྀ'), - (0xF77, 'M', u'ྲཱྀ'), - (0xF78, 'M', u'ླྀ'), - (0xF79, 'M', u'ླཱྀ'), - (0xF7A, 'V'), - (0xF81, 'M', u'ཱྀ'), - (0xF82, 'V'), - (0xF93, 'M', u'ྒྷ'), - (0xF94, 'V'), - (0xF98, 'X'), - (0xF99, 'V'), - (0xF9D, 'M', u'ྜྷ'), - (0xF9E, 'V'), - (0xFA2, 'M', u'ྡྷ'), - (0xFA3, 'V'), - (0xFA7, 'M', u'ྦྷ'), - (0xFA8, 'V'), - (0xFAC, 'M', u'ྫྷ'), - (0xFAD, 'V'), - (0xFB9, 'M', u'ྐྵ'), - (0xFBA, 'V'), - (0xFBD, 'X'), - (0xFBE, 'V'), - (0xFCD, 'X'), - (0xFCE, 'V'), - (0xFDB, 'X'), - (0x1000, 'V'), - (0x10A0, 'X'), - (0x10C7, 'M', u'ⴧ'), - (0x10C8, 'X'), - (0x10CD, 'M', u'ⴭ'), - (0x10CE, 'X'), - (0x10D0, 'V'), - (0x10FC, 'M', u'ნ'), - (0x10FD, 'V'), - (0x115F, 'X'), - (0x1161, 'V'), - (0x1249, 'X'), - (0x124A, 'V'), - (0x124E, 'X'), - (0x1250, 'V'), - (0x1257, 'X'), - (0x1258, 'V'), - (0x1259, 'X'), - (0x125A, 'V'), - (0x125E, 'X'), - (0x1260, 'V'), - (0x1289, 'X'), - (0x128A, 'V'), - ] - -def _seg_14(): - return [ - (0x128E, 'X'), - (0x1290, 'V'), - (0x12B1, 'X'), - (0x12B2, 'V'), - (0x12B6, 'X'), - (0x12B8, 'V'), - (0x12BF, 'X'), - (0x12C0, 'V'), - (0x12C1, 'X'), - (0x12C2, 'V'), - (0x12C6, 'X'), - (0x12C8, 'V'), - (0x12D7, 'X'), - (0x12D8, 'V'), - (0x1311, 'X'), - (0x1312, 'V'), - (0x1316, 'X'), - (0x1318, 'V'), - (0x135B, 'X'), - (0x135D, 'V'), - (0x137D, 'X'), - (0x1380, 'V'), - (0x139A, 'X'), - (0x13A0, 'V'), - (0x13F6, 'X'), - (0x13F8, 'M', u'Ᏸ'), - (0x13F9, 'M', u'Ᏹ'), - (0x13FA, 'M', u'Ᏺ'), - (0x13FB, 'M', u'Ᏻ'), - (0x13FC, 'M', u'Ᏼ'), - (0x13FD, 'M', u'Ᏽ'), - (0x13FE, 'X'), - (0x1400, 'V'), - (0x1680, 'X'), - (0x1681, 'V'), - (0x169D, 'X'), - (0x16A0, 'V'), - (0x16F9, 'X'), - (0x1700, 'V'), - (0x170D, 'X'), - (0x170E, 'V'), - (0x1715, 'X'), - (0x1720, 'V'), - (0x1737, 'X'), - (0x1740, 'V'), - (0x1754, 'X'), - (0x1760, 'V'), - (0x176D, 'X'), - (0x176E, 'V'), - (0x1771, 'X'), - (0x1772, 'V'), - (0x1774, 'X'), - (0x1780, 'V'), - (0x17B4, 'X'), - (0x17B6, 'V'), - (0x17DE, 'X'), - (0x17E0, 'V'), - (0x17EA, 'X'), - (0x17F0, 'V'), - (0x17FA, 'X'), - (0x1800, 'V'), - (0x1806, 'X'), - (0x1807, 'V'), - (0x180B, 'I'), - (0x180E, 'X'), - (0x1810, 'V'), - (0x181A, 'X'), - (0x1820, 'V'), - (0x1879, 'X'), - (0x1880, 'V'), - (0x18AB, 'X'), - (0x18B0, 'V'), - (0x18F6, 'X'), - (0x1900, 'V'), - (0x191F, 'X'), - (0x1920, 'V'), - (0x192C, 'X'), - (0x1930, 'V'), - (0x193C, 'X'), - (0x1940, 'V'), - (0x1941, 'X'), - (0x1944, 'V'), - (0x196E, 'X'), - (0x1970, 'V'), - (0x1975, 'X'), - (0x1980, 'V'), - (0x19AC, 'X'), - (0x19B0, 'V'), - (0x19CA, 'X'), - (0x19D0, 'V'), - (0x19DB, 'X'), - (0x19DE, 'V'), - (0x1A1C, 'X'), - (0x1A1E, 'V'), - (0x1A5F, 'X'), - (0x1A60, 'V'), - (0x1A7D, 'X'), - (0x1A7F, 'V'), - (0x1A8A, 'X'), - (0x1A90, 'V'), - ] - -def _seg_15(): - return [ - (0x1A9A, 'X'), - (0x1AA0, 'V'), - (0x1AAE, 'X'), - (0x1AB0, 'V'), - (0x1ABF, 'X'), - (0x1B00, 'V'), - (0x1B4C, 'X'), - (0x1B50, 'V'), - (0x1B7D, 'X'), - (0x1B80, 'V'), - (0x1BF4, 'X'), - (0x1BFC, 'V'), - (0x1C38, 'X'), - (0x1C3B, 'V'), - (0x1C4A, 'X'), - (0x1C4D, 'V'), - (0x1C80, 'M', u'в'), - (0x1C81, 'M', u'д'), - (0x1C82, 'M', u'о'), - (0x1C83, 'M', u'с'), - (0x1C84, 'M', u'т'), - (0x1C86, 'M', u'ъ'), - (0x1C87, 'M', u'ѣ'), - (0x1C88, 'M', u'ꙋ'), - (0x1C89, 'X'), - (0x1CC0, 'V'), - (0x1CC8, 'X'), - (0x1CD0, 'V'), - (0x1CFA, 'X'), - (0x1D00, 'V'), - (0x1D2C, 'M', u'a'), - (0x1D2D, 'M', u'æ'), - (0x1D2E, 'M', u'b'), - (0x1D2F, 'V'), - (0x1D30, 'M', u'd'), - (0x1D31, 'M', u'e'), - (0x1D32, 'M', u'ǝ'), - (0x1D33, 'M', u'g'), - (0x1D34, 'M', u'h'), - (0x1D35, 'M', u'i'), - (0x1D36, 'M', u'j'), - (0x1D37, 'M', u'k'), - (0x1D38, 'M', u'l'), - (0x1D39, 'M', u'm'), - (0x1D3A, 'M', u'n'), - (0x1D3B, 'V'), - (0x1D3C, 'M', u'o'), - (0x1D3D, 'M', u'ȣ'), - (0x1D3E, 'M', u'p'), - (0x1D3F, 'M', u'r'), - (0x1D40, 'M', u't'), - (0x1D41, 'M', u'u'), - (0x1D42, 'M', u'w'), - (0x1D43, 'M', u'a'), - (0x1D44, 'M', u'ɐ'), - (0x1D45, 'M', u'ɑ'), - (0x1D46, 'M', u'ᴂ'), - (0x1D47, 'M', u'b'), - (0x1D48, 'M', u'd'), - (0x1D49, 'M', u'e'), - (0x1D4A, 'M', u'ə'), - (0x1D4B, 'M', u'ɛ'), - (0x1D4C, 'M', u'ɜ'), - (0x1D4D, 'M', u'g'), - (0x1D4E, 'V'), - (0x1D4F, 'M', u'k'), - (0x1D50, 'M', u'm'), - (0x1D51, 'M', u'ŋ'), - (0x1D52, 'M', u'o'), - (0x1D53, 'M', u'ɔ'), - (0x1D54, 'M', u'ᴖ'), - (0x1D55, 'M', u'ᴗ'), - (0x1D56, 'M', u'p'), - (0x1D57, 'M', u't'), - (0x1D58, 'M', u'u'), - (0x1D59, 'M', u'ᴝ'), - (0x1D5A, 'M', u'ɯ'), - (0x1D5B, 'M', u'v'), - (0x1D5C, 'M', u'ᴥ'), - (0x1D5D, 'M', u'β'), - (0x1D5E, 'M', u'γ'), - (0x1D5F, 'M', u'δ'), - (0x1D60, 'M', u'φ'), - (0x1D61, 'M', u'χ'), - (0x1D62, 'M', u'i'), - (0x1D63, 'M', u'r'), - (0x1D64, 'M', u'u'), - (0x1D65, 'M', u'v'), - (0x1D66, 'M', u'β'), - (0x1D67, 'M', u'γ'), - (0x1D68, 'M', u'ρ'), - (0x1D69, 'M', u'φ'), - (0x1D6A, 'M', u'χ'), - (0x1D6B, 'V'), - (0x1D78, 'M', u'н'), - (0x1D79, 'V'), - (0x1D9B, 'M', u'ɒ'), - (0x1D9C, 'M', u'c'), - (0x1D9D, 'M', u'ɕ'), - (0x1D9E, 'M', u'ð'), - ] - -def _seg_16(): - return [ - (0x1D9F, 'M', u'ɜ'), - (0x1DA0, 'M', u'f'), - (0x1DA1, 'M', u'ɟ'), - (0x1DA2, 'M', u'ɡ'), - (0x1DA3, 'M', u'ɥ'), - (0x1DA4, 'M', u'ɨ'), - (0x1DA5, 'M', u'ɩ'), - (0x1DA6, 'M', u'ɪ'), - (0x1DA7, 'M', u'ᵻ'), - (0x1DA8, 'M', u'ʝ'), - (0x1DA9, 'M', u'ɭ'), - (0x1DAA, 'M', u'ᶅ'), - (0x1DAB, 'M', u'ʟ'), - (0x1DAC, 'M', u'ɱ'), - (0x1DAD, 'M', u'ɰ'), - (0x1DAE, 'M', u'ɲ'), - (0x1DAF, 'M', u'ɳ'), - (0x1DB0, 'M', u'ɴ'), - (0x1DB1, 'M', u'ɵ'), - (0x1DB2, 'M', u'ɸ'), - (0x1DB3, 'M', u'ʂ'), - (0x1DB4, 'M', u'ʃ'), - (0x1DB5, 'M', u'ƫ'), - (0x1DB6, 'M', u'ʉ'), - (0x1DB7, 'M', u'ʊ'), - (0x1DB8, 'M', u'ᴜ'), - (0x1DB9, 'M', u'ʋ'), - (0x1DBA, 'M', u'ʌ'), - (0x1DBB, 'M', u'z'), - (0x1DBC, 'M', u'ʐ'), - (0x1DBD, 'M', u'ʑ'), - (0x1DBE, 'M', u'ʒ'), - (0x1DBF, 'M', u'θ'), - (0x1DC0, 'V'), - (0x1DFA, 'X'), - (0x1DFB, 'V'), - (0x1E00, 'M', u'ḁ'), - (0x1E01, 'V'), - (0x1E02, 'M', u'ḃ'), - (0x1E03, 'V'), - (0x1E04, 'M', u'ḅ'), - (0x1E05, 'V'), - (0x1E06, 'M', u'ḇ'), - (0x1E07, 'V'), - (0x1E08, 'M', u'ḉ'), - (0x1E09, 'V'), - (0x1E0A, 'M', u'ḋ'), - (0x1E0B, 'V'), - (0x1E0C, 'M', u'ḍ'), - (0x1E0D, 'V'), - (0x1E0E, 'M', u'ḏ'), - (0x1E0F, 'V'), - (0x1E10, 'M', u'ḑ'), - (0x1E11, 'V'), - (0x1E12, 'M', u'ḓ'), - (0x1E13, 'V'), - (0x1E14, 'M', u'ḕ'), - (0x1E15, 'V'), - (0x1E16, 'M', u'ḗ'), - (0x1E17, 'V'), - (0x1E18, 'M', u'ḙ'), - (0x1E19, 'V'), - (0x1E1A, 'M', u'ḛ'), - (0x1E1B, 'V'), - (0x1E1C, 'M', u'ḝ'), - (0x1E1D, 'V'), - (0x1E1E, 'M', u'ḟ'), - (0x1E1F, 'V'), - (0x1E20, 'M', u'ḡ'), - (0x1E21, 'V'), - (0x1E22, 'M', u'ḣ'), - (0x1E23, 'V'), - (0x1E24, 'M', u'ḥ'), - (0x1E25, 'V'), - (0x1E26, 'M', u'ḧ'), - (0x1E27, 'V'), - (0x1E28, 'M', u'ḩ'), - (0x1E29, 'V'), - (0x1E2A, 'M', u'ḫ'), - (0x1E2B, 'V'), - (0x1E2C, 'M', u'ḭ'), - (0x1E2D, 'V'), - (0x1E2E, 'M', u'ḯ'), - (0x1E2F, 'V'), - (0x1E30, 'M', u'ḱ'), - (0x1E31, 'V'), - (0x1E32, 'M', u'ḳ'), - (0x1E33, 'V'), - (0x1E34, 'M', u'ḵ'), - (0x1E35, 'V'), - (0x1E36, 'M', u'ḷ'), - (0x1E37, 'V'), - (0x1E38, 'M', u'ḹ'), - (0x1E39, 'V'), - (0x1E3A, 'M', u'ḻ'), - (0x1E3B, 'V'), - (0x1E3C, 'M', u'ḽ'), - (0x1E3D, 'V'), - (0x1E3E, 'M', u'ḿ'), - (0x1E3F, 'V'), - ] - -def _seg_17(): - return [ - (0x1E40, 'M', u'ṁ'), - (0x1E41, 'V'), - (0x1E42, 'M', u'ṃ'), - (0x1E43, 'V'), - (0x1E44, 'M', u'ṅ'), - (0x1E45, 'V'), - (0x1E46, 'M', u'ṇ'), - (0x1E47, 'V'), - (0x1E48, 'M', u'ṉ'), - (0x1E49, 'V'), - (0x1E4A, 'M', u'ṋ'), - (0x1E4B, 'V'), - (0x1E4C, 'M', u'ṍ'), - (0x1E4D, 'V'), - (0x1E4E, 'M', u'ṏ'), - (0x1E4F, 'V'), - (0x1E50, 'M', u'ṑ'), - (0x1E51, 'V'), - (0x1E52, 'M', u'ṓ'), - (0x1E53, 'V'), - (0x1E54, 'M', u'ṕ'), - (0x1E55, 'V'), - (0x1E56, 'M', u'ṗ'), - (0x1E57, 'V'), - (0x1E58, 'M', u'ṙ'), - (0x1E59, 'V'), - (0x1E5A, 'M', u'ṛ'), - (0x1E5B, 'V'), - (0x1E5C, 'M', u'ṝ'), - (0x1E5D, 'V'), - (0x1E5E, 'M', u'ṟ'), - (0x1E5F, 'V'), - (0x1E60, 'M', u'ṡ'), - (0x1E61, 'V'), - (0x1E62, 'M', u'ṣ'), - (0x1E63, 'V'), - (0x1E64, 'M', u'ṥ'), - (0x1E65, 'V'), - (0x1E66, 'M', u'ṧ'), - (0x1E67, 'V'), - (0x1E68, 'M', u'ṩ'), - (0x1E69, 'V'), - (0x1E6A, 'M', u'ṫ'), - (0x1E6B, 'V'), - (0x1E6C, 'M', u'ṭ'), - (0x1E6D, 'V'), - (0x1E6E, 'M', u'ṯ'), - (0x1E6F, 'V'), - (0x1E70, 'M', u'ṱ'), - (0x1E71, 'V'), - (0x1E72, 'M', u'ṳ'), - (0x1E73, 'V'), - (0x1E74, 'M', u'ṵ'), - (0x1E75, 'V'), - (0x1E76, 'M', u'ṷ'), - (0x1E77, 'V'), - (0x1E78, 'M', u'ṹ'), - (0x1E79, 'V'), - (0x1E7A, 'M', u'ṻ'), - (0x1E7B, 'V'), - (0x1E7C, 'M', u'ṽ'), - (0x1E7D, 'V'), - (0x1E7E, 'M', u'ṿ'), - (0x1E7F, 'V'), - (0x1E80, 'M', u'ẁ'), - (0x1E81, 'V'), - (0x1E82, 'M', u'ẃ'), - (0x1E83, 'V'), - (0x1E84, 'M', u'ẅ'), - (0x1E85, 'V'), - (0x1E86, 'M', u'ẇ'), - (0x1E87, 'V'), - (0x1E88, 'M', u'ẉ'), - (0x1E89, 'V'), - (0x1E8A, 'M', u'ẋ'), - (0x1E8B, 'V'), - (0x1E8C, 'M', u'ẍ'), - (0x1E8D, 'V'), - (0x1E8E, 'M', u'ẏ'), - (0x1E8F, 'V'), - (0x1E90, 'M', u'ẑ'), - (0x1E91, 'V'), - (0x1E92, 'M', u'ẓ'), - (0x1E93, 'V'), - (0x1E94, 'M', u'ẕ'), - (0x1E95, 'V'), - (0x1E9A, 'M', u'aʾ'), - (0x1E9B, 'M', u'ṡ'), - (0x1E9C, 'V'), - (0x1E9E, 'M', u'ss'), - (0x1E9F, 'V'), - (0x1EA0, 'M', u'ạ'), - (0x1EA1, 'V'), - (0x1EA2, 'M', u'ả'), - (0x1EA3, 'V'), - (0x1EA4, 'M', u'ấ'), - (0x1EA5, 'V'), - (0x1EA6, 'M', u'ầ'), - (0x1EA7, 'V'), - (0x1EA8, 'M', u'ẩ'), - ] - -def _seg_18(): - return [ - (0x1EA9, 'V'), - (0x1EAA, 'M', u'ẫ'), - (0x1EAB, 'V'), - (0x1EAC, 'M', u'ậ'), - (0x1EAD, 'V'), - (0x1EAE, 'M', u'ắ'), - (0x1EAF, 'V'), - (0x1EB0, 'M', u'ằ'), - (0x1EB1, 'V'), - (0x1EB2, 'M', u'ẳ'), - (0x1EB3, 'V'), - (0x1EB4, 'M', u'ẵ'), - (0x1EB5, 'V'), - (0x1EB6, 'M', u'ặ'), - (0x1EB7, 'V'), - (0x1EB8, 'M', u'ẹ'), - (0x1EB9, 'V'), - (0x1EBA, 'M', u'ẻ'), - (0x1EBB, 'V'), - (0x1EBC, 'M', u'ẽ'), - (0x1EBD, 'V'), - (0x1EBE, 'M', u'ế'), - (0x1EBF, 'V'), - (0x1EC0, 'M', u'ề'), - (0x1EC1, 'V'), - (0x1EC2, 'M', u'ể'), - (0x1EC3, 'V'), - (0x1EC4, 'M', u'ễ'), - (0x1EC5, 'V'), - (0x1EC6, 'M', u'ệ'), - (0x1EC7, 'V'), - (0x1EC8, 'M', u'ỉ'), - (0x1EC9, 'V'), - (0x1ECA, 'M', u'ị'), - (0x1ECB, 'V'), - (0x1ECC, 'M', u'ọ'), - (0x1ECD, 'V'), - (0x1ECE, 'M', u'ỏ'), - (0x1ECF, 'V'), - (0x1ED0, 'M', u'ố'), - (0x1ED1, 'V'), - (0x1ED2, 'M', u'ồ'), - (0x1ED3, 'V'), - (0x1ED4, 'M', u'ổ'), - (0x1ED5, 'V'), - (0x1ED6, 'M', u'ỗ'), - (0x1ED7, 'V'), - (0x1ED8, 'M', u'ộ'), - (0x1ED9, 'V'), - (0x1EDA, 'M', u'ớ'), - (0x1EDB, 'V'), - (0x1EDC, 'M', u'ờ'), - (0x1EDD, 'V'), - (0x1EDE, 'M', u'ở'), - (0x1EDF, 'V'), - (0x1EE0, 'M', u'ỡ'), - (0x1EE1, 'V'), - (0x1EE2, 'M', u'ợ'), - (0x1EE3, 'V'), - (0x1EE4, 'M', u'ụ'), - (0x1EE5, 'V'), - (0x1EE6, 'M', u'ủ'), - (0x1EE7, 'V'), - (0x1EE8, 'M', u'ứ'), - (0x1EE9, 'V'), - (0x1EEA, 'M', u'ừ'), - (0x1EEB, 'V'), - (0x1EEC, 'M', u'ử'), - (0x1EED, 'V'), - (0x1EEE, 'M', u'ữ'), - (0x1EEF, 'V'), - (0x1EF0, 'M', u'ự'), - (0x1EF1, 'V'), - (0x1EF2, 'M', u'ỳ'), - (0x1EF3, 'V'), - (0x1EF4, 'M', u'ỵ'), - (0x1EF5, 'V'), - (0x1EF6, 'M', u'ỷ'), - (0x1EF7, 'V'), - (0x1EF8, 'M', u'ỹ'), - (0x1EF9, 'V'), - (0x1EFA, 'M', u'ỻ'), - (0x1EFB, 'V'), - (0x1EFC, 'M', u'ỽ'), - (0x1EFD, 'V'), - (0x1EFE, 'M', u'ỿ'), - (0x1EFF, 'V'), - (0x1F08, 'M', u'ἀ'), - (0x1F09, 'M', u'ἁ'), - (0x1F0A, 'M', u'ἂ'), - (0x1F0B, 'M', u'ἃ'), - (0x1F0C, 'M', u'ἄ'), - (0x1F0D, 'M', u'ἅ'), - (0x1F0E, 'M', u'ἆ'), - (0x1F0F, 'M', u'ἇ'), - (0x1F10, 'V'), - (0x1F16, 'X'), - (0x1F18, 'M', u'ἐ'), - (0x1F19, 'M', u'ἑ'), - (0x1F1A, 'M', u'ἒ'), - ] - -def _seg_19(): - return [ - (0x1F1B, 'M', u'ἓ'), - (0x1F1C, 'M', u'ἔ'), - (0x1F1D, 'M', u'ἕ'), - (0x1F1E, 'X'), - (0x1F20, 'V'), - (0x1F28, 'M', u'ἠ'), - (0x1F29, 'M', u'ἡ'), - (0x1F2A, 'M', u'ἢ'), - (0x1F2B, 'M', u'ἣ'), - (0x1F2C, 'M', u'ἤ'), - (0x1F2D, 'M', u'ἥ'), - (0x1F2E, 'M', u'ἦ'), - (0x1F2F, 'M', u'ἧ'), - (0x1F30, 'V'), - (0x1F38, 'M', u'ἰ'), - (0x1F39, 'M', u'ἱ'), - (0x1F3A, 'M', u'ἲ'), - (0x1F3B, 'M', u'ἳ'), - (0x1F3C, 'M', u'ἴ'), - (0x1F3D, 'M', u'ἵ'), - (0x1F3E, 'M', u'ἶ'), - (0x1F3F, 'M', u'ἷ'), - (0x1F40, 'V'), - (0x1F46, 'X'), - (0x1F48, 'M', u'ὀ'), - (0x1F49, 'M', u'ὁ'), - (0x1F4A, 'M', u'ὂ'), - (0x1F4B, 'M', u'ὃ'), - (0x1F4C, 'M', u'ὄ'), - (0x1F4D, 'M', u'ὅ'), - (0x1F4E, 'X'), - (0x1F50, 'V'), - (0x1F58, 'X'), - (0x1F59, 'M', u'ὑ'), - (0x1F5A, 'X'), - (0x1F5B, 'M', u'ὓ'), - (0x1F5C, 'X'), - (0x1F5D, 'M', u'ὕ'), - (0x1F5E, 'X'), - (0x1F5F, 'M', u'ὗ'), - (0x1F60, 'V'), - (0x1F68, 'M', u'ὠ'), - (0x1F69, 'M', u'ὡ'), - (0x1F6A, 'M', u'ὢ'), - (0x1F6B, 'M', u'ὣ'), - (0x1F6C, 'M', u'ὤ'), - (0x1F6D, 'M', u'ὥ'), - (0x1F6E, 'M', u'ὦ'), - (0x1F6F, 'M', u'ὧ'), - (0x1F70, 'V'), - (0x1F71, 'M', u'ά'), - (0x1F72, 'V'), - (0x1F73, 'M', u'έ'), - (0x1F74, 'V'), - (0x1F75, 'M', u'ή'), - (0x1F76, 'V'), - (0x1F77, 'M', u'ί'), - (0x1F78, 'V'), - (0x1F79, 'M', u'ό'), - (0x1F7A, 'V'), - (0x1F7B, 'M', u'ύ'), - (0x1F7C, 'V'), - (0x1F7D, 'M', u'ώ'), - (0x1F7E, 'X'), - (0x1F80, 'M', u'ἀι'), - (0x1F81, 'M', u'ἁι'), - (0x1F82, 'M', u'ἂι'), - (0x1F83, 'M', u'ἃι'), - (0x1F84, 'M', u'ἄι'), - (0x1F85, 'M', u'ἅι'), - (0x1F86, 'M', u'ἆι'), - (0x1F87, 'M', u'ἇι'), - (0x1F88, 'M', u'ἀι'), - (0x1F89, 'M', u'ἁι'), - (0x1F8A, 'M', u'ἂι'), - (0x1F8B, 'M', u'ἃι'), - (0x1F8C, 'M', u'ἄι'), - (0x1F8D, 'M', u'ἅι'), - (0x1F8E, 'M', u'ἆι'), - (0x1F8F, 'M', u'ἇι'), - (0x1F90, 'M', u'ἠι'), - (0x1F91, 'M', u'ἡι'), - (0x1F92, 'M', u'ἢι'), - (0x1F93, 'M', u'ἣι'), - (0x1F94, 'M', u'ἤι'), - (0x1F95, 'M', u'ἥι'), - (0x1F96, 'M', u'ἦι'), - (0x1F97, 'M', u'ἧι'), - (0x1F98, 'M', u'ἠι'), - (0x1F99, 'M', u'ἡι'), - (0x1F9A, 'M', u'ἢι'), - (0x1F9B, 'M', u'ἣι'), - (0x1F9C, 'M', u'ἤι'), - (0x1F9D, 'M', u'ἥι'), - (0x1F9E, 'M', u'ἦι'), - (0x1F9F, 'M', u'ἧι'), - (0x1FA0, 'M', u'ὠι'), - (0x1FA1, 'M', u'ὡι'), - (0x1FA2, 'M', u'ὢι'), - (0x1FA3, 'M', u'ὣι'), - ] - -def _seg_20(): - return [ - (0x1FA4, 'M', u'ὤι'), - (0x1FA5, 'M', u'ὥι'), - (0x1FA6, 'M', u'ὦι'), - (0x1FA7, 'M', u'ὧι'), - (0x1FA8, 'M', u'ὠι'), - (0x1FA9, 'M', u'ὡι'), - (0x1FAA, 'M', u'ὢι'), - (0x1FAB, 'M', u'ὣι'), - (0x1FAC, 'M', u'ὤι'), - (0x1FAD, 'M', u'ὥι'), - (0x1FAE, 'M', u'ὦι'), - (0x1FAF, 'M', u'ὧι'), - (0x1FB0, 'V'), - (0x1FB2, 'M', u'ὰι'), - (0x1FB3, 'M', u'αι'), - (0x1FB4, 'M', u'άι'), - (0x1FB5, 'X'), - (0x1FB6, 'V'), - (0x1FB7, 'M', u'ᾶι'), - (0x1FB8, 'M', u'ᾰ'), - (0x1FB9, 'M', u'ᾱ'), - (0x1FBA, 'M', u'ὰ'), - (0x1FBB, 'M', u'ά'), - (0x1FBC, 'M', u'αι'), - (0x1FBD, '3', u' ̓'), - (0x1FBE, 'M', u'ι'), - (0x1FBF, '3', u' ̓'), - (0x1FC0, '3', u' ͂'), - (0x1FC1, '3', u' ̈͂'), - (0x1FC2, 'M', u'ὴι'), - (0x1FC3, 'M', u'ηι'), - (0x1FC4, 'M', u'ήι'), - (0x1FC5, 'X'), - (0x1FC6, 'V'), - (0x1FC7, 'M', u'ῆι'), - (0x1FC8, 'M', u'ὲ'), - (0x1FC9, 'M', u'έ'), - (0x1FCA, 'M', u'ὴ'), - (0x1FCB, 'M', u'ή'), - (0x1FCC, 'M', u'ηι'), - (0x1FCD, '3', u' ̓̀'), - (0x1FCE, '3', u' ̓́'), - (0x1FCF, '3', u' ̓͂'), - (0x1FD0, 'V'), - (0x1FD3, 'M', u'ΐ'), - (0x1FD4, 'X'), - (0x1FD6, 'V'), - (0x1FD8, 'M', u'ῐ'), - (0x1FD9, 'M', u'ῑ'), - (0x1FDA, 'M', u'ὶ'), - (0x1FDB, 'M', u'ί'), - (0x1FDC, 'X'), - (0x1FDD, '3', u' ̔̀'), - (0x1FDE, '3', u' ̔́'), - (0x1FDF, '3', u' ̔͂'), - (0x1FE0, 'V'), - (0x1FE3, 'M', u'ΰ'), - (0x1FE4, 'V'), - (0x1FE8, 'M', u'ῠ'), - (0x1FE9, 'M', u'ῡ'), - (0x1FEA, 'M', u'ὺ'), - (0x1FEB, 'M', u'ύ'), - (0x1FEC, 'M', u'ῥ'), - (0x1FED, '3', u' ̈̀'), - (0x1FEE, '3', u' ̈́'), - (0x1FEF, '3', u'`'), - (0x1FF0, 'X'), - (0x1FF2, 'M', u'ὼι'), - (0x1FF3, 'M', u'ωι'), - (0x1FF4, 'M', u'ώι'), - (0x1FF5, 'X'), - (0x1FF6, 'V'), - (0x1FF7, 'M', u'ῶι'), - (0x1FF8, 'M', u'ὸ'), - (0x1FF9, 'M', u'ό'), - (0x1FFA, 'M', u'ὼ'), - (0x1FFB, 'M', u'ώ'), - (0x1FFC, 'M', u'ωι'), - (0x1FFD, '3', u' ́'), - (0x1FFE, '3', u' ̔'), - (0x1FFF, 'X'), - (0x2000, '3', u' '), - (0x200B, 'I'), - (0x200C, 'D', u''), - (0x200E, 'X'), - (0x2010, 'V'), - (0x2011, 'M', u'‐'), - (0x2012, 'V'), - (0x2017, '3', u' ̳'), - (0x2018, 'V'), - (0x2024, 'X'), - (0x2027, 'V'), - (0x2028, 'X'), - (0x202F, '3', u' '), - (0x2030, 'V'), - (0x2033, 'M', u'′′'), - (0x2034, 'M', u'′′′'), - (0x2035, 'V'), - (0x2036, 'M', u'‵‵'), - (0x2037, 'M', u'‵‵‵'), - ] - -def _seg_21(): - return [ - (0x2038, 'V'), - (0x203C, '3', u'!!'), - (0x203D, 'V'), - (0x203E, '3', u' ̅'), - (0x203F, 'V'), - (0x2047, '3', u'??'), - (0x2048, '3', u'?!'), - (0x2049, '3', u'!?'), - (0x204A, 'V'), - (0x2057, 'M', u'′′′′'), - (0x2058, 'V'), - (0x205F, '3', u' '), - (0x2060, 'I'), - (0x2061, 'X'), - (0x2064, 'I'), - (0x2065, 'X'), - (0x2070, 'M', u'0'), - (0x2071, 'M', u'i'), - (0x2072, 'X'), - (0x2074, 'M', u'4'), - (0x2075, 'M', u'5'), - (0x2076, 'M', u'6'), - (0x2077, 'M', u'7'), - (0x2078, 'M', u'8'), - (0x2079, 'M', u'9'), - (0x207A, '3', u'+'), - (0x207B, 'M', u'−'), - (0x207C, '3', u'='), - (0x207D, '3', u'('), - (0x207E, '3', u')'), - (0x207F, 'M', u'n'), - (0x2080, 'M', u'0'), - (0x2081, 'M', u'1'), - (0x2082, 'M', u'2'), - (0x2083, 'M', u'3'), - (0x2084, 'M', u'4'), - (0x2085, 'M', u'5'), - (0x2086, 'M', u'6'), - (0x2087, 'M', u'7'), - (0x2088, 'M', u'8'), - (0x2089, 'M', u'9'), - (0x208A, '3', u'+'), - (0x208B, 'M', u'−'), - (0x208C, '3', u'='), - (0x208D, '3', u'('), - (0x208E, '3', u')'), - (0x208F, 'X'), - (0x2090, 'M', u'a'), - (0x2091, 'M', u'e'), - (0x2092, 'M', u'o'), - (0x2093, 'M', u'x'), - (0x2094, 'M', u'ə'), - (0x2095, 'M', u'h'), - (0x2096, 'M', u'k'), - (0x2097, 'M', u'l'), - (0x2098, 'M', u'm'), - (0x2099, 'M', u'n'), - (0x209A, 'M', u'p'), - (0x209B, 'M', u's'), - (0x209C, 'M', u't'), - (0x209D, 'X'), - (0x20A0, 'V'), - (0x20A8, 'M', u'rs'), - (0x20A9, 'V'), - (0x20C0, 'X'), - (0x20D0, 'V'), - (0x20F1, 'X'), - (0x2100, '3', u'a/c'), - (0x2101, '3', u'a/s'), - (0x2102, 'M', u'c'), - (0x2103, 'M', u'°c'), - (0x2104, 'V'), - (0x2105, '3', u'c/o'), - (0x2106, '3', u'c/u'), - (0x2107, 'M', u'ɛ'), - (0x2108, 'V'), - (0x2109, 'M', u'°f'), - (0x210A, 'M', u'g'), - (0x210B, 'M', u'h'), - (0x210F, 'M', u'ħ'), - (0x2110, 'M', u'i'), - (0x2112, 'M', u'l'), - (0x2114, 'V'), - (0x2115, 'M', u'n'), - (0x2116, 'M', u'no'), - (0x2117, 'V'), - (0x2119, 'M', u'p'), - (0x211A, 'M', u'q'), - (0x211B, 'M', u'r'), - (0x211E, 'V'), - (0x2120, 'M', u'sm'), - (0x2121, 'M', u'tel'), - (0x2122, 'M', u'tm'), - (0x2123, 'V'), - (0x2124, 'M', u'z'), - (0x2125, 'V'), - (0x2126, 'M', u'ω'), - (0x2127, 'V'), - (0x2128, 'M', u'z'), - (0x2129, 'V'), - ] - -def _seg_22(): - return [ - (0x212A, 'M', u'k'), - (0x212B, 'M', u'å'), - (0x212C, 'M', u'b'), - (0x212D, 'M', u'c'), - (0x212E, 'V'), - (0x212F, 'M', u'e'), - (0x2131, 'M', u'f'), - (0x2132, 'X'), - (0x2133, 'M', u'm'), - (0x2134, 'M', u'o'), - (0x2135, 'M', u'א'), - (0x2136, 'M', u'ב'), - (0x2137, 'M', u'ג'), - (0x2138, 'M', u'ד'), - (0x2139, 'M', u'i'), - (0x213A, 'V'), - (0x213B, 'M', u'fax'), - (0x213C, 'M', u'π'), - (0x213D, 'M', u'γ'), - (0x213F, 'M', u'π'), - (0x2140, 'M', u'∑'), - (0x2141, 'V'), - (0x2145, 'M', u'd'), - (0x2147, 'M', u'e'), - (0x2148, 'M', u'i'), - (0x2149, 'M', u'j'), - (0x214A, 'V'), - (0x2150, 'M', u'1⁄7'), - (0x2151, 'M', u'1⁄9'), - (0x2152, 'M', u'1⁄10'), - (0x2153, 'M', u'1⁄3'), - (0x2154, 'M', u'2⁄3'), - (0x2155, 'M', u'1⁄5'), - (0x2156, 'M', u'2⁄5'), - (0x2157, 'M', u'3⁄5'), - (0x2158, 'M', u'4⁄5'), - (0x2159, 'M', u'1⁄6'), - (0x215A, 'M', u'5⁄6'), - (0x215B, 'M', u'1⁄8'), - (0x215C, 'M', u'3⁄8'), - (0x215D, 'M', u'5⁄8'), - (0x215E, 'M', u'7⁄8'), - (0x215F, 'M', u'1⁄'), - (0x2160, 'M', u'i'), - (0x2161, 'M', u'ii'), - (0x2162, 'M', u'iii'), - (0x2163, 'M', u'iv'), - (0x2164, 'M', u'v'), - (0x2165, 'M', u'vi'), - (0x2166, 'M', u'vii'), - (0x2167, 'M', u'viii'), - (0x2168, 'M', u'ix'), - (0x2169, 'M', u'x'), - (0x216A, 'M', u'xi'), - (0x216B, 'M', u'xii'), - (0x216C, 'M', u'l'), - (0x216D, 'M', u'c'), - (0x216E, 'M', u'd'), - (0x216F, 'M', u'm'), - (0x2170, 'M', u'i'), - (0x2171, 'M', u'ii'), - (0x2172, 'M', u'iii'), - (0x2173, 'M', u'iv'), - (0x2174, 'M', u'v'), - (0x2175, 'M', u'vi'), - (0x2176, 'M', u'vii'), - (0x2177, 'M', u'viii'), - (0x2178, 'M', u'ix'), - (0x2179, 'M', u'x'), - (0x217A, 'M', u'xi'), - (0x217B, 'M', u'xii'), - (0x217C, 'M', u'l'), - (0x217D, 'M', u'c'), - (0x217E, 'M', u'd'), - (0x217F, 'M', u'm'), - (0x2180, 'V'), - (0x2183, 'X'), - (0x2184, 'V'), - (0x2189, 'M', u'0⁄3'), - (0x218A, 'V'), - (0x218C, 'X'), - (0x2190, 'V'), - (0x222C, 'M', u'∫∫'), - (0x222D, 'M', u'∫∫∫'), - (0x222E, 'V'), - (0x222F, 'M', u'∮∮'), - (0x2230, 'M', u'∮∮∮'), - (0x2231, 'V'), - (0x2260, '3'), - (0x2261, 'V'), - (0x226E, '3'), - (0x2270, 'V'), - (0x2329, 'M', u'〈'), - (0x232A, 'M', u'〉'), - (0x232B, 'V'), - (0x2427, 'X'), - (0x2440, 'V'), - (0x244B, 'X'), - (0x2460, 'M', u'1'), - (0x2461, 'M', u'2'), - ] - -def _seg_23(): - return [ - (0x2462, 'M', u'3'), - (0x2463, 'M', u'4'), - (0x2464, 'M', u'5'), - (0x2465, 'M', u'6'), - (0x2466, 'M', u'7'), - (0x2467, 'M', u'8'), - (0x2468, 'M', u'9'), - (0x2469, 'M', u'10'), - (0x246A, 'M', u'11'), - (0x246B, 'M', u'12'), - (0x246C, 'M', u'13'), - (0x246D, 'M', u'14'), - (0x246E, 'M', u'15'), - (0x246F, 'M', u'16'), - (0x2470, 'M', u'17'), - (0x2471, 'M', u'18'), - (0x2472, 'M', u'19'), - (0x2473, 'M', u'20'), - (0x2474, '3', u'(1)'), - (0x2475, '3', u'(2)'), - (0x2476, '3', u'(3)'), - (0x2477, '3', u'(4)'), - (0x2478, '3', u'(5)'), - (0x2479, '3', u'(6)'), - (0x247A, '3', u'(7)'), - (0x247B, '3', u'(8)'), - (0x247C, '3', u'(9)'), - (0x247D, '3', u'(10)'), - (0x247E, '3', u'(11)'), - (0x247F, '3', u'(12)'), - (0x2480, '3', u'(13)'), - (0x2481, '3', u'(14)'), - (0x2482, '3', u'(15)'), - (0x2483, '3', u'(16)'), - (0x2484, '3', u'(17)'), - (0x2485, '3', u'(18)'), - (0x2486, '3', u'(19)'), - (0x2487, '3', u'(20)'), - (0x2488, 'X'), - (0x249C, '3', u'(a)'), - (0x249D, '3', u'(b)'), - (0x249E, '3', u'(c)'), - (0x249F, '3', u'(d)'), - (0x24A0, '3', u'(e)'), - (0x24A1, '3', u'(f)'), - (0x24A2, '3', u'(g)'), - (0x24A3, '3', u'(h)'), - (0x24A4, '3', u'(i)'), - (0x24A5, '3', u'(j)'), - (0x24A6, '3', u'(k)'), - (0x24A7, '3', u'(l)'), - (0x24A8, '3', u'(m)'), - (0x24A9, '3', u'(n)'), - (0x24AA, '3', u'(o)'), - (0x24AB, '3', u'(p)'), - (0x24AC, '3', u'(q)'), - (0x24AD, '3', u'(r)'), - (0x24AE, '3', u'(s)'), - (0x24AF, '3', u'(t)'), - (0x24B0, '3', u'(u)'), - (0x24B1, '3', u'(v)'), - (0x24B2, '3', u'(w)'), - (0x24B3, '3', u'(x)'), - (0x24B4, '3', u'(y)'), - (0x24B5, '3', u'(z)'), - (0x24B6, 'M', u'a'), - (0x24B7, 'M', u'b'), - (0x24B8, 'M', u'c'), - (0x24B9, 'M', u'd'), - (0x24BA, 'M', u'e'), - (0x24BB, 'M', u'f'), - (0x24BC, 'M', u'g'), - (0x24BD, 'M', u'h'), - (0x24BE, 'M', u'i'), - (0x24BF, 'M', u'j'), - (0x24C0, 'M', u'k'), - (0x24C1, 'M', u'l'), - (0x24C2, 'M', u'm'), - (0x24C3, 'M', u'n'), - (0x24C4, 'M', u'o'), - (0x24C5, 'M', u'p'), - (0x24C6, 'M', u'q'), - (0x24C7, 'M', u'r'), - (0x24C8, 'M', u's'), - (0x24C9, 'M', u't'), - (0x24CA, 'M', u'u'), - (0x24CB, 'M', u'v'), - (0x24CC, 'M', u'w'), - (0x24CD, 'M', u'x'), - (0x24CE, 'M', u'y'), - (0x24CF, 'M', u'z'), - (0x24D0, 'M', u'a'), - (0x24D1, 'M', u'b'), - (0x24D2, 'M', u'c'), - (0x24D3, 'M', u'd'), - (0x24D4, 'M', u'e'), - (0x24D5, 'M', u'f'), - (0x24D6, 'M', u'g'), - (0x24D7, 'M', u'h'), - (0x24D8, 'M', u'i'), - ] - -def _seg_24(): - return [ - (0x24D9, 'M', u'j'), - (0x24DA, 'M', u'k'), - (0x24DB, 'M', u'l'), - (0x24DC, 'M', u'm'), - (0x24DD, 'M', u'n'), - (0x24DE, 'M', u'o'), - (0x24DF, 'M', u'p'), - (0x24E0, 'M', u'q'), - (0x24E1, 'M', u'r'), - (0x24E2, 'M', u's'), - (0x24E3, 'M', u't'), - (0x24E4, 'M', u'u'), - (0x24E5, 'M', u'v'), - (0x24E6, 'M', u'w'), - (0x24E7, 'M', u'x'), - (0x24E8, 'M', u'y'), - (0x24E9, 'M', u'z'), - (0x24EA, 'M', u'0'), - (0x24EB, 'V'), - (0x2A0C, 'M', u'∫∫∫∫'), - (0x2A0D, 'V'), - (0x2A74, '3', u'::='), - (0x2A75, '3', u'=='), - (0x2A76, '3', u'==='), - (0x2A77, 'V'), - (0x2ADC, 'M', u'⫝̸'), - (0x2ADD, 'V'), - (0x2B74, 'X'), - (0x2B76, 'V'), - (0x2B96, 'X'), - (0x2B98, 'V'), - (0x2BC9, 'X'), - (0x2BCA, 'V'), - (0x2BFF, 'X'), - (0x2C00, 'M', u'ⰰ'), - (0x2C01, 'M', u'ⰱ'), - (0x2C02, 'M', u'ⰲ'), - (0x2C03, 'M', u'ⰳ'), - (0x2C04, 'M', u'ⰴ'), - (0x2C05, 'M', u'ⰵ'), - (0x2C06, 'M', u'ⰶ'), - (0x2C07, 'M', u'ⰷ'), - (0x2C08, 'M', u'ⰸ'), - (0x2C09, 'M', u'ⰹ'), - (0x2C0A, 'M', u'ⰺ'), - (0x2C0B, 'M', u'ⰻ'), - (0x2C0C, 'M', u'ⰼ'), - (0x2C0D, 'M', u'ⰽ'), - (0x2C0E, 'M', u'ⰾ'), - (0x2C0F, 'M', u'ⰿ'), - (0x2C10, 'M', u'ⱀ'), - (0x2C11, 'M', u'ⱁ'), - (0x2C12, 'M', u'ⱂ'), - (0x2C13, 'M', u'ⱃ'), - (0x2C14, 'M', u'ⱄ'), - (0x2C15, 'M', u'ⱅ'), - (0x2C16, 'M', u'ⱆ'), - (0x2C17, 'M', u'ⱇ'), - (0x2C18, 'M', u'ⱈ'), - (0x2C19, 'M', u'ⱉ'), - (0x2C1A, 'M', u'ⱊ'), - (0x2C1B, 'M', u'ⱋ'), - (0x2C1C, 'M', u'ⱌ'), - (0x2C1D, 'M', u'ⱍ'), - (0x2C1E, 'M', u'ⱎ'), - (0x2C1F, 'M', u'ⱏ'), - (0x2C20, 'M', u'ⱐ'), - (0x2C21, 'M', u'ⱑ'), - (0x2C22, 'M', u'ⱒ'), - (0x2C23, 'M', u'ⱓ'), - (0x2C24, 'M', u'ⱔ'), - (0x2C25, 'M', u'ⱕ'), - (0x2C26, 'M', u'ⱖ'), - (0x2C27, 'M', u'ⱗ'), - (0x2C28, 'M', u'ⱘ'), - (0x2C29, 'M', u'ⱙ'), - (0x2C2A, 'M', u'ⱚ'), - (0x2C2B, 'M', u'ⱛ'), - (0x2C2C, 'M', u'ⱜ'), - (0x2C2D, 'M', u'ⱝ'), - (0x2C2E, 'M', u'ⱞ'), - (0x2C2F, 'X'), - (0x2C30, 'V'), - (0x2C5F, 'X'), - (0x2C60, 'M', u'ⱡ'), - (0x2C61, 'V'), - (0x2C62, 'M', u'ɫ'), - (0x2C63, 'M', u'ᵽ'), - (0x2C64, 'M', u'ɽ'), - (0x2C65, 'V'), - (0x2C67, 'M', u'ⱨ'), - (0x2C68, 'V'), - (0x2C69, 'M', u'ⱪ'), - (0x2C6A, 'V'), - (0x2C6B, 'M', u'ⱬ'), - (0x2C6C, 'V'), - (0x2C6D, 'M', u'ɑ'), - (0x2C6E, 'M', u'ɱ'), - (0x2C6F, 'M', u'ɐ'), - (0x2C70, 'M', u'ɒ'), - ] - -def _seg_25(): - return [ - (0x2C71, 'V'), - (0x2C72, 'M', u'ⱳ'), - (0x2C73, 'V'), - (0x2C75, 'M', u'ⱶ'), - (0x2C76, 'V'), - (0x2C7C, 'M', u'j'), - (0x2C7D, 'M', u'v'), - (0x2C7E, 'M', u'ȿ'), - (0x2C7F, 'M', u'ɀ'), - (0x2C80, 'M', u'ⲁ'), - (0x2C81, 'V'), - (0x2C82, 'M', u'ⲃ'), - (0x2C83, 'V'), - (0x2C84, 'M', u'ⲅ'), - (0x2C85, 'V'), - (0x2C86, 'M', u'ⲇ'), - (0x2C87, 'V'), - (0x2C88, 'M', u'ⲉ'), - (0x2C89, 'V'), - (0x2C8A, 'M', u'ⲋ'), - (0x2C8B, 'V'), - (0x2C8C, 'M', u'ⲍ'), - (0x2C8D, 'V'), - (0x2C8E, 'M', u'ⲏ'), - (0x2C8F, 'V'), - (0x2C90, 'M', u'ⲑ'), - (0x2C91, 'V'), - (0x2C92, 'M', u'ⲓ'), - (0x2C93, 'V'), - (0x2C94, 'M', u'ⲕ'), - (0x2C95, 'V'), - (0x2C96, 'M', u'ⲗ'), - (0x2C97, 'V'), - (0x2C98, 'M', u'ⲙ'), - (0x2C99, 'V'), - (0x2C9A, 'M', u'ⲛ'), - (0x2C9B, 'V'), - (0x2C9C, 'M', u'ⲝ'), - (0x2C9D, 'V'), - (0x2C9E, 'M', u'ⲟ'), - (0x2C9F, 'V'), - (0x2CA0, 'M', u'ⲡ'), - (0x2CA1, 'V'), - (0x2CA2, 'M', u'ⲣ'), - (0x2CA3, 'V'), - (0x2CA4, 'M', u'ⲥ'), - (0x2CA5, 'V'), - (0x2CA6, 'M', u'ⲧ'), - (0x2CA7, 'V'), - (0x2CA8, 'M', u'ⲩ'), - (0x2CA9, 'V'), - (0x2CAA, 'M', u'ⲫ'), - (0x2CAB, 'V'), - (0x2CAC, 'M', u'ⲭ'), - (0x2CAD, 'V'), - (0x2CAE, 'M', u'ⲯ'), - (0x2CAF, 'V'), - (0x2CB0, 'M', u'ⲱ'), - (0x2CB1, 'V'), - (0x2CB2, 'M', u'ⲳ'), - (0x2CB3, 'V'), - (0x2CB4, 'M', u'ⲵ'), - (0x2CB5, 'V'), - (0x2CB6, 'M', u'ⲷ'), - (0x2CB7, 'V'), - (0x2CB8, 'M', u'ⲹ'), - (0x2CB9, 'V'), - (0x2CBA, 'M', u'ⲻ'), - (0x2CBB, 'V'), - (0x2CBC, 'M', u'ⲽ'), - (0x2CBD, 'V'), - (0x2CBE, 'M', u'ⲿ'), - (0x2CBF, 'V'), - (0x2CC0, 'M', u'ⳁ'), - (0x2CC1, 'V'), - (0x2CC2, 'M', u'ⳃ'), - (0x2CC3, 'V'), - (0x2CC4, 'M', u'ⳅ'), - (0x2CC5, 'V'), - (0x2CC6, 'M', u'ⳇ'), - (0x2CC7, 'V'), - (0x2CC8, 'M', u'ⳉ'), - (0x2CC9, 'V'), - (0x2CCA, 'M', u'ⳋ'), - (0x2CCB, 'V'), - (0x2CCC, 'M', u'ⳍ'), - (0x2CCD, 'V'), - (0x2CCE, 'M', u'ⳏ'), - (0x2CCF, 'V'), - (0x2CD0, 'M', u'ⳑ'), - (0x2CD1, 'V'), - (0x2CD2, 'M', u'ⳓ'), - (0x2CD3, 'V'), - (0x2CD4, 'M', u'ⳕ'), - (0x2CD5, 'V'), - (0x2CD6, 'M', u'ⳗ'), - (0x2CD7, 'V'), - (0x2CD8, 'M', u'ⳙ'), - (0x2CD9, 'V'), - (0x2CDA, 'M', u'ⳛ'), - ] - -def _seg_26(): - return [ - (0x2CDB, 'V'), - (0x2CDC, 'M', u'ⳝ'), - (0x2CDD, 'V'), - (0x2CDE, 'M', u'ⳟ'), - (0x2CDF, 'V'), - (0x2CE0, 'M', u'ⳡ'), - (0x2CE1, 'V'), - (0x2CE2, 'M', u'ⳣ'), - (0x2CE3, 'V'), - (0x2CEB, 'M', u'ⳬ'), - (0x2CEC, 'V'), - (0x2CED, 'M', u'ⳮ'), - (0x2CEE, 'V'), - (0x2CF2, 'M', u'ⳳ'), - (0x2CF3, 'V'), - (0x2CF4, 'X'), - (0x2CF9, 'V'), - (0x2D26, 'X'), - (0x2D27, 'V'), - (0x2D28, 'X'), - (0x2D2D, 'V'), - (0x2D2E, 'X'), - (0x2D30, 'V'), - (0x2D68, 'X'), - (0x2D6F, 'M', u'ⵡ'), - (0x2D70, 'V'), - (0x2D71, 'X'), - (0x2D7F, 'V'), - (0x2D97, 'X'), - (0x2DA0, 'V'), - (0x2DA7, 'X'), - (0x2DA8, 'V'), - (0x2DAF, 'X'), - (0x2DB0, 'V'), - (0x2DB7, 'X'), - (0x2DB8, 'V'), - (0x2DBF, 'X'), - (0x2DC0, 'V'), - (0x2DC7, 'X'), - (0x2DC8, 'V'), - (0x2DCF, 'X'), - (0x2DD0, 'V'), - (0x2DD7, 'X'), - (0x2DD8, 'V'), - (0x2DDF, 'X'), - (0x2DE0, 'V'), - (0x2E4F, 'X'), - (0x2E80, 'V'), - (0x2E9A, 'X'), - (0x2E9B, 'V'), - (0x2E9F, 'M', u'母'), - (0x2EA0, 'V'), - (0x2EF3, 'M', u'龟'), - (0x2EF4, 'X'), - (0x2F00, 'M', u'一'), - (0x2F01, 'M', u'丨'), - (0x2F02, 'M', u'丶'), - (0x2F03, 'M', u'丿'), - (0x2F04, 'M', u'乙'), - (0x2F05, 'M', u'亅'), - (0x2F06, 'M', u'二'), - (0x2F07, 'M', u'亠'), - (0x2F08, 'M', u'人'), - (0x2F09, 'M', u'儿'), - (0x2F0A, 'M', u'入'), - (0x2F0B, 'M', u'八'), - (0x2F0C, 'M', u'冂'), - (0x2F0D, 'M', u'冖'), - (0x2F0E, 'M', u'冫'), - (0x2F0F, 'M', u'几'), - (0x2F10, 'M', u'凵'), - (0x2F11, 'M', u'刀'), - (0x2F12, 'M', u'力'), - (0x2F13, 'M', u'勹'), - (0x2F14, 'M', u'匕'), - (0x2F15, 'M', u'匚'), - (0x2F16, 'M', u'匸'), - (0x2F17, 'M', u'十'), - (0x2F18, 'M', u'卜'), - (0x2F19, 'M', u'卩'), - (0x2F1A, 'M', u'厂'), - (0x2F1B, 'M', u'厶'), - (0x2F1C, 'M', u'又'), - (0x2F1D, 'M', u'口'), - (0x2F1E, 'M', u'囗'), - (0x2F1F, 'M', u'土'), - (0x2F20, 'M', u'士'), - (0x2F21, 'M', u'夂'), - (0x2F22, 'M', u'夊'), - (0x2F23, 'M', u'夕'), - (0x2F24, 'M', u'大'), - (0x2F25, 'M', u'女'), - (0x2F26, 'M', u'子'), - (0x2F27, 'M', u'宀'), - (0x2F28, 'M', u'寸'), - (0x2F29, 'M', u'小'), - (0x2F2A, 'M', u'尢'), - (0x2F2B, 'M', u'尸'), - (0x2F2C, 'M', u'屮'), - (0x2F2D, 'M', u'山'), - ] - -def _seg_27(): - return [ - (0x2F2E, 'M', u'巛'), - (0x2F2F, 'M', u'工'), - (0x2F30, 'M', u'己'), - (0x2F31, 'M', u'巾'), - (0x2F32, 'M', u'干'), - (0x2F33, 'M', u'幺'), - (0x2F34, 'M', u'广'), - (0x2F35, 'M', u'廴'), - (0x2F36, 'M', u'廾'), - (0x2F37, 'M', u'弋'), - (0x2F38, 'M', u'弓'), - (0x2F39, 'M', u'彐'), - (0x2F3A, 'M', u'彡'), - (0x2F3B, 'M', u'彳'), - (0x2F3C, 'M', u'心'), - (0x2F3D, 'M', u'戈'), - (0x2F3E, 'M', u'戶'), - (0x2F3F, 'M', u'手'), - (0x2F40, 'M', u'支'), - (0x2F41, 'M', u'攴'), - (0x2F42, 'M', u'文'), - (0x2F43, 'M', u'斗'), - (0x2F44, 'M', u'斤'), - (0x2F45, 'M', u'方'), - (0x2F46, 'M', u'无'), - (0x2F47, 'M', u'日'), - (0x2F48, 'M', u'曰'), - (0x2F49, 'M', u'月'), - (0x2F4A, 'M', u'木'), - (0x2F4B, 'M', u'欠'), - (0x2F4C, 'M', u'止'), - (0x2F4D, 'M', u'歹'), - (0x2F4E, 'M', u'殳'), - (0x2F4F, 'M', u'毋'), - (0x2F50, 'M', u'比'), - (0x2F51, 'M', u'毛'), - (0x2F52, 'M', u'氏'), - (0x2F53, 'M', u'气'), - (0x2F54, 'M', u'水'), - (0x2F55, 'M', u'火'), - (0x2F56, 'M', u'爪'), - (0x2F57, 'M', u'父'), - (0x2F58, 'M', u'爻'), - (0x2F59, 'M', u'爿'), - (0x2F5A, 'M', u'片'), - (0x2F5B, 'M', u'牙'), - (0x2F5C, 'M', u'牛'), - (0x2F5D, 'M', u'犬'), - (0x2F5E, 'M', u'玄'), - (0x2F5F, 'M', u'玉'), - (0x2F60, 'M', u'瓜'), - (0x2F61, 'M', u'瓦'), - (0x2F62, 'M', u'甘'), - (0x2F63, 'M', u'生'), - (0x2F64, 'M', u'用'), - (0x2F65, 'M', u'田'), - (0x2F66, 'M', u'疋'), - (0x2F67, 'M', u'疒'), - (0x2F68, 'M', u'癶'), - (0x2F69, 'M', u'白'), - (0x2F6A, 'M', u'皮'), - (0x2F6B, 'M', u'皿'), - (0x2F6C, 'M', u'目'), - (0x2F6D, 'M', u'矛'), - (0x2F6E, 'M', u'矢'), - (0x2F6F, 'M', u'石'), - (0x2F70, 'M', u'示'), - (0x2F71, 'M', u'禸'), - (0x2F72, 'M', u'禾'), - (0x2F73, 'M', u'穴'), - (0x2F74, 'M', u'立'), - (0x2F75, 'M', u'竹'), - (0x2F76, 'M', u'米'), - (0x2F77, 'M', u'糸'), - (0x2F78, 'M', u'缶'), - (0x2F79, 'M', u'网'), - (0x2F7A, 'M', u'羊'), - (0x2F7B, 'M', u'羽'), - (0x2F7C, 'M', u'老'), - (0x2F7D, 'M', u'而'), - (0x2F7E, 'M', u'耒'), - (0x2F7F, 'M', u'耳'), - (0x2F80, 'M', u'聿'), - (0x2F81, 'M', u'肉'), - (0x2F82, 'M', u'臣'), - (0x2F83, 'M', u'自'), - (0x2F84, 'M', u'至'), - (0x2F85, 'M', u'臼'), - (0x2F86, 'M', u'舌'), - (0x2F87, 'M', u'舛'), - (0x2F88, 'M', u'舟'), - (0x2F89, 'M', u'艮'), - (0x2F8A, 'M', u'色'), - (0x2F8B, 'M', u'艸'), - (0x2F8C, 'M', u'虍'), - (0x2F8D, 'M', u'虫'), - (0x2F8E, 'M', u'血'), - (0x2F8F, 'M', u'行'), - (0x2F90, 'M', u'衣'), - (0x2F91, 'M', u'襾'), - ] - -def _seg_28(): - return [ - (0x2F92, 'M', u'見'), - (0x2F93, 'M', u'角'), - (0x2F94, 'M', u'言'), - (0x2F95, 'M', u'谷'), - (0x2F96, 'M', u'豆'), - (0x2F97, 'M', u'豕'), - (0x2F98, 'M', u'豸'), - (0x2F99, 'M', u'貝'), - (0x2F9A, 'M', u'赤'), - (0x2F9B, 'M', u'走'), - (0x2F9C, 'M', u'足'), - (0x2F9D, 'M', u'身'), - (0x2F9E, 'M', u'車'), - (0x2F9F, 'M', u'辛'), - (0x2FA0, 'M', u'辰'), - (0x2FA1, 'M', u'辵'), - (0x2FA2, 'M', u'邑'), - (0x2FA3, 'M', u'酉'), - (0x2FA4, 'M', u'釆'), - (0x2FA5, 'M', u'里'), - (0x2FA6, 'M', u'金'), - (0x2FA7, 'M', u'長'), - (0x2FA8, 'M', u'門'), - (0x2FA9, 'M', u'阜'), - (0x2FAA, 'M', u'隶'), - (0x2FAB, 'M', u'隹'), - (0x2FAC, 'M', u'雨'), - (0x2FAD, 'M', u'靑'), - (0x2FAE, 'M', u'非'), - (0x2FAF, 'M', u'面'), - (0x2FB0, 'M', u'革'), - (0x2FB1, 'M', u'韋'), - (0x2FB2, 'M', u'韭'), - (0x2FB3, 'M', u'音'), - (0x2FB4, 'M', u'頁'), - (0x2FB5, 'M', u'風'), - (0x2FB6, 'M', u'飛'), - (0x2FB7, 'M', u'食'), - (0x2FB8, 'M', u'首'), - (0x2FB9, 'M', u'香'), - (0x2FBA, 'M', u'馬'), - (0x2FBB, 'M', u'骨'), - (0x2FBC, 'M', u'高'), - (0x2FBD, 'M', u'髟'), - (0x2FBE, 'M', u'鬥'), - (0x2FBF, 'M', u'鬯'), - (0x2FC0, 'M', u'鬲'), - (0x2FC1, 'M', u'鬼'), - (0x2FC2, 'M', u'魚'), - (0x2FC3, 'M', u'鳥'), - (0x2FC4, 'M', u'鹵'), - (0x2FC5, 'M', u'鹿'), - (0x2FC6, 'M', u'麥'), - (0x2FC7, 'M', u'麻'), - (0x2FC8, 'M', u'黃'), - (0x2FC9, 'M', u'黍'), - (0x2FCA, 'M', u'黑'), - (0x2FCB, 'M', u'黹'), - (0x2FCC, 'M', u'黽'), - (0x2FCD, 'M', u'鼎'), - (0x2FCE, 'M', u'鼓'), - (0x2FCF, 'M', u'鼠'), - (0x2FD0, 'M', u'鼻'), - (0x2FD1, 'M', u'齊'), - (0x2FD2, 'M', u'齒'), - (0x2FD3, 'M', u'龍'), - (0x2FD4, 'M', u'龜'), - (0x2FD5, 'M', u'龠'), - (0x2FD6, 'X'), - (0x3000, '3', u' '), - (0x3001, 'V'), - (0x3002, 'M', u'.'), - (0x3003, 'V'), - (0x3036, 'M', u'〒'), - (0x3037, 'V'), - (0x3038, 'M', u'十'), - (0x3039, 'M', u'卄'), - (0x303A, 'M', u'卅'), - (0x303B, 'V'), - (0x3040, 'X'), - (0x3041, 'V'), - (0x3097, 'X'), - (0x3099, 'V'), - (0x309B, '3', u' ゙'), - (0x309C, '3', u' ゚'), - (0x309D, 'V'), - (0x309F, 'M', u'より'), - (0x30A0, 'V'), - (0x30FF, 'M', u'コト'), - (0x3100, 'X'), - (0x3105, 'V'), - (0x3130, 'X'), - (0x3131, 'M', u'ᄀ'), - (0x3132, 'M', u'ᄁ'), - (0x3133, 'M', u'ᆪ'), - (0x3134, 'M', u'ᄂ'), - (0x3135, 'M', u'ᆬ'), - (0x3136, 'M', u'ᆭ'), - (0x3137, 'M', u'ᄃ'), - (0x3138, 'M', u'ᄄ'), - ] - -def _seg_29(): - return [ - (0x3139, 'M', u'ᄅ'), - (0x313A, 'M', u'ᆰ'), - (0x313B, 'M', u'ᆱ'), - (0x313C, 'M', u'ᆲ'), - (0x313D, 'M', u'ᆳ'), - (0x313E, 'M', u'ᆴ'), - (0x313F, 'M', u'ᆵ'), - (0x3140, 'M', u'ᄚ'), - (0x3141, 'M', u'ᄆ'), - (0x3142, 'M', u'ᄇ'), - (0x3143, 'M', u'ᄈ'), - (0x3144, 'M', u'ᄡ'), - (0x3145, 'M', u'ᄉ'), - (0x3146, 'M', u'ᄊ'), - (0x3147, 'M', u'ᄋ'), - (0x3148, 'M', u'ᄌ'), - (0x3149, 'M', u'ᄍ'), - (0x314A, 'M', u'ᄎ'), - (0x314B, 'M', u'ᄏ'), - (0x314C, 'M', u'ᄐ'), - (0x314D, 'M', u'ᄑ'), - (0x314E, 'M', u'ᄒ'), - (0x314F, 'M', u'ᅡ'), - (0x3150, 'M', u'ᅢ'), - (0x3151, 'M', u'ᅣ'), - (0x3152, 'M', u'ᅤ'), - (0x3153, 'M', u'ᅥ'), - (0x3154, 'M', u'ᅦ'), - (0x3155, 'M', u'ᅧ'), - (0x3156, 'M', u'ᅨ'), - (0x3157, 'M', u'ᅩ'), - (0x3158, 'M', u'ᅪ'), - (0x3159, 'M', u'ᅫ'), - (0x315A, 'M', u'ᅬ'), - (0x315B, 'M', u'ᅭ'), - (0x315C, 'M', u'ᅮ'), - (0x315D, 'M', u'ᅯ'), - (0x315E, 'M', u'ᅰ'), - (0x315F, 'M', u'ᅱ'), - (0x3160, 'M', u'ᅲ'), - (0x3161, 'M', u'ᅳ'), - (0x3162, 'M', u'ᅴ'), - (0x3163, 'M', u'ᅵ'), - (0x3164, 'X'), - (0x3165, 'M', u'ᄔ'), - (0x3166, 'M', u'ᄕ'), - (0x3167, 'M', u'ᇇ'), - (0x3168, 'M', u'ᇈ'), - (0x3169, 'M', u'ᇌ'), - (0x316A, 'M', u'ᇎ'), - (0x316B, 'M', u'ᇓ'), - (0x316C, 'M', u'ᇗ'), - (0x316D, 'M', u'ᇙ'), - (0x316E, 'M', u'ᄜ'), - (0x316F, 'M', u'ᇝ'), - (0x3170, 'M', u'ᇟ'), - (0x3171, 'M', u'ᄝ'), - (0x3172, 'M', u'ᄞ'), - (0x3173, 'M', u'ᄠ'), - (0x3174, 'M', u'ᄢ'), - (0x3175, 'M', u'ᄣ'), - (0x3176, 'M', u'ᄧ'), - (0x3177, 'M', u'ᄩ'), - (0x3178, 'M', u'ᄫ'), - (0x3179, 'M', u'ᄬ'), - (0x317A, 'M', u'ᄭ'), - (0x317B, 'M', u'ᄮ'), - (0x317C, 'M', u'ᄯ'), - (0x317D, 'M', u'ᄲ'), - (0x317E, 'M', u'ᄶ'), - (0x317F, 'M', u'ᅀ'), - (0x3180, 'M', u'ᅇ'), - (0x3181, 'M', u'ᅌ'), - (0x3182, 'M', u'ᇱ'), - (0x3183, 'M', u'ᇲ'), - (0x3184, 'M', u'ᅗ'), - (0x3185, 'M', u'ᅘ'), - (0x3186, 'M', u'ᅙ'), - (0x3187, 'M', u'ᆄ'), - (0x3188, 'M', u'ᆅ'), - (0x3189, 'M', u'ᆈ'), - (0x318A, 'M', u'ᆑ'), - (0x318B, 'M', u'ᆒ'), - (0x318C, 'M', u'ᆔ'), - (0x318D, 'M', u'ᆞ'), - (0x318E, 'M', u'ᆡ'), - (0x318F, 'X'), - (0x3190, 'V'), - (0x3192, 'M', u'一'), - (0x3193, 'M', u'二'), - (0x3194, 'M', u'三'), - (0x3195, 'M', u'四'), - (0x3196, 'M', u'上'), - (0x3197, 'M', u'中'), - (0x3198, 'M', u'下'), - (0x3199, 'M', u'甲'), - (0x319A, 'M', u'乙'), - (0x319B, 'M', u'丙'), - (0x319C, 'M', u'丁'), - (0x319D, 'M', u'天'), - ] - -def _seg_30(): - return [ - (0x319E, 'M', u'地'), - (0x319F, 'M', u'人'), - (0x31A0, 'V'), - (0x31BB, 'X'), - (0x31C0, 'V'), - (0x31E4, 'X'), - (0x31F0, 'V'), - (0x3200, '3', u'(ᄀ)'), - (0x3201, '3', u'(ᄂ)'), - (0x3202, '3', u'(ᄃ)'), - (0x3203, '3', u'(ᄅ)'), - (0x3204, '3', u'(ᄆ)'), - (0x3205, '3', u'(ᄇ)'), - (0x3206, '3', u'(ᄉ)'), - (0x3207, '3', u'(ᄋ)'), - (0x3208, '3', u'(ᄌ)'), - (0x3209, '3', u'(ᄎ)'), - (0x320A, '3', u'(ᄏ)'), - (0x320B, '3', u'(ᄐ)'), - (0x320C, '3', u'(ᄑ)'), - (0x320D, '3', u'(ᄒ)'), - (0x320E, '3', u'(가)'), - (0x320F, '3', u'(나)'), - (0x3210, '3', u'(다)'), - (0x3211, '3', u'(라)'), - (0x3212, '3', u'(마)'), - (0x3213, '3', u'(바)'), - (0x3214, '3', u'(사)'), - (0x3215, '3', u'(아)'), - (0x3216, '3', u'(자)'), - (0x3217, '3', u'(차)'), - (0x3218, '3', u'(카)'), - (0x3219, '3', u'(타)'), - (0x321A, '3', u'(파)'), - (0x321B, '3', u'(하)'), - (0x321C, '3', u'(주)'), - (0x321D, '3', u'(오전)'), - (0x321E, '3', u'(오후)'), - (0x321F, 'X'), - (0x3220, '3', u'(一)'), - (0x3221, '3', u'(二)'), - (0x3222, '3', u'(三)'), - (0x3223, '3', u'(四)'), - (0x3224, '3', u'(五)'), - (0x3225, '3', u'(六)'), - (0x3226, '3', u'(七)'), - (0x3227, '3', u'(八)'), - (0x3228, '3', u'(九)'), - (0x3229, '3', u'(十)'), - (0x322A, '3', u'(月)'), - (0x322B, '3', u'(火)'), - (0x322C, '3', u'(水)'), - (0x322D, '3', u'(木)'), - (0x322E, '3', u'(金)'), - (0x322F, '3', u'(土)'), - (0x3230, '3', u'(日)'), - (0x3231, '3', u'(株)'), - (0x3232, '3', u'(有)'), - (0x3233, '3', u'(社)'), - (0x3234, '3', u'(名)'), - (0x3235, '3', u'(特)'), - (0x3236, '3', u'(財)'), - (0x3237, '3', u'(祝)'), - (0x3238, '3', u'(労)'), - (0x3239, '3', u'(代)'), - (0x323A, '3', u'(呼)'), - (0x323B, '3', u'(学)'), - (0x323C, '3', u'(監)'), - (0x323D, '3', u'(企)'), - (0x323E, '3', u'(資)'), - (0x323F, '3', u'(協)'), - (0x3240, '3', u'(祭)'), - (0x3241, '3', u'(休)'), - (0x3242, '3', u'(自)'), - (0x3243, '3', u'(至)'), - (0x3244, 'M', u'問'), - (0x3245, 'M', u'幼'), - (0x3246, 'M', u'文'), - (0x3247, 'M', u'箏'), - (0x3248, 'V'), - (0x3250, 'M', u'pte'), - (0x3251, 'M', u'21'), - (0x3252, 'M', u'22'), - (0x3253, 'M', u'23'), - (0x3254, 'M', u'24'), - (0x3255, 'M', u'25'), - (0x3256, 'M', u'26'), - (0x3257, 'M', u'27'), - (0x3258, 'M', u'28'), - (0x3259, 'M', u'29'), - (0x325A, 'M', u'30'), - (0x325B, 'M', u'31'), - (0x325C, 'M', u'32'), - (0x325D, 'M', u'33'), - (0x325E, 'M', u'34'), - (0x325F, 'M', u'35'), - (0x3260, 'M', u'ᄀ'), - (0x3261, 'M', u'ᄂ'), - (0x3262, 'M', u'ᄃ'), - (0x3263, 'M', u'ᄅ'), - ] - -def _seg_31(): - return [ - (0x3264, 'M', u'ᄆ'), - (0x3265, 'M', u'ᄇ'), - (0x3266, 'M', u'ᄉ'), - (0x3267, 'M', u'ᄋ'), - (0x3268, 'M', u'ᄌ'), - (0x3269, 'M', u'ᄎ'), - (0x326A, 'M', u'ᄏ'), - (0x326B, 'M', u'ᄐ'), - (0x326C, 'M', u'ᄑ'), - (0x326D, 'M', u'ᄒ'), - (0x326E, 'M', u'가'), - (0x326F, 'M', u'나'), - (0x3270, 'M', u'다'), - (0x3271, 'M', u'라'), - (0x3272, 'M', u'마'), - (0x3273, 'M', u'바'), - (0x3274, 'M', u'사'), - (0x3275, 'M', u'아'), - (0x3276, 'M', u'자'), - (0x3277, 'M', u'차'), - (0x3278, 'M', u'카'), - (0x3279, 'M', u'타'), - (0x327A, 'M', u'파'), - (0x327B, 'M', u'하'), - (0x327C, 'M', u'참고'), - (0x327D, 'M', u'주의'), - (0x327E, 'M', u'우'), - (0x327F, 'V'), - (0x3280, 'M', u'一'), - (0x3281, 'M', u'二'), - (0x3282, 'M', u'三'), - (0x3283, 'M', u'四'), - (0x3284, 'M', u'五'), - (0x3285, 'M', u'六'), - (0x3286, 'M', u'七'), - (0x3287, 'M', u'八'), - (0x3288, 'M', u'九'), - (0x3289, 'M', u'十'), - (0x328A, 'M', u'月'), - (0x328B, 'M', u'火'), - (0x328C, 'M', u'水'), - (0x328D, 'M', u'木'), - (0x328E, 'M', u'金'), - (0x328F, 'M', u'土'), - (0x3290, 'M', u'日'), - (0x3291, 'M', u'株'), - (0x3292, 'M', u'有'), - (0x3293, 'M', u'社'), - (0x3294, 'M', u'名'), - (0x3295, 'M', u'特'), - (0x3296, 'M', u'財'), - (0x3297, 'M', u'祝'), - (0x3298, 'M', u'労'), - (0x3299, 'M', u'秘'), - (0x329A, 'M', u'男'), - (0x329B, 'M', u'女'), - (0x329C, 'M', u'適'), - (0x329D, 'M', u'優'), - (0x329E, 'M', u'印'), - (0x329F, 'M', u'注'), - (0x32A0, 'M', u'項'), - (0x32A1, 'M', u'休'), - (0x32A2, 'M', u'写'), - (0x32A3, 'M', u'正'), - (0x32A4, 'M', u'上'), - (0x32A5, 'M', u'中'), - (0x32A6, 'M', u'下'), - (0x32A7, 'M', u'左'), - (0x32A8, 'M', u'右'), - (0x32A9, 'M', u'医'), - (0x32AA, 'M', u'宗'), - (0x32AB, 'M', u'学'), - (0x32AC, 'M', u'監'), - (0x32AD, 'M', u'企'), - (0x32AE, 'M', u'資'), - (0x32AF, 'M', u'協'), - (0x32B0, 'M', u'夜'), - (0x32B1, 'M', u'36'), - (0x32B2, 'M', u'37'), - (0x32B3, 'M', u'38'), - (0x32B4, 'M', u'39'), - (0x32B5, 'M', u'40'), - (0x32B6, 'M', u'41'), - (0x32B7, 'M', u'42'), - (0x32B8, 'M', u'43'), - (0x32B9, 'M', u'44'), - (0x32BA, 'M', u'45'), - (0x32BB, 'M', u'46'), - (0x32BC, 'M', u'47'), - (0x32BD, 'M', u'48'), - (0x32BE, 'M', u'49'), - (0x32BF, 'M', u'50'), - (0x32C0, 'M', u'1月'), - (0x32C1, 'M', u'2月'), - (0x32C2, 'M', u'3月'), - (0x32C3, 'M', u'4月'), - (0x32C4, 'M', u'5月'), - (0x32C5, 'M', u'6月'), - (0x32C6, 'M', u'7月'), - (0x32C7, 'M', u'8月'), - ] - -def _seg_32(): - return [ - (0x32C8, 'M', u'9月'), - (0x32C9, 'M', u'10月'), - (0x32CA, 'M', u'11月'), - (0x32CB, 'M', u'12月'), - (0x32CC, 'M', u'hg'), - (0x32CD, 'M', u'erg'), - (0x32CE, 'M', u'ev'), - (0x32CF, 'M', u'ltd'), - (0x32D0, 'M', u'ア'), - (0x32D1, 'M', u'イ'), - (0x32D2, 'M', u'ウ'), - (0x32D3, 'M', u'エ'), - (0x32D4, 'M', u'オ'), - (0x32D5, 'M', u'カ'), - (0x32D6, 'M', u'キ'), - (0x32D7, 'M', u'ク'), - (0x32D8, 'M', u'ケ'), - (0x32D9, 'M', u'コ'), - (0x32DA, 'M', u'サ'), - (0x32DB, 'M', u'シ'), - (0x32DC, 'M', u'ス'), - (0x32DD, 'M', u'セ'), - (0x32DE, 'M', u'ソ'), - (0x32DF, 'M', u'タ'), - (0x32E0, 'M', u'チ'), - (0x32E1, 'M', u'ツ'), - (0x32E2, 'M', u'テ'), - (0x32E3, 'M', u'ト'), - (0x32E4, 'M', u'ナ'), - (0x32E5, 'M', u'ニ'), - (0x32E6, 'M', u'ヌ'), - (0x32E7, 'M', u'ネ'), - (0x32E8, 'M', u'ノ'), - (0x32E9, 'M', u'ハ'), - (0x32EA, 'M', u'ヒ'), - (0x32EB, 'M', u'フ'), - (0x32EC, 'M', u'ヘ'), - (0x32ED, 'M', u'ホ'), - (0x32EE, 'M', u'マ'), - (0x32EF, 'M', u'ミ'), - (0x32F0, 'M', u'ム'), - (0x32F1, 'M', u'メ'), - (0x32F2, 'M', u'モ'), - (0x32F3, 'M', u'ヤ'), - (0x32F4, 'M', u'ユ'), - (0x32F5, 'M', u'ヨ'), - (0x32F6, 'M', u'ラ'), - (0x32F7, 'M', u'リ'), - (0x32F8, 'M', u'ル'), - (0x32F9, 'M', u'レ'), - (0x32FA, 'M', u'ロ'), - (0x32FB, 'M', u'ワ'), - (0x32FC, 'M', u'ヰ'), - (0x32FD, 'M', u'ヱ'), - (0x32FE, 'M', u'ヲ'), - (0x32FF, 'X'), - (0x3300, 'M', u'アパート'), - (0x3301, 'M', u'アルファ'), - (0x3302, 'M', u'アンペア'), - (0x3303, 'M', u'アール'), - (0x3304, 'M', u'イニング'), - (0x3305, 'M', u'インチ'), - (0x3306, 'M', u'ウォン'), - (0x3307, 'M', u'エスクード'), - (0x3308, 'M', u'エーカー'), - (0x3309, 'M', u'オンス'), - (0x330A, 'M', u'オーム'), - (0x330B, 'M', u'カイリ'), - (0x330C, 'M', u'カラット'), - (0x330D, 'M', u'カロリー'), - (0x330E, 'M', u'ガロン'), - (0x330F, 'M', u'ガンマ'), - (0x3310, 'M', u'ギガ'), - (0x3311, 'M', u'ギニー'), - (0x3312, 'M', u'キュリー'), - (0x3313, 'M', u'ギルダー'), - (0x3314, 'M', u'キロ'), - (0x3315, 'M', u'キログラム'), - (0x3316, 'M', u'キロメートル'), - (0x3317, 'M', u'キロワット'), - (0x3318, 'M', u'グラム'), - (0x3319, 'M', u'グラムトン'), - (0x331A, 'M', u'クルゼイロ'), - (0x331B, 'M', u'クローネ'), - (0x331C, 'M', u'ケース'), - (0x331D, 'M', u'コルナ'), - (0x331E, 'M', u'コーポ'), - (0x331F, 'M', u'サイクル'), - (0x3320, 'M', u'サンチーム'), - (0x3321, 'M', u'シリング'), - (0x3322, 'M', u'センチ'), - (0x3323, 'M', u'セント'), - (0x3324, 'M', u'ダース'), - (0x3325, 'M', u'デシ'), - (0x3326, 'M', u'ドル'), - (0x3327, 'M', u'トン'), - (0x3328, 'M', u'ナノ'), - (0x3329, 'M', u'ノット'), - (0x332A, 'M', u'ハイツ'), - (0x332B, 'M', u'パーセント'), - ] - -def _seg_33(): - return [ - (0x332C, 'M', u'パーツ'), - (0x332D, 'M', u'バーレル'), - (0x332E, 'M', u'ピアストル'), - (0x332F, 'M', u'ピクル'), - (0x3330, 'M', u'ピコ'), - (0x3331, 'M', u'ビル'), - (0x3332, 'M', u'ファラッド'), - (0x3333, 'M', u'フィート'), - (0x3334, 'M', u'ブッシェル'), - (0x3335, 'M', u'フラン'), - (0x3336, 'M', u'ヘクタール'), - (0x3337, 'M', u'ペソ'), - (0x3338, 'M', u'ペニヒ'), - (0x3339, 'M', u'ヘルツ'), - (0x333A, 'M', u'ペンス'), - (0x333B, 'M', u'ページ'), - (0x333C, 'M', u'ベータ'), - (0x333D, 'M', u'ポイント'), - (0x333E, 'M', u'ボルト'), - (0x333F, 'M', u'ホン'), - (0x3340, 'M', u'ポンド'), - (0x3341, 'M', u'ホール'), - (0x3342, 'M', u'ホーン'), - (0x3343, 'M', u'マイクロ'), - (0x3344, 'M', u'マイル'), - (0x3345, 'M', u'マッハ'), - (0x3346, 'M', u'マルク'), - (0x3347, 'M', u'マンション'), - (0x3348, 'M', u'ミクロン'), - (0x3349, 'M', u'ミリ'), - (0x334A, 'M', u'ミリバール'), - (0x334B, 'M', u'メガ'), - (0x334C, 'M', u'メガトン'), - (0x334D, 'M', u'メートル'), - (0x334E, 'M', u'ヤード'), - (0x334F, 'M', u'ヤール'), - (0x3350, 'M', u'ユアン'), - (0x3351, 'M', u'リットル'), - (0x3352, 'M', u'リラ'), - (0x3353, 'M', u'ルピー'), - (0x3354, 'M', u'ルーブル'), - (0x3355, 'M', u'レム'), - (0x3356, 'M', u'レントゲン'), - (0x3357, 'M', u'ワット'), - (0x3358, 'M', u'0点'), - (0x3359, 'M', u'1点'), - (0x335A, 'M', u'2点'), - (0x335B, 'M', u'3点'), - (0x335C, 'M', u'4点'), - (0x335D, 'M', u'5点'), - (0x335E, 'M', u'6点'), - (0x335F, 'M', u'7点'), - (0x3360, 'M', u'8点'), - (0x3361, 'M', u'9点'), - (0x3362, 'M', u'10点'), - (0x3363, 'M', u'11点'), - (0x3364, 'M', u'12点'), - (0x3365, 'M', u'13点'), - (0x3366, 'M', u'14点'), - (0x3367, 'M', u'15点'), - (0x3368, 'M', u'16点'), - (0x3369, 'M', u'17点'), - (0x336A, 'M', u'18点'), - (0x336B, 'M', u'19点'), - (0x336C, 'M', u'20点'), - (0x336D, 'M', u'21点'), - (0x336E, 'M', u'22点'), - (0x336F, 'M', u'23点'), - (0x3370, 'M', u'24点'), - (0x3371, 'M', u'hpa'), - (0x3372, 'M', u'da'), - (0x3373, 'M', u'au'), - (0x3374, 'M', u'bar'), - (0x3375, 'M', u'ov'), - (0x3376, 'M', u'pc'), - (0x3377, 'M', u'dm'), - (0x3378, 'M', u'dm2'), - (0x3379, 'M', u'dm3'), - (0x337A, 'M', u'iu'), - (0x337B, 'M', u'平成'), - (0x337C, 'M', u'昭和'), - (0x337D, 'M', u'大正'), - (0x337E, 'M', u'明治'), - (0x337F, 'M', u'株式会社'), - (0x3380, 'M', u'pa'), - (0x3381, 'M', u'na'), - (0x3382, 'M', u'μa'), - (0x3383, 'M', u'ma'), - (0x3384, 'M', u'ka'), - (0x3385, 'M', u'kb'), - (0x3386, 'M', u'mb'), - (0x3387, 'M', u'gb'), - (0x3388, 'M', u'cal'), - (0x3389, 'M', u'kcal'), - (0x338A, 'M', u'pf'), - (0x338B, 'M', u'nf'), - (0x338C, 'M', u'μf'), - (0x338D, 'M', u'μg'), - (0x338E, 'M', u'mg'), - (0x338F, 'M', u'kg'), - ] - -def _seg_34(): - return [ - (0x3390, 'M', u'hz'), - (0x3391, 'M', u'khz'), - (0x3392, 'M', u'mhz'), - (0x3393, 'M', u'ghz'), - (0x3394, 'M', u'thz'), - (0x3395, 'M', u'μl'), - (0x3396, 'M', u'ml'), - (0x3397, 'M', u'dl'), - (0x3398, 'M', u'kl'), - (0x3399, 'M', u'fm'), - (0x339A, 'M', u'nm'), - (0x339B, 'M', u'μm'), - (0x339C, 'M', u'mm'), - (0x339D, 'M', u'cm'), - (0x339E, 'M', u'km'), - (0x339F, 'M', u'mm2'), - (0x33A0, 'M', u'cm2'), - (0x33A1, 'M', u'm2'), - (0x33A2, 'M', u'km2'), - (0x33A3, 'M', u'mm3'), - (0x33A4, 'M', u'cm3'), - (0x33A5, 'M', u'm3'), - (0x33A6, 'M', u'km3'), - (0x33A7, 'M', u'm∕s'), - (0x33A8, 'M', u'm∕s2'), - (0x33A9, 'M', u'pa'), - (0x33AA, 'M', u'kpa'), - (0x33AB, 'M', u'mpa'), - (0x33AC, 'M', u'gpa'), - (0x33AD, 'M', u'rad'), - (0x33AE, 'M', u'rad∕s'), - (0x33AF, 'M', u'rad∕s2'), - (0x33B0, 'M', u'ps'), - (0x33B1, 'M', u'ns'), - (0x33B2, 'M', u'μs'), - (0x33B3, 'M', u'ms'), - (0x33B4, 'M', u'pv'), - (0x33B5, 'M', u'nv'), - (0x33B6, 'M', u'μv'), - (0x33B7, 'M', u'mv'), - (0x33B8, 'M', u'kv'), - (0x33B9, 'M', u'mv'), - (0x33BA, 'M', u'pw'), - (0x33BB, 'M', u'nw'), - (0x33BC, 'M', u'μw'), - (0x33BD, 'M', u'mw'), - (0x33BE, 'M', u'kw'), - (0x33BF, 'M', u'mw'), - (0x33C0, 'M', u'kω'), - (0x33C1, 'M', u'mω'), - (0x33C2, 'X'), - (0x33C3, 'M', u'bq'), - (0x33C4, 'M', u'cc'), - (0x33C5, 'M', u'cd'), - (0x33C6, 'M', u'c∕kg'), - (0x33C7, 'X'), - (0x33C8, 'M', u'db'), - (0x33C9, 'M', u'gy'), - (0x33CA, 'M', u'ha'), - (0x33CB, 'M', u'hp'), - (0x33CC, 'M', u'in'), - (0x33CD, 'M', u'kk'), - (0x33CE, 'M', u'km'), - (0x33CF, 'M', u'kt'), - (0x33D0, 'M', u'lm'), - (0x33D1, 'M', u'ln'), - (0x33D2, 'M', u'log'), - (0x33D3, 'M', u'lx'), - (0x33D4, 'M', u'mb'), - (0x33D5, 'M', u'mil'), - (0x33D6, 'M', u'mol'), - (0x33D7, 'M', u'ph'), - (0x33D8, 'X'), - (0x33D9, 'M', u'ppm'), - (0x33DA, 'M', u'pr'), - (0x33DB, 'M', u'sr'), - (0x33DC, 'M', u'sv'), - (0x33DD, 'M', u'wb'), - (0x33DE, 'M', u'v∕m'), - (0x33DF, 'M', u'a∕m'), - (0x33E0, 'M', u'1日'), - (0x33E1, 'M', u'2日'), - (0x33E2, 'M', u'3日'), - (0x33E3, 'M', u'4日'), - (0x33E4, 'M', u'5日'), - (0x33E5, 'M', u'6日'), - (0x33E6, 'M', u'7日'), - (0x33E7, 'M', u'8日'), - (0x33E8, 'M', u'9日'), - (0x33E9, 'M', u'10日'), - (0x33EA, 'M', u'11日'), - (0x33EB, 'M', u'12日'), - (0x33EC, 'M', u'13日'), - (0x33ED, 'M', u'14日'), - (0x33EE, 'M', u'15日'), - (0x33EF, 'M', u'16日'), - (0x33F0, 'M', u'17日'), - (0x33F1, 'M', u'18日'), - (0x33F2, 'M', u'19日'), - (0x33F3, 'M', u'20日'), - ] - -def _seg_35(): - return [ - (0x33F4, 'M', u'21日'), - (0x33F5, 'M', u'22日'), - (0x33F6, 'M', u'23日'), - (0x33F7, 'M', u'24日'), - (0x33F8, 'M', u'25日'), - (0x33F9, 'M', u'26日'), - (0x33FA, 'M', u'27日'), - (0x33FB, 'M', u'28日'), - (0x33FC, 'M', u'29日'), - (0x33FD, 'M', u'30日'), - (0x33FE, 'M', u'31日'), - (0x33FF, 'M', u'gal'), - (0x3400, 'V'), - (0x4DB6, 'X'), - (0x4DC0, 'V'), - (0x9FF0, 'X'), - (0xA000, 'V'), - (0xA48D, 'X'), - (0xA490, 'V'), - (0xA4C7, 'X'), - (0xA4D0, 'V'), - (0xA62C, 'X'), - (0xA640, 'M', u'ꙁ'), - (0xA641, 'V'), - (0xA642, 'M', u'ꙃ'), - (0xA643, 'V'), - (0xA644, 'M', u'ꙅ'), - (0xA645, 'V'), - (0xA646, 'M', u'ꙇ'), - (0xA647, 'V'), - (0xA648, 'M', u'ꙉ'), - (0xA649, 'V'), - (0xA64A, 'M', u'ꙋ'), - (0xA64B, 'V'), - (0xA64C, 'M', u'ꙍ'), - (0xA64D, 'V'), - (0xA64E, 'M', u'ꙏ'), - (0xA64F, 'V'), - (0xA650, 'M', u'ꙑ'), - (0xA651, 'V'), - (0xA652, 'M', u'ꙓ'), - (0xA653, 'V'), - (0xA654, 'M', u'ꙕ'), - (0xA655, 'V'), - (0xA656, 'M', u'ꙗ'), - (0xA657, 'V'), - (0xA658, 'M', u'ꙙ'), - (0xA659, 'V'), - (0xA65A, 'M', u'ꙛ'), - (0xA65B, 'V'), - (0xA65C, 'M', u'ꙝ'), - (0xA65D, 'V'), - (0xA65E, 'M', u'ꙟ'), - (0xA65F, 'V'), - (0xA660, 'M', u'ꙡ'), - (0xA661, 'V'), - (0xA662, 'M', u'ꙣ'), - (0xA663, 'V'), - (0xA664, 'M', u'ꙥ'), - (0xA665, 'V'), - (0xA666, 'M', u'ꙧ'), - (0xA667, 'V'), - (0xA668, 'M', u'ꙩ'), - (0xA669, 'V'), - (0xA66A, 'M', u'ꙫ'), - (0xA66B, 'V'), - (0xA66C, 'M', u'ꙭ'), - (0xA66D, 'V'), - (0xA680, 'M', u'ꚁ'), - (0xA681, 'V'), - (0xA682, 'M', u'ꚃ'), - (0xA683, 'V'), - (0xA684, 'M', u'ꚅ'), - (0xA685, 'V'), - (0xA686, 'M', u'ꚇ'), - (0xA687, 'V'), - (0xA688, 'M', u'ꚉ'), - (0xA689, 'V'), - (0xA68A, 'M', u'ꚋ'), - (0xA68B, 'V'), - (0xA68C, 'M', u'ꚍ'), - (0xA68D, 'V'), - (0xA68E, 'M', u'ꚏ'), - (0xA68F, 'V'), - (0xA690, 'M', u'ꚑ'), - (0xA691, 'V'), - (0xA692, 'M', u'ꚓ'), - (0xA693, 'V'), - (0xA694, 'M', u'ꚕ'), - (0xA695, 'V'), - (0xA696, 'M', u'ꚗ'), - (0xA697, 'V'), - (0xA698, 'M', u'ꚙ'), - (0xA699, 'V'), - (0xA69A, 'M', u'ꚛ'), - (0xA69B, 'V'), - (0xA69C, 'M', u'ъ'), - (0xA69D, 'M', u'ь'), - (0xA69E, 'V'), - (0xA6F8, 'X'), - ] - -def _seg_36(): - return [ - (0xA700, 'V'), - (0xA722, 'M', u'ꜣ'), - (0xA723, 'V'), - (0xA724, 'M', u'ꜥ'), - (0xA725, 'V'), - (0xA726, 'M', u'ꜧ'), - (0xA727, 'V'), - (0xA728, 'M', u'ꜩ'), - (0xA729, 'V'), - (0xA72A, 'M', u'ꜫ'), - (0xA72B, 'V'), - (0xA72C, 'M', u'ꜭ'), - (0xA72D, 'V'), - (0xA72E, 'M', u'ꜯ'), - (0xA72F, 'V'), - (0xA732, 'M', u'ꜳ'), - (0xA733, 'V'), - (0xA734, 'M', u'ꜵ'), - (0xA735, 'V'), - (0xA736, 'M', u'ꜷ'), - (0xA737, 'V'), - (0xA738, 'M', u'ꜹ'), - (0xA739, 'V'), - (0xA73A, 'M', u'ꜻ'), - (0xA73B, 'V'), - (0xA73C, 'M', u'ꜽ'), - (0xA73D, 'V'), - (0xA73E, 'M', u'ꜿ'), - (0xA73F, 'V'), - (0xA740, 'M', u'ꝁ'), - (0xA741, 'V'), - (0xA742, 'M', u'ꝃ'), - (0xA743, 'V'), - (0xA744, 'M', u'ꝅ'), - (0xA745, 'V'), - (0xA746, 'M', u'ꝇ'), - (0xA747, 'V'), - (0xA748, 'M', u'ꝉ'), - (0xA749, 'V'), - (0xA74A, 'M', u'ꝋ'), - (0xA74B, 'V'), - (0xA74C, 'M', u'ꝍ'), - (0xA74D, 'V'), - (0xA74E, 'M', u'ꝏ'), - (0xA74F, 'V'), - (0xA750, 'M', u'ꝑ'), - (0xA751, 'V'), - (0xA752, 'M', u'ꝓ'), - (0xA753, 'V'), - (0xA754, 'M', u'ꝕ'), - (0xA755, 'V'), - (0xA756, 'M', u'ꝗ'), - (0xA757, 'V'), - (0xA758, 'M', u'ꝙ'), - (0xA759, 'V'), - (0xA75A, 'M', u'ꝛ'), - (0xA75B, 'V'), - (0xA75C, 'M', u'ꝝ'), - (0xA75D, 'V'), - (0xA75E, 'M', u'ꝟ'), - (0xA75F, 'V'), - (0xA760, 'M', u'ꝡ'), - (0xA761, 'V'), - (0xA762, 'M', u'ꝣ'), - (0xA763, 'V'), - (0xA764, 'M', u'ꝥ'), - (0xA765, 'V'), - (0xA766, 'M', u'ꝧ'), - (0xA767, 'V'), - (0xA768, 'M', u'ꝩ'), - (0xA769, 'V'), - (0xA76A, 'M', u'ꝫ'), - (0xA76B, 'V'), - (0xA76C, 'M', u'ꝭ'), - (0xA76D, 'V'), - (0xA76E, 'M', u'ꝯ'), - (0xA76F, 'V'), - (0xA770, 'M', u'ꝯ'), - (0xA771, 'V'), - (0xA779, 'M', u'ꝺ'), - (0xA77A, 'V'), - (0xA77B, 'M', u'ꝼ'), - (0xA77C, 'V'), - (0xA77D, 'M', u'ᵹ'), - (0xA77E, 'M', u'ꝿ'), - (0xA77F, 'V'), - (0xA780, 'M', u'ꞁ'), - (0xA781, 'V'), - (0xA782, 'M', u'ꞃ'), - (0xA783, 'V'), - (0xA784, 'M', u'ꞅ'), - (0xA785, 'V'), - (0xA786, 'M', u'ꞇ'), - (0xA787, 'V'), - (0xA78B, 'M', u'ꞌ'), - (0xA78C, 'V'), - (0xA78D, 'M', u'ɥ'), - (0xA78E, 'V'), - (0xA790, 'M', u'ꞑ'), - (0xA791, 'V'), - ] - -def _seg_37(): - return [ - (0xA792, 'M', u'ꞓ'), - (0xA793, 'V'), - (0xA796, 'M', u'ꞗ'), - (0xA797, 'V'), - (0xA798, 'M', u'ꞙ'), - (0xA799, 'V'), - (0xA79A, 'M', u'ꞛ'), - (0xA79B, 'V'), - (0xA79C, 'M', u'ꞝ'), - (0xA79D, 'V'), - (0xA79E, 'M', u'ꞟ'), - (0xA79F, 'V'), - (0xA7A0, 'M', u'ꞡ'), - (0xA7A1, 'V'), - (0xA7A2, 'M', u'ꞣ'), - (0xA7A3, 'V'), - (0xA7A4, 'M', u'ꞥ'), - (0xA7A5, 'V'), - (0xA7A6, 'M', u'ꞧ'), - (0xA7A7, 'V'), - (0xA7A8, 'M', u'ꞩ'), - (0xA7A9, 'V'), - (0xA7AA, 'M', u'ɦ'), - (0xA7AB, 'M', u'ɜ'), - (0xA7AC, 'M', u'ɡ'), - (0xA7AD, 'M', u'ɬ'), - (0xA7AE, 'M', u'ɪ'), - (0xA7AF, 'V'), - (0xA7B0, 'M', u'ʞ'), - (0xA7B1, 'M', u'ʇ'), - (0xA7B2, 'M', u'ʝ'), - (0xA7B3, 'M', u'ꭓ'), - (0xA7B4, 'M', u'ꞵ'), - (0xA7B5, 'V'), - (0xA7B6, 'M', u'ꞷ'), - (0xA7B7, 'V'), - (0xA7B8, 'X'), - (0xA7B9, 'V'), - (0xA7BA, 'X'), - (0xA7F7, 'V'), - (0xA7F8, 'M', u'ħ'), - (0xA7F9, 'M', u'œ'), - (0xA7FA, 'V'), - (0xA82C, 'X'), - (0xA830, 'V'), - (0xA83A, 'X'), - (0xA840, 'V'), - (0xA878, 'X'), - (0xA880, 'V'), - (0xA8C6, 'X'), - (0xA8CE, 'V'), - (0xA8DA, 'X'), - (0xA8E0, 'V'), - (0xA954, 'X'), - (0xA95F, 'V'), - (0xA97D, 'X'), - (0xA980, 'V'), - (0xA9CE, 'X'), - (0xA9CF, 'V'), - (0xA9DA, 'X'), - (0xA9DE, 'V'), - (0xA9FF, 'X'), - (0xAA00, 'V'), - (0xAA37, 'X'), - (0xAA40, 'V'), - (0xAA4E, 'X'), - (0xAA50, 'V'), - (0xAA5A, 'X'), - (0xAA5C, 'V'), - (0xAAC3, 'X'), - (0xAADB, 'V'), - (0xAAF7, 'X'), - (0xAB01, 'V'), - (0xAB07, 'X'), - (0xAB09, 'V'), - (0xAB0F, 'X'), - (0xAB11, 'V'), - (0xAB17, 'X'), - (0xAB20, 'V'), - (0xAB27, 'X'), - (0xAB28, 'V'), - (0xAB2F, 'X'), - (0xAB30, 'V'), - (0xAB5C, 'M', u'ꜧ'), - (0xAB5D, 'M', u'ꬷ'), - (0xAB5E, 'M', u'ɫ'), - (0xAB5F, 'M', u'ꭒ'), - (0xAB60, 'V'), - (0xAB66, 'X'), - (0xAB70, 'M', u'Ꭰ'), - (0xAB71, 'M', u'Ꭱ'), - (0xAB72, 'M', u'Ꭲ'), - (0xAB73, 'M', u'Ꭳ'), - (0xAB74, 'M', u'Ꭴ'), - (0xAB75, 'M', u'Ꭵ'), - (0xAB76, 'M', u'Ꭶ'), - (0xAB77, 'M', u'Ꭷ'), - (0xAB78, 'M', u'Ꭸ'), - (0xAB79, 'M', u'Ꭹ'), - (0xAB7A, 'M', u'Ꭺ'), - ] - -def _seg_38(): - return [ - (0xAB7B, 'M', u'Ꭻ'), - (0xAB7C, 'M', u'Ꭼ'), - (0xAB7D, 'M', u'Ꭽ'), - (0xAB7E, 'M', u'Ꭾ'), - (0xAB7F, 'M', u'Ꭿ'), - (0xAB80, 'M', u'Ꮀ'), - (0xAB81, 'M', u'Ꮁ'), - (0xAB82, 'M', u'Ꮂ'), - (0xAB83, 'M', u'Ꮃ'), - (0xAB84, 'M', u'Ꮄ'), - (0xAB85, 'M', u'Ꮅ'), - (0xAB86, 'M', u'Ꮆ'), - (0xAB87, 'M', u'Ꮇ'), - (0xAB88, 'M', u'Ꮈ'), - (0xAB89, 'M', u'Ꮉ'), - (0xAB8A, 'M', u'Ꮊ'), - (0xAB8B, 'M', u'Ꮋ'), - (0xAB8C, 'M', u'Ꮌ'), - (0xAB8D, 'M', u'Ꮍ'), - (0xAB8E, 'M', u'Ꮎ'), - (0xAB8F, 'M', u'Ꮏ'), - (0xAB90, 'M', u'Ꮐ'), - (0xAB91, 'M', u'Ꮑ'), - (0xAB92, 'M', u'Ꮒ'), - (0xAB93, 'M', u'Ꮓ'), - (0xAB94, 'M', u'Ꮔ'), - (0xAB95, 'M', u'Ꮕ'), - (0xAB96, 'M', u'Ꮖ'), - (0xAB97, 'M', u'Ꮗ'), - (0xAB98, 'M', u'Ꮘ'), - (0xAB99, 'M', u'Ꮙ'), - (0xAB9A, 'M', u'Ꮚ'), - (0xAB9B, 'M', u'Ꮛ'), - (0xAB9C, 'M', u'Ꮜ'), - (0xAB9D, 'M', u'Ꮝ'), - (0xAB9E, 'M', u'Ꮞ'), - (0xAB9F, 'M', u'Ꮟ'), - (0xABA0, 'M', u'Ꮠ'), - (0xABA1, 'M', u'Ꮡ'), - (0xABA2, 'M', u'Ꮢ'), - (0xABA3, 'M', u'Ꮣ'), - (0xABA4, 'M', u'Ꮤ'), - (0xABA5, 'M', u'Ꮥ'), - (0xABA6, 'M', u'Ꮦ'), - (0xABA7, 'M', u'Ꮧ'), - (0xABA8, 'M', u'Ꮨ'), - (0xABA9, 'M', u'Ꮩ'), - (0xABAA, 'M', u'Ꮪ'), - (0xABAB, 'M', u'Ꮫ'), - (0xABAC, 'M', u'Ꮬ'), - (0xABAD, 'M', u'Ꮭ'), - (0xABAE, 'M', u'Ꮮ'), - (0xABAF, 'M', u'Ꮯ'), - (0xABB0, 'M', u'Ꮰ'), - (0xABB1, 'M', u'Ꮱ'), - (0xABB2, 'M', u'Ꮲ'), - (0xABB3, 'M', u'Ꮳ'), - (0xABB4, 'M', u'Ꮴ'), - (0xABB5, 'M', u'Ꮵ'), - (0xABB6, 'M', u'Ꮶ'), - (0xABB7, 'M', u'Ꮷ'), - (0xABB8, 'M', u'Ꮸ'), - (0xABB9, 'M', u'Ꮹ'), - (0xABBA, 'M', u'Ꮺ'), - (0xABBB, 'M', u'Ꮻ'), - (0xABBC, 'M', u'Ꮼ'), - (0xABBD, 'M', u'Ꮽ'), - (0xABBE, 'M', u'Ꮾ'), - (0xABBF, 'M', u'Ꮿ'), - (0xABC0, 'V'), - (0xABEE, 'X'), - (0xABF0, 'V'), - (0xABFA, 'X'), - (0xAC00, 'V'), - (0xD7A4, 'X'), - (0xD7B0, 'V'), - (0xD7C7, 'X'), - (0xD7CB, 'V'), - (0xD7FC, 'X'), - (0xF900, 'M', u'豈'), - (0xF901, 'M', u'更'), - (0xF902, 'M', u'車'), - (0xF903, 'M', u'賈'), - (0xF904, 'M', u'滑'), - (0xF905, 'M', u'串'), - (0xF906, 'M', u'句'), - (0xF907, 'M', u'龜'), - (0xF909, 'M', u'契'), - (0xF90A, 'M', u'金'), - (0xF90B, 'M', u'喇'), - (0xF90C, 'M', u'奈'), - (0xF90D, 'M', u'懶'), - (0xF90E, 'M', u'癩'), - (0xF90F, 'M', u'羅'), - (0xF910, 'M', u'蘿'), - (0xF911, 'M', u'螺'), - (0xF912, 'M', u'裸'), - (0xF913, 'M', u'邏'), - (0xF914, 'M', u'樂'), - (0xF915, 'M', u'洛'), - ] - -def _seg_39(): - return [ - (0xF916, 'M', u'烙'), - (0xF917, 'M', u'珞'), - (0xF918, 'M', u'落'), - (0xF919, 'M', u'酪'), - (0xF91A, 'M', u'駱'), - (0xF91B, 'M', u'亂'), - (0xF91C, 'M', u'卵'), - (0xF91D, 'M', u'欄'), - (0xF91E, 'M', u'爛'), - (0xF91F, 'M', u'蘭'), - (0xF920, 'M', u'鸞'), - (0xF921, 'M', u'嵐'), - (0xF922, 'M', u'濫'), - (0xF923, 'M', u'藍'), - (0xF924, 'M', u'襤'), - (0xF925, 'M', u'拉'), - (0xF926, 'M', u'臘'), - (0xF927, 'M', u'蠟'), - (0xF928, 'M', u'廊'), - (0xF929, 'M', u'朗'), - (0xF92A, 'M', u'浪'), - (0xF92B, 'M', u'狼'), - (0xF92C, 'M', u'郎'), - (0xF92D, 'M', u'來'), - (0xF92E, 'M', u'冷'), - (0xF92F, 'M', u'勞'), - (0xF930, 'M', u'擄'), - (0xF931, 'M', u'櫓'), - (0xF932, 'M', u'爐'), - (0xF933, 'M', u'盧'), - (0xF934, 'M', u'老'), - (0xF935, 'M', u'蘆'), - (0xF936, 'M', u'虜'), - (0xF937, 'M', u'路'), - (0xF938, 'M', u'露'), - (0xF939, 'M', u'魯'), - (0xF93A, 'M', u'鷺'), - (0xF93B, 'M', u'碌'), - (0xF93C, 'M', u'祿'), - (0xF93D, 'M', u'綠'), - (0xF93E, 'M', u'菉'), - (0xF93F, 'M', u'錄'), - (0xF940, 'M', u'鹿'), - (0xF941, 'M', u'論'), - (0xF942, 'M', u'壟'), - (0xF943, 'M', u'弄'), - (0xF944, 'M', u'籠'), - (0xF945, 'M', u'聾'), - (0xF946, 'M', u'牢'), - (0xF947, 'M', u'磊'), - (0xF948, 'M', u'賂'), - (0xF949, 'M', u'雷'), - (0xF94A, 'M', u'壘'), - (0xF94B, 'M', u'屢'), - (0xF94C, 'M', u'樓'), - (0xF94D, 'M', u'淚'), - (0xF94E, 'M', u'漏'), - (0xF94F, 'M', u'累'), - (0xF950, 'M', u'縷'), - (0xF951, 'M', u'陋'), - (0xF952, 'M', u'勒'), - (0xF953, 'M', u'肋'), - (0xF954, 'M', u'凜'), - (0xF955, 'M', u'凌'), - (0xF956, 'M', u'稜'), - (0xF957, 'M', u'綾'), - (0xF958, 'M', u'菱'), - (0xF959, 'M', u'陵'), - (0xF95A, 'M', u'讀'), - (0xF95B, 'M', u'拏'), - (0xF95C, 'M', u'樂'), - (0xF95D, 'M', u'諾'), - (0xF95E, 'M', u'丹'), - (0xF95F, 'M', u'寧'), - (0xF960, 'M', u'怒'), - (0xF961, 'M', u'率'), - (0xF962, 'M', u'異'), - (0xF963, 'M', u'北'), - (0xF964, 'M', u'磻'), - (0xF965, 'M', u'便'), - (0xF966, 'M', u'復'), - (0xF967, 'M', u'不'), - (0xF968, 'M', u'泌'), - (0xF969, 'M', u'數'), - (0xF96A, 'M', u'索'), - (0xF96B, 'M', u'參'), - (0xF96C, 'M', u'塞'), - (0xF96D, 'M', u'省'), - (0xF96E, 'M', u'葉'), - (0xF96F, 'M', u'說'), - (0xF970, 'M', u'殺'), - (0xF971, 'M', u'辰'), - (0xF972, 'M', u'沈'), - (0xF973, 'M', u'拾'), - (0xF974, 'M', u'若'), - (0xF975, 'M', u'掠'), - (0xF976, 'M', u'略'), - (0xF977, 'M', u'亮'), - (0xF978, 'M', u'兩'), - (0xF979, 'M', u'凉'), - ] - -def _seg_40(): - return [ - (0xF97A, 'M', u'梁'), - (0xF97B, 'M', u'糧'), - (0xF97C, 'M', u'良'), - (0xF97D, 'M', u'諒'), - (0xF97E, 'M', u'量'), - (0xF97F, 'M', u'勵'), - (0xF980, 'M', u'呂'), - (0xF981, 'M', u'女'), - (0xF982, 'M', u'廬'), - (0xF983, 'M', u'旅'), - (0xF984, 'M', u'濾'), - (0xF985, 'M', u'礪'), - (0xF986, 'M', u'閭'), - (0xF987, 'M', u'驪'), - (0xF988, 'M', u'麗'), - (0xF989, 'M', u'黎'), - (0xF98A, 'M', u'力'), - (0xF98B, 'M', u'曆'), - (0xF98C, 'M', u'歷'), - (0xF98D, 'M', u'轢'), - (0xF98E, 'M', u'年'), - (0xF98F, 'M', u'憐'), - (0xF990, 'M', u'戀'), - (0xF991, 'M', u'撚'), - (0xF992, 'M', u'漣'), - (0xF993, 'M', u'煉'), - (0xF994, 'M', u'璉'), - (0xF995, 'M', u'秊'), - (0xF996, 'M', u'練'), - (0xF997, 'M', u'聯'), - (0xF998, 'M', u'輦'), - (0xF999, 'M', u'蓮'), - (0xF99A, 'M', u'連'), - (0xF99B, 'M', u'鍊'), - (0xF99C, 'M', u'列'), - (0xF99D, 'M', u'劣'), - (0xF99E, 'M', u'咽'), - (0xF99F, 'M', u'烈'), - (0xF9A0, 'M', u'裂'), - (0xF9A1, 'M', u'說'), - (0xF9A2, 'M', u'廉'), - (0xF9A3, 'M', u'念'), - (0xF9A4, 'M', u'捻'), - (0xF9A5, 'M', u'殮'), - (0xF9A6, 'M', u'簾'), - (0xF9A7, 'M', u'獵'), - (0xF9A8, 'M', u'令'), - (0xF9A9, 'M', u'囹'), - (0xF9AA, 'M', u'寧'), - (0xF9AB, 'M', u'嶺'), - (0xF9AC, 'M', u'怜'), - (0xF9AD, 'M', u'玲'), - (0xF9AE, 'M', u'瑩'), - (0xF9AF, 'M', u'羚'), - (0xF9B0, 'M', u'聆'), - (0xF9B1, 'M', u'鈴'), - (0xF9B2, 'M', u'零'), - (0xF9B3, 'M', u'靈'), - (0xF9B4, 'M', u'領'), - (0xF9B5, 'M', u'例'), - (0xF9B6, 'M', u'禮'), - (0xF9B7, 'M', u'醴'), - (0xF9B8, 'M', u'隸'), - (0xF9B9, 'M', u'惡'), - (0xF9BA, 'M', u'了'), - (0xF9BB, 'M', u'僚'), - (0xF9BC, 'M', u'寮'), - (0xF9BD, 'M', u'尿'), - (0xF9BE, 'M', u'料'), - (0xF9BF, 'M', u'樂'), - (0xF9C0, 'M', u'燎'), - (0xF9C1, 'M', u'療'), - (0xF9C2, 'M', u'蓼'), - (0xF9C3, 'M', u'遼'), - (0xF9C4, 'M', u'龍'), - (0xF9C5, 'M', u'暈'), - (0xF9C6, 'M', u'阮'), - (0xF9C7, 'M', u'劉'), - (0xF9C8, 'M', u'杻'), - (0xF9C9, 'M', u'柳'), - (0xF9CA, 'M', u'流'), - (0xF9CB, 'M', u'溜'), - (0xF9CC, 'M', u'琉'), - (0xF9CD, 'M', u'留'), - (0xF9CE, 'M', u'硫'), - (0xF9CF, 'M', u'紐'), - (0xF9D0, 'M', u'類'), - (0xF9D1, 'M', u'六'), - (0xF9D2, 'M', u'戮'), - (0xF9D3, 'M', u'陸'), - (0xF9D4, 'M', u'倫'), - (0xF9D5, 'M', u'崙'), - (0xF9D6, 'M', u'淪'), - (0xF9D7, 'M', u'輪'), - (0xF9D8, 'M', u'律'), - (0xF9D9, 'M', u'慄'), - (0xF9DA, 'M', u'栗'), - (0xF9DB, 'M', u'率'), - (0xF9DC, 'M', u'隆'), - (0xF9DD, 'M', u'利'), - ] - -def _seg_41(): - return [ - (0xF9DE, 'M', u'吏'), - (0xF9DF, 'M', u'履'), - (0xF9E0, 'M', u'易'), - (0xF9E1, 'M', u'李'), - (0xF9E2, 'M', u'梨'), - (0xF9E3, 'M', u'泥'), - (0xF9E4, 'M', u'理'), - (0xF9E5, 'M', u'痢'), - (0xF9E6, 'M', u'罹'), - (0xF9E7, 'M', u'裏'), - (0xF9E8, 'M', u'裡'), - (0xF9E9, 'M', u'里'), - (0xF9EA, 'M', u'離'), - (0xF9EB, 'M', u'匿'), - (0xF9EC, 'M', u'溺'), - (0xF9ED, 'M', u'吝'), - (0xF9EE, 'M', u'燐'), - (0xF9EF, 'M', u'璘'), - (0xF9F0, 'M', u'藺'), - (0xF9F1, 'M', u'隣'), - (0xF9F2, 'M', u'鱗'), - (0xF9F3, 'M', u'麟'), - (0xF9F4, 'M', u'林'), - (0xF9F5, 'M', u'淋'), - (0xF9F6, 'M', u'臨'), - (0xF9F7, 'M', u'立'), - (0xF9F8, 'M', u'笠'), - (0xF9F9, 'M', u'粒'), - (0xF9FA, 'M', u'狀'), - (0xF9FB, 'M', u'炙'), - (0xF9FC, 'M', u'識'), - (0xF9FD, 'M', u'什'), - (0xF9FE, 'M', u'茶'), - (0xF9FF, 'M', u'刺'), - (0xFA00, 'M', u'切'), - (0xFA01, 'M', u'度'), - (0xFA02, 'M', u'拓'), - (0xFA03, 'M', u'糖'), - (0xFA04, 'M', u'宅'), - (0xFA05, 'M', u'洞'), - (0xFA06, 'M', u'暴'), - (0xFA07, 'M', u'輻'), - (0xFA08, 'M', u'行'), - (0xFA09, 'M', u'降'), - (0xFA0A, 'M', u'見'), - (0xFA0B, 'M', u'廓'), - (0xFA0C, 'M', u'兀'), - (0xFA0D, 'M', u'嗀'), - (0xFA0E, 'V'), - (0xFA10, 'M', u'塚'), - (0xFA11, 'V'), - (0xFA12, 'M', u'晴'), - (0xFA13, 'V'), - (0xFA15, 'M', u'凞'), - (0xFA16, 'M', u'猪'), - (0xFA17, 'M', u'益'), - (0xFA18, 'M', u'礼'), - (0xFA19, 'M', u'神'), - (0xFA1A, 'M', u'祥'), - (0xFA1B, 'M', u'福'), - (0xFA1C, 'M', u'靖'), - (0xFA1D, 'M', u'精'), - (0xFA1E, 'M', u'羽'), - (0xFA1F, 'V'), - (0xFA20, 'M', u'蘒'), - (0xFA21, 'V'), - (0xFA22, 'M', u'諸'), - (0xFA23, 'V'), - (0xFA25, 'M', u'逸'), - (0xFA26, 'M', u'都'), - (0xFA27, 'V'), - (0xFA2A, 'M', u'飯'), - (0xFA2B, 'M', u'飼'), - (0xFA2C, 'M', u'館'), - (0xFA2D, 'M', u'鶴'), - (0xFA2E, 'M', u'郞'), - (0xFA2F, 'M', u'隷'), - (0xFA30, 'M', u'侮'), - (0xFA31, 'M', u'僧'), - (0xFA32, 'M', u'免'), - (0xFA33, 'M', u'勉'), - (0xFA34, 'M', u'勤'), - (0xFA35, 'M', u'卑'), - (0xFA36, 'M', u'喝'), - (0xFA37, 'M', u'嘆'), - (0xFA38, 'M', u'器'), - (0xFA39, 'M', u'塀'), - (0xFA3A, 'M', u'墨'), - (0xFA3B, 'M', u'層'), - (0xFA3C, 'M', u'屮'), - (0xFA3D, 'M', u'悔'), - (0xFA3E, 'M', u'慨'), - (0xFA3F, 'M', u'憎'), - (0xFA40, 'M', u'懲'), - (0xFA41, 'M', u'敏'), - (0xFA42, 'M', u'既'), - (0xFA43, 'M', u'暑'), - (0xFA44, 'M', u'梅'), - (0xFA45, 'M', u'海'), - (0xFA46, 'M', u'渚'), - ] - -def _seg_42(): - return [ - (0xFA47, 'M', u'漢'), - (0xFA48, 'M', u'煮'), - (0xFA49, 'M', u'爫'), - (0xFA4A, 'M', u'琢'), - (0xFA4B, 'M', u'碑'), - (0xFA4C, 'M', u'社'), - (0xFA4D, 'M', u'祉'), - (0xFA4E, 'M', u'祈'), - (0xFA4F, 'M', u'祐'), - (0xFA50, 'M', u'祖'), - (0xFA51, 'M', u'祝'), - (0xFA52, 'M', u'禍'), - (0xFA53, 'M', u'禎'), - (0xFA54, 'M', u'穀'), - (0xFA55, 'M', u'突'), - (0xFA56, 'M', u'節'), - (0xFA57, 'M', u'練'), - (0xFA58, 'M', u'縉'), - (0xFA59, 'M', u'繁'), - (0xFA5A, 'M', u'署'), - (0xFA5B, 'M', u'者'), - (0xFA5C, 'M', u'臭'), - (0xFA5D, 'M', u'艹'), - (0xFA5F, 'M', u'著'), - (0xFA60, 'M', u'褐'), - (0xFA61, 'M', u'視'), - (0xFA62, 'M', u'謁'), - (0xFA63, 'M', u'謹'), - (0xFA64, 'M', u'賓'), - (0xFA65, 'M', u'贈'), - (0xFA66, 'M', u'辶'), - (0xFA67, 'M', u'逸'), - (0xFA68, 'M', u'難'), - (0xFA69, 'M', u'響'), - (0xFA6A, 'M', u'頻'), - (0xFA6B, 'M', u'恵'), - (0xFA6C, 'M', u'𤋮'), - (0xFA6D, 'M', u'舘'), - (0xFA6E, 'X'), - (0xFA70, 'M', u'並'), - (0xFA71, 'M', u'况'), - (0xFA72, 'M', u'全'), - (0xFA73, 'M', u'侀'), - (0xFA74, 'M', u'充'), - (0xFA75, 'M', u'冀'), - (0xFA76, 'M', u'勇'), - (0xFA77, 'M', u'勺'), - (0xFA78, 'M', u'喝'), - (0xFA79, 'M', u'啕'), - (0xFA7A, 'M', u'喙'), - (0xFA7B, 'M', u'嗢'), - (0xFA7C, 'M', u'塚'), - (0xFA7D, 'M', u'墳'), - (0xFA7E, 'M', u'奄'), - (0xFA7F, 'M', u'奔'), - (0xFA80, 'M', u'婢'), - (0xFA81, 'M', u'嬨'), - (0xFA82, 'M', u'廒'), - (0xFA83, 'M', u'廙'), - (0xFA84, 'M', u'彩'), - (0xFA85, 'M', u'徭'), - (0xFA86, 'M', u'惘'), - (0xFA87, 'M', u'慎'), - (0xFA88, 'M', u'愈'), - (0xFA89, 'M', u'憎'), - (0xFA8A, 'M', u'慠'), - (0xFA8B, 'M', u'懲'), - (0xFA8C, 'M', u'戴'), - (0xFA8D, 'M', u'揄'), - (0xFA8E, 'M', u'搜'), - (0xFA8F, 'M', u'摒'), - (0xFA90, 'M', u'敖'), - (0xFA91, 'M', u'晴'), - (0xFA92, 'M', u'朗'), - (0xFA93, 'M', u'望'), - (0xFA94, 'M', u'杖'), - (0xFA95, 'M', u'歹'), - (0xFA96, 'M', u'殺'), - (0xFA97, 'M', u'流'), - (0xFA98, 'M', u'滛'), - (0xFA99, 'M', u'滋'), - (0xFA9A, 'M', u'漢'), - (0xFA9B, 'M', u'瀞'), - (0xFA9C, 'M', u'煮'), - (0xFA9D, 'M', u'瞧'), - (0xFA9E, 'M', u'爵'), - (0xFA9F, 'M', u'犯'), - (0xFAA0, 'M', u'猪'), - (0xFAA1, 'M', u'瑱'), - (0xFAA2, 'M', u'甆'), - (0xFAA3, 'M', u'画'), - (0xFAA4, 'M', u'瘝'), - (0xFAA5, 'M', u'瘟'), - (0xFAA6, 'M', u'益'), - (0xFAA7, 'M', u'盛'), - (0xFAA8, 'M', u'直'), - (0xFAA9, 'M', u'睊'), - (0xFAAA, 'M', u'着'), - (0xFAAB, 'M', u'磌'), - (0xFAAC, 'M', u'窱'), - ] - -def _seg_43(): - return [ - (0xFAAD, 'M', u'節'), - (0xFAAE, 'M', u'类'), - (0xFAAF, 'M', u'絛'), - (0xFAB0, 'M', u'練'), - (0xFAB1, 'M', u'缾'), - (0xFAB2, 'M', u'者'), - (0xFAB3, 'M', u'荒'), - (0xFAB4, 'M', u'華'), - (0xFAB5, 'M', u'蝹'), - (0xFAB6, 'M', u'襁'), - (0xFAB7, 'M', u'覆'), - (0xFAB8, 'M', u'視'), - (0xFAB9, 'M', u'調'), - (0xFABA, 'M', u'諸'), - (0xFABB, 'M', u'請'), - (0xFABC, 'M', u'謁'), - (0xFABD, 'M', u'諾'), - (0xFABE, 'M', u'諭'), - (0xFABF, 'M', u'謹'), - (0xFAC0, 'M', u'變'), - (0xFAC1, 'M', u'贈'), - (0xFAC2, 'M', u'輸'), - (0xFAC3, 'M', u'遲'), - (0xFAC4, 'M', u'醙'), - (0xFAC5, 'M', u'鉶'), - (0xFAC6, 'M', u'陼'), - (0xFAC7, 'M', u'難'), - (0xFAC8, 'M', u'靖'), - (0xFAC9, 'M', u'韛'), - (0xFACA, 'M', u'響'), - (0xFACB, 'M', u'頋'), - (0xFACC, 'M', u'頻'), - (0xFACD, 'M', u'鬒'), - (0xFACE, 'M', u'龜'), - (0xFACF, 'M', u'𢡊'), - (0xFAD0, 'M', u'𢡄'), - (0xFAD1, 'M', u'𣏕'), - (0xFAD2, 'M', u'㮝'), - (0xFAD3, 'M', u'䀘'), - (0xFAD4, 'M', u'䀹'), - (0xFAD5, 'M', u'𥉉'), - (0xFAD6, 'M', u'𥳐'), - (0xFAD7, 'M', u'𧻓'), - (0xFAD8, 'M', u'齃'), - (0xFAD9, 'M', u'龎'), - (0xFADA, 'X'), - (0xFB00, 'M', u'ff'), - (0xFB01, 'M', u'fi'), - (0xFB02, 'M', u'fl'), - (0xFB03, 'M', u'ffi'), - (0xFB04, 'M', u'ffl'), - (0xFB05, 'M', u'st'), - (0xFB07, 'X'), - (0xFB13, 'M', u'մն'), - (0xFB14, 'M', u'մե'), - (0xFB15, 'M', u'մի'), - (0xFB16, 'M', u'վն'), - (0xFB17, 'M', u'մխ'), - (0xFB18, 'X'), - (0xFB1D, 'M', u'יִ'), - (0xFB1E, 'V'), - (0xFB1F, 'M', u'ײַ'), - (0xFB20, 'M', u'ע'), - (0xFB21, 'M', u'א'), - (0xFB22, 'M', u'ד'), - (0xFB23, 'M', u'ה'), - (0xFB24, 'M', u'כ'), - (0xFB25, 'M', u'ל'), - (0xFB26, 'M', u'ם'), - (0xFB27, 'M', u'ר'), - (0xFB28, 'M', u'ת'), - (0xFB29, '3', u'+'), - (0xFB2A, 'M', u'שׁ'), - (0xFB2B, 'M', u'שׂ'), - (0xFB2C, 'M', u'שּׁ'), - (0xFB2D, 'M', u'שּׂ'), - (0xFB2E, 'M', u'אַ'), - (0xFB2F, 'M', u'אָ'), - (0xFB30, 'M', u'אּ'), - (0xFB31, 'M', u'בּ'), - (0xFB32, 'M', u'גּ'), - (0xFB33, 'M', u'דּ'), - (0xFB34, 'M', u'הּ'), - (0xFB35, 'M', u'וּ'), - (0xFB36, 'M', u'זּ'), - (0xFB37, 'X'), - (0xFB38, 'M', u'טּ'), - (0xFB39, 'M', u'יּ'), - (0xFB3A, 'M', u'ךּ'), - (0xFB3B, 'M', u'כּ'), - (0xFB3C, 'M', u'לּ'), - (0xFB3D, 'X'), - (0xFB3E, 'M', u'מּ'), - (0xFB3F, 'X'), - (0xFB40, 'M', u'נּ'), - (0xFB41, 'M', u'סּ'), - (0xFB42, 'X'), - (0xFB43, 'M', u'ףּ'), - (0xFB44, 'M', u'פּ'), - (0xFB45, 'X'), - ] - -def _seg_44(): - return [ - (0xFB46, 'M', u'צּ'), - (0xFB47, 'M', u'קּ'), - (0xFB48, 'M', u'רּ'), - (0xFB49, 'M', u'שּ'), - (0xFB4A, 'M', u'תּ'), - (0xFB4B, 'M', u'וֹ'), - (0xFB4C, 'M', u'בֿ'), - (0xFB4D, 'M', u'כֿ'), - (0xFB4E, 'M', u'פֿ'), - (0xFB4F, 'M', u'אל'), - (0xFB50, 'M', u'ٱ'), - (0xFB52, 'M', u'ٻ'), - (0xFB56, 'M', u'پ'), - (0xFB5A, 'M', u'ڀ'), - (0xFB5E, 'M', u'ٺ'), - (0xFB62, 'M', u'ٿ'), - (0xFB66, 'M', u'ٹ'), - (0xFB6A, 'M', u'ڤ'), - (0xFB6E, 'M', u'ڦ'), - (0xFB72, 'M', u'ڄ'), - (0xFB76, 'M', u'ڃ'), - (0xFB7A, 'M', u'چ'), - (0xFB7E, 'M', u'ڇ'), - (0xFB82, 'M', u'ڍ'), - (0xFB84, 'M', u'ڌ'), - (0xFB86, 'M', u'ڎ'), - (0xFB88, 'M', u'ڈ'), - (0xFB8A, 'M', u'ژ'), - (0xFB8C, 'M', u'ڑ'), - (0xFB8E, 'M', u'ک'), - (0xFB92, 'M', u'گ'), - (0xFB96, 'M', u'ڳ'), - (0xFB9A, 'M', u'ڱ'), - (0xFB9E, 'M', u'ں'), - (0xFBA0, 'M', u'ڻ'), - (0xFBA4, 'M', u'ۀ'), - (0xFBA6, 'M', u'ہ'), - (0xFBAA, 'M', u'ھ'), - (0xFBAE, 'M', u'ے'), - (0xFBB0, 'M', u'ۓ'), - (0xFBB2, 'V'), - (0xFBC2, 'X'), - (0xFBD3, 'M', u'ڭ'), - (0xFBD7, 'M', u'ۇ'), - (0xFBD9, 'M', u'ۆ'), - (0xFBDB, 'M', u'ۈ'), - (0xFBDD, 'M', u'ۇٴ'), - (0xFBDE, 'M', u'ۋ'), - (0xFBE0, 'M', u'ۅ'), - (0xFBE2, 'M', u'ۉ'), - (0xFBE4, 'M', u'ې'), - (0xFBE8, 'M', u'ى'), - (0xFBEA, 'M', u'ئا'), - (0xFBEC, 'M', u'ئە'), - (0xFBEE, 'M', u'ئو'), - (0xFBF0, 'M', u'ئۇ'), - (0xFBF2, 'M', u'ئۆ'), - (0xFBF4, 'M', u'ئۈ'), - (0xFBF6, 'M', u'ئې'), - (0xFBF9, 'M', u'ئى'), - (0xFBFC, 'M', u'ی'), - (0xFC00, 'M', u'ئج'), - (0xFC01, 'M', u'ئح'), - (0xFC02, 'M', u'ئم'), - (0xFC03, 'M', u'ئى'), - (0xFC04, 'M', u'ئي'), - (0xFC05, 'M', u'بج'), - (0xFC06, 'M', u'بح'), - (0xFC07, 'M', u'بخ'), - (0xFC08, 'M', u'بم'), - (0xFC09, 'M', u'بى'), - (0xFC0A, 'M', u'بي'), - (0xFC0B, 'M', u'تج'), - (0xFC0C, 'M', u'تح'), - (0xFC0D, 'M', u'تخ'), - (0xFC0E, 'M', u'تم'), - (0xFC0F, 'M', u'تى'), - (0xFC10, 'M', u'تي'), - (0xFC11, 'M', u'ثج'), - (0xFC12, 'M', u'ثم'), - (0xFC13, 'M', u'ثى'), - (0xFC14, 'M', u'ثي'), - (0xFC15, 'M', u'جح'), - (0xFC16, 'M', u'جم'), - (0xFC17, 'M', u'حج'), - (0xFC18, 'M', u'حم'), - (0xFC19, 'M', u'خج'), - (0xFC1A, 'M', u'خح'), - (0xFC1B, 'M', u'خم'), - (0xFC1C, 'M', u'سج'), - (0xFC1D, 'M', u'سح'), - (0xFC1E, 'M', u'سخ'), - (0xFC1F, 'M', u'سم'), - (0xFC20, 'M', u'صح'), - (0xFC21, 'M', u'صم'), - (0xFC22, 'M', u'ضج'), - (0xFC23, 'M', u'ضح'), - (0xFC24, 'M', u'ضخ'), - (0xFC25, 'M', u'ضم'), - (0xFC26, 'M', u'طح'), - ] - -def _seg_45(): - return [ - (0xFC27, 'M', u'طم'), - (0xFC28, 'M', u'ظم'), - (0xFC29, 'M', u'عج'), - (0xFC2A, 'M', u'عم'), - (0xFC2B, 'M', u'غج'), - (0xFC2C, 'M', u'غم'), - (0xFC2D, 'M', u'فج'), - (0xFC2E, 'M', u'فح'), - (0xFC2F, 'M', u'فخ'), - (0xFC30, 'M', u'فم'), - (0xFC31, 'M', u'فى'), - (0xFC32, 'M', u'في'), - (0xFC33, 'M', u'قح'), - (0xFC34, 'M', u'قم'), - (0xFC35, 'M', u'قى'), - (0xFC36, 'M', u'قي'), - (0xFC37, 'M', u'كا'), - (0xFC38, 'M', u'كج'), - (0xFC39, 'M', u'كح'), - (0xFC3A, 'M', u'كخ'), - (0xFC3B, 'M', u'كل'), - (0xFC3C, 'M', u'كم'), - (0xFC3D, 'M', u'كى'), - (0xFC3E, 'M', u'كي'), - (0xFC3F, 'M', u'لج'), - (0xFC40, 'M', u'لح'), - (0xFC41, 'M', u'لخ'), - (0xFC42, 'M', u'لم'), - (0xFC43, 'M', u'لى'), - (0xFC44, 'M', u'لي'), - (0xFC45, 'M', u'مج'), - (0xFC46, 'M', u'مح'), - (0xFC47, 'M', u'مخ'), - (0xFC48, 'M', u'مم'), - (0xFC49, 'M', u'مى'), - (0xFC4A, 'M', u'مي'), - (0xFC4B, 'M', u'نج'), - (0xFC4C, 'M', u'نح'), - (0xFC4D, 'M', u'نخ'), - (0xFC4E, 'M', u'نم'), - (0xFC4F, 'M', u'نى'), - (0xFC50, 'M', u'ني'), - (0xFC51, 'M', u'هج'), - (0xFC52, 'M', u'هم'), - (0xFC53, 'M', u'هى'), - (0xFC54, 'M', u'هي'), - (0xFC55, 'M', u'يج'), - (0xFC56, 'M', u'يح'), - (0xFC57, 'M', u'يخ'), - (0xFC58, 'M', u'يم'), - (0xFC59, 'M', u'يى'), - (0xFC5A, 'M', u'يي'), - (0xFC5B, 'M', u'ذٰ'), - (0xFC5C, 'M', u'رٰ'), - (0xFC5D, 'M', u'ىٰ'), - (0xFC5E, '3', u' ٌّ'), - (0xFC5F, '3', u' ٍّ'), - (0xFC60, '3', u' َّ'), - (0xFC61, '3', u' ُّ'), - (0xFC62, '3', u' ِّ'), - (0xFC63, '3', u' ّٰ'), - (0xFC64, 'M', u'ئر'), - (0xFC65, 'M', u'ئز'), - (0xFC66, 'M', u'ئم'), - (0xFC67, 'M', u'ئن'), - (0xFC68, 'M', u'ئى'), - (0xFC69, 'M', u'ئي'), - (0xFC6A, 'M', u'بر'), - (0xFC6B, 'M', u'بز'), - (0xFC6C, 'M', u'بم'), - (0xFC6D, 'M', u'بن'), - (0xFC6E, 'M', u'بى'), - (0xFC6F, 'M', u'بي'), - (0xFC70, 'M', u'تر'), - (0xFC71, 'M', u'تز'), - (0xFC72, 'M', u'تم'), - (0xFC73, 'M', u'تن'), - (0xFC74, 'M', u'تى'), - (0xFC75, 'M', u'تي'), - (0xFC76, 'M', u'ثر'), - (0xFC77, 'M', u'ثز'), - (0xFC78, 'M', u'ثم'), - (0xFC79, 'M', u'ثن'), - (0xFC7A, 'M', u'ثى'), - (0xFC7B, 'M', u'ثي'), - (0xFC7C, 'M', u'فى'), - (0xFC7D, 'M', u'في'), - (0xFC7E, 'M', u'قى'), - (0xFC7F, 'M', u'قي'), - (0xFC80, 'M', u'كا'), - (0xFC81, 'M', u'كل'), - (0xFC82, 'M', u'كم'), - (0xFC83, 'M', u'كى'), - (0xFC84, 'M', u'كي'), - (0xFC85, 'M', u'لم'), - (0xFC86, 'M', u'لى'), - (0xFC87, 'M', u'لي'), - (0xFC88, 'M', u'ما'), - (0xFC89, 'M', u'مم'), - (0xFC8A, 'M', u'نر'), - ] - -def _seg_46(): - return [ - (0xFC8B, 'M', u'نز'), - (0xFC8C, 'M', u'نم'), - (0xFC8D, 'M', u'نن'), - (0xFC8E, 'M', u'نى'), - (0xFC8F, 'M', u'ني'), - (0xFC90, 'M', u'ىٰ'), - (0xFC91, 'M', u'ير'), - (0xFC92, 'M', u'يز'), - (0xFC93, 'M', u'يم'), - (0xFC94, 'M', u'ين'), - (0xFC95, 'M', u'يى'), - (0xFC96, 'M', u'يي'), - (0xFC97, 'M', u'ئج'), - (0xFC98, 'M', u'ئح'), - (0xFC99, 'M', u'ئخ'), - (0xFC9A, 'M', u'ئم'), - (0xFC9B, 'M', u'ئه'), - (0xFC9C, 'M', u'بج'), - (0xFC9D, 'M', u'بح'), - (0xFC9E, 'M', u'بخ'), - (0xFC9F, 'M', u'بم'), - (0xFCA0, 'M', u'به'), - (0xFCA1, 'M', u'تج'), - (0xFCA2, 'M', u'تح'), - (0xFCA3, 'M', u'تخ'), - (0xFCA4, 'M', u'تم'), - (0xFCA5, 'M', u'ته'), - (0xFCA6, 'M', u'ثم'), - (0xFCA7, 'M', u'جح'), - (0xFCA8, 'M', u'جم'), - (0xFCA9, 'M', u'حج'), - (0xFCAA, 'M', u'حم'), - (0xFCAB, 'M', u'خج'), - (0xFCAC, 'M', u'خم'), - (0xFCAD, 'M', u'سج'), - (0xFCAE, 'M', u'سح'), - (0xFCAF, 'M', u'سخ'), - (0xFCB0, 'M', u'سم'), - (0xFCB1, 'M', u'صح'), - (0xFCB2, 'M', u'صخ'), - (0xFCB3, 'M', u'صم'), - (0xFCB4, 'M', u'ضج'), - (0xFCB5, 'M', u'ضح'), - (0xFCB6, 'M', u'ضخ'), - (0xFCB7, 'M', u'ضم'), - (0xFCB8, 'M', u'طح'), - (0xFCB9, 'M', u'ظم'), - (0xFCBA, 'M', u'عج'), - (0xFCBB, 'M', u'عم'), - (0xFCBC, 'M', u'غج'), - (0xFCBD, 'M', u'غم'), - (0xFCBE, 'M', u'فج'), - (0xFCBF, 'M', u'فح'), - (0xFCC0, 'M', u'فخ'), - (0xFCC1, 'M', u'فم'), - (0xFCC2, 'M', u'قح'), - (0xFCC3, 'M', u'قم'), - (0xFCC4, 'M', u'كج'), - (0xFCC5, 'M', u'كح'), - (0xFCC6, 'M', u'كخ'), - (0xFCC7, 'M', u'كل'), - (0xFCC8, 'M', u'كم'), - (0xFCC9, 'M', u'لج'), - (0xFCCA, 'M', u'لح'), - (0xFCCB, 'M', u'لخ'), - (0xFCCC, 'M', u'لم'), - (0xFCCD, 'M', u'له'), - (0xFCCE, 'M', u'مج'), - (0xFCCF, 'M', u'مح'), - (0xFCD0, 'M', u'مخ'), - (0xFCD1, 'M', u'مم'), - (0xFCD2, 'M', u'نج'), - (0xFCD3, 'M', u'نح'), - (0xFCD4, 'M', u'نخ'), - (0xFCD5, 'M', u'نم'), - (0xFCD6, 'M', u'نه'), - (0xFCD7, 'M', u'هج'), - (0xFCD8, 'M', u'هم'), - (0xFCD9, 'M', u'هٰ'), - (0xFCDA, 'M', u'يج'), - (0xFCDB, 'M', u'يح'), - (0xFCDC, 'M', u'يخ'), - (0xFCDD, 'M', u'يم'), - (0xFCDE, 'M', u'يه'), - (0xFCDF, 'M', u'ئم'), - (0xFCE0, 'M', u'ئه'), - (0xFCE1, 'M', u'بم'), - (0xFCE2, 'M', u'به'), - (0xFCE3, 'M', u'تم'), - (0xFCE4, 'M', u'ته'), - (0xFCE5, 'M', u'ثم'), - (0xFCE6, 'M', u'ثه'), - (0xFCE7, 'M', u'سم'), - (0xFCE8, 'M', u'سه'), - (0xFCE9, 'M', u'شم'), - (0xFCEA, 'M', u'شه'), - (0xFCEB, 'M', u'كل'), - (0xFCEC, 'M', u'كم'), - (0xFCED, 'M', u'لم'), - (0xFCEE, 'M', u'نم'), - ] - -def _seg_47(): - return [ - (0xFCEF, 'M', u'نه'), - (0xFCF0, 'M', u'يم'), - (0xFCF1, 'M', u'يه'), - (0xFCF2, 'M', u'ـَّ'), - (0xFCF3, 'M', u'ـُّ'), - (0xFCF4, 'M', u'ـِّ'), - (0xFCF5, 'M', u'طى'), - (0xFCF6, 'M', u'طي'), - (0xFCF7, 'M', u'عى'), - (0xFCF8, 'M', u'عي'), - (0xFCF9, 'M', u'غى'), - (0xFCFA, 'M', u'غي'), - (0xFCFB, 'M', u'سى'), - (0xFCFC, 'M', u'سي'), - (0xFCFD, 'M', u'شى'), - (0xFCFE, 'M', u'شي'), - (0xFCFF, 'M', u'حى'), - (0xFD00, 'M', u'حي'), - (0xFD01, 'M', u'جى'), - (0xFD02, 'M', u'جي'), - (0xFD03, 'M', u'خى'), - (0xFD04, 'M', u'خي'), - (0xFD05, 'M', u'صى'), - (0xFD06, 'M', u'صي'), - (0xFD07, 'M', u'ضى'), - (0xFD08, 'M', u'ضي'), - (0xFD09, 'M', u'شج'), - (0xFD0A, 'M', u'شح'), - (0xFD0B, 'M', u'شخ'), - (0xFD0C, 'M', u'شم'), - (0xFD0D, 'M', u'شر'), - (0xFD0E, 'M', u'سر'), - (0xFD0F, 'M', u'صر'), - (0xFD10, 'M', u'ضر'), - (0xFD11, 'M', u'طى'), - (0xFD12, 'M', u'طي'), - (0xFD13, 'M', u'عى'), - (0xFD14, 'M', u'عي'), - (0xFD15, 'M', u'غى'), - (0xFD16, 'M', u'غي'), - (0xFD17, 'M', u'سى'), - (0xFD18, 'M', u'سي'), - (0xFD19, 'M', u'شى'), - (0xFD1A, 'M', u'شي'), - (0xFD1B, 'M', u'حى'), - (0xFD1C, 'M', u'حي'), - (0xFD1D, 'M', u'جى'), - (0xFD1E, 'M', u'جي'), - (0xFD1F, 'M', u'خى'), - (0xFD20, 'M', u'خي'), - (0xFD21, 'M', u'صى'), - (0xFD22, 'M', u'صي'), - (0xFD23, 'M', u'ضى'), - (0xFD24, 'M', u'ضي'), - (0xFD25, 'M', u'شج'), - (0xFD26, 'M', u'شح'), - (0xFD27, 'M', u'شخ'), - (0xFD28, 'M', u'شم'), - (0xFD29, 'M', u'شر'), - (0xFD2A, 'M', u'سر'), - (0xFD2B, 'M', u'صر'), - (0xFD2C, 'M', u'ضر'), - (0xFD2D, 'M', u'شج'), - (0xFD2E, 'M', u'شح'), - (0xFD2F, 'M', u'شخ'), - (0xFD30, 'M', u'شم'), - (0xFD31, 'M', u'سه'), - (0xFD32, 'M', u'شه'), - (0xFD33, 'M', u'طم'), - (0xFD34, 'M', u'سج'), - (0xFD35, 'M', u'سح'), - (0xFD36, 'M', u'سخ'), - (0xFD37, 'M', u'شج'), - (0xFD38, 'M', u'شح'), - (0xFD39, 'M', u'شخ'), - (0xFD3A, 'M', u'طم'), - (0xFD3B, 'M', u'ظم'), - (0xFD3C, 'M', u'اً'), - (0xFD3E, 'V'), - (0xFD40, 'X'), - (0xFD50, 'M', u'تجم'), - (0xFD51, 'M', u'تحج'), - (0xFD53, 'M', u'تحم'), - (0xFD54, 'M', u'تخم'), - (0xFD55, 'M', u'تمج'), - (0xFD56, 'M', u'تمح'), - (0xFD57, 'M', u'تمخ'), - (0xFD58, 'M', u'جمح'), - (0xFD5A, 'M', u'حمي'), - (0xFD5B, 'M', u'حمى'), - (0xFD5C, 'M', u'سحج'), - (0xFD5D, 'M', u'سجح'), - (0xFD5E, 'M', u'سجى'), - (0xFD5F, 'M', u'سمح'), - (0xFD61, 'M', u'سمج'), - (0xFD62, 'M', u'سمم'), - (0xFD64, 'M', u'صحح'), - (0xFD66, 'M', u'صمم'), - (0xFD67, 'M', u'شحم'), - (0xFD69, 'M', u'شجي'), - ] - -def _seg_48(): - return [ - (0xFD6A, 'M', u'شمخ'), - (0xFD6C, 'M', u'شمم'), - (0xFD6E, 'M', u'ضحى'), - (0xFD6F, 'M', u'ضخم'), - (0xFD71, 'M', u'طمح'), - (0xFD73, 'M', u'طمم'), - (0xFD74, 'M', u'طمي'), - (0xFD75, 'M', u'عجم'), - (0xFD76, 'M', u'عمم'), - (0xFD78, 'M', u'عمى'), - (0xFD79, 'M', u'غمم'), - (0xFD7A, 'M', u'غمي'), - (0xFD7B, 'M', u'غمى'), - (0xFD7C, 'M', u'فخم'), - (0xFD7E, 'M', u'قمح'), - (0xFD7F, 'M', u'قمم'), - (0xFD80, 'M', u'لحم'), - (0xFD81, 'M', u'لحي'), - (0xFD82, 'M', u'لحى'), - (0xFD83, 'M', u'لجج'), - (0xFD85, 'M', u'لخم'), - (0xFD87, 'M', u'لمح'), - (0xFD89, 'M', u'محج'), - (0xFD8A, 'M', u'محم'), - (0xFD8B, 'M', u'محي'), - (0xFD8C, 'M', u'مجح'), - (0xFD8D, 'M', u'مجم'), - (0xFD8E, 'M', u'مخج'), - (0xFD8F, 'M', u'مخم'), - (0xFD90, 'X'), - (0xFD92, 'M', u'مجخ'), - (0xFD93, 'M', u'همج'), - (0xFD94, 'M', u'همم'), - (0xFD95, 'M', u'نحم'), - (0xFD96, 'M', u'نحى'), - (0xFD97, 'M', u'نجم'), - (0xFD99, 'M', u'نجى'), - (0xFD9A, 'M', u'نمي'), - (0xFD9B, 'M', u'نمى'), - (0xFD9C, 'M', u'يمم'), - (0xFD9E, 'M', u'بخي'), - (0xFD9F, 'M', u'تجي'), - (0xFDA0, 'M', u'تجى'), - (0xFDA1, 'M', u'تخي'), - (0xFDA2, 'M', u'تخى'), - (0xFDA3, 'M', u'تمي'), - (0xFDA4, 'M', u'تمى'), - (0xFDA5, 'M', u'جمي'), - (0xFDA6, 'M', u'جحى'), - (0xFDA7, 'M', u'جمى'), - (0xFDA8, 'M', u'سخى'), - (0xFDA9, 'M', u'صحي'), - (0xFDAA, 'M', u'شحي'), - (0xFDAB, 'M', u'ضحي'), - (0xFDAC, 'M', u'لجي'), - (0xFDAD, 'M', u'لمي'), - (0xFDAE, 'M', u'يحي'), - (0xFDAF, 'M', u'يجي'), - (0xFDB0, 'M', u'يمي'), - (0xFDB1, 'M', u'ممي'), - (0xFDB2, 'M', u'قمي'), - (0xFDB3, 'M', u'نحي'), - (0xFDB4, 'M', u'قمح'), - (0xFDB5, 'M', u'لحم'), - (0xFDB6, 'M', u'عمي'), - (0xFDB7, 'M', u'كمي'), - (0xFDB8, 'M', u'نجح'), - (0xFDB9, 'M', u'مخي'), - (0xFDBA, 'M', u'لجم'), - (0xFDBB, 'M', u'كمم'), - (0xFDBC, 'M', u'لجم'), - (0xFDBD, 'M', u'نجح'), - (0xFDBE, 'M', u'جحي'), - (0xFDBF, 'M', u'حجي'), - (0xFDC0, 'M', u'مجي'), - (0xFDC1, 'M', u'فمي'), - (0xFDC2, 'M', u'بحي'), - (0xFDC3, 'M', u'كمم'), - (0xFDC4, 'M', u'عجم'), - (0xFDC5, 'M', u'صمم'), - (0xFDC6, 'M', u'سخي'), - (0xFDC7, 'M', u'نجي'), - (0xFDC8, 'X'), - (0xFDF0, 'M', u'صلے'), - (0xFDF1, 'M', u'قلے'), - (0xFDF2, 'M', u'الله'), - (0xFDF3, 'M', u'اكبر'), - (0xFDF4, 'M', u'محمد'), - (0xFDF5, 'M', u'صلعم'), - (0xFDF6, 'M', u'رسول'), - (0xFDF7, 'M', u'عليه'), - (0xFDF8, 'M', u'وسلم'), - (0xFDF9, 'M', u'صلى'), - (0xFDFA, '3', u'صلى الله عليه وسلم'), - (0xFDFB, '3', u'جل جلاله'), - (0xFDFC, 'M', u'ریال'), - (0xFDFD, 'V'), - (0xFDFE, 'X'), - (0xFE00, 'I'), - (0xFE10, '3', u','), - ] - -def _seg_49(): - return [ - (0xFE11, 'M', u'、'), - (0xFE12, 'X'), - (0xFE13, '3', u':'), - (0xFE14, '3', u';'), - (0xFE15, '3', u'!'), - (0xFE16, '3', u'?'), - (0xFE17, 'M', u'〖'), - (0xFE18, 'M', u'〗'), - (0xFE19, 'X'), - (0xFE20, 'V'), - (0xFE30, 'X'), - (0xFE31, 'M', u'—'), - (0xFE32, 'M', u'–'), - (0xFE33, '3', u'_'), - (0xFE35, '3', u'('), - (0xFE36, '3', u')'), - (0xFE37, '3', u'{'), - (0xFE38, '3', u'}'), - (0xFE39, 'M', u'〔'), - (0xFE3A, 'M', u'〕'), - (0xFE3B, 'M', u'【'), - (0xFE3C, 'M', u'】'), - (0xFE3D, 'M', u'《'), - (0xFE3E, 'M', u'》'), - (0xFE3F, 'M', u'〈'), - (0xFE40, 'M', u'〉'), - (0xFE41, 'M', u'「'), - (0xFE42, 'M', u'」'), - (0xFE43, 'M', u'『'), - (0xFE44, 'M', u'』'), - (0xFE45, 'V'), - (0xFE47, '3', u'['), - (0xFE48, '3', u']'), - (0xFE49, '3', u' ̅'), - (0xFE4D, '3', u'_'), - (0xFE50, '3', u','), - (0xFE51, 'M', u'、'), - (0xFE52, 'X'), - (0xFE54, '3', u';'), - (0xFE55, '3', u':'), - (0xFE56, '3', u'?'), - (0xFE57, '3', u'!'), - (0xFE58, 'M', u'—'), - (0xFE59, '3', u'('), - (0xFE5A, '3', u')'), - (0xFE5B, '3', u'{'), - (0xFE5C, '3', u'}'), - (0xFE5D, 'M', u'〔'), - (0xFE5E, 'M', u'〕'), - (0xFE5F, '3', u'#'), - (0xFE60, '3', u'&'), - (0xFE61, '3', u'*'), - (0xFE62, '3', u'+'), - (0xFE63, 'M', u'-'), - (0xFE64, '3', u'<'), - (0xFE65, '3', u'>'), - (0xFE66, '3', u'='), - (0xFE67, 'X'), - (0xFE68, '3', u'\\'), - (0xFE69, '3', u'$'), - (0xFE6A, '3', u'%'), - (0xFE6B, '3', u'@'), - (0xFE6C, 'X'), - (0xFE70, '3', u' ً'), - (0xFE71, 'M', u'ـً'), - (0xFE72, '3', u' ٌ'), - (0xFE73, 'V'), - (0xFE74, '3', u' ٍ'), - (0xFE75, 'X'), - (0xFE76, '3', u' َ'), - (0xFE77, 'M', u'ـَ'), - (0xFE78, '3', u' ُ'), - (0xFE79, 'M', u'ـُ'), - (0xFE7A, '3', u' ِ'), - (0xFE7B, 'M', u'ـِ'), - (0xFE7C, '3', u' ّ'), - (0xFE7D, 'M', u'ـّ'), - (0xFE7E, '3', u' ْ'), - (0xFE7F, 'M', u'ـْ'), - (0xFE80, 'M', u'ء'), - (0xFE81, 'M', u'آ'), - (0xFE83, 'M', u'أ'), - (0xFE85, 'M', u'ؤ'), - (0xFE87, 'M', u'إ'), - (0xFE89, 'M', u'ئ'), - (0xFE8D, 'M', u'ا'), - (0xFE8F, 'M', u'ب'), - (0xFE93, 'M', u'ة'), - (0xFE95, 'M', u'ت'), - (0xFE99, 'M', u'ث'), - (0xFE9D, 'M', u'ج'), - (0xFEA1, 'M', u'ح'), - (0xFEA5, 'M', u'خ'), - (0xFEA9, 'M', u'د'), - (0xFEAB, 'M', u'ذ'), - (0xFEAD, 'M', u'ر'), - (0xFEAF, 'M', u'ز'), - (0xFEB1, 'M', u'س'), - (0xFEB5, 'M', u'ش'), - (0xFEB9, 'M', u'ص'), - ] - -def _seg_50(): - return [ - (0xFEBD, 'M', u'ض'), - (0xFEC1, 'M', u'ط'), - (0xFEC5, 'M', u'ظ'), - (0xFEC9, 'M', u'ع'), - (0xFECD, 'M', u'غ'), - (0xFED1, 'M', u'ف'), - (0xFED5, 'M', u'ق'), - (0xFED9, 'M', u'ك'), - (0xFEDD, 'M', u'ل'), - (0xFEE1, 'M', u'م'), - (0xFEE5, 'M', u'ن'), - (0xFEE9, 'M', u'ه'), - (0xFEED, 'M', u'و'), - (0xFEEF, 'M', u'ى'), - (0xFEF1, 'M', u'ي'), - (0xFEF5, 'M', u'لآ'), - (0xFEF7, 'M', u'لأ'), - (0xFEF9, 'M', u'لإ'), - (0xFEFB, 'M', u'لا'), - (0xFEFD, 'X'), - (0xFEFF, 'I'), - (0xFF00, 'X'), - (0xFF01, '3', u'!'), - (0xFF02, '3', u'"'), - (0xFF03, '3', u'#'), - (0xFF04, '3', u'$'), - (0xFF05, '3', u'%'), - (0xFF06, '3', u'&'), - (0xFF07, '3', u'\''), - (0xFF08, '3', u'('), - (0xFF09, '3', u')'), - (0xFF0A, '3', u'*'), - (0xFF0B, '3', u'+'), - (0xFF0C, '3', u','), - (0xFF0D, 'M', u'-'), - (0xFF0E, 'M', u'.'), - (0xFF0F, '3', u'/'), - (0xFF10, 'M', u'0'), - (0xFF11, 'M', u'1'), - (0xFF12, 'M', u'2'), - (0xFF13, 'M', u'3'), - (0xFF14, 'M', u'4'), - (0xFF15, 'M', u'5'), - (0xFF16, 'M', u'6'), - (0xFF17, 'M', u'7'), - (0xFF18, 'M', u'8'), - (0xFF19, 'M', u'9'), - (0xFF1A, '3', u':'), - (0xFF1B, '3', u';'), - (0xFF1C, '3', u'<'), - (0xFF1D, '3', u'='), - (0xFF1E, '3', u'>'), - (0xFF1F, '3', u'?'), - (0xFF20, '3', u'@'), - (0xFF21, 'M', u'a'), - (0xFF22, 'M', u'b'), - (0xFF23, 'M', u'c'), - (0xFF24, 'M', u'd'), - (0xFF25, 'M', u'e'), - (0xFF26, 'M', u'f'), - (0xFF27, 'M', u'g'), - (0xFF28, 'M', u'h'), - (0xFF29, 'M', u'i'), - (0xFF2A, 'M', u'j'), - (0xFF2B, 'M', u'k'), - (0xFF2C, 'M', u'l'), - (0xFF2D, 'M', u'm'), - (0xFF2E, 'M', u'n'), - (0xFF2F, 'M', u'o'), - (0xFF30, 'M', u'p'), - (0xFF31, 'M', u'q'), - (0xFF32, 'M', u'r'), - (0xFF33, 'M', u's'), - (0xFF34, 'M', u't'), - (0xFF35, 'M', u'u'), - (0xFF36, 'M', u'v'), - (0xFF37, 'M', u'w'), - (0xFF38, 'M', u'x'), - (0xFF39, 'M', u'y'), - (0xFF3A, 'M', u'z'), - (0xFF3B, '3', u'['), - (0xFF3C, '3', u'\\'), - (0xFF3D, '3', u']'), - (0xFF3E, '3', u'^'), - (0xFF3F, '3', u'_'), - (0xFF40, '3', u'`'), - (0xFF41, 'M', u'a'), - (0xFF42, 'M', u'b'), - (0xFF43, 'M', u'c'), - (0xFF44, 'M', u'd'), - (0xFF45, 'M', u'e'), - (0xFF46, 'M', u'f'), - (0xFF47, 'M', u'g'), - (0xFF48, 'M', u'h'), - (0xFF49, 'M', u'i'), - (0xFF4A, 'M', u'j'), - (0xFF4B, 'M', u'k'), - (0xFF4C, 'M', u'l'), - (0xFF4D, 'M', u'm'), - (0xFF4E, 'M', u'n'), - ] - -def _seg_51(): - return [ - (0xFF4F, 'M', u'o'), - (0xFF50, 'M', u'p'), - (0xFF51, 'M', u'q'), - (0xFF52, 'M', u'r'), - (0xFF53, 'M', u's'), - (0xFF54, 'M', u't'), - (0xFF55, 'M', u'u'), - (0xFF56, 'M', u'v'), - (0xFF57, 'M', u'w'), - (0xFF58, 'M', u'x'), - (0xFF59, 'M', u'y'), - (0xFF5A, 'M', u'z'), - (0xFF5B, '3', u'{'), - (0xFF5C, '3', u'|'), - (0xFF5D, '3', u'}'), - (0xFF5E, '3', u'~'), - (0xFF5F, 'M', u'⦅'), - (0xFF60, 'M', u'⦆'), - (0xFF61, 'M', u'.'), - (0xFF62, 'M', u'「'), - (0xFF63, 'M', u'」'), - (0xFF64, 'M', u'、'), - (0xFF65, 'M', u'・'), - (0xFF66, 'M', u'ヲ'), - (0xFF67, 'M', u'ァ'), - (0xFF68, 'M', u'ィ'), - (0xFF69, 'M', u'ゥ'), - (0xFF6A, 'M', u'ェ'), - (0xFF6B, 'M', u'ォ'), - (0xFF6C, 'M', u'ャ'), - (0xFF6D, 'M', u'ュ'), - (0xFF6E, 'M', u'ョ'), - (0xFF6F, 'M', u'ッ'), - (0xFF70, 'M', u'ー'), - (0xFF71, 'M', u'ア'), - (0xFF72, 'M', u'イ'), - (0xFF73, 'M', u'ウ'), - (0xFF74, 'M', u'エ'), - (0xFF75, 'M', u'オ'), - (0xFF76, 'M', u'カ'), - (0xFF77, 'M', u'キ'), - (0xFF78, 'M', u'ク'), - (0xFF79, 'M', u'ケ'), - (0xFF7A, 'M', u'コ'), - (0xFF7B, 'M', u'サ'), - (0xFF7C, 'M', u'シ'), - (0xFF7D, 'M', u'ス'), - (0xFF7E, 'M', u'セ'), - (0xFF7F, 'M', u'ソ'), - (0xFF80, 'M', u'タ'), - (0xFF81, 'M', u'チ'), - (0xFF82, 'M', u'ツ'), - (0xFF83, 'M', u'テ'), - (0xFF84, 'M', u'ト'), - (0xFF85, 'M', u'ナ'), - (0xFF86, 'M', u'ニ'), - (0xFF87, 'M', u'ヌ'), - (0xFF88, 'M', u'ネ'), - (0xFF89, 'M', u'ノ'), - (0xFF8A, 'M', u'ハ'), - (0xFF8B, 'M', u'ヒ'), - (0xFF8C, 'M', u'フ'), - (0xFF8D, 'M', u'ヘ'), - (0xFF8E, 'M', u'ホ'), - (0xFF8F, 'M', u'マ'), - (0xFF90, 'M', u'ミ'), - (0xFF91, 'M', u'ム'), - (0xFF92, 'M', u'メ'), - (0xFF93, 'M', u'モ'), - (0xFF94, 'M', u'ヤ'), - (0xFF95, 'M', u'ユ'), - (0xFF96, 'M', u'ヨ'), - (0xFF97, 'M', u'ラ'), - (0xFF98, 'M', u'リ'), - (0xFF99, 'M', u'ル'), - (0xFF9A, 'M', u'レ'), - (0xFF9B, 'M', u'ロ'), - (0xFF9C, 'M', u'ワ'), - (0xFF9D, 'M', u'ン'), - (0xFF9E, 'M', u'゙'), - (0xFF9F, 'M', u'゚'), - (0xFFA0, 'X'), - (0xFFA1, 'M', u'ᄀ'), - (0xFFA2, 'M', u'ᄁ'), - (0xFFA3, 'M', u'ᆪ'), - (0xFFA4, 'M', u'ᄂ'), - (0xFFA5, 'M', u'ᆬ'), - (0xFFA6, 'M', u'ᆭ'), - (0xFFA7, 'M', u'ᄃ'), - (0xFFA8, 'M', u'ᄄ'), - (0xFFA9, 'M', u'ᄅ'), - (0xFFAA, 'M', u'ᆰ'), - (0xFFAB, 'M', u'ᆱ'), - (0xFFAC, 'M', u'ᆲ'), - (0xFFAD, 'M', u'ᆳ'), - (0xFFAE, 'M', u'ᆴ'), - (0xFFAF, 'M', u'ᆵ'), - (0xFFB0, 'M', u'ᄚ'), - (0xFFB1, 'M', u'ᄆ'), - (0xFFB2, 'M', u'ᄇ'), - ] - -def _seg_52(): - return [ - (0xFFB3, 'M', u'ᄈ'), - (0xFFB4, 'M', u'ᄡ'), - (0xFFB5, 'M', u'ᄉ'), - (0xFFB6, 'M', u'ᄊ'), - (0xFFB7, 'M', u'ᄋ'), - (0xFFB8, 'M', u'ᄌ'), - (0xFFB9, 'M', u'ᄍ'), - (0xFFBA, 'M', u'ᄎ'), - (0xFFBB, 'M', u'ᄏ'), - (0xFFBC, 'M', u'ᄐ'), - (0xFFBD, 'M', u'ᄑ'), - (0xFFBE, 'M', u'ᄒ'), - (0xFFBF, 'X'), - (0xFFC2, 'M', u'ᅡ'), - (0xFFC3, 'M', u'ᅢ'), - (0xFFC4, 'M', u'ᅣ'), - (0xFFC5, 'M', u'ᅤ'), - (0xFFC6, 'M', u'ᅥ'), - (0xFFC7, 'M', u'ᅦ'), - (0xFFC8, 'X'), - (0xFFCA, 'M', u'ᅧ'), - (0xFFCB, 'M', u'ᅨ'), - (0xFFCC, 'M', u'ᅩ'), - (0xFFCD, 'M', u'ᅪ'), - (0xFFCE, 'M', u'ᅫ'), - (0xFFCF, 'M', u'ᅬ'), - (0xFFD0, 'X'), - (0xFFD2, 'M', u'ᅭ'), - (0xFFD3, 'M', u'ᅮ'), - (0xFFD4, 'M', u'ᅯ'), - (0xFFD5, 'M', u'ᅰ'), - (0xFFD6, 'M', u'ᅱ'), - (0xFFD7, 'M', u'ᅲ'), - (0xFFD8, 'X'), - (0xFFDA, 'M', u'ᅳ'), - (0xFFDB, 'M', u'ᅴ'), - (0xFFDC, 'M', u'ᅵ'), - (0xFFDD, 'X'), - (0xFFE0, 'M', u'¢'), - (0xFFE1, 'M', u'£'), - (0xFFE2, 'M', u'¬'), - (0xFFE3, '3', u' ̄'), - (0xFFE4, 'M', u'¦'), - (0xFFE5, 'M', u'¥'), - (0xFFE6, 'M', u'₩'), - (0xFFE7, 'X'), - (0xFFE8, 'M', u'│'), - (0xFFE9, 'M', u'←'), - (0xFFEA, 'M', u'↑'), - (0xFFEB, 'M', u'→'), - (0xFFEC, 'M', u'↓'), - (0xFFED, 'M', u'■'), - (0xFFEE, 'M', u'○'), - (0xFFEF, 'X'), - (0x10000, 'V'), - (0x1000C, 'X'), - (0x1000D, 'V'), - (0x10027, 'X'), - (0x10028, 'V'), - (0x1003B, 'X'), - (0x1003C, 'V'), - (0x1003E, 'X'), - (0x1003F, 'V'), - (0x1004E, 'X'), - (0x10050, 'V'), - (0x1005E, 'X'), - (0x10080, 'V'), - (0x100FB, 'X'), - (0x10100, 'V'), - (0x10103, 'X'), - (0x10107, 'V'), - (0x10134, 'X'), - (0x10137, 'V'), - (0x1018F, 'X'), - (0x10190, 'V'), - (0x1019C, 'X'), - (0x101A0, 'V'), - (0x101A1, 'X'), - (0x101D0, 'V'), - (0x101FE, 'X'), - (0x10280, 'V'), - (0x1029D, 'X'), - (0x102A0, 'V'), - (0x102D1, 'X'), - (0x102E0, 'V'), - (0x102FC, 'X'), - (0x10300, 'V'), - (0x10324, 'X'), - (0x1032D, 'V'), - (0x1034B, 'X'), - (0x10350, 'V'), - (0x1037B, 'X'), - (0x10380, 'V'), - (0x1039E, 'X'), - (0x1039F, 'V'), - (0x103C4, 'X'), - (0x103C8, 'V'), - (0x103D6, 'X'), - (0x10400, 'M', u'𐐨'), - (0x10401, 'M', u'𐐩'), - ] - -def _seg_53(): - return [ - (0x10402, 'M', u'𐐪'), - (0x10403, 'M', u'𐐫'), - (0x10404, 'M', u'𐐬'), - (0x10405, 'M', u'𐐭'), - (0x10406, 'M', u'𐐮'), - (0x10407, 'M', u'𐐯'), - (0x10408, 'M', u'𐐰'), - (0x10409, 'M', u'𐐱'), - (0x1040A, 'M', u'𐐲'), - (0x1040B, 'M', u'𐐳'), - (0x1040C, 'M', u'𐐴'), - (0x1040D, 'M', u'𐐵'), - (0x1040E, 'M', u'𐐶'), - (0x1040F, 'M', u'𐐷'), - (0x10410, 'M', u'𐐸'), - (0x10411, 'M', u'𐐹'), - (0x10412, 'M', u'𐐺'), - (0x10413, 'M', u'𐐻'), - (0x10414, 'M', u'𐐼'), - (0x10415, 'M', u'𐐽'), - (0x10416, 'M', u'𐐾'), - (0x10417, 'M', u'𐐿'), - (0x10418, 'M', u'𐑀'), - (0x10419, 'M', u'𐑁'), - (0x1041A, 'M', u'𐑂'), - (0x1041B, 'M', u'𐑃'), - (0x1041C, 'M', u'𐑄'), - (0x1041D, 'M', u'𐑅'), - (0x1041E, 'M', u'𐑆'), - (0x1041F, 'M', u'𐑇'), - (0x10420, 'M', u'𐑈'), - (0x10421, 'M', u'𐑉'), - (0x10422, 'M', u'𐑊'), - (0x10423, 'M', u'𐑋'), - (0x10424, 'M', u'𐑌'), - (0x10425, 'M', u'𐑍'), - (0x10426, 'M', u'𐑎'), - (0x10427, 'M', u'𐑏'), - (0x10428, 'V'), - (0x1049E, 'X'), - (0x104A0, 'V'), - (0x104AA, 'X'), - (0x104B0, 'M', u'𐓘'), - (0x104B1, 'M', u'𐓙'), - (0x104B2, 'M', u'𐓚'), - (0x104B3, 'M', u'𐓛'), - (0x104B4, 'M', u'𐓜'), - (0x104B5, 'M', u'𐓝'), - (0x104B6, 'M', u'𐓞'), - (0x104B7, 'M', u'𐓟'), - (0x104B8, 'M', u'𐓠'), - (0x104B9, 'M', u'𐓡'), - (0x104BA, 'M', u'𐓢'), - (0x104BB, 'M', u'𐓣'), - (0x104BC, 'M', u'𐓤'), - (0x104BD, 'M', u'𐓥'), - (0x104BE, 'M', u'𐓦'), - (0x104BF, 'M', u'𐓧'), - (0x104C0, 'M', u'𐓨'), - (0x104C1, 'M', u'𐓩'), - (0x104C2, 'M', u'𐓪'), - (0x104C3, 'M', u'𐓫'), - (0x104C4, 'M', u'𐓬'), - (0x104C5, 'M', u'𐓭'), - (0x104C6, 'M', u'𐓮'), - (0x104C7, 'M', u'𐓯'), - (0x104C8, 'M', u'𐓰'), - (0x104C9, 'M', u'𐓱'), - (0x104CA, 'M', u'𐓲'), - (0x104CB, 'M', u'𐓳'), - (0x104CC, 'M', u'𐓴'), - (0x104CD, 'M', u'𐓵'), - (0x104CE, 'M', u'𐓶'), - (0x104CF, 'M', u'𐓷'), - (0x104D0, 'M', u'𐓸'), - (0x104D1, 'M', u'𐓹'), - (0x104D2, 'M', u'𐓺'), - (0x104D3, 'M', u'𐓻'), - (0x104D4, 'X'), - (0x104D8, 'V'), - (0x104FC, 'X'), - (0x10500, 'V'), - (0x10528, 'X'), - (0x10530, 'V'), - (0x10564, 'X'), - (0x1056F, 'V'), - (0x10570, 'X'), - (0x10600, 'V'), - (0x10737, 'X'), - (0x10740, 'V'), - (0x10756, 'X'), - (0x10760, 'V'), - (0x10768, 'X'), - (0x10800, 'V'), - (0x10806, 'X'), - (0x10808, 'V'), - (0x10809, 'X'), - (0x1080A, 'V'), - (0x10836, 'X'), - (0x10837, 'V'), - ] - -def _seg_54(): - return [ - (0x10839, 'X'), - (0x1083C, 'V'), - (0x1083D, 'X'), - (0x1083F, 'V'), - (0x10856, 'X'), - (0x10857, 'V'), - (0x1089F, 'X'), - (0x108A7, 'V'), - (0x108B0, 'X'), - (0x108E0, 'V'), - (0x108F3, 'X'), - (0x108F4, 'V'), - (0x108F6, 'X'), - (0x108FB, 'V'), - (0x1091C, 'X'), - (0x1091F, 'V'), - (0x1093A, 'X'), - (0x1093F, 'V'), - (0x10940, 'X'), - (0x10980, 'V'), - (0x109B8, 'X'), - (0x109BC, 'V'), - (0x109D0, 'X'), - (0x109D2, 'V'), - (0x10A04, 'X'), - (0x10A05, 'V'), - (0x10A07, 'X'), - (0x10A0C, 'V'), - (0x10A14, 'X'), - (0x10A15, 'V'), - (0x10A18, 'X'), - (0x10A19, 'V'), - (0x10A36, 'X'), - (0x10A38, 'V'), - (0x10A3B, 'X'), - (0x10A3F, 'V'), - (0x10A49, 'X'), - (0x10A50, 'V'), - (0x10A59, 'X'), - (0x10A60, 'V'), - (0x10AA0, 'X'), - (0x10AC0, 'V'), - (0x10AE7, 'X'), - (0x10AEB, 'V'), - (0x10AF7, 'X'), - (0x10B00, 'V'), - (0x10B36, 'X'), - (0x10B39, 'V'), - (0x10B56, 'X'), - (0x10B58, 'V'), - (0x10B73, 'X'), - (0x10B78, 'V'), - (0x10B92, 'X'), - (0x10B99, 'V'), - (0x10B9D, 'X'), - (0x10BA9, 'V'), - (0x10BB0, 'X'), - (0x10C00, 'V'), - (0x10C49, 'X'), - (0x10C80, 'M', u'𐳀'), - (0x10C81, 'M', u'𐳁'), - (0x10C82, 'M', u'𐳂'), - (0x10C83, 'M', u'𐳃'), - (0x10C84, 'M', u'𐳄'), - (0x10C85, 'M', u'𐳅'), - (0x10C86, 'M', u'𐳆'), - (0x10C87, 'M', u'𐳇'), - (0x10C88, 'M', u'𐳈'), - (0x10C89, 'M', u'𐳉'), - (0x10C8A, 'M', u'𐳊'), - (0x10C8B, 'M', u'𐳋'), - (0x10C8C, 'M', u'𐳌'), - (0x10C8D, 'M', u'𐳍'), - (0x10C8E, 'M', u'𐳎'), - (0x10C8F, 'M', u'𐳏'), - (0x10C90, 'M', u'𐳐'), - (0x10C91, 'M', u'𐳑'), - (0x10C92, 'M', u'𐳒'), - (0x10C93, 'M', u'𐳓'), - (0x10C94, 'M', u'𐳔'), - (0x10C95, 'M', u'𐳕'), - (0x10C96, 'M', u'𐳖'), - (0x10C97, 'M', u'𐳗'), - (0x10C98, 'M', u'𐳘'), - (0x10C99, 'M', u'𐳙'), - (0x10C9A, 'M', u'𐳚'), - (0x10C9B, 'M', u'𐳛'), - (0x10C9C, 'M', u'𐳜'), - (0x10C9D, 'M', u'𐳝'), - (0x10C9E, 'M', u'𐳞'), - (0x10C9F, 'M', u'𐳟'), - (0x10CA0, 'M', u'𐳠'), - (0x10CA1, 'M', u'𐳡'), - (0x10CA2, 'M', u'𐳢'), - (0x10CA3, 'M', u'𐳣'), - (0x10CA4, 'M', u'𐳤'), - (0x10CA5, 'M', u'𐳥'), - (0x10CA6, 'M', u'𐳦'), - (0x10CA7, 'M', u'𐳧'), - (0x10CA8, 'M', u'𐳨'), - ] - -def _seg_55(): - return [ - (0x10CA9, 'M', u'𐳩'), - (0x10CAA, 'M', u'𐳪'), - (0x10CAB, 'M', u'𐳫'), - (0x10CAC, 'M', u'𐳬'), - (0x10CAD, 'M', u'𐳭'), - (0x10CAE, 'M', u'𐳮'), - (0x10CAF, 'M', u'𐳯'), - (0x10CB0, 'M', u'𐳰'), - (0x10CB1, 'M', u'𐳱'), - (0x10CB2, 'M', u'𐳲'), - (0x10CB3, 'X'), - (0x10CC0, 'V'), - (0x10CF3, 'X'), - (0x10CFA, 'V'), - (0x10D28, 'X'), - (0x10D30, 'V'), - (0x10D3A, 'X'), - (0x10E60, 'V'), - (0x10E7F, 'X'), - (0x10F00, 'V'), - (0x10F28, 'X'), - (0x10F30, 'V'), - (0x10F5A, 'X'), - (0x11000, 'V'), - (0x1104E, 'X'), - (0x11052, 'V'), - (0x11070, 'X'), - (0x1107F, 'V'), - (0x110BD, 'X'), - (0x110BE, 'V'), - (0x110C2, 'X'), - (0x110D0, 'V'), - (0x110E9, 'X'), - (0x110F0, 'V'), - (0x110FA, 'X'), - (0x11100, 'V'), - (0x11135, 'X'), - (0x11136, 'V'), - (0x11147, 'X'), - (0x11150, 'V'), - (0x11177, 'X'), - (0x11180, 'V'), - (0x111CE, 'X'), - (0x111D0, 'V'), - (0x111E0, 'X'), - (0x111E1, 'V'), - (0x111F5, 'X'), - (0x11200, 'V'), - (0x11212, 'X'), - (0x11213, 'V'), - (0x1123F, 'X'), - (0x11280, 'V'), - (0x11287, 'X'), - (0x11288, 'V'), - (0x11289, 'X'), - (0x1128A, 'V'), - (0x1128E, 'X'), - (0x1128F, 'V'), - (0x1129E, 'X'), - (0x1129F, 'V'), - (0x112AA, 'X'), - (0x112B0, 'V'), - (0x112EB, 'X'), - (0x112F0, 'V'), - (0x112FA, 'X'), - (0x11300, 'V'), - (0x11304, 'X'), - (0x11305, 'V'), - (0x1130D, 'X'), - (0x1130F, 'V'), - (0x11311, 'X'), - (0x11313, 'V'), - (0x11329, 'X'), - (0x1132A, 'V'), - (0x11331, 'X'), - (0x11332, 'V'), - (0x11334, 'X'), - (0x11335, 'V'), - (0x1133A, 'X'), - (0x1133B, 'V'), - (0x11345, 'X'), - (0x11347, 'V'), - (0x11349, 'X'), - (0x1134B, 'V'), - (0x1134E, 'X'), - (0x11350, 'V'), - (0x11351, 'X'), - (0x11357, 'V'), - (0x11358, 'X'), - (0x1135D, 'V'), - (0x11364, 'X'), - (0x11366, 'V'), - (0x1136D, 'X'), - (0x11370, 'V'), - (0x11375, 'X'), - (0x11400, 'V'), - (0x1145A, 'X'), - (0x1145B, 'V'), - (0x1145C, 'X'), - (0x1145D, 'V'), - ] - -def _seg_56(): - return [ - (0x1145F, 'X'), - (0x11480, 'V'), - (0x114C8, 'X'), - (0x114D0, 'V'), - (0x114DA, 'X'), - (0x11580, 'V'), - (0x115B6, 'X'), - (0x115B8, 'V'), - (0x115DE, 'X'), - (0x11600, 'V'), - (0x11645, 'X'), - (0x11650, 'V'), - (0x1165A, 'X'), - (0x11660, 'V'), - (0x1166D, 'X'), - (0x11680, 'V'), - (0x116B8, 'X'), - (0x116C0, 'V'), - (0x116CA, 'X'), - (0x11700, 'V'), - (0x1171B, 'X'), - (0x1171D, 'V'), - (0x1172C, 'X'), - (0x11730, 'V'), - (0x11740, 'X'), - (0x11800, 'V'), - (0x1183C, 'X'), - (0x118A0, 'M', u'𑣀'), - (0x118A1, 'M', u'𑣁'), - (0x118A2, 'M', u'𑣂'), - (0x118A3, 'M', u'𑣃'), - (0x118A4, 'M', u'𑣄'), - (0x118A5, 'M', u'𑣅'), - (0x118A6, 'M', u'𑣆'), - (0x118A7, 'M', u'𑣇'), - (0x118A8, 'M', u'𑣈'), - (0x118A9, 'M', u'𑣉'), - (0x118AA, 'M', u'𑣊'), - (0x118AB, 'M', u'𑣋'), - (0x118AC, 'M', u'𑣌'), - (0x118AD, 'M', u'𑣍'), - (0x118AE, 'M', u'𑣎'), - (0x118AF, 'M', u'𑣏'), - (0x118B0, 'M', u'𑣐'), - (0x118B1, 'M', u'𑣑'), - (0x118B2, 'M', u'𑣒'), - (0x118B3, 'M', u'𑣓'), - (0x118B4, 'M', u'𑣔'), - (0x118B5, 'M', u'𑣕'), - (0x118B6, 'M', u'𑣖'), - (0x118B7, 'M', u'𑣗'), - (0x118B8, 'M', u'𑣘'), - (0x118B9, 'M', u'𑣙'), - (0x118BA, 'M', u'𑣚'), - (0x118BB, 'M', u'𑣛'), - (0x118BC, 'M', u'𑣜'), - (0x118BD, 'M', u'𑣝'), - (0x118BE, 'M', u'𑣞'), - (0x118BF, 'M', u'𑣟'), - (0x118C0, 'V'), - (0x118F3, 'X'), - (0x118FF, 'V'), - (0x11900, 'X'), - (0x11A00, 'V'), - (0x11A48, 'X'), - (0x11A50, 'V'), - (0x11A84, 'X'), - (0x11A86, 'V'), - (0x11AA3, 'X'), - (0x11AC0, 'V'), - (0x11AF9, 'X'), - (0x11C00, 'V'), - (0x11C09, 'X'), - (0x11C0A, 'V'), - (0x11C37, 'X'), - (0x11C38, 'V'), - (0x11C46, 'X'), - (0x11C50, 'V'), - (0x11C6D, 'X'), - (0x11C70, 'V'), - (0x11C90, 'X'), - (0x11C92, 'V'), - (0x11CA8, 'X'), - (0x11CA9, 'V'), - (0x11CB7, 'X'), - (0x11D00, 'V'), - (0x11D07, 'X'), - (0x11D08, 'V'), - (0x11D0A, 'X'), - (0x11D0B, 'V'), - (0x11D37, 'X'), - (0x11D3A, 'V'), - (0x11D3B, 'X'), - (0x11D3C, 'V'), - (0x11D3E, 'X'), - (0x11D3F, 'V'), - (0x11D48, 'X'), - (0x11D50, 'V'), - (0x11D5A, 'X'), - (0x11D60, 'V'), - ] - -def _seg_57(): - return [ - (0x11D66, 'X'), - (0x11D67, 'V'), - (0x11D69, 'X'), - (0x11D6A, 'V'), - (0x11D8F, 'X'), - (0x11D90, 'V'), - (0x11D92, 'X'), - (0x11D93, 'V'), - (0x11D99, 'X'), - (0x11DA0, 'V'), - (0x11DAA, 'X'), - (0x11EE0, 'V'), - (0x11EF9, 'X'), - (0x12000, 'V'), - (0x1239A, 'X'), - (0x12400, 'V'), - (0x1246F, 'X'), - (0x12470, 'V'), - (0x12475, 'X'), - (0x12480, 'V'), - (0x12544, 'X'), - (0x13000, 'V'), - (0x1342F, 'X'), - (0x14400, 'V'), - (0x14647, 'X'), - (0x16800, 'V'), - (0x16A39, 'X'), - (0x16A40, 'V'), - (0x16A5F, 'X'), - (0x16A60, 'V'), - (0x16A6A, 'X'), - (0x16A6E, 'V'), - (0x16A70, 'X'), - (0x16AD0, 'V'), - (0x16AEE, 'X'), - (0x16AF0, 'V'), - (0x16AF6, 'X'), - (0x16B00, 'V'), - (0x16B46, 'X'), - (0x16B50, 'V'), - (0x16B5A, 'X'), - (0x16B5B, 'V'), - (0x16B62, 'X'), - (0x16B63, 'V'), - (0x16B78, 'X'), - (0x16B7D, 'V'), - (0x16B90, 'X'), - (0x16E60, 'V'), - (0x16E9B, 'X'), - (0x16F00, 'V'), - (0x16F45, 'X'), - (0x16F50, 'V'), - (0x16F7F, 'X'), - (0x16F8F, 'V'), - (0x16FA0, 'X'), - (0x16FE0, 'V'), - (0x16FE2, 'X'), - (0x17000, 'V'), - (0x187F2, 'X'), - (0x18800, 'V'), - (0x18AF3, 'X'), - (0x1B000, 'V'), - (0x1B11F, 'X'), - (0x1B170, 'V'), - (0x1B2FC, 'X'), - (0x1BC00, 'V'), - (0x1BC6B, 'X'), - (0x1BC70, 'V'), - (0x1BC7D, 'X'), - (0x1BC80, 'V'), - (0x1BC89, 'X'), - (0x1BC90, 'V'), - (0x1BC9A, 'X'), - (0x1BC9C, 'V'), - (0x1BCA0, 'I'), - (0x1BCA4, 'X'), - (0x1D000, 'V'), - (0x1D0F6, 'X'), - (0x1D100, 'V'), - (0x1D127, 'X'), - (0x1D129, 'V'), - (0x1D15E, 'M', u'𝅗𝅥'), - (0x1D15F, 'M', u'𝅘𝅥'), - (0x1D160, 'M', u'𝅘𝅥𝅮'), - (0x1D161, 'M', u'𝅘𝅥𝅯'), - (0x1D162, 'M', u'𝅘𝅥𝅰'), - (0x1D163, 'M', u'𝅘𝅥𝅱'), - (0x1D164, 'M', u'𝅘𝅥𝅲'), - (0x1D165, 'V'), - (0x1D173, 'X'), - (0x1D17B, 'V'), - (0x1D1BB, 'M', u'𝆹𝅥'), - (0x1D1BC, 'M', u'𝆺𝅥'), - (0x1D1BD, 'M', u'𝆹𝅥𝅮'), - (0x1D1BE, 'M', u'𝆺𝅥𝅮'), - (0x1D1BF, 'M', u'𝆹𝅥𝅯'), - (0x1D1C0, 'M', u'𝆺𝅥𝅯'), - (0x1D1C1, 'V'), - (0x1D1E9, 'X'), - (0x1D200, 'V'), - ] - -def _seg_58(): - return [ - (0x1D246, 'X'), - (0x1D2E0, 'V'), - (0x1D2F4, 'X'), - (0x1D300, 'V'), - (0x1D357, 'X'), - (0x1D360, 'V'), - (0x1D379, 'X'), - (0x1D400, 'M', u'a'), - (0x1D401, 'M', u'b'), - (0x1D402, 'M', u'c'), - (0x1D403, 'M', u'd'), - (0x1D404, 'M', u'e'), - (0x1D405, 'M', u'f'), - (0x1D406, 'M', u'g'), - (0x1D407, 'M', u'h'), - (0x1D408, 'M', u'i'), - (0x1D409, 'M', u'j'), - (0x1D40A, 'M', u'k'), - (0x1D40B, 'M', u'l'), - (0x1D40C, 'M', u'm'), - (0x1D40D, 'M', u'n'), - (0x1D40E, 'M', u'o'), - (0x1D40F, 'M', u'p'), - (0x1D410, 'M', u'q'), - (0x1D411, 'M', u'r'), - (0x1D412, 'M', u's'), - (0x1D413, 'M', u't'), - (0x1D414, 'M', u'u'), - (0x1D415, 'M', u'v'), - (0x1D416, 'M', u'w'), - (0x1D417, 'M', u'x'), - (0x1D418, 'M', u'y'), - (0x1D419, 'M', u'z'), - (0x1D41A, 'M', u'a'), - (0x1D41B, 'M', u'b'), - (0x1D41C, 'M', u'c'), - (0x1D41D, 'M', u'd'), - (0x1D41E, 'M', u'e'), - (0x1D41F, 'M', u'f'), - (0x1D420, 'M', u'g'), - (0x1D421, 'M', u'h'), - (0x1D422, 'M', u'i'), - (0x1D423, 'M', u'j'), - (0x1D424, 'M', u'k'), - (0x1D425, 'M', u'l'), - (0x1D426, 'M', u'm'), - (0x1D427, 'M', u'n'), - (0x1D428, 'M', u'o'), - (0x1D429, 'M', u'p'), - (0x1D42A, 'M', u'q'), - (0x1D42B, 'M', u'r'), - (0x1D42C, 'M', u's'), - (0x1D42D, 'M', u't'), - (0x1D42E, 'M', u'u'), - (0x1D42F, 'M', u'v'), - (0x1D430, 'M', u'w'), - (0x1D431, 'M', u'x'), - (0x1D432, 'M', u'y'), - (0x1D433, 'M', u'z'), - (0x1D434, 'M', u'a'), - (0x1D435, 'M', u'b'), - (0x1D436, 'M', u'c'), - (0x1D437, 'M', u'd'), - (0x1D438, 'M', u'e'), - (0x1D439, 'M', u'f'), - (0x1D43A, 'M', u'g'), - (0x1D43B, 'M', u'h'), - (0x1D43C, 'M', u'i'), - (0x1D43D, 'M', u'j'), - (0x1D43E, 'M', u'k'), - (0x1D43F, 'M', u'l'), - (0x1D440, 'M', u'm'), - (0x1D441, 'M', u'n'), - (0x1D442, 'M', u'o'), - (0x1D443, 'M', u'p'), - (0x1D444, 'M', u'q'), - (0x1D445, 'M', u'r'), - (0x1D446, 'M', u's'), - (0x1D447, 'M', u't'), - (0x1D448, 'M', u'u'), - (0x1D449, 'M', u'v'), - (0x1D44A, 'M', u'w'), - (0x1D44B, 'M', u'x'), - (0x1D44C, 'M', u'y'), - (0x1D44D, 'M', u'z'), - (0x1D44E, 'M', u'a'), - (0x1D44F, 'M', u'b'), - (0x1D450, 'M', u'c'), - (0x1D451, 'M', u'd'), - (0x1D452, 'M', u'e'), - (0x1D453, 'M', u'f'), - (0x1D454, 'M', u'g'), - (0x1D455, 'X'), - (0x1D456, 'M', u'i'), - (0x1D457, 'M', u'j'), - (0x1D458, 'M', u'k'), - (0x1D459, 'M', u'l'), - (0x1D45A, 'M', u'm'), - (0x1D45B, 'M', u'n'), - (0x1D45C, 'M', u'o'), - ] - -def _seg_59(): - return [ - (0x1D45D, 'M', u'p'), - (0x1D45E, 'M', u'q'), - (0x1D45F, 'M', u'r'), - (0x1D460, 'M', u's'), - (0x1D461, 'M', u't'), - (0x1D462, 'M', u'u'), - (0x1D463, 'M', u'v'), - (0x1D464, 'M', u'w'), - (0x1D465, 'M', u'x'), - (0x1D466, 'M', u'y'), - (0x1D467, 'M', u'z'), - (0x1D468, 'M', u'a'), - (0x1D469, 'M', u'b'), - (0x1D46A, 'M', u'c'), - (0x1D46B, 'M', u'd'), - (0x1D46C, 'M', u'e'), - (0x1D46D, 'M', u'f'), - (0x1D46E, 'M', u'g'), - (0x1D46F, 'M', u'h'), - (0x1D470, 'M', u'i'), - (0x1D471, 'M', u'j'), - (0x1D472, 'M', u'k'), - (0x1D473, 'M', u'l'), - (0x1D474, 'M', u'm'), - (0x1D475, 'M', u'n'), - (0x1D476, 'M', u'o'), - (0x1D477, 'M', u'p'), - (0x1D478, 'M', u'q'), - (0x1D479, 'M', u'r'), - (0x1D47A, 'M', u's'), - (0x1D47B, 'M', u't'), - (0x1D47C, 'M', u'u'), - (0x1D47D, 'M', u'v'), - (0x1D47E, 'M', u'w'), - (0x1D47F, 'M', u'x'), - (0x1D480, 'M', u'y'), - (0x1D481, 'M', u'z'), - (0x1D482, 'M', u'a'), - (0x1D483, 'M', u'b'), - (0x1D484, 'M', u'c'), - (0x1D485, 'M', u'd'), - (0x1D486, 'M', u'e'), - (0x1D487, 'M', u'f'), - (0x1D488, 'M', u'g'), - (0x1D489, 'M', u'h'), - (0x1D48A, 'M', u'i'), - (0x1D48B, 'M', u'j'), - (0x1D48C, 'M', u'k'), - (0x1D48D, 'M', u'l'), - (0x1D48E, 'M', u'm'), - (0x1D48F, 'M', u'n'), - (0x1D490, 'M', u'o'), - (0x1D491, 'M', u'p'), - (0x1D492, 'M', u'q'), - (0x1D493, 'M', u'r'), - (0x1D494, 'M', u's'), - (0x1D495, 'M', u't'), - (0x1D496, 'M', u'u'), - (0x1D497, 'M', u'v'), - (0x1D498, 'M', u'w'), - (0x1D499, 'M', u'x'), - (0x1D49A, 'M', u'y'), - (0x1D49B, 'M', u'z'), - (0x1D49C, 'M', u'a'), - (0x1D49D, 'X'), - (0x1D49E, 'M', u'c'), - (0x1D49F, 'M', u'd'), - (0x1D4A0, 'X'), - (0x1D4A2, 'M', u'g'), - (0x1D4A3, 'X'), - (0x1D4A5, 'M', u'j'), - (0x1D4A6, 'M', u'k'), - (0x1D4A7, 'X'), - (0x1D4A9, 'M', u'n'), - (0x1D4AA, 'M', u'o'), - (0x1D4AB, 'M', u'p'), - (0x1D4AC, 'M', u'q'), - (0x1D4AD, 'X'), - (0x1D4AE, 'M', u's'), - (0x1D4AF, 'M', u't'), - (0x1D4B0, 'M', u'u'), - (0x1D4B1, 'M', u'v'), - (0x1D4B2, 'M', u'w'), - (0x1D4B3, 'M', u'x'), - (0x1D4B4, 'M', u'y'), - (0x1D4B5, 'M', u'z'), - (0x1D4B6, 'M', u'a'), - (0x1D4B7, 'M', u'b'), - (0x1D4B8, 'M', u'c'), - (0x1D4B9, 'M', u'd'), - (0x1D4BA, 'X'), - (0x1D4BB, 'M', u'f'), - (0x1D4BC, 'X'), - (0x1D4BD, 'M', u'h'), - (0x1D4BE, 'M', u'i'), - (0x1D4BF, 'M', u'j'), - (0x1D4C0, 'M', u'k'), - (0x1D4C1, 'M', u'l'), - (0x1D4C2, 'M', u'm'), - (0x1D4C3, 'M', u'n'), - ] - -def _seg_60(): - return [ - (0x1D4C4, 'X'), - (0x1D4C5, 'M', u'p'), - (0x1D4C6, 'M', u'q'), - (0x1D4C7, 'M', u'r'), - (0x1D4C8, 'M', u's'), - (0x1D4C9, 'M', u't'), - (0x1D4CA, 'M', u'u'), - (0x1D4CB, 'M', u'v'), - (0x1D4CC, 'M', u'w'), - (0x1D4CD, 'M', u'x'), - (0x1D4CE, 'M', u'y'), - (0x1D4CF, 'M', u'z'), - (0x1D4D0, 'M', u'a'), - (0x1D4D1, 'M', u'b'), - (0x1D4D2, 'M', u'c'), - (0x1D4D3, 'M', u'd'), - (0x1D4D4, 'M', u'e'), - (0x1D4D5, 'M', u'f'), - (0x1D4D6, 'M', u'g'), - (0x1D4D7, 'M', u'h'), - (0x1D4D8, 'M', u'i'), - (0x1D4D9, 'M', u'j'), - (0x1D4DA, 'M', u'k'), - (0x1D4DB, 'M', u'l'), - (0x1D4DC, 'M', u'm'), - (0x1D4DD, 'M', u'n'), - (0x1D4DE, 'M', u'o'), - (0x1D4DF, 'M', u'p'), - (0x1D4E0, 'M', u'q'), - (0x1D4E1, 'M', u'r'), - (0x1D4E2, 'M', u's'), - (0x1D4E3, 'M', u't'), - (0x1D4E4, 'M', u'u'), - (0x1D4E5, 'M', u'v'), - (0x1D4E6, 'M', u'w'), - (0x1D4E7, 'M', u'x'), - (0x1D4E8, 'M', u'y'), - (0x1D4E9, 'M', u'z'), - (0x1D4EA, 'M', u'a'), - (0x1D4EB, 'M', u'b'), - (0x1D4EC, 'M', u'c'), - (0x1D4ED, 'M', u'd'), - (0x1D4EE, 'M', u'e'), - (0x1D4EF, 'M', u'f'), - (0x1D4F0, 'M', u'g'), - (0x1D4F1, 'M', u'h'), - (0x1D4F2, 'M', u'i'), - (0x1D4F3, 'M', u'j'), - (0x1D4F4, 'M', u'k'), - (0x1D4F5, 'M', u'l'), - (0x1D4F6, 'M', u'm'), - (0x1D4F7, 'M', u'n'), - (0x1D4F8, 'M', u'o'), - (0x1D4F9, 'M', u'p'), - (0x1D4FA, 'M', u'q'), - (0x1D4FB, 'M', u'r'), - (0x1D4FC, 'M', u's'), - (0x1D4FD, 'M', u't'), - (0x1D4FE, 'M', u'u'), - (0x1D4FF, 'M', u'v'), - (0x1D500, 'M', u'w'), - (0x1D501, 'M', u'x'), - (0x1D502, 'M', u'y'), - (0x1D503, 'M', u'z'), - (0x1D504, 'M', u'a'), - (0x1D505, 'M', u'b'), - (0x1D506, 'X'), - (0x1D507, 'M', u'd'), - (0x1D508, 'M', u'e'), - (0x1D509, 'M', u'f'), - (0x1D50A, 'M', u'g'), - (0x1D50B, 'X'), - (0x1D50D, 'M', u'j'), - (0x1D50E, 'M', u'k'), - (0x1D50F, 'M', u'l'), - (0x1D510, 'M', u'm'), - (0x1D511, 'M', u'n'), - (0x1D512, 'M', u'o'), - (0x1D513, 'M', u'p'), - (0x1D514, 'M', u'q'), - (0x1D515, 'X'), - (0x1D516, 'M', u's'), - (0x1D517, 'M', u't'), - (0x1D518, 'M', u'u'), - (0x1D519, 'M', u'v'), - (0x1D51A, 'M', u'w'), - (0x1D51B, 'M', u'x'), - (0x1D51C, 'M', u'y'), - (0x1D51D, 'X'), - (0x1D51E, 'M', u'a'), - (0x1D51F, 'M', u'b'), - (0x1D520, 'M', u'c'), - (0x1D521, 'M', u'd'), - (0x1D522, 'M', u'e'), - (0x1D523, 'M', u'f'), - (0x1D524, 'M', u'g'), - (0x1D525, 'M', u'h'), - (0x1D526, 'M', u'i'), - (0x1D527, 'M', u'j'), - (0x1D528, 'M', u'k'), - ] - -def _seg_61(): - return [ - (0x1D529, 'M', u'l'), - (0x1D52A, 'M', u'm'), - (0x1D52B, 'M', u'n'), - (0x1D52C, 'M', u'o'), - (0x1D52D, 'M', u'p'), - (0x1D52E, 'M', u'q'), - (0x1D52F, 'M', u'r'), - (0x1D530, 'M', u's'), - (0x1D531, 'M', u't'), - (0x1D532, 'M', u'u'), - (0x1D533, 'M', u'v'), - (0x1D534, 'M', u'w'), - (0x1D535, 'M', u'x'), - (0x1D536, 'M', u'y'), - (0x1D537, 'M', u'z'), - (0x1D538, 'M', u'a'), - (0x1D539, 'M', u'b'), - (0x1D53A, 'X'), - (0x1D53B, 'M', u'd'), - (0x1D53C, 'M', u'e'), - (0x1D53D, 'M', u'f'), - (0x1D53E, 'M', u'g'), - (0x1D53F, 'X'), - (0x1D540, 'M', u'i'), - (0x1D541, 'M', u'j'), - (0x1D542, 'M', u'k'), - (0x1D543, 'M', u'l'), - (0x1D544, 'M', u'm'), - (0x1D545, 'X'), - (0x1D546, 'M', u'o'), - (0x1D547, 'X'), - (0x1D54A, 'M', u's'), - (0x1D54B, 'M', u't'), - (0x1D54C, 'M', u'u'), - (0x1D54D, 'M', u'v'), - (0x1D54E, 'M', u'w'), - (0x1D54F, 'M', u'x'), - (0x1D550, 'M', u'y'), - (0x1D551, 'X'), - (0x1D552, 'M', u'a'), - (0x1D553, 'M', u'b'), - (0x1D554, 'M', u'c'), - (0x1D555, 'M', u'd'), - (0x1D556, 'M', u'e'), - (0x1D557, 'M', u'f'), - (0x1D558, 'M', u'g'), - (0x1D559, 'M', u'h'), - (0x1D55A, 'M', u'i'), - (0x1D55B, 'M', u'j'), - (0x1D55C, 'M', u'k'), - (0x1D55D, 'M', u'l'), - (0x1D55E, 'M', u'm'), - (0x1D55F, 'M', u'n'), - (0x1D560, 'M', u'o'), - (0x1D561, 'M', u'p'), - (0x1D562, 'M', u'q'), - (0x1D563, 'M', u'r'), - (0x1D564, 'M', u's'), - (0x1D565, 'M', u't'), - (0x1D566, 'M', u'u'), - (0x1D567, 'M', u'v'), - (0x1D568, 'M', u'w'), - (0x1D569, 'M', u'x'), - (0x1D56A, 'M', u'y'), - (0x1D56B, 'M', u'z'), - (0x1D56C, 'M', u'a'), - (0x1D56D, 'M', u'b'), - (0x1D56E, 'M', u'c'), - (0x1D56F, 'M', u'd'), - (0x1D570, 'M', u'e'), - (0x1D571, 'M', u'f'), - (0x1D572, 'M', u'g'), - (0x1D573, 'M', u'h'), - (0x1D574, 'M', u'i'), - (0x1D575, 'M', u'j'), - (0x1D576, 'M', u'k'), - (0x1D577, 'M', u'l'), - (0x1D578, 'M', u'm'), - (0x1D579, 'M', u'n'), - (0x1D57A, 'M', u'o'), - (0x1D57B, 'M', u'p'), - (0x1D57C, 'M', u'q'), - (0x1D57D, 'M', u'r'), - (0x1D57E, 'M', u's'), - (0x1D57F, 'M', u't'), - (0x1D580, 'M', u'u'), - (0x1D581, 'M', u'v'), - (0x1D582, 'M', u'w'), - (0x1D583, 'M', u'x'), - (0x1D584, 'M', u'y'), - (0x1D585, 'M', u'z'), - (0x1D586, 'M', u'a'), - (0x1D587, 'M', u'b'), - (0x1D588, 'M', u'c'), - (0x1D589, 'M', u'd'), - (0x1D58A, 'M', u'e'), - (0x1D58B, 'M', u'f'), - (0x1D58C, 'M', u'g'), - (0x1D58D, 'M', u'h'), - (0x1D58E, 'M', u'i'), - ] - -def _seg_62(): - return [ - (0x1D58F, 'M', u'j'), - (0x1D590, 'M', u'k'), - (0x1D591, 'M', u'l'), - (0x1D592, 'M', u'm'), - (0x1D593, 'M', u'n'), - (0x1D594, 'M', u'o'), - (0x1D595, 'M', u'p'), - (0x1D596, 'M', u'q'), - (0x1D597, 'M', u'r'), - (0x1D598, 'M', u's'), - (0x1D599, 'M', u't'), - (0x1D59A, 'M', u'u'), - (0x1D59B, 'M', u'v'), - (0x1D59C, 'M', u'w'), - (0x1D59D, 'M', u'x'), - (0x1D59E, 'M', u'y'), - (0x1D59F, 'M', u'z'), - (0x1D5A0, 'M', u'a'), - (0x1D5A1, 'M', u'b'), - (0x1D5A2, 'M', u'c'), - (0x1D5A3, 'M', u'd'), - (0x1D5A4, 'M', u'e'), - (0x1D5A5, 'M', u'f'), - (0x1D5A6, 'M', u'g'), - (0x1D5A7, 'M', u'h'), - (0x1D5A8, 'M', u'i'), - (0x1D5A9, 'M', u'j'), - (0x1D5AA, 'M', u'k'), - (0x1D5AB, 'M', u'l'), - (0x1D5AC, 'M', u'm'), - (0x1D5AD, 'M', u'n'), - (0x1D5AE, 'M', u'o'), - (0x1D5AF, 'M', u'p'), - (0x1D5B0, 'M', u'q'), - (0x1D5B1, 'M', u'r'), - (0x1D5B2, 'M', u's'), - (0x1D5B3, 'M', u't'), - (0x1D5B4, 'M', u'u'), - (0x1D5B5, 'M', u'v'), - (0x1D5B6, 'M', u'w'), - (0x1D5B7, 'M', u'x'), - (0x1D5B8, 'M', u'y'), - (0x1D5B9, 'M', u'z'), - (0x1D5BA, 'M', u'a'), - (0x1D5BB, 'M', u'b'), - (0x1D5BC, 'M', u'c'), - (0x1D5BD, 'M', u'd'), - (0x1D5BE, 'M', u'e'), - (0x1D5BF, 'M', u'f'), - (0x1D5C0, 'M', u'g'), - (0x1D5C1, 'M', u'h'), - (0x1D5C2, 'M', u'i'), - (0x1D5C3, 'M', u'j'), - (0x1D5C4, 'M', u'k'), - (0x1D5C5, 'M', u'l'), - (0x1D5C6, 'M', u'm'), - (0x1D5C7, 'M', u'n'), - (0x1D5C8, 'M', u'o'), - (0x1D5C9, 'M', u'p'), - (0x1D5CA, 'M', u'q'), - (0x1D5CB, 'M', u'r'), - (0x1D5CC, 'M', u's'), - (0x1D5CD, 'M', u't'), - (0x1D5CE, 'M', u'u'), - (0x1D5CF, 'M', u'v'), - (0x1D5D0, 'M', u'w'), - (0x1D5D1, 'M', u'x'), - (0x1D5D2, 'M', u'y'), - (0x1D5D3, 'M', u'z'), - (0x1D5D4, 'M', u'a'), - (0x1D5D5, 'M', u'b'), - (0x1D5D6, 'M', u'c'), - (0x1D5D7, 'M', u'd'), - (0x1D5D8, 'M', u'e'), - (0x1D5D9, 'M', u'f'), - (0x1D5DA, 'M', u'g'), - (0x1D5DB, 'M', u'h'), - (0x1D5DC, 'M', u'i'), - (0x1D5DD, 'M', u'j'), - (0x1D5DE, 'M', u'k'), - (0x1D5DF, 'M', u'l'), - (0x1D5E0, 'M', u'm'), - (0x1D5E1, 'M', u'n'), - (0x1D5E2, 'M', u'o'), - (0x1D5E3, 'M', u'p'), - (0x1D5E4, 'M', u'q'), - (0x1D5E5, 'M', u'r'), - (0x1D5E6, 'M', u's'), - (0x1D5E7, 'M', u't'), - (0x1D5E8, 'M', u'u'), - (0x1D5E9, 'M', u'v'), - (0x1D5EA, 'M', u'w'), - (0x1D5EB, 'M', u'x'), - (0x1D5EC, 'M', u'y'), - (0x1D5ED, 'M', u'z'), - (0x1D5EE, 'M', u'a'), - (0x1D5EF, 'M', u'b'), - (0x1D5F0, 'M', u'c'), - (0x1D5F1, 'M', u'd'), - (0x1D5F2, 'M', u'e'), - ] - -def _seg_63(): - return [ - (0x1D5F3, 'M', u'f'), - (0x1D5F4, 'M', u'g'), - (0x1D5F5, 'M', u'h'), - (0x1D5F6, 'M', u'i'), - (0x1D5F7, 'M', u'j'), - (0x1D5F8, 'M', u'k'), - (0x1D5F9, 'M', u'l'), - (0x1D5FA, 'M', u'm'), - (0x1D5FB, 'M', u'n'), - (0x1D5FC, 'M', u'o'), - (0x1D5FD, 'M', u'p'), - (0x1D5FE, 'M', u'q'), - (0x1D5FF, 'M', u'r'), - (0x1D600, 'M', u's'), - (0x1D601, 'M', u't'), - (0x1D602, 'M', u'u'), - (0x1D603, 'M', u'v'), - (0x1D604, 'M', u'w'), - (0x1D605, 'M', u'x'), - (0x1D606, 'M', u'y'), - (0x1D607, 'M', u'z'), - (0x1D608, 'M', u'a'), - (0x1D609, 'M', u'b'), - (0x1D60A, 'M', u'c'), - (0x1D60B, 'M', u'd'), - (0x1D60C, 'M', u'e'), - (0x1D60D, 'M', u'f'), - (0x1D60E, 'M', u'g'), - (0x1D60F, 'M', u'h'), - (0x1D610, 'M', u'i'), - (0x1D611, 'M', u'j'), - (0x1D612, 'M', u'k'), - (0x1D613, 'M', u'l'), - (0x1D614, 'M', u'm'), - (0x1D615, 'M', u'n'), - (0x1D616, 'M', u'o'), - (0x1D617, 'M', u'p'), - (0x1D618, 'M', u'q'), - (0x1D619, 'M', u'r'), - (0x1D61A, 'M', u's'), - (0x1D61B, 'M', u't'), - (0x1D61C, 'M', u'u'), - (0x1D61D, 'M', u'v'), - (0x1D61E, 'M', u'w'), - (0x1D61F, 'M', u'x'), - (0x1D620, 'M', u'y'), - (0x1D621, 'M', u'z'), - (0x1D622, 'M', u'a'), - (0x1D623, 'M', u'b'), - (0x1D624, 'M', u'c'), - (0x1D625, 'M', u'd'), - (0x1D626, 'M', u'e'), - (0x1D627, 'M', u'f'), - (0x1D628, 'M', u'g'), - (0x1D629, 'M', u'h'), - (0x1D62A, 'M', u'i'), - (0x1D62B, 'M', u'j'), - (0x1D62C, 'M', u'k'), - (0x1D62D, 'M', u'l'), - (0x1D62E, 'M', u'm'), - (0x1D62F, 'M', u'n'), - (0x1D630, 'M', u'o'), - (0x1D631, 'M', u'p'), - (0x1D632, 'M', u'q'), - (0x1D633, 'M', u'r'), - (0x1D634, 'M', u's'), - (0x1D635, 'M', u't'), - (0x1D636, 'M', u'u'), - (0x1D637, 'M', u'v'), - (0x1D638, 'M', u'w'), - (0x1D639, 'M', u'x'), - (0x1D63A, 'M', u'y'), - (0x1D63B, 'M', u'z'), - (0x1D63C, 'M', u'a'), - (0x1D63D, 'M', u'b'), - (0x1D63E, 'M', u'c'), - (0x1D63F, 'M', u'd'), - (0x1D640, 'M', u'e'), - (0x1D641, 'M', u'f'), - (0x1D642, 'M', u'g'), - (0x1D643, 'M', u'h'), - (0x1D644, 'M', u'i'), - (0x1D645, 'M', u'j'), - (0x1D646, 'M', u'k'), - (0x1D647, 'M', u'l'), - (0x1D648, 'M', u'm'), - (0x1D649, 'M', u'n'), - (0x1D64A, 'M', u'o'), - (0x1D64B, 'M', u'p'), - (0x1D64C, 'M', u'q'), - (0x1D64D, 'M', u'r'), - (0x1D64E, 'M', u's'), - (0x1D64F, 'M', u't'), - (0x1D650, 'M', u'u'), - (0x1D651, 'M', u'v'), - (0x1D652, 'M', u'w'), - (0x1D653, 'M', u'x'), - (0x1D654, 'M', u'y'), - (0x1D655, 'M', u'z'), - (0x1D656, 'M', u'a'), - ] - -def _seg_64(): - return [ - (0x1D657, 'M', u'b'), - (0x1D658, 'M', u'c'), - (0x1D659, 'M', u'd'), - (0x1D65A, 'M', u'e'), - (0x1D65B, 'M', u'f'), - (0x1D65C, 'M', u'g'), - (0x1D65D, 'M', u'h'), - (0x1D65E, 'M', u'i'), - (0x1D65F, 'M', u'j'), - (0x1D660, 'M', u'k'), - (0x1D661, 'M', u'l'), - (0x1D662, 'M', u'm'), - (0x1D663, 'M', u'n'), - (0x1D664, 'M', u'o'), - (0x1D665, 'M', u'p'), - (0x1D666, 'M', u'q'), - (0x1D667, 'M', u'r'), - (0x1D668, 'M', u's'), - (0x1D669, 'M', u't'), - (0x1D66A, 'M', u'u'), - (0x1D66B, 'M', u'v'), - (0x1D66C, 'M', u'w'), - (0x1D66D, 'M', u'x'), - (0x1D66E, 'M', u'y'), - (0x1D66F, 'M', u'z'), - (0x1D670, 'M', u'a'), - (0x1D671, 'M', u'b'), - (0x1D672, 'M', u'c'), - (0x1D673, 'M', u'd'), - (0x1D674, 'M', u'e'), - (0x1D675, 'M', u'f'), - (0x1D676, 'M', u'g'), - (0x1D677, 'M', u'h'), - (0x1D678, 'M', u'i'), - (0x1D679, 'M', u'j'), - (0x1D67A, 'M', u'k'), - (0x1D67B, 'M', u'l'), - (0x1D67C, 'M', u'm'), - (0x1D67D, 'M', u'n'), - (0x1D67E, 'M', u'o'), - (0x1D67F, 'M', u'p'), - (0x1D680, 'M', u'q'), - (0x1D681, 'M', u'r'), - (0x1D682, 'M', u's'), - (0x1D683, 'M', u't'), - (0x1D684, 'M', u'u'), - (0x1D685, 'M', u'v'), - (0x1D686, 'M', u'w'), - (0x1D687, 'M', u'x'), - (0x1D688, 'M', u'y'), - (0x1D689, 'M', u'z'), - (0x1D68A, 'M', u'a'), - (0x1D68B, 'M', u'b'), - (0x1D68C, 'M', u'c'), - (0x1D68D, 'M', u'd'), - (0x1D68E, 'M', u'e'), - (0x1D68F, 'M', u'f'), - (0x1D690, 'M', u'g'), - (0x1D691, 'M', u'h'), - (0x1D692, 'M', u'i'), - (0x1D693, 'M', u'j'), - (0x1D694, 'M', u'k'), - (0x1D695, 'M', u'l'), - (0x1D696, 'M', u'm'), - (0x1D697, 'M', u'n'), - (0x1D698, 'M', u'o'), - (0x1D699, 'M', u'p'), - (0x1D69A, 'M', u'q'), - (0x1D69B, 'M', u'r'), - (0x1D69C, 'M', u's'), - (0x1D69D, 'M', u't'), - (0x1D69E, 'M', u'u'), - (0x1D69F, 'M', u'v'), - (0x1D6A0, 'M', u'w'), - (0x1D6A1, 'M', u'x'), - (0x1D6A2, 'M', u'y'), - (0x1D6A3, 'M', u'z'), - (0x1D6A4, 'M', u'ı'), - (0x1D6A5, 'M', u'ȷ'), - (0x1D6A6, 'X'), - (0x1D6A8, 'M', u'α'), - (0x1D6A9, 'M', u'β'), - (0x1D6AA, 'M', u'γ'), - (0x1D6AB, 'M', u'δ'), - (0x1D6AC, 'M', u'ε'), - (0x1D6AD, 'M', u'ζ'), - (0x1D6AE, 'M', u'η'), - (0x1D6AF, 'M', u'θ'), - (0x1D6B0, 'M', u'ι'), - (0x1D6B1, 'M', u'κ'), - (0x1D6B2, 'M', u'λ'), - (0x1D6B3, 'M', u'μ'), - (0x1D6B4, 'M', u'ν'), - (0x1D6B5, 'M', u'ξ'), - (0x1D6B6, 'M', u'ο'), - (0x1D6B7, 'M', u'π'), - (0x1D6B8, 'M', u'ρ'), - (0x1D6B9, 'M', u'θ'), - (0x1D6BA, 'M', u'σ'), - (0x1D6BB, 'M', u'τ'), - ] - -def _seg_65(): - return [ - (0x1D6BC, 'M', u'υ'), - (0x1D6BD, 'M', u'φ'), - (0x1D6BE, 'M', u'χ'), - (0x1D6BF, 'M', u'ψ'), - (0x1D6C0, 'M', u'ω'), - (0x1D6C1, 'M', u'∇'), - (0x1D6C2, 'M', u'α'), - (0x1D6C3, 'M', u'β'), - (0x1D6C4, 'M', u'γ'), - (0x1D6C5, 'M', u'δ'), - (0x1D6C6, 'M', u'ε'), - (0x1D6C7, 'M', u'ζ'), - (0x1D6C8, 'M', u'η'), - (0x1D6C9, 'M', u'θ'), - (0x1D6CA, 'M', u'ι'), - (0x1D6CB, 'M', u'κ'), - (0x1D6CC, 'M', u'λ'), - (0x1D6CD, 'M', u'μ'), - (0x1D6CE, 'M', u'ν'), - (0x1D6CF, 'M', u'ξ'), - (0x1D6D0, 'M', u'ο'), - (0x1D6D1, 'M', u'π'), - (0x1D6D2, 'M', u'ρ'), - (0x1D6D3, 'M', u'σ'), - (0x1D6D5, 'M', u'τ'), - (0x1D6D6, 'M', u'υ'), - (0x1D6D7, 'M', u'φ'), - (0x1D6D8, 'M', u'χ'), - (0x1D6D9, 'M', u'ψ'), - (0x1D6DA, 'M', u'ω'), - (0x1D6DB, 'M', u'∂'), - (0x1D6DC, 'M', u'ε'), - (0x1D6DD, 'M', u'θ'), - (0x1D6DE, 'M', u'κ'), - (0x1D6DF, 'M', u'φ'), - (0x1D6E0, 'M', u'ρ'), - (0x1D6E1, 'M', u'π'), - (0x1D6E2, 'M', u'α'), - (0x1D6E3, 'M', u'β'), - (0x1D6E4, 'M', u'γ'), - (0x1D6E5, 'M', u'δ'), - (0x1D6E6, 'M', u'ε'), - (0x1D6E7, 'M', u'ζ'), - (0x1D6E8, 'M', u'η'), - (0x1D6E9, 'M', u'θ'), - (0x1D6EA, 'M', u'ι'), - (0x1D6EB, 'M', u'κ'), - (0x1D6EC, 'M', u'λ'), - (0x1D6ED, 'M', u'μ'), - (0x1D6EE, 'M', u'ν'), - (0x1D6EF, 'M', u'ξ'), - (0x1D6F0, 'M', u'ο'), - (0x1D6F1, 'M', u'π'), - (0x1D6F2, 'M', u'ρ'), - (0x1D6F3, 'M', u'θ'), - (0x1D6F4, 'M', u'σ'), - (0x1D6F5, 'M', u'τ'), - (0x1D6F6, 'M', u'υ'), - (0x1D6F7, 'M', u'φ'), - (0x1D6F8, 'M', u'χ'), - (0x1D6F9, 'M', u'ψ'), - (0x1D6FA, 'M', u'ω'), - (0x1D6FB, 'M', u'∇'), - (0x1D6FC, 'M', u'α'), - (0x1D6FD, 'M', u'β'), - (0x1D6FE, 'M', u'γ'), - (0x1D6FF, 'M', u'δ'), - (0x1D700, 'M', u'ε'), - (0x1D701, 'M', u'ζ'), - (0x1D702, 'M', u'η'), - (0x1D703, 'M', u'θ'), - (0x1D704, 'M', u'ι'), - (0x1D705, 'M', u'κ'), - (0x1D706, 'M', u'λ'), - (0x1D707, 'M', u'μ'), - (0x1D708, 'M', u'ν'), - (0x1D709, 'M', u'ξ'), - (0x1D70A, 'M', u'ο'), - (0x1D70B, 'M', u'π'), - (0x1D70C, 'M', u'ρ'), - (0x1D70D, 'M', u'σ'), - (0x1D70F, 'M', u'τ'), - (0x1D710, 'M', u'υ'), - (0x1D711, 'M', u'φ'), - (0x1D712, 'M', u'χ'), - (0x1D713, 'M', u'ψ'), - (0x1D714, 'M', u'ω'), - (0x1D715, 'M', u'∂'), - (0x1D716, 'M', u'ε'), - (0x1D717, 'M', u'θ'), - (0x1D718, 'M', u'κ'), - (0x1D719, 'M', u'φ'), - (0x1D71A, 'M', u'ρ'), - (0x1D71B, 'M', u'π'), - (0x1D71C, 'M', u'α'), - (0x1D71D, 'M', u'β'), - (0x1D71E, 'M', u'γ'), - (0x1D71F, 'M', u'δ'), - (0x1D720, 'M', u'ε'), - (0x1D721, 'M', u'ζ'), - ] - -def _seg_66(): - return [ - (0x1D722, 'M', u'η'), - (0x1D723, 'M', u'θ'), - (0x1D724, 'M', u'ι'), - (0x1D725, 'M', u'κ'), - (0x1D726, 'M', u'λ'), - (0x1D727, 'M', u'μ'), - (0x1D728, 'M', u'ν'), - (0x1D729, 'M', u'ξ'), - (0x1D72A, 'M', u'ο'), - (0x1D72B, 'M', u'π'), - (0x1D72C, 'M', u'ρ'), - (0x1D72D, 'M', u'θ'), - (0x1D72E, 'M', u'σ'), - (0x1D72F, 'M', u'τ'), - (0x1D730, 'M', u'υ'), - (0x1D731, 'M', u'φ'), - (0x1D732, 'M', u'χ'), - (0x1D733, 'M', u'ψ'), - (0x1D734, 'M', u'ω'), - (0x1D735, 'M', u'∇'), - (0x1D736, 'M', u'α'), - (0x1D737, 'M', u'β'), - (0x1D738, 'M', u'γ'), - (0x1D739, 'M', u'δ'), - (0x1D73A, 'M', u'ε'), - (0x1D73B, 'M', u'ζ'), - (0x1D73C, 'M', u'η'), - (0x1D73D, 'M', u'θ'), - (0x1D73E, 'M', u'ι'), - (0x1D73F, 'M', u'κ'), - (0x1D740, 'M', u'λ'), - (0x1D741, 'M', u'μ'), - (0x1D742, 'M', u'ν'), - (0x1D743, 'M', u'ξ'), - (0x1D744, 'M', u'ο'), - (0x1D745, 'M', u'π'), - (0x1D746, 'M', u'ρ'), - (0x1D747, 'M', u'σ'), - (0x1D749, 'M', u'τ'), - (0x1D74A, 'M', u'υ'), - (0x1D74B, 'M', u'φ'), - (0x1D74C, 'M', u'χ'), - (0x1D74D, 'M', u'ψ'), - (0x1D74E, 'M', u'ω'), - (0x1D74F, 'M', u'∂'), - (0x1D750, 'M', u'ε'), - (0x1D751, 'M', u'θ'), - (0x1D752, 'M', u'κ'), - (0x1D753, 'M', u'φ'), - (0x1D754, 'M', u'ρ'), - (0x1D755, 'M', u'π'), - (0x1D756, 'M', u'α'), - (0x1D757, 'M', u'β'), - (0x1D758, 'M', u'γ'), - (0x1D759, 'M', u'δ'), - (0x1D75A, 'M', u'ε'), - (0x1D75B, 'M', u'ζ'), - (0x1D75C, 'M', u'η'), - (0x1D75D, 'M', u'θ'), - (0x1D75E, 'M', u'ι'), - (0x1D75F, 'M', u'κ'), - (0x1D760, 'M', u'λ'), - (0x1D761, 'M', u'μ'), - (0x1D762, 'M', u'ν'), - (0x1D763, 'M', u'ξ'), - (0x1D764, 'M', u'ο'), - (0x1D765, 'M', u'π'), - (0x1D766, 'M', u'ρ'), - (0x1D767, 'M', u'θ'), - (0x1D768, 'M', u'σ'), - (0x1D769, 'M', u'τ'), - (0x1D76A, 'M', u'υ'), - (0x1D76B, 'M', u'φ'), - (0x1D76C, 'M', u'χ'), - (0x1D76D, 'M', u'ψ'), - (0x1D76E, 'M', u'ω'), - (0x1D76F, 'M', u'∇'), - (0x1D770, 'M', u'α'), - (0x1D771, 'M', u'β'), - (0x1D772, 'M', u'γ'), - (0x1D773, 'M', u'δ'), - (0x1D774, 'M', u'ε'), - (0x1D775, 'M', u'ζ'), - (0x1D776, 'M', u'η'), - (0x1D777, 'M', u'θ'), - (0x1D778, 'M', u'ι'), - (0x1D779, 'M', u'κ'), - (0x1D77A, 'M', u'λ'), - (0x1D77B, 'M', u'μ'), - (0x1D77C, 'M', u'ν'), - (0x1D77D, 'M', u'ξ'), - (0x1D77E, 'M', u'ο'), - (0x1D77F, 'M', u'π'), - (0x1D780, 'M', u'ρ'), - (0x1D781, 'M', u'σ'), - (0x1D783, 'M', u'τ'), - (0x1D784, 'M', u'υ'), - (0x1D785, 'M', u'φ'), - (0x1D786, 'M', u'χ'), - (0x1D787, 'M', u'ψ'), - ] - -def _seg_67(): - return [ - (0x1D788, 'M', u'ω'), - (0x1D789, 'M', u'∂'), - (0x1D78A, 'M', u'ε'), - (0x1D78B, 'M', u'θ'), - (0x1D78C, 'M', u'κ'), - (0x1D78D, 'M', u'φ'), - (0x1D78E, 'M', u'ρ'), - (0x1D78F, 'M', u'π'), - (0x1D790, 'M', u'α'), - (0x1D791, 'M', u'β'), - (0x1D792, 'M', u'γ'), - (0x1D793, 'M', u'δ'), - (0x1D794, 'M', u'ε'), - (0x1D795, 'M', u'ζ'), - (0x1D796, 'M', u'η'), - (0x1D797, 'M', u'θ'), - (0x1D798, 'M', u'ι'), - (0x1D799, 'M', u'κ'), - (0x1D79A, 'M', u'λ'), - (0x1D79B, 'M', u'μ'), - (0x1D79C, 'M', u'ν'), - (0x1D79D, 'M', u'ξ'), - (0x1D79E, 'M', u'ο'), - (0x1D79F, 'M', u'π'), - (0x1D7A0, 'M', u'ρ'), - (0x1D7A1, 'M', u'θ'), - (0x1D7A2, 'M', u'σ'), - (0x1D7A3, 'M', u'τ'), - (0x1D7A4, 'M', u'υ'), - (0x1D7A5, 'M', u'φ'), - (0x1D7A6, 'M', u'χ'), - (0x1D7A7, 'M', u'ψ'), - (0x1D7A8, 'M', u'ω'), - (0x1D7A9, 'M', u'∇'), - (0x1D7AA, 'M', u'α'), - (0x1D7AB, 'M', u'β'), - (0x1D7AC, 'M', u'γ'), - (0x1D7AD, 'M', u'δ'), - (0x1D7AE, 'M', u'ε'), - (0x1D7AF, 'M', u'ζ'), - (0x1D7B0, 'M', u'η'), - (0x1D7B1, 'M', u'θ'), - (0x1D7B2, 'M', u'ι'), - (0x1D7B3, 'M', u'κ'), - (0x1D7B4, 'M', u'λ'), - (0x1D7B5, 'M', u'μ'), - (0x1D7B6, 'M', u'ν'), - (0x1D7B7, 'M', u'ξ'), - (0x1D7B8, 'M', u'ο'), - (0x1D7B9, 'M', u'π'), - (0x1D7BA, 'M', u'ρ'), - (0x1D7BB, 'M', u'σ'), - (0x1D7BD, 'M', u'τ'), - (0x1D7BE, 'M', u'υ'), - (0x1D7BF, 'M', u'φ'), - (0x1D7C0, 'M', u'χ'), - (0x1D7C1, 'M', u'ψ'), - (0x1D7C2, 'M', u'ω'), - (0x1D7C3, 'M', u'∂'), - (0x1D7C4, 'M', u'ε'), - (0x1D7C5, 'M', u'θ'), - (0x1D7C6, 'M', u'κ'), - (0x1D7C7, 'M', u'φ'), - (0x1D7C8, 'M', u'ρ'), - (0x1D7C9, 'M', u'π'), - (0x1D7CA, 'M', u'ϝ'), - (0x1D7CC, 'X'), - (0x1D7CE, 'M', u'0'), - (0x1D7CF, 'M', u'1'), - (0x1D7D0, 'M', u'2'), - (0x1D7D1, 'M', u'3'), - (0x1D7D2, 'M', u'4'), - (0x1D7D3, 'M', u'5'), - (0x1D7D4, 'M', u'6'), - (0x1D7D5, 'M', u'7'), - (0x1D7D6, 'M', u'8'), - (0x1D7D7, 'M', u'9'), - (0x1D7D8, 'M', u'0'), - (0x1D7D9, 'M', u'1'), - (0x1D7DA, 'M', u'2'), - (0x1D7DB, 'M', u'3'), - (0x1D7DC, 'M', u'4'), - (0x1D7DD, 'M', u'5'), - (0x1D7DE, 'M', u'6'), - (0x1D7DF, 'M', u'7'), - (0x1D7E0, 'M', u'8'), - (0x1D7E1, 'M', u'9'), - (0x1D7E2, 'M', u'0'), - (0x1D7E3, 'M', u'1'), - (0x1D7E4, 'M', u'2'), - (0x1D7E5, 'M', u'3'), - (0x1D7E6, 'M', u'4'), - (0x1D7E7, 'M', u'5'), - (0x1D7E8, 'M', u'6'), - (0x1D7E9, 'M', u'7'), - (0x1D7EA, 'M', u'8'), - (0x1D7EB, 'M', u'9'), - (0x1D7EC, 'M', u'0'), - (0x1D7ED, 'M', u'1'), - (0x1D7EE, 'M', u'2'), - ] - -def _seg_68(): - return [ - (0x1D7EF, 'M', u'3'), - (0x1D7F0, 'M', u'4'), - (0x1D7F1, 'M', u'5'), - (0x1D7F2, 'M', u'6'), - (0x1D7F3, 'M', u'7'), - (0x1D7F4, 'M', u'8'), - (0x1D7F5, 'M', u'9'), - (0x1D7F6, 'M', u'0'), - (0x1D7F7, 'M', u'1'), - (0x1D7F8, 'M', u'2'), - (0x1D7F9, 'M', u'3'), - (0x1D7FA, 'M', u'4'), - (0x1D7FB, 'M', u'5'), - (0x1D7FC, 'M', u'6'), - (0x1D7FD, 'M', u'7'), - (0x1D7FE, 'M', u'8'), - (0x1D7FF, 'M', u'9'), - (0x1D800, 'V'), - (0x1DA8C, 'X'), - (0x1DA9B, 'V'), - (0x1DAA0, 'X'), - (0x1DAA1, 'V'), - (0x1DAB0, 'X'), - (0x1E000, 'V'), - (0x1E007, 'X'), - (0x1E008, 'V'), - (0x1E019, 'X'), - (0x1E01B, 'V'), - (0x1E022, 'X'), - (0x1E023, 'V'), - (0x1E025, 'X'), - (0x1E026, 'V'), - (0x1E02B, 'X'), - (0x1E800, 'V'), - (0x1E8C5, 'X'), - (0x1E8C7, 'V'), - (0x1E8D7, 'X'), - (0x1E900, 'M', u'𞤢'), - (0x1E901, 'M', u'𞤣'), - (0x1E902, 'M', u'𞤤'), - (0x1E903, 'M', u'𞤥'), - (0x1E904, 'M', u'𞤦'), - (0x1E905, 'M', u'𞤧'), - (0x1E906, 'M', u'𞤨'), - (0x1E907, 'M', u'𞤩'), - (0x1E908, 'M', u'𞤪'), - (0x1E909, 'M', u'𞤫'), - (0x1E90A, 'M', u'𞤬'), - (0x1E90B, 'M', u'𞤭'), - (0x1E90C, 'M', u'𞤮'), - (0x1E90D, 'M', u'𞤯'), - (0x1E90E, 'M', u'𞤰'), - (0x1E90F, 'M', u'𞤱'), - (0x1E910, 'M', u'𞤲'), - (0x1E911, 'M', u'𞤳'), - (0x1E912, 'M', u'𞤴'), - (0x1E913, 'M', u'𞤵'), - (0x1E914, 'M', u'𞤶'), - (0x1E915, 'M', u'𞤷'), - (0x1E916, 'M', u'𞤸'), - (0x1E917, 'M', u'𞤹'), - (0x1E918, 'M', u'𞤺'), - (0x1E919, 'M', u'𞤻'), - (0x1E91A, 'M', u'𞤼'), - (0x1E91B, 'M', u'𞤽'), - (0x1E91C, 'M', u'𞤾'), - (0x1E91D, 'M', u'𞤿'), - (0x1E91E, 'M', u'𞥀'), - (0x1E91F, 'M', u'𞥁'), - (0x1E920, 'M', u'𞥂'), - (0x1E921, 'M', u'𞥃'), - (0x1E922, 'V'), - (0x1E94B, 'X'), - (0x1E950, 'V'), - (0x1E95A, 'X'), - (0x1E95E, 'V'), - (0x1E960, 'X'), - (0x1EC71, 'V'), - (0x1ECB5, 'X'), - (0x1EE00, 'M', u'ا'), - (0x1EE01, 'M', u'ب'), - (0x1EE02, 'M', u'ج'), - (0x1EE03, 'M', u'د'), - (0x1EE04, 'X'), - (0x1EE05, 'M', u'و'), - (0x1EE06, 'M', u'ز'), - (0x1EE07, 'M', u'ح'), - (0x1EE08, 'M', u'ط'), - (0x1EE09, 'M', u'ي'), - (0x1EE0A, 'M', u'ك'), - (0x1EE0B, 'M', u'ل'), - (0x1EE0C, 'M', u'م'), - (0x1EE0D, 'M', u'ن'), - (0x1EE0E, 'M', u'س'), - (0x1EE0F, 'M', u'ع'), - (0x1EE10, 'M', u'ف'), - (0x1EE11, 'M', u'ص'), - (0x1EE12, 'M', u'ق'), - (0x1EE13, 'M', u'ر'), - (0x1EE14, 'M', u'ش'), - ] - -def _seg_69(): - return [ - (0x1EE15, 'M', u'ت'), - (0x1EE16, 'M', u'ث'), - (0x1EE17, 'M', u'خ'), - (0x1EE18, 'M', u'ذ'), - (0x1EE19, 'M', u'ض'), - (0x1EE1A, 'M', u'ظ'), - (0x1EE1B, 'M', u'غ'), - (0x1EE1C, 'M', u'ٮ'), - (0x1EE1D, 'M', u'ں'), - (0x1EE1E, 'M', u'ڡ'), - (0x1EE1F, 'M', u'ٯ'), - (0x1EE20, 'X'), - (0x1EE21, 'M', u'ب'), - (0x1EE22, 'M', u'ج'), - (0x1EE23, 'X'), - (0x1EE24, 'M', u'ه'), - (0x1EE25, 'X'), - (0x1EE27, 'M', u'ح'), - (0x1EE28, 'X'), - (0x1EE29, 'M', u'ي'), - (0x1EE2A, 'M', u'ك'), - (0x1EE2B, 'M', u'ل'), - (0x1EE2C, 'M', u'م'), - (0x1EE2D, 'M', u'ن'), - (0x1EE2E, 'M', u'س'), - (0x1EE2F, 'M', u'ع'), - (0x1EE30, 'M', u'ف'), - (0x1EE31, 'M', u'ص'), - (0x1EE32, 'M', u'ق'), - (0x1EE33, 'X'), - (0x1EE34, 'M', u'ش'), - (0x1EE35, 'M', u'ت'), - (0x1EE36, 'M', u'ث'), - (0x1EE37, 'M', u'خ'), - (0x1EE38, 'X'), - (0x1EE39, 'M', u'ض'), - (0x1EE3A, 'X'), - (0x1EE3B, 'M', u'غ'), - (0x1EE3C, 'X'), - (0x1EE42, 'M', u'ج'), - (0x1EE43, 'X'), - (0x1EE47, 'M', u'ح'), - (0x1EE48, 'X'), - (0x1EE49, 'M', u'ي'), - (0x1EE4A, 'X'), - (0x1EE4B, 'M', u'ل'), - (0x1EE4C, 'X'), - (0x1EE4D, 'M', u'ن'), - (0x1EE4E, 'M', u'س'), - (0x1EE4F, 'M', u'ع'), - (0x1EE50, 'X'), - (0x1EE51, 'M', u'ص'), - (0x1EE52, 'M', u'ق'), - (0x1EE53, 'X'), - (0x1EE54, 'M', u'ش'), - (0x1EE55, 'X'), - (0x1EE57, 'M', u'خ'), - (0x1EE58, 'X'), - (0x1EE59, 'M', u'ض'), - (0x1EE5A, 'X'), - (0x1EE5B, 'M', u'غ'), - (0x1EE5C, 'X'), - (0x1EE5D, 'M', u'ں'), - (0x1EE5E, 'X'), - (0x1EE5F, 'M', u'ٯ'), - (0x1EE60, 'X'), - (0x1EE61, 'M', u'ب'), - (0x1EE62, 'M', u'ج'), - (0x1EE63, 'X'), - (0x1EE64, 'M', u'ه'), - (0x1EE65, 'X'), - (0x1EE67, 'M', u'ح'), - (0x1EE68, 'M', u'ط'), - (0x1EE69, 'M', u'ي'), - (0x1EE6A, 'M', u'ك'), - (0x1EE6B, 'X'), - (0x1EE6C, 'M', u'م'), - (0x1EE6D, 'M', u'ن'), - (0x1EE6E, 'M', u'س'), - (0x1EE6F, 'M', u'ع'), - (0x1EE70, 'M', u'ف'), - (0x1EE71, 'M', u'ص'), - (0x1EE72, 'M', u'ق'), - (0x1EE73, 'X'), - (0x1EE74, 'M', u'ش'), - (0x1EE75, 'M', u'ت'), - (0x1EE76, 'M', u'ث'), - (0x1EE77, 'M', u'خ'), - (0x1EE78, 'X'), - (0x1EE79, 'M', u'ض'), - (0x1EE7A, 'M', u'ظ'), - (0x1EE7B, 'M', u'غ'), - (0x1EE7C, 'M', u'ٮ'), - (0x1EE7D, 'X'), - (0x1EE7E, 'M', u'ڡ'), - (0x1EE7F, 'X'), - (0x1EE80, 'M', u'ا'), - (0x1EE81, 'M', u'ب'), - (0x1EE82, 'M', u'ج'), - (0x1EE83, 'M', u'د'), - ] - -def _seg_70(): - return [ - (0x1EE84, 'M', u'ه'), - (0x1EE85, 'M', u'و'), - (0x1EE86, 'M', u'ز'), - (0x1EE87, 'M', u'ح'), - (0x1EE88, 'M', u'ط'), - (0x1EE89, 'M', u'ي'), - (0x1EE8A, 'X'), - (0x1EE8B, 'M', u'ل'), - (0x1EE8C, 'M', u'م'), - (0x1EE8D, 'M', u'ن'), - (0x1EE8E, 'M', u'س'), - (0x1EE8F, 'M', u'ع'), - (0x1EE90, 'M', u'ف'), - (0x1EE91, 'M', u'ص'), - (0x1EE92, 'M', u'ق'), - (0x1EE93, 'M', u'ر'), - (0x1EE94, 'M', u'ش'), - (0x1EE95, 'M', u'ت'), - (0x1EE96, 'M', u'ث'), - (0x1EE97, 'M', u'خ'), - (0x1EE98, 'M', u'ذ'), - (0x1EE99, 'M', u'ض'), - (0x1EE9A, 'M', u'ظ'), - (0x1EE9B, 'M', u'غ'), - (0x1EE9C, 'X'), - (0x1EEA1, 'M', u'ب'), - (0x1EEA2, 'M', u'ج'), - (0x1EEA3, 'M', u'د'), - (0x1EEA4, 'X'), - (0x1EEA5, 'M', u'و'), - (0x1EEA6, 'M', u'ز'), - (0x1EEA7, 'M', u'ح'), - (0x1EEA8, 'M', u'ط'), - (0x1EEA9, 'M', u'ي'), - (0x1EEAA, 'X'), - (0x1EEAB, 'M', u'ل'), - (0x1EEAC, 'M', u'م'), - (0x1EEAD, 'M', u'ن'), - (0x1EEAE, 'M', u'س'), - (0x1EEAF, 'M', u'ع'), - (0x1EEB0, 'M', u'ف'), - (0x1EEB1, 'M', u'ص'), - (0x1EEB2, 'M', u'ق'), - (0x1EEB3, 'M', u'ر'), - (0x1EEB4, 'M', u'ش'), - (0x1EEB5, 'M', u'ت'), - (0x1EEB6, 'M', u'ث'), - (0x1EEB7, 'M', u'خ'), - (0x1EEB8, 'M', u'ذ'), - (0x1EEB9, 'M', u'ض'), - (0x1EEBA, 'M', u'ظ'), - (0x1EEBB, 'M', u'غ'), - (0x1EEBC, 'X'), - (0x1EEF0, 'V'), - (0x1EEF2, 'X'), - (0x1F000, 'V'), - (0x1F02C, 'X'), - (0x1F030, 'V'), - (0x1F094, 'X'), - (0x1F0A0, 'V'), - (0x1F0AF, 'X'), - (0x1F0B1, 'V'), - (0x1F0C0, 'X'), - (0x1F0C1, 'V'), - (0x1F0D0, 'X'), - (0x1F0D1, 'V'), - (0x1F0F6, 'X'), - (0x1F101, '3', u'0,'), - (0x1F102, '3', u'1,'), - (0x1F103, '3', u'2,'), - (0x1F104, '3', u'3,'), - (0x1F105, '3', u'4,'), - (0x1F106, '3', u'5,'), - (0x1F107, '3', u'6,'), - (0x1F108, '3', u'7,'), - (0x1F109, '3', u'8,'), - (0x1F10A, '3', u'9,'), - (0x1F10B, 'V'), - (0x1F10D, 'X'), - (0x1F110, '3', u'(a)'), - (0x1F111, '3', u'(b)'), - (0x1F112, '3', u'(c)'), - (0x1F113, '3', u'(d)'), - (0x1F114, '3', u'(e)'), - (0x1F115, '3', u'(f)'), - (0x1F116, '3', u'(g)'), - (0x1F117, '3', u'(h)'), - (0x1F118, '3', u'(i)'), - (0x1F119, '3', u'(j)'), - (0x1F11A, '3', u'(k)'), - (0x1F11B, '3', u'(l)'), - (0x1F11C, '3', u'(m)'), - (0x1F11D, '3', u'(n)'), - (0x1F11E, '3', u'(o)'), - (0x1F11F, '3', u'(p)'), - (0x1F120, '3', u'(q)'), - (0x1F121, '3', u'(r)'), - (0x1F122, '3', u'(s)'), - (0x1F123, '3', u'(t)'), - (0x1F124, '3', u'(u)'), - ] - -def _seg_71(): - return [ - (0x1F125, '3', u'(v)'), - (0x1F126, '3', u'(w)'), - (0x1F127, '3', u'(x)'), - (0x1F128, '3', u'(y)'), - (0x1F129, '3', u'(z)'), - (0x1F12A, 'M', u'〔s〕'), - (0x1F12B, 'M', u'c'), - (0x1F12C, 'M', u'r'), - (0x1F12D, 'M', u'cd'), - (0x1F12E, 'M', u'wz'), - (0x1F12F, 'V'), - (0x1F130, 'M', u'a'), - (0x1F131, 'M', u'b'), - (0x1F132, 'M', u'c'), - (0x1F133, 'M', u'd'), - (0x1F134, 'M', u'e'), - (0x1F135, 'M', u'f'), - (0x1F136, 'M', u'g'), - (0x1F137, 'M', u'h'), - (0x1F138, 'M', u'i'), - (0x1F139, 'M', u'j'), - (0x1F13A, 'M', u'k'), - (0x1F13B, 'M', u'l'), - (0x1F13C, 'M', u'm'), - (0x1F13D, 'M', u'n'), - (0x1F13E, 'M', u'o'), - (0x1F13F, 'M', u'p'), - (0x1F140, 'M', u'q'), - (0x1F141, 'M', u'r'), - (0x1F142, 'M', u's'), - (0x1F143, 'M', u't'), - (0x1F144, 'M', u'u'), - (0x1F145, 'M', u'v'), - (0x1F146, 'M', u'w'), - (0x1F147, 'M', u'x'), - (0x1F148, 'M', u'y'), - (0x1F149, 'M', u'z'), - (0x1F14A, 'M', u'hv'), - (0x1F14B, 'M', u'mv'), - (0x1F14C, 'M', u'sd'), - (0x1F14D, 'M', u'ss'), - (0x1F14E, 'M', u'ppv'), - (0x1F14F, 'M', u'wc'), - (0x1F150, 'V'), - (0x1F16A, 'M', u'mc'), - (0x1F16B, 'M', u'md'), - (0x1F16C, 'X'), - (0x1F170, 'V'), - (0x1F190, 'M', u'dj'), - (0x1F191, 'V'), - (0x1F1AD, 'X'), - (0x1F1E6, 'V'), - (0x1F200, 'M', u'ほか'), - (0x1F201, 'M', u'ココ'), - (0x1F202, 'M', u'サ'), - (0x1F203, 'X'), - (0x1F210, 'M', u'手'), - (0x1F211, 'M', u'字'), - (0x1F212, 'M', u'双'), - (0x1F213, 'M', u'デ'), - (0x1F214, 'M', u'二'), - (0x1F215, 'M', u'多'), - (0x1F216, 'M', u'解'), - (0x1F217, 'M', u'天'), - (0x1F218, 'M', u'交'), - (0x1F219, 'M', u'映'), - (0x1F21A, 'M', u'無'), - (0x1F21B, 'M', u'料'), - (0x1F21C, 'M', u'前'), - (0x1F21D, 'M', u'後'), - (0x1F21E, 'M', u'再'), - (0x1F21F, 'M', u'新'), - (0x1F220, 'M', u'初'), - (0x1F221, 'M', u'終'), - (0x1F222, 'M', u'生'), - (0x1F223, 'M', u'販'), - (0x1F224, 'M', u'声'), - (0x1F225, 'M', u'吹'), - (0x1F226, 'M', u'演'), - (0x1F227, 'M', u'投'), - (0x1F228, 'M', u'捕'), - (0x1F229, 'M', u'一'), - (0x1F22A, 'M', u'三'), - (0x1F22B, 'M', u'遊'), - (0x1F22C, 'M', u'左'), - (0x1F22D, 'M', u'中'), - (0x1F22E, 'M', u'右'), - (0x1F22F, 'M', u'指'), - (0x1F230, 'M', u'走'), - (0x1F231, 'M', u'打'), - (0x1F232, 'M', u'禁'), - (0x1F233, 'M', u'空'), - (0x1F234, 'M', u'合'), - (0x1F235, 'M', u'満'), - (0x1F236, 'M', u'有'), - (0x1F237, 'M', u'月'), - (0x1F238, 'M', u'申'), - (0x1F239, 'M', u'割'), - (0x1F23A, 'M', u'営'), - (0x1F23B, 'M', u'配'), - ] - -def _seg_72(): - return [ - (0x1F23C, 'X'), - (0x1F240, 'M', u'〔本〕'), - (0x1F241, 'M', u'〔三〕'), - (0x1F242, 'M', u'〔二〕'), - (0x1F243, 'M', u'〔安〕'), - (0x1F244, 'M', u'〔点〕'), - (0x1F245, 'M', u'〔打〕'), - (0x1F246, 'M', u'〔盗〕'), - (0x1F247, 'M', u'〔勝〕'), - (0x1F248, 'M', u'〔敗〕'), - (0x1F249, 'X'), - (0x1F250, 'M', u'得'), - (0x1F251, 'M', u'可'), - (0x1F252, 'X'), - (0x1F260, 'V'), - (0x1F266, 'X'), - (0x1F300, 'V'), - (0x1F6D5, 'X'), - (0x1F6E0, 'V'), - (0x1F6ED, 'X'), - (0x1F6F0, 'V'), - (0x1F6FA, 'X'), - (0x1F700, 'V'), - (0x1F774, 'X'), - (0x1F780, 'V'), - (0x1F7D9, 'X'), - (0x1F800, 'V'), - (0x1F80C, 'X'), - (0x1F810, 'V'), - (0x1F848, 'X'), - (0x1F850, 'V'), - (0x1F85A, 'X'), - (0x1F860, 'V'), - (0x1F888, 'X'), - (0x1F890, 'V'), - (0x1F8AE, 'X'), - (0x1F900, 'V'), - (0x1F90C, 'X'), - (0x1F910, 'V'), - (0x1F93F, 'X'), - (0x1F940, 'V'), - (0x1F971, 'X'), - (0x1F973, 'V'), - (0x1F977, 'X'), - (0x1F97A, 'V'), - (0x1F97B, 'X'), - (0x1F97C, 'V'), - (0x1F9A3, 'X'), - (0x1F9B0, 'V'), - (0x1F9BA, 'X'), - (0x1F9C0, 'V'), - (0x1F9C3, 'X'), - (0x1F9D0, 'V'), - (0x1FA00, 'X'), - (0x1FA60, 'V'), - (0x1FA6E, 'X'), - (0x20000, 'V'), - (0x2A6D7, 'X'), - (0x2A700, 'V'), - (0x2B735, 'X'), - (0x2B740, 'V'), - (0x2B81E, 'X'), - (0x2B820, 'V'), - (0x2CEA2, 'X'), - (0x2CEB0, 'V'), - (0x2EBE1, 'X'), - (0x2F800, 'M', u'丽'), - (0x2F801, 'M', u'丸'), - (0x2F802, 'M', u'乁'), - (0x2F803, 'M', u'𠄢'), - (0x2F804, 'M', u'你'), - (0x2F805, 'M', u'侮'), - (0x2F806, 'M', u'侻'), - (0x2F807, 'M', u'倂'), - (0x2F808, 'M', u'偺'), - (0x2F809, 'M', u'備'), - (0x2F80A, 'M', u'僧'), - (0x2F80B, 'M', u'像'), - (0x2F80C, 'M', u'㒞'), - (0x2F80D, 'M', u'𠘺'), - (0x2F80E, 'M', u'免'), - (0x2F80F, 'M', u'兔'), - (0x2F810, 'M', u'兤'), - (0x2F811, 'M', u'具'), - (0x2F812, 'M', u'𠔜'), - (0x2F813, 'M', u'㒹'), - (0x2F814, 'M', u'內'), - (0x2F815, 'M', u'再'), - (0x2F816, 'M', u'𠕋'), - (0x2F817, 'M', u'冗'), - (0x2F818, 'M', u'冤'), - (0x2F819, 'M', u'仌'), - (0x2F81A, 'M', u'冬'), - (0x2F81B, 'M', u'况'), - (0x2F81C, 'M', u'𩇟'), - (0x2F81D, 'M', u'凵'), - (0x2F81E, 'M', u'刃'), - (0x2F81F, 'M', u'㓟'), - (0x2F820, 'M', u'刻'), - (0x2F821, 'M', u'剆'), - ] - -def _seg_73(): - return [ - (0x2F822, 'M', u'割'), - (0x2F823, 'M', u'剷'), - (0x2F824, 'M', u'㔕'), - (0x2F825, 'M', u'勇'), - (0x2F826, 'M', u'勉'), - (0x2F827, 'M', u'勤'), - (0x2F828, 'M', u'勺'), - (0x2F829, 'M', u'包'), - (0x2F82A, 'M', u'匆'), - (0x2F82B, 'M', u'北'), - (0x2F82C, 'M', u'卉'), - (0x2F82D, 'M', u'卑'), - (0x2F82E, 'M', u'博'), - (0x2F82F, 'M', u'即'), - (0x2F830, 'M', u'卽'), - (0x2F831, 'M', u'卿'), - (0x2F834, 'M', u'𠨬'), - (0x2F835, 'M', u'灰'), - (0x2F836, 'M', u'及'), - (0x2F837, 'M', u'叟'), - (0x2F838, 'M', u'𠭣'), - (0x2F839, 'M', u'叫'), - (0x2F83A, 'M', u'叱'), - (0x2F83B, 'M', u'吆'), - (0x2F83C, 'M', u'咞'), - (0x2F83D, 'M', u'吸'), - (0x2F83E, 'M', u'呈'), - (0x2F83F, 'M', u'周'), - (0x2F840, 'M', u'咢'), - (0x2F841, 'M', u'哶'), - (0x2F842, 'M', u'唐'), - (0x2F843, 'M', u'啓'), - (0x2F844, 'M', u'啣'), - (0x2F845, 'M', u'善'), - (0x2F847, 'M', u'喙'), - (0x2F848, 'M', u'喫'), - (0x2F849, 'M', u'喳'), - (0x2F84A, 'M', u'嗂'), - (0x2F84B, 'M', u'圖'), - (0x2F84C, 'M', u'嘆'), - (0x2F84D, 'M', u'圗'), - (0x2F84E, 'M', u'噑'), - (0x2F84F, 'M', u'噴'), - (0x2F850, 'M', u'切'), - (0x2F851, 'M', u'壮'), - (0x2F852, 'M', u'城'), - (0x2F853, 'M', u'埴'), - (0x2F854, 'M', u'堍'), - (0x2F855, 'M', u'型'), - (0x2F856, 'M', u'堲'), - (0x2F857, 'M', u'報'), - (0x2F858, 'M', u'墬'), - (0x2F859, 'M', u'𡓤'), - (0x2F85A, 'M', u'売'), - (0x2F85B, 'M', u'壷'), - (0x2F85C, 'M', u'夆'), - (0x2F85D, 'M', u'多'), - (0x2F85E, 'M', u'夢'), - (0x2F85F, 'M', u'奢'), - (0x2F860, 'M', u'𡚨'), - (0x2F861, 'M', u'𡛪'), - (0x2F862, 'M', u'姬'), - (0x2F863, 'M', u'娛'), - (0x2F864, 'M', u'娧'), - (0x2F865, 'M', u'姘'), - (0x2F866, 'M', u'婦'), - (0x2F867, 'M', u'㛮'), - (0x2F868, 'X'), - (0x2F869, 'M', u'嬈'), - (0x2F86A, 'M', u'嬾'), - (0x2F86C, 'M', u'𡧈'), - (0x2F86D, 'M', u'寃'), - (0x2F86E, 'M', u'寘'), - (0x2F86F, 'M', u'寧'), - (0x2F870, 'M', u'寳'), - (0x2F871, 'M', u'𡬘'), - (0x2F872, 'M', u'寿'), - (0x2F873, 'M', u'将'), - (0x2F874, 'X'), - (0x2F875, 'M', u'尢'), - (0x2F876, 'M', u'㞁'), - (0x2F877, 'M', u'屠'), - (0x2F878, 'M', u'屮'), - (0x2F879, 'M', u'峀'), - (0x2F87A, 'M', u'岍'), - (0x2F87B, 'M', u'𡷤'), - (0x2F87C, 'M', u'嵃'), - (0x2F87D, 'M', u'𡷦'), - (0x2F87E, 'M', u'嵮'), - (0x2F87F, 'M', u'嵫'), - (0x2F880, 'M', u'嵼'), - (0x2F881, 'M', u'巡'), - (0x2F882, 'M', u'巢'), - (0x2F883, 'M', u'㠯'), - (0x2F884, 'M', u'巽'), - (0x2F885, 'M', u'帨'), - (0x2F886, 'M', u'帽'), - (0x2F887, 'M', u'幩'), - (0x2F888, 'M', u'㡢'), - (0x2F889, 'M', u'𢆃'), - ] - -def _seg_74(): - return [ - (0x2F88A, 'M', u'㡼'), - (0x2F88B, 'M', u'庰'), - (0x2F88C, 'M', u'庳'), - (0x2F88D, 'M', u'庶'), - (0x2F88E, 'M', u'廊'), - (0x2F88F, 'M', u'𪎒'), - (0x2F890, 'M', u'廾'), - (0x2F891, 'M', u'𢌱'), - (0x2F893, 'M', u'舁'), - (0x2F894, 'M', u'弢'), - (0x2F896, 'M', u'㣇'), - (0x2F897, 'M', u'𣊸'), - (0x2F898, 'M', u'𦇚'), - (0x2F899, 'M', u'形'), - (0x2F89A, 'M', u'彫'), - (0x2F89B, 'M', u'㣣'), - (0x2F89C, 'M', u'徚'), - (0x2F89D, 'M', u'忍'), - (0x2F89E, 'M', u'志'), - (0x2F89F, 'M', u'忹'), - (0x2F8A0, 'M', u'悁'), - (0x2F8A1, 'M', u'㤺'), - (0x2F8A2, 'M', u'㤜'), - (0x2F8A3, 'M', u'悔'), - (0x2F8A4, 'M', u'𢛔'), - (0x2F8A5, 'M', u'惇'), - (0x2F8A6, 'M', u'慈'), - (0x2F8A7, 'M', u'慌'), - (0x2F8A8, 'M', u'慎'), - (0x2F8A9, 'M', u'慌'), - (0x2F8AA, 'M', u'慺'), - (0x2F8AB, 'M', u'憎'), - (0x2F8AC, 'M', u'憲'), - (0x2F8AD, 'M', u'憤'), - (0x2F8AE, 'M', u'憯'), - (0x2F8AF, 'M', u'懞'), - (0x2F8B0, 'M', u'懲'), - (0x2F8B1, 'M', u'懶'), - (0x2F8B2, 'M', u'成'), - (0x2F8B3, 'M', u'戛'), - (0x2F8B4, 'M', u'扝'), - (0x2F8B5, 'M', u'抱'), - (0x2F8B6, 'M', u'拔'), - (0x2F8B7, 'M', u'捐'), - (0x2F8B8, 'M', u'𢬌'), - (0x2F8B9, 'M', u'挽'), - (0x2F8BA, 'M', u'拼'), - (0x2F8BB, 'M', u'捨'), - (0x2F8BC, 'M', u'掃'), - (0x2F8BD, 'M', u'揤'), - (0x2F8BE, 'M', u'𢯱'), - (0x2F8BF, 'M', u'搢'), - (0x2F8C0, 'M', u'揅'), - (0x2F8C1, 'M', u'掩'), - (0x2F8C2, 'M', u'㨮'), - (0x2F8C3, 'M', u'摩'), - (0x2F8C4, 'M', u'摾'), - (0x2F8C5, 'M', u'撝'), - (0x2F8C6, 'M', u'摷'), - (0x2F8C7, 'M', u'㩬'), - (0x2F8C8, 'M', u'敏'), - (0x2F8C9, 'M', u'敬'), - (0x2F8CA, 'M', u'𣀊'), - (0x2F8CB, 'M', u'旣'), - (0x2F8CC, 'M', u'書'), - (0x2F8CD, 'M', u'晉'), - (0x2F8CE, 'M', u'㬙'), - (0x2F8CF, 'M', u'暑'), - (0x2F8D0, 'M', u'㬈'), - (0x2F8D1, 'M', u'㫤'), - (0x2F8D2, 'M', u'冒'), - (0x2F8D3, 'M', u'冕'), - (0x2F8D4, 'M', u'最'), - (0x2F8D5, 'M', u'暜'), - (0x2F8D6, 'M', u'肭'), - (0x2F8D7, 'M', u'䏙'), - (0x2F8D8, 'M', u'朗'), - (0x2F8D9, 'M', u'望'), - (0x2F8DA, 'M', u'朡'), - (0x2F8DB, 'M', u'杞'), - (0x2F8DC, 'M', u'杓'), - (0x2F8DD, 'M', u'𣏃'), - (0x2F8DE, 'M', u'㭉'), - (0x2F8DF, 'M', u'柺'), - (0x2F8E0, 'M', u'枅'), - (0x2F8E1, 'M', u'桒'), - (0x2F8E2, 'M', u'梅'), - (0x2F8E3, 'M', u'𣑭'), - (0x2F8E4, 'M', u'梎'), - (0x2F8E5, 'M', u'栟'), - (0x2F8E6, 'M', u'椔'), - (0x2F8E7, 'M', u'㮝'), - (0x2F8E8, 'M', u'楂'), - (0x2F8E9, 'M', u'榣'), - (0x2F8EA, 'M', u'槪'), - (0x2F8EB, 'M', u'檨'), - (0x2F8EC, 'M', u'𣚣'), - (0x2F8ED, 'M', u'櫛'), - (0x2F8EE, 'M', u'㰘'), - (0x2F8EF, 'M', u'次'), - ] - -def _seg_75(): - return [ - (0x2F8F0, 'M', u'𣢧'), - (0x2F8F1, 'M', u'歔'), - (0x2F8F2, 'M', u'㱎'), - (0x2F8F3, 'M', u'歲'), - (0x2F8F4, 'M', u'殟'), - (0x2F8F5, 'M', u'殺'), - (0x2F8F6, 'M', u'殻'), - (0x2F8F7, 'M', u'𣪍'), - (0x2F8F8, 'M', u'𡴋'), - (0x2F8F9, 'M', u'𣫺'), - (0x2F8FA, 'M', u'汎'), - (0x2F8FB, 'M', u'𣲼'), - (0x2F8FC, 'M', u'沿'), - (0x2F8FD, 'M', u'泍'), - (0x2F8FE, 'M', u'汧'), - (0x2F8FF, 'M', u'洖'), - (0x2F900, 'M', u'派'), - (0x2F901, 'M', u'海'), - (0x2F902, 'M', u'流'), - (0x2F903, 'M', u'浩'), - (0x2F904, 'M', u'浸'), - (0x2F905, 'M', u'涅'), - (0x2F906, 'M', u'𣴞'), - (0x2F907, 'M', u'洴'), - (0x2F908, 'M', u'港'), - (0x2F909, 'M', u'湮'), - (0x2F90A, 'M', u'㴳'), - (0x2F90B, 'M', u'滋'), - (0x2F90C, 'M', u'滇'), - (0x2F90D, 'M', u'𣻑'), - (0x2F90E, 'M', u'淹'), - (0x2F90F, 'M', u'潮'), - (0x2F910, 'M', u'𣽞'), - (0x2F911, 'M', u'𣾎'), - (0x2F912, 'M', u'濆'), - (0x2F913, 'M', u'瀹'), - (0x2F914, 'M', u'瀞'), - (0x2F915, 'M', u'瀛'), - (0x2F916, 'M', u'㶖'), - (0x2F917, 'M', u'灊'), - (0x2F918, 'M', u'災'), - (0x2F919, 'M', u'灷'), - (0x2F91A, 'M', u'炭'), - (0x2F91B, 'M', u'𠔥'), - (0x2F91C, 'M', u'煅'), - (0x2F91D, 'M', u'𤉣'), - (0x2F91E, 'M', u'熜'), - (0x2F91F, 'X'), - (0x2F920, 'M', u'爨'), - (0x2F921, 'M', u'爵'), - (0x2F922, 'M', u'牐'), - (0x2F923, 'M', u'𤘈'), - (0x2F924, 'M', u'犀'), - (0x2F925, 'M', u'犕'), - (0x2F926, 'M', u'𤜵'), - (0x2F927, 'M', u'𤠔'), - (0x2F928, 'M', u'獺'), - (0x2F929, 'M', u'王'), - (0x2F92A, 'M', u'㺬'), - (0x2F92B, 'M', u'玥'), - (0x2F92C, 'M', u'㺸'), - (0x2F92E, 'M', u'瑇'), - (0x2F92F, 'M', u'瑜'), - (0x2F930, 'M', u'瑱'), - (0x2F931, 'M', u'璅'), - (0x2F932, 'M', u'瓊'), - (0x2F933, 'M', u'㼛'), - (0x2F934, 'M', u'甤'), - (0x2F935, 'M', u'𤰶'), - (0x2F936, 'M', u'甾'), - (0x2F937, 'M', u'𤲒'), - (0x2F938, 'M', u'異'), - (0x2F939, 'M', u'𢆟'), - (0x2F93A, 'M', u'瘐'), - (0x2F93B, 'M', u'𤾡'), - (0x2F93C, 'M', u'𤾸'), - (0x2F93D, 'M', u'𥁄'), - (0x2F93E, 'M', u'㿼'), - (0x2F93F, 'M', u'䀈'), - (0x2F940, 'M', u'直'), - (0x2F941, 'M', u'𥃳'), - (0x2F942, 'M', u'𥃲'), - (0x2F943, 'M', u'𥄙'), - (0x2F944, 'M', u'𥄳'), - (0x2F945, 'M', u'眞'), - (0x2F946, 'M', u'真'), - (0x2F948, 'M', u'睊'), - (0x2F949, 'M', u'䀹'), - (0x2F94A, 'M', u'瞋'), - (0x2F94B, 'M', u'䁆'), - (0x2F94C, 'M', u'䂖'), - (0x2F94D, 'M', u'𥐝'), - (0x2F94E, 'M', u'硎'), - (0x2F94F, 'M', u'碌'), - (0x2F950, 'M', u'磌'), - (0x2F951, 'M', u'䃣'), - (0x2F952, 'M', u'𥘦'), - (0x2F953, 'M', u'祖'), - (0x2F954, 'M', u'𥚚'), - (0x2F955, 'M', u'𥛅'), - ] - -def _seg_76(): - return [ - (0x2F956, 'M', u'福'), - (0x2F957, 'M', u'秫'), - (0x2F958, 'M', u'䄯'), - (0x2F959, 'M', u'穀'), - (0x2F95A, 'M', u'穊'), - (0x2F95B, 'M', u'穏'), - (0x2F95C, 'M', u'𥥼'), - (0x2F95D, 'M', u'𥪧'), - (0x2F95F, 'X'), - (0x2F960, 'M', u'䈂'), - (0x2F961, 'M', u'𥮫'), - (0x2F962, 'M', u'篆'), - (0x2F963, 'M', u'築'), - (0x2F964, 'M', u'䈧'), - (0x2F965, 'M', u'𥲀'), - (0x2F966, 'M', u'糒'), - (0x2F967, 'M', u'䊠'), - (0x2F968, 'M', u'糨'), - (0x2F969, 'M', u'糣'), - (0x2F96A, 'M', u'紀'), - (0x2F96B, 'M', u'𥾆'), - (0x2F96C, 'M', u'絣'), - (0x2F96D, 'M', u'䌁'), - (0x2F96E, 'M', u'緇'), - (0x2F96F, 'M', u'縂'), - (0x2F970, 'M', u'繅'), - (0x2F971, 'M', u'䌴'), - (0x2F972, 'M', u'𦈨'), - (0x2F973, 'M', u'𦉇'), - (0x2F974, 'M', u'䍙'), - (0x2F975, 'M', u'𦋙'), - (0x2F976, 'M', u'罺'), - (0x2F977, 'M', u'𦌾'), - (0x2F978, 'M', u'羕'), - (0x2F979, 'M', u'翺'), - (0x2F97A, 'M', u'者'), - (0x2F97B, 'M', u'𦓚'), - (0x2F97C, 'M', u'𦔣'), - (0x2F97D, 'M', u'聠'), - (0x2F97E, 'M', u'𦖨'), - (0x2F97F, 'M', u'聰'), - (0x2F980, 'M', u'𣍟'), - (0x2F981, 'M', u'䏕'), - (0x2F982, 'M', u'育'), - (0x2F983, 'M', u'脃'), - (0x2F984, 'M', u'䐋'), - (0x2F985, 'M', u'脾'), - (0x2F986, 'M', u'媵'), - (0x2F987, 'M', u'𦞧'), - (0x2F988, 'M', u'𦞵'), - (0x2F989, 'M', u'𣎓'), - (0x2F98A, 'M', u'𣎜'), - (0x2F98B, 'M', u'舁'), - (0x2F98C, 'M', u'舄'), - (0x2F98D, 'M', u'辞'), - (0x2F98E, 'M', u'䑫'), - (0x2F98F, 'M', u'芑'), - (0x2F990, 'M', u'芋'), - (0x2F991, 'M', u'芝'), - (0x2F992, 'M', u'劳'), - (0x2F993, 'M', u'花'), - (0x2F994, 'M', u'芳'), - (0x2F995, 'M', u'芽'), - (0x2F996, 'M', u'苦'), - (0x2F997, 'M', u'𦬼'), - (0x2F998, 'M', u'若'), - (0x2F999, 'M', u'茝'), - (0x2F99A, 'M', u'荣'), - (0x2F99B, 'M', u'莭'), - (0x2F99C, 'M', u'茣'), - (0x2F99D, 'M', u'莽'), - (0x2F99E, 'M', u'菧'), - (0x2F99F, 'M', u'著'), - (0x2F9A0, 'M', u'荓'), - (0x2F9A1, 'M', u'菊'), - (0x2F9A2, 'M', u'菌'), - (0x2F9A3, 'M', u'菜'), - (0x2F9A4, 'M', u'𦰶'), - (0x2F9A5, 'M', u'𦵫'), - (0x2F9A6, 'M', u'𦳕'), - (0x2F9A7, 'M', u'䔫'), - (0x2F9A8, 'M', u'蓱'), - (0x2F9A9, 'M', u'蓳'), - (0x2F9AA, 'M', u'蔖'), - (0x2F9AB, 'M', u'𧏊'), - (0x2F9AC, 'M', u'蕤'), - (0x2F9AD, 'M', u'𦼬'), - (0x2F9AE, 'M', u'䕝'), - (0x2F9AF, 'M', u'䕡'), - (0x2F9B0, 'M', u'𦾱'), - (0x2F9B1, 'M', u'𧃒'), - (0x2F9B2, 'M', u'䕫'), - (0x2F9B3, 'M', u'虐'), - (0x2F9B4, 'M', u'虜'), - (0x2F9B5, 'M', u'虧'), - (0x2F9B6, 'M', u'虩'), - (0x2F9B7, 'M', u'蚩'), - (0x2F9B8, 'M', u'蚈'), - (0x2F9B9, 'M', u'蜎'), - (0x2F9BA, 'M', u'蛢'), - ] - -def _seg_77(): - return [ - (0x2F9BB, 'M', u'蝹'), - (0x2F9BC, 'M', u'蜨'), - (0x2F9BD, 'M', u'蝫'), - (0x2F9BE, 'M', u'螆'), - (0x2F9BF, 'X'), - (0x2F9C0, 'M', u'蟡'), - (0x2F9C1, 'M', u'蠁'), - (0x2F9C2, 'M', u'䗹'), - (0x2F9C3, 'M', u'衠'), - (0x2F9C4, 'M', u'衣'), - (0x2F9C5, 'M', u'𧙧'), - (0x2F9C6, 'M', u'裗'), - (0x2F9C7, 'M', u'裞'), - (0x2F9C8, 'M', u'䘵'), - (0x2F9C9, 'M', u'裺'), - (0x2F9CA, 'M', u'㒻'), - (0x2F9CB, 'M', u'𧢮'), - (0x2F9CC, 'M', u'𧥦'), - (0x2F9CD, 'M', u'䚾'), - (0x2F9CE, 'M', u'䛇'), - (0x2F9CF, 'M', u'誠'), - (0x2F9D0, 'M', u'諭'), - (0x2F9D1, 'M', u'變'), - (0x2F9D2, 'M', u'豕'), - (0x2F9D3, 'M', u'𧲨'), - (0x2F9D4, 'M', u'貫'), - (0x2F9D5, 'M', u'賁'), - (0x2F9D6, 'M', u'贛'), - (0x2F9D7, 'M', u'起'), - (0x2F9D8, 'M', u'𧼯'), - (0x2F9D9, 'M', u'𠠄'), - (0x2F9DA, 'M', u'跋'), - (0x2F9DB, 'M', u'趼'), - (0x2F9DC, 'M', u'跰'), - (0x2F9DD, 'M', u'𠣞'), - (0x2F9DE, 'M', u'軔'), - (0x2F9DF, 'M', u'輸'), - (0x2F9E0, 'M', u'𨗒'), - (0x2F9E1, 'M', u'𨗭'), - (0x2F9E2, 'M', u'邔'), - (0x2F9E3, 'M', u'郱'), - (0x2F9E4, 'M', u'鄑'), - (0x2F9E5, 'M', u'𨜮'), - (0x2F9E6, 'M', u'鄛'), - (0x2F9E7, 'M', u'鈸'), - (0x2F9E8, 'M', u'鋗'), - (0x2F9E9, 'M', u'鋘'), - (0x2F9EA, 'M', u'鉼'), - (0x2F9EB, 'M', u'鏹'), - (0x2F9EC, 'M', u'鐕'), - (0x2F9ED, 'M', u'𨯺'), - (0x2F9EE, 'M', u'開'), - (0x2F9EF, 'M', u'䦕'), - (0x2F9F0, 'M', u'閷'), - (0x2F9F1, 'M', u'𨵷'), - (0x2F9F2, 'M', u'䧦'), - (0x2F9F3, 'M', u'雃'), - (0x2F9F4, 'M', u'嶲'), - (0x2F9F5, 'M', u'霣'), - (0x2F9F6, 'M', u'𩅅'), - (0x2F9F7, 'M', u'𩈚'), - (0x2F9F8, 'M', u'䩮'), - (0x2F9F9, 'M', u'䩶'), - (0x2F9FA, 'M', u'韠'), - (0x2F9FB, 'M', u'𩐊'), - (0x2F9FC, 'M', u'䪲'), - (0x2F9FD, 'M', u'𩒖'), - (0x2F9FE, 'M', u'頋'), - (0x2FA00, 'M', u'頩'), - (0x2FA01, 'M', u'𩖶'), - (0x2FA02, 'M', u'飢'), - (0x2FA03, 'M', u'䬳'), - (0x2FA04, 'M', u'餩'), - (0x2FA05, 'M', u'馧'), - (0x2FA06, 'M', u'駂'), - (0x2FA07, 'M', u'駾'), - (0x2FA08, 'M', u'䯎'), - (0x2FA09, 'M', u'𩬰'), - (0x2FA0A, 'M', u'鬒'), - (0x2FA0B, 'M', u'鱀'), - (0x2FA0C, 'M', u'鳽'), - (0x2FA0D, 'M', u'䳎'), - (0x2FA0E, 'M', u'䳭'), - (0x2FA0F, 'M', u'鵧'), - (0x2FA10, 'M', u'𪃎'), - (0x2FA11, 'M', u'䳸'), - (0x2FA12, 'M', u'𪄅'), - (0x2FA13, 'M', u'𪈎'), - (0x2FA14, 'M', u'𪊑'), - (0x2FA15, 'M', u'麻'), - (0x2FA16, 'M', u'䵖'), - (0x2FA17, 'M', u'黹'), - (0x2FA18, 'M', u'黾'), - (0x2FA19, 'M', u'鼅'), - (0x2FA1A, 'M', u'鼏'), - (0x2FA1B, 'M', u'鼖'), - (0x2FA1C, 'M', u'鼻'), - (0x2FA1D, 'M', u'𪘀'), - (0x2FA1E, 'X'), - (0xE0100, 'I'), - ] - -def _seg_78(): - return [ - (0xE01F0, 'X'), - ] - -uts46data = tuple( - _seg_0() - + _seg_1() - + _seg_2() - + _seg_3() - + _seg_4() - + _seg_5() - + _seg_6() - + _seg_7() - + _seg_8() - + _seg_9() - + _seg_10() - + _seg_11() - + _seg_12() - + _seg_13() - + _seg_14() - + _seg_15() - + _seg_16() - + _seg_17() - + _seg_18() - + _seg_19() - + _seg_20() - + _seg_21() - + _seg_22() - + _seg_23() - + _seg_24() - + _seg_25() - + _seg_26() - + _seg_27() - + _seg_28() - + _seg_29() - + _seg_30() - + _seg_31() - + _seg_32() - + _seg_33() - + _seg_34() - + _seg_35() - + _seg_36() - + _seg_37() - + _seg_38() - + _seg_39() - + _seg_40() - + _seg_41() - + _seg_42() - + _seg_43() - + _seg_44() - + _seg_45() - + _seg_46() - + _seg_47() - + _seg_48() - + _seg_49() - + _seg_50() - + _seg_51() - + _seg_52() - + _seg_53() - + _seg_54() - + _seg_55() - + _seg_56() - + _seg_57() - + _seg_58() - + _seg_59() - + _seg_60() - + _seg_61() - + _seg_62() - + _seg_63() - + _seg_64() - + _seg_65() - + _seg_66() - + _seg_67() - + _seg_68() - + _seg_69() - + _seg_70() - + _seg_71() - + _seg_72() - + _seg_73() - + _seg_74() - + _seg_75() - + _seg_76() - + _seg_77() - + _seg_78() -) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/INSTALLER b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/LICENSE b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/LICENSE deleted file mode 100644 index be7e092..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2017-2019 Jason R. Coombs, Barry Warsaw - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/METADATA b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/METADATA deleted file mode 100644 index c12da68..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/METADATA +++ /dev/null @@ -1,65 +0,0 @@ -Metadata-Version: 2.1 -Name: importlib-metadata -Version: 0.23 -Summary: Read metadata from Python packages -Home-page: http://importlib-metadata.readthedocs.io/ -Author: Barry Warsaw -Author-email: barry@python.org -License: Apache Software License -Platform: UNKNOWN -Classifier: Development Status :: 3 - Alpha -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Topic :: Software Development :: Libraries -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 2 -Requires-Python: >=2.7,!=3.0,!=3.1,!=3.2,!=3.3 -Requires-Dist: zipp (>=0.5) -Requires-Dist: contextlib2 ; python_version < "3" -Requires-Dist: configparser (>=3.5) ; python_version < "3" -Requires-Dist: pathlib2 ; python_version == "3.4.*" or python_version < "3" -Provides-Extra: docs -Requires-Dist: sphinx ; extra == 'docs' -Requires-Dist: rst.linker ; extra == 'docs' -Provides-Extra: testing -Requires-Dist: packaging ; extra == 'testing' -Requires-Dist: importlib-resources ; (python_version < "3.7") and extra == 'testing' - -========================= - ``importlib_metadata`` -========================= - -``importlib_metadata`` is a library to access the metadata for a Python -package. It is intended to be ported to Python 3.8. - - -Usage -===== - -See the `online documentation `_ -for usage details. - -`Finder authors -`_ can -also add support for custom package installers. See the above documentation -for details. - - -Caveats -======= - -This project primarily supports third-party packages installed by PyPA -tools (or other conforming packages). It does not support: - -- Packages in the stdlib. -- Packages installed without metadata. - -Project details -=============== - - * Project home: https://gitlab.com/python-devs/importlib_metadata - * Report bugs at: https://gitlab.com/python-devs/importlib_metadata/issues - * Code hosting: https://gitlab.com/python-devs/importlib_metadata.git - * Documentation: http://importlib_metadata.readthedocs.io/ - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/RECORD b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/RECORD deleted file mode 100644 index 36c6b2f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/RECORD +++ /dev/null @@ -1,33 +0,0 @@ -importlib_metadata-0.23.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -importlib_metadata-0.23.dist-info/LICENSE,sha256=wNe6dAchmJ1VvVB8D9oTc-gHHadCuaSBAev36sYEM6U,571 -importlib_metadata-0.23.dist-info/METADATA,sha256=zaYmkbg8YZmp-MptyNCkstM4kvpqXcI5iw9XwqYsIqc,2105 -importlib_metadata-0.23.dist-info/RECORD,, -importlib_metadata-0.23.dist-info/WHEEL,sha256=8zNYZbwQSXoB9IfXOjPfeNwvAsALAjffgk27FqvCWbo,110 -importlib_metadata-0.23.dist-info/top_level.txt,sha256=CO3fD9yylANiXkrMo4qHLV_mqXL2sC5JFKgt1yWAT-A,19 -importlib_metadata/__init__.py,sha256=5ZATqOc76QoUeDwtX2Rul7EtcG5tumvv9k5wpegBQYU,17197 -importlib_metadata/__pycache__/__init__.cpython-37.pyc,, -importlib_metadata/__pycache__/_compat.cpython-37.pyc,, -importlib_metadata/_compat.py,sha256=PWaYFxVGb902XVUn8pwcZBSn94t2NUml00bdlpfUudg,3004 -importlib_metadata/docs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -importlib_metadata/docs/__pycache__/__init__.cpython-37.pyc,, -importlib_metadata/docs/__pycache__/conf.cpython-37.pyc,, -importlib_metadata/docs/changelog.rst,sha256=_RLRPO-npivxO-IlbhsdF9krNrukDWr6X4-sVfc-nqA,6205 -importlib_metadata/docs/conf.py,sha256=DM_-W8bvIar_YqWeRQUcgWT1_phXe-H2IcYgM8JIkiY,5468 -importlib_metadata/docs/index.rst,sha256=4T97pI0Iu40cEbqJy53LZeEToStyC45zHmZO9Cwe5Vk,2044 -importlib_metadata/docs/using.rst,sha256=2S6KGhJ66t8kM3cik7K03X1AJUGX0TWr6byaHEsJjnc,9826 -importlib_metadata/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -importlib_metadata/tests/__pycache__/__init__.cpython-37.pyc,, -importlib_metadata/tests/__pycache__/fixtures.cpython-37.pyc,, -importlib_metadata/tests/__pycache__/test_api.cpython-37.pyc,, -importlib_metadata/tests/__pycache__/test_integration.cpython-37.pyc,, -importlib_metadata/tests/__pycache__/test_main.cpython-37.pyc,, -importlib_metadata/tests/__pycache__/test_zip.cpython-37.pyc,, -importlib_metadata/tests/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -importlib_metadata/tests/data/__pycache__/__init__.cpython-37.pyc,, -importlib_metadata/tests/data/example-21.12-py3-none-any.whl,sha256=I-kYufETid-tDYyR8f1OFJ3t5u_Io23k0cbQxJTUN4I,1455 -importlib_metadata/tests/data/example-21.12-py3.6.egg,sha256=-EeugFAijkdUO9xyQHTZkQwZoFXK0_QxICBj6R5AAJo,1497 -importlib_metadata/tests/fixtures.py,sha256=sshuoJ4ezljeouUddVg-76K1UOStKWBecovZOKOBguk,5004 -importlib_metadata/tests/test_api.py,sha256=YMAGTsRENrtvpw2CSLmRndJMBeT4q_M0GSe-QsnnMZ4,5544 -importlib_metadata/tests/test_integration.py,sha256=kzqav9qAePjz7UR-GNna65xLwXlRcxEDYDwmuOFwpKE,686 -importlib_metadata/tests/test_main.py,sha256=njWXHvOY0a9lNS4SbM7jkRJngk0EdmAm5cRR7KaFtKo,6213 -importlib_metadata/tests/test_zip.py,sha256=qG3IquiTFLSrUtpxEJblqiUtgEcOTfjU2yM35REk0fo,2372 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/WHEEL b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/WHEEL deleted file mode 100644 index 8b701e9..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.33.6) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/top_level.txt b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/top_level.txt deleted file mode 100644 index bbb0754..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata-0.23.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -importlib_metadata diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/__init__.py deleted file mode 100644 index f0e7eba..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/__init__.py +++ /dev/null @@ -1,547 +0,0 @@ -from __future__ import unicode_literals, absolute_import - -import io -import os -import re -import abc -import csv -import sys -import zipp -import operator -import functools -import itertools -import collections - -from ._compat import ( - install, - NullFinder, - ConfigParser, - suppress, - map, - FileNotFoundError, - IsADirectoryError, - NotADirectoryError, - PermissionError, - pathlib, - PYPY_OPEN_BUG, - ModuleNotFoundError, - MetaPathFinder, - email_message_from_string, - ensure_is_path, - ) -from importlib import import_module -from itertools import starmap - - -__metaclass__ = type - - -__all__ = [ - 'Distribution', - 'DistributionFinder', - 'PackageNotFoundError', - 'distribution', - 'distributions', - 'entry_points', - 'files', - 'metadata', - 'requires', - 'version', - ] - - -class PackageNotFoundError(ModuleNotFoundError): - """The package was not found.""" - - -class EntryPoint(collections.namedtuple('EntryPointBase', 'name value group')): - """An entry point as defined by Python packaging conventions. - - See `the packaging docs on entry points - `_ - for more information. - """ - - pattern = re.compile( - r'(?P[\w.]+)\s*' - r'(:\s*(?P[\w.]+))?\s*' - r'(?P\[.*\])?\s*$' - ) - """ - A regular expression describing the syntax for an entry point, - which might look like: - - - module - - package.module - - package.module:attribute - - package.module:object.attribute - - package.module:attr [extra1, extra2] - - Other combinations are possible as well. - - The expression is lenient about whitespace around the ':', - following the attr, and following any extras. - """ - - def load(self): - """Load the entry point from its definition. If only a module - is indicated by the value, return that module. Otherwise, - return the named object. - """ - match = self.pattern.match(self.value) - module = import_module(match.group('module')) - attrs = filter(None, (match.group('attr') or '').split('.')) - return functools.reduce(getattr, attrs, module) - - @property - def extras(self): - match = self.pattern.match(self.value) - return list(re.finditer(r'\w+', match.group('extras') or '')) - - @classmethod - def _from_config(cls, config): - return [ - cls(name, value, group) - for group in config.sections() - for name, value in config.items(group) - ] - - @classmethod - def _from_text(cls, text): - config = ConfigParser(delimiters='=') - # case sensitive: https://stackoverflow.com/q/1611799/812183 - config.optionxform = str - try: - config.read_string(text) - except AttributeError: # pragma: nocover - # Python 2 has no read_string - config.readfp(io.StringIO(text)) - return EntryPoint._from_config(config) - - def __iter__(self): - """ - Supply iter so one may construct dicts of EntryPoints easily. - """ - return iter((self.name, self)) - - -class PackagePath(pathlib.PurePosixPath): - """A reference to a path in a package""" - - def read_text(self, encoding='utf-8'): - with self.locate().open(encoding=encoding) as stream: - return stream.read() - - def read_binary(self): - with self.locate().open('rb') as stream: - return stream.read() - - def locate(self): - """Return a path-like object for this path""" - return self.dist.locate_file(self) - - -class FileHash: - def __init__(self, spec): - self.mode, _, self.value = spec.partition('=') - - def __repr__(self): - return ''.format(self.mode, self.value) - - -class Distribution: - """A Python distribution package.""" - - @abc.abstractmethod - def read_text(self, filename): - """Attempt to load metadata file given by the name. - - :param filename: The name of the file in the distribution info. - :return: The text if found, otherwise None. - """ - - @abc.abstractmethod - def locate_file(self, path): - """ - Given a path to a file in this distribution, return a path - to it. - """ - - @classmethod - def from_name(cls, name): - """Return the Distribution for the given package name. - - :param name: The name of the distribution package to search for. - :return: The Distribution instance (or subclass thereof) for the named - package, if found. - :raises PackageNotFoundError: When the named package's distribution - metadata cannot be found. - """ - for resolver in cls._discover_resolvers(): - context = DistributionFinder.Context(name=name) - dists = cls._maybe_bind(resolver, context) - dist = next(dists, None) - if dist is not None: - return dist - else: - raise PackageNotFoundError(name) - - @classmethod - def discover(cls, **kwargs): - """Return an iterable of Distribution objects for all packages. - - Pass a ``context`` or pass keyword arguments for constructing - a context. - - :context: A ``DistributionFinder.Context`` object. - :return: Iterable of Distribution objects for all packages. - """ - context = kwargs.pop('context', None) - if context and kwargs: - raise ValueError("cannot accept context and kwargs") - context = context or DistributionFinder.Context(**kwargs) - return itertools.chain.from_iterable( - cls._maybe_bind(resolver, context) - for resolver in cls._discover_resolvers() - ) - - @staticmethod - def _maybe_bind(resolver, context): - """ - Only bind the context to the resolver if as a callable, - the resolver accepts the context parameter. - - Workaround for - https://gitlab.com/python-devs/importlib_metadata/issues/86 - """ - try: # pragma: nocover - return resolver(context) - except TypeError: # pragma: nocover - return resolver(name=context.name, path=context.path) - - @staticmethod - def at(path): - """Return a Distribution for the indicated metadata path - - :param path: a string or path-like object - :return: a concrete Distribution instance for the path - """ - return PathDistribution(ensure_is_path(path)) - - @staticmethod - def _discover_resolvers(): - """Search the meta_path for resolvers.""" - declared = ( - getattr(finder, 'find_distributions', None) - for finder in sys.meta_path - ) - return filter(None, declared) - - @property - def metadata(self): - """Return the parsed metadata for this Distribution. - - The returned object will have keys that name the various bits of - metadata. See PEP 566 for details. - """ - text = ( - self.read_text('METADATA') - or self.read_text('PKG-INFO') - # This last clause is here to support old egg-info files. Its - # effect is to just end up using the PathDistribution's self._path - # (which points to the egg-info file) attribute unchanged. - or self.read_text('') - ) - return email_message_from_string(text) - - @property - def version(self): - """Return the 'Version' metadata for the distribution package.""" - return self.metadata['Version'] - - @property - def entry_points(self): - return EntryPoint._from_text(self.read_text('entry_points.txt')) - - @property - def files(self): - """Files in this distribution. - - :return: List of PackagePath for this distribution or None - - Result is `None` if the metadata file that enumerates files - (i.e. RECORD for dist-info or SOURCES.txt for egg-info) is - missing. - Result may be empty if the metadata exists but is empty. - """ - file_lines = self._read_files_distinfo() or self._read_files_egginfo() - - def make_file(name, hash=None, size_str=None): - result = PackagePath(name) - result.hash = FileHash(hash) if hash else None - result.size = int(size_str) if size_str else None - result.dist = self - return result - - return file_lines and list(starmap(make_file, csv.reader(file_lines))) - - def _read_files_distinfo(self): - """ - Read the lines of RECORD - """ - text = self.read_text('RECORD') - return text and text.splitlines() - - def _read_files_egginfo(self): - """ - SOURCES.txt might contain literal commas, so wrap each line - in quotes. - """ - text = self.read_text('SOURCES.txt') - return text and map('"{}"'.format, text.splitlines()) - - @property - def requires(self): - """Generated requirements specified for this Distribution""" - reqs = self._read_dist_info_reqs() or self._read_egg_info_reqs() - return reqs and list(reqs) - - def _read_dist_info_reqs(self): - return self.metadata.get_all('Requires-Dist') - - def _read_egg_info_reqs(self): - source = self.read_text('requires.txt') - return source and self._deps_from_requires_text(source) - - @classmethod - def _deps_from_requires_text(cls, source): - section_pairs = cls._read_sections(source.splitlines()) - sections = { - section: list(map(operator.itemgetter('line'), results)) - for section, results in - itertools.groupby(section_pairs, operator.itemgetter('section')) - } - return cls._convert_egg_info_reqs_to_simple_reqs(sections) - - @staticmethod - def _read_sections(lines): - section = None - for line in filter(None, lines): - section_match = re.match(r'\[(.*)\]$', line) - if section_match: - section = section_match.group(1) - continue - yield locals() - - @staticmethod - def _convert_egg_info_reqs_to_simple_reqs(sections): - """ - Historically, setuptools would solicit and store 'extra' - requirements, including those with environment markers, - in separate sections. More modern tools expect each - dependency to be defined separately, with any relevant - extras and environment markers attached directly to that - requirement. This method converts the former to the - latter. See _test_deps_from_requires_text for an example. - """ - def make_condition(name): - return name and 'extra == "{name}"'.format(name=name) - - def parse_condition(section): - section = section or '' - extra, sep, markers = section.partition(':') - if extra and markers: - markers = '({markers})'.format(markers=markers) - conditions = list(filter(None, [markers, make_condition(extra)])) - return '; ' + ' and '.join(conditions) if conditions else '' - - for section, deps in sections.items(): - for dep in deps: - yield dep + parse_condition(section) - - -class DistributionFinder(MetaPathFinder): - """ - A MetaPathFinder capable of discovering installed distributions. - """ - - class Context: - - name = None - """ - Specific name for which a distribution finder should match. - """ - - def __init__(self, **kwargs): - vars(self).update(kwargs) - - @property - def path(self): - """ - The path that a distribution finder should search. - """ - return vars(self).get('path', sys.path) - - @property - def pattern(self): - return '.*' if self.name is None else re.escape(self.name) - - @abc.abstractmethod - def find_distributions(self, context=Context()): - """ - Find distributions. - - Return an iterable of all Distribution instances capable of - loading the metadata for packages matching the ``context``, - a DistributionFinder.Context instance. - """ - - -@install -class MetadataPathFinder(NullFinder, DistributionFinder): - """A degenerate finder for distribution packages on the file system. - - This finder supplies only a find_distributions() method for versions - of Python that do not have a PathFinder find_distributions(). - """ - - def find_distributions(self, context=DistributionFinder.Context()): - """ - Find distributions. - - Return an iterable of all Distribution instances capable of - loading the metadata for packages matching ``context.name`` - (or all names if ``None`` indicated) along the paths in the list - of directories ``context.path``. - """ - found = self._search_paths(context.pattern, context.path) - return map(PathDistribution, found) - - @classmethod - def _search_paths(cls, pattern, paths): - """Find metadata directories in paths heuristically.""" - return itertools.chain.from_iterable( - cls._search_path(path, pattern) - for path in map(cls._switch_path, paths) - ) - - @staticmethod - def _switch_path(path): - if not PYPY_OPEN_BUG or os.path.isfile(path): # pragma: no branch - with suppress(Exception): - return zipp.Path(path) - return pathlib.Path(path) - - @classmethod - def _matches_info(cls, normalized, item): - template = r'{pattern}(-.*)?\.(dist|egg)-info' - manifest = template.format(pattern=normalized) - return re.match(manifest, item.name, flags=re.IGNORECASE) - - @classmethod - def _matches_legacy(cls, normalized, item): - template = r'{pattern}-.*\.egg[\\/]EGG-INFO' - manifest = template.format(pattern=normalized) - return re.search(manifest, str(item), flags=re.IGNORECASE) - - @classmethod - def _search_path(cls, root, pattern): - if not root.is_dir(): - return () - normalized = pattern.replace('-', '_') - return (item for item in root.iterdir() - if cls._matches_info(normalized, item) - or cls._matches_legacy(normalized, item)) - - -class PathDistribution(Distribution): - def __init__(self, path): - """Construct a distribution from a path to the metadata directory. - - :param path: A pathlib.Path or similar object supporting - .joinpath(), __div__, .parent, and .read_text(). - """ - self._path = path - - def read_text(self, filename): - with suppress(FileNotFoundError, IsADirectoryError, KeyError, - NotADirectoryError, PermissionError): - return self._path.joinpath(filename).read_text(encoding='utf-8') - read_text.__doc__ = Distribution.read_text.__doc__ - - def locate_file(self, path): - return self._path.parent / path - - -def distribution(distribution_name): - """Get the ``Distribution`` instance for the named package. - - :param distribution_name: The name of the distribution package as a string. - :return: A ``Distribution`` instance (or subclass thereof). - """ - return Distribution.from_name(distribution_name) - - -def distributions(**kwargs): - """Get all ``Distribution`` instances in the current environment. - - :return: An iterable of ``Distribution`` instances. - """ - return Distribution.discover(**kwargs) - - -def metadata(distribution_name): - """Get the metadata for the named package. - - :param distribution_name: The name of the distribution package to query. - :return: An email.Message containing the parsed metadata. - """ - return Distribution.from_name(distribution_name).metadata - - -def version(distribution_name): - """Get the version string for the named package. - - :param distribution_name: The name of the distribution package to query. - :return: The version string for the package as defined in the package's - "Version" metadata key. - """ - return distribution(distribution_name).version - - -def entry_points(): - """Return EntryPoint objects for all installed packages. - - :return: EntryPoint objects for all installed packages. - """ - eps = itertools.chain.from_iterable( - dist.entry_points for dist in distributions()) - by_group = operator.attrgetter('group') - ordered = sorted(eps, key=by_group) - grouped = itertools.groupby(ordered, by_group) - return { - group: tuple(eps) - for group, eps in grouped - } - - -def files(distribution_name): - """Return a list of files for the named package. - - :param distribution_name: The name of the distribution package to query. - :return: List of files composing the distribution. - """ - return distribution(distribution_name).files - - -def requires(distribution_name): - """ - Return a list of requirements for the named package. - - :return: An iterator of requirements, suitable for - packaging.requirement.Requirement. - """ - return distribution(distribution_name).requires - - -__version__ = version(__name__) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/_compat.py b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/_compat.py deleted file mode 100644 index 4f54864..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/_compat.py +++ /dev/null @@ -1,100 +0,0 @@ -from __future__ import absolute_import - -import io -import abc -import sys -import email - - -if sys.version_info > (3,): # pragma: nocover - import builtins - from configparser import ConfigParser - from contextlib import suppress - FileNotFoundError = builtins.FileNotFoundError - IsADirectoryError = builtins.IsADirectoryError - NotADirectoryError = builtins.NotADirectoryError - PermissionError = builtins.PermissionError - map = builtins.map -else: # pragma: nocover - from backports.configparser import ConfigParser - from itertools import imap as map # type: ignore - from contextlib2 import suppress # noqa - FileNotFoundError = IOError, OSError - IsADirectoryError = IOError, OSError - NotADirectoryError = IOError, OSError - PermissionError = IOError, OSError - -if sys.version_info > (3, 5): # pragma: nocover - import pathlib -else: # pragma: nocover - import pathlib2 as pathlib - -try: - ModuleNotFoundError = builtins.FileNotFoundError -except (NameError, AttributeError): # pragma: nocover - ModuleNotFoundError = ImportError # type: ignore - - -if sys.version_info >= (3,): # pragma: nocover - from importlib.abc import MetaPathFinder -else: # pragma: nocover - class MetaPathFinder(object): - __metaclass__ = abc.ABCMeta - - -__metaclass__ = type -__all__ = [ - 'install', 'NullFinder', 'MetaPathFinder', 'ModuleNotFoundError', - 'pathlib', 'ConfigParser', 'map', 'suppress', 'FileNotFoundError', - 'NotADirectoryError', 'email_message_from_string', - ] - - -def install(cls): - """Class decorator for installation on sys.meta_path.""" - sys.meta_path.append(cls()) - return cls - - -class NullFinder: - """ - A "Finder" (aka "MetaClassFinder") that never finds any modules, - but may find distributions. - """ - @staticmethod - def find_spec(*args, **kwargs): - return None - - # In Python 2, the import system requires finders - # to have a find_module() method, but this usage - # is deprecated in Python 3 in favor of find_spec(). - # For the purposes of this finder (i.e. being present - # on sys.meta_path but having no other import - # system functionality), the two methods are identical. - find_module = find_spec - - -def py2_message_from_string(text): # nocoverpy3 - # Work around https://bugs.python.org/issue25545 where - # email.message_from_string cannot handle Unicode on Python 2. - io_buffer = io.StringIO(text) - return email.message_from_file(io_buffer) - - -email_message_from_string = ( - py2_message_from_string - if sys.version_info < (3,) else - email.message_from_string - ) - -# https://bitbucket.org/pypy/pypy/issues/3021/ioopen-directory-leaks-a-file-descriptor -PYPY_OPEN_BUG = getattr(sys, 'pypy_version_info', (9, 9, 9))[:3] <= (7, 1, 1) - - -def ensure_is_path(ob): - """Construct a Path from ob even if it's already one. - Specialized for Python 3.4. - """ - if (3,) < sys.version_info < (3, 5): - ob = str(ob) # pragma: nocover - return pathlib.Path(ob) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/changelog.rst b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/changelog.rst deleted file mode 100644 index 0437f41..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/changelog.rst +++ /dev/null @@ -1,189 +0,0 @@ -========================= - importlib_metadata NEWS -========================= - -0.23 -==== -* Added a compatibility shim to prevent failures on beta releases - of Python before the signature changed to accept the - "context" parameter on find_distributions. This workaround - will have a limited lifespan, not to extend beyond release of - Python 3.8 final. - -0.22 -==== -* Renamed ``package`` parameter to ``distribution_name`` - as `recommended `_ - in the following functions: ``distribution``, ``metadata``, - ``version``, ``files``, and ``requires``. This - backward-incompatible change is expected to have little impact - as these functions are assumed to be primarily used with - positional parameters. - -0.21 -==== -* ``importlib.metadata`` now exposes the ``DistributionFinder`` - metaclass and references it in the docs for extending the - search algorithm. -* Add ``Distribution.at`` for constructing a Distribution object - from a known metadata directory on the file system. Closes #80. -* Distribution finders now receive a context object that - supplies ``.path`` and ``.name`` properties. This change - introduces a fundamental backward incompatibility for - any projects implementing a ``find_distributions`` method - on a ``MetaPathFinder``. This new layer of abstraction - allows this context to be supplied directly or constructed - on demand and opens the opportunity for a - ``find_distributions`` method to solicit additional - context from the caller. Closes #85. - -0.20 -==== -* Clarify in the docs that calls to ``.files`` could return - ``None`` when the metadata is not present. Closes #69. -* Return all requirements and not just the first for dist-info - packages. Closes #67. - -0.19 -==== -* Restrain over-eager egg metadata resolution. -* Add support for entry points with colons in the name. Closes #75. - -0.18 -==== -* Parse entry points case sensitively. Closes #68 -* Add a version constraint on the backport configparser package. Closes #66 - -0.17 -==== -* Fix a permission problem in the tests on Windows. - -0.16 -==== -* Don't crash if there exists an EGG-INFO directory on sys.path. - -0.15 -==== -* Fix documentation. - -0.14 -==== -* Removed ``local_distribution`` function from the API. - **This backward-incompatible change removes this - behavior summarily**. Projects should remove their - reliance on this behavior. A replacement behavior is - under review in the `pep517 project - `_. Closes #42. - -0.13 -==== -* Update docstrings to match PEP 8. Closes #63. -* Merged modules into one module. Closes #62. - -0.12 -==== -* Add support for eggs. !65; Closes #19. - -0.11 -==== -* Support generic zip files (not just wheels). Closes #59 -* Support zip files with multiple distributions in them. Closes #60 -* Fully expose the public API in ``importlib_metadata.__all__``. - -0.10 -==== -* The ``Distribution`` ABC is now officially part of the public API. - Closes #37. -* Fixed support for older single file egg-info formats. Closes #43. -* Fixed a testing bug when ``$CWD`` has spaces in the path. Closes #50. -* Add Python 3.8 to the ``tox`` testing matrix. - -0.9 -=== -* Fixed issue where entry points without an attribute would raise an - Exception. Closes #40. -* Removed unused ``name`` parameter from ``entry_points()``. Closes #44. -* ``DistributionFinder`` classes must now be instantiated before - being placed on ``sys.meta_path``. - -0.8 -=== -* This library can now discover/enumerate all installed packages. **This - backward-incompatible change alters the protocol finders must - implement to support distribution package discovery.** Closes #24. -* The signature of ``find_distributions()`` on custom installer finders - should now accept two parameters, ``name`` and ``path`` and - these parameters must supply defaults. -* The ``entry_points()`` method no longer accepts a package name - but instead returns all entry points in a dictionary keyed by the - ``EntryPoint.group``. The ``resolve`` method has been removed. Instead, - call ``EntryPoint.load()``, which has the same semantics as - ``pkg_resources`` and ``entrypoints``. **This is a backward incompatible - change.** -* Metadata is now always returned as Unicode text regardless of - Python version. Closes #29. -* This library can now discover metadata for a 'local' package (found - in the current-working directory). Closes #27. -* Added ``files()`` function for resolving files from a distribution. -* Added a new ``requires()`` function, which returns the requirements - for a package suitable for parsing by - ``packaging.requirements.Requirement``. Closes #18. -* The top-level ``read_text()`` function has been removed. Use - ``PackagePath.read_text()`` on instances returned by the ``files()`` - function. **This is a backward incompatible change.** -* Release dates are now automatically injected into the changelog - based on SCM tags. - -0.7 -=== -* Fixed issue where packages with dashes in their names would - not be discovered. Closes #21. -* Distribution lookup is now case-insensitive. Closes #20. -* Wheel distributions can no longer be discovered by their module - name. Like Path distributions, they must be indicated by their - distribution package name. - -0.6 -=== -* Removed ``importlib_metadata.distribution`` function. Now - the public interface is primarily the utility functions exposed - in ``importlib_metadata.__all__``. Closes #14. -* Added two new utility functions ``read_text`` and - ``metadata``. - -0.5 -=== -* Updated README and removed details about Distribution - class, now considered private. Closes #15. -* Added test suite support for Python 3.4+. -* Fixed SyntaxErrors on Python 3.4 and 3.5. !12 -* Fixed errors on Windows joining Path elements. !15 - -0.4 -=== -* Housekeeping. - -0.3 -=== -* Added usage documentation. Closes #8 -* Add support for getting metadata from wheels on ``sys.path``. Closes #9 - -0.2 -=== -* Added ``importlib_metadata.entry_points()``. Closes #1 -* Added ``importlib_metadata.resolve()``. Closes #12 -* Add support for Python 2.7. Closes #4 - -0.1 -=== -* Initial release. - - -.. - Local Variables: - mode: change-log-mode - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 78 - coding: utf-8 - End: diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/conf.py b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/conf.py deleted file mode 100644 index af9f0e2..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/conf.py +++ /dev/null @@ -1,182 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# importlib_metadata documentation build configuration file, created by -# sphinx-quickstart on Thu Nov 30 10:21:00 2017. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# -# import os -# import sys -# sys.path.insert(0, os.path.abspath('.')) - - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -# -# needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'rst.linker', - 'sphinx.ext.autodoc', - 'sphinx.ext.coverage', - 'sphinx.ext.doctest', - 'sphinx.ext.intersphinx', - 'sphinx.ext.viewcode', - ] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix(es) of source filenames. -# You can specify multiple suffix as a list of string: -# -# source_suffix = ['.rst', '.md'] -source_suffix = '.rst' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = 'importlib_metadata' -copyright = '2017-2019, Jason R. Coombs, Barry Warsaw' -author = 'Jason R. Coombs, Barry Warsaw' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '0.1' -# The full version, including alpha/beta/rc tags. -release = '0.1' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = None - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This patterns also effect to html_static_path and html_extra_path -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# If true, `todo` and `todoList` produce output, else they produce nothing. -todo_include_todos = False - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -# -html_theme = 'default' - -# Custom sidebar templates, must be a dictionary that maps document names -# to template names. -# -# This is required for the alabaster theme -# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars -html_sidebars = { - '**': [ - 'relations.html', # needs 'show_related': True theme option to display - 'searchbox.html', - ] - } - - -# -- Options for HTMLHelp output ------------------------------------------ - -# Output file base name for HTML help builder. -htmlhelp_basename = 'importlib_metadatadoc' - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - # - # 'papersize': 'letterpaper', - - # The font size ('10pt', '11pt' or '12pt'). - # - # 'pointsize': '10pt', - - # Additional stuff for the LaTeX preamble. - # - # 'preamble': '', - - # Latex figure (float) alignment - # - # 'figure_align': 'htbp', - } - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - (master_doc, 'importlib_metadata.tex', - 'importlib\\_metadata Documentation', - 'Brett Cannon, Barry Warsaw', 'manual'), - ] - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - (master_doc, 'importlib_metadata', 'importlib_metadata Documentation', - [author], 1) - ] - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - (master_doc, 'importlib_metadata', 'importlib_metadata Documentation', - author, 'importlib_metadata', 'One line description of project.', - 'Miscellaneous'), - ] - - -# Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = { - 'python': ('https://docs.python.org/3', None), - } - - -# For rst.linker, inject release dates into changelog.rst -link_files = { - 'changelog.rst': dict( - replace=[ - dict( - pattern=r'^(?m)((?Pv?\d+(\.\d+){1,2}))\n[-=]+\n', - with_scm='{text}\n{rev[timestamp]:%Y-%m-%d}\n\n', - ), - ], - ), - } diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/index.rst b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/index.rst deleted file mode 100644 index fb5047f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/index.rst +++ /dev/null @@ -1,53 +0,0 @@ -=============================== - Welcome to importlib_metadata -=============================== - -``importlib_metadata`` is a library which provides an API for accessing an -installed package's `metadata`_, such as its entry points or its top-level -name. This functionality intends to replace most uses of ``pkg_resources`` -`entry point API`_ and `metadata API`_. Along with ``importlib.resources`` in -`Python 3.7 and newer`_ (backported as `importlib_resources`_ for older -versions of Python), this can eliminate the need to use the older and less -efficient ``pkg_resources`` package. - -``importlib_metadata`` is a backport of Python 3.8's standard library -`importlib.metadata`_ module for Python 2.7, and 3.4 through 3.7. Users of -Python 3.8 and beyond are encouraged to use the standard library module, and -in fact for these versions, ``importlib_metadata`` just shadows that module. -Developers looking for detailed API descriptions should refer to the Python -3.8 standard library documentation. - -The documentation here includes a general :ref:`usage ` guide. - - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - - using.rst - changelog (links).rst - - -Project details -=============== - - * Project home: https://gitlab.com/python-devs/importlib_metadata - * Report bugs at: https://gitlab.com/python-devs/importlib_metadata/issues - * Code hosting: https://gitlab.com/python-devs/importlib_metadata.git - * Documentation: http://importlib_metadata.readthedocs.io/ - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` - - -.. _`metadata`: https://www.python.org/dev/peps/pep-0566/ -.. _`entry point API`: https://setuptools.readthedocs.io/en/latest/pkg_resources.html#entry-points -.. _`metadata API`: https://setuptools.readthedocs.io/en/latest/pkg_resources.html#metadata-api -.. _`Python 3.7 and newer`: https://docs.python.org/3/library/importlib.html#module-importlib.resources -.. _`importlib_resources`: https://importlib-resources.readthedocs.io/en/latest/index.html -.. _`importlib.metadata`: TBD diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/using.rst b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/using.rst deleted file mode 100644 index da40a0c..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/docs/using.rst +++ /dev/null @@ -1,259 +0,0 @@ -.. _using: - -========================== - Using importlib_metadata -========================== - -``importlib_metadata`` is a library that provides for access to installed -package metadata. Built in part on Python's import system, this library -intends to replace similar functionality in the `entry point -API`_ and `metadata API`_ of ``pkg_resources``. Along with -``importlib.resources`` in `Python 3.7 -and newer`_ (backported as `importlib_resources`_ for older versions of -Python), this can eliminate the need to use the older and less efficient -``pkg_resources`` package. - -By "installed package" we generally mean a third-party package installed into -Python's ``site-packages`` directory via tools such as `pip -`_. Specifically, -it means a package with either a discoverable ``dist-info`` or ``egg-info`` -directory, and metadata defined by `PEP 566`_ or its older specifications. -By default, package metadata can live on the file system or in zip archives on -``sys.path``. Through an extension mechanism, the metadata can live almost -anywhere. - - -Overview -======== - -Let's say you wanted to get the version string for a package you've installed -using ``pip``. We start by creating a virtual environment and installing -something into it:: - - $ python3 -m venv example - $ source example/bin/activate - (example) $ pip install importlib_metadata - (example) $ pip install wheel - -You can get the version string for ``wheel`` by running the following:: - - (example) $ python - >>> from importlib_metadata import version - >>> version('wheel') - '0.32.3' - -You can also get the set of entry points keyed by group, such as -``console_scripts``, ``distutils.commands`` and others. Each group contains a -sequence of :ref:`EntryPoint ` objects. - -You can get the :ref:`metadata for a distribution `:: - - >>> list(metadata('wheel')) - ['Metadata-Version', 'Name', 'Version', 'Summary', 'Home-page', 'Author', 'Author-email', 'Maintainer', 'Maintainer-email', 'License', 'Project-URL', 'Project-URL', 'Project-URL', 'Keywords', 'Platform', 'Classifier', 'Classifier', 'Classifier', 'Classifier', 'Classifier', 'Classifier', 'Classifier', 'Classifier', 'Classifier', 'Classifier', 'Classifier', 'Classifier', 'Requires-Python', 'Provides-Extra', 'Requires-Dist', 'Requires-Dist'] - -You can also get a :ref:`distribution's version number `, list its -:ref:`constituent files `, and get a list of the distribution's -:ref:`requirements`. - - -Functional API -============== - -This package provides the following functionality via its public API. - - -.. _entry-points: - -Entry points ------------- - -The ``entry_points()`` function returns a dictionary of all entry points, -keyed by group. Entry points are represented by ``EntryPoint`` instances; -each ``EntryPoint`` has a ``.name``, ``.group``, and ``.value`` attributes and -a ``.load()`` method to resolve the value:: - - >>> eps = entry_points() - >>> list(eps) - ['console_scripts', 'distutils.commands', 'distutils.setup_keywords', 'egg_info.writers', 'setuptools.installation'] - >>> scripts = eps['console_scripts'] - >>> wheel = [ep for ep in scripts if ep.name == 'wheel'][0] - >>> wheel - EntryPoint(name='wheel', value='wheel.cli:main', group='console_scripts') - >>> main = wheel.load() - >>> main - - -The ``group`` and ``name`` are arbitrary values defined by the package author -and usually a client will wish to resolve all entry points for a particular -group. Read `the setuptools docs -`_ -for more information on entrypoints, their definition, and usage. - - -.. _metadata: - -Distribution metadata ---------------------- - -Every distribution includes some metadata, which you can extract using the -``metadata()`` function:: - - >>> wheel_metadata = metadata('wheel') - -The keys of the returned data structure [#f1]_ name the metadata keywords, and -their values are returned unparsed from the distribution metadata:: - - >>> wheel_metadata['Requires-Python'] - '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*' - - -.. _version: - -Distribution versions ---------------------- - -The ``version()`` function is the quickest way to get a distribution's version -number, as a string:: - - >>> version('wheel') - '0.32.3' - - -.. _files: - -Distribution files ------------------- - -You can also get the full set of files contained within a distribution. The -``files()`` function takes a distribution package name and returns all of the -files installed by this distribution. Each file object returned is a -``PackagePath``, a `pathlib.Path`_ derived object with additional ``dist``, -``size``, and ``hash`` properties as indicated by the metadata. For example:: - - >>> util = [p for p in files('wheel') if 'util.py' in str(p)][0] - >>> util - PackagePath('wheel/util.py') - >>> util.size - 859 - >>> util.dist - - >>> util.hash - - -Once you have the file, you can also read its contents:: - - >>> print(util.read_text()) - import base64 - import sys - ... - def as_bytes(s): - if isinstance(s, text_type): - return s.encode('utf-8') - return s - -In the case where the metadata file listing files -(RECORD or SOURCES.txt) is missing, ``files()`` will -return ``None``. The caller may wish to wrap calls to -``files()`` in `always_iterable -`_ -or otherwise guard against this condition if the target -distribution is not known to have the metadata present. - -.. _requirements: - -Distribution requirements -------------------------- - -To get the full set of requirements for a distribution, use the ``requires()`` -function:: - - >>> requires('wheel') - ["pytest (>=3.0.0) ; extra == 'test'", "pytest-cov ; extra == 'test'"] - - -Distributions -============= - -While the above API is the most common and convenient usage, you can get all -of that information from the ``Distribution`` class. A ``Distribution`` is an -abstract object that represents the metadata for a Python package. You can -get the ``Distribution`` instance:: - - >>> from importlib_metadata import distribution - >>> dist = distribution('wheel') - -Thus, an alternative way to get the version number is through the -``Distribution`` instance:: - - >>> dist.version - '0.32.3' - -There are all kinds of additional metadata available on the ``Distribution`` -instance:: - - >>> d.metadata['Requires-Python'] - '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*' - >>> d.metadata['License'] - 'MIT' - -The full set of available metadata is not described here. See `PEP 566 -`_ for additional details. - - -Extending the search algorithm -============================== - -Because package metadata is not available through ``sys.path`` searches, or -package loaders directly, the metadata for a package is found through import -system `finders`_. To find a distribution package's metadata, -``importlib_metadata`` queries the list of `meta path finders`_ on -`sys.meta_path`_. - -By default ``importlib_metadata`` installs a finder for distribution packages -found on the file system. This finder doesn't actually find any *packages*, -but it can find the packages' metadata. - -The abstract class :py:class:`importlib.abc.MetaPathFinder` defines the -interface expected of finders by Python's import system. -``importlib_metadata`` extends this protocol by looking for an optional -``find_distributions`` callable on the finders from -``sys.meta_path`` and presents this extended interface as the -``DistributionFinder`` abstract base class, which defines this abstract -method:: - - @abc.abstractmethod - def find_distributions(context=DistributionFinder.Context()): - """Return an iterable of all Distribution instances capable of - loading the metadata for packages for the indicated ``context``. - """ - -The ``DistributionFinder.Context`` object provides ``.path`` and ``.name`` -properties indicating the path to search and names to match and may -supply other relevant context. - -What this means in practice is that to support finding distribution package -metadata in locations other than the file system, you should derive from -``Distribution`` and implement the ``load_metadata()`` method. Then from -your finder, return instances of this derived ``Distribution`` in the -``find_distributions()`` method. - - -.. _`entry point API`: https://setuptools.readthedocs.io/en/latest/pkg_resources.html#entry-points -.. _`metadata API`: https://setuptools.readthedocs.io/en/latest/pkg_resources.html#metadata-api -.. _`Python 3.7 and newer`: https://docs.python.org/3/library/importlib.html#module-importlib.resources -.. _`importlib_resources`: https://importlib-resources.readthedocs.io/en/latest/index.html -.. _`PEP 566`: https://www.python.org/dev/peps/pep-0566/ -.. _`finders`: https://docs.python.org/3/reference/import.html#finders-and-loaders -.. _`meta path finders`: https://docs.python.org/3/glossary.html#term-meta-path-finder -.. _`sys.meta_path`: https://docs.python.org/3/library/sys.html#sys.meta_path -.. _`pathlib.Path`: https://docs.python.org/3/library/pathlib.html#pathlib.Path - - -.. rubric:: Footnotes - -.. [#f1] Technically, the returned distribution metadata object is an - `email.message.Message - `_ - instance, but this is an implementation detail, and not part of the - stable API. You should only use dictionary-like methods and syntax - to access the metadata contents. diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/data/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/data/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/data/example-21.12-py3-none-any.whl b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/data/example-21.12-py3-none-any.whl deleted file mode 100644 index 641ab07f7aadd5c3ffe199b1e397b84504444994..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1455 zcmWIWW@Zs#U|`^2sH#5hC#89?LJ`OVVPPOntw_u*$Vt_YkI&4@EQycTE2#AL^bJ1Y zd*;mL3tJuqF*Gf@GU?JH8`iH^x{lmwniEp0#}EKFaSqT#mVX%$)j*SW1F-_aL|r38 zJwqeCl+5B1-ORkSe0^Wn5Jwls5Xac=ja-KeL|ngr7ya2Na>+2-+_Beb<+qte)Tv+?!=mXP3IU>yCSok_B-aII-Kw3 zQMDMLgF#ppkHf<~TwQ&*&wKcuy~yjWt99!gle zr#}12zzYT!jLohYUwp!K>b(BNuR7OwHFUksp7hxiq@k(h`;^PmXM2#w3X^MRPoMX` z>U(DOlSfQw;W@=u^`JJ;IgUWAfyY^?c_l@a@df#rc_qbqB^4#ze&^0>pF8i_tM8|G zN=HMp?`hFmk2AU_JVQ5xdbDm>QzUHsc}LJj?qWtX3-6|I25|u`;s9b*JQkMZ7sThJ zmZj!^Z1aYg{S@8xHoufE=rJ-dTm)h{Jcb3iI{OE?l%CmH)a1axaN%A)u3Q2l zE(Z%%TzIplh-=e{bsROdT|LH`74jc0G1}d-ie(BgQ)O((bmtPEAigxe^3+zD^2ZPA z=Kj_@llnHb%pqs>={~b{JFAWU-FsQLpa0z(9XLnn{J!+d2H)mi39tFM zWw~J?v;DQj2W5<}*`3O4x;giZz4dIBjE_o=poHl8P!xz%}R z^2PdUhwx4OykW7N0@LpsPXda2KAh-#t~vYAon3*GEN%;5X|j5I`Pcv4f`xLoSdG>m z=t|fwwtn6&&3ktpt-?;-J{BOG-L!7y`!yP=+rIT|ef?5o>krldZ$>5&X54uh7~Ej6 zq!C16$=S#TV9UA??FDpj9zYni2#-I~9cJVf#soY@LK1&~H!B-RJsS|72YTxiGl&NO07LVy diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/data/example-21.12-py3.6.egg b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/data/example-21.12-py3.6.egg deleted file mode 100644 index cdb298a19b09d360d18f72a91e9dd70d7d7f54ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1497 zcmWIWW@Zs#U|`^2c;|fF@3nF0krp8DC=d$*v8%hguBV@yzkYx>gb~~8$aTm-!1cSO ztKNj9U1!!ka0&=sxZ<^c4f@#kCS*N+n7GL42YfZ! zEk5xYo$43J*3tWYGog!X+Wp$0%DLy;7$(q4-Im54c05E zC@DSV$kpt?s$Pc9T!_{7cXah`>i&=P4|_F+Kpf9t5RHa za$M}sCdvd)D?c%>-)L{RYwfgc?`B2cv%3AJhgrnPA#S40>GXa36wF*N9Z0I@t{X7}-NOjPvdHdANi9gtOG(X3u8hyg%*!qYIq)$P1FG&RzN!bcfw~-l zSQ1%xYF7CNi(Cm9!wASN{?g`J(4WS;b8`cyF z8-Lyrw2`}*5zU6XDV#xEK$AIuSPa>QlKg`BoYb<^9FW7jA%;CgcOSCvP!dX2W`S;T zVp=MSkE(!4OG@)#g(A=%5EcgF)QZI1f}B+S`1s7c%#!$cy@E<_Pv77ZzGu!{zOdy{ z5JS_VE0ZoQvSIytrR&I@ra2*{dT2gSDqd(m7iiKmAO?jM!o-5gB$9^ zB^mj7y2fTei;|6>J$69*1_n8CRa9r%0Q~F|js{Hj!lsY`)J@ zQc8Oq-tYt+X9_ybF(v)e?xXXfCeDbSFnQOcg&Zk-O+Qj6gv^>bdC~kSlOkglO`kk7 zJZfQdVxm}n+M@Zh=B?wux=dbv{>= 1.0 - Requires-Dist: pytest; extra == 'test' - """, - "RECORD": "mod.py,sha256=abc,20\n", - "entry_points.txt": """ - [entries] - main = mod:main - ns:sub = mod:main - """ - }, - "mod.py": """ - def main(): - print("hello world") - """, - } - - def setUp(self): - super(DistInfoPkg, self).setUp() - build_files(DistInfoPkg.files, self.site_dir) - - -class DistInfoPkgOffPath(SiteDir): - def setUp(self): - super(DistInfoPkgOffPath, self).setUp() - build_files(DistInfoPkg.files, self.site_dir) - - -class EggInfoPkg(OnSysPath, SiteDir): - files = { - "egginfo_pkg.egg-info": { - "PKG-INFO": """ - Name: egginfo-pkg - Author: Steven Ma - License: Unknown - Version: 1.0.0 - Classifier: Intended Audience :: Developers - Classifier: Topic :: Software Development :: Libraries - """, - "SOURCES.txt": """ - mod.py - egginfo_pkg.egg-info/top_level.txt - """, - "entry_points.txt": """ - [entries] - main = mod:main - """, - "requires.txt": """ - wheel >= 1.0; python_version >= "2.7" - [test] - pytest - """, - "top_level.txt": "mod\n" - }, - "mod.py": """ - def main(): - print("hello world") - """, - } - - def setUp(self): - super(EggInfoPkg, self).setUp() - build_files(EggInfoPkg.files, prefix=self.site_dir) - - -class EggInfoFile(OnSysPath, SiteDir): - files = { - "egginfo_file.egg-info": """ - Metadata-Version: 1.0 - Name: egginfo_file - Version: 0.1 - Summary: An example package - Home-page: www.example.com - Author: Eric Haffa-Vee - Author-email: eric@example.coms - License: UNKNOWN - Description: UNKNOWN - Platform: UNKNOWN - """, - } - - def setUp(self): - super(EggInfoFile, self).setUp() - build_files(EggInfoFile.files, prefix=self.site_dir) - - -def build_files(file_defs, prefix=pathlib.Path()): - """Build a set of files/directories, as described by the - - file_defs dictionary. Each key/value pair in the dictionary is - interpreted as a filename/contents pair. If the contents value is a - dictionary, a directory is created, and the dictionary interpreted - as the files within it, recursively. - - For example: - - {"README.txt": "A README file", - "foo": { - "__init__.py": "", - "bar": { - "__init__.py": "", - }, - "baz.py": "# Some code", - } - } - """ - for name, contents in file_defs.items(): - full_name = prefix / name - if isinstance(contents, dict): - full_name.mkdir() - build_files(contents, prefix=full_name) - else: - if isinstance(contents, bytes): - with full_name.open('wb') as f: - f.write(contents) - else: - with full_name.open('w') as f: - f.write(DALS(contents)) - - -def DALS(str): - "Dedent and left-strip" - return textwrap.dedent(str).lstrip() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_api.py b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_api.py deleted file mode 100644 index aa346dd..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_api.py +++ /dev/null @@ -1,176 +0,0 @@ -import re -import textwrap -import unittest - -from . import fixtures -from .. import ( - Distribution, PackageNotFoundError, __version__, distribution, - entry_points, files, metadata, requires, version, - ) - -try: - from collections.abc import Iterator -except ImportError: - from collections import Iterator # noqa: F401 - -try: - from builtins import str as text -except ImportError: - from __builtin__ import unicode as text - - -class APITests( - fixtures.EggInfoPkg, - fixtures.DistInfoPkg, - fixtures.EggInfoFile, - unittest.TestCase): - - version_pattern = r'\d+\.\d+(\.\d)?' - - def test_retrieves_version_of_self(self): - pkg_version = version('egginfo-pkg') - assert isinstance(pkg_version, text) - assert re.match(self.version_pattern, pkg_version) - - def test_retrieves_version_of_distinfo_pkg(self): - pkg_version = version('distinfo-pkg') - assert isinstance(pkg_version, text) - assert re.match(self.version_pattern, pkg_version) - - def test_for_name_does_not_exist(self): - with self.assertRaises(PackageNotFoundError): - distribution('does-not-exist') - - def test_for_top_level(self): - self.assertEqual( - distribution('egginfo-pkg').read_text('top_level.txt').strip(), - 'mod') - - def test_read_text(self): - top_level = [ - path for path in files('egginfo-pkg') - if path.name == 'top_level.txt' - ][0] - self.assertEqual(top_level.read_text(), 'mod\n') - - def test_entry_points(self): - entries = dict(entry_points()['entries']) - ep = entries['main'] - self.assertEqual(ep.value, 'mod:main') - self.assertEqual(ep.extras, []) - - def test_metadata_for_this_package(self): - md = metadata('egginfo-pkg') - assert md['author'] == 'Steven Ma' - assert md['LICENSE'] == 'Unknown' - assert md['Name'] == 'egginfo-pkg' - classifiers = md.get_all('Classifier') - assert 'Topic :: Software Development :: Libraries' in classifiers - - def test_importlib_metadata_version(self): - assert re.match(self.version_pattern, __version__) - - @staticmethod - def _test_files(files): - root = files[0].root - for file in files: - assert file.root == root - assert not file.hash or file.hash.value - assert not file.hash or file.hash.mode == 'sha256' - assert not file.size or file.size >= 0 - assert file.locate().exists() - assert isinstance(file.read_binary(), bytes) - if file.name.endswith('.py'): - file.read_text() - - def test_file_hash_repr(self): - try: - assertRegex = self.assertRegex - except AttributeError: - # Python 2 - assertRegex = self.assertRegexpMatches - - util = [ - p for p in files('distinfo-pkg') - if p.name == 'mod.py' - ][0] - assertRegex( - repr(util.hash), - '') - - def test_files_dist_info(self): - self._test_files(files('distinfo-pkg')) - - def test_files_egg_info(self): - self._test_files(files('egginfo-pkg')) - - def test_version_egg_info_file(self): - self.assertEqual(version('egginfo-file'), '0.1') - - def test_requires_egg_info_file(self): - requirements = requires('egginfo-file') - self.assertIsNone(requirements) - - def test_requires_egg_info(self): - deps = requires('egginfo-pkg') - assert len(deps) == 2 - assert any( - dep == 'wheel >= 1.0; python_version >= "2.7"' - for dep in deps - ) - - def test_requires_dist_info(self): - deps = requires('distinfo-pkg') - assert len(deps) == 2 - assert all(deps) - assert 'wheel >= 1.0' in deps - assert "pytest; extra == 'test'" in deps - - def test_more_complex_deps_requires_text(self): - requires = textwrap.dedent(""" - dep1 - dep2 - - [:python_version < "3"] - dep3 - - [extra1] - dep4 - - [extra2:python_version < "3"] - dep5 - """) - deps = sorted(Distribution._deps_from_requires_text(requires)) - expected = [ - 'dep1', - 'dep2', - 'dep3; python_version < "3"', - 'dep4; extra == "extra1"', - 'dep5; (python_version < "3") and extra == "extra2"', - ] - # It's important that the environment marker expression be - # wrapped in parentheses to avoid the following 'and' binding more - # tightly than some other part of the environment expression. - - assert deps == expected - - -class OffSysPathTests(fixtures.DistInfoPkgOffPath, unittest.TestCase): - def test_find_distributions_specified_path(self): - dists = Distribution.discover(path=[str(self.site_dir)]) - assert any( - dist.metadata['Name'] == 'distinfo-pkg' - for dist in dists - ) - - def test_distribution_at_pathlib(self): - """Demonstrate how to load metadata direct from a directory. - """ - dist_info_path = self.site_dir / 'distinfo_pkg-1.0.0.dist-info' - dist = Distribution.at(dist_info_path) - assert dist.version == '1.0.0' - - def test_distribution_at_str(self): - dist_info_path = self.site_dir / 'distinfo_pkg-1.0.0.dist-info' - dist = Distribution.at(str(dist_info_path)) - assert dist.version == '1.0.0' diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_integration.py b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_integration.py deleted file mode 100644 index 11ed7dc..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_integration.py +++ /dev/null @@ -1,22 +0,0 @@ -import unittest -import packaging.requirements -import packaging.version - -from . import fixtures -from .. import version - - -class IntegrationTests(fixtures.DistInfoPkg, unittest.TestCase): - - def test_package_spec_installed(self): - """ - Illustrate the recommended procedure to determine if - a specified version of a package is installed. - """ - def is_installed(package_spec): - req = packaging.requirements.Requirement(package_spec) - return version(req.name) in req.specifier - - assert is_installed('distinfo-pkg==1.0') - assert is_installed('distinfo-pkg>=1.0,<2.0') - assert not is_installed('distinfo-pkg<1.0') diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_main.py b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_main.py deleted file mode 100644 index 38ec884..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_main.py +++ /dev/null @@ -1,191 +0,0 @@ -# coding: utf-8 -from __future__ import unicode_literals - -import re -import textwrap -import unittest -import importlib -import importlib_metadata - -from . import fixtures -from .. import ( - Distribution, EntryPoint, MetadataPathFinder, - PackageNotFoundError, distributions, - entry_points, metadata, version, - ) - -try: - from builtins import str as text -except ImportError: - from __builtin__ import unicode as text - - -class BasicTests(fixtures.DistInfoPkg, unittest.TestCase): - version_pattern = r'\d+\.\d+(\.\d)?' - - def test_retrieves_version_of_self(self): - dist = Distribution.from_name('distinfo-pkg') - assert isinstance(dist.version, text) - assert re.match(self.version_pattern, dist.version) - - def test_for_name_does_not_exist(self): - with self.assertRaises(PackageNotFoundError): - Distribution.from_name('does-not-exist') - - def test_new_style_classes(self): - self.assertIsInstance(Distribution, type) - self.assertIsInstance(MetadataPathFinder, type) - - -class ImportTests(fixtures.DistInfoPkg, unittest.TestCase): - def test_import_nonexistent_module(self): - # Ensure that the MetadataPathFinder does not crash an import of a - # non-existent module. - with self.assertRaises(ImportError): - importlib.import_module('does_not_exist') - - def test_resolve(self): - entries = dict(entry_points()['entries']) - ep = entries['main'] - self.assertEqual(ep.load().__name__, "main") - - def test_entrypoint_with_colon_in_name(self): - entries = dict(entry_points()['entries']) - ep = entries['ns:sub'] - self.assertEqual(ep.value, 'mod:main') - - def test_resolve_without_attr(self): - ep = EntryPoint( - name='ep', - value='importlib_metadata', - group='grp', - ) - assert ep.load() is importlib_metadata - - -class NameNormalizationTests( - fixtures.OnSysPath, fixtures.SiteDir, unittest.TestCase): - @staticmethod - def pkg_with_dashes(site_dir): - """ - Create minimal metadata for a package with dashes - in the name (and thus underscores in the filename). - """ - metadata_dir = site_dir / 'my_pkg.dist-info' - metadata_dir.mkdir() - metadata = metadata_dir / 'METADATA' - with metadata.open('w') as strm: - strm.write('Version: 1.0\n') - return 'my-pkg' - - def test_dashes_in_dist_name_found_as_underscores(self): - """ - For a package with a dash in the name, the dist-info metadata - uses underscores in the name. Ensure the metadata loads. - """ - pkg_name = self.pkg_with_dashes(self.site_dir) - assert version(pkg_name) == '1.0' - - @staticmethod - def pkg_with_mixed_case(site_dir): - """ - Create minimal metadata for a package with mixed case - in the name. - """ - metadata_dir = site_dir / 'CherryPy.dist-info' - metadata_dir.mkdir() - metadata = metadata_dir / 'METADATA' - with metadata.open('w') as strm: - strm.write('Version: 1.0\n') - return 'CherryPy' - - def test_dist_name_found_as_any_case(self): - """ - Ensure the metadata loads when queried with any case. - """ - pkg_name = self.pkg_with_mixed_case(self.site_dir) - assert version(pkg_name) == '1.0' - assert version(pkg_name.lower()) == '1.0' - assert version(pkg_name.upper()) == '1.0' - - -class NonASCIITests(fixtures.OnSysPath, fixtures.SiteDir, unittest.TestCase): - @staticmethod - def pkg_with_non_ascii_description(site_dir): - """ - Create minimal metadata for a package with non-ASCII in - the description. - """ - metadata_dir = site_dir / 'portend.dist-info' - metadata_dir.mkdir() - metadata = metadata_dir / 'METADATA' - with metadata.open('w', encoding='utf-8') as fp: - fp.write('Description: pôrˈtend\n') - return 'portend' - - @staticmethod - def pkg_with_non_ascii_description_egg_info(site_dir): - """ - Create minimal metadata for an egg-info package with - non-ASCII in the description. - """ - metadata_dir = site_dir / 'portend.dist-info' - metadata_dir.mkdir() - metadata = metadata_dir / 'METADATA' - with metadata.open('w', encoding='utf-8') as fp: - fp.write(textwrap.dedent(""" - Name: portend - - pôrˈtend - """).lstrip()) - return 'portend' - - def test_metadata_loads(self): - pkg_name = self.pkg_with_non_ascii_description(self.site_dir) - meta = metadata(pkg_name) - assert meta['Description'] == 'pôrˈtend' - - def test_metadata_loads_egg_info(self): - pkg_name = self.pkg_with_non_ascii_description_egg_info(self.site_dir) - meta = metadata(pkg_name) - assert meta.get_payload() == 'pôrˈtend\n' - - -class DiscoveryTests(fixtures.EggInfoPkg, - fixtures.DistInfoPkg, - unittest.TestCase): - - def test_package_discovery(self): - dists = list(distributions()) - assert all( - isinstance(dist, Distribution) - for dist in dists - ) - assert any( - dist.metadata['Name'] == 'egginfo-pkg' - for dist in dists - ) - assert any( - dist.metadata['Name'] == 'distinfo-pkg' - for dist in dists - ) - - def test_invalid_usage(self): - with self.assertRaises(ValueError): - list(distributions(context='something', name='else')) - - -class DirectoryTest(fixtures.OnSysPath, fixtures.SiteDir, unittest.TestCase): - def test_egg_info(self): - # make an `EGG-INFO` directory that's unrelated - self.site_dir.joinpath('EGG-INFO').mkdir() - # used to crash with `IsADirectoryError` - with self.assertRaises(PackageNotFoundError): - version('unknown-package') - - def test_egg(self): - egg = self.site_dir.joinpath('foo-3.6.egg') - egg.mkdir() - with self.add_sys_path(egg): - with self.assertRaises(PackageNotFoundError): - version('foo') diff --git a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_zip.py b/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_zip.py deleted file mode 100644 index 8cbba63..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/importlib_metadata/tests/test_zip.py +++ /dev/null @@ -1,70 +0,0 @@ -import sys -import unittest - -from .. import distribution, entry_points, files, PackageNotFoundError, version - -try: - from importlib.resources import path -except ImportError: - from importlib_resources import path - -try: - from contextlib import ExitStack -except ImportError: - from contextlib2 import ExitStack - - -class TestZip(unittest.TestCase): - root = 'importlib_metadata.tests.data' - - def setUp(self): - # Find the path to the example-*.whl so we can add it to the front of - # sys.path, where we'll then try to find the metadata thereof. - self.resources = ExitStack() - self.addCleanup(self.resources.close) - wheel = self.resources.enter_context( - path(self.root, 'example-21.12-py3-none-any.whl')) - sys.path.insert(0, str(wheel)) - self.resources.callback(sys.path.pop, 0) - - def test_zip_version(self): - self.assertEqual(version('example'), '21.12') - - def test_zip_version_does_not_match(self): - with self.assertRaises(PackageNotFoundError): - version('definitely-not-installed') - - def test_zip_entry_points(self): - scripts = dict(entry_points()['console_scripts']) - entry_point = scripts['example'] - self.assertEqual(entry_point.value, 'example:main') - entry_point = scripts['Example'] - self.assertEqual(entry_point.value, 'example:main') - - def test_missing_metadata(self): - self.assertIsNone(distribution('example').read_text('does not exist')) - - def test_case_insensitive(self): - self.assertEqual(version('Example'), '21.12') - - def test_files(self): - for file in files('example'): - path = str(file.dist.locate_file(file)) - assert '.whl/' in path, path - - -class TestEgg(TestZip): - def setUp(self): - # Find the path to the example-*.egg so we can add it to the front of - # sys.path, where we'll then try to find the metadata thereof. - self.resources = ExitStack() - self.addCleanup(self.resources.close) - egg = self.resources.enter_context( - path(self.root, 'example-21.12-py3.6.egg')) - sys.path.insert(0, str(egg)) - self.resources.callback(sys.path.pop, 0) - - def test_files(self): - for file in files('example'): - path = str(file.dist.locate_file(file)) - assert '.egg/' in path, path diff --git a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/INSTALLER b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/LICENSE b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/LICENSE deleted file mode 100644 index 0a523be..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2012 Erik Rose - -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/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/METADATA b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/METADATA deleted file mode 100644 index d7b367b..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/METADATA +++ /dev/null @@ -1,538 +0,0 @@ -Metadata-Version: 2.1 -Name: more-itertools -Version: 7.2.0 -Summary: More routines for operating on iterables, beyond itertools -Home-page: https://github.com/erikrose/more-itertools -Author: Erik Rose -Author-email: erikrose@grinchcentral.com -License: MIT -Keywords: itertools,iterator,iteration,filter,peek,peekable,collate,chunk,chunked -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: Natural Language :: English -Classifier: License :: OSI Approved :: MIT License -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Topic :: Software Development :: Libraries -Requires-Python: >=3.4 - -============== -More Itertools -============== - -.. image:: https://coveralls.io/repos/github/erikrose/more-itertools/badge.svg?branch=master - :target: https://coveralls.io/github/erikrose/more-itertools?branch=master - -Python's ``itertools`` library is a gem - you can compose elegant solutions -for a variety of problems with the functions it provides. In ``more-itertools`` -we collect additional building blocks, recipes, and routines for working with -Python iterables. - ----- - -+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Grouping | `chunked `_, | -| | `ichunked `_, | -| | `sliced `_, | -| | `distribute `_, | -| | `divide `_, | -| | `split_at `_, | -| | `split_before `_, | -| | `split_after `_, | -| | `split_into `_, | -| | `bucket `_, | -| | `unzip `_, | -| | `grouper `_, | -| | `partition `_ | -+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Lookahead and lookback | `spy `_, | -| | `peekable `_, | -| | `seekable `_ | -+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Windowing | `windowed `_, | -| | `substrings `_, | -| | `substrings_indexes `_, | -| | `stagger `_, | -| | `pairwise `_ | -+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Augmenting | `count_cycle `_, | -| | `intersperse `_, | -| | `padded `_, | -| | `adjacent `_, | -| | `groupby_transform `_, | -| | `padnone `_, | -| | `ncycles `_ | -+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Combining | `collapse `_, | -| | `sort_together `_, | -| | `interleave `_, | -| | `interleave_longest `_, | -| | `collate `_, | -| | `zip_offset `_, | -| | `dotproduct `_, | -| | `flatten `_, | -| | `roundrobin `_, | -| | `prepend `_ | -+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Summarizing | `ilen `_, | -| | `first `_, | -| | `last `_, | -| | `one `_, | -| | `only `_, | -| | `unique_to_each `_, | -| | `locate `_, | -| | `rlocate `_, | -| | `consecutive_groups `_, | -| | `exactly_n `_, | -| | `run_length `_, | -| | `map_reduce `_, | -| | `all_equal `_, | -| | `first_true `_, | -| | `nth `_, | -| | `quantify `_ | -+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Selecting | `islice_extended `_, | -| | `strip `_, | -| | `lstrip `_, | -| | `rstrip `_, | -| | `take `_, | -| | `tail `_, | -| | `unique_everseen `_, | -| | `unique_justseen `_ | -| | `filter_except `_ | -| | `map_except `_ | -+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Combinatorics | `distinct_permutations `_, | -| | `distinct_combinations `_, | -| | `circular_shifts `_, | -| | `partitions `_, | -| | `set_partitions `_, | -| | `powerset `_, | -| | `random_product `_, | -| | `random_permutation `_, | -| | `random_combination `_, | -| | `random_combination_with_replacement `_, | -| | `nth_combination `_ | -+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Wrapping | `always_iterable `_, | -| | `consumer `_, | -| | `with_iter `_, | -| | `iter_except `_ | -+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Others | `replace `_, | -| | `numeric_range `_, | -| | `always_reversible `_, | -| | `side_effect `_, | -| | `iterate `_, | -| | `difference `_, | -| | `make_decorator `_, | -| | `SequenceView `_, | -| | `time_limited `_, | -| | `consume `_, | -| | `tabulate `_, | -| | `repeatfunc `_ | -+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - - -Getting started -=============== - -To get started, install the library with `pip `_: - -.. code-block:: shell - - pip install more-itertools - -The recipes from the `itertools docs `_ -are included in the top-level package: - -.. code-block:: python - - >>> from more_itertools import flatten - >>> iterable = [(0, 1), (2, 3)] - >>> list(flatten(iterable)) - [0, 1, 2, 3] - -Several new recipes are available as well: - -.. code-block:: python - - >>> from more_itertools import chunked - >>> iterable = [0, 1, 2, 3, 4, 5, 6, 7, 8] - >>> list(chunked(iterable, 3)) - [[0, 1, 2], [3, 4, 5], [6, 7, 8]] - - >>> from more_itertools import spy - >>> iterable = (x * x for x in range(1, 6)) - >>> head, iterable = spy(iterable, n=3) - >>> list(head) - [1, 4, 9] - >>> list(iterable) - [1, 4, 9, 16, 25] - - - -For the full listing of functions, see the `API documentation `_. - -Development -=========== - -``more-itertools`` is maintained by `@erikrose `_ -and `@bbayles `_, with help from `many others `_. -If you have a problem or suggestion, please file a bug or pull request in this -repository. Thanks for contributing! - - -Version History -=============== - - - :noindex: - -7.2.0 ------ - -* New itertools - * distinct_combinations - * set_partitions (thanks to kbarrett) - * filter_except - * map_except - -7.1.0 ------ - -* New itertools - * ichunked (thanks davebelais and youtux) - * only (thanks jaraco) - -* Changes to existing itertools: - * numeric_range now supports ranges specified by - ``datetime.datetime`` and ``datetime.timedelta`` objects (thanks to MSeifert04 for tests). - * difference now supports an *initial* keyword argument. - - -* Other changes - * Various documentation fixes (thanks raimon49, pylang) - -7.0.0 ------ - -* New itertools: - * time_limited - * partitions (thanks to rominf and Saluev) - * substrings_indexes (thanks to rominf) - -* Changes to existing itertools: - * collapse now treats ``bytes`` objects the same as ``str`` objects. (thanks to Sweenpet) - -The major version update is due to the change in the default behavior of -collapse. It now treats ``bytes`` objects the same as ``str`` objects. -This aligns its behavior with always_iterable. - -.. code-block:: python - - >>> from more_itertools import collapse - >>> iterable = [[1, 2], b'345', [6]] - >>> print(list(collapse(iterable))) - [1, 2, b'345', 6] - -6.0.0 ------ - -* Major changes: - * Python 2.7 is no longer supported. The 5.0.0 release will be the last - version targeting Python 2.7. - * All future releases will target the active versions of Python 3. - As of 2019, those are Python 3.4 and above. - * The ``six`` library is no longer a dependency. - * The accumulate function is no longer part of this library. You - may import a better version from the standard ``itertools`` module. - -* Changes to existing itertools: - * The order of the parameters in grouper have changed to match - the latest recipe in the itertools documentation. Use of the old order - will be supported in this release, but emit a ``DeprecationWarning``. - The legacy behavior will be dropped in a future release. (thanks to jaraco) - * distinct_permutations was improved (thanks to jferard - see also `permutations with unique values `_ at StackOverflow.) - * An unused parameter was removed from substrings. (thanks to pylang) - -* Other changes: - * The docs for unique_everseen were improved. (thanks to jferard and MSeifert04) - * Several Python 2-isms were removed. (thanks to jaraco, MSeifert04, and hugovk) - -5.0.0 ------ - -* New itertools: - * split_into (thanks to rovyko) - * unzip (thanks to bmintz) - * substrings (thanks to pylang) - -* Changes to existing itertools: - * ilen was optimized a bit (thanks to MSeifert04, achampion, and bmintz) - * first_true now returns ``None`` by default. This is the reason for the major version bump - see below. (thanks to sk and OJFord) - -* Other changes: - * Some code for old Python versions was removed (thanks to hugovk) - * Some documentation mistakes were corrected (thanks to belm0 and hugovk) - * Tests now run properly on 32-bit versions of Python (thanks to Millak) - * Newer versions of CPython and PyPy are now tested against - -The major version update is due to the change in the default return value of -first_true. It's now ``None``. - -.. code-block:: python - - >>> from more_itertools import first_true - >>> iterable = [0, '', False, [], ()] # All these are False - >>> answer = first_true(iterable) - >>> print(answer) - None - -4.3.0 ------ - -* New itertools: - * last (thanks to tmshn) - * replace (thanks to pylang) - * rlocate (thanks to jferard and pylang) - -* Improvements to existing itertools: - * locate can now search for multiple items - -* Other changes: - * The docs now include a nice table of tools (thanks MSeifert04) - -4.2.0 ------ - -* New itertools: - * map_reduce (thanks to pylang) - * prepend (from the `Python 3.7 docs `_) - -* Improvements to existing itertools: - * bucket now complies with PEP 479 (thanks to irmen) - -* Other changes: - * Python 3.7 is now supported (thanks to irmen) - * Python 3.3 is no longer supported - * The test suite no longer requires third-party modules to run - * The API docs now include links to source code - -4.1.0 ------ - -* New itertools: - * split_at (thanks to michael-celani) - * circular_shifts (thanks to hiqua) - * make_decorator - see the blog post `Yo, I heard you like decorators `_ - for a tour (thanks to pylang) - * always_reversible (thanks to michael-celani) - * nth_combination (from the `Python 3.7 docs `_) - -* Improvements to existing itertools: - * seekable now has an ``elements`` method to return cached items. - * The performance tradeoffs between roundrobin and - interleave_longest are now documented (thanks michael-celani, - pylang, and MSeifert04) - -4.0.1 ------ - -* No code changes - this release fixes how the docs display on PyPI. - -4.0.0 ------ - -* New itertools: - * consecutive_groups (Based on the example in the `Python 2.4 docs `_) - * seekable (If you're looking for how to "reset" an iterator, - you're in luck!) - * exactly_n (thanks to michael-celani) - * run_length.encode and run_length.decode - * difference - -* Improvements to existing itertools: - * The number of items between filler elements in intersperse can - now be specified (thanks to pylang) - * distinct_permutations and peekable got some minor - adjustments (thanks to MSeifert04) - * always_iterable now returns an iterator object. It also now - allows different types to be considered iterable (thanks to jaraco) - * bucket can now limit the keys it stores in memory - * one now allows for custom exceptions (thanks to kalekundert) - -* Other changes: - * A few typos were fixed (thanks to EdwardBetts) - * All tests can now be run with ``python setup.py test`` - -The major version update is due to the change in the return value of always_iterable. -It now always returns iterator objects: - -.. code-block:: python - - >>> from more_itertools import always_iterable - # Non-iterable objects are wrapped with iter(tuple(obj)) - >>> always_iterable(12345) - - >>> list(always_iterable(12345)) - [12345] - # Iterable objects are wrapped with iter() - >>> always_iterable([1, 2, 3, 4, 5]) - - -3.2.0 ------ - -* New itertools: - * lstrip, rstrip, and strip - (thanks to MSeifert04 and pylang) - * islice_extended -* Improvements to existing itertools: - * Some bugs with slicing peekable-wrapped iterables were fixed - -3.1.0 ------ - -* New itertools: - * numeric_range (Thanks to BebeSparkelSparkel and MSeifert04) - * count_cycle (Thanks to BebeSparkelSparkel) - * locate (Thanks to pylang and MSeifert04) -* Improvements to existing itertools: - * A few itertools are now slightly faster due to some function - optimizations. (Thanks to MSeifert04) -* The docs have been substantially revised with installation notes, - categories for library functions, links, and more. (Thanks to pylang) - - -3.0.0 ------ - -* Removed itertools: - * ``context`` has been removed due to a design flaw - see below for - replacement options. (thanks to NeilGirdhar) -* Improvements to existing itertools: - * ``side_effect`` now supports ``before`` and ``after`` keyword - arguments. (Thanks to yardsale8) -* PyPy and PyPy3 are now supported. - -The major version change is due to the removal of the ``context`` function. -Replace it with standard ``with`` statement context management: - -.. code-block:: python - - # Don't use context() anymore - file_obj = StringIO() - consume(print(x, file=f) for f in context(file_obj) for x in u'123') - - # Use a with statement instead - file_obj = StringIO() - with file_obj as f: - consume(print(x, file=f) for x in u'123') - -2.6.0 ------ - -* New itertools: - * ``adjacent`` and ``groupby_transform`` (Thanks to diazona) - * ``always_iterable`` (Thanks to jaraco) - * (Removed in 3.0.0) ``context`` (Thanks to yardsale8) - * ``divide`` (Thanks to mozbhearsum) -* Improvements to existing itertools: - * ``ilen`` is now slightly faster. (Thanks to wbolster) - * ``peekable`` can now prepend items to an iterable. (Thanks to diazona) - -2.5.0 ------ - -* New itertools: - * ``distribute`` (Thanks to mozbhearsum and coady) - * ``sort_together`` (Thanks to clintval) - * ``stagger`` and ``zip_offset`` (Thanks to joshbode) - * ``padded`` -* Improvements to existing itertools: - * ``peekable`` now handles negative indexes and slices with negative - components properly. - * ``intersperse`` is now slightly faster. (Thanks to pylang) - * ``windowed`` now accepts a ``step`` keyword argument. - (Thanks to pylang) -* Python 3.6 is now supported. - -2.4.1 ------ - -* Move docs 100% to readthedocs.io. - -2.4 ------ - -* New itertools: - * ``accumulate``, ``all_equal``, ``first_true``, ``partition``, and - ``tail`` from the itertools documentation. - * ``bucket`` (Thanks to Rosuav and cvrebert) - * ``collapse`` (Thanks to abarnet) - * ``interleave`` and ``interleave_longest`` (Thanks to abarnet) - * ``side_effect`` (Thanks to nvie) - * ``sliced`` (Thanks to j4mie and coady) - * ``split_before`` and ``split_after`` (Thanks to astronouth7303) - * ``spy`` (Thanks to themiurgo and mathieulongtin) -* Improvements to existing itertools: - * ``chunked`` is now simpler and more friendly to garbage collection. - (Contributed by coady, with thanks to piskvorky) - * ``collate`` now delegates to ``heapq.merge`` when possible. - (Thanks to kmike and julianpistorius) - * ``peekable``-wrapped iterables are now indexable and sliceable. - Iterating through ``peekable``-wrapped iterables is also faster. - * ``one`` and ``unique_to_each`` have been simplified. - (Thanks to coady) - - -2.3 ------ - -* Added ``one`` from ``jaraco.util.itertools``. (Thanks, jaraco!) -* Added ``distinct_permutations`` and ``unique_to_each``. (Contributed by - bbayles) -* Added ``windowed``. (Contributed by bbayles, with thanks to buchanae, - jaraco, and abarnert) -* Simplified the implementation of ``chunked``. (Thanks, nvie!) -* Python 3.5 is now supported. Python 2.6 is no longer supported. -* Python 3 is now supported directly; there is no 2to3 step. - -2.2 ------ - -* Added ``iterate`` and ``with_iter``. (Thanks, abarnert!) - -2.1 ------ - -* Added (tested!) implementations of the recipes from the itertools - documentation. (Thanks, Chris Lonnen!) -* Added ``ilen``. (Thanks for the inspiration, Matt Basta!) - -2.0 ------ - -* ``chunked`` now returns lists rather than tuples. After all, they're - homogeneous. This slightly backward-incompatible change is the reason for - the major version bump. -* Added ``@consumer``. -* Improved test machinery. - -1.1 ------ - -* Added ``first`` function. -* Added Python 3 support. -* Added a default arg to ``peekable.peek()``. -* Noted how to easily test whether a peekable iterator is exhausted. -* Rewrote documentation. - -1.0 ------ - -* Initial release, with ``collate``, ``peekable``, and ``chunked``. Could - really use better docs. - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/RECORD b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/RECORD deleted file mode 100644 index cd0bac5..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/RECORD +++ /dev/null @@ -1,18 +0,0 @@ -more_itertools-7.2.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -more_itertools-7.2.0.dist-info/LICENSE,sha256=CfHIyelBrz5YTVlkHqm4fYPAyw_QB-te85Gn4mQ8GkY,1053 -more_itertools-7.2.0.dist-info/METADATA,sha256=Z-MGFuCluxO39U0eOB0d1T-JTWA86FF7AXNgO2e141I,38702 -more_itertools-7.2.0.dist-info/RECORD,, -more_itertools-7.2.0.dist-info/WHEEL,sha256=S8S5VL-stOTSZDYxHyf0KP7eds0J72qrK0Evu3TfyAY,92 -more_itertools-7.2.0.dist-info/top_level.txt,sha256=fAuqRXu9LPhxdB9ujJowcFOu1rZ8wzSpOW9_jlKis6M,15 -more_itertools/__init__.py,sha256=S-n6S9N3UplqU3p-7AV-1Znl6yJwuXsJtqrlEq9tOUw,87 -more_itertools/__pycache__/__init__.cpython-37.pyc,, -more_itertools/__pycache__/more.cpython-37.pyc,, -more_itertools/__pycache__/recipes.cpython-37.pyc,, -more_itertools/more.py,sha256=4lZSk1NeNsESx1sjTjKL6G7CEOGIqnjFKEj0kLTcI-0,82859 -more_itertools/recipes.py,sha256=4X8EBZLOEyKKVlacSp2jAg56-GEo1jhCU2eH4WlbEC4,15235 -more_itertools/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -more_itertools/tests/__pycache__/__init__.cpython-37.pyc,, -more_itertools/tests/__pycache__/test_more.cpython-37.pyc,, -more_itertools/tests/__pycache__/test_recipes.cpython-37.pyc,, -more_itertools/tests/test_more.py,sha256=T2XyR_92J4lcOQud8IwlUjbc_ERXTHJnvcHwL_I2ce4,92362 -more_itertools/tests/test_recipes.py,sha256=UxBADwAu1U0FlNXtU6ybKkHhh1Lt2opwsTFNnSbJ7uU,19478 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/WHEEL b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/WHEEL deleted file mode 100644 index c57a597..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.33.4) -Root-Is-Purelib: true -Tag: py3-none-any - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/top_level.txt b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/top_level.txt deleted file mode 100644 index a5035be..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools-7.2.0.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -more_itertools diff --git a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/__init__.py deleted file mode 100644 index bba462c..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from more_itertools.more import * # noqa -from more_itertools.recipes import * # noqa diff --git a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/more.py b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/more.py deleted file mode 100644 index 3d715ac..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/more.py +++ /dev/null @@ -1,2630 +0,0 @@ -from collections import Counter, defaultdict, deque -from collections.abc import Sequence -from functools import partial, wraps -from heapq import merge -from itertools import ( - combinations, - chain, - compress, - count, - cycle, - dropwhile, - groupby, - islice, - repeat, - starmap, - takewhile, - tee, - zip_longest, -) -from operator import itemgetter, lt, gt, sub -from sys import maxsize, version_info -from time import monotonic - -from .recipes import consume, flatten, powerset, take, unique_everseen - -__all__ = [ - 'adjacent', - 'always_iterable', - 'always_reversible', - 'bucket', - 'chunked', - 'circular_shifts', - 'collapse', - 'collate', - 'consecutive_groups', - 'consumer', - 'count_cycle', - 'difference', - 'distinct_combinations', - 'distinct_permutations', - 'distribute', - 'divide', - 'exactly_n', - 'filter_except', - 'first', - 'groupby_transform', - 'ilen', - 'interleave_longest', - 'interleave', - 'intersperse', - 'islice_extended', - 'iterate', - 'ichunked', - 'last', - 'locate', - 'lstrip', - 'make_decorator', - 'map_except', - 'map_reduce', - 'numeric_range', - 'one', - 'only', - 'padded', - 'partitions', - 'set_partitions', - 'peekable', - 'replace', - 'rlocate', - 'rstrip', - 'run_length', - 'seekable', - 'SequenceView', - 'side_effect', - 'sliced', - 'sort_together', - 'split_at', - 'split_after', - 'split_before', - 'split_into', - 'spy', - 'stagger', - 'strip', - 'substrings', - 'substrings_indexes', - 'time_limited', - 'unique_to_each', - 'unzip', - 'windowed', - 'with_iter', - 'zip_offset', -] - -_marker = object() - - -def chunked(iterable, n): - """Break *iterable* into lists of length *n*: - - >>> list(chunked([1, 2, 3, 4, 5, 6], 3)) - [[1, 2, 3], [4, 5, 6]] - - If the length of *iterable* is not evenly divisible by *n*, the last - returned list will be shorter: - - >>> list(chunked([1, 2, 3, 4, 5, 6, 7, 8], 3)) - [[1, 2, 3], [4, 5, 6], [7, 8]] - - To use a fill-in value instead, see the :func:`grouper` recipe. - - :func:`chunked` is useful for splitting up a computation on a large number - of keys into batches, to be pickled and sent off to worker processes. One - example is operations on rows in MySQL, which does not implement - server-side cursors properly and would otherwise load the entire dataset - into RAM on the client. - - """ - return iter(partial(take, n, iter(iterable)), []) - - -def first(iterable, default=_marker): - """Return the first item of *iterable*, or *default* if *iterable* is - empty. - - >>> first([0, 1, 2, 3]) - 0 - >>> first([], 'some default') - 'some default' - - If *default* is not provided and there are no items in the iterable, - raise ``ValueError``. - - :func:`first` is useful when you have a generator of expensive-to-retrieve - values and want any arbitrary one. It is marginally shorter than - ``next(iter(iterable), default)``. - - """ - try: - return next(iter(iterable)) - except StopIteration: - # I'm on the edge about raising ValueError instead of StopIteration. At - # the moment, ValueError wins, because the caller could conceivably - # want to do something different with flow control when I raise the - # exception, and it's weird to explicitly catch StopIteration. - if default is _marker: - raise ValueError('first() was called on an empty iterable, and no ' - 'default value was provided.') - return default - - -def last(iterable, default=_marker): - """Return the last item of *iterable*, or *default* if *iterable* is - empty. - - >>> last([0, 1, 2, 3]) - 3 - >>> last([], 'some default') - 'some default' - - If *default* is not provided and there are no items in the iterable, - raise ``ValueError``. - """ - try: - try: - # Try to access the last item directly - return iterable[-1] - except (TypeError, AttributeError, KeyError): - # If not slice-able, iterate entirely using length-1 deque - return deque(iterable, maxlen=1)[0] - except IndexError: # If the iterable was empty - if default is _marker: - raise ValueError('last() was called on an empty iterable, and no ' - 'default value was provided.') - return default - - -class peekable: - """Wrap an iterator to allow lookahead and prepending elements. - - Call :meth:`peek` on the result to get the value that will be returned - by :func:`next`. This won't advance the iterator: - - >>> p = peekable(['a', 'b']) - >>> p.peek() - 'a' - >>> next(p) - 'a' - - Pass :meth:`peek` a default value to return that instead of raising - ``StopIteration`` when the iterator is exhausted. - - >>> p = peekable([]) - >>> p.peek('hi') - 'hi' - - peekables also offer a :meth:`prepend` method, which "inserts" items - at the head of the iterable: - - >>> p = peekable([1, 2, 3]) - >>> p.prepend(10, 11, 12) - >>> next(p) - 10 - >>> p.peek() - 11 - >>> list(p) - [11, 12, 1, 2, 3] - - peekables can be indexed. Index 0 is the item that will be returned by - :func:`next`, index 1 is the item after that, and so on: - The values up to the given index will be cached. - - >>> p = peekable(['a', 'b', 'c', 'd']) - >>> p[0] - 'a' - >>> p[1] - 'b' - >>> next(p) - 'a' - - Negative indexes are supported, but be aware that they will cache the - remaining items in the source iterator, which may require significant - storage. - - To check whether a peekable is exhausted, check its truth value: - - >>> p = peekable(['a', 'b']) - >>> if p: # peekable has items - ... list(p) - ['a', 'b'] - >>> if not p: # peekable is exhaused - ... list(p) - [] - - """ - def __init__(self, iterable): - self._it = iter(iterable) - self._cache = deque() - - def __iter__(self): - return self - - def __bool__(self): - try: - self.peek() - except StopIteration: - return False - return True - - def peek(self, default=_marker): - """Return the item that will be next returned from ``next()``. - - Return ``default`` if there are no items left. If ``default`` is not - provided, raise ``StopIteration``. - - """ - if not self._cache: - try: - self._cache.append(next(self._it)) - except StopIteration: - if default is _marker: - raise - return default - return self._cache[0] - - def prepend(self, *items): - """Stack up items to be the next ones returned from ``next()`` or - ``self.peek()``. The items will be returned in - first in, first out order:: - - >>> p = peekable([1, 2, 3]) - >>> p.prepend(10, 11, 12) - >>> next(p) - 10 - >>> list(p) - [11, 12, 1, 2, 3] - - It is possible, by prepending items, to "resurrect" a peekable that - previously raised ``StopIteration``. - - >>> p = peekable([]) - >>> next(p) - Traceback (most recent call last): - ... - StopIteration - >>> p.prepend(1) - >>> next(p) - 1 - >>> next(p) - Traceback (most recent call last): - ... - StopIteration - - """ - self._cache.extendleft(reversed(items)) - - def __next__(self): - if self._cache: - return self._cache.popleft() - - return next(self._it) - - def _get_slice(self, index): - # Normalize the slice's arguments - step = 1 if (index.step is None) else index.step - if step > 0: - start = 0 if (index.start is None) else index.start - stop = maxsize if (index.stop is None) else index.stop - elif step < 0: - start = -1 if (index.start is None) else index.start - stop = (-maxsize - 1) if (index.stop is None) else index.stop - else: - raise ValueError('slice step cannot be zero') - - # If either the start or stop index is negative, we'll need to cache - # the rest of the iterable in order to slice from the right side. - if (start < 0) or (stop < 0): - self._cache.extend(self._it) - # Otherwise we'll need to find the rightmost index and cache to that - # point. - else: - n = min(max(start, stop) + 1, maxsize) - cache_len = len(self._cache) - if n >= cache_len: - self._cache.extend(islice(self._it, n - cache_len)) - - return list(self._cache)[index] - - def __getitem__(self, index): - if isinstance(index, slice): - return self._get_slice(index) - - cache_len = len(self._cache) - if index < 0: - self._cache.extend(self._it) - elif index >= cache_len: - self._cache.extend(islice(self._it, index + 1 - cache_len)) - - return self._cache[index] - - -def _collate(*iterables, key=lambda a: a, reverse=False): - """Helper for ``collate()``, called when the user is using the ``reverse`` - or ``key`` keyword arguments on Python versions below 3.5. - - """ - min_or_max = partial(max if reverse else min, key=itemgetter(0)) - peekables = [peekable(it) for it in iterables] - peekables = [p for p in peekables if p] # Kill empties. - while peekables: - _, p = min_or_max((key(p.peek()), p) for p in peekables) - yield next(p) - peekables = [x for x in peekables if x] - - -def collate(*iterables, **kwargs): - """Return a sorted merge of the items from each of several already-sorted - *iterables*. - - >>> list(collate('ACDZ', 'AZ', 'JKL')) - ['A', 'A', 'C', 'D', 'J', 'K', 'L', 'Z', 'Z'] - - Works lazily, keeping only the next value from each iterable in memory. Use - :func:`collate` to, for example, perform a n-way mergesort of items that - don't fit in memory. - - If a *key* function is specified, the iterables will be sorted according - to its result: - - >>> key = lambda s: int(s) # Sort by numeric value, not by string - >>> list(collate(['1', '10'], ['2', '11'], key=key)) - ['1', '2', '10', '11'] - - - If the *iterables* are sorted in descending order, set *reverse* to - ``True``: - - >>> list(collate([5, 3, 1], [4, 2, 0], reverse=True)) - [5, 4, 3, 2, 1, 0] - - If the elements of the passed-in iterables are out of order, you might get - unexpected results. - - On Python 3.5+, this function is an alias for :func:`heapq.merge`. - - """ - if not kwargs: - return merge(*iterables) - - return _collate(*iterables, **kwargs) - - -# If using Python version 3.5 or greater, heapq.merge() will be faster than -# collate - use that instead. -if version_info >= (3, 5, 0): - _collate_docstring = collate.__doc__ - collate = partial(merge) - collate.__doc__ = _collate_docstring - - -def consumer(func): - """Decorator that automatically advances a PEP-342-style "reverse iterator" - to its first yield point so you don't have to call ``next()`` on it - manually. - - >>> @consumer - ... def tally(): - ... i = 0 - ... while True: - ... print('Thing number %s is %s.' % (i, (yield))) - ... i += 1 - ... - >>> t = tally() - >>> t.send('red') - Thing number 0 is red. - >>> t.send('fish') - Thing number 1 is fish. - - Without the decorator, you would have to call ``next(t)`` before - ``t.send()`` could be used. - - """ - @wraps(func) - def wrapper(*args, **kwargs): - gen = func(*args, **kwargs) - next(gen) - return gen - return wrapper - - -def ilen(iterable): - """Return the number of items in *iterable*. - - >>> ilen(x for x in range(1000000) if x % 3 == 0) - 333334 - - This consumes the iterable, so handle with care. - - """ - # This approach was selected because benchmarks showed it's likely the - # fastest of the known implementations at the time of writing. - # See GitHub tracker: #236, #230. - counter = count() - deque(zip(iterable, counter), maxlen=0) - return next(counter) - - -def iterate(func, start): - """Return ``start``, ``func(start)``, ``func(func(start))``, ... - - >>> from itertools import islice - >>> list(islice(iterate(lambda x: 2*x, 1), 10)) - [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] - - """ - while True: - yield start - start = func(start) - - -def with_iter(context_manager): - """Wrap an iterable in a ``with`` statement, so it closes once exhausted. - - For example, this will close the file when the iterator is exhausted:: - - upper_lines = (line.upper() for line in with_iter(open('foo'))) - - Any context manager which returns an iterable is a candidate for - ``with_iter``. - - """ - with context_manager as iterable: - yield from iterable - - -def one(iterable, too_short=None, too_long=None): - """Return the first item from *iterable*, which is expected to contain only - that item. Raise an exception if *iterable* is empty or has more than one - item. - - :func:`one` is useful for ensuring that an iterable contains only one item. - For example, it can be used to retrieve the result of a database query - that is expected to return a single row. - - If *iterable* is empty, ``ValueError`` will be raised. You may specify a - different exception with the *too_short* keyword: - - >>> it = [] - >>> one(it) # doctest: +IGNORE_EXCEPTION_DETAIL - Traceback (most recent call last): - ... - ValueError: too many items in iterable (expected 1)' - >>> too_short = IndexError('too few items') - >>> one(it, too_short=too_short) # doctest: +IGNORE_EXCEPTION_DETAIL - Traceback (most recent call last): - ... - IndexError: too few items - - Similarly, if *iterable* contains more than one item, ``ValueError`` will - be raised. You may specify a different exception with the *too_long* - keyword: - - >>> it = ['too', 'many'] - >>> one(it) # doctest: +IGNORE_EXCEPTION_DETAIL - Traceback (most recent call last): - ... - ValueError: too many items in iterable (expected 1)' - >>> too_long = RuntimeError - >>> one(it, too_long=too_long) # doctest: +IGNORE_EXCEPTION_DETAIL - Traceback (most recent call last): - ... - RuntimeError - - Note that :func:`one` attempts to advance *iterable* twice to ensure there - is only one item. See :func:`spy` or :func:`peekable` to check iterable - contents less destructively. - - """ - it = iter(iterable) - - try: - value = next(it) - except StopIteration: - raise too_short or ValueError('too few items in iterable (expected 1)') - - try: - next(it) - except StopIteration: - pass - else: - raise too_long or ValueError('too many items in iterable (expected 1)') - - return value - - -def distinct_permutations(iterable): - """Yield successive distinct permutations of the elements in *iterable*. - - >>> sorted(distinct_permutations([1, 0, 1])) - [(0, 1, 1), (1, 0, 1), (1, 1, 0)] - - Equivalent to ``set(permutations(iterable))``, except duplicates are not - generated and thrown away. For larger input sequences this is much more - efficient. - - Duplicate permutations arise when there are duplicated elements in the - input iterable. The number of items returned is - `n! / (x_1! * x_2! * ... * x_n!)`, where `n` is the total number of - items input, and each `x_i` is the count of a distinct item in the input - sequence. - - """ - def make_new_permutations(pool, e): - """Internal helper function. - The output permutations are built up by adding element *e* to the - current *permutations* at every possible position. - The key idea is to keep repeated elements (reverse) ordered: - if e1 == e2 and e1 is before e2 in the iterable, then all permutations - with e1 before e2 are ignored. - - """ - for perm in pool: - for j in range(len(perm)): - yield perm[:j] + (e,) + perm[j:] - if perm[j] == e: - break - else: - yield perm + (e,) - - permutations = [()] - for e in iterable: - permutations = make_new_permutations(permutations, e) - - return (tuple(t) for t in permutations) - - -def intersperse(e, iterable, n=1): - """Intersperse filler element *e* among the items in *iterable*, leaving - *n* items between each filler element. - - >>> list(intersperse('!', [1, 2, 3, 4, 5])) - [1, '!', 2, '!', 3, '!', 4, '!', 5] - - >>> list(intersperse(None, [1, 2, 3, 4, 5], n=2)) - [1, 2, None, 3, 4, None, 5] - - """ - if n == 0: - raise ValueError('n must be > 0') - elif n == 1: - # interleave(repeat(e), iterable) -> e, x_0, e, e, x_1, e, x_2... - # islice(..., 1, None) -> x_0, e, e, x_1, e, x_2... - return islice(interleave(repeat(e), iterable), 1, None) - else: - # interleave(filler, chunks) -> [e], [x_0, x_1], [e], [x_2, x_3]... - # islice(..., 1, None) -> [x_0, x_1], [e], [x_2, x_3]... - # flatten(...) -> x_0, x_1, e, x_2, x_3... - filler = repeat([e]) - chunks = chunked(iterable, n) - return flatten(islice(interleave(filler, chunks), 1, None)) - - -def unique_to_each(*iterables): - """Return the elements from each of the input iterables that aren't in the - other input iterables. - - For example, suppose you have a set of packages, each with a set of - dependencies:: - - {'pkg_1': {'A', 'B'}, 'pkg_2': {'B', 'C'}, 'pkg_3': {'B', 'D'}} - - If you remove one package, which dependencies can also be removed? - - If ``pkg_1`` is removed, then ``A`` is no longer necessary - it is not - associated with ``pkg_2`` or ``pkg_3``. Similarly, ``C`` is only needed for - ``pkg_2``, and ``D`` is only needed for ``pkg_3``:: - - >>> unique_to_each({'A', 'B'}, {'B', 'C'}, {'B', 'D'}) - [['A'], ['C'], ['D']] - - If there are duplicates in one input iterable that aren't in the others - they will be duplicated in the output. Input order is preserved:: - - >>> unique_to_each("mississippi", "missouri") - [['p', 'p'], ['o', 'u', 'r']] - - It is assumed that the elements of each iterable are hashable. - - """ - pool = [list(it) for it in iterables] - counts = Counter(chain.from_iterable(map(set, pool))) - uniques = {element for element in counts if counts[element] == 1} - return [list(filter(uniques.__contains__, it)) for it in pool] - - -def windowed(seq, n, fillvalue=None, step=1): - """Return a sliding window of width *n* over the given iterable. - - >>> all_windows = windowed([1, 2, 3, 4, 5], 3) - >>> list(all_windows) - [(1, 2, 3), (2, 3, 4), (3, 4, 5)] - - When the window is larger than the iterable, *fillvalue* is used in place - of missing values:: - - >>> list(windowed([1, 2, 3], 4)) - [(1, 2, 3, None)] - - Each window will advance in increments of *step*: - - >>> list(windowed([1, 2, 3, 4, 5, 6], 3, fillvalue='!', step=2)) - [(1, 2, 3), (3, 4, 5), (5, 6, '!')] - - To slide into the iterable's items, use :func:`chain` to add filler items - to the left: - - >>> iterable = [1, 2, 3, 4] - >>> n = 3 - >>> padding = [None] * (n - 1) - >>> list(windowed(chain(padding, iterable), 3)) - [(None, None, 1), (None, 1, 2), (1, 2, 3), (2, 3, 4)] - - """ - if n < 0: - raise ValueError('n must be >= 0') - if n == 0: - yield tuple() - return - if step < 1: - raise ValueError('step must be >= 1') - - it = iter(seq) - window = deque([], n) - append = window.append - - # Initial deque fill - for _ in range(n): - append(next(it, fillvalue)) - yield tuple(window) - - # Appending new items to the right causes old items to fall off the left - i = 0 - for item in it: - append(item) - i = (i + 1) % step - if i % step == 0: - yield tuple(window) - - # If there are items from the iterable in the window, pad with the given - # value and emit them. - if (i % step) and (step - i < n): - for _ in range(step - i): - append(fillvalue) - yield tuple(window) - - -def substrings(iterable): - """Yield all of the substrings of *iterable*. - - >>> [''.join(s) for s in substrings('more')] - ['m', 'o', 'r', 'e', 'mo', 'or', 're', 'mor', 'ore', 'more'] - - Note that non-string iterables can also be subdivided. - - >>> list(substrings([0, 1, 2])) - [(0,), (1,), (2,), (0, 1), (1, 2), (0, 1, 2)] - - """ - # The length-1 substrings - seq = [] - for item in iter(iterable): - seq.append(item) - yield (item,) - seq = tuple(seq) - item_count = len(seq) - - # And the rest - for n in range(2, item_count + 1): - for i in range(item_count - n + 1): - yield seq[i:i + n] - - -def substrings_indexes(seq, reverse=False): - """Yield all substrings and their positions in *seq* - - The items yielded will be a tuple of the form ``(substr, i, j)``, where - ``substr == seq[i:j]``. - - This function only works for iterables that support slicing, such as - ``str`` objects. - - >>> for item in substrings_indexes('more'): - ... print(item) - ('m', 0, 1) - ('o', 1, 2) - ('r', 2, 3) - ('e', 3, 4) - ('mo', 0, 2) - ('or', 1, 3) - ('re', 2, 4) - ('mor', 0, 3) - ('ore', 1, 4) - ('more', 0, 4) - - Set *reverse* to ``True`` to yield the same items in the opposite order. - - - """ - r = range(1, len(seq) + 1) - if reverse: - r = reversed(r) - return ( - (seq[i:i + L], i, i + L) for L in r for i in range(len(seq) - L + 1) - ) - - -class bucket: - """Wrap *iterable* and return an object that buckets it iterable into - child iterables based on a *key* function. - - >>> iterable = ['a1', 'b1', 'c1', 'a2', 'b2', 'c2', 'b3'] - >>> s = bucket(iterable, key=lambda x: x[0]) - >>> a_iterable = s['a'] - >>> next(a_iterable) - 'a1' - >>> next(a_iterable) - 'a2' - >>> list(s['b']) - ['b1', 'b2', 'b3'] - - The original iterable will be advanced and its items will be cached until - they are used by the child iterables. This may require significant storage. - - By default, attempting to select a bucket to which no items belong will - exhaust the iterable and cache all values. - If you specify a *validator* function, selected buckets will instead be - checked against it. - - >>> from itertools import count - >>> it = count(1, 2) # Infinite sequence of odd numbers - >>> key = lambda x: x % 10 # Bucket by last digit - >>> validator = lambda x: x in {1, 3, 5, 7, 9} # Odd digits only - >>> s = bucket(it, key=key, validator=validator) - >>> 2 in s - False - >>> list(s[2]) - [] - - """ - def __init__(self, iterable, key, validator=None): - self._it = iter(iterable) - self._key = key - self._cache = defaultdict(deque) - self._validator = validator or (lambda x: True) - - def __contains__(self, value): - if not self._validator(value): - return False - - try: - item = next(self[value]) - except StopIteration: - return False - else: - self._cache[value].appendleft(item) - - return True - - def _get_values(self, value): - """ - Helper to yield items from the parent iterator that match *value*. - Items that don't match are stored in the local cache as they - are encountered. - """ - while True: - # If we've cached some items that match the target value, emit - # the first one and evict it from the cache. - if self._cache[value]: - yield self._cache[value].popleft() - # Otherwise we need to advance the parent iterator to search for - # a matching item, caching the rest. - else: - while True: - try: - item = next(self._it) - except StopIteration: - return - item_value = self._key(item) - if item_value == value: - yield item - break - elif self._validator(item_value): - self._cache[item_value].append(item) - - def __getitem__(self, value): - if not self._validator(value): - return iter(()) - - return self._get_values(value) - - -def spy(iterable, n=1): - """Return a 2-tuple with a list containing the first *n* elements of - *iterable*, and an iterator with the same items as *iterable*. - This allows you to "look ahead" at the items in the iterable without - advancing it. - - There is one item in the list by default: - - >>> iterable = 'abcdefg' - >>> head, iterable = spy(iterable) - >>> head - ['a'] - >>> list(iterable) - ['a', 'b', 'c', 'd', 'e', 'f', 'g'] - - You may use unpacking to retrieve items instead of lists: - - >>> (head,), iterable = spy('abcdefg') - >>> head - 'a' - >>> (first, second), iterable = spy('abcdefg', 2) - >>> first - 'a' - >>> second - 'b' - - The number of items requested can be larger than the number of items in - the iterable: - - >>> iterable = [1, 2, 3, 4, 5] - >>> head, iterable = spy(iterable, 10) - >>> head - [1, 2, 3, 4, 5] - >>> list(iterable) - [1, 2, 3, 4, 5] - - """ - it = iter(iterable) - head = take(n, it) - - return head, chain(head, it) - - -def interleave(*iterables): - """Return a new iterable yielding from each iterable in turn, - until the shortest is exhausted. - - >>> list(interleave([1, 2, 3], [4, 5], [6, 7, 8])) - [1, 4, 6, 2, 5, 7] - - For a version that doesn't terminate after the shortest iterable is - exhausted, see :func:`interleave_longest`. - - """ - return chain.from_iterable(zip(*iterables)) - - -def interleave_longest(*iterables): - """Return a new iterable yielding from each iterable in turn, - skipping any that are exhausted. - - >>> list(interleave_longest([1, 2, 3], [4, 5], [6, 7, 8])) - [1, 4, 6, 2, 5, 7, 3, 8] - - This function produces the same output as :func:`roundrobin`, but may - perform better for some inputs (in particular when the number of iterables - is large). - - """ - i = chain.from_iterable(zip_longest(*iterables, fillvalue=_marker)) - return (x for x in i if x is not _marker) - - -def collapse(iterable, base_type=None, levels=None): - """Flatten an iterable with multiple levels of nesting (e.g., a list of - lists of tuples) into non-iterable types. - - >>> iterable = [(1, 2), ([3, 4], [[5], [6]])] - >>> list(collapse(iterable)) - [1, 2, 3, 4, 5, 6] - - Binary and text strings are not considered iterable and - will not be collapsed. - - To avoid collapsing other types, specify *base_type*: - - >>> iterable = ['ab', ('cd', 'ef'), ['gh', 'ij']] - >>> list(collapse(iterable, base_type=tuple)) - ['ab', ('cd', 'ef'), 'gh', 'ij'] - - Specify *levels* to stop flattening after a certain level: - - >>> iterable = [('a', ['b']), ('c', ['d'])] - >>> list(collapse(iterable)) # Fully flattened - ['a', 'b', 'c', 'd'] - >>> list(collapse(iterable, levels=1)) # Only one level flattened - ['a', ['b'], 'c', ['d']] - - """ - def walk(node, level): - if ( - ((levels is not None) and (level > levels)) or - isinstance(node, (str, bytes)) or - ((base_type is not None) and isinstance(node, base_type)) - ): - yield node - return - - try: - tree = iter(node) - except TypeError: - yield node - return - else: - for child in tree: - for x in walk(child, level + 1): - yield x - - yield from walk(iterable, 0) - - -def side_effect(func, iterable, chunk_size=None, before=None, after=None): - """Invoke *func* on each item in *iterable* (or on each *chunk_size* group - of items) before yielding the item. - - `func` must be a function that takes a single argument. Its return value - will be discarded. - - *before* and *after* are optional functions that take no arguments. They - will be executed before iteration starts and after it ends, respectively. - - `side_effect` can be used for logging, updating progress bars, or anything - that is not functionally "pure." - - Emitting a status message: - - >>> from more_itertools import consume - >>> func = lambda item: print('Received {}'.format(item)) - >>> consume(side_effect(func, range(2))) - Received 0 - Received 1 - - Operating on chunks of items: - - >>> pair_sums = [] - >>> func = lambda chunk: pair_sums.append(sum(chunk)) - >>> list(side_effect(func, [0, 1, 2, 3, 4, 5], 2)) - [0, 1, 2, 3, 4, 5] - >>> list(pair_sums) - [1, 5, 9] - - Writing to a file-like object: - - >>> from io import StringIO - >>> from more_itertools import consume - >>> f = StringIO() - >>> func = lambda x: print(x, file=f) - >>> before = lambda: print(u'HEADER', file=f) - >>> after = f.close - >>> it = [u'a', u'b', u'c'] - >>> consume(side_effect(func, it, before=before, after=after)) - >>> f.closed - True - - """ - try: - if before is not None: - before() - - if chunk_size is None: - for item in iterable: - func(item) - yield item - else: - for chunk in chunked(iterable, chunk_size): - func(chunk) - yield from chunk - finally: - if after is not None: - after() - - -def sliced(seq, n): - """Yield slices of length *n* from the sequence *seq*. - - >>> list(sliced((1, 2, 3, 4, 5, 6), 3)) - [(1, 2, 3), (4, 5, 6)] - - If the length of the sequence is not divisible by the requested slice - length, the last slice will be shorter. - - >>> list(sliced((1, 2, 3, 4, 5, 6, 7, 8), 3)) - [(1, 2, 3), (4, 5, 6), (7, 8)] - - This function will only work for iterables that support slicing. - For non-sliceable iterables, see :func:`chunked`. - - """ - return takewhile(bool, (seq[i: i + n] for i in count(0, n))) - - -def split_at(iterable, pred): - """Yield lists of items from *iterable*, where each list is delimited by - an item where callable *pred* returns ``True``. The lists do not include - the delimiting items. - - >>> list(split_at('abcdcba', lambda x: x == 'b')) - [['a'], ['c', 'd', 'c'], ['a']] - - >>> list(split_at(range(10), lambda n: n % 2 == 1)) - [[0], [2], [4], [6], [8], []] - """ - buf = [] - for item in iterable: - if pred(item): - yield buf - buf = [] - else: - buf.append(item) - yield buf - - -def split_before(iterable, pred): - """Yield lists of items from *iterable*, where each list starts with an - item where callable *pred* returns ``True``: - - >>> list(split_before('OneTwo', lambda s: s.isupper())) - [['O', 'n', 'e'], ['T', 'w', 'o']] - - >>> list(split_before(range(10), lambda n: n % 3 == 0)) - [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]] - - """ - buf = [] - for item in iterable: - if pred(item) and buf: - yield buf - buf = [] - buf.append(item) - yield buf - - -def split_after(iterable, pred): - """Yield lists of items from *iterable*, where each list ends with an - item where callable *pred* returns ``True``: - - >>> list(split_after('one1two2', lambda s: s.isdigit())) - [['o', 'n', 'e', '1'], ['t', 'w', 'o', '2']] - - >>> list(split_after(range(10), lambda n: n % 3 == 0)) - [[0], [1, 2, 3], [4, 5, 6], [7, 8, 9]] - - """ - buf = [] - for item in iterable: - buf.append(item) - if pred(item) and buf: - yield buf - buf = [] - if buf: - yield buf - - -def split_into(iterable, sizes): - """Yield a list of sequential items from *iterable* of length 'n' for each - integer 'n' in *sizes*. - - >>> list(split_into([1,2,3,4,5,6], [1,2,3])) - [[1], [2, 3], [4, 5, 6]] - - If the sum of *sizes* is smaller than the length of *iterable*, then the - remaining items of *iterable* will not be returned. - - >>> list(split_into([1,2,3,4,5,6], [2,3])) - [[1, 2], [3, 4, 5]] - - If the sum of *sizes* is larger than the length of *iterable*, fewer items - will be returned in the iteration that overruns *iterable* and further - lists will be empty: - - >>> list(split_into([1,2,3,4], [1,2,3,4])) - [[1], [2, 3], [4], []] - - When a ``None`` object is encountered in *sizes*, the returned list will - contain items up to the end of *iterable* the same way that itertools.slice - does: - - >>> list(split_into([1,2,3,4,5,6,7,8,9,0], [2,3,None])) - [[1, 2], [3, 4, 5], [6, 7, 8, 9, 0]] - - :func:`split_into` can be useful for grouping a series of items where the - sizes of the groups are not uniform. An example would be where in a row - from a table, multiple columns represent elements of the same feature - (e.g. a point represented by x,y,z) but, the format is not the same for - all columns. - """ - # convert the iterable argument into an iterator so its contents can - # be consumed by islice in case it is a generator - it = iter(iterable) - - for size in sizes: - if size is None: - yield list(it) - return - else: - yield list(islice(it, size)) - - -def padded(iterable, fillvalue=None, n=None, next_multiple=False): - """Yield the elements from *iterable*, followed by *fillvalue*, such that - at least *n* items are emitted. - - >>> list(padded([1, 2, 3], '?', 5)) - [1, 2, 3, '?', '?'] - - If *next_multiple* is ``True``, *fillvalue* will be emitted until the - number of items emitted is a multiple of *n*:: - - >>> list(padded([1, 2, 3, 4], n=3, next_multiple=True)) - [1, 2, 3, 4, None, None] - - If *n* is ``None``, *fillvalue* will be emitted indefinitely. - - """ - it = iter(iterable) - if n is None: - yield from chain(it, repeat(fillvalue)) - elif n < 1: - raise ValueError('n must be at least 1') - else: - item_count = 0 - for item in it: - yield item - item_count += 1 - - remaining = (n - item_count) % n if next_multiple else n - item_count - for _ in range(remaining): - yield fillvalue - - -def distribute(n, iterable): - """Distribute the items from *iterable* among *n* smaller iterables. - - >>> group_1, group_2 = distribute(2, [1, 2, 3, 4, 5, 6]) - >>> list(group_1) - [1, 3, 5] - >>> list(group_2) - [2, 4, 6] - - If the length of *iterable* is not evenly divisible by *n*, then the - length of the returned iterables will not be identical: - - >>> children = distribute(3, [1, 2, 3, 4, 5, 6, 7]) - >>> [list(c) for c in children] - [[1, 4, 7], [2, 5], [3, 6]] - - If the length of *iterable* is smaller than *n*, then the last returned - iterables will be empty: - - >>> children = distribute(5, [1, 2, 3]) - >>> [list(c) for c in children] - [[1], [2], [3], [], []] - - This function uses :func:`itertools.tee` and may require significant - storage. If you need the order items in the smaller iterables to match the - original iterable, see :func:`divide`. - - """ - if n < 1: - raise ValueError('n must be at least 1') - - children = tee(iterable, n) - return [islice(it, index, None, n) for index, it in enumerate(children)] - - -def stagger(iterable, offsets=(-1, 0, 1), longest=False, fillvalue=None): - """Yield tuples whose elements are offset from *iterable*. - The amount by which the `i`-th item in each tuple is offset is given by - the `i`-th item in *offsets*. - - >>> list(stagger([0, 1, 2, 3])) - [(None, 0, 1), (0, 1, 2), (1, 2, 3)] - >>> list(stagger(range(8), offsets=(0, 2, 4))) - [(0, 2, 4), (1, 3, 5), (2, 4, 6), (3, 5, 7)] - - By default, the sequence will end when the final element of a tuple is the - last item in the iterable. To continue until the first element of a tuple - is the last item in the iterable, set *longest* to ``True``:: - - >>> list(stagger([0, 1, 2, 3], longest=True)) - [(None, 0, 1), (0, 1, 2), (1, 2, 3), (2, 3, None), (3, None, None)] - - By default, ``None`` will be used to replace offsets beyond the end of the - sequence. Specify *fillvalue* to use some other value. - - """ - children = tee(iterable, len(offsets)) - - return zip_offset( - *children, offsets=offsets, longest=longest, fillvalue=fillvalue - ) - - -def zip_offset(*iterables, offsets, longest=False, fillvalue=None): - """``zip`` the input *iterables* together, but offset the `i`-th iterable - by the `i`-th item in *offsets*. - - >>> list(zip_offset('0123', 'abcdef', offsets=(0, 1))) - [('0', 'b'), ('1', 'c'), ('2', 'd'), ('3', 'e')] - - This can be used as a lightweight alternative to SciPy or pandas to analyze - data sets in which some series have a lead or lag relationship. - - By default, the sequence will end when the shortest iterable is exhausted. - To continue until the longest iterable is exhausted, set *longest* to - ``True``. - - >>> list(zip_offset('0123', 'abcdef', offsets=(0, 1), longest=True)) - [('0', 'b'), ('1', 'c'), ('2', 'd'), ('3', 'e'), (None, 'f')] - - By default, ``None`` will be used to replace offsets beyond the end of the - sequence. Specify *fillvalue* to use some other value. - - """ - if len(iterables) != len(offsets): - raise ValueError("Number of iterables and offsets didn't match") - - staggered = [] - for it, n in zip(iterables, offsets): - if n < 0: - staggered.append(chain(repeat(fillvalue, -n), it)) - elif n > 0: - staggered.append(islice(it, n, None)) - else: - staggered.append(it) - - if longest: - return zip_longest(*staggered, fillvalue=fillvalue) - - return zip(*staggered) - - -def sort_together(iterables, key_list=(0,), reverse=False): - """Return the input iterables sorted together, with *key_list* as the - priority for sorting. All iterables are trimmed to the length of the - shortest one. - - This can be used like the sorting function in a spreadsheet. If each - iterable represents a column of data, the key list determines which - columns are used for sorting. - - By default, all iterables are sorted using the ``0``-th iterable:: - - >>> iterables = [(4, 3, 2, 1), ('a', 'b', 'c', 'd')] - >>> sort_together(iterables) - [(1, 2, 3, 4), ('d', 'c', 'b', 'a')] - - Set a different key list to sort according to another iterable. - Specifying multiple keys dictates how ties are broken:: - - >>> iterables = [(3, 1, 2), (0, 1, 0), ('c', 'b', 'a')] - >>> sort_together(iterables, key_list=(1, 2)) - [(2, 3, 1), (0, 0, 1), ('a', 'c', 'b')] - - Set *reverse* to ``True`` to sort in descending order. - - >>> sort_together([(1, 2, 3), ('c', 'b', 'a')], reverse=True) - [(3, 2, 1), ('a', 'b', 'c')] - - """ - return list(zip(*sorted(zip(*iterables), - key=itemgetter(*key_list), - reverse=reverse))) - - -def unzip(iterable): - """The inverse of :func:`zip`, this function disaggregates the elements - of the zipped *iterable*. - - The ``i``-th iterable contains the ``i``-th element from each element - of the zipped iterable. The first element is used to to determine the - length of the remaining elements. - - >>> iterable = [('a', 1), ('b', 2), ('c', 3), ('d', 4)] - >>> letters, numbers = unzip(iterable) - >>> list(letters) - ['a', 'b', 'c', 'd'] - >>> list(numbers) - [1, 2, 3, 4] - - This is similar to using ``zip(*iterable)``, but it avoids reading - *iterable* into memory. Note, however, that this function uses - :func:`itertools.tee` and thus may require significant storage. - - """ - head, iterable = spy(iter(iterable)) - if not head: - # empty iterable, e.g. zip([], [], []) - return () - # spy returns a one-length iterable as head - head = head[0] - iterables = tee(iterable, len(head)) - - def itemgetter(i): - def getter(obj): - try: - return obj[i] - except IndexError: - # basically if we have an iterable like - # iter([(1, 2, 3), (4, 5), (6,)]) - # the second unzipped iterable would fail at the third tuple - # since it would try to access tup[1] - # same with the third unzipped iterable and the second tuple - # to support these "improperly zipped" iterables, - # we create a custom itemgetter - # which just stops the unzipped iterables - # at first length mismatch - raise StopIteration - return getter - - return tuple(map(itemgetter(i), it) for i, it in enumerate(iterables)) - - -def divide(n, iterable): - """Divide the elements from *iterable* into *n* parts, maintaining - order. - - >>> group_1, group_2 = divide(2, [1, 2, 3, 4, 5, 6]) - >>> list(group_1) - [1, 2, 3] - >>> list(group_2) - [4, 5, 6] - - If the length of *iterable* is not evenly divisible by *n*, then the - length of the returned iterables will not be identical: - - >>> children = divide(3, [1, 2, 3, 4, 5, 6, 7]) - >>> [list(c) for c in children] - [[1, 2, 3], [4, 5], [6, 7]] - - If the length of the iterable is smaller than n, then the last returned - iterables will be empty: - - >>> children = divide(5, [1, 2, 3]) - >>> [list(c) for c in children] - [[1], [2], [3], [], []] - - This function will exhaust the iterable before returning and may require - significant storage. If order is not important, see :func:`distribute`, - which does not first pull the iterable into memory. - - """ - if n < 1: - raise ValueError('n must be at least 1') - - seq = tuple(iterable) - q, r = divmod(len(seq), n) - - ret = [] - for i in range(n): - start = (i * q) + (i if i < r else r) - stop = ((i + 1) * q) + (i + 1 if i + 1 < r else r) - ret.append(iter(seq[start:stop])) - - return ret - - -def always_iterable(obj, base_type=(str, bytes)): - """If *obj* is iterable, return an iterator over its items:: - - >>> obj = (1, 2, 3) - >>> list(always_iterable(obj)) - [1, 2, 3] - - If *obj* is not iterable, return a one-item iterable containing *obj*:: - - >>> obj = 1 - >>> list(always_iterable(obj)) - [1] - - If *obj* is ``None``, return an empty iterable: - - >>> obj = None - >>> list(always_iterable(None)) - [] - - By default, binary and text strings are not considered iterable:: - - >>> obj = 'foo' - >>> list(always_iterable(obj)) - ['foo'] - - If *base_type* is set, objects for which ``isinstance(obj, base_type)`` - returns ``True`` won't be considered iterable. - - >>> obj = {'a': 1} - >>> list(always_iterable(obj)) # Iterate over the dict's keys - ['a'] - >>> list(always_iterable(obj, base_type=dict)) # Treat dicts as a unit - [{'a': 1}] - - Set *base_type* to ``None`` to avoid any special handling and treat objects - Python considers iterable as iterable: - - >>> obj = 'foo' - >>> list(always_iterable(obj, base_type=None)) - ['f', 'o', 'o'] - """ - if obj is None: - return iter(()) - - if (base_type is not None) and isinstance(obj, base_type): - return iter((obj,)) - - try: - return iter(obj) - except TypeError: - return iter((obj,)) - - -def adjacent(predicate, iterable, distance=1): - """Return an iterable over `(bool, item)` tuples where the `item` is - drawn from *iterable* and the `bool` indicates whether - that item satisfies the *predicate* or is adjacent to an item that does. - - For example, to find whether items are adjacent to a ``3``:: - - >>> list(adjacent(lambda x: x == 3, range(6))) - [(False, 0), (False, 1), (True, 2), (True, 3), (True, 4), (False, 5)] - - Set *distance* to change what counts as adjacent. For example, to find - whether items are two places away from a ``3``: - - >>> list(adjacent(lambda x: x == 3, range(6), distance=2)) - [(False, 0), (True, 1), (True, 2), (True, 3), (True, 4), (True, 5)] - - This is useful for contextualizing the results of a search function. - For example, a code comparison tool might want to identify lines that - have changed, but also surrounding lines to give the viewer of the diff - context. - - The predicate function will only be called once for each item in the - iterable. - - See also :func:`groupby_transform`, which can be used with this function - to group ranges of items with the same `bool` value. - - """ - # Allow distance=0 mainly for testing that it reproduces results with map() - if distance < 0: - raise ValueError('distance must be at least 0') - - i1, i2 = tee(iterable) - padding = [False] * distance - selected = chain(padding, map(predicate, i1), padding) - adjacent_to_selected = map(any, windowed(selected, 2 * distance + 1)) - return zip(adjacent_to_selected, i2) - - -def groupby_transform(iterable, keyfunc=None, valuefunc=None): - """An extension of :func:`itertools.groupby` that transforms the values of - *iterable* after grouping them. - *keyfunc* is a function used to compute a grouping key for each item. - *valuefunc* is a function for transforming the items after grouping. - - >>> iterable = 'AaaABbBCcA' - >>> keyfunc = lambda x: x.upper() - >>> valuefunc = lambda x: x.lower() - >>> grouper = groupby_transform(iterable, keyfunc, valuefunc) - >>> [(k, ''.join(g)) for k, g in grouper] - [('A', 'aaaa'), ('B', 'bbb'), ('C', 'cc'), ('A', 'a')] - - *keyfunc* and *valuefunc* default to identity functions if they are not - specified. - - :func:`groupby_transform` is useful when grouping elements of an iterable - using a separate iterable as the key. To do this, :func:`zip` the iterables - and pass a *keyfunc* that extracts the first element and a *valuefunc* - that extracts the second element:: - - >>> from operator import itemgetter - >>> keys = [0, 0, 1, 1, 1, 2, 2, 2, 3] - >>> values = 'abcdefghi' - >>> iterable = zip(keys, values) - >>> grouper = groupby_transform(iterable, itemgetter(0), itemgetter(1)) - >>> [(k, ''.join(g)) for k, g in grouper] - [(0, 'ab'), (1, 'cde'), (2, 'fgh'), (3, 'i')] - - Note that the order of items in the iterable is significant. - Only adjacent items are grouped together, so if you don't want any - duplicate groups, you should sort the iterable by the key function. - - """ - valuefunc = (lambda x: x) if valuefunc is None else valuefunc - return ((k, map(valuefunc, g)) for k, g in groupby(iterable, keyfunc)) - - -def numeric_range(*args): - """An extension of the built-in ``range()`` function whose arguments can - be any orderable numeric type. - - With only *stop* specified, *start* defaults to ``0`` and *step* - defaults to ``1``. The output items will match the type of *stop*: - - >>> list(numeric_range(3.5)) - [0.0, 1.0, 2.0, 3.0] - - With only *start* and *stop* specified, *step* defaults to ``1``. The - output items will match the type of *start*: - - >>> from decimal import Decimal - >>> start = Decimal('2.1') - >>> stop = Decimal('5.1') - >>> list(numeric_range(start, stop)) - [Decimal('2.1'), Decimal('3.1'), Decimal('4.1')] - - With *start*, *stop*, and *step* specified the output items will match - the type of ``start + step``: - - >>> from fractions import Fraction - >>> start = Fraction(1, 2) # Start at 1/2 - >>> stop = Fraction(5, 2) # End at 5/2 - >>> step = Fraction(1, 2) # Count by 1/2 - >>> list(numeric_range(start, stop, step)) - [Fraction(1, 2), Fraction(1, 1), Fraction(3, 2), Fraction(2, 1)] - - If *step* is zero, ``ValueError`` is raised. Negative steps are supported: - - >>> list(numeric_range(3, -1, -1.0)) - [3.0, 2.0, 1.0, 0.0] - - Be aware of the limitations of floating point numbers; the representation - of the yielded numbers may be surprising. - - ``datetime.datetime`` objects can be used for *start* and *stop*, if *step* - is a ``datetime.timedelta`` object: - - >>> import datetime - >>> start = datetime.datetime(2019, 1, 1) - >>> stop = datetime.datetime(2019, 1, 3) - >>> step = datetime.timedelta(days=1) - >>> items = numeric_range(start, stop, step) - >>> next(items) - datetime.datetime(2019, 1, 1, 0, 0) - >>> next(items) - datetime.datetime(2019, 1, 2, 0, 0) - - """ - argc = len(args) - if argc == 1: - stop, = args - start = type(stop)(0) - step = 1 - elif argc == 2: - start, stop = args - step = 1 - elif argc == 3: - start, stop, step = args - else: - err_msg = 'numeric_range takes at most 3 arguments, got {}' - raise TypeError(err_msg.format(argc)) - - values = (start + (step * n) for n in count()) - zero = type(step)(0) - if step > zero: - return takewhile(partial(gt, stop), values) - elif step < zero: - return takewhile(partial(lt, stop), values) - else: - raise ValueError('numeric_range arg 3 must not be zero') - - -def count_cycle(iterable, n=None): - """Cycle through the items from *iterable* up to *n* times, yielding - the number of completed cycles along with each item. If *n* is omitted the - process repeats indefinitely. - - >>> list(count_cycle('AB', 3)) - [(0, 'A'), (0, 'B'), (1, 'A'), (1, 'B'), (2, 'A'), (2, 'B')] - - """ - iterable = tuple(iterable) - if not iterable: - return iter(()) - counter = count() if n is None else range(n) - return ((i, item) for i in counter for item in iterable) - - -def locate(iterable, pred=bool, window_size=None): - """Yield the index of each item in *iterable* for which *pred* returns - ``True``. - - *pred* defaults to :func:`bool`, which will select truthy items: - - >>> list(locate([0, 1, 1, 0, 1, 0, 0])) - [1, 2, 4] - - Set *pred* to a custom function to, e.g., find the indexes for a particular - item. - - >>> list(locate(['a', 'b', 'c', 'b'], lambda x: x == 'b')) - [1, 3] - - If *window_size* is given, then the *pred* function will be called with - that many items. This enables searching for sub-sequences: - - >>> iterable = [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3] - >>> pred = lambda *args: args == (1, 2, 3) - >>> list(locate(iterable, pred=pred, window_size=3)) - [1, 5, 9] - - Use with :func:`seekable` to find indexes and then retrieve the associated - items: - - >>> from itertools import count - >>> from more_itertools import seekable - >>> source = (3 * n + 1 if (n % 2) else n // 2 for n in count()) - >>> it = seekable(source) - >>> pred = lambda x: x > 100 - >>> indexes = locate(it, pred=pred) - >>> i = next(indexes) - >>> it.seek(i) - >>> next(it) - 106 - - """ - if window_size is None: - return compress(count(), map(pred, iterable)) - - if window_size < 1: - raise ValueError('window size must be at least 1') - - it = windowed(iterable, window_size, fillvalue=_marker) - return compress(count(), starmap(pred, it)) - - -def lstrip(iterable, pred): - """Yield the items from *iterable*, but strip any from the beginning - for which *pred* returns ``True``. - - For example, to remove a set of items from the start of an iterable: - - >>> iterable = (None, False, None, 1, 2, None, 3, False, None) - >>> pred = lambda x: x in {None, False, ''} - >>> list(lstrip(iterable, pred)) - [1, 2, None, 3, False, None] - - This function is analogous to to :func:`str.lstrip`, and is essentially - an wrapper for :func:`itertools.dropwhile`. - - """ - return dropwhile(pred, iterable) - - -def rstrip(iterable, pred): - """Yield the items from *iterable*, but strip any from the end - for which *pred* returns ``True``. - - For example, to remove a set of items from the end of an iterable: - - >>> iterable = (None, False, None, 1, 2, None, 3, False, None) - >>> pred = lambda x: x in {None, False, ''} - >>> list(rstrip(iterable, pred)) - [None, False, None, 1, 2, None, 3] - - This function is analogous to :func:`str.rstrip`. - - """ - cache = [] - cache_append = cache.append - cache_clear = cache.clear - for x in iterable: - if pred(x): - cache_append(x) - else: - yield from cache - cache_clear() - yield x - - -def strip(iterable, pred): - """Yield the items from *iterable*, but strip any from the - beginning and end for which *pred* returns ``True``. - - For example, to remove a set of items from both ends of an iterable: - - >>> iterable = (None, False, None, 1, 2, None, 3, False, None) - >>> pred = lambda x: x in {None, False, ''} - >>> list(strip(iterable, pred)) - [1, 2, None, 3] - - This function is analogous to :func:`str.strip`. - - """ - return rstrip(lstrip(iterable, pred), pred) - - -def islice_extended(iterable, *args): - """An extension of :func:`itertools.islice` that supports negative values - for *stop*, *start*, and *step*. - - >>> iterable = iter('abcdefgh') - >>> list(islice_extended(iterable, -4, -1)) - ['e', 'f', 'g'] - - Slices with negative values require some caching of *iterable*, but this - function takes care to minimize the amount of memory required. - - For example, you can use a negative step with an infinite iterator: - - >>> from itertools import count - >>> list(islice_extended(count(), 110, 99, -2)) - [110, 108, 106, 104, 102, 100] - - """ - s = slice(*args) - start = s.start - stop = s.stop - if s.step == 0: - raise ValueError('step argument must be a non-zero integer or None.') - step = s.step or 1 - - it = iter(iterable) - - if step > 0: - start = 0 if (start is None) else start - - if (start < 0): - # Consume all but the last -start items - cache = deque(enumerate(it, 1), maxlen=-start) - len_iter = cache[-1][0] if cache else 0 - - # Adjust start to be positive - i = max(len_iter + start, 0) - - # Adjust stop to be positive - if stop is None: - j = len_iter - elif stop >= 0: - j = min(stop, len_iter) - else: - j = max(len_iter + stop, 0) - - # Slice the cache - n = j - i - if n <= 0: - return - - for index, item in islice(cache, 0, n, step): - yield item - elif (stop is not None) and (stop < 0): - # Advance to the start position - next(islice(it, start, start), None) - - # When stop is negative, we have to carry -stop items while - # iterating - cache = deque(islice(it, -stop), maxlen=-stop) - - for index, item in enumerate(it): - cached_item = cache.popleft() - if index % step == 0: - yield cached_item - cache.append(item) - else: - # When both start and stop are positive we have the normal case - yield from islice(it, start, stop, step) - else: - start = -1 if (start is None) else start - - if (stop is not None) and (stop < 0): - # Consume all but the last items - n = -stop - 1 - cache = deque(enumerate(it, 1), maxlen=n) - len_iter = cache[-1][0] if cache else 0 - - # If start and stop are both negative they are comparable and - # we can just slice. Otherwise we can adjust start to be negative - # and then slice. - if start < 0: - i, j = start, stop - else: - i, j = min(start - len_iter, -1), None - - for index, item in list(cache)[i:j:step]: - yield item - else: - # Advance to the stop position - if stop is not None: - m = stop + 1 - next(islice(it, m, m), None) - - # stop is positive, so if start is negative they are not comparable - # and we need the rest of the items. - if start < 0: - i = start - n = None - # stop is None and start is positive, so we just need items up to - # the start index. - elif stop is None: - i = None - n = start + 1 - # Both stop and start are positive, so they are comparable. - else: - i = None - n = start - stop - if n <= 0: - return - - cache = list(islice(it, n)) - - yield from cache[i::step] - - -def always_reversible(iterable): - """An extension of :func:`reversed` that supports all iterables, not - just those which implement the ``Reversible`` or ``Sequence`` protocols. - - >>> print(*always_reversible(x for x in range(3))) - 2 1 0 - - If the iterable is already reversible, this function returns the - result of :func:`reversed()`. If the iterable is not reversible, - this function will cache the remaining items in the iterable and - yield them in reverse order, which may require significant storage. - """ - try: - return reversed(iterable) - except TypeError: - return reversed(list(iterable)) - - -def consecutive_groups(iterable, ordering=lambda x: x): - """Yield groups of consecutive items using :func:`itertools.groupby`. - The *ordering* function determines whether two items are adjacent by - returning their position. - - By default, the ordering function is the identity function. This is - suitable for finding runs of numbers: - - >>> iterable = [1, 10, 11, 12, 20, 30, 31, 32, 33, 40] - >>> for group in consecutive_groups(iterable): - ... print(list(group)) - [1] - [10, 11, 12] - [20] - [30, 31, 32, 33] - [40] - - For finding runs of adjacent letters, try using the :meth:`index` method - of a string of letters: - - >>> from string import ascii_lowercase - >>> iterable = 'abcdfgilmnop' - >>> ordering = ascii_lowercase.index - >>> for group in consecutive_groups(iterable, ordering): - ... print(list(group)) - ['a', 'b', 'c', 'd'] - ['f', 'g'] - ['i'] - ['l', 'm', 'n', 'o', 'p'] - - """ - for k, g in groupby( - enumerate(iterable), key=lambda x: x[0] - ordering(x[1]) - ): - yield map(itemgetter(1), g) - - -def difference(iterable, func=sub, *, initial=None): - """By default, compute the first difference of *iterable* using - :func:`operator.sub`. - - >>> iterable = [0, 1, 3, 6, 10] - >>> list(difference(iterable)) - [0, 1, 2, 3, 4] - - This is the opposite of :func:`itertools.accumulate`'s default behavior: - - >>> from itertools import accumulate - >>> iterable = [0, 1, 2, 3, 4] - >>> list(accumulate(iterable)) - [0, 1, 3, 6, 10] - >>> list(difference(accumulate(iterable))) - [0, 1, 2, 3, 4] - - By default *func* is :func:`operator.sub`, but other functions can be - specified. They will be applied as follows:: - - A, B, C, D, ... --> A, func(B, A), func(C, B), func(D, C), ... - - For example, to do progressive division: - - >>> iterable = [1, 2, 6, 24, 120] # Factorial sequence - >>> func = lambda x, y: x // y - >>> list(difference(iterable, func)) - [1, 2, 3, 4, 5] - - Since Python 3.8, :func:`itertools.accumulate` can be supplied with an - *initial* keyword argument. If :func:`difference` is called with *initial* - set to something other than ``None``, it will skip the first element when - computing successive differences. - - >>> iterable = [100, 101, 103, 106] # accumate([1, 2, 3], initial=100) - >>> list(difference(iterable, initial=100)) - [1, 2, 3] - - """ - a, b = tee(iterable) - try: - first = [next(b)] - except StopIteration: - return iter([]) - - if initial is not None: - first = [] - - return chain(first, map(lambda x: func(x[1], x[0]), zip(a, b))) - - -class SequenceView(Sequence): - """Return a read-only view of the sequence object *target*. - - :class:`SequenceView` objects are analogous to Python's built-in - "dictionary view" types. They provide a dynamic view of a sequence's items, - meaning that when the sequence updates, so does the view. - - >>> seq = ['0', '1', '2'] - >>> view = SequenceView(seq) - >>> view - SequenceView(['0', '1', '2']) - >>> seq.append('3') - >>> view - SequenceView(['0', '1', '2', '3']) - - Sequence views support indexing, slicing, and length queries. They act - like the underlying sequence, except they don't allow assignment: - - >>> view[1] - '1' - >>> view[1:-1] - ['1', '2'] - >>> len(view) - 4 - - Sequence views are useful as an alternative to copying, as they don't - require (much) extra storage. - - """ - def __init__(self, target): - if not isinstance(target, Sequence): - raise TypeError - self._target = target - - def __getitem__(self, index): - return self._target[index] - - def __len__(self): - return len(self._target) - - def __repr__(self): - return '{}({})'.format(self.__class__.__name__, repr(self._target)) - - -class seekable: - """Wrap an iterator to allow for seeking backward and forward. This - progressively caches the items in the source iterable so they can be - re-visited. - - Call :meth:`seek` with an index to seek to that position in the source - iterable. - - To "reset" an iterator, seek to ``0``: - - >>> from itertools import count - >>> it = seekable((str(n) for n in count())) - >>> next(it), next(it), next(it) - ('0', '1', '2') - >>> it.seek(0) - >>> next(it), next(it), next(it) - ('0', '1', '2') - >>> next(it) - '3' - - You can also seek forward: - - >>> it = seekable((str(n) for n in range(20))) - >>> it.seek(10) - >>> next(it) - '10' - >>> it.seek(20) # Seeking past the end of the source isn't a problem - >>> list(it) - [] - >>> it.seek(0) # Resetting works even after hitting the end - >>> next(it), next(it), next(it) - ('0', '1', '2') - - The cache grows as the source iterable progresses, so beware of wrapping - very large or infinite iterables. - - You may view the contents of the cache with the :meth:`elements` method. - That returns a :class:`SequenceView`, a view that updates automatically: - - >>> it = seekable((str(n) for n in range(10))) - >>> next(it), next(it), next(it) - ('0', '1', '2') - >>> elements = it.elements() - >>> elements - SequenceView(['0', '1', '2']) - >>> next(it) - '3' - >>> elements - SequenceView(['0', '1', '2', '3']) - - """ - - def __init__(self, iterable): - self._source = iter(iterable) - self._cache = [] - self._index = None - - def __iter__(self): - return self - - def __next__(self): - if self._index is not None: - try: - item = self._cache[self._index] - except IndexError: - self._index = None - else: - self._index += 1 - return item - - item = next(self._source) - self._cache.append(item) - return item - - def elements(self): - return SequenceView(self._cache) - - def seek(self, index): - self._index = index - remainder = index - len(self._cache) - if remainder > 0: - consume(self, remainder) - - -class run_length: - """ - :func:`run_length.encode` compresses an iterable with run-length encoding. - It yields groups of repeated items with the count of how many times they - were repeated: - - >>> uncompressed = 'abbcccdddd' - >>> list(run_length.encode(uncompressed)) - [('a', 1), ('b', 2), ('c', 3), ('d', 4)] - - :func:`run_length.decode` decompresses an iterable that was previously - compressed with run-length encoding. It yields the items of the - decompressed iterable: - - >>> compressed = [('a', 1), ('b', 2), ('c', 3), ('d', 4)] - >>> list(run_length.decode(compressed)) - ['a', 'b', 'b', 'c', 'c', 'c', 'd', 'd', 'd', 'd'] - - """ - - @staticmethod - def encode(iterable): - return ((k, ilen(g)) for k, g in groupby(iterable)) - - @staticmethod - def decode(iterable): - return chain.from_iterable(repeat(k, n) for k, n in iterable) - - -def exactly_n(iterable, n, predicate=bool): - """Return ``True`` if exactly ``n`` items in the iterable are ``True`` - according to the *predicate* function. - - >>> exactly_n([True, True, False], 2) - True - >>> exactly_n([True, True, False], 1) - False - >>> exactly_n([0, 1, 2, 3, 4, 5], 3, lambda x: x < 3) - True - - The iterable will be advanced until ``n + 1`` truthy items are encountered, - so avoid calling it on infinite iterables. - - """ - return len(take(n + 1, filter(predicate, iterable))) == n - - -def circular_shifts(iterable): - """Return a list of circular shifts of *iterable*. - - >>> circular_shifts(range(4)) - [(0, 1, 2, 3), (1, 2, 3, 0), (2, 3, 0, 1), (3, 0, 1, 2)] - """ - lst = list(iterable) - return take(len(lst), windowed(cycle(lst), len(lst))) - - -def make_decorator(wrapping_func, result_index=0): - """Return a decorator version of *wrapping_func*, which is a function that - modifies an iterable. *result_index* is the position in that function's - signature where the iterable goes. - - This lets you use itertools on the "production end," i.e. at function - definition. This can augment what the function returns without changing the - function's code. - - For example, to produce a decorator version of :func:`chunked`: - - >>> from more_itertools import chunked - >>> chunker = make_decorator(chunked, result_index=0) - >>> @chunker(3) - ... def iter_range(n): - ... return iter(range(n)) - ... - >>> list(iter_range(9)) - [[0, 1, 2], [3, 4, 5], [6, 7, 8]] - - To only allow truthy items to be returned: - - >>> truth_serum = make_decorator(filter, result_index=1) - >>> @truth_serum(bool) - ... def boolean_test(): - ... return [0, 1, '', ' ', False, True] - ... - >>> list(boolean_test()) - [1, ' ', True] - - The :func:`peekable` and :func:`seekable` wrappers make for practical - decorators: - - >>> from more_itertools import peekable - >>> peekable_function = make_decorator(peekable) - >>> @peekable_function() - ... def str_range(*args): - ... return (str(x) for x in range(*args)) - ... - >>> it = str_range(1, 20, 2) - >>> next(it), next(it), next(it) - ('1', '3', '5') - >>> it.peek() - '7' - >>> next(it) - '7' - - """ - # See https://sites.google.com/site/bbayles/index/decorator_factory for - # notes on how this works. - def decorator(*wrapping_args, **wrapping_kwargs): - def outer_wrapper(f): - def inner_wrapper(*args, **kwargs): - result = f(*args, **kwargs) - wrapping_args_ = list(wrapping_args) - wrapping_args_.insert(result_index, result) - return wrapping_func(*wrapping_args_, **wrapping_kwargs) - - return inner_wrapper - - return outer_wrapper - - return decorator - - -def map_reduce(iterable, keyfunc, valuefunc=None, reducefunc=None): - """Return a dictionary that maps the items in *iterable* to categories - defined by *keyfunc*, transforms them with *valuefunc*, and - then summarizes them by category with *reducefunc*. - - *valuefunc* defaults to the identity function if it is unspecified. - If *reducefunc* is unspecified, no summarization takes place: - - >>> keyfunc = lambda x: x.upper() - >>> result = map_reduce('abbccc', keyfunc) - >>> sorted(result.items()) - [('A', ['a']), ('B', ['b', 'b']), ('C', ['c', 'c', 'c'])] - - Specifying *valuefunc* transforms the categorized items: - - >>> keyfunc = lambda x: x.upper() - >>> valuefunc = lambda x: 1 - >>> result = map_reduce('abbccc', keyfunc, valuefunc) - >>> sorted(result.items()) - [('A', [1]), ('B', [1, 1]), ('C', [1, 1, 1])] - - Specifying *reducefunc* summarizes the categorized items: - - >>> keyfunc = lambda x: x.upper() - >>> valuefunc = lambda x: 1 - >>> reducefunc = sum - >>> result = map_reduce('abbccc', keyfunc, valuefunc, reducefunc) - >>> sorted(result.items()) - [('A', 1), ('B', 2), ('C', 3)] - - You may want to filter the input iterable before applying the map/reduce - procedure: - - >>> all_items = range(30) - >>> items = [x for x in all_items if 10 <= x <= 20] # Filter - >>> keyfunc = lambda x: x % 2 # Evens map to 0; odds to 1 - >>> categories = map_reduce(items, keyfunc=keyfunc) - >>> sorted(categories.items()) - [(0, [10, 12, 14, 16, 18, 20]), (1, [11, 13, 15, 17, 19])] - >>> summaries = map_reduce(items, keyfunc=keyfunc, reducefunc=sum) - >>> sorted(summaries.items()) - [(0, 90), (1, 75)] - - Note that all items in the iterable are gathered into a list before the - summarization step, which may require significant storage. - - The returned object is a :obj:`collections.defaultdict` with the - ``default_factory`` set to ``None``, such that it behaves like a normal - dictionary. - - """ - valuefunc = (lambda x: x) if (valuefunc is None) else valuefunc - - ret = defaultdict(list) - for item in iterable: - key = keyfunc(item) - value = valuefunc(item) - ret[key].append(value) - - if reducefunc is not None: - for key, value_list in ret.items(): - ret[key] = reducefunc(value_list) - - ret.default_factory = None - return ret - - -def rlocate(iterable, pred=bool, window_size=None): - """Yield the index of each item in *iterable* for which *pred* returns - ``True``, starting from the right and moving left. - - *pred* defaults to :func:`bool`, which will select truthy items: - - >>> list(rlocate([0, 1, 1, 0, 1, 0, 0])) # Truthy at 1, 2, and 4 - [4, 2, 1] - - Set *pred* to a custom function to, e.g., find the indexes for a particular - item: - - >>> iterable = iter('abcb') - >>> pred = lambda x: x == 'b' - >>> list(rlocate(iterable, pred)) - [3, 1] - - If *window_size* is given, then the *pred* function will be called with - that many items. This enables searching for sub-sequences: - - >>> iterable = [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3] - >>> pred = lambda *args: args == (1, 2, 3) - >>> list(rlocate(iterable, pred=pred, window_size=3)) - [9, 5, 1] - - Beware, this function won't return anything for infinite iterables. - If *iterable* is reversible, ``rlocate`` will reverse it and search from - the right. Otherwise, it will search from the left and return the results - in reverse order. - - See :func:`locate` to for other example applications. - - """ - if window_size is None: - try: - len_iter = len(iterable) - return ( - len_iter - i - 1 for i in locate(reversed(iterable), pred) - ) - except TypeError: - pass - - return reversed(list(locate(iterable, pred, window_size))) - - -def replace(iterable, pred, substitutes, count=None, window_size=1): - """Yield the items from *iterable*, replacing the items for which *pred* - returns ``True`` with the items from the iterable *substitutes*. - - >>> iterable = [1, 1, 0, 1, 1, 0, 1, 1] - >>> pred = lambda x: x == 0 - >>> substitutes = (2, 3) - >>> list(replace(iterable, pred, substitutes)) - [1, 1, 2, 3, 1, 1, 2, 3, 1, 1] - - If *count* is given, the number of replacements will be limited: - - >>> iterable = [1, 1, 0, 1, 1, 0, 1, 1, 0] - >>> pred = lambda x: x == 0 - >>> substitutes = [None] - >>> list(replace(iterable, pred, substitutes, count=2)) - [1, 1, None, 1, 1, None, 1, 1, 0] - - Use *window_size* to control the number of items passed as arguments to - *pred*. This allows for locating and replacing subsequences. - - >>> iterable = [0, 1, 2, 5, 0, 1, 2, 5] - >>> window_size = 3 - >>> pred = lambda *args: args == (0, 1, 2) # 3 items passed to pred - >>> substitutes = [3, 4] # Splice in these items - >>> list(replace(iterable, pred, substitutes, window_size=window_size)) - [3, 4, 5, 3, 4, 5] - - """ - if window_size < 1: - raise ValueError('window_size must be at least 1') - - # Save the substitutes iterable, since it's used more than once - substitutes = tuple(substitutes) - - # Add padding such that the number of windows matches the length of the - # iterable - it = chain(iterable, [_marker] * (window_size - 1)) - windows = windowed(it, window_size) - - n = 0 - for w in windows: - # If the current window matches our predicate (and we haven't hit - # our maximum number of replacements), splice in the substitutes - # and then consume the following windows that overlap with this one. - # For example, if the iterable is (0, 1, 2, 3, 4...) - # and the window size is 2, we have (0, 1), (1, 2), (2, 3)... - # If the predicate matches on (0, 1), we need to zap (0, 1) and (1, 2) - if pred(*w): - if (count is None) or (n < count): - n += 1 - yield from substitutes - consume(windows, window_size - 1) - continue - - # If there was no match (or we've reached the replacement limit), - # yield the first item from the window. - if w and (w[0] is not _marker): - yield w[0] - - -def partitions(iterable): - """Yield all possible order-perserving partitions of *iterable*. - - >>> iterable = 'abc' - >>> for part in partitions(iterable): - ... print([''.join(p) for p in part]) - ['abc'] - ['a', 'bc'] - ['ab', 'c'] - ['a', 'b', 'c'] - - This is unrelated to :func:`partition`. - - """ - sequence = list(iterable) - n = len(sequence) - for i in powerset(range(1, n)): - yield [sequence[i:j] for i, j in zip((0,) + i, i + (n,))] - - -def set_partitions(iterable, k=None): - """ - Yield the set partitions of *iterable* into *k* parts. Set partitions are - not order-preserving. - - >>> iterable = 'abc' - >>> for part in set_partitions(iterable, 2): - ... print([''.join(p) for p in part]) - ['a', 'bc'] - ['b', 'ac'] - ['c', 'ab'] - - - If *k* is not given, every set partition is generated. - - >>> iterable = 'abc' - >>> for part in set_partitions(iterable): - ... print([''.join(p) for p in part]) - ['abc'] - ['a', 'bc'] - ['b', 'ac'] - ['c', 'ab'] - ['a', 'b', 'c'] - - """ - iterable = tuple(iterable) - n = len(iterable) - - def less(a, b): - """Orders index tuples lexically""" - return (a < b) if (len(a) == len(b)) else (len(a) < len(b)) - - def part_inds(inds, k, prev): - """Generates set partitions by index""" - if (k <= 1) and (less(prev, inds)): - yield (inds,) - else: - for curr_part_size in range(1, len(inds)): - for curr_part in combinations(inds, curr_part_size): - nxt_part = tuple(i for i in inds if i not in curr_part) - if less(prev, curr_part): - for nxt_parts in part_inds(nxt_part, k - 1, curr_part): - yield (curr_part,) + nxt_parts - - def apply_selection(k): - """Creates partitions of iterable using index partitions""" - nonlocal iterable - nonlocal n - - for ind_parts in part_inds(range(n), k, ()): - yield tuple(tuple(iterable[i] for i in inds) for inds in ind_parts) - - if k is None: - for k in range(1, n + 1): - yield from apply_selection(k) - else: - yield from apply_selection(k) - - -def time_limited(limit_seconds, iterable): - """ - Yield items from *iterable* until *limit_seconds* have passed. - - >>> from time import sleep - >>> def generator(): - ... yield 1 - ... yield 2 - ... sleep(0.2) - ... yield 3 - >>> iterable = generator() - >>> list(time_limited(0.1, iterable)) - [1, 2] - - Note that the time is checked before each item is yielded, and iteration - stops if the time elapsed is greater than *limit_seconds*. If your time - limit is 1 second, but it takes 2 seconds to generate the first item from - the iterable, the function will run for 2 seconds and not yield anything. - - """ - if limit_seconds < 0: - raise ValueError('limit_seconds must be positive') - - start_time = monotonic() - for item in iterable: - if monotonic() - start_time > limit_seconds: - break - yield item - - -def only(iterable, default=None, too_long=None): - """If *iterable* has only one item, return it. - If it has zero items, return *default*. - If it has more than one item, raise the exception given by *too_long*, - which is ``ValueError`` by default. - - >>> only([], default='missing') - 'missing' - >>> only([1]) - 1 - >>> only([1, 2]) # doctest: +IGNORE_EXCEPTION_DETAIL - Traceback (most recent call last): - ... - ValueError: too many items in iterable (expected 1)' - >>> only([1, 2], too_long=TypeError) # doctest: +IGNORE_EXCEPTION_DETAIL - Traceback (most recent call last): - ... - TypeError - - Note that :func:`only` attempts to advance *iterable* twice to ensure there - is only one item. See :func:`spy` or :func:`peekable` to check - iterable contents less destructively. - """ - it = iter(iterable) - value = next(it, default) - - try: - next(it) - except StopIteration: - pass - else: - raise too_long or ValueError('too many items in iterable (expected 1)') - - return value - - -def ichunked(iterable, n): - """Break *iterable* into sub-iterables with *n* elements each. - :func:`ichunked` is like :func:`chunked`, but it yields iterables - instead of lists. - - If the sub-iterables are read in order, the elements of *iterable* - won't be stored in memory. - If they are read out of order, :func:`itertools.tee` is used to cache - elements as necessary. - - >>> from itertools import count - >>> all_chunks = ichunked(count(), 4) - >>> c_1, c_2, c_3 = next(all_chunks), next(all_chunks), next(all_chunks) - >>> list(c_2) # c_1's elements have been cached; c_3's haven't been - [4, 5, 6, 7] - >>> list(c_1) - [0, 1, 2, 3] - >>> list(c_3) - [8, 9, 10, 11] - - """ - source = iter(iterable) - - while True: - # Check to see whether we're at the end of the source iterable - item = next(source, _marker) - if item is _marker: - return - - # Clone the source and yield an n-length slice - source, it = tee(chain([item], source)) - yield islice(it, n) - - # Advance the source iterable - consume(source, n) - - -def distinct_combinations(iterable, r): - """Yield the distinct combinations of *r* items taken from *iterable*. - - >>> list(distinct_combinations([0, 0, 1], 2)) - [(0, 0), (0, 1)] - - Equivalent to ``set(combinations(iterable))``, except duplicates are not - generated and thrown away. For larger input sequences this is much more - efficient. - - """ - if r < 0: - raise ValueError('r must be non-negative') - elif r == 0: - yield () - else: - pool = tuple(iterable) - for i, prefix in unique_everseen(enumerate(pool), key=itemgetter(1)): - for suffix in distinct_combinations(pool[i + 1:], r - 1): - yield (prefix,) + suffix - - -def filter_except(validator, iterable, *exceptions): - """Yield the items from *iterable* for which the *validator* function does - not raise one of the specified *exceptions*. - - *validator* is called for each item in *iterable*. - It should be a function that accepts one argument and raises an exception - if that item is not valid. - - >>> iterable = ['1', '2', 'three', '4', None] - >>> list(filter_except(int, iterable, ValueError, TypeError)) - ['1', '2', '4'] - - If an exception other than one given by *exceptions* is raised by - *validator*, it is raised like normal. - """ - exceptions = tuple(exceptions) - for item in iterable: - try: - validator(item) - except exceptions: - pass - else: - yield item - - -def map_except(function, iterable, *exceptions): - """Transform each item from *iterable* with *function* and yield the - result, unless *function* raises one of the specified *exceptions*. - - *function* is called to transform each item in *iterable*. - It should be a accept one argument. - - >>> iterable = ['1', '2', 'three', '4', None] - >>> list(map_except(int, iterable, ValueError, TypeError)) - [1, 2, 4] - - If an exception other than one given by *exceptions* is raised by - *function*, it is raised like normal. - """ - exceptions = tuple(exceptions) - for item in iterable: - try: - yield function(item) - except exceptions: - pass diff --git a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/recipes.py b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/recipes.py deleted file mode 100644 index 4c9f03b..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/recipes.py +++ /dev/null @@ -1,571 +0,0 @@ -"""Imported from the recipes section of the itertools documentation. - -All functions taken from the recipes section of the itertools library docs -[1]_. -Some backward-compatible usability improvements have been made. - -.. [1] http://docs.python.org/library/itertools.html#recipes - -""" -import warnings -from collections import deque -from itertools import ( - chain, - combinations, - count, - cycle, - filterfalse, - groupby, - islice, - repeat, - starmap, - tee, - zip_longest, -) -import operator -from random import randrange, sample, choice - -__all__ = [ - 'all_equal', - 'consume', - 'dotproduct', - 'first_true', - 'flatten', - 'grouper', - 'iter_except', - 'ncycles', - 'nth', - 'nth_combination', - 'padnone', - 'pairwise', - 'partition', - 'powerset', - 'prepend', - 'quantify', - 'random_combination_with_replacement', - 'random_combination', - 'random_permutation', - 'random_product', - 'repeatfunc', - 'roundrobin', - 'tabulate', - 'tail', - 'take', - 'unique_everseen', - 'unique_justseen', -] - - -def take(n, iterable): - """Return first *n* items of the iterable as a list. - - >>> take(3, range(10)) - [0, 1, 2] - >>> take(5, range(3)) - [0, 1, 2] - - Effectively a short replacement for ``next`` based iterator consumption - when you want more than one item, but less than the whole iterator. - - """ - return list(islice(iterable, n)) - - -def tabulate(function, start=0): - """Return an iterator over the results of ``func(start)``, - ``func(start + 1)``, ``func(start + 2)``... - - *func* should be a function that accepts one integer argument. - - If *start* is not specified it defaults to 0. It will be incremented each - time the iterator is advanced. - - >>> square = lambda x: x ** 2 - >>> iterator = tabulate(square, -3) - >>> take(4, iterator) - [9, 4, 1, 0] - - """ - return map(function, count(start)) - - -def tail(n, iterable): - """Return an iterator over the last *n* items of *iterable*. - - >>> t = tail(3, 'ABCDEFG') - >>> list(t) - ['E', 'F', 'G'] - - """ - return iter(deque(iterable, maxlen=n)) - - -def consume(iterator, n=None): - """Advance *iterable* by *n* steps. If *n* is ``None``, consume it - entirely. - - Efficiently exhausts an iterator without returning values. Defaults to - consuming the whole iterator, but an optional second argument may be - provided to limit consumption. - - >>> i = (x for x in range(10)) - >>> next(i) - 0 - >>> consume(i, 3) - >>> next(i) - 4 - >>> consume(i) - >>> next(i) - Traceback (most recent call last): - File "", line 1, in - StopIteration - - If the iterator has fewer items remaining than the provided limit, the - whole iterator will be consumed. - - >>> i = (x for x in range(3)) - >>> consume(i, 5) - >>> next(i) - Traceback (most recent call last): - File "", line 1, in - StopIteration - - """ - # Use functions that consume iterators at C speed. - if n is None: - # feed the entire iterator into a zero-length deque - deque(iterator, maxlen=0) - else: - # advance to the empty slice starting at position n - next(islice(iterator, n, n), None) - - -def nth(iterable, n, default=None): - """Returns the nth item or a default value. - - >>> l = range(10) - >>> nth(l, 3) - 3 - >>> nth(l, 20, "zebra") - 'zebra' - - """ - return next(islice(iterable, n, None), default) - - -def all_equal(iterable): - """ - Returns ``True`` if all the elements are equal to each other. - - >>> all_equal('aaaa') - True - >>> all_equal('aaab') - False - - """ - g = groupby(iterable) - return next(g, True) and not next(g, False) - - -def quantify(iterable, pred=bool): - """Return the how many times the predicate is true. - - >>> quantify([True, False, True]) - 2 - - """ - return sum(map(pred, iterable)) - - -def padnone(iterable): - """Returns the sequence of elements and then returns ``None`` indefinitely. - - >>> take(5, padnone(range(3))) - [0, 1, 2, None, None] - - Useful for emulating the behavior of the built-in :func:`map` function. - - See also :func:`padded`. - - """ - return chain(iterable, repeat(None)) - - -def ncycles(iterable, n): - """Returns the sequence elements *n* times - - >>> list(ncycles(["a", "b"], 3)) - ['a', 'b', 'a', 'b', 'a', 'b'] - - """ - return chain.from_iterable(repeat(tuple(iterable), n)) - - -def dotproduct(vec1, vec2): - """Returns the dot product of the two iterables. - - >>> dotproduct([10, 10], [20, 20]) - 400 - - """ - return sum(map(operator.mul, vec1, vec2)) - - -def flatten(listOfLists): - """Return an iterator flattening one level of nesting in a list of lists. - - >>> list(flatten([[0, 1], [2, 3]])) - [0, 1, 2, 3] - - See also :func:`collapse`, which can flatten multiple levels of nesting. - - """ - return chain.from_iterable(listOfLists) - - -def repeatfunc(func, times=None, *args): - """Call *func* with *args* repeatedly, returning an iterable over the - results. - - If *times* is specified, the iterable will terminate after that many - repetitions: - - >>> from operator import add - >>> times = 4 - >>> args = 3, 5 - >>> list(repeatfunc(add, times, *args)) - [8, 8, 8, 8] - - If *times* is ``None`` the iterable will not terminate: - - >>> from random import randrange - >>> times = None - >>> args = 1, 11 - >>> take(6, repeatfunc(randrange, times, *args)) # doctest:+SKIP - [2, 4, 8, 1, 8, 4] - - """ - if times is None: - return starmap(func, repeat(args)) - return starmap(func, repeat(args, times)) - - -def pairwise(iterable): - """Returns an iterator of paired items, overlapping, from the original - - >>> take(4, pairwise(count())) - [(0, 1), (1, 2), (2, 3), (3, 4)] - - """ - a, b = tee(iterable) - next(b, None) - return zip(a, b) - - -def grouper(iterable, n, fillvalue=None): - """Collect data into fixed-length chunks or blocks. - - >>> list(grouper('ABCDEFG', 3, 'x')) - [('A', 'B', 'C'), ('D', 'E', 'F'), ('G', 'x', 'x')] - - """ - if isinstance(iterable, int): - warnings.warn( - "grouper expects iterable as first parameter", - DeprecationWarning, - ) - n, iterable = iterable, n - args = [iter(iterable)] * n - return zip_longest(fillvalue=fillvalue, *args) - - -def roundrobin(*iterables): - """Yields an item from each iterable, alternating between them. - - >>> list(roundrobin('ABC', 'D', 'EF')) - ['A', 'D', 'E', 'B', 'F', 'C'] - - This function produces the same output as :func:`interleave_longest`, but - may perform better for some inputs (in particular when the number of - iterables is small). - - """ - # Recipe credited to George Sakkis - pending = len(iterables) - nexts = cycle(iter(it).__next__ for it in iterables) - while pending: - try: - for next in nexts: - yield next() - except StopIteration: - pending -= 1 - nexts = cycle(islice(nexts, pending)) - - -def partition(pred, iterable): - """ - Returns a 2-tuple of iterables derived from the input iterable. - The first yields the items that have ``pred(item) == False``. - The second yields the items that have ``pred(item) == True``. - - >>> is_odd = lambda x: x % 2 != 0 - >>> iterable = range(10) - >>> even_items, odd_items = partition(is_odd, iterable) - >>> list(even_items), list(odd_items) - ([0, 2, 4, 6, 8], [1, 3, 5, 7, 9]) - - """ - # partition(is_odd, range(10)) --> 0 2 4 6 8 and 1 3 5 7 9 - t1, t2 = tee(iterable) - return filterfalse(pred, t1), filter(pred, t2) - - -def powerset(iterable): - """Yields all possible subsets of the iterable. - - >>> list(powerset([1, 2, 3])) - [(), (1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)] - - :func:`powerset` will operate on iterables that aren't :class:`set` - instances, so repeated elements in the input will produce repeated elements - in the output. Use :func:`unique_everseen` on the input to avoid generating - duplicates: - - >>> seq = [1, 1, 0] - >>> list(powerset(seq)) - [(), (1,), (1,), (0,), (1, 1), (1, 0), (1, 0), (1, 1, 0)] - >>> from more_itertools import unique_everseen - >>> list(powerset(unique_everseen(seq))) - [(), (1,), (0,), (1, 0)] - - """ - s = list(iterable) - return chain.from_iterable(combinations(s, r) for r in range(len(s) + 1)) - - -def unique_everseen(iterable, key=None): - """ - Yield unique elements, preserving order. - - >>> list(unique_everseen('AAAABBBCCDAABBB')) - ['A', 'B', 'C', 'D'] - >>> list(unique_everseen('ABBCcAD', str.lower)) - ['A', 'B', 'C', 'D'] - - Sequences with a mix of hashable and unhashable items can be used. - The function will be slower (i.e., `O(n^2)`) for unhashable items. - - Remember that ``list`` objects are unhashable - you can use the *key* - parameter to transform the list to a tuple (which is hashable) to - avoid a slowdown. - - >>> iterable = ([1, 2], [2, 3], [1, 2]) - >>> list(unique_everseen(iterable)) # Slow - [[1, 2], [2, 3]] - >>> list(unique_everseen(iterable, key=tuple)) # Faster - [[1, 2], [2, 3]] - - Similary, you may want to convert unhashable ``set`` objects with - ``key=frozenset``. For ``dict`` objects, - ``key=lambda x: frozenset(x.items())`` can be used. - - """ - seenset = set() - seenset_add = seenset.add - seenlist = [] - seenlist_add = seenlist.append - if key is None: - for element in iterable: - try: - if element not in seenset: - seenset_add(element) - yield element - except TypeError: - if element not in seenlist: - seenlist_add(element) - yield element - else: - for element in iterable: - k = key(element) - try: - if k not in seenset: - seenset_add(k) - yield element - except TypeError: - if k not in seenlist: - seenlist_add(k) - yield element - - -def unique_justseen(iterable, key=None): - """Yields elements in order, ignoring serial duplicates - - >>> list(unique_justseen('AAAABBBCCDAABBB')) - ['A', 'B', 'C', 'D', 'A', 'B'] - >>> list(unique_justseen('ABBCcAD', str.lower)) - ['A', 'B', 'C', 'A', 'D'] - - """ - return map(next, map(operator.itemgetter(1), groupby(iterable, key))) - - -def iter_except(func, exception, first=None): - """Yields results from a function repeatedly until an exception is raised. - - Converts a call-until-exception interface to an iterator interface. - Like ``iter(func, sentinel)``, but uses an exception instead of a sentinel - to end the loop. - - >>> l = [0, 1, 2] - >>> list(iter_except(l.pop, IndexError)) - [2, 1, 0] - - """ - try: - if first is not None: - yield first() - while 1: - yield func() - except exception: - pass - - -def first_true(iterable, default=None, pred=None): - """ - Returns the first true value in the iterable. - - If no true value is found, returns *default* - - If *pred* is not None, returns the first item for which - ``pred(item) == True`` . - - >>> first_true(range(10)) - 1 - >>> first_true(range(10), pred=lambda x: x > 5) - 6 - >>> first_true(range(10), default='missing', pred=lambda x: x > 9) - 'missing' - - """ - return next(filter(pred, iterable), default) - - -def random_product(*args, **kwds): - """Draw an item at random from each of the input iterables. - - >>> random_product('abc', range(4), 'XYZ') # doctest:+SKIP - ('c', 3, 'Z') - - If *repeat* is provided as a keyword argument, that many items will be - drawn from each iterable. - - >>> random_product('abcd', range(4), repeat=2) # doctest:+SKIP - ('a', 2, 'd', 3) - - This equivalent to taking a random selection from - ``itertools.product(*args, **kwarg)``. - - """ - pools = [tuple(pool) for pool in args] * kwds.get('repeat', 1) - return tuple(choice(pool) for pool in pools) - - -def random_permutation(iterable, r=None): - """Return a random *r* length permutation of the elements in *iterable*. - - If *r* is not specified or is ``None``, then *r* defaults to the length of - *iterable*. - - >>> random_permutation(range(5)) # doctest:+SKIP - (3, 4, 0, 1, 2) - - This equivalent to taking a random selection from - ``itertools.permutations(iterable, r)``. - - """ - pool = tuple(iterable) - r = len(pool) if r is None else r - return tuple(sample(pool, r)) - - -def random_combination(iterable, r): - """Return a random *r* length subsequence of the elements in *iterable*. - - >>> random_combination(range(5), 3) # doctest:+SKIP - (2, 3, 4) - - This equivalent to taking a random selection from - ``itertools.combinations(iterable, r)``. - - """ - pool = tuple(iterable) - n = len(pool) - indices = sorted(sample(range(n), r)) - return tuple(pool[i] for i in indices) - - -def random_combination_with_replacement(iterable, r): - """Return a random *r* length subsequence of elements in *iterable*, - allowing individual elements to be repeated. - - >>> random_combination_with_replacement(range(3), 5) # doctest:+SKIP - (0, 0, 1, 2, 2) - - This equivalent to taking a random selection from - ``itertools.combinations_with_replacement(iterable, r)``. - - """ - pool = tuple(iterable) - n = len(pool) - indices = sorted(randrange(n) for i in range(r)) - return tuple(pool[i] for i in indices) - - -def nth_combination(iterable, r, index): - """Equivalent to ``list(combinations(iterable, r))[index]``. - - The subsequences of *iterable* that are of length *r* can be ordered - lexicographically. :func:`nth_combination` computes the subsequence at - sort position *index* directly, without computing the previous - subsequences. - - """ - pool = tuple(iterable) - n = len(pool) - if (r < 0) or (r > n): - raise ValueError - - c = 1 - k = min(r, n - r) - for i in range(1, k + 1): - c = c * (n - k + i) // i - - if index < 0: - index += c - - if (index < 0) or (index >= c): - raise IndexError - - result = [] - while r: - c, n, r = c * r // n, n - 1, r - 1 - while index >= c: - index -= c - c, n = c * (n - r) // n, n - 1 - result.append(pool[-1 - n]) - - return tuple(result) - - -def prepend(value, iterator): - """Yield *value*, followed by the elements in *iterator*. - - >>> value = '0' - >>> iterator = ['1', '2', '3'] - >>> list(prepend(value, iterator)) - ['0', '1', '2', '3'] - - To prepend multiple values, see :func:`itertools.chain`. - - """ - return chain([value], iterator) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/tests/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/tests/test_more.py b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/tests/test_more.py deleted file mode 100644 index c4211d0..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/tests/test_more.py +++ /dev/null @@ -1,2699 +0,0 @@ -from collections import OrderedDict -from datetime import datetime, timedelta -from decimal import Decimal -from doctest import DocTestSuite -from fractions import Fraction -from functools import partial, reduce -from heapq import merge -from io import StringIO -from itertools import ( - accumulate, - chain, - combinations, - count, - groupby, - islice, - permutations, - product, - repeat, -) -from operator import add, mul, itemgetter, or_ -from sys import version_info -from time import sleep -from unittest import skipIf, TestCase - -import more_itertools as mi - - -def load_tests(loader, tests, ignore): - # Add the doctests - tests.addTests(DocTestSuite('more_itertools.more')) - return tests - - -class CollateTests(TestCase): - """Unit tests for ``collate()``""" - # Also accidentally tests peekable, though that could use its own tests - - def test_default(self): - """Test with the default `key` function.""" - iterables = [range(4), range(7), range(3, 6)] - self.assertEqual( - sorted(reduce(list.__add__, [list(it) for it in iterables])), - list(mi.collate(*iterables)) - ) - - def test_key(self): - """Test using a custom `key` function.""" - iterables = [range(5, 0, -1), range(4, 0, -1)] - actual = sorted( - reduce(list.__add__, [list(it) for it in iterables]), reverse=True - ) - expected = list(mi.collate(*iterables, key=lambda x: -x)) - self.assertEqual(actual, expected) - - def test_empty(self): - """Be nice if passed an empty list of iterables.""" - self.assertEqual([], list(mi.collate())) - - def test_one(self): - """Work when only 1 iterable is passed.""" - self.assertEqual([0, 1], list(mi.collate(range(2)))) - - def test_reverse(self): - """Test the `reverse` kwarg.""" - iterables = [range(4, 0, -1), range(7, 0, -1), range(3, 6, -1)] - - actual = sorted( - reduce(list.__add__, [list(it) for it in iterables]), reverse=True - ) - expected = list(mi.collate(*iterables, reverse=True)) - self.assertEqual(actual, expected) - - def test_alias(self): - self.assertNotEqual(merge.__doc__, mi.collate.__doc__) - self.assertNotEqual(partial.__doc__, mi.collate.__doc__) - - -class ChunkedTests(TestCase): - """Tests for ``chunked()``""" - - def test_even(self): - """Test when ``n`` divides evenly into the length of the iterable.""" - self.assertEqual( - list(mi.chunked('ABCDEF', 3)), [['A', 'B', 'C'], ['D', 'E', 'F']] - ) - - def test_odd(self): - """Test when ``n`` does not divide evenly into the length of the - iterable. - - """ - self.assertEqual( - list(mi.chunked('ABCDE', 3)), [['A', 'B', 'C'], ['D', 'E']] - ) - - -class FirstTests(TestCase): - """Tests for ``first()``""" - - def test_many(self): - """Test that it works on many-item iterables.""" - # Also try it on a generator expression to make sure it works on - # whatever those return, across Python versions. - self.assertEqual(mi.first(x for x in range(4)), 0) - - def test_one(self): - """Test that it doesn't raise StopIteration prematurely.""" - self.assertEqual(mi.first([3]), 3) - - def test_empty_stop_iteration(self): - """It should raise StopIteration for empty iterables.""" - self.assertRaises(ValueError, lambda: mi.first([])) - - def test_default(self): - """It should return the provided default arg for empty iterables.""" - self.assertEqual(mi.first([], 'boo'), 'boo') - - -class IterOnlyRange: - """User-defined iterable class which only support __iter__. - - >>> r = IterOnlyRange(5) - >>> r[0] - AttributeError: IterOnlyRange instance has no attribute '__getitem__' - - Note: In Python 3, ``TypeError`` will be raised because ``object`` is - inherited implicitly by default. - - >>> r[0] - TypeError: 'IterOnlyRange' object does not support indexing - """ - def __init__(self, n): - """Set the length of the range.""" - self.n = n - - def __iter__(self): - """Works same as range().""" - return iter(range(self.n)) - - -class LastTests(TestCase): - """Tests for ``last()``""" - - def test_many_nonsliceable(self): - """Test that it works on many-item non-slice-able iterables.""" - # Also try it on a generator expression to make sure it works on - # whatever those return, across Python versions. - self.assertEqual(mi.last(x for x in range(4)), 3) - - def test_one_nonsliceable(self): - """Test that it doesn't raise StopIteration prematurely.""" - self.assertEqual(mi.last(x for x in range(1)), 0) - - def test_empty_stop_iteration_nonsliceable(self): - """It should raise ValueError for empty non-slice-able iterables.""" - self.assertRaises(ValueError, lambda: mi.last(x for x in range(0))) - - def test_default_nonsliceable(self): - """It should return the provided default arg for empty non-slice-able - iterables. - """ - self.assertEqual(mi.last((x for x in range(0)), 'boo'), 'boo') - - def test_many_sliceable(self): - """Test that it works on many-item slice-able iterables.""" - self.assertEqual(mi.last([0, 1, 2, 3]), 3) - - def test_one_sliceable(self): - """Test that it doesn't raise StopIteration prematurely.""" - self.assertEqual(mi.last([3]), 3) - - def test_empty_stop_iteration_sliceable(self): - """It should raise ValueError for empty slice-able iterables.""" - self.assertRaises(ValueError, lambda: mi.last([])) - - def test_default_sliceable(self): - """It should return the provided default arg for empty slice-able - iterables. - """ - self.assertEqual(mi.last([], 'boo'), 'boo') - - def test_dict(self): - """last(dic) and last(dic.keys()) should return same result.""" - dic = {'a': 1, 'b': 2, 'c': 3} - self.assertEqual(mi.last(dic), mi.last(dic.keys())) - - def test_ordereddict(self): - """last(dic) should return the last key.""" - od = OrderedDict() - od['a'] = 1 - od['b'] = 2 - od['c'] = 3 - self.assertEqual(mi.last(od), 'c') - - def test_customrange(self): - """It should work on custom class where [] raises AttributeError.""" - self.assertEqual(mi.last(IterOnlyRange(5)), 4) - - -class PeekableTests(TestCase): - """Tests for ``peekable()`` behavor not incidentally covered by testing - ``collate()`` - - """ - def test_peek_default(self): - """Make sure passing a default into ``peek()`` works.""" - p = mi.peekable([]) - self.assertEqual(p.peek(7), 7) - - def test_truthiness(self): - """Make sure a ``peekable`` tests true iff there are items remaining in - the iterable. - - """ - p = mi.peekable([]) - self.assertFalse(p) - - p = mi.peekable(range(3)) - self.assertTrue(p) - - def test_simple_peeking(self): - """Make sure ``next`` and ``peek`` advance and don't advance the - iterator, respectively. - - """ - p = mi.peekable(range(10)) - self.assertEqual(next(p), 0) - self.assertEqual(p.peek(), 1) - self.assertEqual(next(p), 1) - - def test_indexing(self): - """ - Indexing into the peekable shouldn't advance the iterator. - """ - p = mi.peekable('abcdefghijkl') - - # The 0th index is what ``next()`` will return - self.assertEqual(p[0], 'a') - self.assertEqual(next(p), 'a') - - # Indexing further into the peekable shouldn't advance the itertor - self.assertEqual(p[2], 'd') - self.assertEqual(next(p), 'b') - - # The 0th index moves up with the iterator; the last index follows - self.assertEqual(p[0], 'c') - self.assertEqual(p[9], 'l') - - self.assertEqual(next(p), 'c') - self.assertEqual(p[8], 'l') - - # Negative indexing should work too - self.assertEqual(p[-2], 'k') - self.assertEqual(p[-9], 'd') - self.assertRaises(IndexError, lambda: p[-10]) - - def test_slicing(self): - """Slicing the peekable shouldn't advance the iterator.""" - seq = list('abcdefghijkl') - p = mi.peekable(seq) - - # Slicing the peekable should just be like slicing a re-iterable - self.assertEqual(p[1:4], seq[1:4]) - - # Advancing the iterator moves the slices up also - self.assertEqual(next(p), 'a') - self.assertEqual(p[1:4], seq[1:][1:4]) - - # Implicit starts and stop should work - self.assertEqual(p[:5], seq[1:][:5]) - self.assertEqual(p[:], seq[1:][:]) - - # Indexing past the end should work - self.assertEqual(p[:100], seq[1:][:100]) - - # Steps should work, including negative - self.assertEqual(p[::2], seq[1:][::2]) - self.assertEqual(p[::-1], seq[1:][::-1]) - - def test_slicing_reset(self): - """Test slicing on a fresh iterable each time""" - iterable = ['0', '1', '2', '3', '4', '5'] - indexes = list(range(-4, len(iterable) + 4)) + [None] - steps = [1, 2, 3, 4, -1, -2, -3, 4] - for slice_args in product(indexes, indexes, steps): - it = iter(iterable) - p = mi.peekable(it) - next(p) - index = slice(*slice_args) - actual = p[index] - expected = iterable[1:][index] - self.assertEqual(actual, expected, slice_args) - - def test_slicing_error(self): - iterable = '01234567' - p = mi.peekable(iter(iterable)) - - # Prime the cache - p.peek() - old_cache = list(p._cache) - - # Illegal slice - with self.assertRaises(ValueError): - p[1:-1:0] - - # Neither the cache nor the iteration should be affected - self.assertEqual(old_cache, list(p._cache)) - self.assertEqual(list(p), list(iterable)) - - def test_passthrough(self): - """Iterating a peekable without using ``peek()`` or ``prepend()`` - should just give the underlying iterable's elements (a trivial test but - useful to set a baseline in case something goes wrong)""" - expected = [1, 2, 3, 4, 5] - actual = list(mi.peekable(expected)) - self.assertEqual(actual, expected) - - # prepend() behavior tests - - def test_prepend(self): - """Tests intersperesed ``prepend()`` and ``next()`` calls""" - it = mi.peekable(range(2)) - actual = [] - - # Test prepend() before next() - it.prepend(10) - actual += [next(it), next(it)] - - # Test prepend() between next()s - it.prepend(11) - actual += [next(it), next(it)] - - # Test prepend() after source iterable is consumed - it.prepend(12) - actual += [next(it)] - - expected = [10, 0, 11, 1, 12] - self.assertEqual(actual, expected) - - def test_multi_prepend(self): - """Tests prepending multiple items and getting them in proper order""" - it = mi.peekable(range(5)) - actual = [next(it), next(it)] - it.prepend(10, 11, 12) - it.prepend(20, 21) - actual += list(it) - expected = [0, 1, 20, 21, 10, 11, 12, 2, 3, 4] - self.assertEqual(actual, expected) - - def test_empty(self): - """Tests prepending in front of an empty iterable""" - it = mi.peekable([]) - it.prepend(10) - actual = list(it) - expected = [10] - self.assertEqual(actual, expected) - - def test_prepend_truthiness(self): - """Tests that ``__bool__()`` or ``__nonzero__()`` works properly - with ``prepend()``""" - it = mi.peekable(range(5)) - self.assertTrue(it) - actual = list(it) - self.assertFalse(it) - it.prepend(10) - self.assertTrue(it) - actual += [next(it)] - self.assertFalse(it) - expected = [0, 1, 2, 3, 4, 10] - self.assertEqual(actual, expected) - - def test_multi_prepend_peek(self): - """Tests prepending multiple elements and getting them in reverse order - while peeking""" - it = mi.peekable(range(5)) - actual = [next(it), next(it)] - self.assertEqual(it.peek(), 2) - it.prepend(10, 11, 12) - self.assertEqual(it.peek(), 10) - it.prepend(20, 21) - self.assertEqual(it.peek(), 20) - actual += list(it) - self.assertFalse(it) - expected = [0, 1, 20, 21, 10, 11, 12, 2, 3, 4] - self.assertEqual(actual, expected) - - def test_prepend_after_stop(self): - """Test resuming iteration after a previous exhaustion""" - it = mi.peekable(range(3)) - self.assertEqual(list(it), [0, 1, 2]) - self.assertRaises(StopIteration, lambda: next(it)) - it.prepend(10) - self.assertEqual(next(it), 10) - self.assertRaises(StopIteration, lambda: next(it)) - - def test_prepend_slicing(self): - """Tests interaction between prepending and slicing""" - seq = list(range(20)) - p = mi.peekable(seq) - - p.prepend(30, 40, 50) - pseq = [30, 40, 50] + seq # pseq for prepended_seq - - # adapt the specific tests from test_slicing - self.assertEqual(p[0], 30) - self.assertEqual(p[1:8], pseq[1:8]) - self.assertEqual(p[1:], pseq[1:]) - self.assertEqual(p[:5], pseq[:5]) - self.assertEqual(p[:], pseq[:]) - self.assertEqual(p[:100], pseq[:100]) - self.assertEqual(p[::2], pseq[::2]) - self.assertEqual(p[::-1], pseq[::-1]) - - def test_prepend_indexing(self): - """Tests interaction between prepending and indexing""" - seq = list(range(20)) - p = mi.peekable(seq) - - p.prepend(30, 40, 50) - - self.assertEqual(p[0], 30) - self.assertEqual(next(p), 30) - self.assertEqual(p[2], 0) - self.assertEqual(next(p), 40) - self.assertEqual(p[0], 50) - self.assertEqual(p[9], 8) - self.assertEqual(next(p), 50) - self.assertEqual(p[8], 8) - self.assertEqual(p[-2], 18) - self.assertEqual(p[-9], 11) - self.assertRaises(IndexError, lambda: p[-21]) - - def test_prepend_iterable(self): - """Tests prepending from an iterable""" - it = mi.peekable(range(5)) - # Don't directly use the range() object to avoid any range-specific - # optimizations - it.prepend(*(x for x in range(5))) - actual = list(it) - expected = list(chain(range(5), range(5))) - self.assertEqual(actual, expected) - - def test_prepend_many(self): - """Tests that prepending a huge number of elements works""" - it = mi.peekable(range(5)) - # Don't directly use the range() object to avoid any range-specific - # optimizations - it.prepend(*(x for x in range(20000))) - actual = list(it) - expected = list(chain(range(20000), range(5))) - self.assertEqual(actual, expected) - - def test_prepend_reversed(self): - """Tests prepending from a reversed iterable""" - it = mi.peekable(range(3)) - it.prepend(*reversed((10, 11, 12))) - actual = list(it) - expected = [12, 11, 10, 0, 1, 2] - self.assertEqual(actual, expected) - - -class ConsumerTests(TestCase): - """Tests for ``consumer()``""" - - def test_consumer(self): - @mi.consumer - def eater(): - while True: - x = yield # noqa - - e = eater() - e.send('hi') # without @consumer, would raise TypeError - - -class DistinctPermutationsTests(TestCase): - def test_distinct_permutations(self): - """Make sure the output for ``distinct_permutations()`` is the same as - set(permutations(it)). - - """ - iterable = ['z', 'a', 'a', 'q', 'q', 'q', 'y'] - test_output = sorted(mi.distinct_permutations(iterable)) - ref_output = sorted(set(permutations(iterable))) - self.assertEqual(test_output, ref_output) - - def test_other_iterables(self): - """Make sure ``distinct_permutations()`` accepts a different type of - iterables. - - """ - # a generator - iterable = (c for c in ['z', 'a', 'a', 'q', 'q', 'q', 'y']) - test_output = sorted(mi.distinct_permutations(iterable)) - # "reload" it - iterable = (c for c in ['z', 'a', 'a', 'q', 'q', 'q', 'y']) - ref_output = sorted(set(permutations(iterable))) - self.assertEqual(test_output, ref_output) - - # an iterator - iterable = iter(['z', 'a', 'a', 'q', 'q', 'q', 'y']) - test_output = sorted(mi.distinct_permutations(iterable)) - # "reload" it - iterable = iter(['z', 'a', 'a', 'q', 'q', 'q', 'y']) - ref_output = sorted(set(permutations(iterable))) - self.assertEqual(test_output, ref_output) - - -class IlenTests(TestCase): - def test_ilen(self): - """Sanity-checks for ``ilen()``.""" - # Non-empty - self.assertEqual( - mi.ilen(filter(lambda x: x % 10 == 0, range(101))), 11 - ) - - # Empty - self.assertEqual(mi.ilen((x for x in range(0))), 0) - - # Iterable with __len__ - self.assertEqual(mi.ilen(list(range(6))), 6) - - -class WithIterTests(TestCase): - def test_with_iter(self): - s = StringIO('One fish\nTwo fish') - initial_words = [line.split()[0] for line in mi.with_iter(s)] - - # Iterable's items should be faithfully represented - self.assertEqual(initial_words, ['One', 'Two']) - # The file object should be closed - self.assertTrue(s.closed) - - -class OneTests(TestCase): - def test_basic(self): - it = iter(['item']) - self.assertEqual(mi.one(it), 'item') - - def test_too_short(self): - it = iter([]) - self.assertRaises(ValueError, lambda: mi.one(it)) - self.assertRaises(IndexError, lambda: mi.one(it, too_short=IndexError)) - - def test_too_long(self): - it = count() - self.assertRaises(ValueError, lambda: mi.one(it)) # burn 0 and 1 - self.assertEqual(next(it), 2) - self.assertRaises( - OverflowError, lambda: mi.one(it, too_long=OverflowError) - ) - - -class IntersperseTest(TestCase): - """ Tests for intersperse() """ - - def test_even(self): - iterable = (x for x in '01') - self.assertEqual( - list(mi.intersperse(None, iterable)), ['0', None, '1'] - ) - - def test_odd(self): - iterable = (x for x in '012') - self.assertEqual( - list(mi.intersperse(None, iterable)), ['0', None, '1', None, '2'] - ) - - def test_nested(self): - element = ('a', 'b') - iterable = (x for x in '012') - actual = list(mi.intersperse(element, iterable)) - expected = ['0', ('a', 'b'), '1', ('a', 'b'), '2'] - self.assertEqual(actual, expected) - - def test_not_iterable(self): - self.assertRaises(TypeError, lambda: mi.intersperse('x', 1)) - - def test_n(self): - for n, element, expected in [ - (1, '_', ['0', '_', '1', '_', '2', '_', '3', '_', '4', '_', '5']), - (2, '_', ['0', '1', '_', '2', '3', '_', '4', '5']), - (3, '_', ['0', '1', '2', '_', '3', '4', '5']), - (4, '_', ['0', '1', '2', '3', '_', '4', '5']), - (5, '_', ['0', '1', '2', '3', '4', '_', '5']), - (6, '_', ['0', '1', '2', '3', '4', '5']), - (7, '_', ['0', '1', '2', '3', '4', '5']), - (3, ['a', 'b'], ['0', '1', '2', ['a', 'b'], '3', '4', '5']), - ]: - iterable = (x for x in '012345') - actual = list(mi.intersperse(element, iterable, n=n)) - self.assertEqual(actual, expected) - - def test_n_zero(self): - self.assertRaises( - ValueError, lambda: list(mi.intersperse('x', '012', n=0)) - ) - - -class UniqueToEachTests(TestCase): - """Tests for ``unique_to_each()``""" - - def test_all_unique(self): - """When all the input iterables are unique the output should match - the input.""" - iterables = [[1, 2], [3, 4, 5], [6, 7, 8]] - self.assertEqual(mi.unique_to_each(*iterables), iterables) - - def test_duplicates(self): - """When there are duplicates in any of the input iterables that aren't - in the rest, those duplicates should be emitted.""" - iterables = ["mississippi", "missouri"] - self.assertEqual( - mi.unique_to_each(*iterables), [['p', 'p'], ['o', 'u', 'r']] - ) - - def test_mixed(self): - """When the input iterables contain different types the function should - still behave properly""" - iterables = ['x', (i for i in range(3)), [1, 2, 3], tuple()] - self.assertEqual(mi.unique_to_each(*iterables), [['x'], [0], [3], []]) - - -class WindowedTests(TestCase): - """Tests for ``windowed()``""" - - def test_basic(self): - actual = list(mi.windowed([1, 2, 3, 4, 5], 3)) - expected = [(1, 2, 3), (2, 3, 4), (3, 4, 5)] - self.assertEqual(actual, expected) - - def test_large_size(self): - """ - When the window size is larger than the iterable, and no fill value is - given,``None`` should be filled in. - """ - actual = list(mi.windowed([1, 2, 3, 4, 5], 6)) - expected = [(1, 2, 3, 4, 5, None)] - self.assertEqual(actual, expected) - - def test_fillvalue(self): - """ - When sizes don't match evenly, the given fill value should be used. - """ - iterable = [1, 2, 3, 4, 5] - - for n, kwargs, expected in [ - (6, {}, [(1, 2, 3, 4, 5, '!')]), # n > len(iterable) - (3, {'step': 3}, [(1, 2, 3), (4, 5, '!')]), # using ``step`` - ]: - actual = list(mi.windowed(iterable, n, fillvalue='!', **kwargs)) - self.assertEqual(actual, expected) - - def test_zero(self): - """When the window size is zero, an empty tuple should be emitted.""" - actual = list(mi.windowed([1, 2, 3, 4, 5], 0)) - expected = [tuple()] - self.assertEqual(actual, expected) - - def test_negative(self): - """When the window size is negative, ValueError should be raised.""" - with self.assertRaises(ValueError): - list(mi.windowed([1, 2, 3, 4, 5], -1)) - - def test_step(self): - """The window should advance by the number of steps provided""" - iterable = [1, 2, 3, 4, 5, 6, 7] - for n, step, expected in [ - (3, 2, [(1, 2, 3), (3, 4, 5), (5, 6, 7)]), # n > step - (3, 3, [(1, 2, 3), (4, 5, 6), (7, None, None)]), # n == step - (3, 4, [(1, 2, 3), (5, 6, 7)]), # line up nicely - (3, 5, [(1, 2, 3), (6, 7, None)]), # off by one - (3, 6, [(1, 2, 3), (7, None, None)]), # off by two - (3, 7, [(1, 2, 3)]), # step past the end - (7, 8, [(1, 2, 3, 4, 5, 6, 7)]), # step > len(iterable) - ]: - actual = list(mi.windowed(iterable, n, step=step)) - self.assertEqual(actual, expected) - - # Step must be greater than or equal to 1 - with self.assertRaises(ValueError): - list(mi.windowed(iterable, 3, step=0)) - - -class SubstringsTests(TestCase): - def test_basic(self): - iterable = (x for x in range(4)) - actual = list(mi.substrings(iterable)) - expected = [ - (0,), - (1,), - (2,), - (3,), - (0, 1), - (1, 2), - (2, 3), - (0, 1, 2), - (1, 2, 3), - (0, 1, 2, 3), - ] - self.assertEqual(actual, expected) - - def test_strings(self): - iterable = 'abc' - actual = list(mi.substrings(iterable)) - expected = [ - ('a',), ('b',), ('c',), ('a', 'b'), ('b', 'c'), ('a', 'b', 'c') - ] - self.assertEqual(actual, expected) - - def test_empty(self): - iterable = iter([]) - actual = list(mi.substrings(iterable)) - expected = [] - self.assertEqual(actual, expected) - - def test_order(self): - iterable = [2, 0, 1] - actual = list(mi.substrings(iterable)) - expected = [(2,), (0,), (1,), (2, 0), (0, 1), (2, 0, 1)] - self.assertEqual(actual, expected) - - -class SubstringsIndexesTests(TestCase): - def test_basic(self): - sequence = [x for x in range(4)] - actual = list(mi.substrings_indexes(sequence)) - expected = [ - ([0], 0, 1), - ([1], 1, 2), - ([2], 2, 3), - ([3], 3, 4), - ([0, 1], 0, 2), - ([1, 2], 1, 3), - ([2, 3], 2, 4), - ([0, 1, 2], 0, 3), - ([1, 2, 3], 1, 4), - ([0, 1, 2, 3], 0, 4), - ] - self.assertEqual(actual, expected) - - def test_strings(self): - sequence = 'abc' - actual = list(mi.substrings_indexes(sequence)) - expected = [ - ('a', 0, 1), - ('b', 1, 2), - ('c', 2, 3), - ('ab', 0, 2), - ('bc', 1, 3), - ('abc', 0, 3), - ] - self.assertEqual(actual, expected) - - def test_empty(self): - sequence = [] - actual = list(mi.substrings_indexes(sequence)) - expected = [] - self.assertEqual(actual, expected) - - def test_order(self): - sequence = [2, 0, 1] - actual = list(mi.substrings_indexes(sequence)) - expected = [ - ([2], 0, 1), - ([0], 1, 2), - ([1], 2, 3), - ([2, 0], 0, 2), - ([0, 1], 1, 3), - ([2, 0, 1], 0, 3), - ] - self.assertEqual(actual, expected) - - def test_reverse(self): - sequence = [2, 0, 1] - actual = list(mi.substrings_indexes(sequence, reverse=True)) - expected = [ - ([2, 0, 1], 0, 3), - ([2, 0], 0, 2), - ([0, 1], 1, 3), - ([2], 0, 1), - ([0], 1, 2), - ([1], 2, 3), - ] - self.assertEqual(actual, expected) - - -class BucketTests(TestCase): - """Tests for ``bucket()``""" - - def test_basic(self): - iterable = [10, 20, 30, 11, 21, 31, 12, 22, 23, 33] - D = mi.bucket(iterable, key=lambda x: 10 * (x // 10)) - - # In-order access - self.assertEqual(list(D[10]), [10, 11, 12]) - - # Out of order access - self.assertEqual(list(D[30]), [30, 31, 33]) - self.assertEqual(list(D[20]), [20, 21, 22, 23]) - - self.assertEqual(list(D[40]), []) # Nothing in here! - - def test_in(self): - iterable = [10, 20, 30, 11, 21, 31, 12, 22, 23, 33] - D = mi.bucket(iterable, key=lambda x: 10 * (x // 10)) - - self.assertIn(10, D) - self.assertNotIn(40, D) - self.assertIn(20, D) - self.assertNotIn(21, D) - - # Checking in-ness shouldn't advance the iterator - self.assertEqual(next(D[10]), 10) - - def test_validator(self): - iterable = count(0) - key = lambda x: int(str(x)[0]) # First digit of each number - validator = lambda x: 0 < x < 10 # No leading zeros - D = mi.bucket(iterable, key, validator=validator) - self.assertEqual(mi.take(3, D[1]), [1, 10, 11]) - self.assertNotIn(0, D) # Non-valid entries don't return True - self.assertNotIn(0, D._cache) # Don't store non-valid entries - self.assertEqual(list(D[0]), []) - - -class SpyTests(TestCase): - """Tests for ``spy()``""" - - def test_basic(self): - original_iterable = iter('abcdefg') - head, new_iterable = mi.spy(original_iterable) - self.assertEqual(head, ['a']) - self.assertEqual( - list(new_iterable), ['a', 'b', 'c', 'd', 'e', 'f', 'g'] - ) - - def test_unpacking(self): - original_iterable = iter('abcdefg') - (first, second, third), new_iterable = mi.spy(original_iterable, 3) - self.assertEqual(first, 'a') - self.assertEqual(second, 'b') - self.assertEqual(third, 'c') - self.assertEqual( - list(new_iterable), ['a', 'b', 'c', 'd', 'e', 'f', 'g'] - ) - - def test_too_many(self): - original_iterable = iter('abc') - head, new_iterable = mi.spy(original_iterable, 4) - self.assertEqual(head, ['a', 'b', 'c']) - self.assertEqual(list(new_iterable), ['a', 'b', 'c']) - - def test_zero(self): - original_iterable = iter('abc') - head, new_iterable = mi.spy(original_iterable, 0) - self.assertEqual(head, []) - self.assertEqual(list(new_iterable), ['a', 'b', 'c']) - - -class InterleaveTests(TestCase): - def test_even(self): - actual = list(mi.interleave([1, 4, 7], [2, 5, 8], [3, 6, 9])) - expected = [1, 2, 3, 4, 5, 6, 7, 8, 9] - self.assertEqual(actual, expected) - - def test_short(self): - actual = list(mi.interleave([1, 4], [2, 5, 7], [3, 6, 8])) - expected = [1, 2, 3, 4, 5, 6] - self.assertEqual(actual, expected) - - def test_mixed_types(self): - it_list = ['a', 'b', 'c', 'd'] - it_str = '12345' - it_inf = count() - actual = list(mi.interleave(it_list, it_str, it_inf)) - expected = ['a', '1', 0, 'b', '2', 1, 'c', '3', 2, 'd', '4', 3] - self.assertEqual(actual, expected) - - -class InterleaveLongestTests(TestCase): - def test_even(self): - actual = list(mi.interleave_longest([1, 4, 7], [2, 5, 8], [3, 6, 9])) - expected = [1, 2, 3, 4, 5, 6, 7, 8, 9] - self.assertEqual(actual, expected) - - def test_short(self): - actual = list(mi.interleave_longest([1, 4], [2, 5, 7], [3, 6, 8])) - expected = [1, 2, 3, 4, 5, 6, 7, 8] - self.assertEqual(actual, expected) - - def test_mixed_types(self): - it_list = ['a', 'b', 'c', 'd'] - it_str = '12345' - it_gen = (x for x in range(3)) - actual = list(mi.interleave_longest(it_list, it_str, it_gen)) - expected = ['a', '1', 0, 'b', '2', 1, 'c', '3', 2, 'd', '4', '5'] - self.assertEqual(actual, expected) - - -class TestCollapse(TestCase): - """Tests for ``collapse()``""" - - def test_collapse(self): - l = [[1], 2, [[3], 4], [[[5]]]] - self.assertEqual(list(mi.collapse(l)), [1, 2, 3, 4, 5]) - - def test_collapse_to_string(self): - l = [["s1"], "s2", [["s3"], "s4"], [[["s5"]]]] - self.assertEqual(list(mi.collapse(l)), ["s1", "s2", "s3", "s4", "s5"]) - - def test_collapse_to_bytes(self): - l = [[b"s1"], b"s2", [[b"s3"], b"s4"], [[[b"s5"]]]] - self.assertEqual( - list(mi.collapse(l)), [b"s1", b"s2", b"s3", b"s4", b"s5"] - ) - - def test_collapse_flatten(self): - l = [[1], [2], [[3], 4], [[[5]]]] - self.assertEqual(list(mi.collapse(l, levels=1)), list(mi.flatten(l))) - - def test_collapse_to_level(self): - l = [[1], 2, [[3], 4], [[[5]]]] - self.assertEqual(list(mi.collapse(l, levels=2)), [1, 2, 3, 4, [5]]) - self.assertEqual( - list(mi.collapse(mi.collapse(l, levels=1), levels=1)), - list(mi.collapse(l, levels=2)) - ) - - def test_collapse_to_list(self): - l = (1, [2], (3, [4, (5,)], 'ab')) - actual = list(mi.collapse(l, base_type=list)) - expected = [1, [2], 3, [4, (5,)], 'ab'] - self.assertEqual(actual, expected) - - -class SideEffectTests(TestCase): - """Tests for ``side_effect()``""" - - def test_individual(self): - # The function increments the counter for each call - counter = [0] - - def func(arg): - counter[0] += 1 - - result = list(mi.side_effect(func, range(10))) - self.assertEqual(result, list(range(10))) - self.assertEqual(counter[0], 10) - - def test_chunked(self): - # The function increments the counter for each call - counter = [0] - - def func(arg): - counter[0] += 1 - - result = list(mi.side_effect(func, range(10), 2)) - self.assertEqual(result, list(range(10))) - self.assertEqual(counter[0], 5) - - def test_before_after(self): - f = StringIO() - collector = [] - - def func(item): - print(item, file=f) - collector.append(f.getvalue()) - - def it(): - yield 'a' - yield 'b' - raise RuntimeError('kaboom') - - before = lambda: print('HEADER', file=f) - after = f.close - - try: - mi.consume(mi.side_effect(func, it(), before=before, after=after)) - except RuntimeError: - pass - - # The iterable should have been written to the file - self.assertEqual(collector, ['HEADER\na\n', 'HEADER\na\nb\n']) - - # The file should be closed even though something bad happened - self.assertTrue(f.closed) - - def test_before_fails(self): - f = StringIO() - func = lambda x: print(x, file=f) - - def before(): - raise RuntimeError('ouch') - - try: - mi.consume( - mi.side_effect(func, 'abc', before=before, after=f.close) - ) - except RuntimeError: - pass - - # The file should be closed even though something bad happened in the - # before function - self.assertTrue(f.closed) - - -class SlicedTests(TestCase): - """Tests for ``sliced()``""" - - def test_even(self): - """Test when the length of the sequence is divisible by *n*""" - seq = 'ABCDEFGHI' - self.assertEqual(list(mi.sliced(seq, 3)), ['ABC', 'DEF', 'GHI']) - - def test_odd(self): - """Test when the length of the sequence is not divisible by *n*""" - seq = 'ABCDEFGHI' - self.assertEqual(list(mi.sliced(seq, 4)), ['ABCD', 'EFGH', 'I']) - - def test_not_sliceable(self): - seq = (x for x in 'ABCDEFGHI') - - with self.assertRaises(TypeError): - list(mi.sliced(seq, 3)) - - -class SplitAtTests(TestCase): - """Tests for ``split()``""" - - def comp_with_str_split(self, str_to_split, delim): - pred = lambda c: c == delim - actual = list(map(''.join, mi.split_at(str_to_split, pred))) - expected = str_to_split.split(delim) - self.assertEqual(actual, expected) - - def test_seperators(self): - test_strs = ['', 'abcba', 'aaabbbcccddd', 'e'] - for s, delim in product(test_strs, 'abcd'): - self.comp_with_str_split(s, delim) - - -class SplitBeforeTest(TestCase): - """Tests for ``split_before()``""" - - def test_starts_with_sep(self): - actual = list(mi.split_before('xooxoo', lambda c: c == 'x')) - expected = [['x', 'o', 'o'], ['x', 'o', 'o']] - self.assertEqual(actual, expected) - - def test_ends_with_sep(self): - actual = list(mi.split_before('ooxoox', lambda c: c == 'x')) - expected = [['o', 'o'], ['x', 'o', 'o'], ['x']] - self.assertEqual(actual, expected) - - def test_no_sep(self): - actual = list(mi.split_before('ooo', lambda c: c == 'x')) - expected = [['o', 'o', 'o']] - self.assertEqual(actual, expected) - - -class SplitAfterTest(TestCase): - """Tests for ``split_after()``""" - - def test_starts_with_sep(self): - actual = list(mi.split_after('xooxoo', lambda c: c == 'x')) - expected = [['x'], ['o', 'o', 'x'], ['o', 'o']] - self.assertEqual(actual, expected) - - def test_ends_with_sep(self): - actual = list(mi.split_after('ooxoox', lambda c: c == 'x')) - expected = [['o', 'o', 'x'], ['o', 'o', 'x']] - self.assertEqual(actual, expected) - - def test_no_sep(self): - actual = list(mi.split_after('ooo', lambda c: c == 'x')) - expected = [['o', 'o', 'o']] - self.assertEqual(actual, expected) - - -class SplitIntoTests(TestCase): - """Tests for ``split_into()``""" - - def test_iterable_just_right(self): - """Size of ``iterable`` equals the sum of ``sizes``.""" - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9] - sizes = [2, 3, 4] - expected = [[1, 2], [3, 4, 5], [6, 7, 8, 9]] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_iterable_too_small(self): - """Size of ``iterable`` is smaller than sum of ``sizes``. Last return - list is shorter as a result.""" - iterable = [1, 2, 3, 4, 5, 6, 7] - sizes = [2, 3, 4] - expected = [[1, 2], [3, 4, 5], [6, 7]] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_iterable_too_small_extra(self): - """Size of ``iterable`` is smaller than sum of ``sizes``. Second last - return list is shorter and last return list is empty as a result.""" - iterable = [1, 2, 3, 4, 5, 6, 7] - sizes = [2, 3, 4, 5] - expected = [[1, 2], [3, 4, 5], [6, 7], []] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_iterable_too_large(self): - """Size of ``iterable`` is larger than sum of ``sizes``. Not all - items of iterable are returned.""" - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9] - sizes = [2, 3, 2] - expected = [[1, 2], [3, 4, 5], [6, 7]] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_using_none_with_leftover(self): - """Last item of ``sizes`` is None when items still remain in - ``iterable``. Last list returned stretches to fit all remaining items - of ``iterable``.""" - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9] - sizes = [2, 3, None] - expected = [[1, 2], [3, 4, 5], [6, 7, 8, 9]] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_using_none_without_leftover(self): - """Last item of ``sizes`` is None when no items remain in - ``iterable``. Last list returned is empty.""" - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9] - sizes = [2, 3, 4, None] - expected = [[1, 2], [3, 4, 5], [6, 7, 8, 9], []] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_using_none_mid_sizes(self): - """None is present in ``sizes`` but is not the last item. Last list - returned stretches to fit all remaining items of ``iterable`` but - all items in ``sizes`` after None are ignored.""" - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9] - sizes = [2, 3, None, 4] - expected = [[1, 2], [3, 4, 5], [6, 7, 8, 9]] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_iterable_empty(self): - """``iterable`` argument is empty but ``sizes`` is not. An empty - list is returned for each item in ``sizes``.""" - iterable = [] - sizes = [2, 4, 2] - expected = [[], [], []] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_iterable_empty_using_none(self): - """``iterable`` argument is empty but ``sizes`` is not. An empty - list is returned for each item in ``sizes`` that is not after a - None item.""" - iterable = [] - sizes = [2, 4, None, 2] - expected = [[], [], []] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_sizes_empty(self): - """``sizes`` argument is empty but ``iterable`` is not. An empty - generator is returned.""" - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9] - sizes = [] - expected = [] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_both_empty(self): - """Both ``sizes`` and ``iterable`` arguments are empty. An empty - generator is returned.""" - iterable = [] - sizes = [] - expected = [] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_bool_in_sizes(self): - """A bool object is present in ``sizes`` is treated as a 1 or 0 for - ``True`` or ``False`` due to bool being an instance of int.""" - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9] - sizes = [3, True, 2, False] - expected = [[1, 2, 3], [4], [5, 6], []] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_invalid_in_sizes(self): - """A ValueError is raised if an object in ``sizes`` is neither ``None`` - or an integer.""" - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9] - sizes = [1, [], 3] - with self.assertRaises(ValueError): - list(mi.split_into(iterable, sizes)) - - def test_invalid_in_sizes_after_none(self): - """A item in ``sizes`` that is invalid will not raise a TypeError if it - comes after a ``None`` item.""" - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9] - sizes = [3, 4, None, []] - expected = [[1, 2, 3], [4, 5, 6, 7], [8, 9]] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - def test_generator_iterable_integrity(self): - """Check that if ``iterable`` is an iterator, it is consumed only by as - many items as the sum of ``sizes``.""" - iterable = (i for i in range(10)) - sizes = [2, 3] - - expected = [[0, 1], [2, 3, 4]] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - iterable_expected = [5, 6, 7, 8, 9] - iterable_actual = list(iterable) - self.assertEqual(iterable_actual, iterable_expected) - - def test_generator_sizes_integrity(self): - """Check that if ``sizes`` is an iterator, it is consumed only until a - ``None`` item is reached""" - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9] - sizes = (i for i in [1, 2, None, 3, 4]) - - expected = [[1], [2, 3], [4, 5, 6, 7, 8, 9]] - actual = list(mi.split_into(iterable, sizes)) - self.assertEqual(actual, expected) - - sizes_expected = [3, 4] - sizes_actual = list(sizes) - self.assertEqual(sizes_actual, sizes_expected) - - -class PaddedTest(TestCase): - """Tests for ``padded()``""" - - def test_no_n(self): - seq = [1, 2, 3] - - # No fillvalue - self.assertEqual(mi.take(5, mi.padded(seq)), [1, 2, 3, None, None]) - - # With fillvalue - self.assertEqual( - mi.take(5, mi.padded(seq, fillvalue='')), [1, 2, 3, '', ''] - ) - - def test_invalid_n(self): - self.assertRaises(ValueError, lambda: list(mi.padded([1, 2, 3], n=-1))) - self.assertRaises(ValueError, lambda: list(mi.padded([1, 2, 3], n=0))) - - def test_valid_n(self): - seq = [1, 2, 3, 4, 5] - - # No need for padding: len(seq) <= n - self.assertEqual(list(mi.padded(seq, n=4)), [1, 2, 3, 4, 5]) - self.assertEqual(list(mi.padded(seq, n=5)), [1, 2, 3, 4, 5]) - - # No fillvalue - self.assertEqual( - list(mi.padded(seq, n=7)), [1, 2, 3, 4, 5, None, None] - ) - - # With fillvalue - self.assertEqual( - list(mi.padded(seq, fillvalue='', n=7)), [1, 2, 3, 4, 5, '', ''] - ) - - def test_next_multiple(self): - seq = [1, 2, 3, 4, 5, 6] - - # No need for padding: len(seq) % n == 0 - self.assertEqual( - list(mi.padded(seq, n=3, next_multiple=True)), [1, 2, 3, 4, 5, 6] - ) - - # Padding needed: len(seq) < n - self.assertEqual( - list(mi.padded(seq, n=8, next_multiple=True)), - [1, 2, 3, 4, 5, 6, None, None] - ) - - # No padding needed: len(seq) == n - self.assertEqual( - list(mi.padded(seq, n=6, next_multiple=True)), [1, 2, 3, 4, 5, 6] - ) - - # Padding needed: len(seq) > n - self.assertEqual( - list(mi.padded(seq, n=4, next_multiple=True)), - [1, 2, 3, 4, 5, 6, None, None] - ) - - # With fillvalue - self.assertEqual( - list(mi.padded(seq, fillvalue='', n=4, next_multiple=True)), - [1, 2, 3, 4, 5, 6, '', ''] - ) - - -class DistributeTest(TestCase): - """Tests for distribute()""" - - def test_invalid_n(self): - self.assertRaises(ValueError, lambda: mi.distribute(-1, [1, 2, 3])) - self.assertRaises(ValueError, lambda: mi.distribute(0, [1, 2, 3])) - - def test_basic(self): - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - - for n, expected in [ - (1, [iterable]), - (2, [[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]), - (3, [[1, 4, 7, 10], [2, 5, 8], [3, 6, 9]]), - (10, [[n] for n in range(1, 10 + 1)]), - ]: - self.assertEqual( - [list(x) for x in mi.distribute(n, iterable)], expected - ) - - def test_large_n(self): - iterable = [1, 2, 3, 4] - self.assertEqual( - [list(x) for x in mi.distribute(6, iterable)], - [[1], [2], [3], [4], [], []] - ) - - -class StaggerTest(TestCase): - """Tests for ``stagger()``""" - - def test_default(self): - iterable = [0, 1, 2, 3] - actual = list(mi.stagger(iterable)) - expected = [(None, 0, 1), (0, 1, 2), (1, 2, 3)] - self.assertEqual(actual, expected) - - def test_offsets(self): - iterable = [0, 1, 2, 3] - for offsets, expected in [ - ((-2, 0, 2), [('', 0, 2), ('', 1, 3)]), - ((-2, -1), [('', ''), ('', 0), (0, 1), (1, 2), (2, 3)]), - ((1, 2), [(1, 2), (2, 3)]), - ]: - all_groups = mi.stagger(iterable, offsets=offsets, fillvalue='') - self.assertEqual(list(all_groups), expected) - - def test_longest(self): - iterable = [0, 1, 2, 3] - for offsets, expected in [ - ( - (-1, 0, 1), - [('', 0, 1), (0, 1, 2), (1, 2, 3), (2, 3, ''), (3, '', '')] - ), - ((-2, -1), [('', ''), ('', 0), (0, 1), (1, 2), (2, 3), (3, '')]), - ((1, 2), [(1, 2), (2, 3), (3, '')]), - ]: - all_groups = mi.stagger( - iterable, offsets=offsets, fillvalue='', longest=True - ) - self.assertEqual(list(all_groups), expected) - - -class ZipOffsetTest(TestCase): - """Tests for ``zip_offset()``""" - - def test_shortest(self): - a_1 = [0, 1, 2, 3] - a_2 = [0, 1, 2, 3, 4, 5] - a_3 = [0, 1, 2, 3, 4, 5, 6, 7] - actual = list( - mi.zip_offset(a_1, a_2, a_3, offsets=(-1, 0, 1), fillvalue='') - ) - expected = [('', 0, 1), (0, 1, 2), (1, 2, 3), (2, 3, 4), (3, 4, 5)] - self.assertEqual(actual, expected) - - def test_longest(self): - a_1 = [0, 1, 2, 3] - a_2 = [0, 1, 2, 3, 4, 5] - a_3 = [0, 1, 2, 3, 4, 5, 6, 7] - actual = list( - mi.zip_offset(a_1, a_2, a_3, offsets=(-1, 0, 1), longest=True) - ) - expected = [ - (None, 0, 1), - (0, 1, 2), - (1, 2, 3), - (2, 3, 4), - (3, 4, 5), - (None, 5, 6), - (None, None, 7), - ] - self.assertEqual(actual, expected) - - def test_mismatch(self): - iterables = [0, 1, 2], [2, 3, 4] - offsets = (-1, 0, 1) - self.assertRaises( - ValueError, - lambda: list(mi.zip_offset(*iterables, offsets=offsets)) - ) - - -class UnzipTests(TestCase): - """Tests for unzip()""" - - def test_empty_iterable(self): - self.assertEqual(list(mi.unzip([])), []) - # in reality zip([], [], []) is equivalent to iter([]) - # but it doesn't hurt to test both - self.assertEqual(list(mi.unzip(zip([], [], []))), []) - - def test_length_one_iterable(self): - xs, ys, zs = mi.unzip(zip([1], [2], [3])) - self.assertEqual(list(xs), [1]) - self.assertEqual(list(ys), [2]) - self.assertEqual(list(zs), [3]) - - def test_normal_case(self): - xs, ys, zs = range(10), range(1, 11), range(2, 12) - zipped = zip(xs, ys, zs) - xs, ys, zs = mi.unzip(zipped) - self.assertEqual(list(xs), list(range(10))) - self.assertEqual(list(ys), list(range(1, 11))) - self.assertEqual(list(zs), list(range(2, 12))) - - def test_improperly_zipped(self): - zipped = iter([(1, 2, 3), (4, 5), (6,)]) - xs, ys, zs = mi.unzip(zipped) - self.assertEqual(list(xs), [1, 4, 6]) - self.assertEqual(list(ys), [2, 5]) - self.assertEqual(list(zs), [3]) - - def test_increasingly_zipped(self): - zipped = iter([(1, 2), (3, 4, 5), (6, 7, 8, 9)]) - unzipped = mi.unzip(zipped) - # from the docstring: - # len(first tuple) is the number of iterables zipped - self.assertEqual(len(unzipped), 2) - xs, ys = unzipped - self.assertEqual(list(xs), [1, 3, 6]) - self.assertEqual(list(ys), [2, 4, 7]) - - -class SortTogetherTest(TestCase): - """Tests for sort_together()""" - - def test_key_list(self): - """tests `key_list` including default, iterables include duplicates""" - iterables = [ - ['GA', 'GA', 'GA', 'CT', 'CT', 'CT'], - ['May', 'Aug.', 'May', 'June', 'July', 'July'], - [97, 20, 100, 70, 100, 20] - ] - - self.assertEqual( - mi.sort_together(iterables), - [ - ('CT', 'CT', 'CT', 'GA', 'GA', 'GA'), - ('June', 'July', 'July', 'May', 'Aug.', 'May'), - (70, 100, 20, 97, 20, 100) - ] - ) - - self.assertEqual( - mi.sort_together(iterables, key_list=(0, 1)), - [ - ('CT', 'CT', 'CT', 'GA', 'GA', 'GA'), - ('July', 'July', 'June', 'Aug.', 'May', 'May'), - (100, 20, 70, 20, 97, 100) - ] - ) - - self.assertEqual( - mi.sort_together(iterables, key_list=(0, 1, 2)), - [ - ('CT', 'CT', 'CT', 'GA', 'GA', 'GA'), - ('July', 'July', 'June', 'Aug.', 'May', 'May'), - (20, 100, 70, 20, 97, 100) - ] - ) - - self.assertEqual( - mi.sort_together(iterables, key_list=(2,)), - [ - ('GA', 'CT', 'CT', 'GA', 'GA', 'CT'), - ('Aug.', 'July', 'June', 'May', 'May', 'July'), - (20, 20, 70, 97, 100, 100) - ] - ) - - def test_invalid_key_list(self): - """tests `key_list` for indexes not available in `iterables`""" - iterables = [ - ['GA', 'GA', 'GA', 'CT', 'CT', 'CT'], - ['May', 'Aug.', 'May', 'June', 'July', 'July'], - [97, 20, 100, 70, 100, 20] - ] - - self.assertRaises( - IndexError, lambda: mi.sort_together(iterables, key_list=(5,)) - ) - - def test_reverse(self): - """tests `reverse` to ensure a reverse sort for `key_list` iterables""" - iterables = [ - ['GA', 'GA', 'GA', 'CT', 'CT', 'CT'], - ['May', 'Aug.', 'May', 'June', 'July', 'July'], - [97, 20, 100, 70, 100, 20] - ] - - self.assertEqual( - mi.sort_together(iterables, key_list=(0, 1, 2), reverse=True), - [('GA', 'GA', 'GA', 'CT', 'CT', 'CT'), - ('May', 'May', 'Aug.', 'June', 'July', 'July'), - (100, 97, 20, 70, 100, 20)] - ) - - def test_uneven_iterables(self): - """tests trimming of iterables to the shortest length before sorting""" - iterables = [['GA', 'GA', 'GA', 'CT', 'CT', 'CT', 'MA'], - ['May', 'Aug.', 'May', 'June', 'July', 'July'], - [97, 20, 100, 70, 100, 20, 0]] - - self.assertEqual( - mi.sort_together(iterables), - [ - ('CT', 'CT', 'CT', 'GA', 'GA', 'GA'), - ('June', 'July', 'July', 'May', 'Aug.', 'May'), - (70, 100, 20, 97, 20, 100) - ] - ) - - -class DivideTest(TestCase): - """Tests for divide()""" - - def test_invalid_n(self): - self.assertRaises(ValueError, lambda: mi.divide(-1, [1, 2, 3])) - self.assertRaises(ValueError, lambda: mi.divide(0, [1, 2, 3])) - - def test_basic(self): - iterable = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - - for n, expected in [ - (1, [iterable]), - (2, [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]), - (3, [[1, 2, 3, 4], [5, 6, 7], [8, 9, 10]]), - (10, [[n] for n in range(1, 10 + 1)]), - ]: - self.assertEqual( - [list(x) for x in mi.divide(n, iterable)], expected - ) - - def test_large_n(self): - iterable = [1, 2, 3, 4] - self.assertEqual( - [list(x) for x in mi.divide(6, iterable)], - [[1], [2], [3], [4], [], []] - ) - - -class TestAlwaysIterable(TestCase): - """Tests for always_iterable()""" - def test_single(self): - self.assertEqual(list(mi.always_iterable(1)), [1]) - - def test_strings(self): - for obj in ['foo', b'bar', 'baz']: - actual = list(mi.always_iterable(obj)) - expected = [obj] - self.assertEqual(actual, expected) - - def test_base_type(self): - dict_obj = {'a': 1, 'b': 2} - str_obj = '123' - - # Default: dicts are iterable like they normally are - default_actual = list(mi.always_iterable(dict_obj)) - default_expected = list(dict_obj) - self.assertEqual(default_actual, default_expected) - - # Unitary types set: dicts are not iterable - custom_actual = list(mi.always_iterable(dict_obj, base_type=dict)) - custom_expected = [dict_obj] - self.assertEqual(custom_actual, custom_expected) - - # With unitary types set, strings are iterable - str_actual = list(mi.always_iterable(str_obj, base_type=None)) - str_expected = list(str_obj) - self.assertEqual(str_actual, str_expected) - - def test_iterables(self): - self.assertEqual(list(mi.always_iterable([0, 1])), [0, 1]) - self.assertEqual( - list(mi.always_iterable([0, 1], base_type=list)), [[0, 1]] - ) - self.assertEqual( - list(mi.always_iterable(iter('foo'))), ['f', 'o', 'o'] - ) - self.assertEqual(list(mi.always_iterable([])), []) - - def test_none(self): - self.assertEqual(list(mi.always_iterable(None)), []) - - def test_generator(self): - def _gen(): - yield 0 - yield 1 - - self.assertEqual(list(mi.always_iterable(_gen())), [0, 1]) - - -class AdjacentTests(TestCase): - def test_typical(self): - actual = list(mi.adjacent(lambda x: x % 5 == 0, range(10))) - expected = [(True, 0), (True, 1), (False, 2), (False, 3), (True, 4), - (True, 5), (True, 6), (False, 7), (False, 8), (False, 9)] - self.assertEqual(actual, expected) - - def test_empty_iterable(self): - actual = list(mi.adjacent(lambda x: x % 5 == 0, [])) - expected = [] - self.assertEqual(actual, expected) - - def test_length_one(self): - actual = list(mi.adjacent(lambda x: x % 5 == 0, [0])) - expected = [(True, 0)] - self.assertEqual(actual, expected) - - actual = list(mi.adjacent(lambda x: x % 5 == 0, [1])) - expected = [(False, 1)] - self.assertEqual(actual, expected) - - def test_consecutive_true(self): - """Test that when the predicate matches multiple consecutive elements - it doesn't repeat elements in the output""" - actual = list(mi.adjacent(lambda x: x % 5 < 2, range(10))) - expected = [(True, 0), (True, 1), (True, 2), (False, 3), (True, 4), - (True, 5), (True, 6), (True, 7), (False, 8), (False, 9)] - self.assertEqual(actual, expected) - - def test_distance(self): - actual = list(mi.adjacent(lambda x: x % 5 == 0, range(10), distance=2)) - expected = [(True, 0), (True, 1), (True, 2), (True, 3), (True, 4), - (True, 5), (True, 6), (True, 7), (False, 8), (False, 9)] - self.assertEqual(actual, expected) - - actual = list(mi.adjacent(lambda x: x % 5 == 0, range(10), distance=3)) - expected = [(True, 0), (True, 1), (True, 2), (True, 3), (True, 4), - (True, 5), (True, 6), (True, 7), (True, 8), (False, 9)] - self.assertEqual(actual, expected) - - def test_large_distance(self): - """Test distance larger than the length of the iterable""" - iterable = range(10) - actual = list(mi.adjacent(lambda x: x % 5 == 4, iterable, distance=20)) - expected = list(zip(repeat(True), iterable)) - self.assertEqual(actual, expected) - - actual = list(mi.adjacent(lambda x: False, iterable, distance=20)) - expected = list(zip(repeat(False), iterable)) - self.assertEqual(actual, expected) - - def test_zero_distance(self): - """Test that adjacent() reduces to zip+map when distance is 0""" - iterable = range(1000) - predicate = lambda x: x % 4 == 2 - actual = mi.adjacent(predicate, iterable, 0) - expected = zip(map(predicate, iterable), iterable) - self.assertTrue(all(a == e for a, e in zip(actual, expected))) - - def test_negative_distance(self): - """Test that adjacent() raises an error with negative distance""" - pred = lambda x: x - self.assertRaises( - ValueError, lambda: mi.adjacent(pred, range(1000), -1) - ) - self.assertRaises( - ValueError, lambda: mi.adjacent(pred, range(10), -10) - ) - - def test_grouping(self): - """Test interaction of adjacent() with groupby_transform()""" - iterable = mi.adjacent(lambda x: x % 5 == 0, range(10)) - grouper = mi.groupby_transform(iterable, itemgetter(0), itemgetter(1)) - actual = [(k, list(g)) for k, g in grouper] - expected = [ - (True, [0, 1]), - (False, [2, 3]), - (True, [4, 5, 6]), - (False, [7, 8, 9]), - ] - self.assertEqual(actual, expected) - - def test_call_once(self): - """Test that the predicate is only called once per item.""" - already_seen = set() - iterable = range(10) - - def predicate(item): - self.assertNotIn(item, already_seen) - already_seen.add(item) - return True - - actual = list(mi.adjacent(predicate, iterable)) - expected = [(True, x) for x in iterable] - self.assertEqual(actual, expected) - - -class GroupByTransformTests(TestCase): - def assertAllGroupsEqual(self, groupby1, groupby2): - """Compare two groupby objects for equality, both keys and groups.""" - for a, b in zip(groupby1, groupby2): - key1, group1 = a - key2, group2 = b - self.assertEqual(key1, key2) - self.assertListEqual(list(group1), list(group2)) - self.assertRaises(StopIteration, lambda: next(groupby1)) - self.assertRaises(StopIteration, lambda: next(groupby2)) - - def test_default_funcs(self): - """Test that groupby_transform() with default args mimics groupby()""" - iterable = [(x // 5, x) for x in range(1000)] - actual = mi.groupby_transform(iterable) - expected = groupby(iterable) - self.assertAllGroupsEqual(actual, expected) - - def test_valuefunc(self): - iterable = [(int(x / 5), int(x / 3), x) for x in range(10)] - - # Test the standard usage of grouping one iterable using another's keys - grouper = mi.groupby_transform( - iterable, keyfunc=itemgetter(0), valuefunc=itemgetter(-1) - ) - actual = [(k, list(g)) for k, g in grouper] - expected = [(0, [0, 1, 2, 3, 4]), (1, [5, 6, 7, 8, 9])] - self.assertEqual(actual, expected) - - grouper = mi.groupby_transform( - iterable, keyfunc=itemgetter(1), valuefunc=itemgetter(-1) - ) - actual = [(k, list(g)) for k, g in grouper] - expected = [(0, [0, 1, 2]), (1, [3, 4, 5]), (2, [6, 7, 8]), (3, [9])] - self.assertEqual(actual, expected) - - # and now for something a little different - d = dict(zip(range(10), 'abcdefghij')) - grouper = mi.groupby_transform( - range(10), keyfunc=lambda x: x // 5, valuefunc=d.get - ) - actual = [(k, ''.join(g)) for k, g in grouper] - expected = [(0, 'abcde'), (1, 'fghij')] - self.assertEqual(actual, expected) - - def test_no_valuefunc(self): - iterable = range(1000) - - def key(x): - return x // 5 - - actual = mi.groupby_transform(iterable, key, valuefunc=None) - expected = groupby(iterable, key) - self.assertAllGroupsEqual(actual, expected) - - actual = mi.groupby_transform(iterable, key) # default valuefunc - expected = groupby(iterable, key) - self.assertAllGroupsEqual(actual, expected) - - -class NumericRangeTests(TestCase): - def test_basic(self): - for args, expected in [ - ((4,), [0, 1, 2, 3]), - ((4.0,), [0.0, 1.0, 2.0, 3.0]), - ((1.0, 4), [1.0, 2.0, 3.0]), - ((1, 4.0), [1, 2, 3]), - ((1.0, 5), [1.0, 2.0, 3.0, 4.0]), - ((0, 20, 5), [0, 5, 10, 15]), - ((0, 20, 5.0), [0.0, 5.0, 10.0, 15.0]), - ((0, 10, 3), [0, 3, 6, 9]), - ((0, 10, 3.0), [0.0, 3.0, 6.0, 9.0]), - ((0, -5, -1), [0, -1, -2, -3, -4]), - ((0.0, -5, -1), [0.0, -1.0, -2.0, -3.0, -4.0]), - ((1, 2, Fraction(1, 2)), [Fraction(1, 1), Fraction(3, 2)]), - ((0,), []), - ((0.0,), []), - ((1, 0), []), - ((1.0, 0.0), []), - ((Fraction(2, 1),), [Fraction(0, 1), Fraction(1, 1)]), - ((Decimal('2.0'),), [Decimal('0.0'), Decimal('1.0')]), - ( - ( - datetime(2019, 3, 29, 12, 34, 56), - datetime(2019, 3, 29, 12, 37, 55), - timedelta(minutes=1) - ), - [ - datetime(2019, 3, 29, 12, 34, 56), - datetime(2019, 3, 29, 12, 35, 56), - datetime(2019, 3, 29, 12, 36, 56), - ] - ), - ]: - actual = list(mi.numeric_range(*args)) - self.assertEqual(actual, expected) - self.assertTrue( - all(type(a) == type(e) for a, e in zip(actual, expected)) - ) - - def test_arg_count(self): - self.assertRaises(TypeError, lambda: list(mi.numeric_range())) - self.assertRaises( - TypeError, lambda: list(mi.numeric_range(0, 1, 2, 3)) - ) - - def test_zero_step(self): - for args in [ - (1, 2, 0), - ( - datetime(2019, 3, 29, 12, 34, 56), - datetime(2019, 3, 29, 12, 37, 55), - timedelta(minutes=0) - ), - ]: - with self.assertRaises(ValueError): - list(mi.numeric_range(*args)) - - -class CountCycleTests(TestCase): - def test_basic(self): - expected = [ - (0, 'a'), (0, 'b'), (0, 'c'), - (1, 'a'), (1, 'b'), (1, 'c'), - (2, 'a'), (2, 'b'), (2, 'c'), - ] - for actual in [ - mi.take(9, mi.count_cycle('abc')), # n=None - list(mi.count_cycle('abc', 3)), # n=3 - ]: - self.assertEqual(actual, expected) - - def test_empty(self): - self.assertEqual(list(mi.count_cycle('')), []) - self.assertEqual(list(mi.count_cycle('', 2)), []) - - def test_negative(self): - self.assertEqual(list(mi.count_cycle('abc', -3)), []) - - -class LocateTests(TestCase): - def test_default_pred(self): - iterable = [0, 1, 1, 0, 1, 0, 0] - actual = list(mi.locate(iterable)) - expected = [1, 2, 4] - self.assertEqual(actual, expected) - - def test_no_matches(self): - iterable = [0, 0, 0] - actual = list(mi.locate(iterable)) - expected = [] - self.assertEqual(actual, expected) - - def test_custom_pred(self): - iterable = ['0', 1, 1, '0', 1, '0', '0'] - pred = lambda x: x == '0' - actual = list(mi.locate(iterable, pred)) - expected = [0, 3, 5, 6] - self.assertEqual(actual, expected) - - def test_window_size(self): - iterable = ['0', 1, 1, '0', 1, '0', '0'] - pred = lambda *args: args == ('0', 1) - actual = list(mi.locate(iterable, pred, window_size=2)) - expected = [0, 3] - self.assertEqual(actual, expected) - - def test_window_size_large(self): - iterable = [1, 2, 3, 4] - pred = lambda a, b, c, d, e: True - actual = list(mi.locate(iterable, pred, window_size=5)) - expected = [0] - self.assertEqual(actual, expected) - - def test_window_size_zero(self): - iterable = [1, 2, 3, 4] - pred = lambda: True - with self.assertRaises(ValueError): - list(mi.locate(iterable, pred, window_size=0)) - - -class StripFunctionTests(TestCase): - def test_hashable(self): - iterable = list('www.example.com') - pred = lambda x: x in set('cmowz.') - - self.assertEqual(list(mi.lstrip(iterable, pred)), list('example.com')) - self.assertEqual(list(mi.rstrip(iterable, pred)), list('www.example')) - self.assertEqual(list(mi.strip(iterable, pred)), list('example')) - - def test_not_hashable(self): - iterable = [ - list('http://'), list('www'), list('.example'), list('.com') - ] - pred = lambda x: x in [list('http://'), list('www'), list('.com')] - - self.assertEqual(list(mi.lstrip(iterable, pred)), iterable[2:]) - self.assertEqual(list(mi.rstrip(iterable, pred)), iterable[:3]) - self.assertEqual(list(mi.strip(iterable, pred)), iterable[2: 3]) - - def test_math(self): - iterable = [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2] - pred = lambda x: x <= 2 - - self.assertEqual(list(mi.lstrip(iterable, pred)), iterable[3:]) - self.assertEqual(list(mi.rstrip(iterable, pred)), iterable[:-3]) - self.assertEqual(list(mi.strip(iterable, pred)), iterable[3:-3]) - - -class IsliceExtendedTests(TestCase): - def test_all(self): - iterable = ['0', '1', '2', '3', '4', '5'] - indexes = list(range(-4, len(iterable) + 4)) + [None] - steps = [1, 2, 3, 4, -1, -2, -3, 4] - for slice_args in product(indexes, indexes, steps): - try: - actual = list(mi.islice_extended(iterable, *slice_args)) - except Exception as e: - self.fail((slice_args, e)) - - expected = iterable[slice(*slice_args)] - self.assertEqual(actual, expected, slice_args) - - def test_zero_step(self): - with self.assertRaises(ValueError): - list(mi.islice_extended([1, 2, 3], 0, 1, 0)) - - -class ConsecutiveGroupsTest(TestCase): - def test_numbers(self): - iterable = [-10, -8, -7, -6, 1, 2, 4, 5, -1, 7] - actual = [list(g) for g in mi.consecutive_groups(iterable)] - expected = [[-10], [-8, -7, -6], [1, 2], [4, 5], [-1], [7]] - self.assertEqual(actual, expected) - - def test_custom_ordering(self): - iterable = ['1', '10', '11', '20', '21', '22', '30', '31'] - ordering = lambda x: int(x) - actual = [list(g) for g in mi.consecutive_groups(iterable, ordering)] - expected = [['1'], ['10', '11'], ['20', '21', '22'], ['30', '31']] - self.assertEqual(actual, expected) - - def test_exotic_ordering(self): - iterable = [ - ('a', 'b', 'c', 'd'), - ('a', 'c', 'b', 'd'), - ('a', 'c', 'd', 'b'), - ('a', 'd', 'b', 'c'), - ('d', 'b', 'c', 'a'), - ('d', 'c', 'a', 'b'), - ] - ordering = list(permutations('abcd')).index - actual = [list(g) for g in mi.consecutive_groups(iterable, ordering)] - expected = [ - [('a', 'b', 'c', 'd')], - [('a', 'c', 'b', 'd'), ('a', 'c', 'd', 'b'), ('a', 'd', 'b', 'c')], - [('d', 'b', 'c', 'a'), ('d', 'c', 'a', 'b')], - ] - self.assertEqual(actual, expected) - - -class DifferenceTest(TestCase): - def test_normal(self): - iterable = [10, 20, 30, 40, 50] - actual = list(mi.difference(iterable)) - expected = [10, 10, 10, 10, 10] - self.assertEqual(actual, expected) - - def test_custom(self): - iterable = [10, 20, 30, 40, 50] - actual = list(mi.difference(iterable, add)) - expected = [10, 30, 50, 70, 90] - self.assertEqual(actual, expected) - - def test_roundtrip(self): - original = list(range(100)) - accumulated = accumulate(original) - actual = list(mi.difference(accumulated)) - self.assertEqual(actual, original) - - def test_one(self): - self.assertEqual(list(mi.difference([0])), [0]) - - def test_empty(self): - self.assertEqual(list(mi.difference([])), []) - - @skipIf(version_info[:2] < (3, 8), 'accumulate with initial needs 3.8+') - def test_initial(self): - original = list(range(100)) - accumulated = accumulate(original, initial=100) - actual = list(mi.difference(accumulated, initial=100)) - self.assertEqual(actual, original) - - -class SeekableTest(TestCase): - def test_exhaustion_reset(self): - iterable = [str(n) for n in range(10)] - - s = mi.seekable(iterable) - self.assertEqual(list(s), iterable) # Normal iteration - self.assertEqual(list(s), []) # Iterable is exhausted - - s.seek(0) - self.assertEqual(list(s), iterable) # Back in action - - def test_partial_reset(self): - iterable = [str(n) for n in range(10)] - - s = mi.seekable(iterable) - self.assertEqual(mi.take(5, s), iterable[:5]) # Normal iteration - - s.seek(1) - self.assertEqual(list(s), iterable[1:]) # Get the rest of the iterable - - def test_forward(self): - iterable = [str(n) for n in range(10)] - - s = mi.seekable(iterable) - self.assertEqual(mi.take(1, s), iterable[:1]) # Normal iteration - - s.seek(3) # Skip over index 2 - self.assertEqual(list(s), iterable[3:]) # Result is similar to slicing - - s.seek(0) # Back to 0 - self.assertEqual(list(s), iterable) # No difference in result - - def test_past_end(self): - iterable = [str(n) for n in range(10)] - - s = mi.seekable(iterable) - self.assertEqual(mi.take(1, s), iterable[:1]) # Normal iteration - - s.seek(20) - self.assertEqual(list(s), []) # Iterable is exhausted - - s.seek(0) # Back to 0 - self.assertEqual(list(s), iterable) # No difference in result - - def test_elements(self): - iterable = map(str, count()) - - s = mi.seekable(iterable) - mi.take(10, s) - - elements = s.elements() - self.assertEqual( - [elements[i] for i in range(10)], [str(n) for n in range(10)] - ) - self.assertEqual(len(elements), 10) - - mi.take(10, s) - self.assertEqual(list(elements), [str(n) for n in range(20)]) - - -class SequenceViewTests(TestCase): - def test_init(self): - view = mi.SequenceView((1, 2, 3)) - self.assertEqual(repr(view), "SequenceView((1, 2, 3))") - self.assertRaises(TypeError, lambda: mi.SequenceView({})) - - def test_update(self): - seq = [1, 2, 3] - view = mi.SequenceView(seq) - self.assertEqual(len(view), 3) - self.assertEqual(repr(view), "SequenceView([1, 2, 3])") - - seq.pop() - self.assertEqual(len(view), 2) - self.assertEqual(repr(view), "SequenceView([1, 2])") - - def test_indexing(self): - seq = ('a', 'b', 'c', 'd', 'e', 'f') - view = mi.SequenceView(seq) - for i in range(-len(seq), len(seq)): - self.assertEqual(view[i], seq[i]) - - def test_slicing(self): - seq = ('a', 'b', 'c', 'd', 'e', 'f') - view = mi.SequenceView(seq) - n = len(seq) - indexes = list(range(-n - 1, n + 1)) + [None] - steps = list(range(-n, n + 1)) - steps.remove(0) - for slice_args in product(indexes, indexes, steps): - i = slice(*slice_args) - self.assertEqual(view[i], seq[i]) - - def test_abc_methods(self): - # collections.Sequence should provide all of this functionality - seq = ('a', 'b', 'c', 'd', 'e', 'f', 'f') - view = mi.SequenceView(seq) - - # __contains__ - self.assertIn('b', view) - self.assertNotIn('g', view) - - # __iter__ - self.assertEqual(list(iter(view)), list(seq)) - - # __reversed__ - self.assertEqual(list(reversed(view)), list(reversed(seq))) - - # index - self.assertEqual(view.index('b'), 1) - - # count - self.assertEqual(seq.count('f'), 2) - - -class RunLengthTest(TestCase): - def test_encode(self): - iterable = (int(str(n)[0]) for n in count(800)) - actual = mi.take(4, mi.run_length.encode(iterable)) - expected = [(8, 100), (9, 100), (1, 1000), (2, 1000)] - self.assertEqual(actual, expected) - - def test_decode(self): - iterable = [('d', 4), ('c', 3), ('b', 2), ('a', 1)] - actual = ''.join(mi.run_length.decode(iterable)) - expected = 'ddddcccbba' - self.assertEqual(actual, expected) - - -class ExactlyNTests(TestCase): - """Tests for ``exactly_n()``""" - - def test_true(self): - """Iterable has ``n`` ``True`` elements""" - self.assertTrue(mi.exactly_n([True, False, True], 2)) - self.assertTrue(mi.exactly_n([1, 1, 1, 0], 3)) - self.assertTrue(mi.exactly_n([False, False], 0)) - self.assertTrue(mi.exactly_n(range(100), 10, lambda x: x < 10)) - - def test_false(self): - """Iterable does not have ``n`` ``True`` elements""" - self.assertFalse(mi.exactly_n([True, False, False], 2)) - self.assertFalse(mi.exactly_n([True, True, False], 1)) - self.assertFalse(mi.exactly_n([False], 1)) - self.assertFalse(mi.exactly_n([True], -1)) - self.assertFalse(mi.exactly_n(repeat(True), 100)) - - def test_empty(self): - """Return ``True`` if the iterable is empty and ``n`` is 0""" - self.assertTrue(mi.exactly_n([], 0)) - self.assertFalse(mi.exactly_n([], 1)) - - -class AlwaysReversibleTests(TestCase): - """Tests for ``always_reversible()``""" - - def test_regular_reversed(self): - self.assertEqual(list(reversed(range(10))), - list(mi.always_reversible(range(10)))) - self.assertEqual(list(reversed([1, 2, 3])), - list(mi.always_reversible([1, 2, 3]))) - self.assertEqual(reversed([1, 2, 3]).__class__, - mi.always_reversible([1, 2, 3]).__class__) - - def test_nonseq_reversed(self): - # Create a non-reversible generator from a sequence - with self.assertRaises(TypeError): - reversed(x for x in range(10)) - - self.assertEqual(list(reversed(range(10))), - list(mi.always_reversible(x for x in range(10)))) - self.assertEqual(list(reversed([1, 2, 3])), - list(mi.always_reversible(x for x in [1, 2, 3]))) - self.assertNotEqual(reversed((1, 2)).__class__, - mi.always_reversible(x for x in (1, 2)).__class__) - - -class CircularShiftsTests(TestCase): - def test_empty(self): - # empty iterable -> empty list - self.assertEqual(list(mi.circular_shifts([])), []) - - def test_simple_circular_shifts(self): - # test the a simple iterator case - self.assertEqual( - mi.circular_shifts(range(4)), - [(0, 1, 2, 3), (1, 2, 3, 0), (2, 3, 0, 1), (3, 0, 1, 2)] - ) - - def test_duplicates(self): - # test non-distinct entries - self.assertEqual( - mi.circular_shifts([0, 1, 0, 1]), - [(0, 1, 0, 1), (1, 0, 1, 0), (0, 1, 0, 1), (1, 0, 1, 0)] - ) - - -class MakeDecoratorTests(TestCase): - def test_basic(self): - slicer = mi.make_decorator(islice) - - @slicer(1, 10, 2) - def user_function(arg_1, arg_2, kwarg_1=None): - self.assertEqual(arg_1, 'arg_1') - self.assertEqual(arg_2, 'arg_2') - self.assertEqual(kwarg_1, 'kwarg_1') - return map(str, count()) - - it = user_function('arg_1', 'arg_2', kwarg_1='kwarg_1') - actual = list(it) - expected = ['1', '3', '5', '7', '9'] - self.assertEqual(actual, expected) - - def test_result_index(self): - def stringify(*args, **kwargs): - self.assertEqual(args[0], 'arg_0') - iterable = args[1] - self.assertEqual(args[2], 'arg_2') - self.assertEqual(kwargs['kwarg_1'], 'kwarg_1') - return map(str, iterable) - - stringifier = mi.make_decorator(stringify, result_index=1) - - @stringifier('arg_0', 'arg_2', kwarg_1='kwarg_1') - def user_function(n): - return count(n) - - it = user_function(1) - actual = mi.take(5, it) - expected = ['1', '2', '3', '4', '5'] - self.assertEqual(actual, expected) - - def test_wrap_class(self): - seeker = mi.make_decorator(mi.seekable) - - @seeker() - def user_function(n): - return map(str, range(n)) - - it = user_function(5) - self.assertEqual(list(it), ['0', '1', '2', '3', '4']) - - it.seek(0) - self.assertEqual(list(it), ['0', '1', '2', '3', '4']) - - -class MapReduceTests(TestCase): - def test_default(self): - iterable = (str(x) for x in range(5)) - keyfunc = lambda x: int(x) // 2 - actual = sorted(mi.map_reduce(iterable, keyfunc).items()) - expected = [(0, ['0', '1']), (1, ['2', '3']), (2, ['4'])] - self.assertEqual(actual, expected) - - def test_valuefunc(self): - iterable = (str(x) for x in range(5)) - keyfunc = lambda x: int(x) // 2 - valuefunc = int - actual = sorted(mi.map_reduce(iterable, keyfunc, valuefunc).items()) - expected = [(0, [0, 1]), (1, [2, 3]), (2, [4])] - self.assertEqual(actual, expected) - - def test_reducefunc(self): - iterable = (str(x) for x in range(5)) - keyfunc = lambda x: int(x) // 2 - valuefunc = int - reducefunc = lambda value_list: reduce(mul, value_list, 1) - actual = sorted( - mi.map_reduce(iterable, keyfunc, valuefunc, reducefunc).items() - ) - expected = [(0, 0), (1, 6), (2, 4)] - self.assertEqual(actual, expected) - - def test_ret(self): - d = mi.map_reduce([1, 0, 2, 0, 1, 0], bool) - self.assertEqual(d, {False: [0, 0, 0], True: [1, 2, 1]}) - self.assertRaises(KeyError, lambda: d[None].append(1)) - - -class RlocateTests(TestCase): - def test_default_pred(self): - iterable = [0, 1, 1, 0, 1, 0, 0] - for it in (iterable[:], iter(iterable)): - actual = list(mi.rlocate(it)) - expected = [4, 2, 1] - self.assertEqual(actual, expected) - - def test_no_matches(self): - iterable = [0, 0, 0] - for it in (iterable[:], iter(iterable)): - actual = list(mi.rlocate(it)) - expected = [] - self.assertEqual(actual, expected) - - def test_custom_pred(self): - iterable = ['0', 1, 1, '0', 1, '0', '0'] - pred = lambda x: x == '0' - for it in (iterable[:], iter(iterable)): - actual = list(mi.rlocate(it, pred)) - expected = [6, 5, 3, 0] - self.assertEqual(actual, expected) - - def test_efficient_reversal(self): - iterable = range(9 ** 9) # Is efficiently reversible - target = 9 ** 9 - 2 - pred = lambda x: x == target # Find-able from the right - actual = next(mi.rlocate(iterable, pred)) - self.assertEqual(actual, target) - - def test_window_size(self): - iterable = ['0', 1, 1, '0', 1, '0', '0'] - pred = lambda *args: args == ('0', 1) - for it in (iterable, iter(iterable)): - actual = list(mi.rlocate(it, pred, window_size=2)) - expected = [3, 0] - self.assertEqual(actual, expected) - - def test_window_size_large(self): - iterable = [1, 2, 3, 4] - pred = lambda a, b, c, d, e: True - for it in (iterable, iter(iterable)): - actual = list(mi.rlocate(iterable, pred, window_size=5)) - expected = [0] - self.assertEqual(actual, expected) - - def test_window_size_zero(self): - iterable = [1, 2, 3, 4] - pred = lambda: True - for it in (iterable, iter(iterable)): - with self.assertRaises(ValueError): - list(mi.locate(iterable, pred, window_size=0)) - - -class ReplaceTests(TestCase): - def test_basic(self): - iterable = range(10) - pred = lambda x: x % 2 == 0 - substitutes = [] - actual = list(mi.replace(iterable, pred, substitutes)) - expected = [1, 3, 5, 7, 9] - self.assertEqual(actual, expected) - - def test_count(self): - iterable = range(10) - pred = lambda x: x % 2 == 0 - substitutes = [] - actual = list(mi.replace(iterable, pred, substitutes, count=4)) - expected = [1, 3, 5, 7, 8, 9] - self.assertEqual(actual, expected) - - def test_window_size(self): - iterable = range(10) - pred = lambda *args: args == (0, 1, 2) - substitutes = [] - actual = list(mi.replace(iterable, pred, substitutes, window_size=3)) - expected = [3, 4, 5, 6, 7, 8, 9] - self.assertEqual(actual, expected) - - def test_window_size_end(self): - iterable = range(10) - pred = lambda *args: args == (7, 8, 9) - substitutes = [] - actual = list(mi.replace(iterable, pred, substitutes, window_size=3)) - expected = [0, 1, 2, 3, 4, 5, 6] - self.assertEqual(actual, expected) - - def test_window_size_count(self): - iterable = range(10) - pred = lambda *args: (args == (0, 1, 2)) or (args == (7, 8, 9)) - substitutes = [] - actual = list( - mi.replace(iterable, pred, substitutes, count=1, window_size=3) - ) - expected = [3, 4, 5, 6, 7, 8, 9] - self.assertEqual(actual, expected) - - def test_window_size_large(self): - iterable = range(4) - pred = lambda a, b, c, d, e: True - substitutes = [5, 6, 7] - actual = list(mi.replace(iterable, pred, substitutes, window_size=5)) - expected = [5, 6, 7] - self.assertEqual(actual, expected) - - def test_window_size_zero(self): - iterable = range(10) - pred = lambda *args: True - substitutes = [] - with self.assertRaises(ValueError): - list(mi.replace(iterable, pred, substitutes, window_size=0)) - - def test_iterable_substitutes(self): - iterable = range(5) - pred = lambda x: x % 2 == 0 - substitutes = iter('__') - actual = list(mi.replace(iterable, pred, substitutes)) - expected = ['_', '_', 1, '_', '_', 3, '_', '_'] - self.assertEqual(actual, expected) - - -class PartitionsTest(TestCase): - def test_types(self): - for iterable in [ - 'abcd', - ['a', 'b', 'c', 'd'], - ('a', 'b', 'c', 'd'), - ]: - with self.subTest(iterable=iterable): - actual = list(mi.partitions(iterable)) - expected = [ - [['a', 'b', 'c', 'd']], - [['a'], ['b', 'c', 'd']], - [['a', 'b'], ['c', 'd']], - [['a', 'b', 'c'], ['d']], - [['a'], ['b'], ['c', 'd']], - [['a'], ['b', 'c'], ['d']], - [['a', 'b'], ['c'], ['d']], - [['a'], ['b'], ['c'], ['d']] - ] - self.assertEqual(actual, expected) - - def test_empty(self): - iterable = [] - actual = list(mi.partitions(iterable)) - expected = [[[]]] - self.assertEqual(actual, expected) - - def test_order(self): - iterable = iter([3, 2, 1]) - actual = list(mi.partitions(iterable)) - expected = [ - [[3, 2, 1]], - [[3], [2, 1]], - [[3, 2], [1]], - [[3], [2], [1]], - ] - self.assertEqual(actual, expected) - - def test_duplicates(self): - iterable = [1, 1, 1] - actual = list(mi.partitions(iterable)) - expected = [ - [[1, 1, 1]], - [[1], [1, 1]], - [[1, 1], [1]], - [[1], [1], [1]], - ] - self.assertEqual(actual, expected) - - -class SetPartitionsTests(TestCase): - def test_repeated(self): - it = 'aaa' - actual = [] - for part in mi.set_partitions(it, 2): - actual.append([''.join(p) for p in part]) - expected = [['a', 'aa'], ['a', 'aa'], ['a', 'aa']] - self.assertEqual(actual, expected) - - def test_each_correct(self): - a = frozenset(range(6)) - for soln in mi.set_partitions(a): - soln = frozenset(frozenset(part) for part in soln) - total = reduce(or_, soln) - self.assertEqual(a, total) - - def test_duplicates(self): - a = list(range(6)) # unique values so set comparision will work - solns = list(mi.set_partitions(a)) - unique_solns = frozenset( - frozenset( - frozenset(part) for part in soln) - for soln in solns) - self.assertEqual(len(solns), len(unique_solns)) - - def test_lexical_order(self): - def less(solnA, solnB): - """lexically orders solutions""" - if len(solnA) == len(solnB): - for partA, partB in zip(solnA, solnB): - if len(partA) == len(partB): - if partA == partB: - continue - else: - return partA < partB - else: - return len(partA) < len(partB) - else: - return len(solnA) < len(solnB) - for curr, nxt in mi.windowed(mi.set_partitions(range(6)), 2): - self.assertTrue(less(curr, nxt)) - - def test_found_all(self): - """small example, hand-checked""" - expected = [((0,), (1,), (2, 3, 4)), - ((0,), (2,), (1, 3, 4)), - ((0,), (3,), (1, 2, 4)), - ((0,), (4,), (1, 2, 3)), - ((0,), (1, 2), (3, 4)), - ((0,), (1, 3), (2, 4)), - ((0,), (1, 4), (2, 3)), - ((1,), (2,), (0, 3, 4)), - ((1,), (3,), (0, 2, 4)), - ((1,), (4,), (0, 2, 3)), - ((1,), (0, 2), (3, 4)), - ((1,), (0, 3), (2, 4)), - ((1,), (0, 4), (2, 3)), - ((2,), (3,), (0, 1, 4)), - ((2,), (4,), (0, 1, 3)), - ((2,), (0, 1), (3, 4)), - ((2,), (0, 3), (1, 4)), - ((2,), (0, 4), (1, 3)), - ((3,), (4,), (0, 1, 2)), - ((3,), (0, 1), (2, 4)), - ((3,), (0, 2), (1, 4)), - ((3,), (0, 4), (1, 2)), - ((4,), (0, 1), (2, 3)), - ((4,), (0, 2), (1, 3)), - ((4,), (0, 3), (1, 2))] - actual = list(mi.set_partitions(range(5), 3)) - for e, a in zip(expected, actual): - self.assertEqual(e, a) - - -class TimeLimitedTests(TestCase): - def test_basic(self): - def generator(): - yield 1 - yield 2 - sleep(0.2) - yield 3 - - iterable = generator() - actual = list(mi.time_limited(0.1, iterable)) - expected = [1, 2] - self.assertEqual(actual, expected) - - def test_zero_limit(self): - iterable = count() - actual = list(mi.time_limited(0, iterable)) - expected = [] - self.assertEqual(actual, expected) - - def test_invalid_limit(self): - with self.assertRaises(ValueError): - list(mi.time_limited(-0.1, count())) - - -class OnlyTests(TestCase): - def test_defaults(self): - self.assertEqual(mi.only([]), None) - self.assertEqual(mi.only([1]), 1) - self.assertRaises(ValueError, lambda: mi.only([1, 2])) - - def test_custom_value(self): - self.assertEqual(mi.only([], default='!'), '!') - self.assertEqual(mi.only([1], default='!'), 1) - self.assertRaises(ValueError, lambda: mi.only([1, 2], default='!')) - - def test_custom_exception(self): - self.assertEqual(mi.only([], too_long=RuntimeError), None) - self.assertEqual(mi.only([1], too_long=RuntimeError), 1) - self.assertRaises( - RuntimeError, lambda: mi.only([1, 2], too_long=RuntimeError) - ) - - -class IchunkedTests(TestCase): - def test_even(self): - iterable = (str(x) for x in range(10)) - actual = [''.join(c) for c in mi.ichunked(iterable, 5)] - expected = ['01234', '56789'] - self.assertEqual(actual, expected) - - def test_odd(self): - iterable = (str(x) for x in range(10)) - actual = [''.join(c) for c in mi.ichunked(iterable, 4)] - expected = ['0123', '4567', '89'] - self.assertEqual(actual, expected) - - def test_zero(self): - iterable = [] - actual = [list(c) for c in mi.ichunked(iterable, 0)] - expected = [] - self.assertEqual(actual, expected) - - def test_negative(self): - iterable = count() - with self.assertRaises(ValueError): - [list(c) for c in mi.ichunked(iterable, -1)] - - def test_out_of_order(self): - iterable = map(str, count()) - it = mi.ichunked(iterable, 4) - chunk_1 = next(it) - chunk_2 = next(it) - self.assertEqual(''.join(chunk_2), '4567') - self.assertEqual(''.join(chunk_1), '0123') - - def test_laziness(self): - def gen(): - yield 0 - raise RuntimeError - yield from count(1) - - it = mi.ichunked(gen(), 4) - chunk = next(it) - self.assertEqual(next(chunk), 0) - self.assertRaises(RuntimeError, next, it) - - -class DistinctCombinationsTests(TestCase): - def test_basic(self): - iterable = (1, 2, 2, 3, 3, 3) - for r in range(len(iterable)): - with self.subTest(r=r): - actual = sorted(mi.distinct_combinations(iterable, r)) - expected = sorted(set(combinations(iterable, r))) - self.assertEqual(actual, expected) - - def test_distinct(self): - iterable = list(range(6)) - for r in range(len(iterable)): - with self.subTest(r=r): - actual = list(mi.distinct_combinations(iterable, r)) - expected = list(combinations(iterable, r)) - self.assertEqual(actual, expected) - - def test_negative(self): - with self.assertRaises(ValueError): - list(mi.distinct_combinations([], -1)) - - def test_empty(self): - self.assertEqual(list(mi.distinct_combinations([], 2)), []) - - -class FilterExceptTests(TestCase): - def test_no_exceptions_pass(self): - iterable = '0123' - actual = list(mi.filter_except(int, iterable)) - expected = ['0', '1', '2', '3'] - self.assertEqual(actual, expected) - - def test_no_exceptions_raise(self): - iterable = ['0', '1', 'two', '3'] - with self.assertRaises(ValueError): - list(mi.filter_except(int, iterable)) - - def test_raise(self): - iterable = ['0', '1' '2', 'three', None] - with self.assertRaises(TypeError): - list(mi.filter_except(int, iterable, ValueError)) - - def test_false(self): - # Even if the validator returns false, we pass through - validator = lambda x: False - iterable = ['0', '1', '2', 'three', None] - actual = list(mi.filter_except(validator, iterable, Exception)) - expected = ['0', '1', '2', 'three', None] - self.assertEqual(actual, expected) - - def test_multiple(self): - iterable = ['0', '1', '2', 'three', None, '4'] - actual = list(mi.filter_except(int, iterable, ValueError, TypeError)) - expected = ['0', '1', '2', '4'] - self.assertEqual(actual, expected) - - -class MapExceptTests(TestCase): - def test_no_exceptions_pass(self): - iterable = '0123' - actual = list(mi.map_except(int, iterable)) - expected = [0, 1, 2, 3] - self.assertEqual(actual, expected) - - def test_no_exceptions_raise(self): - iterable = ['0', '1', 'two', '3'] - with self.assertRaises(ValueError): - list(mi.map_except(int, iterable)) - - def test_raise(self): - iterable = ['0', '1' '2', 'three', None] - with self.assertRaises(TypeError): - list(mi.map_except(int, iterable, ValueError)) - - def test_multiple(self): - iterable = ['0', '1', '2', 'three', None, '4'] - actual = list(mi.map_except(int, iterable, ValueError, TypeError)) - expected = [0, 1, 2, 4] - self.assertEqual(actual, expected) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/tests/test_recipes.py b/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/tests/test_recipes.py deleted file mode 100644 index 99db833..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/more_itertools/tests/test_recipes.py +++ /dev/null @@ -1,605 +0,0 @@ -import warnings -from doctest import DocTestSuite -from unittest import TestCase - -from itertools import combinations - -import more_itertools as mi - - -def load_tests(loader, tests, ignore): - # Add the doctests - tests.addTests(DocTestSuite('more_itertools.recipes')) - return tests - - -class TakeTests(TestCase): - """Tests for ``take()``""" - - def test_simple_take(self): - """Test basic usage""" - t = mi.take(5, range(10)) - self.assertEqual(t, [0, 1, 2, 3, 4]) - - def test_null_take(self): - """Check the null case""" - t = mi.take(0, range(10)) - self.assertEqual(t, []) - - def test_negative_take(self): - """Make sure taking negative items results in a ValueError""" - self.assertRaises(ValueError, lambda: mi.take(-3, range(10))) - - def test_take_too_much(self): - """Taking more than an iterator has remaining should return what the - iterator has remaining. - - """ - t = mi.take(10, range(5)) - self.assertEqual(t, [0, 1, 2, 3, 4]) - - -class TabulateTests(TestCase): - """Tests for ``tabulate()``""" - - def test_simple_tabulate(self): - """Test the happy path""" - t = mi.tabulate(lambda x: x) - f = tuple([next(t) for _ in range(3)]) - self.assertEqual(f, (0, 1, 2)) - - def test_count(self): - """Ensure tabulate accepts specific count""" - t = mi.tabulate(lambda x: 2 * x, -1) - f = (next(t), next(t), next(t)) - self.assertEqual(f, (-2, 0, 2)) - - -class TailTests(TestCase): - """Tests for ``tail()``""" - - def test_greater(self): - """Length of iterable is greater than requested tail""" - self.assertEqual(list(mi.tail(3, 'ABCDEFG')), ['E', 'F', 'G']) - - def test_equal(self): - """Length of iterable is equal to the requested tail""" - self.assertEqual( - list(mi.tail(7, 'ABCDEFG')), ['A', 'B', 'C', 'D', 'E', 'F', 'G'] - ) - - def test_less(self): - """Length of iterable is less than requested tail""" - self.assertEqual( - list(mi.tail(8, 'ABCDEFG')), ['A', 'B', 'C', 'D', 'E', 'F', 'G'] - ) - - -class ConsumeTests(TestCase): - """Tests for ``consume()``""" - - def test_sanity(self): - """Test basic functionality""" - r = (x for x in range(10)) - mi.consume(r, 3) - self.assertEqual(3, next(r)) - - def test_null_consume(self): - """Check the null case""" - r = (x for x in range(10)) - mi.consume(r, 0) - self.assertEqual(0, next(r)) - - def test_negative_consume(self): - """Check that negative consumsion throws an error""" - r = (x for x in range(10)) - self.assertRaises(ValueError, lambda: mi.consume(r, -1)) - - def test_total_consume(self): - """Check that iterator is totally consumed by default""" - r = (x for x in range(10)) - mi.consume(r) - self.assertRaises(StopIteration, lambda: next(r)) - - -class NthTests(TestCase): - """Tests for ``nth()``""" - - def test_basic(self): - """Make sure the nth item is returned""" - l = range(10) - for i, v in enumerate(l): - self.assertEqual(mi.nth(l, i), v) - - def test_default(self): - """Ensure a default value is returned when nth item not found""" - l = range(3) - self.assertEqual(mi.nth(l, 100, "zebra"), "zebra") - - def test_negative_item_raises(self): - """Ensure asking for a negative item raises an exception""" - self.assertRaises(ValueError, lambda: mi.nth(range(10), -3)) - - -class AllEqualTests(TestCase): - """Tests for ``all_equal()``""" - - def test_true(self): - """Everything is equal""" - self.assertTrue(mi.all_equal('aaaaaa')) - self.assertTrue(mi.all_equal([0, 0, 0, 0])) - - def test_false(self): - """Not everything is equal""" - self.assertFalse(mi.all_equal('aaaaab')) - self.assertFalse(mi.all_equal([0, 0, 0, 1])) - - def test_tricky(self): - """Not everything is identical, but everything is equal""" - items = [1, complex(1, 0), 1.0] - self.assertTrue(mi.all_equal(items)) - - def test_empty(self): - """Return True if the iterable is empty""" - self.assertTrue(mi.all_equal('')) - self.assertTrue(mi.all_equal([])) - - def test_one(self): - """Return True if the iterable is singular""" - self.assertTrue(mi.all_equal('0')) - self.assertTrue(mi.all_equal([0])) - - -class QuantifyTests(TestCase): - """Tests for ``quantify()``""" - - def test_happy_path(self): - """Make sure True count is returned""" - q = [True, False, True] - self.assertEqual(mi.quantify(q), 2) - - def test_custom_predicate(self): - """Ensure non-default predicates return as expected""" - q = range(10) - self.assertEqual(mi.quantify(q, lambda x: x % 2 == 0), 5) - - -class PadnoneTests(TestCase): - """Tests for ``padnone()``""" - - def test_happy_path(self): - """wrapper iterator should return None indefinitely""" - r = range(2) - p = mi.padnone(r) - self.assertEqual([0, 1, None, None], [next(p) for _ in range(4)]) - - -class NcyclesTests(TestCase): - """Tests for ``nyclces()``""" - - def test_happy_path(self): - """cycle a sequence three times""" - r = ["a", "b", "c"] - n = mi.ncycles(r, 3) - self.assertEqual( - ["a", "b", "c", "a", "b", "c", "a", "b", "c"], - list(n) - ) - - def test_null_case(self): - """asking for 0 cycles should return an empty iterator""" - n = mi.ncycles(range(100), 0) - self.assertRaises(StopIteration, lambda: next(n)) - - def test_pathalogical_case(self): - """asking for negative cycles should return an empty iterator""" - n = mi.ncycles(range(100), -10) - self.assertRaises(StopIteration, lambda: next(n)) - - -class DotproductTests(TestCase): - """Tests for ``dotproduct()``'""" - - def test_happy_path(self): - """simple dotproduct example""" - self.assertEqual(400, mi.dotproduct([10, 10], [20, 20])) - - -class FlattenTests(TestCase): - """Tests for ``flatten()``""" - - def test_basic_usage(self): - """ensure list of lists is flattened one level""" - f = [[0, 1, 2], [3, 4, 5]] - self.assertEqual(list(range(6)), list(mi.flatten(f))) - - def test_single_level(self): - """ensure list of lists is flattened only one level""" - f = [[0, [1, 2]], [[3, 4], 5]] - self.assertEqual([0, [1, 2], [3, 4], 5], list(mi.flatten(f))) - - -class RepeatfuncTests(TestCase): - """Tests for ``repeatfunc()``""" - - def test_simple_repeat(self): - """test simple repeated functions""" - r = mi.repeatfunc(lambda: 5) - self.assertEqual([5, 5, 5, 5, 5], [next(r) for _ in range(5)]) - - def test_finite_repeat(self): - """ensure limited repeat when times is provided""" - r = mi.repeatfunc(lambda: 5, times=5) - self.assertEqual([5, 5, 5, 5, 5], list(r)) - - def test_added_arguments(self): - """ensure arguments are applied to the function""" - r = mi.repeatfunc(lambda x: x, 2, 3) - self.assertEqual([3, 3], list(r)) - - def test_null_times(self): - """repeat 0 should return an empty iterator""" - r = mi.repeatfunc(range, 0, 3) - self.assertRaises(StopIteration, lambda: next(r)) - - -class PairwiseTests(TestCase): - """Tests for ``pairwise()``""" - - def test_base_case(self): - """ensure an iterable will return pairwise""" - p = mi.pairwise([1, 2, 3]) - self.assertEqual([(1, 2), (2, 3)], list(p)) - - def test_short_case(self): - """ensure an empty iterator if there's not enough values to pair""" - p = mi.pairwise("a") - self.assertRaises(StopIteration, lambda: next(p)) - - -class GrouperTests(TestCase): - """Tests for ``grouper()``""" - - def test_even(self): - """Test when group size divides evenly into the length of - the iterable. - - """ - self.assertEqual( - list(mi.grouper('ABCDEF', 3)), [('A', 'B', 'C'), ('D', 'E', 'F')] - ) - - def test_odd(self): - """Test when group size does not divide evenly into the length of the - iterable. - - """ - self.assertEqual( - list(mi.grouper('ABCDE', 3)), [('A', 'B', 'C'), ('D', 'E', None)] - ) - - def test_fill_value(self): - """Test that the fill value is used to pad the final group""" - self.assertEqual( - list(mi.grouper('ABCDE', 3, 'x')), - [('A', 'B', 'C'), ('D', 'E', 'x')] - ) - - def test_legacy_order(self): - """Historically, grouper expected the n as the first parameter""" - with warnings.catch_warnings(record=True) as caught: - warnings.simplefilter('always') - self.assertEqual( - list(mi.grouper(3, 'ABCDEF')), - [('A', 'B', 'C'), ('D', 'E', 'F')], - ) - - warning, = caught - assert warning.category == DeprecationWarning - - -class RoundrobinTests(TestCase): - """Tests for ``roundrobin()``""" - - def test_even_groups(self): - """Ensure ordered output from evenly populated iterables""" - self.assertEqual( - list(mi.roundrobin('ABC', [1, 2, 3], range(3))), - ['A', 1, 0, 'B', 2, 1, 'C', 3, 2] - ) - - def test_uneven_groups(self): - """Ensure ordered output from unevenly populated iterables""" - self.assertEqual( - list(mi.roundrobin('ABCD', [1, 2], range(0))), - ['A', 1, 'B', 2, 'C', 'D'] - ) - - -class PartitionTests(TestCase): - """Tests for ``partition()``""" - - def test_bool(self): - """Test when pred() returns a boolean""" - lesser, greater = mi.partition(lambda x: x > 5, range(10)) - self.assertEqual(list(lesser), [0, 1, 2, 3, 4, 5]) - self.assertEqual(list(greater), [6, 7, 8, 9]) - - def test_arbitrary(self): - """Test when pred() returns an integer""" - divisibles, remainders = mi.partition(lambda x: x % 3, range(10)) - self.assertEqual(list(divisibles), [0, 3, 6, 9]) - self.assertEqual(list(remainders), [1, 2, 4, 5, 7, 8]) - - -class PowersetTests(TestCase): - """Tests for ``powerset()``""" - - def test_combinatorics(self): - """Ensure a proper enumeration""" - p = mi.powerset([1, 2, 3]) - self.assertEqual( - list(p), - [(), (1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)] - ) - - -class UniqueEverseenTests(TestCase): - """Tests for ``unique_everseen()``""" - - def test_everseen(self): - """ensure duplicate elements are ignored""" - u = mi.unique_everseen('AAAABBBBCCDAABBB') - self.assertEqual( - ['A', 'B', 'C', 'D'], - list(u) - ) - - def test_custom_key(self): - """ensure the custom key comparison works""" - u = mi.unique_everseen('aAbACCc', key=str.lower) - self.assertEqual(list('abC'), list(u)) - - def test_unhashable(self): - """ensure things work for unhashable items""" - iterable = ['a', [1, 2, 3], [1, 2, 3], 'a'] - u = mi.unique_everseen(iterable) - self.assertEqual(list(u), ['a', [1, 2, 3]]) - - def test_unhashable_key(self): - """ensure things work for unhashable items with a custom key""" - iterable = ['a', [1, 2, 3], [1, 2, 3], 'a'] - u = mi.unique_everseen(iterable, key=lambda x: x) - self.assertEqual(list(u), ['a', [1, 2, 3]]) - - -class UniqueJustseenTests(TestCase): - """Tests for ``unique_justseen()``""" - - def test_justseen(self): - """ensure only last item is remembered""" - u = mi.unique_justseen('AAAABBBCCDABB') - self.assertEqual(list('ABCDAB'), list(u)) - - def test_custom_key(self): - """ensure the custom key comparison works""" - u = mi.unique_justseen('AABCcAD', str.lower) - self.assertEqual(list('ABCAD'), list(u)) - - -class IterExceptTests(TestCase): - """Tests for ``iter_except()``""" - - def test_exact_exception(self): - """ensure the exact specified exception is caught""" - l = [1, 2, 3] - i = mi.iter_except(l.pop, IndexError) - self.assertEqual(list(i), [3, 2, 1]) - - def test_generic_exception(self): - """ensure the generic exception can be caught""" - l = [1, 2] - i = mi.iter_except(l.pop, Exception) - self.assertEqual(list(i), [2, 1]) - - def test_uncaught_exception_is_raised(self): - """ensure a non-specified exception is raised""" - l = [1, 2, 3] - i = mi.iter_except(l.pop, KeyError) - self.assertRaises(IndexError, lambda: list(i)) - - def test_first(self): - """ensure first is run before the function""" - l = [1, 2, 3] - f = lambda: 25 - i = mi.iter_except(l.pop, IndexError, f) - self.assertEqual(list(i), [25, 3, 2, 1]) - - -class FirstTrueTests(TestCase): - """Tests for ``first_true()``""" - - def test_something_true(self): - """Test with no keywords""" - self.assertEqual(mi.first_true(range(10)), 1) - - def test_nothing_true(self): - """Test default return value.""" - self.assertIsNone(mi.first_true([0, 0, 0])) - - def test_default(self): - """Test with a default keyword""" - self.assertEqual(mi.first_true([0, 0, 0], default='!'), '!') - - def test_pred(self): - """Test with a custom predicate""" - self.assertEqual( - mi.first_true([2, 4, 6], pred=lambda x: x % 3 == 0), 6 - ) - - -class RandomProductTests(TestCase): - """Tests for ``random_product()`` - - Since random.choice() has different results with the same seed across - python versions 2.x and 3.x, these tests use highly probably events to - create predictable outcomes across platforms. - """ - - def test_simple_lists(self): - """Ensure that one item is chosen from each list in each pair. - Also ensure that each item from each list eventually appears in - the chosen combinations. - - Odds are roughly 1 in 7.1 * 10e16 that one item from either list will - not be chosen after 100 samplings of one item from each list. Just to - be safe, better use a known random seed, too. - - """ - nums = [1, 2, 3] - lets = ['a', 'b', 'c'] - n, m = zip(*[mi.random_product(nums, lets) for _ in range(100)]) - n, m = set(n), set(m) - self.assertEqual(n, set(nums)) - self.assertEqual(m, set(lets)) - self.assertEqual(len(n), len(nums)) - self.assertEqual(len(m), len(lets)) - - def test_list_with_repeat(self): - """ensure multiple items are chosen, and that they appear to be chosen - from one list then the next, in proper order. - - """ - nums = [1, 2, 3] - lets = ['a', 'b', 'c'] - r = list(mi.random_product(nums, lets, repeat=100)) - self.assertEqual(2 * 100, len(r)) - n, m = set(r[::2]), set(r[1::2]) - self.assertEqual(n, set(nums)) - self.assertEqual(m, set(lets)) - self.assertEqual(len(n), len(nums)) - self.assertEqual(len(m), len(lets)) - - -class RandomPermutationTests(TestCase): - """Tests for ``random_permutation()``""" - - def test_full_permutation(self): - """ensure every item from the iterable is returned in a new ordering - - 15 elements have a 1 in 1.3 * 10e12 of appearing in sorted order, so - we fix a seed value just to be sure. - - """ - i = range(15) - r = mi.random_permutation(i) - self.assertEqual(set(i), set(r)) - if i == r: - raise AssertionError("Values were not permuted") - - def test_partial_permutation(self): - """ensure all returned items are from the iterable, that the returned - permutation is of the desired length, and that all items eventually - get returned. - - Sampling 100 permutations of length 5 from a set of 15 leaves a - (2/3)^100 chance that an item will not be chosen. Multiplied by 15 - items, there is a 1 in 2.6e16 chance that at least 1 item will not - show up in the resulting output. Using a random seed will fix that. - - """ - items = range(15) - item_set = set(items) - all_items = set() - for _ in range(100): - permutation = mi.random_permutation(items, 5) - self.assertEqual(len(permutation), 5) - permutation_set = set(permutation) - self.assertLessEqual(permutation_set, item_set) - all_items |= permutation_set - self.assertEqual(all_items, item_set) - - -class RandomCombinationTests(TestCase): - """Tests for ``random_combination()``""" - - def test_pseudorandomness(self): - """ensure different subsets of the iterable get returned over many - samplings of random combinations""" - items = range(15) - all_items = set() - for _ in range(50): - combination = mi.random_combination(items, 5) - all_items |= set(combination) - self.assertEqual(all_items, set(items)) - - def test_no_replacement(self): - """ensure that elements are sampled without replacement""" - items = range(15) - for _ in range(50): - combination = mi.random_combination(items, len(items)) - self.assertEqual(len(combination), len(set(combination))) - self.assertRaises( - ValueError, lambda: mi.random_combination(items, len(items) + 1) - ) - - -class RandomCombinationWithReplacementTests(TestCase): - """Tests for ``random_combination_with_replacement()``""" - - def test_replacement(self): - """ensure that elements are sampled with replacement""" - items = range(5) - combo = mi.random_combination_with_replacement(items, len(items) * 2) - self.assertEqual(2 * len(items), len(combo)) - if len(set(combo)) == len(combo): - raise AssertionError("Combination contained no duplicates") - - def test_pseudorandomness(self): - """ensure different subsets of the iterable get returned over many - samplings of random combinations""" - items = range(15) - all_items = set() - for _ in range(50): - combination = mi.random_combination_with_replacement(items, 5) - all_items |= set(combination) - self.assertEqual(all_items, set(items)) - - -class NthCombinationTests(TestCase): - def test_basic(self): - iterable = 'abcdefg' - r = 4 - for index, expected in enumerate(combinations(iterable, r)): - actual = mi.nth_combination(iterable, r, index) - self.assertEqual(actual, expected) - - def test_long(self): - actual = mi.nth_combination(range(180), 4, 2000000) - expected = (2, 12, 35, 126) - self.assertEqual(actual, expected) - - def test_invalid_r(self): - for r in (-1, 3): - with self.assertRaises(ValueError): - mi.nth_combination([], r, 0) - - def test_invalid_index(self): - with self.assertRaises(IndexError): - mi.nth_combination('abcdefg', 3, -36) - - -class PrependTests(TestCase): - def test_basic(self): - value = 'a' - iterator = iter('bcdefg') - actual = list(mi.prepend(value, iterator)) - expected = list('abcdefg') - self.assertEqual(actual, expected) - - def test_multiple(self): - value = 'ab' - iterator = iter('cdefg') - actual = tuple(mi.prepend(value, iterator)) - expected = ('ab',) + tuple('cdefg') - self.assertEqual(actual, expected) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/INSTALLER b/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE b/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE deleted file mode 100644 index 6f62d44..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE +++ /dev/null @@ -1,3 +0,0 @@ -This software is made available under the terms of *either* of the licenses -found in LICENSE.APACHE or LICENSE.BSD. Contributions to this software is made -under the terms of *both* these licenses. diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE.APACHE b/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE.APACHE deleted file mode 100644 index 4947287..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE.APACHE +++ /dev/null @@ -1,177 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE.BSD b/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE.BSD deleted file mode 100644 index 42ce7b7..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/LICENSE.BSD +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) Donald Stufft and individual contributors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/METADATA b/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/METADATA deleted file mode 100644 index 2283dd4..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/METADATA +++ /dev/null @@ -1,326 +0,0 @@ -Metadata-Version: 2.1 -Name: packaging -Version: 19.2 -Summary: Core utilities for Python packages -Home-page: https://github.com/pypa/packaging -Author: Donald Stufft and individual contributors -Author-email: donald@stufft.io -License: BSD or Apache License, Version 2.0 -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: Apache Software License -Classifier: License :: OSI Approved :: BSD License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* -Description-Content-Type: text/x-rst -Requires-Dist: pyparsing (>=2.0.2) -Requires-Dist: six - -packaging -========= - -Core utilities for Python packages. - -The ``packaging`` project includes the following: version handling, specifiers, -markers, requirements, tags, utilities. - -Documentation -------------- - -The `documentation`_ provides information and the API for the following: - -- Version Handling -- Specifiers -- Markers -- Requirements -- Tags -- Utilities - -Installation ------------- - -Use ``pip`` to install these utilities:: - - pip install packaging - -Discussion ----------- - -If you run into bugs, you can file them in our `issue tracker`_. - -You can also join ``#pypa`` on Freenode to ask questions or get involved. - - -.. _`documentation`: https://packaging.pypa.io/ -.. _`issue tracker`: https://github.com/pypa/packaging/issues - - -Code of Conduct ---------------- - -Everyone interacting in the packaging project's codebases, issue trackers, chat -rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_. - -.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/ - -Contributing ------------- - -The ``CONTRIBUTING.rst`` file outlines how to contribute to this project as -well as how to report a potential security issue. The documentation for this -project also covers information about `project development`_ and `security`_. - -.. _`project development`: https://packaging.pypa.io/en/latest/development/ -.. _`security`: https://packaging.pypa.io/en/latest/security/ - -Project History ---------------- - -Please review the ``CHANGELOG.rst`` file or the `Changelog documentation`_ for -recent changes and project history. - -.. _`Changelog documentation`: https://packaging.pypa.io/en/latest/changelog/ - -Changelog ---------- - -19.2 - 2019-09-18 -~~~~~~~~~~~~~~~~~ - -* Remove dependency on ``attrs`` (`#178 `__, `#179 `__) - -* Use appropriate fallbacks for CPython ABI tag (`#181 `__, `#185 `__) - -* Add manylinux2014 support (`#186 `__) - -* Improve ABI detection (`#181 `__) - -* Properly handle debug wheels for Python 3.8 (`#172 `__) - -* Improve detection of debug builds on Windows (`#194 `__) - -19.1 - 2019-07-30 -~~~~~~~~~~~~~~~~~ - -* Add the ``packaging.tags`` module. (`#156 `__) - -* Correctly handle two-digit versions in ``python_version`` (`#119 `__) - - -19.0 - 2019-01-20 -~~~~~~~~~~~~~~~~~ - -* Fix string representation of PEP 508 direct URL requirements with markers. - -* Better handling of file URLs - - This allows for using ``file:///absolute/path``, which was previously - prevented due to the missing ``netloc``. - - This allows for all file URLs that ``urlunparse`` turns back into the - original URL to be valid. - - -18.0 - 2018-09-26 -~~~~~~~~~~~~~~~~~ - -* Improve error messages when invalid requirements are given. (`#129 `__) - - -17.1 - 2017-02-28 -~~~~~~~~~~~~~~~~~ - -* Fix ``utils.canonicalize_version`` when supplying non PEP 440 versions. - - -17.0 - 2017-02-28 -~~~~~~~~~~~~~~~~~ - -* Drop support for python 2.6, 3.2, and 3.3. - -* Define minimal pyparsing version to 2.0.2 (`#91 `__). - -* Add ``epoch``, ``release``, ``pre``, ``dev``, and ``post`` attributes to - ``Version`` and ``LegacyVersion`` (`#34 `__). - -* Add ``Version().is_devrelease`` and ``LegacyVersion().is_devrelease`` to - make it easy to determine if a release is a development release. - -* Add ``utils.canonicalize_version`` to canonicalize version strings or - ``Version`` instances (`#121 `__). - - -16.8 - 2016-10-29 -~~~~~~~~~~~~~~~~~ - -* Fix markers that utilize ``in`` so that they render correctly. - -* Fix an erroneous test on Python RC releases. - - -16.7 - 2016-04-23 -~~~~~~~~~~~~~~~~~ - -* Add support for the deprecated ``python_implementation`` marker which was - an undocumented setuptools marker in addition to the newer markers. - - -16.6 - 2016-03-29 -~~~~~~~~~~~~~~~~~ - -* Add support for the deprecated, PEP 345 environment markers in addition to - the newer markers. - - -16.5 - 2016-02-26 -~~~~~~~~~~~~~~~~~ - -* Fix a regression in parsing requirements with whitespaces between the comma - separators. - - -16.4 - 2016-02-22 -~~~~~~~~~~~~~~~~~ - -* Fix a regression in parsing requirements like ``foo (==4)``. - - -16.3 - 2016-02-21 -~~~~~~~~~~~~~~~~~ - -* Fix a bug where ``packaging.requirements:Requirement`` was overly strict when - matching legacy requirements. - - -16.2 - 2016-02-09 -~~~~~~~~~~~~~~~~~ - -* Add a function that implements the name canonicalization from PEP 503. - - -16.1 - 2016-02-07 -~~~~~~~~~~~~~~~~~ - -* Implement requirement specifiers from PEP 508. - - -16.0 - 2016-01-19 -~~~~~~~~~~~~~~~~~ - -* Relicense so that packaging is available under *either* the Apache License, - Version 2.0 or a 2 Clause BSD license. - -* Support installation of packaging when only distutils is available. - -* Fix ``==`` comparison when there is a prefix and a local version in play. - (`#41 `__). - -* Implement environment markers from PEP 508. - - -15.3 - 2015-08-01 -~~~~~~~~~~~~~~~~~ - -* Normalize post-release spellings for rev/r prefixes. `#35 `__ - - -15.2 - 2015-05-13 -~~~~~~~~~~~~~~~~~ - -* Fix an error where the arbitary specifier (``===``) was not correctly - allowing pre-releases when it was being used. - -* Expose the specifier and version parts through properties on the - ``Specifier`` classes. - -* Allow iterating over the ``SpecifierSet`` to get access to all of the - ``Specifier`` instances. - -* Allow testing if a version is contained within a specifier via the ``in`` - operator. - - -15.1 - 2015-04-13 -~~~~~~~~~~~~~~~~~ - -* Fix a logic error that was causing inconsistent answers about whether or not - a pre-release was contained within a ``SpecifierSet`` or not. - - -15.0 - 2015-01-02 -~~~~~~~~~~~~~~~~~ - -* Add ``Version().is_postrelease`` and ``LegacyVersion().is_postrelease`` to - make it easy to determine if a release is a post release. - -* Add ``Version().base_version`` and ``LegacyVersion().base_version`` to make - it easy to get the public version without any pre or post release markers. - -* Support the update to PEP 440 which removed the implied ``!=V.*`` when using - either ``>V`` or ``V`` or ````) operator. - - -14.3 - 2014-11-19 -~~~~~~~~~~~~~~~~~ - -* **BACKWARDS INCOMPATIBLE** Refactor specifier support so that it can sanely - handle legacy specifiers as well as PEP 440 specifiers. - -* **BACKWARDS INCOMPATIBLE** Move the specifier support out of - ``packaging.version`` into ``packaging.specifiers``. - - -14.2 - 2014-09-10 -~~~~~~~~~~~~~~~~~ - -* Add prerelease support to ``Specifier``. -* Remove the ability to do ``item in Specifier()`` and replace it with - ``Specifier().contains(item)`` in order to allow flags that signal if a - prerelease should be accepted or not. -* Add a method ``Specifier().filter()`` which will take an iterable and returns - an iterable with items that do not match the specifier filtered out. - - -14.1 - 2014-09-08 -~~~~~~~~~~~~~~~~~ - -* Allow ``LegacyVersion`` and ``Version`` to be sorted together. -* Add ``packaging.version.parse()`` to enable easily parsing a version string - as either a ``Version`` or a ``LegacyVersion`` depending on it's PEP 440 - validity. - - -14.0 - 2014-09-05 -~~~~~~~~~~~~~~~~~ - -* Initial release. - - -.. _`master`: https://github.com/pypa/packaging/ - - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/RECORD b/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/RECORD deleted file mode 100644 index a6b4edd..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/RECORD +++ /dev/null @@ -1,28 +0,0 @@ -packaging-19.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -packaging-19.2.dist-info/LICENSE,sha256=ytHvW9NA1z4HS6YU0m996spceUDD2MNIUuZcSQlobEg,197 -packaging-19.2.dist-info/LICENSE.APACHE,sha256=DOwG4OVfvD3FzuT8qbYH9my49OTbzzs8ATWU3RVnMuk,10173 -packaging-19.2.dist-info/LICENSE.BSD,sha256=tw5-m3QvHMb5SLNMFqo5_-zpQZY2S8iP8NIYDwAo-sU,1344 -packaging-19.2.dist-info/METADATA,sha256=hwikcP_MnOmBPJWbRDoPfzqCuV424X0U7QCaBCxn_gA,9224 -packaging-19.2.dist-info/RECORD,, -packaging-19.2.dist-info/WHEEL,sha256=8zNYZbwQSXoB9IfXOjPfeNwvAsALAjffgk27FqvCWbo,110 -packaging-19.2.dist-info/top_level.txt,sha256=zFdHrhWnPslzsiP455HutQsqPB6v0KCtNUMtUtrefDw,10 -packaging/__about__.py,sha256=CpuMSyh1V7adw8QMjWKkY3LtdqRUkRX4MgJ6nF4stM0,744 -packaging/__init__.py,sha256=6enbp5XgRfjBjsI9-bn00HjHf5TH21PDMOKkJW8xw-w,562 -packaging/__pycache__/__about__.cpython-37.pyc,, -packaging/__pycache__/__init__.cpython-37.pyc,, -packaging/__pycache__/_compat.cpython-37.pyc,, -packaging/__pycache__/_structures.cpython-37.pyc,, -packaging/__pycache__/markers.cpython-37.pyc,, -packaging/__pycache__/requirements.cpython-37.pyc,, -packaging/__pycache__/specifiers.cpython-37.pyc,, -packaging/__pycache__/tags.cpython-37.pyc,, -packaging/__pycache__/utils.cpython-37.pyc,, -packaging/__pycache__/version.cpython-37.pyc,, -packaging/_compat.py,sha256=Ugdm-qcneSchW25JrtMIKgUxfEEBcCAz6WrEeXeqz9o,865 -packaging/_structures.py,sha256=pVd90XcXRGwpZRB_qdFuVEibhCHpX_bL5zYr9-N0mc8,1416 -packaging/markers.py,sha256=g6HRCklg_3YQg6lHcMsctcwaI6KCw3AFsNGOmV2z6mI,8214 -packaging/requirements.py,sha256=1BnLnuPsAIpbYRi0jBemiD26Z7ukCzpIy-zP_0pv_4k,4652 -packaging/specifiers.py,sha256=0ZzQpcUnvrQ6LjR-mQRLzMr8G6hdRv-mY0VSf_amFtI,27778 -packaging/tags.py,sha256=EPLXhO6GTD7_oiWEO1U0l0PkfR8R_xivpMDHXnsTlts,12933 -packaging/utils.py,sha256=VaTC0Ei7zO2xl9ARiWmz2YFLFt89PuuhLbAlXMyAGms,1520 -packaging/version.py,sha256=Npdwnb8OHedj_2L86yiUqscujb7w_i5gmSK1PhOAFzg,11978 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/WHEEL b/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/WHEEL deleted file mode 100644 index 8b701e9..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.33.6) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/top_level.txt b/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/top_level.txt deleted file mode 100644 index 748809f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging-19.2.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -packaging diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging/__about__.py b/.tox/py37-normal/lib/python3.7/site-packages/packaging/__about__.py deleted file mode 100644 index dc95138..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging/__about__.py +++ /dev/null @@ -1,27 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -__all__ = [ - "__title__", - "__summary__", - "__uri__", - "__version__", - "__author__", - "__email__", - "__license__", - "__copyright__", -] - -__title__ = "packaging" -__summary__ = "Core utilities for Python packages" -__uri__ = "https://github.com/pypa/packaging" - -__version__ = "19.2" - -__author__ = "Donald Stufft and individual contributors" -__email__ = "donald@stufft.io" - -__license__ = "BSD or Apache License, Version 2.0" -__copyright__ = "Copyright 2014-2019 %s" % __author__ diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/packaging/__init__.py deleted file mode 100644 index a0cf67d..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -from .__about__ import ( - __author__, - __copyright__, - __email__, - __license__, - __summary__, - __title__, - __uri__, - __version__, -) - -__all__ = [ - "__title__", - "__summary__", - "__uri__", - "__version__", - "__author__", - "__email__", - "__license__", - "__copyright__", -] diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging/_compat.py b/.tox/py37-normal/lib/python3.7/site-packages/packaging/_compat.py deleted file mode 100644 index 25da473..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging/_compat.py +++ /dev/null @@ -1,31 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import sys - - -PY2 = sys.version_info[0] == 2 -PY3 = sys.version_info[0] == 3 - -# flake8: noqa - -if PY3: - string_types = (str,) -else: - string_types = (basestring,) - - -def with_metaclass(meta, *bases): - """ - Create a base class with a metaclass. - """ - # This requires a bit of explanation: the basic idea is to make a dummy - # metaclass for one level of class instantiation that replaces itself with - # the actual metaclass. - class metaclass(meta): - def __new__(cls, name, this_bases, d): - return meta(name, bases, d) - - return type.__new__(metaclass, "temporary_class", (), {}) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging/_structures.py b/.tox/py37-normal/lib/python3.7/site-packages/packaging/_structures.py deleted file mode 100644 index 68dcca6..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging/_structures.py +++ /dev/null @@ -1,68 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - - -class Infinity(object): - def __repr__(self): - return "Infinity" - - def __hash__(self): - return hash(repr(self)) - - def __lt__(self, other): - return False - - def __le__(self, other): - return False - - def __eq__(self, other): - return isinstance(other, self.__class__) - - def __ne__(self, other): - return not isinstance(other, self.__class__) - - def __gt__(self, other): - return True - - def __ge__(self, other): - return True - - def __neg__(self): - return NegativeInfinity - - -Infinity = Infinity() - - -class NegativeInfinity(object): - def __repr__(self): - return "-Infinity" - - def __hash__(self): - return hash(repr(self)) - - def __lt__(self, other): - return True - - def __le__(self, other): - return True - - def __eq__(self, other): - return isinstance(other, self.__class__) - - def __ne__(self, other): - return not isinstance(other, self.__class__) - - def __gt__(self, other): - return False - - def __ge__(self, other): - return False - - def __neg__(self): - return Infinity - - -NegativeInfinity = NegativeInfinity() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging/markers.py b/.tox/py37-normal/lib/python3.7/site-packages/packaging/markers.py deleted file mode 100644 index 3b8af32..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging/markers.py +++ /dev/null @@ -1,296 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import operator -import os -import platform -import sys - -from pyparsing import ParseException, ParseResults, stringStart, stringEnd -from pyparsing import ZeroOrMore, Group, Forward, QuotedString -from pyparsing import Literal as L # noqa - -from ._compat import string_types -from .specifiers import Specifier, InvalidSpecifier - - -__all__ = [ - "InvalidMarker", - "UndefinedComparison", - "UndefinedEnvironmentName", - "Marker", - "default_environment", -] - - -class InvalidMarker(ValueError): - """ - An invalid marker was found, users should refer to PEP 508. - """ - - -class UndefinedComparison(ValueError): - """ - An invalid operation was attempted on a value that doesn't support it. - """ - - -class UndefinedEnvironmentName(ValueError): - """ - A name was attempted to be used that does not exist inside of the - environment. - """ - - -class Node(object): - def __init__(self, value): - self.value = value - - def __str__(self): - return str(self.value) - - def __repr__(self): - return "<{0}({1!r})>".format(self.__class__.__name__, str(self)) - - def serialize(self): - raise NotImplementedError - - -class Variable(Node): - def serialize(self): - return str(self) - - -class Value(Node): - def serialize(self): - return '"{0}"'.format(self) - - -class Op(Node): - def serialize(self): - return str(self) - - -VARIABLE = ( - L("implementation_version") - | L("platform_python_implementation") - | L("implementation_name") - | L("python_full_version") - | L("platform_release") - | L("platform_version") - | L("platform_machine") - | L("platform_system") - | L("python_version") - | L("sys_platform") - | L("os_name") - | L("os.name") - | L("sys.platform") # PEP-345 - | L("platform.version") # PEP-345 - | L("platform.machine") # PEP-345 - | L("platform.python_implementation") # PEP-345 - | L("python_implementation") # PEP-345 - | L("extra") # undocumented setuptools legacy -) -ALIASES = { - "os.name": "os_name", - "sys.platform": "sys_platform", - "platform.version": "platform_version", - "platform.machine": "platform_machine", - "platform.python_implementation": "platform_python_implementation", - "python_implementation": "platform_python_implementation", -} -VARIABLE.setParseAction(lambda s, l, t: Variable(ALIASES.get(t[0], t[0]))) - -VERSION_CMP = ( - L("===") | L("==") | L(">=") | L("<=") | L("!=") | L("~=") | L(">") | L("<") -) - -MARKER_OP = VERSION_CMP | L("not in") | L("in") -MARKER_OP.setParseAction(lambda s, l, t: Op(t[0])) - -MARKER_VALUE = QuotedString("'") | QuotedString('"') -MARKER_VALUE.setParseAction(lambda s, l, t: Value(t[0])) - -BOOLOP = L("and") | L("or") - -MARKER_VAR = VARIABLE | MARKER_VALUE - -MARKER_ITEM = Group(MARKER_VAR + MARKER_OP + MARKER_VAR) -MARKER_ITEM.setParseAction(lambda s, l, t: tuple(t[0])) - -LPAREN = L("(").suppress() -RPAREN = L(")").suppress() - -MARKER_EXPR = Forward() -MARKER_ATOM = MARKER_ITEM | Group(LPAREN + MARKER_EXPR + RPAREN) -MARKER_EXPR << MARKER_ATOM + ZeroOrMore(BOOLOP + MARKER_EXPR) - -MARKER = stringStart + MARKER_EXPR + stringEnd - - -def _coerce_parse_result(results): - if isinstance(results, ParseResults): - return [_coerce_parse_result(i) for i in results] - else: - return results - - -def _format_marker(marker, first=True): - assert isinstance(marker, (list, tuple, string_types)) - - # Sometimes we have a structure like [[...]] which is a single item list - # where the single item is itself it's own list. In that case we want skip - # the rest of this function so that we don't get extraneous () on the - # outside. - if ( - isinstance(marker, list) - and len(marker) == 1 - and isinstance(marker[0], (list, tuple)) - ): - return _format_marker(marker[0]) - - if isinstance(marker, list): - inner = (_format_marker(m, first=False) for m in marker) - if first: - return " ".join(inner) - else: - return "(" + " ".join(inner) + ")" - elif isinstance(marker, tuple): - return " ".join([m.serialize() for m in marker]) - else: - return marker - - -_operators = { - "in": lambda lhs, rhs: lhs in rhs, - "not in": lambda lhs, rhs: lhs not in rhs, - "<": operator.lt, - "<=": operator.le, - "==": operator.eq, - "!=": operator.ne, - ">=": operator.ge, - ">": operator.gt, -} - - -def _eval_op(lhs, op, rhs): - try: - spec = Specifier("".join([op.serialize(), rhs])) - except InvalidSpecifier: - pass - else: - return spec.contains(lhs) - - oper = _operators.get(op.serialize()) - if oper is None: - raise UndefinedComparison( - "Undefined {0!r} on {1!r} and {2!r}.".format(op, lhs, rhs) - ) - - return oper(lhs, rhs) - - -_undefined = object() - - -def _get_env(environment, name): - value = environment.get(name, _undefined) - - if value is _undefined: - raise UndefinedEnvironmentName( - "{0!r} does not exist in evaluation environment.".format(name) - ) - - return value - - -def _evaluate_markers(markers, environment): - groups = [[]] - - for marker in markers: - assert isinstance(marker, (list, tuple, string_types)) - - if isinstance(marker, list): - groups[-1].append(_evaluate_markers(marker, environment)) - elif isinstance(marker, tuple): - lhs, op, rhs = marker - - if isinstance(lhs, Variable): - lhs_value = _get_env(environment, lhs.value) - rhs_value = rhs.value - else: - lhs_value = lhs.value - rhs_value = _get_env(environment, rhs.value) - - groups[-1].append(_eval_op(lhs_value, op, rhs_value)) - else: - assert marker in ["and", "or"] - if marker == "or": - groups.append([]) - - return any(all(item) for item in groups) - - -def format_full_version(info): - version = "{0.major}.{0.minor}.{0.micro}".format(info) - kind = info.releaselevel - if kind != "final": - version += kind[0] + str(info.serial) - return version - - -def default_environment(): - if hasattr(sys, "implementation"): - iver = format_full_version(sys.implementation.version) - implementation_name = sys.implementation.name - else: - iver = "0" - implementation_name = "" - - return { - "implementation_name": implementation_name, - "implementation_version": iver, - "os_name": os.name, - "platform_machine": platform.machine(), - "platform_release": platform.release(), - "platform_system": platform.system(), - "platform_version": platform.version(), - "python_full_version": platform.python_version(), - "platform_python_implementation": platform.python_implementation(), - "python_version": ".".join(platform.python_version_tuple()[:2]), - "sys_platform": sys.platform, - } - - -class Marker(object): - def __init__(self, marker): - try: - self._markers = _coerce_parse_result(MARKER.parseString(marker)) - except ParseException as e: - err_str = "Invalid marker: {0!r}, parse error at {1!r}".format( - marker, marker[e.loc : e.loc + 8] - ) - raise InvalidMarker(err_str) - - def __str__(self): - return _format_marker(self._markers) - - def __repr__(self): - return "".format(str(self)) - - def evaluate(self, environment=None): - """Evaluate a marker. - - Return the boolean from evaluating the given marker against the - environment. environment is an optional argument to override all or - part of the determined environment. - - The environment is determined from the current Python process. - """ - current_environment = default_environment() - if environment is not None: - current_environment.update(environment) - - return _evaluate_markers(self._markers, current_environment) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging/requirements.py b/.tox/py37-normal/lib/python3.7/site-packages/packaging/requirements.py deleted file mode 100644 index 4d9688b..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging/requirements.py +++ /dev/null @@ -1,138 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import string -import re - -from pyparsing import stringStart, stringEnd, originalTextFor, ParseException -from pyparsing import ZeroOrMore, Word, Optional, Regex, Combine -from pyparsing import Literal as L # noqa -from six.moves.urllib import parse as urlparse - -from .markers import MARKER_EXPR, Marker -from .specifiers import LegacySpecifier, Specifier, SpecifierSet - - -class InvalidRequirement(ValueError): - """ - An invalid requirement was found, users should refer to PEP 508. - """ - - -ALPHANUM = Word(string.ascii_letters + string.digits) - -LBRACKET = L("[").suppress() -RBRACKET = L("]").suppress() -LPAREN = L("(").suppress() -RPAREN = L(")").suppress() -COMMA = L(",").suppress() -SEMICOLON = L(";").suppress() -AT = L("@").suppress() - -PUNCTUATION = Word("-_.") -IDENTIFIER_END = ALPHANUM | (ZeroOrMore(PUNCTUATION) + ALPHANUM) -IDENTIFIER = Combine(ALPHANUM + ZeroOrMore(IDENTIFIER_END)) - -NAME = IDENTIFIER("name") -EXTRA = IDENTIFIER - -URI = Regex(r"[^ ]+")("url") -URL = AT + URI - -EXTRAS_LIST = EXTRA + ZeroOrMore(COMMA + EXTRA) -EXTRAS = (LBRACKET + Optional(EXTRAS_LIST) + RBRACKET)("extras") - -VERSION_PEP440 = Regex(Specifier._regex_str, re.VERBOSE | re.IGNORECASE) -VERSION_LEGACY = Regex(LegacySpecifier._regex_str, re.VERBOSE | re.IGNORECASE) - -VERSION_ONE = VERSION_PEP440 ^ VERSION_LEGACY -VERSION_MANY = Combine( - VERSION_ONE + ZeroOrMore(COMMA + VERSION_ONE), joinString=",", adjacent=False -)("_raw_spec") -_VERSION_SPEC = Optional(((LPAREN + VERSION_MANY + RPAREN) | VERSION_MANY)) -_VERSION_SPEC.setParseAction(lambda s, l, t: t._raw_spec or "") - -VERSION_SPEC = originalTextFor(_VERSION_SPEC)("specifier") -VERSION_SPEC.setParseAction(lambda s, l, t: t[1]) - -MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") -MARKER_EXPR.setParseAction( - lambda s, l, t: Marker(s[t._original_start : t._original_end]) -) -MARKER_SEPARATOR = SEMICOLON -MARKER = MARKER_SEPARATOR + MARKER_EXPR - -VERSION_AND_MARKER = VERSION_SPEC + Optional(MARKER) -URL_AND_MARKER = URL + Optional(MARKER) - -NAMED_REQUIREMENT = NAME + Optional(EXTRAS) + (URL_AND_MARKER | VERSION_AND_MARKER) - -REQUIREMENT = stringStart + NAMED_REQUIREMENT + stringEnd -# pyparsing isn't thread safe during initialization, so we do it eagerly, see -# issue #104 -REQUIREMENT.parseString("x[]") - - -class Requirement(object): - """Parse a requirement. - - Parse a given requirement string into its parts, such as name, specifier, - URL, and extras. Raises InvalidRequirement on a badly-formed requirement - string. - """ - - # TODO: Can we test whether something is contained within a requirement? - # If so how do we do that? Do we need to test against the _name_ of - # the thing as well as the version? What about the markers? - # TODO: Can we normalize the name and extra name? - - def __init__(self, requirement_string): - try: - req = REQUIREMENT.parseString(requirement_string) - except ParseException as e: - raise InvalidRequirement( - 'Parse error at "{0!r}": {1}'.format( - requirement_string[e.loc : e.loc + 8], e.msg - ) - ) - - self.name = req.name - if req.url: - parsed_url = urlparse.urlparse(req.url) - if parsed_url.scheme == "file": - if urlparse.urlunparse(parsed_url) != req.url: - raise InvalidRequirement("Invalid URL given") - elif not (parsed_url.scheme and parsed_url.netloc) or ( - not parsed_url.scheme and not parsed_url.netloc - ): - raise InvalidRequirement("Invalid URL: {0}".format(req.url)) - self.url = req.url - else: - self.url = None - self.extras = set(req.extras.asList() if req.extras else []) - self.specifier = SpecifierSet(req.specifier) - self.marker = req.marker if req.marker else None - - def __str__(self): - parts = [self.name] - - if self.extras: - parts.append("[{0}]".format(",".join(sorted(self.extras)))) - - if self.specifier: - parts.append(str(self.specifier)) - - if self.url: - parts.append("@ {0}".format(self.url)) - if self.marker: - parts.append(" ") - - if self.marker: - parts.append("; {0}".format(self.marker)) - - return "".join(parts) - - def __repr__(self): - return "".format(str(self)) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging/specifiers.py b/.tox/py37-normal/lib/python3.7/site-packages/packaging/specifiers.py deleted file mode 100644 index 743576a..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging/specifiers.py +++ /dev/null @@ -1,749 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import abc -import functools -import itertools -import re - -from ._compat import string_types, with_metaclass -from .version import Version, LegacyVersion, parse - - -class InvalidSpecifier(ValueError): - """ - An invalid specifier was found, users should refer to PEP 440. - """ - - -class BaseSpecifier(with_metaclass(abc.ABCMeta, object)): - @abc.abstractmethod - def __str__(self): - """ - Returns the str representation of this Specifier like object. This - should be representative of the Specifier itself. - """ - - @abc.abstractmethod - def __hash__(self): - """ - Returns a hash value for this Specifier like object. - """ - - @abc.abstractmethod - def __eq__(self, other): - """ - Returns a boolean representing whether or not the two Specifier like - objects are equal. - """ - - @abc.abstractmethod - def __ne__(self, other): - """ - Returns a boolean representing whether or not the two Specifier like - objects are not equal. - """ - - @abc.abstractproperty - def prereleases(self): - """ - Returns whether or not pre-releases as a whole are allowed by this - specifier. - """ - - @prereleases.setter - def prereleases(self, value): - """ - Sets whether or not pre-releases as a whole are allowed by this - specifier. - """ - - @abc.abstractmethod - def contains(self, item, prereleases=None): - """ - Determines if the given item is contained within this specifier. - """ - - @abc.abstractmethod - def filter(self, iterable, prereleases=None): - """ - Takes an iterable of items and filters them so that only items which - are contained within this specifier are allowed in it. - """ - - -class _IndividualSpecifier(BaseSpecifier): - - _operators = {} - - def __init__(self, spec="", prereleases=None): - match = self._regex.search(spec) - if not match: - raise InvalidSpecifier("Invalid specifier: '{0}'".format(spec)) - - self._spec = (match.group("operator").strip(), match.group("version").strip()) - - # Store whether or not this Specifier should accept prereleases - self._prereleases = prereleases - - def __repr__(self): - pre = ( - ", prereleases={0!r}".format(self.prereleases) - if self._prereleases is not None - else "" - ) - - return "<{0}({1!r}{2})>".format(self.__class__.__name__, str(self), pre) - - def __str__(self): - return "{0}{1}".format(*self._spec) - - def __hash__(self): - return hash(self._spec) - - def __eq__(self, other): - if isinstance(other, string_types): - try: - other = self.__class__(other) - except InvalidSpecifier: - return NotImplemented - elif not isinstance(other, self.__class__): - return NotImplemented - - return self._spec == other._spec - - def __ne__(self, other): - if isinstance(other, string_types): - try: - other = self.__class__(other) - except InvalidSpecifier: - return NotImplemented - elif not isinstance(other, self.__class__): - return NotImplemented - - return self._spec != other._spec - - def _get_operator(self, op): - return getattr(self, "_compare_{0}".format(self._operators[op])) - - def _coerce_version(self, version): - if not isinstance(version, (LegacyVersion, Version)): - version = parse(version) - return version - - @property - def operator(self): - return self._spec[0] - - @property - def version(self): - return self._spec[1] - - @property - def prereleases(self): - return self._prereleases - - @prereleases.setter - def prereleases(self, value): - self._prereleases = value - - def __contains__(self, item): - return self.contains(item) - - def contains(self, item, prereleases=None): - # Determine if prereleases are to be allowed or not. - if prereleases is None: - prereleases = self.prereleases - - # Normalize item to a Version or LegacyVersion, this allows us to have - # a shortcut for ``"2.0" in Specifier(">=2") - item = self._coerce_version(item) - - # Determine if we should be supporting prereleases in this specifier - # or not, if we do not support prereleases than we can short circuit - # logic if this version is a prereleases. - if item.is_prerelease and not prereleases: - return False - - # Actually do the comparison to determine if this item is contained - # within this Specifier or not. - return self._get_operator(self.operator)(item, self.version) - - def filter(self, iterable, prereleases=None): - yielded = False - found_prereleases = [] - - kw = {"prereleases": prereleases if prereleases is not None else True} - - # Attempt to iterate over all the values in the iterable and if any of - # them match, yield them. - for version in iterable: - parsed_version = self._coerce_version(version) - - if self.contains(parsed_version, **kw): - # If our version is a prerelease, and we were not set to allow - # prereleases, then we'll store it for later incase nothing - # else matches this specifier. - if parsed_version.is_prerelease and not ( - prereleases or self.prereleases - ): - found_prereleases.append(version) - # Either this is not a prerelease, or we should have been - # accepting prereleases from the beginning. - else: - yielded = True - yield version - - # Now that we've iterated over everything, determine if we've yielded - # any values, and if we have not and we have any prereleases stored up - # then we will go ahead and yield the prereleases. - if not yielded and found_prereleases: - for version in found_prereleases: - yield version - - -class LegacySpecifier(_IndividualSpecifier): - - _regex_str = r""" - (?P(==|!=|<=|>=|<|>)) - \s* - (?P - [^,;\s)]* # Since this is a "legacy" specifier, and the version - # string can be just about anything, we match everything - # except for whitespace, a semi-colon for marker support, - # a closing paren since versions can be enclosed in - # them, and a comma since it's a version separator. - ) - """ - - _regex = re.compile(r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE) - - _operators = { - "==": "equal", - "!=": "not_equal", - "<=": "less_than_equal", - ">=": "greater_than_equal", - "<": "less_than", - ">": "greater_than", - } - - def _coerce_version(self, version): - if not isinstance(version, LegacyVersion): - version = LegacyVersion(str(version)) - return version - - def _compare_equal(self, prospective, spec): - return prospective == self._coerce_version(spec) - - def _compare_not_equal(self, prospective, spec): - return prospective != self._coerce_version(spec) - - def _compare_less_than_equal(self, prospective, spec): - return prospective <= self._coerce_version(spec) - - def _compare_greater_than_equal(self, prospective, spec): - return prospective >= self._coerce_version(spec) - - def _compare_less_than(self, prospective, spec): - return prospective < self._coerce_version(spec) - - def _compare_greater_than(self, prospective, spec): - return prospective > self._coerce_version(spec) - - -def _require_version_compare(fn): - @functools.wraps(fn) - def wrapped(self, prospective, spec): - if not isinstance(prospective, Version): - return False - return fn(self, prospective, spec) - - return wrapped - - -class Specifier(_IndividualSpecifier): - - _regex_str = r""" - (?P(~=|==|!=|<=|>=|<|>|===)) - (?P - (?: - # The identity operators allow for an escape hatch that will - # do an exact string match of the version you wish to install. - # This will not be parsed by PEP 440 and we cannot determine - # any semantic meaning from it. This operator is discouraged - # but included entirely as an escape hatch. - (?<====) # Only match for the identity operator - \s* - [^\s]* # We just match everything, except for whitespace - # since we are only testing for strict identity. - ) - | - (?: - # The (non)equality operators allow for wild card and local - # versions to be specified so we have to define these two - # operators separately to enable that. - (?<===|!=) # Only match for equals and not equals - - \s* - v? - (?:[0-9]+!)? # epoch - [0-9]+(?:\.[0-9]+)* # release - (?: # pre release - [-_\.]? - (a|b|c|rc|alpha|beta|pre|preview) - [-_\.]? - [0-9]* - )? - (?: # post release - (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) - )? - - # You cannot use a wild card and a dev or local version - # together so group them with a | and make them optional. - (?: - (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release - (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local - | - \.\* # Wild card syntax of .* - )? - ) - | - (?: - # The compatible operator requires at least two digits in the - # release segment. - (?<=~=) # Only match for the compatible operator - - \s* - v? - (?:[0-9]+!)? # epoch - [0-9]+(?:\.[0-9]+)+ # release (We have a + instead of a *) - (?: # pre release - [-_\.]? - (a|b|c|rc|alpha|beta|pre|preview) - [-_\.]? - [0-9]* - )? - (?: # post release - (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) - )? - (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release - ) - | - (?: - # All other operators only allow a sub set of what the - # (non)equality operators do. Specifically they do not allow - # local versions to be specified nor do they allow the prefix - # matching wild cards. - (?=": "greater_than_equal", - "<": "less_than", - ">": "greater_than", - "===": "arbitrary", - } - - @_require_version_compare - def _compare_compatible(self, prospective, spec): - # Compatible releases have an equivalent combination of >= and ==. That - # is that ~=2.2 is equivalent to >=2.2,==2.*. This allows us to - # implement this in terms of the other specifiers instead of - # implementing it ourselves. The only thing we need to do is construct - # the other specifiers. - - # We want everything but the last item in the version, but we want to - # ignore post and dev releases and we want to treat the pre-release as - # it's own separate segment. - prefix = ".".join( - list( - itertools.takewhile( - lambda x: (not x.startswith("post") and not x.startswith("dev")), - _version_split(spec), - ) - )[:-1] - ) - - # Add the prefix notation to the end of our string - prefix += ".*" - - return self._get_operator(">=")(prospective, spec) and self._get_operator("==")( - prospective, prefix - ) - - @_require_version_compare - def _compare_equal(self, prospective, spec): - # We need special logic to handle prefix matching - if spec.endswith(".*"): - # In the case of prefix matching we want to ignore local segment. - prospective = Version(prospective.public) - # Split the spec out by dots, and pretend that there is an implicit - # dot in between a release segment and a pre-release segment. - spec = _version_split(spec[:-2]) # Remove the trailing .* - - # Split the prospective version out by dots, and pretend that there - # is an implicit dot in between a release segment and a pre-release - # segment. - prospective = _version_split(str(prospective)) - - # Shorten the prospective version to be the same length as the spec - # so that we can determine if the specifier is a prefix of the - # prospective version or not. - prospective = prospective[: len(spec)] - - # Pad out our two sides with zeros so that they both equal the same - # length. - spec, prospective = _pad_version(spec, prospective) - else: - # Convert our spec string into a Version - spec = Version(spec) - - # If the specifier does not have a local segment, then we want to - # act as if the prospective version also does not have a local - # segment. - if not spec.local: - prospective = Version(prospective.public) - - return prospective == spec - - @_require_version_compare - def _compare_not_equal(self, prospective, spec): - return not self._compare_equal(prospective, spec) - - @_require_version_compare - def _compare_less_than_equal(self, prospective, spec): - return prospective <= Version(spec) - - @_require_version_compare - def _compare_greater_than_equal(self, prospective, spec): - return prospective >= Version(spec) - - @_require_version_compare - def _compare_less_than(self, prospective, spec): - # Convert our spec to a Version instance, since we'll want to work with - # it as a version. - spec = Version(spec) - - # Check to see if the prospective version is less than the spec - # version. If it's not we can short circuit and just return False now - # instead of doing extra unneeded work. - if not prospective < spec: - return False - - # This special case is here so that, unless the specifier itself - # includes is a pre-release version, that we do not accept pre-release - # versions for the version mentioned in the specifier (e.g. <3.1 should - # not match 3.1.dev0, but should match 3.0.dev0). - if not spec.is_prerelease and prospective.is_prerelease: - if Version(prospective.base_version) == Version(spec.base_version): - return False - - # If we've gotten to here, it means that prospective version is both - # less than the spec version *and* it's not a pre-release of the same - # version in the spec. - return True - - @_require_version_compare - def _compare_greater_than(self, prospective, spec): - # Convert our spec to a Version instance, since we'll want to work with - # it as a version. - spec = Version(spec) - - # Check to see if the prospective version is greater than the spec - # version. If it's not we can short circuit and just return False now - # instead of doing extra unneeded work. - if not prospective > spec: - return False - - # This special case is here so that, unless the specifier itself - # includes is a post-release version, that we do not accept - # post-release versions for the version mentioned in the specifier - # (e.g. >3.1 should not match 3.0.post0, but should match 3.2.post0). - if not spec.is_postrelease and prospective.is_postrelease: - if Version(prospective.base_version) == Version(spec.base_version): - return False - - # Ensure that we do not allow a local version of the version mentioned - # in the specifier, which is technically greater than, to match. - if prospective.local is not None: - if Version(prospective.base_version) == Version(spec.base_version): - return False - - # If we've gotten to here, it means that prospective version is both - # greater than the spec version *and* it's not a pre-release of the - # same version in the spec. - return True - - def _compare_arbitrary(self, prospective, spec): - return str(prospective).lower() == str(spec).lower() - - @property - def prereleases(self): - # If there is an explicit prereleases set for this, then we'll just - # blindly use that. - if self._prereleases is not None: - return self._prereleases - - # Look at all of our specifiers and determine if they are inclusive - # operators, and if they are if they are including an explicit - # prerelease. - operator, version = self._spec - if operator in ["==", ">=", "<=", "~=", "==="]: - # The == specifier can include a trailing .*, if it does we - # want to remove before parsing. - if operator == "==" and version.endswith(".*"): - version = version[:-2] - - # Parse the version, and if it is a pre-release than this - # specifier allows pre-releases. - if parse(version).is_prerelease: - return True - - return False - - @prereleases.setter - def prereleases(self, value): - self._prereleases = value - - -_prefix_regex = re.compile(r"^([0-9]+)((?:a|b|c|rc)[0-9]+)$") - - -def _version_split(version): - result = [] - for item in version.split("."): - match = _prefix_regex.search(item) - if match: - result.extend(match.groups()) - else: - result.append(item) - return result - - -def _pad_version(left, right): - left_split, right_split = [], [] - - # Get the release segment of our versions - left_split.append(list(itertools.takewhile(lambda x: x.isdigit(), left))) - right_split.append(list(itertools.takewhile(lambda x: x.isdigit(), right))) - - # Get the rest of our versions - left_split.append(left[len(left_split[0]) :]) - right_split.append(right[len(right_split[0]) :]) - - # Insert our padding - left_split.insert(1, ["0"] * max(0, len(right_split[0]) - len(left_split[0]))) - right_split.insert(1, ["0"] * max(0, len(left_split[0]) - len(right_split[0]))) - - return (list(itertools.chain(*left_split)), list(itertools.chain(*right_split))) - - -class SpecifierSet(BaseSpecifier): - def __init__(self, specifiers="", prereleases=None): - # Split on , to break each indidivual specifier into it's own item, and - # strip each item to remove leading/trailing whitespace. - specifiers = [s.strip() for s in specifiers.split(",") if s.strip()] - - # Parsed each individual specifier, attempting first to make it a - # Specifier and falling back to a LegacySpecifier. - parsed = set() - for specifier in specifiers: - try: - parsed.add(Specifier(specifier)) - except InvalidSpecifier: - parsed.add(LegacySpecifier(specifier)) - - # Turn our parsed specifiers into a frozen set and save them for later. - self._specs = frozenset(parsed) - - # Store our prereleases value so we can use it later to determine if - # we accept prereleases or not. - self._prereleases = prereleases - - def __repr__(self): - pre = ( - ", prereleases={0!r}".format(self.prereleases) - if self._prereleases is not None - else "" - ) - - return "".format(str(self), pre) - - def __str__(self): - return ",".join(sorted(str(s) for s in self._specs)) - - def __hash__(self): - return hash(self._specs) - - def __and__(self, other): - if isinstance(other, string_types): - other = SpecifierSet(other) - elif not isinstance(other, SpecifierSet): - return NotImplemented - - specifier = SpecifierSet() - specifier._specs = frozenset(self._specs | other._specs) - - if self._prereleases is None and other._prereleases is not None: - specifier._prereleases = other._prereleases - elif self._prereleases is not None and other._prereleases is None: - specifier._prereleases = self._prereleases - elif self._prereleases == other._prereleases: - specifier._prereleases = self._prereleases - else: - raise ValueError( - "Cannot combine SpecifierSets with True and False prerelease " - "overrides." - ) - - return specifier - - def __eq__(self, other): - if isinstance(other, string_types): - other = SpecifierSet(other) - elif isinstance(other, _IndividualSpecifier): - other = SpecifierSet(str(other)) - elif not isinstance(other, SpecifierSet): - return NotImplemented - - return self._specs == other._specs - - def __ne__(self, other): - if isinstance(other, string_types): - other = SpecifierSet(other) - elif isinstance(other, _IndividualSpecifier): - other = SpecifierSet(str(other)) - elif not isinstance(other, SpecifierSet): - return NotImplemented - - return self._specs != other._specs - - def __len__(self): - return len(self._specs) - - def __iter__(self): - return iter(self._specs) - - @property - def prereleases(self): - # If we have been given an explicit prerelease modifier, then we'll - # pass that through here. - if self._prereleases is not None: - return self._prereleases - - # If we don't have any specifiers, and we don't have a forced value, - # then we'll just return None since we don't know if this should have - # pre-releases or not. - if not self._specs: - return None - - # Otherwise we'll see if any of the given specifiers accept - # prereleases, if any of them do we'll return True, otherwise False. - return any(s.prereleases for s in self._specs) - - @prereleases.setter - def prereleases(self, value): - self._prereleases = value - - def __contains__(self, item): - return self.contains(item) - - def contains(self, item, prereleases=None): - # Ensure that our item is a Version or LegacyVersion instance. - if not isinstance(item, (LegacyVersion, Version)): - item = parse(item) - - # Determine if we're forcing a prerelease or not, if we're not forcing - # one for this particular filter call, then we'll use whatever the - # SpecifierSet thinks for whether or not we should support prereleases. - if prereleases is None: - prereleases = self.prereleases - - # We can determine if we're going to allow pre-releases by looking to - # see if any of the underlying items supports them. If none of them do - # and this item is a pre-release then we do not allow it and we can - # short circuit that here. - # Note: This means that 1.0.dev1 would not be contained in something - # like >=1.0.devabc however it would be in >=1.0.debabc,>0.0.dev0 - if not prereleases and item.is_prerelease: - return False - - # We simply dispatch to the underlying specs here to make sure that the - # given version is contained within all of them. - # Note: This use of all() here means that an empty set of specifiers - # will always return True, this is an explicit design decision. - return all(s.contains(item, prereleases=prereleases) for s in self._specs) - - def filter(self, iterable, prereleases=None): - # Determine if we're forcing a prerelease or not, if we're not forcing - # one for this particular filter call, then we'll use whatever the - # SpecifierSet thinks for whether or not we should support prereleases. - if prereleases is None: - prereleases = self.prereleases - - # If we have any specifiers, then we want to wrap our iterable in the - # filter method for each one, this will act as a logical AND amongst - # each specifier. - if self._specs: - for spec in self._specs: - iterable = spec.filter(iterable, prereleases=bool(prereleases)) - return iterable - # If we do not have any specifiers, then we need to have a rough filter - # which will filter out any pre-releases, unless there are no final - # releases, and which will filter out LegacyVersion in general. - else: - filtered = [] - found_prereleases = [] - - for item in iterable: - # Ensure that we some kind of Version class for this item. - if not isinstance(item, (LegacyVersion, Version)): - parsed_version = parse(item) - else: - parsed_version = item - - # Filter out any item which is parsed as a LegacyVersion - if isinstance(parsed_version, LegacyVersion): - continue - - # Store any item which is a pre-release for later unless we've - # already found a final version or we are accepting prereleases - if parsed_version.is_prerelease and not prereleases: - if not filtered: - found_prereleases.append(item) - else: - filtered.append(item) - - # If we've found no items except for pre-releases, then we'll go - # ahead and use the pre-releases - if not filtered and found_prereleases and prereleases is None: - return found_prereleases - - return filtered diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging/tags.py b/.tox/py37-normal/lib/python3.7/site-packages/packaging/tags.py deleted file mode 100644 index ec9942f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging/tags.py +++ /dev/null @@ -1,404 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import - -import distutils.util - -try: - from importlib.machinery import EXTENSION_SUFFIXES -except ImportError: # pragma: no cover - import imp - - EXTENSION_SUFFIXES = [x[0] for x in imp.get_suffixes()] - del imp -import platform -import re -import sys -import sysconfig -import warnings - - -INTERPRETER_SHORT_NAMES = { - "python": "py", # Generic. - "cpython": "cp", - "pypy": "pp", - "ironpython": "ip", - "jython": "jy", -} - - -_32_BIT_INTERPRETER = sys.maxsize <= 2 ** 32 - - -class Tag(object): - - __slots__ = ["_interpreter", "_abi", "_platform"] - - def __init__(self, interpreter, abi, platform): - self._interpreter = interpreter.lower() - self._abi = abi.lower() - self._platform = platform.lower() - - @property - def interpreter(self): - return self._interpreter - - @property - def abi(self): - return self._abi - - @property - def platform(self): - return self._platform - - def __eq__(self, other): - return ( - (self.platform == other.platform) - and (self.abi == other.abi) - and (self.interpreter == other.interpreter) - ) - - def __hash__(self): - return hash((self._interpreter, self._abi, self._platform)) - - def __str__(self): - return "{}-{}-{}".format(self._interpreter, self._abi, self._platform) - - def __repr__(self): - return "<{self} @ {self_id}>".format(self=self, self_id=id(self)) - - -def parse_tag(tag): - tags = set() - interpreters, abis, platforms = tag.split("-") - for interpreter in interpreters.split("."): - for abi in abis.split("."): - for platform_ in platforms.split("."): - tags.add(Tag(interpreter, abi, platform_)) - return frozenset(tags) - - -def _normalize_string(string): - return string.replace(".", "_").replace("-", "_") - - -def _cpython_interpreter(py_version): - # TODO: Is using py_version_nodot for interpreter version critical? - return "cp{major}{minor}".format(major=py_version[0], minor=py_version[1]) - - -def _cpython_abis(py_version): - abis = [] - version = "{}{}".format(*py_version[:2]) - debug = pymalloc = ucs4 = "" - with_debug = sysconfig.get_config_var("Py_DEBUG") - has_refcount = hasattr(sys, "gettotalrefcount") - # Windows doesn't set Py_DEBUG, so checking for support of debug-compiled - # extension modules is the best option. - # https://github.com/pypa/pip/issues/3383#issuecomment-173267692 - has_ext = "_d.pyd" in EXTENSION_SUFFIXES - if with_debug or (with_debug is None and (has_refcount or has_ext)): - debug = "d" - if py_version < (3, 8): - with_pymalloc = sysconfig.get_config_var("WITH_PYMALLOC") - if with_pymalloc or with_pymalloc is None: - pymalloc = "m" - if py_version < (3, 3): - unicode_size = sysconfig.get_config_var("Py_UNICODE_SIZE") - if unicode_size == 4 or ( - unicode_size is None and sys.maxunicode == 0x10FFFF - ): - ucs4 = "u" - elif debug: - # Debug builds can also load "normal" extension modules. - # We can also assume no UCS-4 or pymalloc requirement. - abis.append("cp{version}".format(version=version)) - abis.insert( - 0, - "cp{version}{debug}{pymalloc}{ucs4}".format( - version=version, debug=debug, pymalloc=pymalloc, ucs4=ucs4 - ), - ) - return abis - - -def _cpython_tags(py_version, interpreter, abis, platforms): - for abi in abis: - for platform_ in platforms: - yield Tag(interpreter, abi, platform_) - for tag in (Tag(interpreter, "abi3", platform_) for platform_ in platforms): - yield tag - for tag in (Tag(interpreter, "none", platform_) for platform_ in platforms): - yield tag - # PEP 384 was first implemented in Python 3.2. - for minor_version in range(py_version[1] - 1, 1, -1): - for platform_ in platforms: - interpreter = "cp{major}{minor}".format( - major=py_version[0], minor=minor_version - ) - yield Tag(interpreter, "abi3", platform_) - - -def _pypy_interpreter(): - return "pp{py_major}{pypy_major}{pypy_minor}".format( - py_major=sys.version_info[0], - pypy_major=sys.pypy_version_info.major, - pypy_minor=sys.pypy_version_info.minor, - ) - - -def _generic_abi(): - abi = sysconfig.get_config_var("SOABI") - if abi: - return _normalize_string(abi) - else: - return "none" - - -def _pypy_tags(py_version, interpreter, abi, platforms): - for tag in (Tag(interpreter, abi, platform) for platform in platforms): - yield tag - for tag in (Tag(interpreter, "none", platform) for platform in platforms): - yield tag - - -def _generic_tags(interpreter, py_version, abi, platforms): - for tag in (Tag(interpreter, abi, platform) for platform in platforms): - yield tag - if abi != "none": - tags = (Tag(interpreter, "none", platform_) for platform_ in platforms) - for tag in tags: - yield tag - - -def _py_interpreter_range(py_version): - """ - Yield Python versions in descending order. - - After the latest version, the major-only version will be yielded, and then - all following versions up to 'end'. - """ - yield "py{major}{minor}".format(major=py_version[0], minor=py_version[1]) - yield "py{major}".format(major=py_version[0]) - for minor in range(py_version[1] - 1, -1, -1): - yield "py{major}{minor}".format(major=py_version[0], minor=minor) - - -def _independent_tags(interpreter, py_version, platforms): - """ - Return the sequence of tags that are consistent across implementations. - - The tags consist of: - - py*-none- - - -none-any - - py*-none-any - """ - for version in _py_interpreter_range(py_version): - for platform_ in platforms: - yield Tag(version, "none", platform_) - yield Tag(interpreter, "none", "any") - for version in _py_interpreter_range(py_version): - yield Tag(version, "none", "any") - - -def _mac_arch(arch, is_32bit=_32_BIT_INTERPRETER): - if not is_32bit: - return arch - - if arch.startswith("ppc"): - return "ppc" - - return "i386" - - -def _mac_binary_formats(version, cpu_arch): - formats = [cpu_arch] - if cpu_arch == "x86_64": - if version < (10, 4): - return [] - formats.extend(["intel", "fat64", "fat32"]) - - elif cpu_arch == "i386": - if version < (10, 4): - return [] - formats.extend(["intel", "fat32", "fat"]) - - elif cpu_arch == "ppc64": - # TODO: Need to care about 32-bit PPC for ppc64 through 10.2? - if version > (10, 5) or version < (10, 4): - return [] - formats.append("fat64") - - elif cpu_arch == "ppc": - if version > (10, 6): - return [] - formats.extend(["fat32", "fat"]) - - formats.append("universal") - return formats - - -def _mac_platforms(version=None, arch=None): - version_str, _, cpu_arch = platform.mac_ver() - if version is None: - version = tuple(map(int, version_str.split(".")[:2])) - if arch is None: - arch = _mac_arch(cpu_arch) - platforms = [] - for minor_version in range(version[1], -1, -1): - compat_version = version[0], minor_version - binary_formats = _mac_binary_formats(compat_version, arch) - for binary_format in binary_formats: - platforms.append( - "macosx_{major}_{minor}_{binary_format}".format( - major=compat_version[0], - minor=compat_version[1], - binary_format=binary_format, - ) - ) - return platforms - - -# From PEP 513. -def _is_manylinux_compatible(name, glibc_version): - # Check for presence of _manylinux module. - try: - import _manylinux - - return bool(getattr(_manylinux, name + "_compatible")) - except (ImportError, AttributeError): - # Fall through to heuristic check below. - pass - - return _have_compatible_glibc(*glibc_version) - - -def _glibc_version_string(): - # Returns glibc version string, or None if not using glibc. - import ctypes - - # ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen - # manpage says, "If filename is NULL, then the returned handle is for the - # main program". This way we can let the linker do the work to figure out - # which libc our process is actually using. - process_namespace = ctypes.CDLL(None) - try: - gnu_get_libc_version = process_namespace.gnu_get_libc_version - except AttributeError: - # Symbol doesn't exist -> therefore, we are not linked to - # glibc. - return None - - # Call gnu_get_libc_version, which returns a string like "2.5" - gnu_get_libc_version.restype = ctypes.c_char_p - version_str = gnu_get_libc_version() - # py2 / py3 compatibility: - if not isinstance(version_str, str): - version_str = version_str.decode("ascii") - - return version_str - - -# Separated out from have_compatible_glibc for easier unit testing. -def _check_glibc_version(version_str, required_major, minimum_minor): - # Parse string and check against requested version. - # - # We use a regexp instead of str.split because we want to discard any - # random junk that might come after the minor version -- this might happen - # in patched/forked versions of glibc (e.g. Linaro's version of glibc - # uses version strings like "2.20-2014.11"). See gh-3588. - m = re.match(r"(?P[0-9]+)\.(?P[0-9]+)", version_str) - if not m: - warnings.warn( - "Expected glibc version with 2 components major.minor," - " got: %s" % version_str, - RuntimeWarning, - ) - return False - return ( - int(m.group("major")) == required_major - and int(m.group("minor")) >= minimum_minor - ) - - -def _have_compatible_glibc(required_major, minimum_minor): - version_str = _glibc_version_string() - if version_str is None: - return False - return _check_glibc_version(version_str, required_major, minimum_minor) - - -def _linux_platforms(is_32bit=_32_BIT_INTERPRETER): - linux = _normalize_string(distutils.util.get_platform()) - if linux == "linux_x86_64" and is_32bit: - linux = "linux_i686" - manylinux_support = ( - ("manylinux2014", (2, 17)), # CentOS 7 w/ glibc 2.17 (PEP 599) - ("manylinux2010", (2, 12)), # CentOS 6 w/ glibc 2.12 (PEP 571) - ("manylinux1", (2, 5)), # CentOS 5 w/ glibc 2.5 (PEP 513) - ) - manylinux_support_iter = iter(manylinux_support) - for name, glibc_version in manylinux_support_iter: - if _is_manylinux_compatible(name, glibc_version): - platforms = [linux.replace("linux", name)] - break - else: - platforms = [] - # Support for a later manylinux implies support for an earlier version. - platforms += [linux.replace("linux", name) for name, _ in manylinux_support_iter] - platforms.append(linux) - return platforms - - -def _generic_platforms(): - platform = _normalize_string(distutils.util.get_platform()) - return [platform] - - -def _interpreter_name(): - name = platform.python_implementation().lower() - return INTERPRETER_SHORT_NAMES.get(name) or name - - -def _generic_interpreter(name, py_version): - version = sysconfig.get_config_var("py_version_nodot") - if not version: - version = "".join(map(str, py_version[:2])) - return "{name}{version}".format(name=name, version=version) - - -def sys_tags(): - """ - Returns the sequence of tag triples for the running interpreter. - - The order of the sequence corresponds to priority order for the - interpreter, from most to least important. - """ - py_version = sys.version_info[:2] - interpreter_name = _interpreter_name() - if platform.system() == "Darwin": - platforms = _mac_platforms() - elif platform.system() == "Linux": - platforms = _linux_platforms() - else: - platforms = _generic_platforms() - - if interpreter_name == "cp": - interpreter = _cpython_interpreter(py_version) - abis = _cpython_abis(py_version) - for tag in _cpython_tags(py_version, interpreter, abis, platforms): - yield tag - elif interpreter_name == "pp": - interpreter = _pypy_interpreter() - abi = _generic_abi() - for tag in _pypy_tags(py_version, interpreter, abi, platforms): - yield tag - else: - interpreter = _generic_interpreter(interpreter_name, py_version) - abi = _generic_abi() - for tag in _generic_tags(interpreter, py_version, abi, platforms): - yield tag - for tag in _independent_tags(interpreter, py_version, platforms): - yield tag diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging/utils.py b/.tox/py37-normal/lib/python3.7/site-packages/packaging/utils.py deleted file mode 100644 index 8841878..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging/utils.py +++ /dev/null @@ -1,57 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import re - -from .version import InvalidVersion, Version - - -_canonicalize_regex = re.compile(r"[-_.]+") - - -def canonicalize_name(name): - # This is taken from PEP 503. - return _canonicalize_regex.sub("-", name).lower() - - -def canonicalize_version(version): - """ - This is very similar to Version.__str__, but has one subtle differences - with the way it handles the release segment. - """ - - try: - version = Version(version) - except InvalidVersion: - # Legacy versions cannot be normalized - return version - - parts = [] - - # Epoch - if version.epoch != 0: - parts.append("{0}!".format(version.epoch)) - - # Release segment - # NB: This strips trailing '.0's to normalize - parts.append(re.sub(r"(\.0)+$", "", ".".join(str(x) for x in version.release))) - - # Pre-release - if version.pre is not None: - parts.append("".join(str(x) for x in version.pre)) - - # Post-release - if version.post is not None: - parts.append(".post{0}".format(version.post)) - - # Development release - if version.dev is not None: - parts.append(".dev{0}".format(version.dev)) - - # Local version segment - if version.local is not None: - parts.append("+{0}".format(version.local)) - - return "".join(parts) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/packaging/version.py b/.tox/py37-normal/lib/python3.7/site-packages/packaging/version.py deleted file mode 100644 index 95157a1..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/packaging/version.py +++ /dev/null @@ -1,420 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import collections -import itertools -import re - -from ._structures import Infinity - - -__all__ = ["parse", "Version", "LegacyVersion", "InvalidVersion", "VERSION_PATTERN"] - - -_Version = collections.namedtuple( - "_Version", ["epoch", "release", "dev", "pre", "post", "local"] -) - - -def parse(version): - """ - Parse the given version string and return either a :class:`Version` object - or a :class:`LegacyVersion` object depending on if the given version is - a valid PEP 440 version or a legacy version. - """ - try: - return Version(version) - except InvalidVersion: - return LegacyVersion(version) - - -class InvalidVersion(ValueError): - """ - An invalid version was found, users should refer to PEP 440. - """ - - -class _BaseVersion(object): - def __hash__(self): - return hash(self._key) - - def __lt__(self, other): - return self._compare(other, lambda s, o: s < o) - - def __le__(self, other): - return self._compare(other, lambda s, o: s <= o) - - def __eq__(self, other): - return self._compare(other, lambda s, o: s == o) - - def __ge__(self, other): - return self._compare(other, lambda s, o: s >= o) - - def __gt__(self, other): - return self._compare(other, lambda s, o: s > o) - - def __ne__(self, other): - return self._compare(other, lambda s, o: s != o) - - def _compare(self, other, method): - if not isinstance(other, _BaseVersion): - return NotImplemented - - return method(self._key, other._key) - - -class LegacyVersion(_BaseVersion): - def __init__(self, version): - self._version = str(version) - self._key = _legacy_cmpkey(self._version) - - def __str__(self): - return self._version - - def __repr__(self): - return "".format(repr(str(self))) - - @property - def public(self): - return self._version - - @property - def base_version(self): - return self._version - - @property - def epoch(self): - return -1 - - @property - def release(self): - return None - - @property - def pre(self): - return None - - @property - def post(self): - return None - - @property - def dev(self): - return None - - @property - def local(self): - return None - - @property - def is_prerelease(self): - return False - - @property - def is_postrelease(self): - return False - - @property - def is_devrelease(self): - return False - - -_legacy_version_component_re = re.compile(r"(\d+ | [a-z]+ | \.| -)", re.VERBOSE) - -_legacy_version_replacement_map = { - "pre": "c", - "preview": "c", - "-": "final-", - "rc": "c", - "dev": "@", -} - - -def _parse_version_parts(s): - for part in _legacy_version_component_re.split(s): - part = _legacy_version_replacement_map.get(part, part) - - if not part or part == ".": - continue - - if part[:1] in "0123456789": - # pad for numeric comparison - yield part.zfill(8) - else: - yield "*" + part - - # ensure that alpha/beta/candidate are before final - yield "*final" - - -def _legacy_cmpkey(version): - # We hardcode an epoch of -1 here. A PEP 440 version can only have a epoch - # greater than or equal to 0. This will effectively put the LegacyVersion, - # which uses the defacto standard originally implemented by setuptools, - # as before all PEP 440 versions. - epoch = -1 - - # This scheme is taken from pkg_resources.parse_version setuptools prior to - # it's adoption of the packaging library. - parts = [] - for part in _parse_version_parts(version.lower()): - if part.startswith("*"): - # remove "-" before a prerelease tag - if part < "*final": - while parts and parts[-1] == "*final-": - parts.pop() - - # remove trailing zeros from each series of numeric parts - while parts and parts[-1] == "00000000": - parts.pop() - - parts.append(part) - parts = tuple(parts) - - return epoch, parts - - -# Deliberately not anchored to the start and end of the string, to make it -# easier for 3rd party code to reuse -VERSION_PATTERN = r""" - v? - (?: - (?:(?P[0-9]+)!)? # epoch - (?P[0-9]+(?:\.[0-9]+)*) # release segment - (?P

                                              # pre-release
    -            [-_\.]?
    -            (?P(a|b|c|rc|alpha|beta|pre|preview))
    -            [-_\.]?
    -            (?P[0-9]+)?
    -        )?
    -        (?P                                         # post release
    -            (?:-(?P[0-9]+))
    -            |
    -            (?:
    -                [-_\.]?
    -                (?Ppost|rev|r)
    -                [-_\.]?
    -                (?P[0-9]+)?
    -            )
    -        )?
    -        (?P                                          # dev release
    -            [-_\.]?
    -            (?Pdev)
    -            [-_\.]?
    -            (?P[0-9]+)?
    -        )?
    -    )
    -    (?:\+(?P[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
    -"""
    -
    -
    -class Version(_BaseVersion):
    -
    -    _regex = re.compile(r"^\s*" + VERSION_PATTERN + r"\s*$", re.VERBOSE | re.IGNORECASE)
    -
    -    def __init__(self, version):
    -        # Validate the version and parse it into pieces
    -        match = self._regex.search(version)
    -        if not match:
    -            raise InvalidVersion("Invalid version: '{0}'".format(version))
    -
    -        # Store the parsed out pieces of the version
    -        self._version = _Version(
    -            epoch=int(match.group("epoch")) if match.group("epoch") else 0,
    -            release=tuple(int(i) for i in match.group("release").split(".")),
    -            pre=_parse_letter_version(match.group("pre_l"), match.group("pre_n")),
    -            post=_parse_letter_version(
    -                match.group("post_l"), match.group("post_n1") or match.group("post_n2")
    -            ),
    -            dev=_parse_letter_version(match.group("dev_l"), match.group("dev_n")),
    -            local=_parse_local_version(match.group("local")),
    -        )
    -
    -        # Generate a key which will be used for sorting
    -        self._key = _cmpkey(
    -            self._version.epoch,
    -            self._version.release,
    -            self._version.pre,
    -            self._version.post,
    -            self._version.dev,
    -            self._version.local,
    -        )
    -
    -    def __repr__(self):
    -        return "".format(repr(str(self)))
    -
    -    def __str__(self):
    -        parts = []
    -
    -        # Epoch
    -        if self.epoch != 0:
    -            parts.append("{0}!".format(self.epoch))
    -
    -        # Release segment
    -        parts.append(".".join(str(x) for x in self.release))
    -
    -        # Pre-release
    -        if self.pre is not None:
    -            parts.append("".join(str(x) for x in self.pre))
    -
    -        # Post-release
    -        if self.post is not None:
    -            parts.append(".post{0}".format(self.post))
    -
    -        # Development release
    -        if self.dev is not None:
    -            parts.append(".dev{0}".format(self.dev))
    -
    -        # Local version segment
    -        if self.local is not None:
    -            parts.append("+{0}".format(self.local))
    -
    -        return "".join(parts)
    -
    -    @property
    -    def epoch(self):
    -        return self._version.epoch
    -
    -    @property
    -    def release(self):
    -        return self._version.release
    -
    -    @property
    -    def pre(self):
    -        return self._version.pre
    -
    -    @property
    -    def post(self):
    -        return self._version.post[1] if self._version.post else None
    -
    -    @property
    -    def dev(self):
    -        return self._version.dev[1] if self._version.dev else None
    -
    -    @property
    -    def local(self):
    -        if self._version.local:
    -            return ".".join(str(x) for x in self._version.local)
    -        else:
    -            return None
    -
    -    @property
    -    def public(self):
    -        return str(self).split("+", 1)[0]
    -
    -    @property
    -    def base_version(self):
    -        parts = []
    -
    -        # Epoch
    -        if self.epoch != 0:
    -            parts.append("{0}!".format(self.epoch))
    -
    -        # Release segment
    -        parts.append(".".join(str(x) for x in self.release))
    -
    -        return "".join(parts)
    -
    -    @property
    -    def is_prerelease(self):
    -        return self.dev is not None or self.pre is not None
    -
    -    @property
    -    def is_postrelease(self):
    -        return self.post is not None
    -
    -    @property
    -    def is_devrelease(self):
    -        return self.dev is not None
    -
    -
    -def _parse_letter_version(letter, number):
    -    if letter:
    -        # We consider there to be an implicit 0 in a pre-release if there is
    -        # not a numeral associated with it.
    -        if number is None:
    -            number = 0
    -
    -        # We normalize any letters to their lower case form
    -        letter = letter.lower()
    -
    -        # We consider some words to be alternate spellings of other words and
    -        # in those cases we want to normalize the spellings to our preferred
    -        # spelling.
    -        if letter == "alpha":
    -            letter = "a"
    -        elif letter == "beta":
    -            letter = "b"
    -        elif letter in ["c", "pre", "preview"]:
    -            letter = "rc"
    -        elif letter in ["rev", "r"]:
    -            letter = "post"
    -
    -        return letter, int(number)
    -    if not letter and number:
    -        # We assume if we are given a number, but we are not given a letter
    -        # then this is using the implicit post release syntax (e.g. 1.0-1)
    -        letter = "post"
    -
    -        return letter, int(number)
    -
    -
    -_local_version_separators = re.compile(r"[\._-]")
    -
    -
    -def _parse_local_version(local):
    -    """
    -    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    -    """
    -    if local is not None:
    -        return tuple(
    -            part.lower() if not part.isdigit() else int(part)
    -            for part in _local_version_separators.split(local)
    -        )
    -
    -
    -def _cmpkey(epoch, release, pre, post, dev, local):
    -    # When we compare a release version, we want to compare it with all of the
    -    # trailing zeros removed. So we'll use a reverse the list, drop all the now
    -    # leading zeros until we come to something non zero, then take the rest
    -    # re-reverse it back into the correct order and make it a tuple and use
    -    # that for our sorting key.
    -    release = tuple(
    -        reversed(list(itertools.dropwhile(lambda x: x == 0, reversed(release))))
    -    )
    -
    -    # We need to "trick" the sorting algorithm to put 1.0.dev0 before 1.0a0.
    -    # We'll do this by abusing the pre segment, but we _only_ want to do this
    -    # if there is not a pre or a post segment. If we have one of those then
    -    # the normal sorting rules will handle this case correctly.
    -    if pre is None and post is None and dev is not None:
    -        pre = -Infinity
    -    # Versions without a pre-release (except as noted above) should sort after
    -    # those with one.
    -    elif pre is None:
    -        pre = Infinity
    -
    -    # Versions without a post segment should sort before those with one.
    -    if post is None:
    -        post = -Infinity
    -
    -    # Versions without a development segment should sort after those with one.
    -    if dev is None:
    -        dev = Infinity
    -
    -    if local is None:
    -        # Versions without a local segment should sort before those with one.
    -        local = -Infinity
    -    else:
    -        # Versions with a local segment need that segment parsed to implement
    -        # the sorting rules in PEP440.
    -        # - Alpha numeric segments sort before numeric segments
    -        # - Alpha numeric segments sort lexicographically
    -        # - Numeric segments sort numerically
    -        # - Shorter versions sort before longer versions when the prefixes
    -        #   match exactly
    -        local = tuple((i, "") if isinstance(i, int) else (-Infinity, i) for i in local)
    -
    -    return epoch, release, pre, post, dev, local
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/INSTALLER b/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/INSTALLER
    deleted file mode 100644
    index a1b589e..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/INSTALLER
    +++ /dev/null
    @@ -1 +0,0 @@
    -pip
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/LICENSE.txt b/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/LICENSE.txt
    deleted file mode 100644
    index 737fec5..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/LICENSE.txt
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -Copyright (c) 2008-2019 The pip developers (see AUTHORS.txt file)
    -
    -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/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/METADATA b/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/METADATA
    deleted file mode 100644
    index 52ebaf5..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/METADATA
    +++ /dev/null
    @@ -1,81 +0,0 @@
    -Metadata-Version: 2.1
    -Name: pip
    -Version: 19.3
    -Summary: The PyPA recommended tool for installing Python packages.
    -Home-page: https://pip.pypa.io/
    -Author: The pip developers
    -Author-email: pypa-dev@groups.google.com
    -License: MIT
    -Keywords: distutils easy_install egg setuptools wheel virtualenv
    -Platform: UNKNOWN
    -Classifier: Development Status :: 5 - Production/Stable
    -Classifier: Intended Audience :: Developers
    -Classifier: License :: OSI Approved :: MIT License
    -Classifier: Topic :: Software Development :: Build Tools
    -Classifier: Programming Language :: Python
    -Classifier: Programming Language :: Python :: 2
    -Classifier: Programming Language :: Python :: 2.7
    -Classifier: Programming Language :: Python :: 3
    -Classifier: Programming Language :: Python :: 3.5
    -Classifier: Programming Language :: Python :: 3.6
    -Classifier: Programming Language :: Python :: 3.7
    -Classifier: Programming Language :: Python :: Implementation :: CPython
    -Classifier: Programming Language :: Python :: Implementation :: PyPy
    -Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*
    -
    -pip - The Python Package Installer
    -==================================
    -
    -.. image:: https://img.shields.io/pypi/v/pip.svg
    -   :target: https://pypi.org/project/pip/
    -
    -.. image:: https://readthedocs.org/projects/pip/badge/?version=latest
    -   :target: https://pip.pypa.io/en/latest
    -
    -pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.
    -
    -Please take a look at our documentation for how to install and use pip:
    -
    -* `Installation`_
    -* `Usage`_
    -
    -Updates are released regularly, with a new version every 3 months. More details can be found in our documentation:
    -
    -* `Release notes`_
    -* `Release process`_
    -
    -If you find bugs, need help, or want to talk to the developers please use our mailing lists or chat rooms:
    -
    -* `Issue tracking`_
    -* `Discourse channel`_
    -* `User IRC`_
    -
    -If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms:
    -
    -* `GitHub page`_
    -* `Dev documentation`_
    -* `Dev mailing list`_
    -* `Dev IRC`_
    -
    -Code of Conduct
    ----------------
    -
    -Everyone interacting in the pip project's codebases, issue trackers, chat
    -rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_.
    -
    -.. _package installer: https://packaging.python.org/en/latest/current/
    -.. _Python Package Index: https://pypi.org
    -.. _Installation: https://pip.pypa.io/en/stable/installing.html
    -.. _Usage: https://pip.pypa.io/en/stable/
    -.. _Release notes: https://pip.pypa.io/en/stable/news.html
    -.. _Release process: https://pip.pypa.io/en/latest/development/release-process/
    -.. _GitHub page: https://github.com/pypa/pip
    -.. _Dev documentation: https://pip.pypa.io/en/latest/development
    -.. _Issue tracking: https://github.com/pypa/pip/issues
    -.. _Discourse channel: https://discuss.python.org/c/packaging
    -.. _Dev mailing list: https://groups.google.com/forum/#!forum/pypa-dev
    -.. _User IRC: https://webchat.freenode.net/?channels=%23pypa
    -.. _Dev IRC: https://webchat.freenode.net/?channels=%23pypa-dev
    -.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/
    -
    -
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/RECORD b/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/RECORD
    deleted file mode 100644
    index 5c524c8..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/RECORD
    +++ /dev/null
    @@ -1,670 +0,0 @@
    -../../../bin/pip,sha256=RNEV_-gnqpIh0Fl1juH_x7Fqf0qY8ozVlLpv83ODxLk,260
    -../../../bin/pip3,sha256=RNEV_-gnqpIh0Fl1juH_x7Fqf0qY8ozVlLpv83ODxLk,260
    -../../../bin/pip3.7,sha256=RNEV_-gnqpIh0Fl1juH_x7Fqf0qY8ozVlLpv83ODxLk,260
    -pip-19.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
    -pip-19.3.dist-info/LICENSE.txt,sha256=W6Ifuwlk-TatfRU2LR7W1JMcyMj5_y1NkRkOEJvnRDE,1090
    -pip-19.3.dist-info/METADATA,sha256=o2Fy95hGNb3jvUeUR8z7anTqS867qjZTyIhf-ZS5RVg,3193
    -pip-19.3.dist-info/RECORD,,
    -pip-19.3.dist-info/WHEEL,sha256=8zNYZbwQSXoB9IfXOjPfeNwvAsALAjffgk27FqvCWbo,110
    -pip-19.3.dist-info/entry_points.txt,sha256=UgRCnURjFVRYG8T_Od_EGhoGPr0vPR8xGqp3_CdY2RY,113
    -pip-19.3.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
    -pip/__init__.py,sha256=sL2z8RzC86y_CASwQsBC5Y4j-ElVDBqFW6LAssg1QnY,21
    -pip/__main__.py,sha256=JhJZiiWUmlPTwFOZ7_L68hWG4nUVQTDTtwc1o_yWdWw,628
    -pip/__pycache__/__init__.cpython-37.pyc,,
    -pip/__pycache__/__main__.cpython-37.pyc,,
    -pip/_internal/__init__.py,sha256=4lqJ4waZxiP4QFg34znQ3j5zdyDsrWZkERPeLAs7lT8,80
    -pip/_internal/__pycache__/__init__.cpython-37.pyc,,
    -pip/_internal/__pycache__/build_env.cpython-37.pyc,,
    -pip/_internal/__pycache__/cache.cpython-37.pyc,,
    -pip/_internal/__pycache__/collector.cpython-37.pyc,,
    -pip/_internal/__pycache__/configuration.cpython-37.pyc,,
    -pip/_internal/__pycache__/download.cpython-37.pyc,,
    -pip/_internal/__pycache__/exceptions.cpython-37.pyc,,
    -pip/_internal/__pycache__/index.cpython-37.pyc,,
    -pip/_internal/__pycache__/legacy_resolve.cpython-37.pyc,,
    -pip/_internal/__pycache__/locations.cpython-37.pyc,,
    -pip/_internal/__pycache__/main.cpython-37.pyc,,
    -pip/_internal/__pycache__/pep425tags.cpython-37.pyc,,
    -pip/_internal/__pycache__/pyproject.cpython-37.pyc,,
    -pip/_internal/__pycache__/self_outdated_check.cpython-37.pyc,,
    -pip/_internal/__pycache__/wheel.cpython-37.pyc,,
    -pip/_internal/build_env.py,sha256=h8_IrSllK1aEv4cmoO9G7l5XDrwMeq2aADy6EWqbEKs,7517
    -pip/_internal/cache.py,sha256=tv5gyBOh4gx8my0ikxCEHzg92Y5D8mCbcE4lq9rQLhw,8371
    -pip/_internal/cli/__init__.py,sha256=FkHBgpxxb-_gd6r1FjnNhfMOzAUYyXoXKJ6abijfcFU,132
    -pip/_internal/cli/__pycache__/__init__.cpython-37.pyc,,
    -pip/_internal/cli/__pycache__/autocompletion.cpython-37.pyc,,
    -pip/_internal/cli/__pycache__/base_command.cpython-37.pyc,,
    -pip/_internal/cli/__pycache__/cmdoptions.cpython-37.pyc,,
    -pip/_internal/cli/__pycache__/command_context.cpython-37.pyc,,
    -pip/_internal/cli/__pycache__/main_parser.cpython-37.pyc,,
    -pip/_internal/cli/__pycache__/parser.cpython-37.pyc,,
    -pip/_internal/cli/__pycache__/req_command.cpython-37.pyc,,
    -pip/_internal/cli/__pycache__/status_codes.cpython-37.pyc,,
    -pip/_internal/cli/autocompletion.py,sha256=KLBLfPkMKgkl6FS6RGlYlgRmdxFiwvdefv3Ywt5JqzM,6169
    -pip/_internal/cli/base_command.py,sha256=Xg0kP33AsjMYqXmFoZ-HX6-hRM5QaKDXAJRXLO03IVU,6504
    -pip/_internal/cli/cmdoptions.py,sha256=y6x_kbx-obAF2i6rO0cZR2HOi5SC31LKxl0ZjQV6uOs,26839
    -pip/_internal/cli/command_context.py,sha256=F0hZ0Xm8NZAgcOpl5J46OpjvAhIgx5P1nZHGaAAxlmc,796
    -pip/_internal/cli/main_parser.py,sha256=W9OWeryh7ZkqELohaFh0Ko9sB98ZkSeDmnYbOZ1imBc,2819
    -pip/_internal/cli/parser.py,sha256=O9djTuYQuSfObiY-NU6p4MJCfWsRUnDpE2YGA_fwols,9487
    -pip/_internal/cli/req_command.py,sha256=J1fTDjVZAExZDMBEqwJQ-NgNlab1g8zE1nZND-6TnP0,11363
    -pip/_internal/cli/status_codes.py,sha256=F6uDG6Gj7RNKQJUDnd87QKqI16Us-t-B0wPF_4QMpWc,156
    -pip/_internal/collector.py,sha256=zGSX67z_CN8uGIxxseKTIV2TC1QN1AE9mwBPvodTxak,18007
    -pip/_internal/commands/__init__.py,sha256=uTSj58QlrSKeXqCUSdL-eAf_APzx5BHy1ABxb0j5ZNE,3714
    -pip/_internal/commands/__pycache__/__init__.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/check.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/completion.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/configuration.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/debug.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/download.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/freeze.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/hash.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/help.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/install.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/list.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/search.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/show.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/uninstall.cpython-37.pyc,,
    -pip/_internal/commands/__pycache__/wheel.cpython-37.pyc,,
    -pip/_internal/commands/check.py,sha256=mgLNYT3bd6Kmynwh4zzcBmVlFZ-urMo40jTgk6U405E,1505
    -pip/_internal/commands/completion.py,sha256=UFQvq0Q4_B96z1bvnQyMOq82aPSu05RejbLmqeTZjC0,2975
    -pip/_internal/commands/configuration.py,sha256=6riioZjMhsNSEct7dE-X8SobGodk3WERKJvuyjBje4Q,7226
    -pip/_internal/commands/debug.py,sha256=m9Ap_dd5jd7W6FbE9_t5495SAEvUC1vnDZ2m-TYXsQ4,3394
    -pip/_internal/commands/download.py,sha256=J6hxq7dO8Ld751WYueAdC18xiGhi27B6lrdOefFxwZo,5577
    -pip/_internal/commands/freeze.py,sha256=G9I_yoBHlpWLX1qItsWNOmmqc8ET7pekFybdbV333d4,3464
    -pip/_internal/commands/hash.py,sha256=47teimfAPhpkaVbSDaafck51BT3XXYuL83lAqc5lOcE,1735
    -pip/_internal/commands/help.py,sha256=Nhecq--ydFn80Gm1Zvbf9943EcRJfO0TnXUhsF0RO7s,1181
    -pip/_internal/commands/install.py,sha256=rt2NI4ZnOf-zBf0eTqGSyvPdq4q8oDLcfolYNmlPqDA,23803
    -pip/_internal/commands/list.py,sha256=wQijUCcLQmME_ryAk1EqjBM4CNfF8FXt5XGC5o3lQjc,10548
    -pip/_internal/commands/search.py,sha256=7Il8nKZ9mM7qF5jlnBoPvSIFY9f-0-5IbYoX3miTuZY,5148
    -pip/_internal/commands/show.py,sha256=Vzsj2oX0JBl94MPyF3LV8YoMcigl8B2UsMM8zp0pH2s,6792
    -pip/_internal/commands/uninstall.py,sha256=8mldFbrQecSoWDZRqxBgJkrlvx6Y9Iy7cs-2BIgtXt4,2983
    -pip/_internal/commands/wheel.py,sha256=cDwoMefUjOdLqE29rQGYwvdzwvsV0j5Ac7pCszbqaK8,6408
    -pip/_internal/configuration.py,sha256=ug70zCMs2OYEgef_6uebyXWDknbY-hz5cSaL9CpLYkI,14218
    -pip/_internal/distributions/__init__.py,sha256=plnByCzRAZJL98kuchZ4PoRKxseDWM7wBfjvb2_fMw8,967
    -pip/_internal/distributions/__pycache__/__init__.cpython-37.pyc,,
    -pip/_internal/distributions/__pycache__/base.cpython-37.pyc,,
    -pip/_internal/distributions/__pycache__/installed.cpython-37.pyc,,
    -pip/_internal/distributions/__pycache__/wheel.cpython-37.pyc,,
    -pip/_internal/distributions/base.py,sha256=91UqVXWnIyQPpIQed4nAuYWkGY665aYIV1EjS-CkBEg,1108
    -pip/_internal/distributions/installed.py,sha256=4bZq8NqgXgPqX-yTz94WzTRvobjwDnxVnFCL24FjAWA,542
    -pip/_internal/distributions/source/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
    -pip/_internal/distributions/source/__pycache__/__init__.cpython-37.pyc,,
    -pip/_internal/distributions/source/__pycache__/legacy.cpython-37.pyc,,
    -pip/_internal/distributions/source/legacy.py,sha256=8QbAup0CBA5iPsSAJgxZyz1tQxO1C6hvfFpTlCJnyKE,3941
    -pip/_internal/distributions/wheel.py,sha256=0hkgI9NpkT4bCwA9RTsX2NJcz9MJyPhlh3f7Z3529sY,616
    -pip/_internal/download.py,sha256=X7XcEO2L5-VlcRkwDZ-y5GMCmmnt33yoD6AP3qCi-lI,20297
    -pip/_internal/exceptions.py,sha256=6YRuwXAK6F1iyUWKIkCIpWWN2khkAn1sZOgrFA9S8Ro,10247
    -pip/_internal/index.py,sha256=P5WnrP8zyBK29EFDCcIsznQquTNn4ZL-cYP8L-NbfPU,36887
    -pip/_internal/legacy_resolve.py,sha256=_lQXUAZT6CeYeatartpS-5SfNYCSRc5Dsx1jbvCESGg,17129
    -pip/_internal/locations.py,sha256=n6KALLEJN-L99QFHPNdJl3nMktwcpmqMyyo6EXZoCL0,5414
    -pip/_internal/main.py,sha256=ikuDY1c82JZivOvnSXJZN31IeeZF_BkNpgZZ90p6iJ4,1359
    -pip/_internal/models/__init__.py,sha256=3DHUd_qxpPozfzouoqa9g9ts1Czr5qaHfFxbnxriepM,63
    -pip/_internal/models/__pycache__/__init__.cpython-37.pyc,,
    -pip/_internal/models/__pycache__/candidate.cpython-37.pyc,,
    -pip/_internal/models/__pycache__/format_control.cpython-37.pyc,,
    -pip/_internal/models/__pycache__/index.cpython-37.pyc,,
    -pip/_internal/models/__pycache__/link.cpython-37.pyc,,
    -pip/_internal/models/__pycache__/search_scope.cpython-37.pyc,,
    -pip/_internal/models/__pycache__/selection_prefs.cpython-37.pyc,,
    -pip/_internal/models/__pycache__/target_python.cpython-37.pyc,,
    -pip/_internal/models/candidate.py,sha256=S5ipn5ZvnWFX_A84OGrtc4DAZTJM7GSnIyDIA8PwZWw,1277
    -pip/_internal/models/format_control.py,sha256=bMcS0iTVLBXrYRDkGeGqYE3pTQUR96T7cGyMtLeH0Fs,2592
    -pip/_internal/models/index.py,sha256=K59A8-hVhBM20Xkahr4dTwP7OjkJyEqXH11UwHFVgqM,1060
    -pip/_internal/models/link.py,sha256=MFYBc2ko2B--zFyk6JBnorkAdFpJ8lwozz-64YBdDO0,6860
    -pip/_internal/models/search_scope.py,sha256=25LTMmqHvKxCpOsEH1qcb0Id-hqATsg2SVIjcxY702o,3971
    -pip/_internal/models/selection_prefs.py,sha256=rPeif2KKjhTPXeMoQYffjqh10oWpXhdkxRDaPT1HO8k,1908
    -pip/_internal/models/target_python.py,sha256=d66ljdpZZtAAQsuOytiZ7yq6spCa8GOmz5Vf7uoVZT0,3820
    -pip/_internal/network/__init__.py,sha256=jf6Tt5nV_7zkARBrKojIXItgejvoegVJVKUbhAa5Ioc,50
    -pip/_internal/network/__pycache__/__init__.cpython-37.pyc,,
    -pip/_internal/network/__pycache__/auth.cpython-37.pyc,,
    -pip/_internal/network/__pycache__/cache.cpython-37.pyc,,
    -pip/_internal/network/__pycache__/session.cpython-37.pyc,,
    -pip/_internal/network/__pycache__/xmlrpc.cpython-37.pyc,,
    -pip/_internal/network/auth.py,sha256=K3G1ukKb3PiH8w_UnpXTz8qQsTULO-qdbfOE9zTo1fE,11119
    -pip/_internal/network/cache.py,sha256=WJafQhl9_gSxvEMvYN-ecsijGscKCVPsb09sEUbwL-E,2233
    -pip/_internal/network/session.py,sha256=m2E-pkpE3nWVswt2JzKP9NANwfhf38SjDOUor0cxqd8,15842
    -pip/_internal/network/xmlrpc.py,sha256=AL115M3vFJ8xiHVJneb8Hi0ZFeRvdPhblC89w25OG5s,1597
    -pip/_internal/operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
    -pip/_internal/operations/__pycache__/__init__.cpython-37.pyc,,
    -pip/_internal/operations/__pycache__/check.cpython-37.pyc,,
    -pip/_internal/operations/__pycache__/freeze.cpython-37.pyc,,
    -pip/_internal/operations/__pycache__/generate_metadata.cpython-37.pyc,,
    -pip/_internal/operations/__pycache__/prepare.cpython-37.pyc,,
    -pip/_internal/operations/check.py,sha256=SG2AuZ4NFwUPAWo4OQOotKCn6OUxjkAgBdehNAo_2sM,5354
    -pip/_internal/operations/freeze.py,sha256=MeHazCBo6DF0B2ay0t0CqRRfR4bETqKB-ANv4yIq4Bg,9826
    -pip/_internal/operations/generate_metadata.py,sha256=oHJtWo0QpOt5xt5xQTfOEVNOpaPy9E0lhMCIE6Upidw,4699
    -pip/_internal/operations/prepare.py,sha256=_TNie4ORlITMh04dkEQcBVDFkcz5FW67VjUfeJDRUcM,11279
    -pip/_internal/pep425tags.py,sha256=mCZA3yvHjZfQGnQti2sNfzrinhLmDp0o9Fwb826Edj4,15941
    -pip/_internal/pyproject.py,sha256=98g1oHmpdqraOqAJuoCDr2XP3QQuN5oEuoD0fWDtVhE,6490
    -pip/_internal/req/__init__.py,sha256=iR73_MGlD4N2Dg86t2kooz7okpZgpAuZUSROrR9KkkE,2467
    -pip/_internal/req/__pycache__/__init__.cpython-37.pyc,,
    -pip/_internal/req/__pycache__/constructors.cpython-37.pyc,,
    -pip/_internal/req/__pycache__/req_file.cpython-37.pyc,,
    -pip/_internal/req/__pycache__/req_install.cpython-37.pyc,,
    -pip/_internal/req/__pycache__/req_set.cpython-37.pyc,,
    -pip/_internal/req/__pycache__/req_tracker.cpython-37.pyc,,
    -pip/_internal/req/__pycache__/req_uninstall.cpython-37.pyc,,
    -pip/_internal/req/constructors.py,sha256=DcUoVBQabogW6FoTxo_7FApvYTBk5LmiTtLOSi9Wh7Y,14388
    -pip/_internal/req/req_file.py,sha256=Ip4KV67FLLexYq9xVGgzjbyjIQCP5W-RmkVZWFWV5AY,14294
    -pip/_internal/req/req_install.py,sha256=NYPFJ7UTN1YS1m2twuxfXKQfSQnEwUWadkvk3Ez8o_s,36573
    -pip/_internal/req/req_set.py,sha256=ykotCTON9_be3yzrkXs9yv986Tv-p-Sk5-q8tqgk6BY,8132
    -pip/_internal/req/req_tracker.py,sha256=M5VZxoKrvDmwH2G2kk1QthJmhF19zCmKSXLY-WDLKWY,3195
    -pip/_internal/req/req_uninstall.py,sha256=VyukcnrMTRob977YO6C5t9CVadmZIF24Yj30Hfz4lpc,23590
    -pip/_internal/self_outdated_check.py,sha256=0RuTI8jXNm_CK7ZV8huRUqtabE0SQgwJSogapEti_zo,7934
    -pip/_internal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
    -pip/_internal/utils/__pycache__/__init__.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/appdirs.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/compat.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/deprecation.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/encoding.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/filesystem.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/filetypes.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/glibc.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/hashes.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/inject_securetransport.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/logging.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/marker_files.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/misc.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/models.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/packaging.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/setuptools_build.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/subprocess.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/temp_dir.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/typing.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/ui.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/unpacking.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/urls.cpython-37.pyc,,
    -pip/_internal/utils/__pycache__/virtualenv.cpython-37.pyc,,
    -pip/_internal/utils/appdirs.py,sha256=hchP3vBMefwp3Jr05IqN6cssVlbzYPTj062hJzBDhA4,9766
    -pip/_internal/utils/compat.py,sha256=i9XoohQwMK73PwN0Nkan6DfiG47rdyllTXvX3WJO30c,9565
    -pip/_internal/utils/deprecation.py,sha256=pBnNogoA4UGTxa_JDnPXBRRYpKMbExAhXpBwAwklOBs,3318
    -pip/_internal/utils/encoding.py,sha256=hxZz0t3Whw3d4MHQEiofxalTlfKwxFdLc8fpeGfhKo8,1320
    -pip/_internal/utils/filesystem.py,sha256=TG_hHd0BZkYih17f4z4wEi0XXheo5TE-UnAQB964Pf0,3334
    -pip/_internal/utils/filetypes.py,sha256=R2FwzoeX7b-rZALOXx5cuO8VPPMhUQ4ne7wm3n3IcWA,571
    -pip/_internal/utils/glibc.py,sha256=HXnQNSGfrldTYbF6V6asT86h6QQKPwumYok1MFyQDnM,4397
    -pip/_internal/utils/hashes.py,sha256=XXj0SZfz4piN8XgqloGzPnfQYGTcSZZDtuqa1zWCts8,4020
    -pip/_internal/utils/inject_securetransport.py,sha256=M17ZlFVY66ApgeASVjKKLKNz0LAfk-SyU0HZ4ZB6MmI,810
    -pip/_internal/utils/logging.py,sha256=aJL7NldPhS5KGFof6Qt3o3MG5cjm5TOoo7bGRu9_wsg,13033
    -pip/_internal/utils/marker_files.py,sha256=ktYfV9ccPKzVREiWlmTveiKOztk0L7F2zXi2ob2lymM,823
    -pip/_internal/utils/misc.py,sha256=4klI9CWDMj5zJeg171uJIfqqU24MSEJqxGrMbe5xwdw,25249
    -pip/_internal/utils/models.py,sha256=IA0hw_T4awQzui0kqfIEASm5yLtgZAB08ag59Nip5G8,1148
    -pip/_internal/utils/packaging.py,sha256=VtiwcAAL7LBi7tGL2je7LeW4bE11KMHGCsJ1NZY5XtM,3035
    -pip/_internal/utils/setuptools_build.py,sha256=vHAmalU_IcDvU7ioRioVspEyVD2N4_NPDSbtHOoow8g,1631
    -pip/_internal/utils/subprocess.py,sha256=M3oBdbCSxDhmQSWYRZo0PTzGuyYvJaNIzt3DVCmtjJI,9911
    -pip/_internal/utils/temp_dir.py,sha256=fFNkfrE3MlyjZjoLzeX9A2AkjUWEEEoP-8ObyX3BSnE,5521
    -pip/_internal/utils/typing.py,sha256=bF73ImJzIaxLLEVwfEaSJzFGqV9LaxkQBvDULIyr1jI,1125
    -pip/_internal/utils/ui.py,sha256=SmwDgg45shGo0wVJSK3MUZUQtM4DNGdQntE3n2G97yk,13906
    -pip/_internal/utils/unpacking.py,sha256=M944JTSiapBOSKLWu7lbawpVHSE7flfzZTEr3TAG7v8,9438
    -pip/_internal/utils/urls.py,sha256=aNV9wq5ClUmrz6sG-al7hEWJ4ToitOy7l82CmFGFNW8,1481
    -pip/_internal/utils/virtualenv.py,sha256=oSTrUMQUqmuXcDvQZGwV65w-hlvhBAqyQiWRxLf8fN0,891
    -pip/_internal/vcs/__init__.py,sha256=viJxJRqRE_mVScum85bgQIXAd6o0ozFt18VpC-qIJrM,617
    -pip/_internal/vcs/__pycache__/__init__.cpython-37.pyc,,
    -pip/_internal/vcs/__pycache__/bazaar.cpython-37.pyc,,
    -pip/_internal/vcs/__pycache__/git.cpython-37.pyc,,
    -pip/_internal/vcs/__pycache__/mercurial.cpython-37.pyc,,
    -pip/_internal/vcs/__pycache__/subversion.cpython-37.pyc,,
    -pip/_internal/vcs/__pycache__/versioncontrol.cpython-37.pyc,,
    -pip/_internal/vcs/bazaar.py,sha256=84q1-kj1_nJ9AMzMu8RmMp-riRZu81M7K9kowcYgi3U,3957
    -pip/_internal/vcs/git.py,sha256=3KFP0-GnYM8FX-Obwo3XjE4JW_YEl4HVERDSSsjf4Ck,13274
    -pip/_internal/vcs/mercurial.py,sha256=2mg7BdYI_Fe00fF6omaNccFQLPHBsDBG5CAEzvqn5sA,5110
    -pip/_internal/vcs/subversion.py,sha256=Fpwy71AmuqXnoKi6h1SrXRtPjEMn8fieuM1O4j01IBg,12292
    -pip/_internal/vcs/versioncontrol.py,sha256=HiWHloaYAo4UWGxJGZhG0nO0PWS513H6ACiqT0z5Yh0,21374
    -pip/_internal/wheel.py,sha256=emOltdF4VmpsSabfIBbtlCcozviIOnUwIdB0D3_VMrQ,43080
    -pip/_vendor/__init__.py,sha256=gEJYEfJm7XGLslyjW3KBQyQxyTYxdvTEkRT5Bz28MDs,4657
    -pip/_vendor/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/__pycache__/appdirs.cpython-37.pyc,,
    -pip/_vendor/__pycache__/contextlib2.cpython-37.pyc,,
    -pip/_vendor/__pycache__/distro.cpython-37.pyc,,
    -pip/_vendor/__pycache__/ipaddress.cpython-37.pyc,,
    -pip/_vendor/__pycache__/pyparsing.cpython-37.pyc,,
    -pip/_vendor/__pycache__/retrying.cpython-37.pyc,,
    -pip/_vendor/__pycache__/six.cpython-37.pyc,,
    -pip/_vendor/appdirs.py,sha256=BENKsvcA08IpccD9345-rMrg3aXWFA1q6BFEglnHg6I,24547
    -pip/_vendor/cachecontrol/__init__.py,sha256=6cRPchVqkAkeUtYTSW8qCetjSqJo-GxP-n4VMVDbvmc,302
    -pip/_vendor/cachecontrol/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/__pycache__/adapter.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/__pycache__/cache.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/__pycache__/compat.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/__pycache__/controller.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/__pycache__/serialize.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/_cmd.py,sha256=URGE0KrA87QekCG3SGPatlSPT571dZTDjNa-ZXX3pDc,1295
    -pip/_vendor/cachecontrol/adapter.py,sha256=eBGAtVNRZgtl_Kj5JV54miqL9YND-D0JZPahwY8kFtY,4863
    -pip/_vendor/cachecontrol/cache.py,sha256=1fc4wJP8HYt1ycnJXeEw5pCpeBL2Cqxx6g9Fb0AYDWQ,805
    -pip/_vendor/cachecontrol/caches/__init__.py,sha256=-gHNKYvaeD0kOk5M74eOrsSgIKUtC6i6GfbmugGweEo,86
    -pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-37.pyc,,
    -pip/_vendor/cachecontrol/caches/file_cache.py,sha256=nYVKsJtXh6gJXvdn1iWyrhxvkwpQrK-eKoMRzuiwkKk,4153
    -pip/_vendor/cachecontrol/caches/redis_cache.py,sha256=HxelMpNCo-dYr2fiJDwM3hhhRmxUYtB5tXm1GpAAT4Y,856
    -pip/_vendor/cachecontrol/compat.py,sha256=kHNvMRdt6s_Xwqq_9qJmr9ou3wYMOMUMxPPcwNxT8Mc,695
    -pip/_vendor/cachecontrol/controller.py,sha256=U7g-YwizQ2O5NRgK_MZreF1ntM4E49C3PuF3od-Vwz4,13698
    -pip/_vendor/cachecontrol/filewrapper.py,sha256=vACKO8Llzu_ZWyjV1Fxn1MA4TGU60N5N3GSrAFdAY2Q,2533
    -pip/_vendor/cachecontrol/heuristics.py,sha256=BFGHJ3yQcxvZizfo90LLZ04T_Z5XSCXvFotrp7Us0sc,4070
    -pip/_vendor/cachecontrol/serialize.py,sha256=GebE34fgToyWwAsRPguh8hEPN6CqoG-5hRMXRsjVABQ,6954
    -pip/_vendor/cachecontrol/wrapper.py,sha256=sfr9YHWx-5TwNz1H5rT6QOo8ggII6v3vbEDjQFwR6wc,671
    -pip/_vendor/certifi/__init__.py,sha256=WFoavXHhpX-BZ5kbvyinZTbhLsqPJypLKIZu29nUsQg,52
    -pip/_vendor/certifi/__main__.py,sha256=NaCn6WtWME-zzVWQ2j4zFyl8cY4knDa9CwtHNIeFPhM,53
    -pip/_vendor/certifi/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/certifi/__pycache__/__main__.cpython-37.pyc,,
    -pip/_vendor/certifi/__pycache__/core.cpython-37.pyc,,
    -pip/_vendor/certifi/cacert.pem,sha256=cVC1b0T-OcQzgdcRql2yMxT7O08O6pcJHnuO9nbLLn0,278533
    -pip/_vendor/certifi/core.py,sha256=EuFc2BsToG5O1-qsx4BSjQ1r1-7WRtH87b1WflZOWhI,218
    -pip/_vendor/chardet/__init__.py,sha256=YsP5wQlsHJ2auF1RZJfypiSrCA7_bQiRm3ES_NI76-Y,1559
    -pip/_vendor/chardet/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/big5freq.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/big5prober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/chardistribution.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/charsetprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/compat.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/cp949prober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/enums.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/escprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/escsm.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/eucjpprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/euckrfreq.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/euckrprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/euctwfreq.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/euctwprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/gb2312freq.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/gb2312prober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/hebrewprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/jisfreq.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/jpcntx.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/langcyrillicmodel.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/langthaimodel.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/latin1prober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/mbcssm.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/sjisprober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/universaldetector.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/utf8prober.cpython-37.pyc,,
    -pip/_vendor/chardet/__pycache__/version.cpython-37.pyc,,
    -pip/_vendor/chardet/big5freq.py,sha256=D_zK5GyzoVsRes0HkLJziltFQX0bKCLOrFe9_xDvO_8,31254
    -pip/_vendor/chardet/big5prober.py,sha256=kBxHbdetBpPe7xrlb-e990iot64g_eGSLd32lB7_h3M,1757
    -pip/_vendor/chardet/chardistribution.py,sha256=3woWS62KrGooKyqz4zQSnjFbJpa6V7g02daAibTwcl8,9411
    -pip/_vendor/chardet/charsetgroupprober.py,sha256=6bDu8YIiRuScX4ca9Igb0U69TA2PGXXDej6Cc4_9kO4,3787
    -pip/_vendor/chardet/charsetprober.py,sha256=KSmwJErjypyj0bRZmC5F5eM7c8YQgLYIjZXintZNstg,5110
    -pip/_vendor/chardet/cli/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
    -pip/_vendor/chardet/cli/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-37.pyc,,
    -pip/_vendor/chardet/cli/chardetect.py,sha256=DI8dlV3FBD0c0XA_y3sQ78z754DUv1J8n34RtDjOXNw,2774
    -pip/_vendor/chardet/codingstatemachine.py,sha256=VYp_6cyyki5sHgXDSZnXW4q1oelHc3cu9AyQTX7uug8,3590
    -pip/_vendor/chardet/compat.py,sha256=PKTzHkSbtbHDqS9PyujMbX74q1a8mMpeQTDVsQhZMRw,1134
    -pip/_vendor/chardet/cp949prober.py,sha256=TZ434QX8zzBsnUvL_8wm4AQVTZ2ZkqEEQL_lNw9f9ow,1855
    -pip/_vendor/chardet/enums.py,sha256=Aimwdb9as1dJKZaFNUH2OhWIVBVd6ZkJJ_WK5sNY8cU,1661
    -pip/_vendor/chardet/escprober.py,sha256=kkyqVg1Yw3DIOAMJ2bdlyQgUFQhuHAW8dUGskToNWSc,3950
    -pip/_vendor/chardet/escsm.py,sha256=RuXlgNvTIDarndvllNCk5WZBIpdCxQ0kcd9EAuxUh84,10510
    -pip/_vendor/chardet/eucjpprober.py,sha256=iD8Jdp0ISRjgjiVN7f0e8xGeQJ5GM2oeZ1dA8nbSeUw,3749
    -pip/_vendor/chardet/euckrfreq.py,sha256=-7GdmvgWez4-eO4SuXpa7tBiDi5vRXQ8WvdFAzVaSfo,13546
    -pip/_vendor/chardet/euckrprober.py,sha256=MqFMTQXxW4HbzIpZ9lKDHB3GN8SP4yiHenTmf8g_PxY,1748
    -pip/_vendor/chardet/euctwfreq.py,sha256=No1WyduFOgB5VITUA7PLyC5oJRNzRyMbBxaKI1l16MA,31621
    -pip/_vendor/chardet/euctwprober.py,sha256=13p6EP4yRaxqnP4iHtxHOJ6R2zxHq1_m8hTRjzVZ95c,1747
    -pip/_vendor/chardet/gb2312freq.py,sha256=JX8lsweKLmnCwmk8UHEQsLgkr_rP_kEbvivC4qPOrlc,20715
    -pip/_vendor/chardet/gb2312prober.py,sha256=gGvIWi9WhDjE-xQXHvNIyrnLvEbMAYgyUSZ65HUfylw,1754
    -pip/_vendor/chardet/hebrewprober.py,sha256=c3SZ-K7hvyzGY6JRAZxJgwJ_sUS9k0WYkvMY00YBYFo,13838
    -pip/_vendor/chardet/jisfreq.py,sha256=vpmJv2Bu0J8gnMVRPHMFefTRvo_ha1mryLig8CBwgOg,25777
    -pip/_vendor/chardet/jpcntx.py,sha256=PYlNqRUQT8LM3cT5FmHGP0iiscFlTWED92MALvBungo,19643
    -pip/_vendor/chardet/langbulgarianmodel.py,sha256=1HqQS9Pbtnj1xQgxitJMvw8X6kKr5OockNCZWfEQrPE,12839
    -pip/_vendor/chardet/langcyrillicmodel.py,sha256=LODajvsetH87yYDDQKA2CULXUH87tI223dhfjh9Zx9c,17948
    -pip/_vendor/chardet/langgreekmodel.py,sha256=8YAW7bU8YwSJap0kIJSbPMw1BEqzGjWzqcqf0WgUKAA,12688
    -pip/_vendor/chardet/langhebrewmodel.py,sha256=JSnqmE5E62tDLTPTvLpQsg5gOMO4PbdWRvV7Avkc0HA,11345
    -pip/_vendor/chardet/langhungarianmodel.py,sha256=RhapYSG5l0ZaO-VV4Fan5sW0WRGQqhwBM61yx3yxyOA,12592
    -pip/_vendor/chardet/langthaimodel.py,sha256=8l0173Gu_W6G8mxmQOTEF4ls2YdE7FxWf3QkSxEGXJQ,11290
    -pip/_vendor/chardet/langturkishmodel.py,sha256=W22eRNJsqI6uWAfwXSKVWWnCerYqrI8dZQTm_M0lRFk,11102
    -pip/_vendor/chardet/latin1prober.py,sha256=S2IoORhFk39FEFOlSFWtgVybRiP6h7BlLldHVclNkU8,5370
    -pip/_vendor/chardet/mbcharsetprober.py,sha256=AR95eFH9vuqSfvLQZN-L5ijea25NOBCoXqw8s5O9xLQ,3413
    -pip/_vendor/chardet/mbcsgroupprober.py,sha256=h6TRnnYq2OxG1WdD5JOyxcdVpn7dG0q-vB8nWr5mbh4,2012
    -pip/_vendor/chardet/mbcssm.py,sha256=SY32wVIF3HzcjY3BaEspy9metbNSKxIIB0RKPn7tjpI,25481
    -pip/_vendor/chardet/sbcharsetprober.py,sha256=LDSpCldDCFlYwUkGkwD2oFxLlPWIWXT09akH_2PiY74,5657
    -pip/_vendor/chardet/sbcsgroupprober.py,sha256=1IprcCB_k1qfmnxGC6MBbxELlKqD3scW6S8YIwdeyXA,3546
    -pip/_vendor/chardet/sjisprober.py,sha256=IIt-lZj0WJqK4rmUZzKZP4GJlE8KUEtFYVuY96ek5MQ,3774
    -pip/_vendor/chardet/universaldetector.py,sha256=qL0174lSZE442eB21nnktT9_VcAye07laFWUeUrjttY,12485
    -pip/_vendor/chardet/utf8prober.py,sha256=IdD8v3zWOsB8OLiyPi-y_fqwipRFxV9Nc1eKBLSuIEw,2766
    -pip/_vendor/chardet/version.py,sha256=sp3B08mrDXB-pf3K9fqJ_zeDHOCLC8RrngQyDFap_7g,242
    -pip/_vendor/colorama/__init__.py,sha256=lJdY6COz9uM_pXwuk9oLr0fp8H8q2RrUqN16GKabvq4,239
    -pip/_vendor/colorama/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/colorama/__pycache__/ansi.cpython-37.pyc,,
    -pip/_vendor/colorama/__pycache__/ansitowin32.cpython-37.pyc,,
    -pip/_vendor/colorama/__pycache__/initialise.cpython-37.pyc,,
    -pip/_vendor/colorama/__pycache__/win32.cpython-37.pyc,,
    -pip/_vendor/colorama/__pycache__/winterm.cpython-37.pyc,,
    -pip/_vendor/colorama/ansi.py,sha256=Fi0un-QLqRm-v7o_nKiOqyC8PapBJK7DLV_q9LKtTO0,2524
    -pip/_vendor/colorama/ansitowin32.py,sha256=u8QaqdqS_xYSfNkPM1eRJLHz6JMWPodaJaP0mxgHCDc,10462
    -pip/_vendor/colorama/initialise.py,sha256=PprovDNxMTrvoNHFcL2NZjpH2XzDc8BLxLxiErfUl4k,1915
    -pip/_vendor/colorama/win32.py,sha256=bJ8Il9jwaBN5BJ8bmN6FoYZ1QYuMKv2j8fGrXh7TJjw,5404
    -pip/_vendor/colorama/winterm.py,sha256=2y_2b7Zsv34feAsP67mLOVc-Bgq51mdYGo571VprlrM,6438
    -pip/_vendor/contextlib2.py,sha256=5HjGflUzwWAUfcILhSmC2GqvoYdZZzFzVfIDztHigUs,16915
    -pip/_vendor/distlib/__init__.py,sha256=SkHYPuEQNQF2a2Cr18rfZ-LQyDqwwizn8tJE4seXPgU,587
    -pip/_vendor/distlib/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/compat.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/database.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/index.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/locators.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/manifest.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/markers.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/metadata.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/resources.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/scripts.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/util.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/version.cpython-37.pyc,,
    -pip/_vendor/distlib/__pycache__/wheel.cpython-37.pyc,,
    -pip/_vendor/distlib/_backport/__init__.py,sha256=bqS_dTOH6uW9iGgd0uzfpPjo6vZ4xpPZ7kyfZJ2vNaw,274
    -pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/distlib/_backport/__pycache__/misc.cpython-37.pyc,,
    -pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-37.pyc,,
    -pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-37.pyc,,
    -pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-37.pyc,,
    -pip/_vendor/distlib/_backport/misc.py,sha256=KWecINdbFNOxSOP1fGF680CJnaC6S4fBRgEtaYTw0ig,971
    -pip/_vendor/distlib/_backport/shutil.py,sha256=VW1t3uYqUjWZH7jV-6QiimLhnldoV5uIpH4EuiT1jfw,25647
    -pip/_vendor/distlib/_backport/sysconfig.cfg,sha256=swZKxq9RY5e9r3PXCrlvQPMsvOdiWZBTHLEbqS8LJLU,2617
    -pip/_vendor/distlib/_backport/sysconfig.py,sha256=JdJ9ztRy4Hc-b5-VS74x3nUtdEIVr_OBvMsIb8O2sjc,26964
    -pip/_vendor/distlib/_backport/tarfile.py,sha256=Ihp7rXRcjbIKw8COm9wSePV9ARGXbSF9gGXAMn2Q-KU,92628
    -pip/_vendor/distlib/compat.py,sha256=xdNZmqFN5HwF30HjRn5M415pcC2kgXRBXn767xS8v-M,41404
    -pip/_vendor/distlib/database.py,sha256=-KJH63AJ7hqjLtGCwOTrionhKr2Vsytdwkjyo8UdEco,51029
    -pip/_vendor/distlib/index.py,sha256=SXKzpQCERctxYDMp_OLee2f0J0e19ZhGdCIoMlUfUQM,21066
    -pip/_vendor/distlib/locators.py,sha256=bqzEWP3Ad8UE3D1rmzW1pgzVTKkY4rDUA_EWIVYli54,51807
    -pip/_vendor/distlib/manifest.py,sha256=nQEhYmgoreaBZzyFzwYsXxJARu3fo4EkunU163U16iE,14811
    -pip/_vendor/distlib/markers.py,sha256=6Ac3cCfFBERexiESWIOXmg-apIP8l2esafNSX3KMy-8,4387
    -pip/_vendor/distlib/metadata.py,sha256=OhbCKmf5lswE8unWBopI1hj7tRpHp4ZbFvU4d6aAEMM,40234
    -pip/_vendor/distlib/resources.py,sha256=2FGv0ZHF14KXjLIlL0R991lyQQGcewOS4mJ-5n-JVnc,10766
    -pip/_vendor/distlib/scripts.py,sha256=W24OXnZUmgRX_XtDrVZdfc-Frf4X4_cybvhP87iR-QU,16290
    -pip/_vendor/distlib/t32.exe,sha256=y8Yu3yao6zZrELYGIisxkhnQLOAOvpiXft8_Y9I8vyU,92672
    -pip/_vendor/distlib/t64.exe,sha256=qt1MpKO2NLqU8t1lD1T0frfFm5zwHm3mz7pLvmJ2kMI,102912
    -pip/_vendor/distlib/util.py,sha256=TvdqcwncBHaQbNw0jkXRvSZvt1fbdgE8HQW5wJwzvv4,59790
    -pip/_vendor/distlib/version.py,sha256=_n7F6juvQGAcn769E_SHa7fOcf5ERlEVymJ_EjPRwGw,23391
    -pip/_vendor/distlib/w32.exe,sha256=f98Etq_1giFgIQxrEh-sOAeO8qVtWqpDbGxdUucJ6pw,89088
    -pip/_vendor/distlib/w64.exe,sha256=6Hs-Wn0vXBHA6Qd76IlalqYXqrN80DCPpdoeIQzPRms,99840
    -pip/_vendor/distlib/wheel.py,sha256=2lviV6L4IvTP5DRkKE0HGpClvdoTJQHZJLfTQ6dfn2A,40437
    -pip/_vendor/distro.py,sha256=X2So5kjrRKyMbQJ90Xgy93HU5eFtujCzKaYNeoy1k1c,43251
    -pip/_vendor/html5lib/__init__.py,sha256=Ztrn7UvF-wIFAgRBBa0ML-Gu5AffH3BPX_INJx4SaBI,1162
    -pip/_vendor/html5lib/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-37.pyc,,
    -pip/_vendor/html5lib/__pycache__/_inputstream.cpython-37.pyc,,
    -pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-37.pyc,,
    -pip/_vendor/html5lib/__pycache__/_utils.cpython-37.pyc,,
    -pip/_vendor/html5lib/__pycache__/constants.cpython-37.pyc,,
    -pip/_vendor/html5lib/__pycache__/html5parser.cpython-37.pyc,,
    -pip/_vendor/html5lib/__pycache__/serializer.cpython-37.pyc,,
    -pip/_vendor/html5lib/_ihatexml.py,sha256=3LBtJMlzgwM8vpQiU1TvGmEEmNH72sV0yD8yS53y07A,16705
    -pip/_vendor/html5lib/_inputstream.py,sha256=bPUWcAfJScK4xkjQQaG_HsI2BvEVbFvI0AsodDYPQj0,32552
    -pip/_vendor/html5lib/_tokenizer.py,sha256=YAaOEBD6qc5ISq9Xt9Nif1OFgcybTTfMdwqBkZhpAq4,76580
    -pip/_vendor/html5lib/_trie/__init__.py,sha256=8VR1bcgD2OpeS2XExpu5yBhP_Q1K-lwKbBKICBPf1kU,289
    -pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-37.pyc,,
    -pip/_vendor/html5lib/_trie/__pycache__/datrie.cpython-37.pyc,,
    -pip/_vendor/html5lib/_trie/__pycache__/py.cpython-37.pyc,,
    -pip/_vendor/html5lib/_trie/_base.py,sha256=CaybYyMro8uERQYjby2tTeSUatnWDfWroUN9N7ety5w,1013
    -pip/_vendor/html5lib/_trie/datrie.py,sha256=EQpqSfkZRuTbE-DuhW7xMdVDxdZNZ0CfmnYfHA_3zxM,1178
    -pip/_vendor/html5lib/_trie/py.py,sha256=wXmQLrZRf4MyWNyg0m3h81m9InhLR7GJ002mIIZh-8o,1775
    -pip/_vendor/html5lib/_utils.py,sha256=ismpASeqa2jqEPQjHUj8vReAf7yIoKnvLN5fuOw6nv0,4015
    -pip/_vendor/html5lib/constants.py,sha256=4lmZWLtEPRLnl8NzftOoYTJdo6jpeMtP6dqQC0g_bWQ,83518
    -pip/_vendor/html5lib/filters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
    -pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-37.pyc,,
    -pip/_vendor/html5lib/filters/__pycache__/base.cpython-37.pyc,,
    -pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-37.pyc,,
    -pip/_vendor/html5lib/filters/__pycache__/lint.cpython-37.pyc,,
    -pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-37.pyc,,
    -pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-37.pyc,,
    -pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-37.pyc,,
    -pip/_vendor/html5lib/filters/alphabeticalattributes.py,sha256=lViZc2JMCclXi_5gduvmdzrRxtO5Xo9ONnbHBVCsykU,919
    -pip/_vendor/html5lib/filters/base.py,sha256=z-IU9ZAYjpsVsqmVt7kuWC63jR11hDMr6CVrvuao8W0,286
    -pip/_vendor/html5lib/filters/inject_meta_charset.py,sha256=egDXUEHXmAG9504xz0K6ALDgYkvUrC2q15YUVeNlVQg,2945
    -pip/_vendor/html5lib/filters/lint.py,sha256=jk6q56xY0ojiYfvpdP-OZSm9eTqcAdRqhCoPItemPYA,3643
    -pip/_vendor/html5lib/filters/optionaltags.py,sha256=8lWT75J0aBOHmPgfmqTHSfPpPMp01T84NKu0CRedxcE,10588
    -pip/_vendor/html5lib/filters/sanitizer.py,sha256=4ON02KNjuqda1lCw5_JCUZxb0BzWR5M7ON84dtJ7dm0,26248
    -pip/_vendor/html5lib/filters/whitespace.py,sha256=8eWqZxd4UC4zlFGW6iyY6f-2uuT8pOCSALc3IZt7_t4,1214
    -pip/_vendor/html5lib/html5parser.py,sha256=g5g2ezkusHxhi7b23vK_-d6K6BfIJRbqIQmvQ9z4EgI,118963
    -pip/_vendor/html5lib/serializer.py,sha256=yfcfBHse2wDs6ojxn-kieJjLT5s1ipilQJ0gL3-rJis,15758
    -pip/_vendor/html5lib/treeadapters/__init__.py,sha256=A0rY5gXIe4bJOiSGRO_j_tFhngRBO8QZPzPtPw5dFzo,679
    -pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-37.pyc,,
    -pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-37.pyc,,
    -pip/_vendor/html5lib/treeadapters/genshi.py,sha256=CH27pAsDKmu4ZGkAUrwty7u0KauGLCZRLPMzaO3M5vo,1715
    -pip/_vendor/html5lib/treeadapters/sax.py,sha256=BKS8woQTnKiqeffHsxChUqL4q2ZR_wb5fc9MJ3zQC8s,1776
    -pip/_vendor/html5lib/treebuilders/__init__.py,sha256=AysSJyvPfikCMMsTVvaxwkgDieELD5dfR8FJIAuq7hY,3592
    -pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-37.pyc,,
    -pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-37.pyc,,
    -pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-37.pyc,,
    -pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-37.pyc,,
    -pip/_vendor/html5lib/treebuilders/base.py,sha256=wQGp5yy22TNG8tJ6aREe4UUeTR7A99dEz0BXVaedWb4,14579
    -pip/_vendor/html5lib/treebuilders/dom.py,sha256=22whb0C71zXIsai5mamg6qzBEiigcBIvaDy4Asw3at0,8925
    -pip/_vendor/html5lib/treebuilders/etree.py,sha256=aqIBOGj_dFYqBURIcTegGNBhAIJOw5iFDHb4jrkYH-8,12764
    -pip/_vendor/html5lib/treebuilders/etree_lxml.py,sha256=9V0dXxbJYYq-Skgb5-_OL2NkVYpjioEb4CHajo0e9yI,14122
    -pip/_vendor/html5lib/treewalkers/__init__.py,sha256=yhXxHpjlSqfQyUag3v8-vWjMPriFBU8YRAPNpDgBTn8,5714
    -pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-37.pyc,,
    -pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-37.pyc,,
    -pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-37.pyc,,
    -pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-37.pyc,,
    -pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-37.pyc,,
    -pip/_vendor/html5lib/treewalkers/base.py,sha256=ouiOsuSzvI0KgzdWP8PlxIaSNs9falhbiinAEc_UIJY,7476
    -pip/_vendor/html5lib/treewalkers/dom.py,sha256=EHyFR8D8lYNnyDU9lx_IKigVJRyecUGua0mOi7HBukc,1413
    -pip/_vendor/html5lib/treewalkers/etree.py,sha256=sz1o6mmE93NQ53qJFDO7HKyDtuwgK-Ay3qSFZPC6u00,4550
    -pip/_vendor/html5lib/treewalkers/etree_lxml.py,sha256=sY6wfRshWTllu6n48TPWpKsQRPp-0CQrT0hj_AdzHSU,6309
    -pip/_vendor/html5lib/treewalkers/genshi.py,sha256=4D2PECZ5n3ZN3qu3jMl9yY7B81jnQApBQSVlfaIuYbA,2309
    -pip/_vendor/idna/__init__.py,sha256=9Nt7xpyet3DmOrPUGooDdAwmHZZu1qUAy2EaJ93kGiQ,58
    -pip/_vendor/idna/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/idna/__pycache__/codec.cpython-37.pyc,,
    -pip/_vendor/idna/__pycache__/compat.cpython-37.pyc,,
    -pip/_vendor/idna/__pycache__/core.cpython-37.pyc,,
    -pip/_vendor/idna/__pycache__/idnadata.cpython-37.pyc,,
    -pip/_vendor/idna/__pycache__/intranges.cpython-37.pyc,,
    -pip/_vendor/idna/__pycache__/package_data.cpython-37.pyc,,
    -pip/_vendor/idna/__pycache__/uts46data.cpython-37.pyc,,
    -pip/_vendor/idna/codec.py,sha256=lvYb7yu7PhAqFaAIAdWcwgaWI2UmgseUua-1c0AsG0A,3299
    -pip/_vendor/idna/compat.py,sha256=R-h29D-6mrnJzbXxymrWUW7iZUvy-26TQwZ0ij57i4U,232
    -pip/_vendor/idna/core.py,sha256=JDCZZ_PLESqIgEbU8mPyoEufWwoOiIqygA17-QZIe3s,11733
    -pip/_vendor/idna/idnadata.py,sha256=HXaPFw6_YAJ0qppACPu0YLAULtRs3QovRM_CCZHGdY0,40899
    -pip/_vendor/idna/intranges.py,sha256=TY1lpxZIQWEP6tNqjZkFA5hgoMWOj1OBmnUG8ihT87E,1749
    -pip/_vendor/idna/package_data.py,sha256=kIzeKKXEouXLR4srqwf9Q3zv-NffKSOz5aSDOJARPB0,21
    -pip/_vendor/idna/uts46data.py,sha256=oLyNZ1pBaiBlj9zFzLFRd_P7J8MkRcgDisjExZR_4MY,198292
    -pip/_vendor/ipaddress.py,sha256=2OgbkeAD2rLkcXqbcvof3J5R7lRwjNLoBySyTkBtKnc,79852
    -pip/_vendor/msgpack/__init__.py,sha256=LnKzG5v0RyZgs7KlY2-SZYDBn-toylovXxKiXR6C-IQ,1535
    -pip/_vendor/msgpack/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/msgpack/__pycache__/_version.cpython-37.pyc,,
    -pip/_vendor/msgpack/__pycache__/exceptions.cpython-37.pyc,,
    -pip/_vendor/msgpack/__pycache__/fallback.cpython-37.pyc,,
    -pip/_vendor/msgpack/_version.py,sha256=72BxB5FMl1q3Nz1hteHINzHhrFpXQ9nNtULaK52NLk8,20
    -pip/_vendor/msgpack/exceptions.py,sha256=dCTWei8dpkrMsQDcjQk74ATl9HsIBH0ybt8zOPNqMYc,1081
    -pip/_vendor/msgpack/fallback.py,sha256=vXo6S67Dmil9mz0PRBCLDu6znpv6CGKt9WPCEsdZx2A,37454
    -pip/_vendor/packaging/__about__.py,sha256=CpuMSyh1V7adw8QMjWKkY3LtdqRUkRX4MgJ6nF4stM0,744
    -pip/_vendor/packaging/__init__.py,sha256=6enbp5XgRfjBjsI9-bn00HjHf5TH21PDMOKkJW8xw-w,562
    -pip/_vendor/packaging/__pycache__/__about__.cpython-37.pyc,,
    -pip/_vendor/packaging/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/packaging/__pycache__/_compat.cpython-37.pyc,,
    -pip/_vendor/packaging/__pycache__/_structures.cpython-37.pyc,,
    -pip/_vendor/packaging/__pycache__/markers.cpython-37.pyc,,
    -pip/_vendor/packaging/__pycache__/requirements.cpython-37.pyc,,
    -pip/_vendor/packaging/__pycache__/specifiers.cpython-37.pyc,,
    -pip/_vendor/packaging/__pycache__/tags.cpython-37.pyc,,
    -pip/_vendor/packaging/__pycache__/utils.cpython-37.pyc,,
    -pip/_vendor/packaging/__pycache__/version.cpython-37.pyc,,
    -pip/_vendor/packaging/_compat.py,sha256=Ugdm-qcneSchW25JrtMIKgUxfEEBcCAz6WrEeXeqz9o,865
    -pip/_vendor/packaging/_structures.py,sha256=pVd90XcXRGwpZRB_qdFuVEibhCHpX_bL5zYr9-N0mc8,1416
    -pip/_vendor/packaging/markers.py,sha256=jRoHXMzT_7InY31pBB9Nkx66COZpQBAwa5scHla9uVQ,8250
    -pip/_vendor/packaging/requirements.py,sha256=grcnFU8x7KD230JaFLXtWl3VClLuOmsOy4c-m55tOWs,4700
    -pip/_vendor/packaging/specifiers.py,sha256=0ZzQpcUnvrQ6LjR-mQRLzMr8G6hdRv-mY0VSf_amFtI,27778
    -pip/_vendor/packaging/tags.py,sha256=EPLXhO6GTD7_oiWEO1U0l0PkfR8R_xivpMDHXnsTlts,12933
    -pip/_vendor/packaging/utils.py,sha256=VaTC0Ei7zO2xl9ARiWmz2YFLFt89PuuhLbAlXMyAGms,1520
    -pip/_vendor/packaging/version.py,sha256=Npdwnb8OHedj_2L86yiUqscujb7w_i5gmSK1PhOAFzg,11978
    -pip/_vendor/pep517/__init__.py,sha256=nCw8ZdLH4c19g8xP_Ndag1KPdQhlSDKaL9pg-X7uNWU,84
    -pip/_vendor/pep517/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/pep517/__pycache__/_in_process.cpython-37.pyc,,
    -pip/_vendor/pep517/__pycache__/build.cpython-37.pyc,,
    -pip/_vendor/pep517/__pycache__/check.cpython-37.pyc,,
    -pip/_vendor/pep517/__pycache__/colorlog.cpython-37.pyc,,
    -pip/_vendor/pep517/__pycache__/compat.cpython-37.pyc,,
    -pip/_vendor/pep517/__pycache__/dirtools.cpython-37.pyc,,
    -pip/_vendor/pep517/__pycache__/envbuild.cpython-37.pyc,,
    -pip/_vendor/pep517/__pycache__/meta.cpython-37.pyc,,
    -pip/_vendor/pep517/__pycache__/wrappers.cpython-37.pyc,,
    -pip/_vendor/pep517/_in_process.py,sha256=v1Viek27-MGCOFu8eSlLd2jGCrIqc1fISnutGFoRDps,7792
    -pip/_vendor/pep517/build.py,sha256=WqM0-X4KyzY566qxGf3FeaYc1hw95H7YP0ElZ1zuTb0,3318
    -pip/_vendor/pep517/check.py,sha256=ST02kRWBrRMOxgnRm9clw18Q2X7sJGaD4j3h6GmBhJ8,5949
    -pip/_vendor/pep517/colorlog.py,sha256=Tk9AuYm_cLF3BKTBoSTJt9bRryn0aFojIQOwbfVUTxQ,4098
    -pip/_vendor/pep517/compat.py,sha256=M-5s4VNp8rjyT76ZZ_ibnPD44DYVzSQlyCEHayjtDPw,780
    -pip/_vendor/pep517/dirtools.py,sha256=2mkAkAL0mRz_elYFjRKuekTJVipH1zTn4tbf1EDev84,1129
    -pip/_vendor/pep517/envbuild.py,sha256=K4dIGAbkXf3RoQX_9RFpZvMvPrVSHtcbH7o9VSrNnlM,6024
    -pip/_vendor/pep517/meta.py,sha256=8mnM5lDnT4zXQpBTliJbRGfesH7iioHwozbDxALPS9Y,2463
    -pip/_vendor/pep517/wrappers.py,sha256=QiQaEQlfCrhRpPBFQiGVM9QjrKSlj8AvM39haoyfPRk,10599
    -pip/_vendor/pkg_resources/__init__.py,sha256=hnT0Ph4iK40Ycr-OzSii_wZW5f7HCkP79E6Vf4cR3Vg,108237
    -pip/_vendor/pkg_resources/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-37.pyc,,
    -pip/_vendor/pkg_resources/py31compat.py,sha256=CRk8fkiPRDLsbi5pZcKsHI__Pbmh_94L8mr9Qy9Ab2U,562
    -pip/_vendor/progress/__init__.py,sha256=fcbQQXo5np2CoQyhSH5XprkicwLZNLePR3uIahznSO0,4857
    -pip/_vendor/progress/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/progress/__pycache__/bar.cpython-37.pyc,,
    -pip/_vendor/progress/__pycache__/counter.cpython-37.pyc,,
    -pip/_vendor/progress/__pycache__/spinner.cpython-37.pyc,,
    -pip/_vendor/progress/bar.py,sha256=QuDuVNcmXgpxtNtxO0Fq72xKigxABaVmxYGBw4J3Z_E,2854
    -pip/_vendor/progress/counter.py,sha256=MznyBrvPWrOlGe4MZAlGUb9q3aODe6_aNYeAE_VNoYA,1372
    -pip/_vendor/progress/spinner.py,sha256=k8JbDW94T0-WXuXfxZIFhdoNPYp3jfnpXqBnfRv5fGs,1380
    -pip/_vendor/pyparsing.py,sha256=uJuFv_UoLmKOHlCU-EhIiKjYqYS2OCj-Gmr-sRkCzmU,263468
    -pip/_vendor/pytoml/__init__.py,sha256=W_SKx36Hsew-Fty36BOpreLm4uF4V_Tgkm_z9rIoOE8,127
    -pip/_vendor/pytoml/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/pytoml/__pycache__/core.cpython-37.pyc,,
    -pip/_vendor/pytoml/__pycache__/parser.cpython-37.pyc,,
    -pip/_vendor/pytoml/__pycache__/test.cpython-37.pyc,,
    -pip/_vendor/pytoml/__pycache__/utils.cpython-37.pyc,,
    -pip/_vendor/pytoml/__pycache__/writer.cpython-37.pyc,,
    -pip/_vendor/pytoml/core.py,sha256=9CrLLTs1PdWjEwRnYzt_i4dhHcZvGxs_GsMlYAX3iY4,509
    -pip/_vendor/pytoml/parser.py,sha256=qsc0NRnTgdFZgRp9gmr6D_KWFelrwxLkTj9dVxUcqS8,10309
    -pip/_vendor/pytoml/test.py,sha256=2nQs4aX3XQEaaQCx6x_OJTS2Hb0_IiTZRqNOeDmLCzo,1021
    -pip/_vendor/pytoml/utils.py,sha256=JCLHx77Hu1R3F-bRgiROIiKyCzLwyebnp5P35cRJxWs,1665
    -pip/_vendor/pytoml/writer.py,sha256=4QQky9JSuRv60uzuhVZASU8T3CuobSkLG1285X6bDW8,3369
    -pip/_vendor/requests/__init__.py,sha256=ONVsH6kJuPTV9nf-XVoubWsVX3qVtjCyju42kTW6Uug,4074
    -pip/_vendor/requests/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/__version__.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/_internal_utils.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/adapters.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/api.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/auth.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/certs.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/compat.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/cookies.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/exceptions.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/help.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/hooks.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/models.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/packages.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/sessions.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/status_codes.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/structures.cpython-37.pyc,,
    -pip/_vendor/requests/__pycache__/utils.cpython-37.pyc,,
    -pip/_vendor/requests/__version__.py,sha256=Bm-GFstQaFezsFlnmEMrJDe8JNROz9n2XXYtODdvjjc,436
    -pip/_vendor/requests/_internal_utils.py,sha256=Zx3PnEUccyfsB-ie11nZVAW8qClJy0gx1qNME7rgT18,1096
    -pip/_vendor/requests/adapters.py,sha256=e-bmKEApNVqFdylxuMJJfiaHdlmS_zhWhIMEzlHvGuc,21548
    -pip/_vendor/requests/api.py,sha256=fbUo11QoLOoNgWU6FfvNz8vMj9bE_cMmICXBa7TZHJs,6271
    -pip/_vendor/requests/auth.py,sha256=QB2-cSUj1jrvWZfPXttsZpyAacQgtKLVk14vQW9TpSE,10206
    -pip/_vendor/requests/certs.py,sha256=nXRVq9DtGmv_1AYbwjTu9UrgAcdJv05ZvkNeaoLOZxY,465
    -pip/_vendor/requests/compat.py,sha256=FZX4Q_EMKiMnhZpZ3g_gOsT-j2ca9ij2gehDx1cwYeo,1941
    -pip/_vendor/requests/cookies.py,sha256=Y-bKX6TvW3FnYlE6Au0SXtVVWcaNdFvuAwQxw-G0iTI,18430
    -pip/_vendor/requests/exceptions.py,sha256=-mLam3TAx80V09EaH3H-ZxR61eAVuLRZ8zgBBSLjK44,3197
    -pip/_vendor/requests/help.py,sha256=SJPVcoXeo7KfK4AxJN5eFVQCjr0im87tU2n7ubLsksU,3578
    -pip/_vendor/requests/hooks.py,sha256=QReGyy0bRcr5rkwCuObNakbYsc7EkiKeBwG4qHekr2Q,757
    -pip/_vendor/requests/models.py,sha256=6s-37iAqXVptq8z7U_LoH_pbIPrCQUm_Z8QuIGE29Q0,34275
    -pip/_vendor/requests/packages.py,sha256=njJmVifY4aSctuW3PP5EFRCxjEwMRDO6J_feG2dKWsI,695
    -pip/_vendor/requests/sessions.py,sha256=DjbCotDW6xSAaBsjbW-L8l4N0UcwmrxVNgSrZgIjGWM,29332
    -pip/_vendor/requests/status_codes.py,sha256=XWlcpBjbCtq9sSqpH9_KKxgnLTf9Z__wCWolq21ySlg,4129
    -pip/_vendor/requests/structures.py,sha256=zoP8qly2Jak5e89HwpqjN1z2diztI-_gaqts1raJJBc,2981
    -pip/_vendor/requests/utils.py,sha256=LtPJ1db6mJff2TJSJWKi7rBpzjPS3mSOrjC9zRhoD3A,30049
    -pip/_vendor/retrying.py,sha256=k3fflf5_Mm0XcIJYhB7Tj34bqCCPhUDkYbx1NvW2FPE,9972
    -pip/_vendor/six.py,sha256=h9jch2pS86y4R36pKRS3LOYUCVFNIJMRwjZ4fJDtJ44,32452
    -pip/_vendor/urllib3/__init__.py,sha256=cedaGRiXnA8WzcI3WPbb9u2Al9l2ortwfXZSQ4yFHHU,2683
    -pip/_vendor/urllib3/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/urllib3/__pycache__/_collections.cpython-37.pyc,,
    -pip/_vendor/urllib3/__pycache__/connection.cpython-37.pyc,,
    -pip/_vendor/urllib3/__pycache__/connectionpool.cpython-37.pyc,,
    -pip/_vendor/urllib3/__pycache__/exceptions.cpython-37.pyc,,
    -pip/_vendor/urllib3/__pycache__/fields.cpython-37.pyc,,
    -pip/_vendor/urllib3/__pycache__/filepost.cpython-37.pyc,,
    -pip/_vendor/urllib3/__pycache__/poolmanager.cpython-37.pyc,,
    -pip/_vendor/urllib3/__pycache__/request.cpython-37.pyc,,
    -pip/_vendor/urllib3/__pycache__/response.cpython-37.pyc,,
    -pip/_vendor/urllib3/_collections.py,sha256=GouVsNzwg6jADZTmimMI6oqmwKSswnMo9dh5tGNVWO4,10792
    -pip/_vendor/urllib3/connection.py,sha256=p7uUWh3cP0hgja8fFlzfZvwVxviJa8-C5cx9G3wQ5-o,15170
    -pip/_vendor/urllib3/connectionpool.py,sha256=NYYFYX-L9XO4tQMU7ug5ABidsmGKVSE2_X4XMggzwxk,36446
    -pip/_vendor/urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
    -pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-37.pyc,,
    -pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-37.pyc,,
    -pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-37.pyc,,
    -pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-37.pyc,,
    -pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-37.pyc,,
    -pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-37.pyc,,
    -pip/_vendor/urllib3/contrib/_appengine_environ.py,sha256=tJvMXygi5UnFn4tmCHtrXOQIqy1FAfZoDDK36Q35F1I,707
    -pip/_vendor/urllib3/contrib/_securetransport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
    -pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-37.pyc,,
    -pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-37.pyc,,
    -pip/_vendor/urllib3/contrib/_securetransport/bindings.py,sha256=ZuSEVZwiubk0oaVmkZa8bUoK9ACVJJhPVgRzPZN6KoQ,16805
    -pip/_vendor/urllib3/contrib/_securetransport/low_level.py,sha256=V7GnujxnWZh2N2sMsV5N4d9Imymokkm3zBwgt77_bSE,11956
    -pip/_vendor/urllib3/contrib/appengine.py,sha256=CosoKgcu5PE5COkPSGa7Q5AFzh9XWAf0PTBU7LSBE7A,11314
    -pip/_vendor/urllib3/contrib/ntlmpool.py,sha256=YnWc2-np7Rzi2LfCxJ2fEprhGkeZDSjQFdJuTQ5vuUE,4201
    -pip/_vendor/urllib3/contrib/pyopenssl.py,sha256=w35mWy_1POZUsbOhurVb_zhf0C1Jkd79AFlucLs6KuQ,16440
    -pip/_vendor/urllib3/contrib/securetransport.py,sha256=_vByA8KzFPxn9x67hilAPu9wpoKDS9fU3K1DVavEk74,32742
    -pip/_vendor/urllib3/contrib/socks.py,sha256=nzDMgDIFJWVubKHqvIn2-SKCO91hhJInP92WgHChGzA,7036
    -pip/_vendor/urllib3/exceptions.py,sha256=_tiSmwYQ8em6OSr5GPO5hpbCG8q0DTIuJ2F7NMEyDyc,6610
    -pip/_vendor/urllib3/fields.py,sha256=kroD76QK-GdHHW7f_AUN4XxDC3OQPI2FFrS9eSL4BCs,8553
    -pip/_vendor/urllib3/filepost.py,sha256=vj0qbrpT1AFzvvW4SuC8M5kJiw7wftHcSr-7b8UpPpw,2440
    -pip/_vendor/urllib3/packages/__init__.py,sha256=h4BLhD4tLaBx1adaDtKXfupsgqY0wWLXb_f1_yVlV6A,108
    -pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/urllib3/packages/__pycache__/six.cpython-37.pyc,,
    -pip/_vendor/urllib3/packages/backports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
    -pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-37.pyc,,
    -pip/_vendor/urllib3/packages/backports/makefile.py,sha256=005wrvH-_pWSnTFqQ2sdzzh4zVCtQUUQ4mR2Yyxwc0A,1418
    -pip/_vendor/urllib3/packages/six.py,sha256=adx4z-eM_D0Vvu0IIqVzFACQ_ux9l64y7DkSEfbxCDs,32536
    -pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py,sha256=ywgKMtfHi1-DrXlzPfVAhzsLzzqcK7GT6eLgdode1Fg,688
    -pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-37.pyc,,
    -pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py,sha256=EFrDbzAs-pV-Fm1HeuAqLl2mJ6MS23LwxYiukKrtf9U,5724
    -pip/_vendor/urllib3/poolmanager.py,sha256=JYUyBUN3IiEknUdjZ7VJrpCQr6SP7vi0WwSndrn8XpE,17053
    -pip/_vendor/urllib3/request.py,sha256=hhoHvEEatyd9Tn5EbGjQ0emn-ENMCyY591yNWTneINA,6018
    -pip/_vendor/urllib3/response.py,sha256=O2DVzBeWOzyxZDZ8k0EDFU3GW1jWXk_b03mS0O1ybxs,27836
    -pip/_vendor/urllib3/util/__init__.py,sha256=bWNaav_OT-1L7-sxm59cGb59rDORlbhb_4noduM5m0U,1038
    -pip/_vendor/urllib3/util/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/urllib3/util/__pycache__/connection.cpython-37.pyc,,
    -pip/_vendor/urllib3/util/__pycache__/queue.cpython-37.pyc,,
    -pip/_vendor/urllib3/util/__pycache__/request.cpython-37.pyc,,
    -pip/_vendor/urllib3/util/__pycache__/response.cpython-37.pyc,,
    -pip/_vendor/urllib3/util/__pycache__/retry.cpython-37.pyc,,
    -pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-37.pyc,,
    -pip/_vendor/urllib3/util/__pycache__/timeout.cpython-37.pyc,,
    -pip/_vendor/urllib3/util/__pycache__/url.cpython-37.pyc,,
    -pip/_vendor/urllib3/util/__pycache__/wait.cpython-37.pyc,,
    -pip/_vendor/urllib3/util/connection.py,sha256=fOXAQ288KHaXmdTlDv5drwScDk9taQ9YzT42xegxzTg,4636
    -pip/_vendor/urllib3/util/queue.py,sha256=myTX3JDHntglKQNBf3b6dasHH-uF-W59vzGSQiFdAfI,497
    -pip/_vendor/urllib3/util/request.py,sha256=_LJPqQXTYA_9c0syijP8Bmj72BeKNO9PXBk62oM7HQY,3821
    -pip/_vendor/urllib3/util/response.py,sha256=_WbTQr8xRQuJuY2rTIZxVdJD6mnEOtQupjaK_bF_Vj8,2573
    -pip/_vendor/urllib3/util/retry.py,sha256=Ui74h44gLIIWkAxT9SK3A2mEvu55-odWgJMw3LiUNGk,15450
    -pip/_vendor/urllib3/util/ssl_.py,sha256=7mB3AsidIqLLq6gbeBL-7Ta0MyVOL5uZax8_5bH3y7c,14163
    -pip/_vendor/urllib3/util/timeout.py,sha256=2g39u7rU68ilOcGhP1sVzySm4yWDbiY1LxCjsrCrMk8,9874
    -pip/_vendor/urllib3/util/url.py,sha256=0peUq73QOfzYLL89pb-93SEMFRtjvQCISXx61c7qlF8,14247
    -pip/_vendor/urllib3/util/wait.py,sha256=k46KzqIYu3Vnzla5YW3EvtInNlU_QycFqQAghIOxoAg,5406
    -pip/_vendor/webencodings/__init__.py,sha256=qOBJIuPy_4ByYH6W_bNgJF-qYQ2DoU-dKsDu5yRWCXg,10579
    -pip/_vendor/webencodings/__pycache__/__init__.cpython-37.pyc,,
    -pip/_vendor/webencodings/__pycache__/labels.cpython-37.pyc,,
    -pip/_vendor/webencodings/__pycache__/mklabels.cpython-37.pyc,,
    -pip/_vendor/webencodings/__pycache__/tests.cpython-37.pyc,,
    -pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-37.pyc,,
    -pip/_vendor/webencodings/labels.py,sha256=4AO_KxTddqGtrL9ns7kAPjb0CcN6xsCIxbK37HY9r3E,8979
    -pip/_vendor/webencodings/mklabels.py,sha256=GYIeywnpaLnP0GSic8LFWgd0UVvO_l1Nc6YoF-87R_4,1305
    -pip/_vendor/webencodings/tests.py,sha256=OtGLyjhNY1fvkW1GvLJ_FV9ZoqC9Anyjr7q3kxTbzNs,6563
    -pip/_vendor/webencodings/x_user_defined.py,sha256=yOqWSdmpytGfUgh_Z6JYgDNhoc-BAHyyeeT15Fr42tM,4307
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/WHEEL b/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/WHEEL
    deleted file mode 100644
    index 8b701e9..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/WHEEL
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -Wheel-Version: 1.0
    -Generator: bdist_wheel (0.33.6)
    -Root-Is-Purelib: true
    -Tag: py2-none-any
    -Tag: py3-none-any
    -
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/entry_points.txt b/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/entry_points.txt
    deleted file mode 100644
    index 4e3b05f..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/entry_points.txt
    +++ /dev/null
    @@ -1,5 +0,0 @@
    -[console_scripts]
    -pip = pip._internal.main:main
    -pip3 = pip._internal.main:main
    -pip3.7 = pip._internal.main:main
    -
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/top_level.txt b/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/top_level.txt
    deleted file mode 100644
    index a1b589e..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip-19.3.dist-info/top_level.txt
    +++ /dev/null
    @@ -1 +0,0 @@
    -pip
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/__init__.py
    deleted file mode 100644
    index a24cb60..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/__init__.py
    +++ /dev/null
    @@ -1 +0,0 @@
    -__version__ = "19.3"
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/__main__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/__main__.py
    deleted file mode 100644
    index 49b6fdf..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/__main__.py
    +++ /dev/null
    @@ -1,19 +0,0 @@
    -from __future__ import absolute_import
    -
    -import os
    -import sys
    -
    -# If we are running from a wheel, add the wheel to sys.path
    -# This allows the usage python pip-*.whl/pip install pip-*.whl
    -if __package__ == '':
    -    # __file__ is pip-*.whl/pip/__main__.py
    -    # first dirname call strips of '/__main__.py', second strips off '/pip'
    -    # Resulting path is the name of the wheel itself
    -    # Add that to sys.path so we can import pip
    -    path = os.path.dirname(os.path.dirname(__file__))
    -    sys.path.insert(0, path)
    -
    -from pip._internal.main import main as _main  # isort:skip # noqa
    -
    -if __name__ == '__main__':
    -    sys.exit(_main())
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/__init__.py
    deleted file mode 100644
    index 8c0e4c5..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/__init__.py
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -#!/usr/bin/env python
    -import pip._internal.utils.inject_securetransport  # noqa
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/build_env.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/build_env.py
    deleted file mode 100644
    index 5e6dc46..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/build_env.py
    +++ /dev/null
    @@ -1,221 +0,0 @@
    -"""Build Environment used for isolation during sdist building
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -import logging
    -import os
    -import sys
    -import textwrap
    -from collections import OrderedDict
    -from distutils.sysconfig import get_python_lib
    -from sysconfig import get_paths
    -
    -from pip._vendor.pkg_resources import Requirement, VersionConflict, WorkingSet
    -
    -from pip import __file__ as pip_location
    -from pip._internal.utils.subprocess import call_subprocess
    -from pip._internal.utils.temp_dir import TempDirectory
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.ui import open_spinner
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Tuple, Set, Iterable, Optional, List
    -    from pip._internal.index import PackageFinder
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class _Prefix:
    -
    -    def __init__(self, path):
    -        # type: (str) -> None
    -        self.path = path
    -        self.setup = False
    -        self.bin_dir = get_paths(
    -            'nt' if os.name == 'nt' else 'posix_prefix',
    -            vars={'base': path, 'platbase': path}
    -        )['scripts']
    -        # Note: prefer distutils' sysconfig to get the
    -        # library paths so PyPy is correctly supported.
    -        purelib = get_python_lib(plat_specific=False, prefix=path)
    -        platlib = get_python_lib(plat_specific=True, prefix=path)
    -        if purelib == platlib:
    -            self.lib_dirs = [purelib]
    -        else:
    -            self.lib_dirs = [purelib, platlib]
    -
    -
    -class BuildEnvironment(object):
    -    """Creates and manages an isolated environment to install build deps
    -    """
    -
    -    def __init__(self):
    -        # type: () -> None
    -        self._temp_dir = TempDirectory(kind="build-env")
    -
    -        self._prefixes = OrderedDict((
    -            (name, _Prefix(os.path.join(self._temp_dir.path, name)))
    -            for name in ('normal', 'overlay')
    -        ))
    -
    -        self._bin_dirs = []  # type: List[str]
    -        self._lib_dirs = []  # type: List[str]
    -        for prefix in reversed(list(self._prefixes.values())):
    -            self._bin_dirs.append(prefix.bin_dir)
    -            self._lib_dirs.extend(prefix.lib_dirs)
    -
    -        # Customize site to:
    -        # - ensure .pth files are honored
    -        # - prevent access to system site packages
    -        system_sites = {
    -            os.path.normcase(site) for site in (
    -                get_python_lib(plat_specific=False),
    -                get_python_lib(plat_specific=True),
    -            )
    -        }
    -        self._site_dir = os.path.join(self._temp_dir.path, 'site')
    -        if not os.path.exists(self._site_dir):
    -            os.mkdir(self._site_dir)
    -        with open(os.path.join(self._site_dir, 'sitecustomize.py'), 'w') as fp:
    -            fp.write(textwrap.dedent(
    -                '''
    -                import os, site, sys
    -
    -                # First, drop system-sites related paths.
    -                original_sys_path = sys.path[:]
    -                known_paths = set()
    -                for path in {system_sites!r}:
    -                    site.addsitedir(path, known_paths=known_paths)
    -                system_paths = set(
    -                    os.path.normcase(path)
    -                    for path in sys.path[len(original_sys_path):]
    -                )
    -                original_sys_path = [
    -                    path for path in original_sys_path
    -                    if os.path.normcase(path) not in system_paths
    -                ]
    -                sys.path = original_sys_path
    -
    -                # Second, add lib directories.
    -                # ensuring .pth file are processed.
    -                for path in {lib_dirs!r}:
    -                    assert not path in sys.path
    -                    site.addsitedir(path)
    -                '''
    -            ).format(system_sites=system_sites, lib_dirs=self._lib_dirs))
    -
    -    def __enter__(self):
    -        self._save_env = {
    -            name: os.environ.get(name, None)
    -            for name in ('PATH', 'PYTHONNOUSERSITE', 'PYTHONPATH')
    -        }
    -
    -        path = self._bin_dirs[:]
    -        old_path = self._save_env['PATH']
    -        if old_path:
    -            path.extend(old_path.split(os.pathsep))
    -
    -        pythonpath = [self._site_dir]
    -
    -        os.environ.update({
    -            'PATH': os.pathsep.join(path),
    -            'PYTHONNOUSERSITE': '1',
    -            'PYTHONPATH': os.pathsep.join(pythonpath),
    -        })
    -
    -    def __exit__(self, exc_type, exc_val, exc_tb):
    -        for varname, old_value in self._save_env.items():
    -            if old_value is None:
    -                os.environ.pop(varname, None)
    -            else:
    -                os.environ[varname] = old_value
    -
    -    def cleanup(self):
    -        # type: () -> None
    -        self._temp_dir.cleanup()
    -
    -    def check_requirements(self, reqs):
    -        # type: (Iterable[str]) -> Tuple[Set[Tuple[str, str]], Set[str]]
    -        """Return 2 sets:
    -            - conflicting requirements: set of (installed, wanted) reqs tuples
    -            - missing requirements: set of reqs
    -        """
    -        missing = set()
    -        conflicting = set()
    -        if reqs:
    -            ws = WorkingSet(self._lib_dirs)
    -            for req in reqs:
    -                try:
    -                    if ws.find(Requirement.parse(req)) is None:
    -                        missing.add(req)
    -                except VersionConflict as e:
    -                    conflicting.add((str(e.args[0].as_requirement()),
    -                                     str(e.args[1])))
    -        return conflicting, missing
    -
    -    def install_requirements(
    -        self,
    -        finder,  # type: PackageFinder
    -        requirements,  # type: Iterable[str]
    -        prefix_as_string,  # type: str
    -        message  # type: Optional[str]
    -    ):
    -        # type: (...) -> None
    -        prefix = self._prefixes[prefix_as_string]
    -        assert not prefix.setup
    -        prefix.setup = True
    -        if not requirements:
    -            return
    -        args = [
    -            sys.executable, os.path.dirname(pip_location), 'install',
    -            '--ignore-installed', '--no-user', '--prefix', prefix.path,
    -            '--no-warn-script-location',
    -        ]  # type: List[str]
    -        if logger.getEffectiveLevel() <= logging.DEBUG:
    -            args.append('-v')
    -        for format_control in ('no_binary', 'only_binary'):
    -            formats = getattr(finder.format_control, format_control)
    -            args.extend(('--' + format_control.replace('_', '-'),
    -                         ','.join(sorted(formats or {':none:'}))))
    -
    -        index_urls = finder.index_urls
    -        if index_urls:
    -            args.extend(['-i', index_urls[0]])
    -            for extra_index in index_urls[1:]:
    -                args.extend(['--extra-index-url', extra_index])
    -        else:
    -            args.append('--no-index')
    -        for link in finder.find_links:
    -            args.extend(['--find-links', link])
    -
    -        for host in finder.trusted_hosts:
    -            args.extend(['--trusted-host', host])
    -        if finder.allow_all_prereleases:
    -            args.append('--pre')
    -        args.append('--')
    -        args.extend(requirements)
    -        with open_spinner(message) as spinner:
    -            call_subprocess(args, spinner=spinner)
    -
    -
    -class NoOpBuildEnvironment(BuildEnvironment):
    -    """A no-op drop-in replacement for BuildEnvironment
    -    """
    -
    -    def __init__(self):
    -        pass
    -
    -    def __enter__(self):
    -        pass
    -
    -    def __exit__(self, exc_type, exc_val, exc_tb):
    -        pass
    -
    -    def cleanup(self):
    -        pass
    -
    -    def install_requirements(self, finder, requirements, prefix, message):
    -        raise NotImplementedError()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cache.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cache.py
    deleted file mode 100644
    index 8ebecbb..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cache.py
    +++ /dev/null
    @@ -1,253 +0,0 @@
    -"""Cache Management
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -
    -import errno
    -import hashlib
    -import logging
    -import os
    -
    -from pip._vendor.packaging.utils import canonicalize_name
    -
    -from pip._internal.models.link import Link
    -from pip._internal.utils.compat import expanduser
    -from pip._internal.utils.temp_dir import TempDirectory
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.urls import path_to_url
    -from pip._internal.wheel import InvalidWheelFilename, Wheel
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional, Set, List, Any
    -    from pip._internal.index import FormatControl
    -    from pip._internal.pep425tags import Pep425Tag
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class Cache(object):
    -    """An abstract class - provides cache directories for data from links
    -
    -
    -        :param cache_dir: The root of the cache.
    -        :param format_control: An object of FormatControl class to limit
    -            binaries being read from the cache.
    -        :param allowed_formats: which formats of files the cache should store.
    -            ('binary' and 'source' are the only allowed values)
    -    """
    -
    -    def __init__(self, cache_dir, format_control, allowed_formats):
    -        # type: (str, FormatControl, Set[str]) -> None
    -        super(Cache, self).__init__()
    -        self.cache_dir = expanduser(cache_dir) if cache_dir else None
    -        self.format_control = format_control
    -        self.allowed_formats = allowed_formats
    -
    -        _valid_formats = {"source", "binary"}
    -        assert self.allowed_formats.union(_valid_formats) == _valid_formats
    -
    -    def _get_cache_path_parts(self, link):
    -        # type: (Link) -> List[str]
    -        """Get parts of part that must be os.path.joined with cache_dir
    -        """
    -
    -        # We want to generate an url to use as our cache key, we don't want to
    -        # just re-use the URL because it might have other items in the fragment
    -        # and we don't care about those.
    -        key_parts = [link.url_without_fragment]
    -        if link.hash_name is not None and link.hash is not None:
    -            key_parts.append("=".join([link.hash_name, link.hash]))
    -        key_url = "#".join(key_parts)
    -
    -        # Encode our key url with sha224, we'll use this because it has similar
    -        # security properties to sha256, but with a shorter total output (and
    -        # thus less secure). However the differences don't make a lot of
    -        # difference for our use case here.
    -        hashed = hashlib.sha224(key_url.encode()).hexdigest()
    -
    -        # We want to nest the directories some to prevent having a ton of top
    -        # level directories where we might run out of sub directories on some
    -        # FS.
    -        parts = [hashed[:2], hashed[2:4], hashed[4:6], hashed[6:]]
    -
    -        return parts
    -
    -    def _get_candidates(self, link, package_name):
    -        # type: (Link, Optional[str]) -> List[Any]
    -        can_not_cache = (
    -            not self.cache_dir or
    -            not package_name or
    -            not link
    -        )
    -        if can_not_cache:
    -            return []
    -
    -        canonical_name = canonicalize_name(package_name)
    -        formats = self.format_control.get_allowed_formats(
    -            canonical_name
    -        )
    -        if not self.allowed_formats.intersection(formats):
    -            return []
    -
    -        root = self.get_path_for_link(link)
    -        try:
    -            return os.listdir(root)
    -        except OSError as err:
    -            if err.errno in {errno.ENOENT, errno.ENOTDIR}:
    -                return []
    -            raise
    -
    -    def get_path_for_link(self, link):
    -        # type: (Link) -> str
    -        """Return a directory to store cached items in for link.
    -        """
    -        raise NotImplementedError()
    -
    -    def get(
    -        self,
    -        link,            # type: Link
    -        package_name,    # type: Optional[str]
    -        supported_tags,  # type: List[Pep425Tag]
    -    ):
    -        # type: (...) -> Link
    -        """Returns a link to a cached item if it exists, otherwise returns the
    -        passed link.
    -        """
    -        raise NotImplementedError()
    -
    -    def _link_for_candidate(self, link, candidate):
    -        # type: (Link, str) -> Link
    -        root = self.get_path_for_link(link)
    -        path = os.path.join(root, candidate)
    -
    -        return Link(path_to_url(path))
    -
    -    def cleanup(self):
    -        # type: () -> None
    -        pass
    -
    -
    -class SimpleWheelCache(Cache):
    -    """A cache of wheels for future installs.
    -    """
    -
    -    def __init__(self, cache_dir, format_control):
    -        # type: (str, FormatControl) -> None
    -        super(SimpleWheelCache, self).__init__(
    -            cache_dir, format_control, {"binary"}
    -        )
    -
    -    def get_path_for_link(self, link):
    -        # type: (Link) -> str
    -        """Return a directory to store cached wheels for link
    -
    -        Because there are M wheels for any one sdist, we provide a directory
    -        to cache them in, and then consult that directory when looking up
    -        cache hits.
    -
    -        We only insert things into the cache if they have plausible version
    -        numbers, so that we don't contaminate the cache with things that were
    -        not unique. E.g. ./package might have dozens of installs done for it
    -        and build a version of 0.0...and if we built and cached a wheel, we'd
    -        end up using the same wheel even if the source has been edited.
    -
    -        :param link: The link of the sdist for which this will cache wheels.
    -        """
    -        parts = self._get_cache_path_parts(link)
    -
    -        # Store wheels within the root cache_dir
    -        return os.path.join(self.cache_dir, "wheels", *parts)
    -
    -    def get(
    -        self,
    -        link,            # type: Link
    -        package_name,    # type: Optional[str]
    -        supported_tags,  # type: List[Pep425Tag]
    -    ):
    -        # type: (...) -> Link
    -        candidates = []
    -
    -        for wheel_name in self._get_candidates(link, package_name):
    -            try:
    -                wheel = Wheel(wheel_name)
    -            except InvalidWheelFilename:
    -                continue
    -            if not wheel.supported(supported_tags):
    -                # Built for a different python/arch/etc
    -                continue
    -            candidates.append(
    -                (wheel.support_index_min(supported_tags), wheel_name)
    -            )
    -
    -        if not candidates:
    -            return link
    -
    -        return self._link_for_candidate(link, min(candidates)[1])
    -
    -
    -class EphemWheelCache(SimpleWheelCache):
    -    """A SimpleWheelCache that creates it's own temporary cache directory
    -    """
    -
    -    def __init__(self, format_control):
    -        # type: (FormatControl) -> None
    -        self._temp_dir = TempDirectory(kind="ephem-wheel-cache")
    -
    -        super(EphemWheelCache, self).__init__(
    -            self._temp_dir.path, format_control
    -        )
    -
    -    def cleanup(self):
    -        # type: () -> None
    -        self._temp_dir.cleanup()
    -
    -
    -class WheelCache(Cache):
    -    """Wraps EphemWheelCache and SimpleWheelCache into a single Cache
    -
    -    This Cache allows for gracefully degradation, using the ephem wheel cache
    -    when a certain link is not found in the simple wheel cache first.
    -    """
    -
    -    def __init__(self, cache_dir, format_control):
    -        # type: (str, FormatControl) -> None
    -        super(WheelCache, self).__init__(
    -            cache_dir, format_control, {'binary'}
    -        )
    -        self._wheel_cache = SimpleWheelCache(cache_dir, format_control)
    -        self._ephem_cache = EphemWheelCache(format_control)
    -
    -    def get_path_for_link(self, link):
    -        # type: (Link) -> str
    -        return self._wheel_cache.get_path_for_link(link)
    -
    -    def get_ephem_path_for_link(self, link):
    -        # type: (Link) -> str
    -        return self._ephem_cache.get_path_for_link(link)
    -
    -    def get(
    -        self,
    -        link,            # type: Link
    -        package_name,    # type: Optional[str]
    -        supported_tags,  # type: List[Pep425Tag]
    -    ):
    -        # type: (...) -> Link
    -        retval = self._wheel_cache.get(
    -            link=link,
    -            package_name=package_name,
    -            supported_tags=supported_tags,
    -        )
    -        if retval is not link:
    -            return retval
    -
    -        return self._ephem_cache.get(
    -            link=link,
    -            package_name=package_name,
    -            supported_tags=supported_tags,
    -        )
    -
    -    def cleanup(self):
    -        # type: () -> None
    -        self._wheel_cache.cleanup()
    -        self._ephem_cache.cleanup()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/__init__.py
    deleted file mode 100644
    index e589bb9..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/__init__.py
    +++ /dev/null
    @@ -1,4 +0,0 @@
    -"""Subpackage containing all of pip's command line interface related code
    -"""
    -
    -# This file intentionally does not import submodules
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py
    deleted file mode 100644
    index 5440241..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py
    +++ /dev/null
    @@ -1,155 +0,0 @@
    -"""Logic that powers autocompletion installed by ``pip completion``.
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import optparse
    -import os
    -import sys
    -
    -from pip._internal.cli.main_parser import create_main_parser
    -from pip._internal.commands import commands_dict, create_command
    -from pip._internal.utils.misc import get_installed_distributions
    -
    -
    -def autocomplete():
    -    """Entry Point for completion of main and subcommand options.
    -    """
    -    # Don't complete if user hasn't sourced bash_completion file.
    -    if 'PIP_AUTO_COMPLETE' not in os.environ:
    -        return
    -    cwords = os.environ['COMP_WORDS'].split()[1:]
    -    cword = int(os.environ['COMP_CWORD'])
    -    try:
    -        current = cwords[cword - 1]
    -    except IndexError:
    -        current = ''
    -
    -    subcommands = list(commands_dict)
    -    options = []
    -    # subcommand
    -    try:
    -        subcommand_name = [w for w in cwords if w in subcommands][0]
    -    except IndexError:
    -        subcommand_name = None
    -
    -    parser = create_main_parser()
    -    # subcommand options
    -    if subcommand_name:
    -        # special case: 'help' subcommand has no options
    -        if subcommand_name == 'help':
    -            sys.exit(1)
    -        # special case: list locally installed dists for show and uninstall
    -        should_list_installed = (
    -            subcommand_name in ['show', 'uninstall'] and
    -            not current.startswith('-')
    -        )
    -        if should_list_installed:
    -            installed = []
    -            lc = current.lower()
    -            for dist in get_installed_distributions(local_only=True):
    -                if dist.key.startswith(lc) and dist.key not in cwords[1:]:
    -                    installed.append(dist.key)
    -            # if there are no dists installed, fall back to option completion
    -            if installed:
    -                for dist in installed:
    -                    print(dist)
    -                sys.exit(1)
    -
    -        subcommand = create_command(subcommand_name)
    -
    -        for opt in subcommand.parser.option_list_all:
    -            if opt.help != optparse.SUPPRESS_HELP:
    -                for opt_str in opt._long_opts + opt._short_opts:
    -                    options.append((opt_str, opt.nargs))
    -
    -        # filter out previously specified options from available options
    -        prev_opts = [x.split('=')[0] for x in cwords[1:cword - 1]]
    -        options = [(x, v) for (x, v) in options if x not in prev_opts]
    -        # filter options by current input
    -        options = [(k, v) for k, v in options if k.startswith(current)]
    -        # get completion type given cwords and available subcommand options
    -        completion_type = get_path_completion_type(
    -            cwords, cword, subcommand.parser.option_list_all,
    -        )
    -        # get completion files and directories if ``completion_type`` is
    -        # ````, ```` or ````
    -        if completion_type:
    -            options = auto_complete_paths(current, completion_type)
    -            options = ((opt, 0) for opt in options)
    -        for option in options:
    -            opt_label = option[0]
    -            # append '=' to options which require args
    -            if option[1] and option[0][:2] == "--":
    -                opt_label += '='
    -            print(opt_label)
    -    else:
    -        # show main parser options only when necessary
    -
    -        opts = [i.option_list for i in parser.option_groups]
    -        opts.append(parser.option_list)
    -        opts = (o for it in opts for o in it)
    -        if current.startswith('-'):
    -            for opt in opts:
    -                if opt.help != optparse.SUPPRESS_HELP:
    -                    subcommands += opt._long_opts + opt._short_opts
    -        else:
    -            # get completion type given cwords and all available options
    -            completion_type = get_path_completion_type(cwords, cword, opts)
    -            if completion_type:
    -                subcommands = auto_complete_paths(current, completion_type)
    -
    -        print(' '.join([x for x in subcommands if x.startswith(current)]))
    -    sys.exit(1)
    -
    -
    -def get_path_completion_type(cwords, cword, opts):
    -    """Get the type of path completion (``file``, ``dir``, ``path`` or None)
    -
    -    :param cwords: same as the environmental variable ``COMP_WORDS``
    -    :param cword: same as the environmental variable ``COMP_CWORD``
    -    :param opts: The available options to check
    -    :return: path completion type (``file``, ``dir``, ``path`` or None)
    -    """
    -    if cword < 2 or not cwords[cword - 2].startswith('-'):
    -        return
    -    for opt in opts:
    -        if opt.help == optparse.SUPPRESS_HELP:
    -            continue
    -        for o in str(opt).split('/'):
    -            if cwords[cword - 2].split('=')[0] == o:
    -                if not opt.metavar or any(
    -                        x in ('path', 'file', 'dir')
    -                        for x in opt.metavar.split('/')):
    -                    return opt.metavar
    -
    -
    -def auto_complete_paths(current, completion_type):
    -    """If ``completion_type`` is ``file`` or ``path``, list all regular files
    -    and directories starting with ``current``; otherwise only list directories
    -    starting with ``current``.
    -
    -    :param current: The word to be completed
    -    :param completion_type: path completion type(`file`, `path` or `dir`)i
    -    :return: A generator of regular files and/or directories
    -    """
    -    directory, filename = os.path.split(current)
    -    current_path = os.path.abspath(directory)
    -    # Don't complete paths if they can't be accessed
    -    if not os.access(current_path, os.R_OK):
    -        return
    -    filename = os.path.normcase(filename)
    -    # list all files that start with ``filename``
    -    file_list = (x for x in os.listdir(current_path)
    -                 if os.path.normcase(x).startswith(filename))
    -    for f in file_list:
    -        opt = os.path.join(current_path, f)
    -        comp_file = os.path.normcase(os.path.join(directory, f))
    -        # complete regular files when there is not ```` after option
    -        # complete directories when there is ````, ```` or
    -        # ````after option
    -        if completion_type != 'dir' and os.path.isfile(opt):
    -            yield comp_file
    -        elif os.path.isdir(opt):
    -            yield os.path.join(comp_file, '')
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/base_command.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/base_command.py
    deleted file mode 100644
    index dad08c2..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/base_command.py
    +++ /dev/null
    @@ -1,193 +0,0 @@
    -"""Base Command class, and related routines"""
    -
    -from __future__ import absolute_import, print_function
    -
    -import logging
    -import logging.config
    -import optparse
    -import os
    -import platform
    -import sys
    -import traceback
    -
    -from pip._internal.cli import cmdoptions
    -from pip._internal.cli.command_context import CommandContextMixIn
    -from pip._internal.cli.parser import (
    -    ConfigOptionParser,
    -    UpdatingDefaultsHelpFormatter,
    -)
    -from pip._internal.cli.status_codes import (
    -    ERROR,
    -    PREVIOUS_BUILD_DIR_ERROR,
    -    SUCCESS,
    -    UNKNOWN_ERROR,
    -    VIRTUALENV_NOT_FOUND,
    -)
    -from pip._internal.exceptions import (
    -    BadCommand,
    -    CommandError,
    -    InstallationError,
    -    PreviousBuildDirError,
    -    UninstallationError,
    -)
    -from pip._internal.utils.deprecation import deprecated
    -from pip._internal.utils.logging import BrokenStdoutLoggingError, setup_logging
    -from pip._internal.utils.misc import get_prog
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.virtualenv import running_under_virtualenv
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import List, Tuple, Any
    -    from optparse import Values
    -
    -__all__ = ['Command']
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class Command(CommandContextMixIn):
    -    usage = None  # type: str
    -    ignore_require_venv = False  # type: bool
    -
    -    def __init__(self, name, summary, isolated=False):
    -        # type: (str, str, bool) -> None
    -        super(Command, self).__init__()
    -        parser_kw = {
    -            'usage': self.usage,
    -            'prog': '%s %s' % (get_prog(), name),
    -            'formatter': UpdatingDefaultsHelpFormatter(),
    -            'add_help_option': False,
    -            'name': name,
    -            'description': self.__doc__,
    -            'isolated': isolated,
    -        }
    -
    -        self.name = name
    -        self.summary = summary
    -        self.parser = ConfigOptionParser(**parser_kw)
    -
    -        # Commands should add options to this option group
    -        optgroup_name = '%s Options' % self.name.capitalize()
    -        self.cmd_opts = optparse.OptionGroup(self.parser, optgroup_name)
    -
    -        # Add the general options
    -        gen_opts = cmdoptions.make_option_group(
    -            cmdoptions.general_group,
    -            self.parser,
    -        )
    -        self.parser.add_option_group(gen_opts)
    -
    -    def handle_pip_version_check(self, options):
    -        # type: (Values) -> None
    -        """
    -        This is a no-op so that commands by default do not do the pip version
    -        check.
    -        """
    -        # Make sure we do the pip version check if the index_group options
    -        # are present.
    -        assert not hasattr(options, 'no_index')
    -
    -    def run(self, options, args):
    -        # type: (Values, List[Any]) -> Any
    -        raise NotImplementedError
    -
    -    def parse_args(self, args):
    -        # type: (List[str]) -> Tuple
    -        # factored out for testability
    -        return self.parser.parse_args(args)
    -
    -    def main(self, args):
    -        # type: (List[str]) -> int
    -        try:
    -            with self.main_context():
    -                return self._main(args)
    -        finally:
    -            logging.shutdown()
    -
    -    def _main(self, args):
    -        # type: (List[str]) -> int
    -        options, args = self.parse_args(args)
    -
    -        # Set verbosity so that it can be used elsewhere.
    -        self.verbosity = options.verbose - options.quiet
    -
    -        level_number = setup_logging(
    -            verbosity=self.verbosity,
    -            no_color=options.no_color,
    -            user_log_file=options.log,
    -        )
    -
    -        if sys.version_info[:2] == (2, 7):
    -            message = (
    -                "A future version of pip will drop support for Python 2.7. "
    -                "More details about Python 2 support in pip, can be found at "
    -                "https://pip.pypa.io/en/latest/development/release-process/#python-2-support"  # noqa
    -            )
    -            if platform.python_implementation() == "CPython":
    -                message = (
    -                    "Python 2.7 will reach the end of its life on January "
    -                    "1st, 2020. Please upgrade your Python as Python 2.7 "
    -                    "won't be maintained after that date. "
    -                ) + message
    -            deprecated(message, replacement=None, gone_in=None)
    -
    -        # TODO: Try to get these passing down from the command?
    -        #       without resorting to os.environ to hold these.
    -        #       This also affects isolated builds and it should.
    -
    -        if options.no_input:
    -            os.environ['PIP_NO_INPUT'] = '1'
    -
    -        if options.exists_action:
    -            os.environ['PIP_EXISTS_ACTION'] = ' '.join(options.exists_action)
    -
    -        if options.require_venv and not self.ignore_require_venv:
    -            # If a venv is required check if it can really be found
    -            if not running_under_virtualenv():
    -                logger.critical(
    -                    'Could not find an activated virtualenv (required).'
    -                )
    -                sys.exit(VIRTUALENV_NOT_FOUND)
    -
    -        try:
    -            status = self.run(options, args)
    -            # FIXME: all commands should return an exit status
    -            # and when it is done, isinstance is not needed anymore
    -            if isinstance(status, int):
    -                return status
    -        except PreviousBuildDirError as exc:
    -            logger.critical(str(exc))
    -            logger.debug('Exception information:', exc_info=True)
    -
    -            return PREVIOUS_BUILD_DIR_ERROR
    -        except (InstallationError, UninstallationError, BadCommand) as exc:
    -            logger.critical(str(exc))
    -            logger.debug('Exception information:', exc_info=True)
    -
    -            return ERROR
    -        except CommandError as exc:
    -            logger.critical('%s', exc)
    -            logger.debug('Exception information:', exc_info=True)
    -
    -            return ERROR
    -        except BrokenStdoutLoggingError:
    -            # Bypass our logger and write any remaining messages to stderr
    -            # because stdout no longer works.
    -            print('ERROR: Pipe to stdout was broken', file=sys.stderr)
    -            if level_number <= logging.DEBUG:
    -                traceback.print_exc(file=sys.stderr)
    -
    -            return ERROR
    -        except KeyboardInterrupt:
    -            logger.critical('Operation cancelled by user')
    -            logger.debug('Exception information:', exc_info=True)
    -
    -            return ERROR
    -        except BaseException:
    -            logger.critical('Exception:', exc_info=True)
    -
    -            return UNKNOWN_ERROR
    -        finally:
    -            self.handle_pip_version_check(options)
    -
    -        return SUCCESS
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/cmdoptions.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/cmdoptions.py
    deleted file mode 100644
    index d7c6e34..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/cmdoptions.py
    +++ /dev/null
    @@ -1,909 +0,0 @@
    -"""
    -shared options and groups
    -
    -The principle here is to define options once, but *not* instantiate them
    -globally. One reason being that options with action='append' can carry state
    -between parses. pip parses general options twice internally, and shouldn't
    -pass on state. To be consistent, all options will follow this design.
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import textwrap
    -import warnings
    -from distutils.util import strtobool
    -from functools import partial
    -from optparse import SUPPRESS_HELP, Option, OptionGroup
    -from textwrap import dedent
    -
    -from pip._internal.exceptions import CommandError
    -from pip._internal.locations import USER_CACHE_DIR, get_src_prefix
    -from pip._internal.models.format_control import FormatControl
    -from pip._internal.models.index import PyPI
    -from pip._internal.models.target_python import TargetPython
    -from pip._internal.utils.hashes import STRONG_HASHES
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.ui import BAR_TYPES
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Any, Callable, Dict, Optional, Tuple
    -    from optparse import OptionParser, Values
    -    from pip._internal.cli.parser import ConfigOptionParser
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def raise_option_error(parser, option, msg):
    -    """
    -    Raise an option parsing error using parser.error().
    -
    -    Args:
    -      parser: an OptionParser instance.
    -      option: an Option instance.
    -      msg: the error text.
    -    """
    -    msg = '{} error: {}'.format(option, msg)
    -    msg = textwrap.fill(' '.join(msg.split()))
    -    parser.error(msg)
    -
    -
    -def make_option_group(group, parser):
    -    # type: (Dict[str, Any], ConfigOptionParser) -> OptionGroup
    -    """
    -    Return an OptionGroup object
    -    group  -- assumed to be dict with 'name' and 'options' keys
    -    parser -- an optparse Parser
    -    """
    -    option_group = OptionGroup(parser, group['name'])
    -    for option in group['options']:
    -        option_group.add_option(option())
    -    return option_group
    -
    -
    -def check_install_build_global(options, check_options=None):
    -    # type: (Values, Optional[Values]) -> None
    -    """Disable wheels if per-setup.py call options are set.
    -
    -    :param options: The OptionParser options to update.
    -    :param check_options: The options to check, if not supplied defaults to
    -        options.
    -    """
    -    if check_options is None:
    -        check_options = options
    -
    -    def getname(n):
    -        return getattr(check_options, n, None)
    -    names = ["build_options", "global_options", "install_options"]
    -    if any(map(getname, names)):
    -        control = options.format_control
    -        control.disallow_binaries()
    -        warnings.warn(
    -            'Disabling all use of wheels due to the use of --build-options '
    -            '/ --global-options / --install-options.', stacklevel=2,
    -        )
    -
    -
    -def check_dist_restriction(options, check_target=False):
    -    # type: (Values, bool) -> None
    -    """Function for determining if custom platform options are allowed.
    -
    -    :param options: The OptionParser options.
    -    :param check_target: Whether or not to check if --target is being used.
    -    """
    -    dist_restriction_set = any([
    -        options.python_version,
    -        options.platform,
    -        options.abi,
    -        options.implementation,
    -    ])
    -
    -    binary_only = FormatControl(set(), {':all:'})
    -    sdist_dependencies_allowed = (
    -        options.format_control != binary_only and
    -        not options.ignore_dependencies
    -    )
    -
    -    # Installations or downloads using dist restrictions must not combine
    -    # source distributions and dist-specific wheels, as they are not
    -    # guaranteed to be locally compatible.
    -    if dist_restriction_set and sdist_dependencies_allowed:
    -        raise CommandError(
    -            "When restricting platform and interpreter constraints using "
    -            "--python-version, --platform, --abi, or --implementation, "
    -            "either --no-deps must be set, or --only-binary=:all: must be "
    -            "set and --no-binary must not be set (or must be set to "
    -            ":none:)."
    -        )
    -
    -    if check_target:
    -        if dist_restriction_set and not options.target_dir:
    -            raise CommandError(
    -                "Can not use any platform or abi specific options unless "
    -                "installing via '--target'"
    -            )
    -
    -
    -###########
    -# options #
    -###########
    -
    -help_ = partial(
    -    Option,
    -    '-h', '--help',
    -    dest='help',
    -    action='help',
    -    help='Show help.',
    -)  # type: Callable[..., Option]
    -
    -isolated_mode = partial(
    -    Option,
    -    "--isolated",
    -    dest="isolated_mode",
    -    action="store_true",
    -    default=False,
    -    help=(
    -        "Run pip in an isolated mode, ignoring environment variables and user "
    -        "configuration."
    -    ),
    -)  # type: Callable[..., Option]
    -
    -require_virtualenv = partial(
    -    Option,
    -    # Run only if inside a virtualenv, bail if not.
    -    '--require-virtualenv', '--require-venv',
    -    dest='require_venv',
    -    action='store_true',
    -    default=False,
    -    help=SUPPRESS_HELP
    -)  # type: Callable[..., Option]
    -
    -verbose = partial(
    -    Option,
    -    '-v', '--verbose',
    -    dest='verbose',
    -    action='count',
    -    default=0,
    -    help='Give more output. Option is additive, and can be used up to 3 times.'
    -)  # type: Callable[..., Option]
    -
    -no_color = partial(
    -    Option,
    -    '--no-color',
    -    dest='no_color',
    -    action='store_true',
    -    default=False,
    -    help="Suppress colored output",
    -)  # type: Callable[..., Option]
    -
    -version = partial(
    -    Option,
    -    '-V', '--version',
    -    dest='version',
    -    action='store_true',
    -    help='Show version and exit.',
    -)  # type: Callable[..., Option]
    -
    -quiet = partial(
    -    Option,
    -    '-q', '--quiet',
    -    dest='quiet',
    -    action='count',
    -    default=0,
    -    help=(
    -        'Give less output. Option is additive, and can be used up to 3'
    -        ' times (corresponding to WARNING, ERROR, and CRITICAL logging'
    -        ' levels).'
    -    ),
    -)  # type: Callable[..., Option]
    -
    -progress_bar = partial(
    -    Option,
    -    '--progress-bar',
    -    dest='progress_bar',
    -    type='choice',
    -    choices=list(BAR_TYPES.keys()),
    -    default='on',
    -    help=(
    -        'Specify type of progress to be displayed [' +
    -        '|'.join(BAR_TYPES.keys()) + '] (default: %default)'
    -    ),
    -)  # type: Callable[..., Option]
    -
    -log = partial(
    -    Option,
    -    "--log", "--log-file", "--local-log",
    -    dest="log",
    -    metavar="path",
    -    help="Path to a verbose appending log."
    -)  # type: Callable[..., Option]
    -
    -no_input = partial(
    -    Option,
    -    # Don't ask for input
    -    '--no-input',
    -    dest='no_input',
    -    action='store_true',
    -    default=False,
    -    help=SUPPRESS_HELP
    -)  # type: Callable[..., Option]
    -
    -proxy = partial(
    -    Option,
    -    '--proxy',
    -    dest='proxy',
    -    type='str',
    -    default='',
    -    help="Specify a proxy in the form [user:passwd@]proxy.server:port."
    -)  # type: Callable[..., Option]
    -
    -retries = partial(
    -    Option,
    -    '--retries',
    -    dest='retries',
    -    type='int',
    -    default=5,
    -    help="Maximum number of retries each connection should attempt "
    -         "(default %default times).",
    -)  # type: Callable[..., Option]
    -
    -timeout = partial(
    -    Option,
    -    '--timeout', '--default-timeout',
    -    metavar='sec',
    -    dest='timeout',
    -    type='float',
    -    default=15,
    -    help='Set the socket timeout (default %default seconds).',
    -)  # type: Callable[..., Option]
    -
    -skip_requirements_regex = partial(
    -    Option,
    -    # A regex to be used to skip requirements
    -    '--skip-requirements-regex',
    -    dest='skip_requirements_regex',
    -    type='str',
    -    default='',
    -    help=SUPPRESS_HELP,
    -)  # type: Callable[..., Option]
    -
    -
    -def exists_action():
    -    # type: () -> Option
    -    return Option(
    -        # Option when path already exist
    -        '--exists-action',
    -        dest='exists_action',
    -        type='choice',
    -        choices=['s', 'i', 'w', 'b', 'a'],
    -        default=[],
    -        action='append',
    -        metavar='action',
    -        help="Default action when a path already exists: "
    -             "(s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.",
    -    )
    -
    -
    -cert = partial(
    -    Option,
    -    '--cert',
    -    dest='cert',
    -    type='str',
    -    metavar='path',
    -    help="Path to alternate CA bundle.",
    -)  # type: Callable[..., Option]
    -
    -client_cert = partial(
    -    Option,
    -    '--client-cert',
    -    dest='client_cert',
    -    type='str',
    -    default=None,
    -    metavar='path',
    -    help="Path to SSL client certificate, a single file containing the "
    -         "private key and the certificate in PEM format.",
    -)  # type: Callable[..., Option]
    -
    -index_url = partial(
    -    Option,
    -    '-i', '--index-url', '--pypi-url',
    -    dest='index_url',
    -    metavar='URL',
    -    default=PyPI.simple_url,
    -    help="Base URL of the Python Package Index (default %default). "
    -         "This should point to a repository compliant with PEP 503 "
    -         "(the simple repository API) or a local directory laid out "
    -         "in the same format.",
    -)  # type: Callable[..., Option]
    -
    -
    -def extra_index_url():
    -    return Option(
    -        '--extra-index-url',
    -        dest='extra_index_urls',
    -        metavar='URL',
    -        action='append',
    -        default=[],
    -        help="Extra URLs of package indexes to use in addition to "
    -             "--index-url. Should follow the same rules as "
    -             "--index-url.",
    -    )
    -
    -
    -no_index = partial(
    -    Option,
    -    '--no-index',
    -    dest='no_index',
    -    action='store_true',
    -    default=False,
    -    help='Ignore package index (only looking at --find-links URLs instead).',
    -)  # type: Callable[..., Option]
    -
    -
    -def find_links():
    -    # type: () -> Option
    -    return Option(
    -        '-f', '--find-links',
    -        dest='find_links',
    -        action='append',
    -        default=[],
    -        metavar='url',
    -        help="If a url or path to an html file, then parse for links to "
    -             "archives. If a local path or file:// url that's a directory, "
    -             "then look for archives in the directory listing.",
    -    )
    -
    -
    -def trusted_host():
    -    # type: () -> Option
    -    return Option(
    -        "--trusted-host",
    -        dest="trusted_hosts",
    -        action="append",
    -        metavar="HOSTNAME",
    -        default=[],
    -        help="Mark this host or host:port pair as trusted, even though it "
    -             "does not have valid or any HTTPS.",
    -    )
    -
    -
    -def constraints():
    -    # type: () -> Option
    -    return Option(
    -        '-c', '--constraint',
    -        dest='constraints',
    -        action='append',
    -        default=[],
    -        metavar='file',
    -        help='Constrain versions using the given constraints file. '
    -        'This option can be used multiple times.'
    -    )
    -
    -
    -def requirements():
    -    # type: () -> Option
    -    return Option(
    -        '-r', '--requirement',
    -        dest='requirements',
    -        action='append',
    -        default=[],
    -        metavar='file',
    -        help='Install from the given requirements file. '
    -        'This option can be used multiple times.'
    -    )
    -
    -
    -def editable():
    -    # type: () -> Option
    -    return Option(
    -        '-e', '--editable',
    -        dest='editables',
    -        action='append',
    -        default=[],
    -        metavar='path/url',
    -        help=('Install a project in editable mode (i.e. setuptools '
    -              '"develop mode") from a local project path or a VCS url.'),
    -    )
    -
    -
    -src = partial(
    -    Option,
    -    '--src', '--source', '--source-dir', '--source-directory',
    -    dest='src_dir',
    -    metavar='dir',
    -    default=get_src_prefix(),
    -    help='Directory to check out editable projects into. '
    -    'The default in a virtualenv is "/src". '
    -    'The default for global installs is "/src".'
    -)  # type: Callable[..., Option]
    -
    -
    -def _get_format_control(values, option):
    -    # type: (Values, Option) -> Any
    -    """Get a format_control object."""
    -    return getattr(values, option.dest)
    -
    -
    -def _handle_no_binary(option, opt_str, value, parser):
    -    # type: (Option, str, str, OptionParser) -> None
    -    existing = _get_format_control(parser.values, option)
    -    FormatControl.handle_mutual_excludes(
    -        value, existing.no_binary, existing.only_binary,
    -    )
    -
    -
    -def _handle_only_binary(option, opt_str, value, parser):
    -    # type: (Option, str, str, OptionParser) -> None
    -    existing = _get_format_control(parser.values, option)
    -    FormatControl.handle_mutual_excludes(
    -        value, existing.only_binary, existing.no_binary,
    -    )
    -
    -
    -def no_binary():
    -    # type: () -> Option
    -    format_control = FormatControl(set(), set())
    -    return Option(
    -        "--no-binary", dest="format_control", action="callback",
    -        callback=_handle_no_binary, type="str",
    -        default=format_control,
    -        help="Do not use binary packages. Can be supplied multiple times, and "
    -             "each time adds to the existing value. Accepts either :all: to "
    -             "disable all binary packages, :none: to empty the set, or one or "
    -             "more package names with commas between them (no colons). Note "
    -             "that some packages are tricky to compile and may fail to "
    -             "install when this option is used on them.",
    -    )
    -
    -
    -def only_binary():
    -    # type: () -> Option
    -    format_control = FormatControl(set(), set())
    -    return Option(
    -        "--only-binary", dest="format_control", action="callback",
    -        callback=_handle_only_binary, type="str",
    -        default=format_control,
    -        help="Do not use source packages. Can be supplied multiple times, and "
    -             "each time adds to the existing value. Accepts either :all: to "
    -             "disable all source packages, :none: to empty the set, or one or "
    -             "more package names with commas between them. Packages without "
    -             "binary distributions will fail to install when this option is "
    -             "used on them.",
    -    )
    -
    -
    -platform = partial(
    -    Option,
    -    '--platform',
    -    dest='platform',
    -    metavar='platform',
    -    default=None,
    -    help=("Only use wheels compatible with . "
    -          "Defaults to the platform of the running system."),
    -)  # type: Callable[..., Option]
    -
    -
    -# This was made a separate function for unit-testing purposes.
    -def _convert_python_version(value):
    -    # type: (str) -> Tuple[Tuple[int, ...], Optional[str]]
    -    """
    -    Convert a version string like "3", "37", or "3.7.3" into a tuple of ints.
    -
    -    :return: A 2-tuple (version_info, error_msg), where `error_msg` is
    -        non-None if and only if there was a parsing error.
    -    """
    -    if not value:
    -        # The empty string is the same as not providing a value.
    -        return (None, None)
    -
    -    parts = value.split('.')
    -    if len(parts) > 3:
    -        return ((), 'at most three version parts are allowed')
    -
    -    if len(parts) == 1:
    -        # Then we are in the case of "3" or "37".
    -        value = parts[0]
    -        if len(value) > 1:
    -            parts = [value[0], value[1:]]
    -
    -    try:
    -        version_info = tuple(int(part) for part in parts)
    -    except ValueError:
    -        return ((), 'each version part must be an integer')
    -
    -    return (version_info, None)
    -
    -
    -def _handle_python_version(option, opt_str, value, parser):
    -    # type: (Option, str, str, OptionParser) -> None
    -    """
    -    Handle a provided --python-version value.
    -    """
    -    version_info, error_msg = _convert_python_version(value)
    -    if error_msg is not None:
    -        msg = (
    -            'invalid --python-version value: {!r}: {}'.format(
    -                value, error_msg,
    -            )
    -        )
    -        raise_option_error(parser, option=option, msg=msg)
    -
    -    parser.values.python_version = version_info
    -
    -
    -python_version = partial(
    -    Option,
    -    '--python-version',
    -    dest='python_version',
    -    metavar='python_version',
    -    action='callback',
    -    callback=_handle_python_version, type='str',
    -    default=None,
    -    help=dedent("""\
    -    The Python interpreter version to use for wheel and "Requires-Python"
    -    compatibility checks. Defaults to a version derived from the running
    -    interpreter. The version can be specified using up to three dot-separated
    -    integers (e.g. "3" for 3.0.0, "3.7" for 3.7.0, or "3.7.3"). A major-minor
    -    version can also be given as a string without dots (e.g. "37" for 3.7.0).
    -    """),
    -)  # type: Callable[..., Option]
    -
    -
    -implementation = partial(
    -    Option,
    -    '--implementation',
    -    dest='implementation',
    -    metavar='implementation',
    -    default=None,
    -    help=("Only use wheels compatible with Python "
    -          "implementation , e.g. 'pp', 'jy', 'cp', "
    -          " or 'ip'. If not specified, then the current "
    -          "interpreter implementation is used.  Use 'py' to force "
    -          "implementation-agnostic wheels."),
    -)  # type: Callable[..., Option]
    -
    -
    -abi = partial(
    -    Option,
    -    '--abi',
    -    dest='abi',
    -    metavar='abi',
    -    default=None,
    -    help=("Only use wheels compatible with Python "
    -          "abi , e.g. 'pypy_41'.  If not specified, then the "
    -          "current interpreter abi tag is used.  Generally "
    -          "you will need to specify --implementation, "
    -          "--platform, and --python-version when using "
    -          "this option."),
    -)  # type: Callable[..., Option]
    -
    -
    -def add_target_python_options(cmd_opts):
    -    # type: (OptionGroup) -> None
    -    cmd_opts.add_option(platform())
    -    cmd_opts.add_option(python_version())
    -    cmd_opts.add_option(implementation())
    -    cmd_opts.add_option(abi())
    -
    -
    -def make_target_python(options):
    -    # type: (Values) -> TargetPython
    -    target_python = TargetPython(
    -        platform=options.platform,
    -        py_version_info=options.python_version,
    -        abi=options.abi,
    -        implementation=options.implementation,
    -    )
    -
    -    return target_python
    -
    -
    -def prefer_binary():
    -    # type: () -> Option
    -    return Option(
    -        "--prefer-binary",
    -        dest="prefer_binary",
    -        action="store_true",
    -        default=False,
    -        help="Prefer older binary packages over newer source packages."
    -    )
    -
    -
    -cache_dir = partial(
    -    Option,
    -    "--cache-dir",
    -    dest="cache_dir",
    -    default=USER_CACHE_DIR,
    -    metavar="dir",
    -    help="Store the cache data in ."
    -)  # type: Callable[..., Option]
    -
    -
    -def _handle_no_cache_dir(option, opt, value, parser):
    -    # type: (Option, str, str, OptionParser) -> None
    -    """
    -    Process a value provided for the --no-cache-dir option.
    -
    -    This is an optparse.Option callback for the --no-cache-dir option.
    -    """
    -    # The value argument will be None if --no-cache-dir is passed via the
    -    # command-line, since the option doesn't accept arguments.  However,
    -    # the value can be non-None if the option is triggered e.g. by an
    -    # environment variable, like PIP_NO_CACHE_DIR=true.
    -    if value is not None:
    -        # Then parse the string value to get argument error-checking.
    -        try:
    -            strtobool(value)
    -        except ValueError as exc:
    -            raise_option_error(parser, option=option, msg=str(exc))
    -
    -    # Originally, setting PIP_NO_CACHE_DIR to a value that strtobool()
    -    # converted to 0 (like "false" or "no") caused cache_dir to be disabled
    -    # rather than enabled (logic would say the latter).  Thus, we disable
    -    # the cache directory not just on values that parse to True, but (for
    -    # backwards compatibility reasons) also on values that parse to False.
    -    # In other words, always set it to False if the option is provided in
    -    # some (valid) form.
    -    parser.values.cache_dir = False
    -
    -
    -no_cache = partial(
    -    Option,
    -    "--no-cache-dir",
    -    dest="cache_dir",
    -    action="callback",
    -    callback=_handle_no_cache_dir,
    -    help="Disable the cache.",
    -)  # type: Callable[..., Option]
    -
    -no_deps = partial(
    -    Option,
    -    '--no-deps', '--no-dependencies',
    -    dest='ignore_dependencies',
    -    action='store_true',
    -    default=False,
    -    help="Don't install package dependencies.",
    -)  # type: Callable[..., Option]
    -
    -build_dir = partial(
    -    Option,
    -    '-b', '--build', '--build-dir', '--build-directory',
    -    dest='build_dir',
    -    metavar='dir',
    -    help='Directory to unpack packages into and build in. Note that '
    -         'an initial build still takes place in a temporary directory. '
    -         'The location of temporary directories can be controlled by setting '
    -         'the TMPDIR environment variable (TEMP on Windows) appropriately. '
    -         'When passed, build directories are not cleaned in case of failures.'
    -)  # type: Callable[..., Option]
    -
    -ignore_requires_python = partial(
    -    Option,
    -    '--ignore-requires-python',
    -    dest='ignore_requires_python',
    -    action='store_true',
    -    help='Ignore the Requires-Python information.'
    -)  # type: Callable[..., Option]
    -
    -no_build_isolation = partial(
    -    Option,
    -    '--no-build-isolation',
    -    dest='build_isolation',
    -    action='store_false',
    -    default=True,
    -    help='Disable isolation when building a modern source distribution. '
    -         'Build dependencies specified by PEP 518 must be already installed '
    -         'if this option is used.'
    -)  # type: Callable[..., Option]
    -
    -
    -def _handle_no_use_pep517(option, opt, value, parser):
    -    # type: (Option, str, str, OptionParser) -> None
    -    """
    -    Process a value provided for the --no-use-pep517 option.
    -
    -    This is an optparse.Option callback for the no_use_pep517 option.
    -    """
    -    # Since --no-use-pep517 doesn't accept arguments, the value argument
    -    # will be None if --no-use-pep517 is passed via the command-line.
    -    # However, the value can be non-None if the option is triggered e.g.
    -    # by an environment variable, for example "PIP_NO_USE_PEP517=true".
    -    if value is not None:
    -        msg = """A value was passed for --no-use-pep517,
    -        probably using either the PIP_NO_USE_PEP517 environment variable
    -        or the "no-use-pep517" config file option. Use an appropriate value
    -        of the PIP_USE_PEP517 environment variable or the "use-pep517"
    -        config file option instead.
    -        """
    -        raise_option_error(parser, option=option, msg=msg)
    -
    -    # Otherwise, --no-use-pep517 was passed via the command-line.
    -    parser.values.use_pep517 = False
    -
    -
    -use_pep517 = partial(
    -    Option,
    -    '--use-pep517',
    -    dest='use_pep517',
    -    action='store_true',
    -    default=None,
    -    help='Use PEP 517 for building source distributions '
    -         '(use --no-use-pep517 to force legacy behaviour).'
    -)  # type: Any
    -
    -no_use_pep517 = partial(
    -    Option,
    -    '--no-use-pep517',
    -    dest='use_pep517',
    -    action='callback',
    -    callback=_handle_no_use_pep517,
    -    default=None,
    -    help=SUPPRESS_HELP
    -)  # type: Any
    -
    -install_options = partial(
    -    Option,
    -    '--install-option',
    -    dest='install_options',
    -    action='append',
    -    metavar='options',
    -    help="Extra arguments to be supplied to the setup.py install "
    -         "command (use like --install-option=\"--install-scripts=/usr/local/"
    -         "bin\"). Use multiple --install-option options to pass multiple "
    -         "options to setup.py install. If you are using an option with a "
    -         "directory path, be sure to use absolute path.",
    -)  # type: Callable[..., Option]
    -
    -global_options = partial(
    -    Option,
    -    '--global-option',
    -    dest='global_options',
    -    action='append',
    -    metavar='options',
    -    help="Extra global options to be supplied to the setup.py "
    -         "call before the install command.",
    -)  # type: Callable[..., Option]
    -
    -no_clean = partial(
    -    Option,
    -    '--no-clean',
    -    action='store_true',
    -    default=False,
    -    help="Don't clean up build directories."
    -)  # type: Callable[..., Option]
    -
    -pre = partial(
    -    Option,
    -    '--pre',
    -    action='store_true',
    -    default=False,
    -    help="Include pre-release and development versions. By default, "
    -         "pip only finds stable versions.",
    -)  # type: Callable[..., Option]
    -
    -disable_pip_version_check = partial(
    -    Option,
    -    "--disable-pip-version-check",
    -    dest="disable_pip_version_check",
    -    action="store_true",
    -    default=False,
    -    help="Don't periodically check PyPI to determine whether a new version "
    -         "of pip is available for download. Implied with --no-index.",
    -)  # type: Callable[..., Option]
    -
    -
    -# Deprecated, Remove later
    -always_unzip = partial(
    -    Option,
    -    '-Z', '--always-unzip',
    -    dest='always_unzip',
    -    action='store_true',
    -    help=SUPPRESS_HELP,
    -)  # type: Callable[..., Option]
    -
    -
    -def _handle_merge_hash(option, opt_str, value, parser):
    -    # type: (Option, str, str, OptionParser) -> None
    -    """Given a value spelled "algo:digest", append the digest to a list
    -    pointed to in a dict by the algo name."""
    -    if not parser.values.hashes:
    -        parser.values.hashes = {}
    -    try:
    -        algo, digest = value.split(':', 1)
    -    except ValueError:
    -        parser.error('Arguments to %s must be a hash name '
    -                     'followed by a value, like --hash=sha256:abcde...' %
    -                     opt_str)
    -    if algo not in STRONG_HASHES:
    -        parser.error('Allowed hash algorithms for %s are %s.' %
    -                     (opt_str, ', '.join(STRONG_HASHES)))
    -    parser.values.hashes.setdefault(algo, []).append(digest)
    -
    -
    -hash = partial(
    -    Option,
    -    '--hash',
    -    # Hash values eventually end up in InstallRequirement.hashes due to
    -    # __dict__ copying in process_line().
    -    dest='hashes',
    -    action='callback',
    -    callback=_handle_merge_hash,
    -    type='string',
    -    help="Verify that the package's archive matches this "
    -         'hash before installing. Example: --hash=sha256:abcdef...',
    -)  # type: Callable[..., Option]
    -
    -
    -require_hashes = partial(
    -    Option,
    -    '--require-hashes',
    -    dest='require_hashes',
    -    action='store_true',
    -    default=False,
    -    help='Require a hash to check each requirement against, for '
    -         'repeatable installs. This option is implied when any package in a '
    -         'requirements file has a --hash option.',
    -)  # type: Callable[..., Option]
    -
    -
    -list_path = partial(
    -    Option,
    -    '--path',
    -    dest='path',
    -    action='append',
    -    help='Restrict to the specified installation path for listing '
    -         'packages (can be used multiple times).'
    -)  # type: Callable[..., Option]
    -
    -
    -def check_list_path_option(options):
    -    # type: (Values) -> None
    -    if options.path and (options.user or options.local):
    -        raise CommandError(
    -            "Cannot combine '--path' with '--user' or '--local'"
    -        )
    -
    -
    -##########
    -# groups #
    -##########
    -
    -general_group = {
    -    'name': 'General Options',
    -    'options': [
    -        help_,
    -        isolated_mode,
    -        require_virtualenv,
    -        verbose,
    -        version,
    -        quiet,
    -        log,
    -        no_input,
    -        proxy,
    -        retries,
    -        timeout,
    -        skip_requirements_regex,
    -        exists_action,
    -        trusted_host,
    -        cert,
    -        client_cert,
    -        cache_dir,
    -        no_cache,
    -        disable_pip_version_check,
    -        no_color,
    -    ]
    -}  # type: Dict[str, Any]
    -
    -index_group = {
    -    'name': 'Package Index Options',
    -    'options': [
    -        index_url,
    -        extra_index_url,
    -        no_index,
    -        find_links,
    -    ]
    -}  # type: Dict[str, Any]
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/command_context.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/command_context.py
    deleted file mode 100644
    index 3ab255f..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/command_context.py
    +++ /dev/null
    @@ -1,29 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from contextlib import contextmanager
    -
    -from pip._vendor.contextlib2 import ExitStack
    -
    -
    -class CommandContextMixIn(object):
    -    def __init__(self):
    -        super(CommandContextMixIn, self).__init__()
    -        self._in_main_context = False
    -        self._main_context = ExitStack()
    -
    -    @contextmanager
    -    def main_context(self):
    -        assert not self._in_main_context
    -
    -        self._in_main_context = True
    -        try:
    -            with self._main_context:
    -                yield
    -        finally:
    -            self._in_main_context = False
    -
    -    def enter_context(self, context_provider):
    -        assert self._in_main_context
    -
    -        return self._main_context.enter_context(context_provider)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py
    deleted file mode 100644
    index a89821d..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py
    +++ /dev/null
    @@ -1,99 +0,0 @@
    -"""A single place for constructing and exposing the main parser
    -"""
    -
    -import os
    -import sys
    -
    -from pip._internal.cli import cmdoptions
    -from pip._internal.cli.parser import (
    -    ConfigOptionParser,
    -    UpdatingDefaultsHelpFormatter,
    -)
    -from pip._internal.commands import commands_dict, get_similar_commands
    -from pip._internal.exceptions import CommandError
    -from pip._internal.utils.misc import get_pip_version, get_prog
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Tuple, List
    -
    -
    -__all__ = ["create_main_parser", "parse_command"]
    -
    -
    -def create_main_parser():
    -    # type: () -> ConfigOptionParser
    -    """Creates and returns the main parser for pip's CLI
    -    """
    -
    -    parser_kw = {
    -        'usage': '\n%prog  [options]',
    -        'add_help_option': False,
    -        'formatter': UpdatingDefaultsHelpFormatter(),
    -        'name': 'global',
    -        'prog': get_prog(),
    -    }
    -
    -    parser = ConfigOptionParser(**parser_kw)
    -    parser.disable_interspersed_args()
    -
    -    parser.version = get_pip_version()
    -
    -    # add the general options
    -    gen_opts = cmdoptions.make_option_group(cmdoptions.general_group, parser)
    -    parser.add_option_group(gen_opts)
    -
    -    # so the help formatter knows
    -    parser.main = True  # type: ignore
    -
    -    # create command listing for description
    -    description = [''] + [
    -        '%-27s %s' % (name, command_info.summary)
    -        for name, command_info in commands_dict.items()
    -    ]
    -    parser.description = '\n'.join(description)
    -
    -    return parser
    -
    -
    -def parse_command(args):
    -    # type: (List[str]) -> Tuple[str, List[str]]
    -    parser = create_main_parser()
    -
    -    # Note: parser calls disable_interspersed_args(), so the result of this
    -    # call is to split the initial args into the general options before the
    -    # subcommand and everything else.
    -    # For example:
    -    #  args: ['--timeout=5', 'install', '--user', 'INITools']
    -    #  general_options: ['--timeout==5']
    -    #  args_else: ['install', '--user', 'INITools']
    -    general_options, args_else = parser.parse_args(args)
    -
    -    # --version
    -    if general_options.version:
    -        sys.stdout.write(parser.version)  # type: ignore
    -        sys.stdout.write(os.linesep)
    -        sys.exit()
    -
    -    # pip || pip help -> print_help()
    -    if not args_else or (args_else[0] == 'help' and len(args_else) == 1):
    -        parser.print_help()
    -        sys.exit()
    -
    -    # the subcommand name
    -    cmd_name = args_else[0]
    -
    -    if cmd_name not in commands_dict:
    -        guess = get_similar_commands(cmd_name)
    -
    -        msg = ['unknown command "%s"' % cmd_name]
    -        if guess:
    -            msg.append('maybe you meant "%s"' % guess)
    -
    -        raise CommandError(' - '.join(msg))
    -
    -    # all the args without the subcommand
    -    cmd_args = args[:]
    -    cmd_args.remove(cmd_name)
    -
    -    return cmd_name, cmd_args
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/parser.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/parser.py
    deleted file mode 100644
    index c99456b..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/parser.py
    +++ /dev/null
    @@ -1,265 +0,0 @@
    -"""Base option parser setup"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import optparse
    -import sys
    -import textwrap
    -from distutils.util import strtobool
    -
    -from pip._vendor.six import string_types
    -
    -from pip._internal.cli.status_codes import UNKNOWN_ERROR
    -from pip._internal.configuration import Configuration, ConfigurationError
    -from pip._internal.utils.compat import get_terminal_size
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class PrettyHelpFormatter(optparse.IndentedHelpFormatter):
    -    """A prettier/less verbose help formatter for optparse."""
    -
    -    def __init__(self, *args, **kwargs):
    -        # help position must be aligned with __init__.parseopts.description
    -        kwargs['max_help_position'] = 30
    -        kwargs['indent_increment'] = 1
    -        kwargs['width'] = get_terminal_size()[0] - 2
    -        optparse.IndentedHelpFormatter.__init__(self, *args, **kwargs)
    -
    -    def format_option_strings(self, option):
    -        return self._format_option_strings(option, ' <%s>', ', ')
    -
    -    def _format_option_strings(self, option, mvarfmt=' <%s>', optsep=', '):
    -        """
    -        Return a comma-separated list of option strings and metavars.
    -
    -        :param option:  tuple of (short opt, long opt), e.g: ('-f', '--format')
    -        :param mvarfmt: metavar format string - evaluated as mvarfmt % metavar
    -        :param optsep:  separator
    -        """
    -        opts = []
    -
    -        if option._short_opts:
    -            opts.append(option._short_opts[0])
    -        if option._long_opts:
    -            opts.append(option._long_opts[0])
    -        if len(opts) > 1:
    -            opts.insert(1, optsep)
    -
    -        if option.takes_value():
    -            metavar = option.metavar or option.dest.lower()
    -            opts.append(mvarfmt % metavar.lower())
    -
    -        return ''.join(opts)
    -
    -    def format_heading(self, heading):
    -        if heading == 'Options':
    -            return ''
    -        return heading + ':\n'
    -
    -    def format_usage(self, usage):
    -        """
    -        Ensure there is only one newline between usage and the first heading
    -        if there is no description.
    -        """
    -        msg = '\nUsage: %s\n' % self.indent_lines(textwrap.dedent(usage), "  ")
    -        return msg
    -
    -    def format_description(self, description):
    -        # leave full control over description to us
    -        if description:
    -            if hasattr(self.parser, 'main'):
    -                label = 'Commands'
    -            else:
    -                label = 'Description'
    -            # some doc strings have initial newlines, some don't
    -            description = description.lstrip('\n')
    -            # some doc strings have final newlines and spaces, some don't
    -            description = description.rstrip()
    -            # dedent, then reindent
    -            description = self.indent_lines(textwrap.dedent(description), "  ")
    -            description = '%s:\n%s\n' % (label, description)
    -            return description
    -        else:
    -            return ''
    -
    -    def format_epilog(self, epilog):
    -        # leave full control over epilog to us
    -        if epilog:
    -            return epilog
    -        else:
    -            return ''
    -
    -    def indent_lines(self, text, indent):
    -        new_lines = [indent + line for line in text.split('\n')]
    -        return "\n".join(new_lines)
    -
    -
    -class UpdatingDefaultsHelpFormatter(PrettyHelpFormatter):
    -    """Custom help formatter for use in ConfigOptionParser.
    -
    -    This is updates the defaults before expanding them, allowing
    -    them to show up correctly in the help listing.
    -    """
    -
    -    def expand_default(self, option):
    -        if self.parser is not None:
    -            self.parser._update_defaults(self.parser.defaults)
    -        return optparse.IndentedHelpFormatter.expand_default(self, option)
    -
    -
    -class CustomOptionParser(optparse.OptionParser):
    -
    -    def insert_option_group(self, idx, *args, **kwargs):
    -        """Insert an OptionGroup at a given position."""
    -        group = self.add_option_group(*args, **kwargs)
    -
    -        self.option_groups.pop()
    -        self.option_groups.insert(idx, group)
    -
    -        return group
    -
    -    @property
    -    def option_list_all(self):
    -        """Get a list of all options, including those in option groups."""
    -        res = self.option_list[:]
    -        for i in self.option_groups:
    -            res.extend(i.option_list)
    -
    -        return res
    -
    -
    -class ConfigOptionParser(CustomOptionParser):
    -    """Custom option parser which updates its defaults by checking the
    -    configuration files and environmental variables"""
    -
    -    def __init__(self, *args, **kwargs):
    -        self.name = kwargs.pop('name')
    -
    -        isolated = kwargs.pop("isolated", False)
    -        self.config = Configuration(isolated)
    -
    -        assert self.name
    -        optparse.OptionParser.__init__(self, *args, **kwargs)
    -
    -    def check_default(self, option, key, val):
    -        try:
    -            return option.check_value(key, val)
    -        except optparse.OptionValueError as exc:
    -            print("An error occurred during configuration: %s" % exc)
    -            sys.exit(3)
    -
    -    def _get_ordered_configuration_items(self):
    -        # Configuration gives keys in an unordered manner. Order them.
    -        override_order = ["global", self.name, ":env:"]
    -
    -        # Pool the options into different groups
    -        section_items = {name: [] for name in override_order}
    -        for section_key, val in self.config.items():
    -            # ignore empty values
    -            if not val:
    -                logger.debug(
    -                    "Ignoring configuration key '%s' as it's value is empty.",
    -                    section_key
    -                )
    -                continue
    -
    -            section, key = section_key.split(".", 1)
    -            if section in override_order:
    -                section_items[section].append((key, val))
    -
    -        # Yield each group in their override order
    -        for section in override_order:
    -            for key, val in section_items[section]:
    -                yield key, val
    -
    -    def _update_defaults(self, defaults):
    -        """Updates the given defaults with values from the config files and
    -        the environ. Does a little special handling for certain types of
    -        options (lists)."""
    -
    -        # Accumulate complex default state.
    -        self.values = optparse.Values(self.defaults)
    -        late_eval = set()
    -        # Then set the options with those values
    -        for key, val in self._get_ordered_configuration_items():
    -            # '--' because configuration supports only long names
    -            option = self.get_option('--' + key)
    -
    -            # Ignore options not present in this parser. E.g. non-globals put
    -            # in [global] by users that want them to apply to all applicable
    -            # commands.
    -            if option is None:
    -                continue
    -
    -            if option.action in ('store_true', 'store_false', 'count'):
    -                try:
    -                    val = strtobool(val)
    -                except ValueError:
    -                    error_msg = invalid_config_error_message(
    -                        option.action, key, val
    -                    )
    -                    self.error(error_msg)
    -
    -            elif option.action == 'append':
    -                val = val.split()
    -                val = [self.check_default(option, key, v) for v in val]
    -            elif option.action == 'callback':
    -                late_eval.add(option.dest)
    -                opt_str = option.get_opt_string()
    -                val = option.convert_value(opt_str, val)
    -                # From take_action
    -                args = option.callback_args or ()
    -                kwargs = option.callback_kwargs or {}
    -                option.callback(option, opt_str, val, self, *args, **kwargs)
    -            else:
    -                val = self.check_default(option, key, val)
    -
    -            defaults[option.dest] = val
    -
    -        for key in late_eval:
    -            defaults[key] = getattr(self.values, key)
    -        self.values = None
    -        return defaults
    -
    -    def get_default_values(self):
    -        """Overriding to make updating the defaults after instantiation of
    -        the option parser possible, _update_defaults() does the dirty work."""
    -        if not self.process_default_values:
    -            # Old, pre-Optik 1.5 behaviour.
    -            return optparse.Values(self.defaults)
    -
    -        # Load the configuration, or error out in case of an error
    -        try:
    -            self.config.load()
    -        except ConfigurationError as err:
    -            self.exit(UNKNOWN_ERROR, str(err))
    -
    -        defaults = self._update_defaults(self.defaults.copy())  # ours
    -        for option in self._get_all_options():
    -            default = defaults.get(option.dest)
    -            if isinstance(default, string_types):
    -                opt_str = option.get_opt_string()
    -                defaults[option.dest] = option.check_value(opt_str, default)
    -        return optparse.Values(defaults)
    -
    -    def error(self, msg):
    -        self.print_usage(sys.stderr)
    -        self.exit(UNKNOWN_ERROR, "%s\n" % msg)
    -
    -
    -def invalid_config_error_message(action, key, val):
    -    """Returns a better error message when invalid configuration option
    -    is provided."""
    -    if action in ('store_true', 'store_false'):
    -        return ("{0} is not a valid value for {1} option, "
    -                "please specify a boolean value like yes/no, "
    -                "true/false or 1/0 instead.").format(val, key)
    -
    -    return ("{0} is not a valid value for {1} option, "
    -            "please specify a numerical value like 1/0 "
    -            "instead.").format(val, key)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/req_command.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/req_command.py
    deleted file mode 100644
    index 203e86a..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/req_command.py
    +++ /dev/null
    @@ -1,304 +0,0 @@
    -"""Contains the Command base classes that depend on PipSession.
    -
    -The classes in this module are in a separate module so the commands not
    -needing download / PackageFinder capability don't unnecessarily import the
    -PackageFinder machinery and all its vendored dependencies, etc.
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import os
    -from functools import partial
    -
    -from pip._internal.cli.base_command import Command
    -from pip._internal.cli.command_context import CommandContextMixIn
    -from pip._internal.exceptions import CommandError
    -from pip._internal.index import PackageFinder
    -from pip._internal.legacy_resolve import Resolver
    -from pip._internal.models.selection_prefs import SelectionPreferences
    -from pip._internal.network.session import PipSession
    -from pip._internal.operations.prepare import RequirementPreparer
    -from pip._internal.req.constructors import (
    -    install_req_from_editable,
    -    install_req_from_line,
    -    install_req_from_req_string,
    -)
    -from pip._internal.req.req_file import parse_requirements
    -from pip._internal.self_outdated_check import (
    -    make_link_collector,
    -    pip_self_version_check,
    -)
    -from pip._internal.utils.misc import normalize_path
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from optparse import Values
    -    from typing import List, Optional, Tuple
    -    from pip._internal.cache import WheelCache
    -    from pip._internal.models.target_python import TargetPython
    -    from pip._internal.req.req_set import RequirementSet
    -    from pip._internal.req.req_tracker import RequirementTracker
    -    from pip._internal.utils.temp_dir import TempDirectory
    -
    -
    -class SessionCommandMixin(CommandContextMixIn):
    -
    -    """
    -    A class mixin for command classes needing _build_session().
    -    """
    -    def __init__(self):
    -        super(SessionCommandMixin, self).__init__()
    -        self._session = None  # Optional[PipSession]
    -
    -    @classmethod
    -    def _get_index_urls(cls, options):
    -        """Return a list of index urls from user-provided options."""
    -        index_urls = []
    -        if not getattr(options, "no_index", False):
    -            url = getattr(options, "index_url", None)
    -            if url:
    -                index_urls.append(url)
    -        urls = getattr(options, "extra_index_urls", None)
    -        if urls:
    -            index_urls.extend(urls)
    -        # Return None rather than an empty list
    -        return index_urls or None
    -
    -    def get_default_session(self, options):
    -        # type: (Values) -> PipSession
    -        """Get a default-managed session."""
    -        if self._session is None:
    -            self._session = self.enter_context(self._build_session(options))
    -        return self._session
    -
    -    def _build_session(self, options, retries=None, timeout=None):
    -        # type: (Values, Optional[int], Optional[int]) -> PipSession
    -        session = PipSession(
    -            cache=(
    -                normalize_path(os.path.join(options.cache_dir, "http"))
    -                if options.cache_dir else None
    -            ),
    -            retries=retries if retries is not None else options.retries,
    -            trusted_hosts=options.trusted_hosts,
    -            index_urls=self._get_index_urls(options),
    -        )
    -
    -        # Handle custom ca-bundles from the user
    -        if options.cert:
    -            session.verify = options.cert
    -
    -        # Handle SSL client certificate
    -        if options.client_cert:
    -            session.cert = options.client_cert
    -
    -        # Handle timeouts
    -        if options.timeout or timeout:
    -            session.timeout = (
    -                timeout if timeout is not None else options.timeout
    -            )
    -
    -        # Handle configured proxies
    -        if options.proxy:
    -            session.proxies = {
    -                "http": options.proxy,
    -                "https": options.proxy,
    -            }
    -
    -        # Determine if we can prompt the user for authentication or not
    -        session.auth.prompting = not options.no_input
    -
    -        return session
    -
    -
    -class IndexGroupCommand(Command, SessionCommandMixin):
    -
    -    """
    -    Abstract base class for commands with the index_group options.
    -
    -    This also corresponds to the commands that permit the pip version check.
    -    """
    -
    -    def handle_pip_version_check(self, options):
    -        # type: (Values) -> None
    -        """
    -        Do the pip version check if not disabled.
    -
    -        This overrides the default behavior of not doing the check.
    -        """
    -        # Make sure the index_group options are present.
    -        assert hasattr(options, 'no_index')
    -
    -        if options.disable_pip_version_check or options.no_index:
    -            return
    -
    -        # Otherwise, check if we're using the latest version of pip available.
    -        session = self._build_session(
    -            options,
    -            retries=0,
    -            timeout=min(5, options.timeout)
    -        )
    -        with session:
    -            pip_self_version_check(session, options)
    -
    -
    -class RequirementCommand(IndexGroupCommand):
    -
    -    @staticmethod
    -    def make_requirement_preparer(
    -        temp_build_dir,           # type: TempDirectory
    -        options,                  # type: Values
    -        req_tracker,              # type: RequirementTracker
    -        download_dir=None,        # type: str
    -        wheel_download_dir=None,  # type: str
    -    ):
    -        # type: (...) -> RequirementPreparer
    -        """
    -        Create a RequirementPreparer instance for the given parameters.
    -        """
    -        temp_build_dir_path = temp_build_dir.path
    -        assert temp_build_dir_path is not None
    -        return RequirementPreparer(
    -            build_dir=temp_build_dir_path,
    -            src_dir=options.src_dir,
    -            download_dir=download_dir,
    -            wheel_download_dir=wheel_download_dir,
    -            progress_bar=options.progress_bar,
    -            build_isolation=options.build_isolation,
    -            req_tracker=req_tracker,
    -        )
    -
    -    @staticmethod
    -    def make_resolver(
    -        preparer,                            # type: RequirementPreparer
    -        session,                             # type: PipSession
    -        finder,                              # type: PackageFinder
    -        options,                             # type: Values
    -        wheel_cache=None,                    # type: Optional[WheelCache]
    -        use_user_site=False,                 # type: bool
    -        ignore_installed=True,               # type: bool
    -        ignore_requires_python=False,        # type: bool
    -        force_reinstall=False,               # type: bool
    -        upgrade_strategy="to-satisfy-only",  # type: str
    -        use_pep517=None,                     # type: Optional[bool]
    -        py_version_info=None            # type: Optional[Tuple[int, ...]]
    -    ):
    -        # type: (...) -> Resolver
    -        """
    -        Create a Resolver instance for the given parameters.
    -        """
    -        make_install_req = partial(
    -            install_req_from_req_string,
    -            isolated=options.isolated_mode,
    -            wheel_cache=wheel_cache,
    -            use_pep517=use_pep517,
    -        )
    -        return Resolver(
    -            preparer=preparer,
    -            session=session,
    -            finder=finder,
    -            make_install_req=make_install_req,
    -            use_user_site=use_user_site,
    -            ignore_dependencies=options.ignore_dependencies,
    -            ignore_installed=ignore_installed,
    -            ignore_requires_python=ignore_requires_python,
    -            force_reinstall=force_reinstall,
    -            upgrade_strategy=upgrade_strategy,
    -            py_version_info=py_version_info
    -        )
    -
    -    def populate_requirement_set(
    -        self,
    -        requirement_set,  # type: RequirementSet
    -        args,             # type: List[str]
    -        options,          # type: Values
    -        finder,           # type: PackageFinder
    -        session,          # type: PipSession
    -        wheel_cache,      # type: Optional[WheelCache]
    -    ):
    -        # type: (...) -> None
    -        """
    -        Marshal cmd line args into a requirement set.
    -        """
    -        # NOTE: As a side-effect, options.require_hashes and
    -        #       requirement_set.require_hashes may be updated
    -
    -        for filename in options.constraints:
    -            for req_to_add in parse_requirements(
    -                    filename,
    -                    constraint=True, finder=finder, options=options,
    -                    session=session, wheel_cache=wheel_cache):
    -                req_to_add.is_direct = True
    -                requirement_set.add_requirement(req_to_add)
    -
    -        for req in args:
    -            req_to_add = install_req_from_line(
    -                req, None, isolated=options.isolated_mode,
    -                use_pep517=options.use_pep517,
    -                wheel_cache=wheel_cache
    -            )
    -            req_to_add.is_direct = True
    -            requirement_set.add_requirement(req_to_add)
    -
    -        for req in options.editables:
    -            req_to_add = install_req_from_editable(
    -                req,
    -                isolated=options.isolated_mode,
    -                use_pep517=options.use_pep517,
    -                wheel_cache=wheel_cache
    -            )
    -            req_to_add.is_direct = True
    -            requirement_set.add_requirement(req_to_add)
    -
    -        for filename in options.requirements:
    -            for req_to_add in parse_requirements(
    -                    filename,
    -                    finder=finder, options=options, session=session,
    -                    wheel_cache=wheel_cache,
    -                    use_pep517=options.use_pep517):
    -                req_to_add.is_direct = True
    -                requirement_set.add_requirement(req_to_add)
    -        # If --require-hashes was a line in a requirements file, tell
    -        # RequirementSet about it:
    -        requirement_set.require_hashes = options.require_hashes
    -
    -        if not (args or options.editables or options.requirements):
    -            opts = {'name': self.name}
    -            if options.find_links:
    -                raise CommandError(
    -                    'You must give at least one requirement to %(name)s '
    -                    '(maybe you meant "pip %(name)s %(links)s"?)' %
    -                    dict(opts, links=' '.join(options.find_links)))
    -            else:
    -                raise CommandError(
    -                    'You must give at least one requirement to %(name)s '
    -                    '(see "pip help %(name)s")' % opts)
    -
    -    def _build_package_finder(
    -        self,
    -        options,               # type: Values
    -        session,               # type: PipSession
    -        target_python=None,    # type: Optional[TargetPython]
    -        ignore_requires_python=None,  # type: Optional[bool]
    -    ):
    -        # type: (...) -> PackageFinder
    -        """
    -        Create a package finder appropriate to this requirement command.
    -
    -        :param ignore_requires_python: Whether to ignore incompatible
    -            "Requires-Python" values in links. Defaults to False.
    -        """
    -        link_collector = make_link_collector(session, options=options)
    -        selection_prefs = SelectionPreferences(
    -            allow_yanked=True,
    -            format_control=options.format_control,
    -            allow_all_prereleases=options.pre,
    -            prefer_binary=options.prefer_binary,
    -            ignore_requires_python=ignore_requires_python,
    -        )
    -
    -        return PackageFinder.create(
    -            link_collector=link_collector,
    -            selection_prefs=selection_prefs,
    -            target_python=target_python,
    -        )
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/status_codes.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/status_codes.py
    deleted file mode 100644
    index 275360a..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/cli/status_codes.py
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -from __future__ import absolute_import
    -
    -SUCCESS = 0
    -ERROR = 1
    -UNKNOWN_ERROR = 2
    -VIRTUALENV_NOT_FOUND = 3
    -PREVIOUS_BUILD_DIR_ERROR = 4
    -NO_MATCHES_FOUND = 23
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/collector.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/collector.py
    deleted file mode 100644
    index e6ee598..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/collector.py
    +++ /dev/null
    @@ -1,548 +0,0 @@
    -"""
    -The main purpose of this module is to expose LinkCollector.collect_links().
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import cgi
    -import itertools
    -import logging
    -import mimetypes
    -import os
    -from collections import OrderedDict
    -
    -from pip._vendor import html5lib, requests
    -from pip._vendor.distlib.compat import unescape
    -from pip._vendor.requests.exceptions import HTTPError, RetryError, SSLError
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -from pip._vendor.six.moves.urllib import request as urllib_request
    -
    -from pip._internal.models.link import Link
    -from pip._internal.utils.filetypes import ARCHIVE_EXTENSIONS
    -from pip._internal.utils.misc import redact_auth_from_url
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.urls import path_to_url, url_to_path
    -from pip._internal.vcs import is_url, vcs
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Callable, Dict, Iterable, List, MutableMapping, Optional, Sequence,
    -        Tuple, Union,
    -    )
    -    import xml.etree.ElementTree
    -
    -    from pip._vendor.requests import Response
    -
    -    from pip._internal.models.search_scope import SearchScope
    -    from pip._internal.network.session import PipSession
    -
    -    HTMLElement = xml.etree.ElementTree.Element
    -    ResponseHeaders = MutableMapping[str, str]
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def _match_vcs_scheme(url):
    -    # type: (str) -> Optional[str]
    -    """Look for VCS schemes in the URL.
    -
    -    Returns the matched VCS scheme, or None if there's no match.
    -    """
    -    for scheme in vcs.schemes:
    -        if url.lower().startswith(scheme) and url[len(scheme)] in '+:':
    -            return scheme
    -    return None
    -
    -
    -def _is_url_like_archive(url):
    -    # type: (str) -> bool
    -    """Return whether the URL looks like an archive.
    -    """
    -    filename = Link(url).filename
    -    for bad_ext in ARCHIVE_EXTENSIONS:
    -        if filename.endswith(bad_ext):
    -            return True
    -    return False
    -
    -
    -class _NotHTML(Exception):
    -    def __init__(self, content_type, request_desc):
    -        # type: (str, str) -> None
    -        super(_NotHTML, self).__init__(content_type, request_desc)
    -        self.content_type = content_type
    -        self.request_desc = request_desc
    -
    -
    -def _ensure_html_header(response):
    -    # type: (Response) -> None
    -    """Check the Content-Type header to ensure the response contains HTML.
    -
    -    Raises `_NotHTML` if the content type is not text/html.
    -    """
    -    content_type = response.headers.get("Content-Type", "")
    -    if not content_type.lower().startswith("text/html"):
    -        raise _NotHTML(content_type, response.request.method)
    -
    -
    -class _NotHTTP(Exception):
    -    pass
    -
    -
    -def _ensure_html_response(url, session):
    -    # type: (str, PipSession) -> None
    -    """Send a HEAD request to the URL, and ensure the response contains HTML.
    -
    -    Raises `_NotHTTP` if the URL is not available for a HEAD request, or
    -    `_NotHTML` if the content type is not text/html.
    -    """
    -    scheme, netloc, path, query, fragment = urllib_parse.urlsplit(url)
    -    if scheme not in {'http', 'https'}:
    -        raise _NotHTTP()
    -
    -    resp = session.head(url, allow_redirects=True)
    -    resp.raise_for_status()
    -
    -    _ensure_html_header(resp)
    -
    -
    -def _get_html_response(url, session):
    -    # type: (str, PipSession) -> Response
    -    """Access an HTML page with GET, and return the response.
    -
    -    This consists of three parts:
    -
    -    1. If the URL looks suspiciously like an archive, send a HEAD first to
    -       check the Content-Type is HTML, to avoid downloading a large file.
    -       Raise `_NotHTTP` if the content type cannot be determined, or
    -       `_NotHTML` if it is not HTML.
    -    2. Actually perform the request. Raise HTTP exceptions on network failures.
    -    3. Check the Content-Type header to make sure we got HTML, and raise
    -       `_NotHTML` otherwise.
    -    """
    -    if _is_url_like_archive(url):
    -        _ensure_html_response(url, session=session)
    -
    -    logger.debug('Getting page %s', redact_auth_from_url(url))
    -
    -    resp = session.get(
    -        url,
    -        headers={
    -            "Accept": "text/html",
    -            # We don't want to blindly returned cached data for
    -            # /simple/, because authors generally expecting that
    -            # twine upload && pip install will function, but if
    -            # they've done a pip install in the last ~10 minutes
    -            # it won't. Thus by setting this to zero we will not
    -            # blindly use any cached data, however the benefit of
    -            # using max-age=0 instead of no-cache, is that we will
    -            # still support conditional requests, so we will still
    -            # minimize traffic sent in cases where the page hasn't
    -            # changed at all, we will just always incur the round
    -            # trip for the conditional GET now instead of only
    -            # once per 10 minutes.
    -            # For more information, please see pypa/pip#5670.
    -            "Cache-Control": "max-age=0",
    -        },
    -    )
    -    resp.raise_for_status()
    -
    -    # The check for archives above only works if the url ends with
    -    # something that looks like an archive. However that is not a
    -    # requirement of an url. Unless we issue a HEAD request on every
    -    # url we cannot know ahead of time for sure if something is HTML
    -    # or not. However we can check after we've downloaded it.
    -    _ensure_html_header(resp)
    -
    -    return resp
    -
    -
    -def _get_encoding_from_headers(headers):
    -    # type: (ResponseHeaders) -> Optional[str]
    -    """Determine if we have any encoding information in our headers.
    -    """
    -    if headers and "Content-Type" in headers:
    -        content_type, params = cgi.parse_header(headers["Content-Type"])
    -        if "charset" in params:
    -            return params['charset']
    -    return None
    -
    -
    -def _determine_base_url(document, page_url):
    -    # type: (HTMLElement, str) -> str
    -    """Determine the HTML document's base URL.
    -
    -    This looks for a ```` tag in the HTML document. If present, its href
    -    attribute denotes the base URL of anchor tags in the document. If there is
    -    no such tag (or if it does not have a valid href attribute), the HTML
    -    file's URL is used as the base URL.
    -
    -    :param document: An HTML document representation. The current
    -        implementation expects the result of ``html5lib.parse()``.
    -    :param page_url: The URL of the HTML document.
    -    """
    -    for base in document.findall(".//base"):
    -        href = base.get("href")
    -        if href is not None:
    -            return href
    -    return page_url
    -
    -
    -def _clean_link(url):
    -    # type: (str) -> str
    -    """Makes sure a link is fully encoded.  That is, if a ' ' shows up in
    -    the link, it will be rewritten to %20 (while not over-quoting
    -    % or other characters)."""
    -    # Split the URL into parts according to the general structure
    -    # `scheme://netloc/path;parameters?query#fragment`. Note that the
    -    # `netloc` can be empty and the URI will then refer to a local
    -    # filesystem path.
    -    result = urllib_parse.urlparse(url)
    -    # In both cases below we unquote prior to quoting to make sure
    -    # nothing is double quoted.
    -    if result.netloc == "":
    -        # On Windows the path part might contain a drive letter which
    -        # should not be quoted. On Linux where drive letters do not
    -        # exist, the colon should be quoted. We rely on urllib.request
    -        # to do the right thing here.
    -        path = urllib_request.pathname2url(
    -            urllib_request.url2pathname(result.path))
    -    else:
    -        # In addition to the `/` character we protect `@` so that
    -        # revision strings in VCS URLs are properly parsed.
    -        path = urllib_parse.quote(urllib_parse.unquote(result.path), safe="/@")
    -    return urllib_parse.urlunparse(result._replace(path=path))
    -
    -
    -def _create_link_from_element(
    -    anchor,    # type: HTMLElement
    -    page_url,  # type: str
    -    base_url,  # type: str
    -):
    -    # type: (...) -> Optional[Link]
    -    """
    -    Convert an anchor element in a simple repository page to a Link.
    -    """
    -    href = anchor.get("href")
    -    if not href:
    -        return None
    -
    -    url = _clean_link(urllib_parse.urljoin(base_url, href))
    -    pyrequire = anchor.get('data-requires-python')
    -    pyrequire = unescape(pyrequire) if pyrequire else None
    -
    -    yanked_reason = anchor.get('data-yanked')
    -    if yanked_reason:
    -        # This is a unicode string in Python 2 (and 3).
    -        yanked_reason = unescape(yanked_reason)
    -
    -    link = Link(
    -        url,
    -        comes_from=page_url,
    -        requires_python=pyrequire,
    -        yanked_reason=yanked_reason,
    -    )
    -
    -    return link
    -
    -
    -def parse_links(page):
    -    # type: (HTMLPage) -> Iterable[Link]
    -    """
    -    Parse an HTML document, and yield its anchor elements as Link objects.
    -    """
    -    document = html5lib.parse(
    -        page.content,
    -        transport_encoding=page.encoding,
    -        namespaceHTMLElements=False,
    -    )
    -
    -    url = page.url
    -    base_url = _determine_base_url(document, url)
    -    for anchor in document.findall(".//a"):
    -        link = _create_link_from_element(
    -            anchor,
    -            page_url=url,
    -            base_url=base_url,
    -        )
    -        if link is None:
    -            continue
    -        yield link
    -
    -
    -class HTMLPage(object):
    -    """Represents one page, along with its URL"""
    -
    -    def __init__(
    -        self,
    -        content,   # type: bytes
    -        encoding,  # type: Optional[str]
    -        url,       # type: str
    -    ):
    -        # type: (...) -> None
    -        """
    -        :param encoding: the encoding to decode the given content.
    -        :param url: the URL from which the HTML was downloaded.
    -        """
    -        self.content = content
    -        self.encoding = encoding
    -        self.url = url
    -
    -    def __str__(self):
    -        return redact_auth_from_url(self.url)
    -
    -
    -def _handle_get_page_fail(
    -    link,  # type: Link
    -    reason,  # type: Union[str, Exception]
    -    meth=None  # type: Optional[Callable[..., None]]
    -):
    -    # type: (...) -> None
    -    if meth is None:
    -        meth = logger.debug
    -    meth("Could not fetch URL %s: %s - skipping", link, reason)
    -
    -
    -def _make_html_page(response):
    -    # type: (Response) -> HTMLPage
    -    encoding = _get_encoding_from_headers(response.headers)
    -    return HTMLPage(response.content, encoding=encoding, url=response.url)
    -
    -
    -def _get_html_page(link, session=None):
    -    # type: (Link, Optional[PipSession]) -> Optional[HTMLPage]
    -    if session is None:
    -        raise TypeError(
    -            "_get_html_page() missing 1 required keyword argument: 'session'"
    -        )
    -
    -    url = link.url.split('#', 1)[0]
    -
    -    # Check for VCS schemes that do not support lookup as web pages.
    -    vcs_scheme = _match_vcs_scheme(url)
    -    if vcs_scheme:
    -        logger.debug('Cannot look at %s URL %s', vcs_scheme, link)
    -        return None
    -
    -    # Tack index.html onto file:// URLs that point to directories
    -    scheme, _, path, _, _, _ = urllib_parse.urlparse(url)
    -    if (scheme == 'file' and os.path.isdir(urllib_request.url2pathname(path))):
    -        # add trailing slash if not present so urljoin doesn't trim
    -        # final segment
    -        if not url.endswith('/'):
    -            url += '/'
    -        url = urllib_parse.urljoin(url, 'index.html')
    -        logger.debug(' file: URL is directory, getting %s', url)
    -
    -    try:
    -        resp = _get_html_response(url, session=session)
    -    except _NotHTTP:
    -        logger.debug(
    -            'Skipping page %s because it looks like an archive, and cannot '
    -            'be checked by HEAD.', link,
    -        )
    -    except _NotHTML as exc:
    -        logger.debug(
    -            'Skipping page %s because the %s request got Content-Type: %s',
    -            link, exc.request_desc, exc.content_type,
    -        )
    -    except HTTPError as exc:
    -        _handle_get_page_fail(link, exc)
    -    except RetryError as exc:
    -        _handle_get_page_fail(link, exc)
    -    except SSLError as exc:
    -        reason = "There was a problem confirming the ssl certificate: "
    -        reason += str(exc)
    -        _handle_get_page_fail(link, reason, meth=logger.info)
    -    except requests.ConnectionError as exc:
    -        _handle_get_page_fail(link, "connection error: %s" % exc)
    -    except requests.Timeout:
    -        _handle_get_page_fail(link, "timed out")
    -    else:
    -        return _make_html_page(resp)
    -    return None
    -
    -
    -def _remove_duplicate_links(links):
    -    # type: (Iterable[Link]) -> List[Link]
    -    """
    -    Return a list of links, with duplicates removed and ordering preserved.
    -    """
    -    # We preserve the ordering when removing duplicates because we can.
    -    return list(OrderedDict.fromkeys(links))
    -
    -
    -def group_locations(locations, expand_dir=False):
    -    # type: (Sequence[str], bool) -> Tuple[List[str], List[str]]
    -    """
    -    Divide a list of locations into two groups: "files" (archives) and "urls."
    -
    -    :return: A pair of lists (files, urls).
    -    """
    -    files = []
    -    urls = []
    -
    -    # puts the url for the given file path into the appropriate list
    -    def sort_path(path):
    -        url = path_to_url(path)
    -        if mimetypes.guess_type(url, strict=False)[0] == 'text/html':
    -            urls.append(url)
    -        else:
    -            files.append(url)
    -
    -    for url in locations:
    -
    -        is_local_path = os.path.exists(url)
    -        is_file_url = url.startswith('file:')
    -
    -        if is_local_path or is_file_url:
    -            if is_local_path:
    -                path = url
    -            else:
    -                path = url_to_path(url)
    -            if os.path.isdir(path):
    -                if expand_dir:
    -                    path = os.path.realpath(path)
    -                    for item in os.listdir(path):
    -                        sort_path(os.path.join(path, item))
    -                elif is_file_url:
    -                    urls.append(url)
    -                else:
    -                    logger.warning(
    -                        "Path '{0}' is ignored: "
    -                        "it is a directory.".format(path),
    -                    )
    -            elif os.path.isfile(path):
    -                sort_path(path)
    -            else:
    -                logger.warning(
    -                    "Url '%s' is ignored: it is neither a file "
    -                    "nor a directory.", url,
    -                )
    -        elif is_url(url):
    -            # Only add url with clear scheme
    -            urls.append(url)
    -        else:
    -            logger.warning(
    -                "Url '%s' is ignored. It is either a non-existing "
    -                "path or lacks a specific scheme.", url,
    -            )
    -
    -    return files, urls
    -
    -
    -class CollectedLinks(object):
    -
    -    """
    -    Encapsulates all the Link objects collected by a call to
    -    LinkCollector.collect_links(), stored separately as--
    -
    -    (1) links from the configured file locations,
    -    (2) links from the configured find_links, and
    -    (3) a dict mapping HTML page url to links from that page.
    -    """
    -
    -    def __init__(
    -        self,
    -        files,       # type: List[Link]
    -        find_links,  # type: List[Link]
    -        pages,       # type: Dict[str, List[Link]]
    -    ):
    -        # type: (...) -> None
    -        """
    -        :param files: Links from file locations.
    -        :param find_links: Links from find_links.
    -        :param pages: A dict mapping HTML page url to links from that page.
    -        """
    -        self.files = files
    -        self.find_links = find_links
    -        self.pages = pages
    -
    -
    -class LinkCollector(object):
    -
    -    """
    -    Responsible for collecting Link objects from all configured locations,
    -    making network requests as needed.
    -
    -    The class's main method is its collect_links() method.
    -    """
    -
    -    def __init__(
    -        self,
    -        session,       # type: PipSession
    -        search_scope,  # type: SearchScope
    -    ):
    -        # type: (...) -> None
    -        self.search_scope = search_scope
    -        self.session = session
    -
    -    @property
    -    def find_links(self):
    -        # type: () -> List[str]
    -        return self.search_scope.find_links
    -
    -    def _get_pages(self, locations):
    -        # type: (Iterable[Link]) -> Iterable[HTMLPage]
    -        """
    -        Yields (page, page_url) from the given locations, skipping
    -        locations that have errors.
    -        """
    -        for location in locations:
    -            page = _get_html_page(location, session=self.session)
    -            if page is None:
    -                continue
    -
    -            yield page
    -
    -    def collect_links(self, project_name):
    -        # type: (str) -> CollectedLinks
    -        """Find all available links for the given project name.
    -
    -        :return: All the Link objects (unfiltered), as a CollectedLinks object.
    -        """
    -        search_scope = self.search_scope
    -        index_locations = search_scope.get_index_urls_locations(project_name)
    -        index_file_loc, index_url_loc = group_locations(index_locations)
    -        fl_file_loc, fl_url_loc = group_locations(
    -            self.find_links, expand_dir=True,
    -        )
    -
    -        file_links = [
    -            Link(url) for url in itertools.chain(index_file_loc, fl_file_loc)
    -        ]
    -
    -        # We trust every directly linked archive in find_links
    -        find_link_links = [Link(url, '-f') for url in self.find_links]
    -
    -        # We trust every url that the user has given us whether it was given
    -        # via --index-url or --find-links.
    -        # We want to filter out anything that does not have a secure origin.
    -        url_locations = [
    -            link for link in itertools.chain(
    -                (Link(url) for url in index_url_loc),
    -                (Link(url) for url in fl_url_loc),
    -            )
    -            if self.session.is_secure_origin(link)
    -        ]
    -
    -        url_locations = _remove_duplicate_links(url_locations)
    -        lines = [
    -            '{} location(s) to search for versions of {}:'.format(
    -                len(url_locations), project_name,
    -            ),
    -        ]
    -        for link in url_locations:
    -            lines.append('* {}'.format(link))
    -        logger.debug('\n'.join(lines))
    -
    -        pages_links = {}
    -        for page in self._get_pages(url_locations):
    -            pages_links[page.url] = list(parse_links(page))
    -
    -        return CollectedLinks(
    -            files=file_links,
    -            find_links=find_link_links,
    -            pages=pages_links,
    -        )
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/__init__.py
    deleted file mode 100644
    index 2a311f8..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/__init__.py
    +++ /dev/null
    @@ -1,114 +0,0 @@
    -"""
    -Package containing all pip commands
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import importlib
    -from collections import OrderedDict, namedtuple
    -
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Any
    -    from pip._internal.cli.base_command import Command
    -
    -
    -CommandInfo = namedtuple('CommandInfo', 'module_path, class_name, summary')
    -
    -# The ordering matters for help display.
    -#    Also, even though the module path starts with the same
    -# "pip._internal.commands" prefix in each case, we include the full path
    -# because it makes testing easier (specifically when modifying commands_dict
    -# in test setup / teardown by adding info for a FakeCommand class defined
    -# in a test-related module).
    -#    Finally, we need to pass an iterable of pairs here rather than a dict
    -# so that the ordering won't be lost when using Python 2.7.
    -commands_dict = OrderedDict([
    -    ('install', CommandInfo(
    -        'pip._internal.commands.install', 'InstallCommand',
    -        'Install packages.',
    -    )),
    -    ('download', CommandInfo(
    -        'pip._internal.commands.download', 'DownloadCommand',
    -        'Download packages.',
    -    )),
    -    ('uninstall', CommandInfo(
    -        'pip._internal.commands.uninstall', 'UninstallCommand',
    -        'Uninstall packages.',
    -    )),
    -    ('freeze', CommandInfo(
    -        'pip._internal.commands.freeze', 'FreezeCommand',
    -        'Output installed packages in requirements format.',
    -    )),
    -    ('list', CommandInfo(
    -        'pip._internal.commands.list', 'ListCommand',
    -        'List installed packages.',
    -    )),
    -    ('show', CommandInfo(
    -        'pip._internal.commands.show', 'ShowCommand',
    -        'Show information about installed packages.',
    -    )),
    -    ('check', CommandInfo(
    -        'pip._internal.commands.check', 'CheckCommand',
    -        'Verify installed packages have compatible dependencies.',
    -    )),
    -    ('config', CommandInfo(
    -        'pip._internal.commands.configuration', 'ConfigurationCommand',
    -        'Manage local and global configuration.',
    -    )),
    -    ('search', CommandInfo(
    -        'pip._internal.commands.search', 'SearchCommand',
    -        'Search PyPI for packages.',
    -    )),
    -    ('wheel', CommandInfo(
    -        'pip._internal.commands.wheel', 'WheelCommand',
    -        'Build wheels from your requirements.',
    -    )),
    -    ('hash', CommandInfo(
    -        'pip._internal.commands.hash', 'HashCommand',
    -        'Compute hashes of package archives.',
    -    )),
    -    ('completion', CommandInfo(
    -        'pip._internal.commands.completion', 'CompletionCommand',
    -        'A helper command used for command completion.',
    -    )),
    -    ('debug', CommandInfo(
    -        'pip._internal.commands.debug', 'DebugCommand',
    -        'Show information useful for debugging.',
    -    )),
    -    ('help', CommandInfo(
    -        'pip._internal.commands.help', 'HelpCommand',
    -        'Show help for commands.',
    -    )),
    -])  # type: OrderedDict[str, CommandInfo]
    -
    -
    -def create_command(name, **kwargs):
    -    # type: (str, **Any) -> Command
    -    """
    -    Create an instance of the Command class with the given name.
    -    """
    -    module_path, class_name, summary = commands_dict[name]
    -    module = importlib.import_module(module_path)
    -    command_class = getattr(module, class_name)
    -    command = command_class(name=name, summary=summary, **kwargs)
    -
    -    return command
    -
    -
    -def get_similar_commands(name):
    -    """Command name auto-correct."""
    -    from difflib import get_close_matches
    -
    -    name = name.lower()
    -
    -    close_commands = get_close_matches(name, commands_dict.keys())
    -
    -    if close_commands:
    -        return close_commands[0]
    -    else:
    -        return False
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/check.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/check.py
    deleted file mode 100644
    index 9689446..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/check.py
    +++ /dev/null
    @@ -1,45 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import logging
    -
    -from pip._internal.cli.base_command import Command
    -from pip._internal.operations.check import (
    -    check_package_set,
    -    create_package_set_from_installed,
    -)
    -from pip._internal.utils.misc import write_output
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class CheckCommand(Command):
    -    """Verify installed packages have compatible dependencies."""
    -
    -    usage = """
    -      %prog [options]"""
    -
    -    def run(self, options, args):
    -        package_set, parsing_probs = create_package_set_from_installed()
    -        missing, conflicting = check_package_set(package_set)
    -
    -        for project_name in missing:
    -            version = package_set[project_name].version
    -            for dependency in missing[project_name]:
    -                write_output(
    -                    "%s %s requires %s, which is not installed.",
    -                    project_name, version, dependency[0],
    -                )
    -
    -        for project_name in conflicting:
    -            version = package_set[project_name].version
    -            for dep_name, dep_version, req in conflicting[project_name]:
    -                write_output(
    -                    "%s %s has requirement %s, but you have %s %s.",
    -                    project_name, version, req, dep_name, dep_version,
    -                )
    -
    -        if missing or conflicting or parsing_probs:
    -            return 1
    -        else:
    -            write_output("No broken requirements found.")
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/completion.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/completion.py
    deleted file mode 100644
    index c532806..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/completion.py
    +++ /dev/null
    @@ -1,96 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import sys
    -import textwrap
    -
    -from pip._internal.cli.base_command import Command
    -from pip._internal.utils.misc import get_prog
    -
    -BASE_COMPLETION = """
    -# pip %(shell)s completion start%(script)s# pip %(shell)s completion end
    -"""
    -
    -COMPLETION_SCRIPTS = {
    -    'bash': """
    -        _pip_completion()
    -        {
    -            COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \\
    -                           COMP_CWORD=$COMP_CWORD \\
    -                           PIP_AUTO_COMPLETE=1 $1 2>/dev/null ) )
    -        }
    -        complete -o default -F _pip_completion %(prog)s
    -    """,
    -    'zsh': """
    -        function _pip_completion {
    -          local words cword
    -          read -Ac words
    -          read -cn cword
    -          reply=( $( COMP_WORDS="$words[*]" \\
    -                     COMP_CWORD=$(( cword-1 )) \\
    -                     PIP_AUTO_COMPLETE=1 $words[1] 2>/dev/null ))
    -        }
    -        compctl -K _pip_completion %(prog)s
    -    """,
    -    'fish': """
    -        function __fish_complete_pip
    -            set -lx COMP_WORDS (commandline -o) ""
    -            set -lx COMP_CWORD ( \\
    -                math (contains -i -- (commandline -t) $COMP_WORDS)-1 \\
    -            )
    -            set -lx PIP_AUTO_COMPLETE 1
    -            string split \\  -- (eval $COMP_WORDS[1])
    -        end
    -        complete -fa "(__fish_complete_pip)" -c %(prog)s
    -    """,
    -}
    -
    -
    -class CompletionCommand(Command):
    -    """A helper command to be used for command completion."""
    -
    -    ignore_require_venv = True
    -
    -    def __init__(self, *args, **kw):
    -        super(CompletionCommand, self).__init__(*args, **kw)
    -
    -        cmd_opts = self.cmd_opts
    -
    -        cmd_opts.add_option(
    -            '--bash', '-b',
    -            action='store_const',
    -            const='bash',
    -            dest='shell',
    -            help='Emit completion code for bash')
    -        cmd_opts.add_option(
    -            '--zsh', '-z',
    -            action='store_const',
    -            const='zsh',
    -            dest='shell',
    -            help='Emit completion code for zsh')
    -        cmd_opts.add_option(
    -            '--fish', '-f',
    -            action='store_const',
    -            const='fish',
    -            dest='shell',
    -            help='Emit completion code for fish')
    -
    -        self.parser.insert_option_group(0, cmd_opts)
    -
    -    def run(self, options, args):
    -        """Prints the completion code of the given shell"""
    -        shells = COMPLETION_SCRIPTS.keys()
    -        shell_options = ['--' + shell for shell in sorted(shells)]
    -        if options.shell in shells:
    -            script = textwrap.dedent(
    -                COMPLETION_SCRIPTS.get(options.shell, '') % {
    -                    'prog': get_prog(),
    -                }
    -            )
    -            print(BASE_COMPLETION % {'script': script, 'shell': options.shell})
    -        else:
    -            sys.stderr.write(
    -                'ERROR: You must pass %s\n' % ' or '.join(shell_options)
    -            )
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/configuration.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/configuration.py
    deleted file mode 100644
    index efcf5bb..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/configuration.py
    +++ /dev/null
    @@ -1,233 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import logging
    -import os
    -import subprocess
    -
    -from pip._internal.cli.base_command import Command
    -from pip._internal.cli.status_codes import ERROR, SUCCESS
    -from pip._internal.configuration import (
    -    Configuration,
    -    get_configuration_files,
    -    kinds,
    -)
    -from pip._internal.exceptions import PipError
    -from pip._internal.utils.misc import get_prog, write_output
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class ConfigurationCommand(Command):
    -    """Manage local and global configuration.
    -
    -        Subcommands:
    -
    -        list: List the active configuration (or from the file specified)
    -        edit: Edit the configuration file in an editor
    -        get: Get the value associated with name
    -        set: Set the name=value
    -        unset: Unset the value associated with name
    -
    -        If none of --user, --global and --site are passed, a virtual
    -        environment configuration file is used if one is active and the file
    -        exists. Otherwise, all modifications happen on the to the user file by
    -        default.
    -    """
    -
    -    ignore_require_venv = True
    -    usage = """
    -        %prog [] list
    -        %prog [] [--editor ] edit
    -
    -        %prog [] get name
    -        %prog [] set name value
    -        %prog [] unset name
    -    """
    -
    -    def __init__(self, *args, **kwargs):
    -        super(ConfigurationCommand, self).__init__(*args, **kwargs)
    -
    -        self.configuration = None
    -
    -        self.cmd_opts.add_option(
    -            '--editor',
    -            dest='editor',
    -            action='store',
    -            default=None,
    -            help=(
    -                'Editor to use to edit the file. Uses VISUAL or EDITOR '
    -                'environment variables if not provided.'
    -            )
    -        )
    -
    -        self.cmd_opts.add_option(
    -            '--global',
    -            dest='global_file',
    -            action='store_true',
    -            default=False,
    -            help='Use the system-wide configuration file only'
    -        )
    -
    -        self.cmd_opts.add_option(
    -            '--user',
    -            dest='user_file',
    -            action='store_true',
    -            default=False,
    -            help='Use the user configuration file only'
    -        )
    -
    -        self.cmd_opts.add_option(
    -            '--site',
    -            dest='site_file',
    -            action='store_true',
    -            default=False,
    -            help='Use the current environment configuration file only'
    -        )
    -
    -        self.parser.insert_option_group(0, self.cmd_opts)
    -
    -    def run(self, options, args):
    -        handlers = {
    -            "list": self.list_values,
    -            "edit": self.open_in_editor,
    -            "get": self.get_name,
    -            "set": self.set_name_value,
    -            "unset": self.unset_name
    -        }
    -
    -        # Determine action
    -        if not args or args[0] not in handlers:
    -            logger.error("Need an action ({}) to perform.".format(
    -                ", ".join(sorted(handlers)))
    -            )
    -            return ERROR
    -
    -        action = args[0]
    -
    -        # Determine which configuration files are to be loaded
    -        #    Depends on whether the command is modifying.
    -        try:
    -            load_only = self._determine_file(
    -                options, need_value=(action in ["get", "set", "unset", "edit"])
    -            )
    -        except PipError as e:
    -            logger.error(e.args[0])
    -            return ERROR
    -
    -        # Load a new configuration
    -        self.configuration = Configuration(
    -            isolated=options.isolated_mode, load_only=load_only
    -        )
    -        self.configuration.load()
    -
    -        # Error handling happens here, not in the action-handlers.
    -        try:
    -            handlers[action](options, args[1:])
    -        except PipError as e:
    -            logger.error(e.args[0])
    -            return ERROR
    -
    -        return SUCCESS
    -
    -    def _determine_file(self, options, need_value):
    -        file_options = [key for key, value in (
    -            (kinds.USER, options.user_file),
    -            (kinds.GLOBAL, options.global_file),
    -            (kinds.SITE, options.site_file),
    -        ) if value]
    -
    -        if not file_options:
    -            if not need_value:
    -                return None
    -            # Default to user, unless there's a site file.
    -            elif any(
    -                os.path.exists(site_config_file)
    -                for site_config_file in get_configuration_files()[kinds.SITE]
    -            ):
    -                return kinds.SITE
    -            else:
    -                return kinds.USER
    -        elif len(file_options) == 1:
    -            return file_options[0]
    -
    -        raise PipError(
    -            "Need exactly one file to operate upon "
    -            "(--user, --site, --global) to perform."
    -        )
    -
    -    def list_values(self, options, args):
    -        self._get_n_args(args, "list", n=0)
    -
    -        for key, value in sorted(self.configuration.items()):
    -            write_output("%s=%r", key, value)
    -
    -    def get_name(self, options, args):
    -        key = self._get_n_args(args, "get [name]", n=1)
    -        value = self.configuration.get_value(key)
    -
    -        write_output("%s", value)
    -
    -    def set_name_value(self, options, args):
    -        key, value = self._get_n_args(args, "set [name] [value]", n=2)
    -        self.configuration.set_value(key, value)
    -
    -        self._save_configuration()
    -
    -    def unset_name(self, options, args):
    -        key = self._get_n_args(args, "unset [name]", n=1)
    -        self.configuration.unset_value(key)
    -
    -        self._save_configuration()
    -
    -    def open_in_editor(self, options, args):
    -        editor = self._determine_editor(options)
    -
    -        fname = self.configuration.get_file_to_edit()
    -        if fname is None:
    -            raise PipError("Could not determine appropriate file.")
    -
    -        try:
    -            subprocess.check_call([editor, fname])
    -        except subprocess.CalledProcessError as e:
    -            raise PipError(
    -                "Editor Subprocess exited with exit code {}"
    -                .format(e.returncode)
    -            )
    -
    -    def _get_n_args(self, args, example, n):
    -        """Helper to make sure the command got the right number of arguments
    -        """
    -        if len(args) != n:
    -            msg = (
    -                'Got unexpected number of arguments, expected {}. '
    -                '(example: "{} config {}")'
    -            ).format(n, get_prog(), example)
    -            raise PipError(msg)
    -
    -        if n == 1:
    -            return args[0]
    -        else:
    -            return args
    -
    -    def _save_configuration(self):
    -        # We successfully ran a modifying command. Need to save the
    -        # configuration.
    -        try:
    -            self.configuration.save()
    -        except Exception:
    -            logger.error(
    -                "Unable to save configuration. Please report this as a bug.",
    -                exc_info=1
    -            )
    -            raise PipError("Internal Error.")
    -
    -    def _determine_editor(self, options):
    -        if options.editor is not None:
    -            return options.editor
    -        elif "VISUAL" in os.environ:
    -            return os.environ["VISUAL"]
    -        elif "EDITOR" in os.environ:
    -            return os.environ["EDITOR"]
    -        else:
    -            raise PipError("Could not determine editor to use.")
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/debug.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/debug.py
    deleted file mode 100644
    index 5322c82..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/debug.py
    +++ /dev/null
    @@ -1,115 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import locale
    -import logging
    -import sys
    -
    -from pip._internal.cli import cmdoptions
    -from pip._internal.cli.base_command import Command
    -from pip._internal.cli.cmdoptions import make_target_python
    -from pip._internal.cli.status_codes import SUCCESS
    -from pip._internal.utils.logging import indent_log
    -from pip._internal.utils.misc import get_pip_version
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.wheel import format_tag
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Any, List
    -    from optparse import Values
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def show_value(name, value):
    -    # type: (str, str) -> None
    -    logger.info('{}: {}'.format(name, value))
    -
    -
    -def show_sys_implementation():
    -    # type: () -> None
    -    logger.info('sys.implementation:')
    -    if hasattr(sys, 'implementation'):
    -        implementation = sys.implementation  # type: ignore
    -        implementation_name = implementation.name
    -    else:
    -        implementation_name = ''
    -
    -    with indent_log():
    -        show_value('name', implementation_name)
    -
    -
    -def show_tags(options):
    -    # type: (Values) -> None
    -    tag_limit = 10
    -
    -    target_python = make_target_python(options)
    -    tags = target_python.get_tags()
    -
    -    # Display the target options that were explicitly provided.
    -    formatted_target = target_python.format_given()
    -    suffix = ''
    -    if formatted_target:
    -        suffix = ' (target: {})'.format(formatted_target)
    -
    -    msg = 'Compatible tags: {}{}'.format(len(tags), suffix)
    -    logger.info(msg)
    -
    -    if options.verbose < 1 and len(tags) > tag_limit:
    -        tags_limited = True
    -        tags = tags[:tag_limit]
    -    else:
    -        tags_limited = False
    -
    -    with indent_log():
    -        for tag in tags:
    -            logger.info(format_tag(tag))
    -
    -        if tags_limited:
    -            msg = (
    -                '...\n'
    -                '[First {tag_limit} tags shown. Pass --verbose to show all.]'
    -            ).format(tag_limit=tag_limit)
    -            logger.info(msg)
    -
    -
    -class DebugCommand(Command):
    -    """
    -    Display debug information.
    -    """
    -
    -    usage = """
    -      %prog """
    -    ignore_require_venv = True
    -
    -    def __init__(self, *args, **kw):
    -        super(DebugCommand, self).__init__(*args, **kw)
    -
    -        cmd_opts = self.cmd_opts
    -        cmdoptions.add_target_python_options(cmd_opts)
    -        self.parser.insert_option_group(0, cmd_opts)
    -
    -    def run(self, options, args):
    -        # type: (Values, List[Any]) -> int
    -        logger.warning(
    -            "This command is only meant for debugging. "
    -            "Do not use this with automation for parsing and getting these "
    -            "details, since the output and options of this command may "
    -            "change without notice."
    -        )
    -        show_value('pip version', get_pip_version())
    -        show_value('sys.version', sys.version)
    -        show_value('sys.executable', sys.executable)
    -        show_value('sys.getdefaultencoding', sys.getdefaultencoding())
    -        show_value('sys.getfilesystemencoding', sys.getfilesystemencoding())
    -        show_value(
    -            'locale.getpreferredencoding', locale.getpreferredencoding(),
    -        )
    -        show_value('sys.platform', sys.platform)
    -        show_sys_implementation()
    -
    -        show_tags(options)
    -
    -        return SUCCESS
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/download.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/download.py
    deleted file mode 100644
    index a63019f..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/download.py
    +++ /dev/null
    @@ -1,156 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import os
    -
    -from pip._internal.cli import cmdoptions
    -from pip._internal.cli.cmdoptions import make_target_python
    -from pip._internal.cli.req_command import RequirementCommand
    -from pip._internal.req import RequirementSet
    -from pip._internal.req.req_tracker import RequirementTracker
    -from pip._internal.utils.filesystem import check_path_owner
    -from pip._internal.utils.misc import ensure_dir, normalize_path, write_output
    -from pip._internal.utils.temp_dir import TempDirectory
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class DownloadCommand(RequirementCommand):
    -    """
    -    Download packages from:
    -
    -    - PyPI (and other indexes) using requirement specifiers.
    -    - VCS project urls.
    -    - Local project directories.
    -    - Local or remote source archives.
    -
    -    pip also supports downloading from "requirements files", which provide
    -    an easy way to specify a whole environment to be downloaded.
    -    """
    -
    -    usage = """
    -      %prog [options]  [package-index-options] ...
    -      %prog [options] -r  [package-index-options] ...
    -      %prog [options]  ...
    -      %prog [options]  ...
    -      %prog [options]  ..."""
    -
    -    def __init__(self, *args, **kw):
    -        super(DownloadCommand, self).__init__(*args, **kw)
    -
    -        cmd_opts = self.cmd_opts
    -
    -        cmd_opts.add_option(cmdoptions.constraints())
    -        cmd_opts.add_option(cmdoptions.requirements())
    -        cmd_opts.add_option(cmdoptions.build_dir())
    -        cmd_opts.add_option(cmdoptions.no_deps())
    -        cmd_opts.add_option(cmdoptions.global_options())
    -        cmd_opts.add_option(cmdoptions.no_binary())
    -        cmd_opts.add_option(cmdoptions.only_binary())
    -        cmd_opts.add_option(cmdoptions.prefer_binary())
    -        cmd_opts.add_option(cmdoptions.src())
    -        cmd_opts.add_option(cmdoptions.pre())
    -        cmd_opts.add_option(cmdoptions.no_clean())
    -        cmd_opts.add_option(cmdoptions.require_hashes())
    -        cmd_opts.add_option(cmdoptions.progress_bar())
    -        cmd_opts.add_option(cmdoptions.no_build_isolation())
    -        cmd_opts.add_option(cmdoptions.use_pep517())
    -        cmd_opts.add_option(cmdoptions.no_use_pep517())
    -
    -        cmd_opts.add_option(
    -            '-d', '--dest', '--destination-dir', '--destination-directory',
    -            dest='download_dir',
    -            metavar='dir',
    -            default=os.curdir,
    -            help=("Download packages into ."),
    -        )
    -
    -        cmdoptions.add_target_python_options(cmd_opts)
    -
    -        index_opts = cmdoptions.make_option_group(
    -            cmdoptions.index_group,
    -            self.parser,
    -        )
    -
    -        self.parser.insert_option_group(0, index_opts)
    -        self.parser.insert_option_group(0, cmd_opts)
    -
    -    def run(self, options, args):
    -        options.ignore_installed = True
    -        # editable doesn't really make sense for `pip download`, but the bowels
    -        # of the RequirementSet code require that property.
    -        options.editables = []
    -
    -        cmdoptions.check_dist_restriction(options)
    -
    -        options.src_dir = os.path.abspath(options.src_dir)
    -        options.download_dir = normalize_path(options.download_dir)
    -
    -        ensure_dir(options.download_dir)
    -
    -        session = self.get_default_session(options)
    -
    -        target_python = make_target_python(options)
    -        finder = self._build_package_finder(
    -            options=options,
    -            session=session,
    -            target_python=target_python,
    -        )
    -        build_delete = (not (options.no_clean or options.build_dir))
    -        if options.cache_dir and not check_path_owner(options.cache_dir):
    -            logger.warning(
    -                "The directory '%s' or its parent directory is not owned "
    -                "by the current user and caching wheels has been "
    -                "disabled. check the permissions and owner of that "
    -                "directory. If executing pip with sudo, you may want "
    -                "sudo's -H flag.",
    -                options.cache_dir,
    -            )
    -            options.cache_dir = None
    -
    -        with RequirementTracker() as req_tracker, TempDirectory(
    -            options.build_dir, delete=build_delete, kind="download"
    -        ) as directory:
    -
    -            requirement_set = RequirementSet(
    -                require_hashes=options.require_hashes,
    -            )
    -            self.populate_requirement_set(
    -                requirement_set,
    -                args,
    -                options,
    -                finder,
    -                session,
    -                None
    -            )
    -
    -            preparer = self.make_requirement_preparer(
    -                temp_build_dir=directory,
    -                options=options,
    -                req_tracker=req_tracker,
    -                download_dir=options.download_dir,
    -            )
    -
    -            resolver = self.make_resolver(
    -                preparer=preparer,
    -                finder=finder,
    -                session=session,
    -                options=options,
    -                py_version_info=options.python_version,
    -            )
    -            resolver.resolve(requirement_set)
    -
    -            downloaded = ' '.join([
    -                req.name for req in requirement_set.successfully_downloaded
    -            ])
    -            if downloaded:
    -                write_output('Successfully downloaded %s', downloaded)
    -
    -            # Clean up
    -            if not options.no_clean:
    -                requirement_set.cleanup_files()
    -
    -        return requirement_set
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/freeze.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/freeze.py
    deleted file mode 100644
    index c59eb39..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/freeze.py
    +++ /dev/null
    @@ -1,103 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import sys
    -
    -from pip._internal.cache import WheelCache
    -from pip._internal.cli import cmdoptions
    -from pip._internal.cli.base_command import Command
    -from pip._internal.models.format_control import FormatControl
    -from pip._internal.operations.freeze import freeze
    -from pip._internal.utils.compat import stdlib_pkgs
    -
    -DEV_PKGS = {'pip', 'setuptools', 'distribute', 'wheel'}
    -
    -
    -class FreezeCommand(Command):
    -    """
    -    Output installed packages in requirements format.
    -
    -    packages are listed in a case-insensitive sorted order.
    -    """
    -
    -    usage = """
    -      %prog [options]"""
    -    log_streams = ("ext://sys.stderr", "ext://sys.stderr")
    -
    -    def __init__(self, *args, **kw):
    -        super(FreezeCommand, self).__init__(*args, **kw)
    -
    -        self.cmd_opts.add_option(
    -            '-r', '--requirement',
    -            dest='requirements',
    -            action='append',
    -            default=[],
    -            metavar='file',
    -            help="Use the order in the given requirements file and its "
    -                 "comments when generating output. This option can be "
    -                 "used multiple times.")
    -        self.cmd_opts.add_option(
    -            '-f', '--find-links',
    -            dest='find_links',
    -            action='append',
    -            default=[],
    -            metavar='URL',
    -            help='URL for finding packages, which will be added to the '
    -                 'output.')
    -        self.cmd_opts.add_option(
    -            '-l', '--local',
    -            dest='local',
    -            action='store_true',
    -            default=False,
    -            help='If in a virtualenv that has global access, do not output '
    -                 'globally-installed packages.')
    -        self.cmd_opts.add_option(
    -            '--user',
    -            dest='user',
    -            action='store_true',
    -            default=False,
    -            help='Only output packages installed in user-site.')
    -        self.cmd_opts.add_option(cmdoptions.list_path())
    -        self.cmd_opts.add_option(
    -            '--all',
    -            dest='freeze_all',
    -            action='store_true',
    -            help='Do not skip these packages in the output:'
    -                 ' %s' % ', '.join(DEV_PKGS))
    -        self.cmd_opts.add_option(
    -            '--exclude-editable',
    -            dest='exclude_editable',
    -            action='store_true',
    -            help='Exclude editable package from output.')
    -
    -        self.parser.insert_option_group(0, self.cmd_opts)
    -
    -    def run(self, options, args):
    -        format_control = FormatControl(set(), set())
    -        wheel_cache = WheelCache(options.cache_dir, format_control)
    -        skip = set(stdlib_pkgs)
    -        if not options.freeze_all:
    -            skip.update(DEV_PKGS)
    -
    -        cmdoptions.check_list_path_option(options)
    -
    -        freeze_kwargs = dict(
    -            requirement=options.requirements,
    -            find_links=options.find_links,
    -            local_only=options.local,
    -            user_only=options.user,
    -            paths=options.path,
    -            skip_regex=options.skip_requirements_regex,
    -            isolated=options.isolated_mode,
    -            wheel_cache=wheel_cache,
    -            skip=skip,
    -            exclude_editable=options.exclude_editable,
    -        )
    -
    -        try:
    -            for line in freeze(**freeze_kwargs):
    -                sys.stdout.write(line + '\n')
    -        finally:
    -            wheel_cache.cleanup()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/hash.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/hash.py
    deleted file mode 100644
    index 1dc7fb0..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/hash.py
    +++ /dev/null
    @@ -1,58 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import hashlib
    -import logging
    -import sys
    -
    -from pip._internal.cli.base_command import Command
    -from pip._internal.cli.status_codes import ERROR
    -from pip._internal.utils.hashes import FAVORITE_HASH, STRONG_HASHES
    -from pip._internal.utils.misc import read_chunks, write_output
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class HashCommand(Command):
    -    """
    -    Compute a hash of a local package archive.
    -
    -    These can be used with --hash in a requirements file to do repeatable
    -    installs.
    -    """
    -
    -    usage = '%prog [options]  ...'
    -    ignore_require_venv = True
    -
    -    def __init__(self, *args, **kw):
    -        super(HashCommand, self).__init__(*args, **kw)
    -        self.cmd_opts.add_option(
    -            '-a', '--algorithm',
    -            dest='algorithm',
    -            choices=STRONG_HASHES,
    -            action='store',
    -            default=FAVORITE_HASH,
    -            help='The hash algorithm to use: one of %s' %
    -                 ', '.join(STRONG_HASHES))
    -        self.parser.insert_option_group(0, self.cmd_opts)
    -
    -    def run(self, options, args):
    -        if not args:
    -            self.parser.print_usage(sys.stderr)
    -            return ERROR
    -
    -        algorithm = options.algorithm
    -        for path in args:
    -            write_output('%s:\n--hash=%s:%s',
    -                         path, algorithm, _hash_of_file(path, algorithm))
    -
    -
    -def _hash_of_file(path, algorithm):
    -    """Return the hash digest of a file."""
    -    with open(path, 'rb') as archive:
    -        hash = hashlib.new(algorithm)
    -        for chunk in read_chunks(archive):
    -            hash.update(chunk)
    -    return hash.hexdigest()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/help.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/help.py
    deleted file mode 100644
    index 75af999..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/help.py
    +++ /dev/null
    @@ -1,41 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -from pip._internal.cli.base_command import Command
    -from pip._internal.cli.status_codes import SUCCESS
    -from pip._internal.exceptions import CommandError
    -
    -
    -class HelpCommand(Command):
    -    """Show help for commands"""
    -
    -    usage = """
    -      %prog """
    -    ignore_require_venv = True
    -
    -    def run(self, options, args):
    -        from pip._internal.commands import (
    -            commands_dict, create_command, get_similar_commands,
    -        )
    -
    -        try:
    -            # 'pip help' with no args is handled by pip.__init__.parseopt()
    -            cmd_name = args[0]  # the command we need help for
    -        except IndexError:
    -            return SUCCESS
    -
    -        if cmd_name not in commands_dict:
    -            guess = get_similar_commands(cmd_name)
    -
    -            msg = ['unknown command "%s"' % cmd_name]
    -            if guess:
    -                msg.append('maybe you meant "%s"' % guess)
    -
    -            raise CommandError(' - '.join(msg))
    -
    -        command = create_command(cmd_name)
    -        command.parser.print_help()
    -
    -        return SUCCESS
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/install.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/install.py
    deleted file mode 100644
    index 66071f6..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/install.py
    +++ /dev/null
    @@ -1,630 +0,0 @@
    -
    -# The following comment should be removed at some point in the future.
    -# It's included for now because without it InstallCommand.run() has a
    -# couple errors where we have to know req.name is str rather than
    -# Optional[str] for the InstallRequirement req.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import errno
    -import logging
    -import operator
    -import os
    -import shutil
    -from optparse import SUPPRESS_HELP
    -
    -from pip._vendor import pkg_resources
    -from pip._vendor.packaging.utils import canonicalize_name
    -
    -from pip._internal.cache import WheelCache
    -from pip._internal.cli import cmdoptions
    -from pip._internal.cli.cmdoptions import make_target_python
    -from pip._internal.cli.req_command import RequirementCommand
    -from pip._internal.cli.status_codes import ERROR, SUCCESS
    -from pip._internal.exceptions import (
    -    CommandError,
    -    InstallationError,
    -    PreviousBuildDirError,
    -)
    -from pip._internal.locations import distutils_scheme
    -from pip._internal.operations.check import check_install_conflicts
    -from pip._internal.req import RequirementSet, install_given_reqs
    -from pip._internal.req.req_tracker import RequirementTracker
    -from pip._internal.utils.filesystem import check_path_owner
    -from pip._internal.utils.misc import (
    -    ensure_dir,
    -    get_installed_version,
    -    protect_pip_from_modification_on_windows,
    -    write_output,
    -)
    -from pip._internal.utils.temp_dir import TempDirectory
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.virtualenv import virtualenv_no_global
    -from pip._internal.wheel import WheelBuilder
    -
    -if MYPY_CHECK_RUNNING:
    -    from optparse import Values
    -    from typing import Any, List, Optional
    -
    -    from pip._internal.models.format_control import FormatControl
    -    from pip._internal.req.req_install import InstallRequirement
    -    from pip._internal.wheel import BinaryAllowedPredicate
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def is_wheel_installed():
    -    """
    -    Return whether the wheel package is installed.
    -    """
    -    try:
    -        import wheel  # noqa: F401
    -    except ImportError:
    -        return False
    -
    -    return True
    -
    -
    -def build_wheels(
    -    builder,              # type: WheelBuilder
    -    pep517_requirements,  # type: List[InstallRequirement]
    -    legacy_requirements,  # type: List[InstallRequirement]
    -):
    -    # type: (...) -> List[InstallRequirement]
    -    """
    -    Build wheels for requirements, depending on whether wheel is installed.
    -    """
    -    # We don't build wheels for legacy requirements if wheel is not installed.
    -    should_build_legacy = is_wheel_installed()
    -
    -    # Always build PEP 517 requirements
    -    build_failures = builder.build(
    -        pep517_requirements,
    -        should_unpack=True,
    -    )
    -
    -    if should_build_legacy:
    -        # We don't care about failures building legacy
    -        # requirements, as we'll fall through to a direct
    -        # install for those.
    -        builder.build(
    -            legacy_requirements,
    -            should_unpack=True,
    -        )
    -
    -    return build_failures
    -
    -
    -def get_check_binary_allowed(format_control):
    -    # type: (FormatControl) -> BinaryAllowedPredicate
    -    def check_binary_allowed(req):
    -        # type: (InstallRequirement) -> bool
    -        canonical_name = canonicalize_name(req.name)
    -        allowed_formats = format_control.get_allowed_formats(canonical_name)
    -        return "binary" in allowed_formats
    -
    -    return check_binary_allowed
    -
    -
    -class InstallCommand(RequirementCommand):
    -    """
    -    Install packages from:
    -
    -    - PyPI (and other indexes) using requirement specifiers.
    -    - VCS project urls.
    -    - Local project directories.
    -    - Local or remote source archives.
    -
    -    pip also supports installing from "requirements files", which provide
    -    an easy way to specify a whole environment to be installed.
    -    """
    -
    -    usage = """
    -      %prog [options]  [package-index-options] ...
    -      %prog [options] -r  [package-index-options] ...
    -      %prog [options] [-e]  ...
    -      %prog [options] [-e]  ...
    -      %prog [options]  ..."""
    -
    -    def __init__(self, *args, **kw):
    -        super(InstallCommand, self).__init__(*args, **kw)
    -
    -        cmd_opts = self.cmd_opts
    -
    -        cmd_opts.add_option(cmdoptions.requirements())
    -        cmd_opts.add_option(cmdoptions.constraints())
    -        cmd_opts.add_option(cmdoptions.no_deps())
    -        cmd_opts.add_option(cmdoptions.pre())
    -
    -        cmd_opts.add_option(cmdoptions.editable())
    -        cmd_opts.add_option(
    -            '-t', '--target',
    -            dest='target_dir',
    -            metavar='dir',
    -            default=None,
    -            help='Install packages into . '
    -                 'By default this will not replace existing files/folders in '
    -                 '. Use --upgrade to replace existing packages in  '
    -                 'with new versions.'
    -        )
    -        cmdoptions.add_target_python_options(cmd_opts)
    -
    -        cmd_opts.add_option(
    -            '--user',
    -            dest='use_user_site',
    -            action='store_true',
    -            help="Install to the Python user install directory for your "
    -                 "platform. Typically ~/.local/, or %APPDATA%\\Python on "
    -                 "Windows. (See the Python documentation for site.USER_BASE "
    -                 "for full details.)")
    -        cmd_opts.add_option(
    -            '--no-user',
    -            dest='use_user_site',
    -            action='store_false',
    -            help=SUPPRESS_HELP)
    -        cmd_opts.add_option(
    -            '--root',
    -            dest='root_path',
    -            metavar='dir',
    -            default=None,
    -            help="Install everything relative to this alternate root "
    -                 "directory.")
    -        cmd_opts.add_option(
    -            '--prefix',
    -            dest='prefix_path',
    -            metavar='dir',
    -            default=None,
    -            help="Installation prefix where lib, bin and other top-level "
    -                 "folders are placed")
    -
    -        cmd_opts.add_option(cmdoptions.build_dir())
    -
    -        cmd_opts.add_option(cmdoptions.src())
    -
    -        cmd_opts.add_option(
    -            '-U', '--upgrade',
    -            dest='upgrade',
    -            action='store_true',
    -            help='Upgrade all specified packages to the newest available '
    -                 'version. The handling of dependencies depends on the '
    -                 'upgrade-strategy used.'
    -        )
    -
    -        cmd_opts.add_option(
    -            '--upgrade-strategy',
    -            dest='upgrade_strategy',
    -            default='only-if-needed',
    -            choices=['only-if-needed', 'eager'],
    -            help='Determines how dependency upgrading should be handled '
    -                 '[default: %default]. '
    -                 '"eager" - dependencies are upgraded regardless of '
    -                 'whether the currently installed version satisfies the '
    -                 'requirements of the upgraded package(s). '
    -                 '"only-if-needed" -  are upgraded only when they do not '
    -                 'satisfy the requirements of the upgraded package(s).'
    -        )
    -
    -        cmd_opts.add_option(
    -            '--force-reinstall',
    -            dest='force_reinstall',
    -            action='store_true',
    -            help='Reinstall all packages even if they are already '
    -                 'up-to-date.')
    -
    -        cmd_opts.add_option(
    -            '-I', '--ignore-installed',
    -            dest='ignore_installed',
    -            action='store_true',
    -            help='Ignore the installed packages, overwriting them. '
    -                 'This can break your system if the existing package '
    -                 'is of a different version or was installed '
    -                 'with a different package manager!'
    -        )
    -
    -        cmd_opts.add_option(cmdoptions.ignore_requires_python())
    -        cmd_opts.add_option(cmdoptions.no_build_isolation())
    -        cmd_opts.add_option(cmdoptions.use_pep517())
    -        cmd_opts.add_option(cmdoptions.no_use_pep517())
    -
    -        cmd_opts.add_option(cmdoptions.install_options())
    -        cmd_opts.add_option(cmdoptions.global_options())
    -
    -        cmd_opts.add_option(
    -            "--compile",
    -            action="store_true",
    -            dest="compile",
    -            default=True,
    -            help="Compile Python source files to bytecode",
    -        )
    -
    -        cmd_opts.add_option(
    -            "--no-compile",
    -            action="store_false",
    -            dest="compile",
    -            help="Do not compile Python source files to bytecode",
    -        )
    -
    -        cmd_opts.add_option(
    -            "--no-warn-script-location",
    -            action="store_false",
    -            dest="warn_script_location",
    -            default=True,
    -            help="Do not warn when installing scripts outside PATH",
    -        )
    -        cmd_opts.add_option(
    -            "--no-warn-conflicts",
    -            action="store_false",
    -            dest="warn_about_conflicts",
    -            default=True,
    -            help="Do not warn about broken dependencies",
    -        )
    -
    -        cmd_opts.add_option(cmdoptions.no_binary())
    -        cmd_opts.add_option(cmdoptions.only_binary())
    -        cmd_opts.add_option(cmdoptions.prefer_binary())
    -        cmd_opts.add_option(cmdoptions.no_clean())
    -        cmd_opts.add_option(cmdoptions.require_hashes())
    -        cmd_opts.add_option(cmdoptions.progress_bar())
    -
    -        index_opts = cmdoptions.make_option_group(
    -            cmdoptions.index_group,
    -            self.parser,
    -        )
    -
    -        self.parser.insert_option_group(0, index_opts)
    -        self.parser.insert_option_group(0, cmd_opts)
    -
    -    def run(self, options, args):
    -        # type: (Values, List[Any]) -> int
    -        cmdoptions.check_install_build_global(options)
    -        upgrade_strategy = "to-satisfy-only"
    -        if options.upgrade:
    -            upgrade_strategy = options.upgrade_strategy
    -
    -        if options.build_dir:
    -            options.build_dir = os.path.abspath(options.build_dir)
    -
    -        cmdoptions.check_dist_restriction(options, check_target=True)
    -
    -        options.src_dir = os.path.abspath(options.src_dir)
    -        install_options = options.install_options or []
    -        if options.use_user_site:
    -            if options.prefix_path:
    -                raise CommandError(
    -                    "Can not combine '--user' and '--prefix' as they imply "
    -                    "different installation locations"
    -                )
    -            if virtualenv_no_global():
    -                raise InstallationError(
    -                    "Can not perform a '--user' install. User site-packages "
    -                    "are not visible in this virtualenv."
    -                )
    -            install_options.append('--user')
    -            install_options.append('--prefix=')
    -
    -        target_temp_dir = None  # type: Optional[TempDirectory]
    -        target_temp_dir_path = None  # type: Optional[str]
    -        if options.target_dir:
    -            options.ignore_installed = True
    -            options.target_dir = os.path.abspath(options.target_dir)
    -            if (os.path.exists(options.target_dir) and not
    -                    os.path.isdir(options.target_dir)):
    -                raise CommandError(
    -                    "Target path exists but is not a directory, will not "
    -                    "continue."
    -                )
    -
    -            # Create a target directory for using with the target option
    -            target_temp_dir = TempDirectory(kind="target")
    -            target_temp_dir_path = target_temp_dir.path
    -            install_options.append('--home=' + target_temp_dir_path)
    -
    -        global_options = options.global_options or []
    -
    -        session = self.get_default_session(options)
    -
    -        target_python = make_target_python(options)
    -        finder = self._build_package_finder(
    -            options=options,
    -            session=session,
    -            target_python=target_python,
    -            ignore_requires_python=options.ignore_requires_python,
    -        )
    -        build_delete = (not (options.no_clean or options.build_dir))
    -        wheel_cache = WheelCache(options.cache_dir, options.format_control)
    -
    -        if options.cache_dir and not check_path_owner(options.cache_dir):
    -            logger.warning(
    -                "The directory '%s' or its parent directory is not owned "
    -                "by the current user and caching wheels has been "
    -                "disabled. check the permissions and owner of that "
    -                "directory. If executing pip with sudo, you may want "
    -                "sudo's -H flag.",
    -                options.cache_dir,
    -            )
    -            options.cache_dir = None
    -
    -        with RequirementTracker() as req_tracker, TempDirectory(
    -            options.build_dir, delete=build_delete, kind="install"
    -        ) as directory:
    -            requirement_set = RequirementSet(
    -                require_hashes=options.require_hashes,
    -                check_supported_wheels=not options.target_dir,
    -            )
    -
    -            try:
    -                self.populate_requirement_set(
    -                    requirement_set, args, options, finder, session,
    -                    wheel_cache
    -                )
    -                preparer = self.make_requirement_preparer(
    -                    temp_build_dir=directory,
    -                    options=options,
    -                    req_tracker=req_tracker,
    -                )
    -                resolver = self.make_resolver(
    -                    preparer=preparer,
    -                    finder=finder,
    -                    session=session,
    -                    options=options,
    -                    wheel_cache=wheel_cache,
    -                    use_user_site=options.use_user_site,
    -                    ignore_installed=options.ignore_installed,
    -                    ignore_requires_python=options.ignore_requires_python,
    -                    force_reinstall=options.force_reinstall,
    -                    upgrade_strategy=upgrade_strategy,
    -                    use_pep517=options.use_pep517,
    -                )
    -                resolver.resolve(requirement_set)
    -
    -                try:
    -                    pip_req = requirement_set.get_requirement("pip")
    -                except KeyError:
    -                    modifying_pip = None
    -                else:
    -                    # If we're not replacing an already installed pip,
    -                    # we're not modifying it.
    -                    modifying_pip = pip_req.satisfied_by is None
    -                protect_pip_from_modification_on_windows(
    -                    modifying_pip=modifying_pip
    -                )
    -
    -                check_binary_allowed = get_check_binary_allowed(
    -                    finder.format_control
    -                )
    -                # Consider legacy and PEP517-using requirements separately
    -                legacy_requirements = []
    -                pep517_requirements = []
    -                for req in requirement_set.requirements.values():
    -                    if req.use_pep517:
    -                        pep517_requirements.append(req)
    -                    else:
    -                        legacy_requirements.append(req)
    -
    -                wheel_builder = WheelBuilder(
    -                    preparer, wheel_cache,
    -                    build_options=[], global_options=[],
    -                    check_binary_allowed=check_binary_allowed,
    -                )
    -
    -                build_failures = build_wheels(
    -                    builder=wheel_builder,
    -                    pep517_requirements=pep517_requirements,
    -                    legacy_requirements=legacy_requirements,
    -                )
    -
    -                # If we're using PEP 517, we cannot do a direct install
    -                # so we fail here.
    -                if build_failures:
    -                    raise InstallationError(
    -                        "Could not build wheels for {} which use"
    -                        " PEP 517 and cannot be installed directly".format(
    -                            ", ".join(r.name for r in build_failures)))
    -
    -                to_install = resolver.get_installation_order(
    -                    requirement_set
    -                )
    -
    -                # Consistency Checking of the package set we're installing.
    -                should_warn_about_conflicts = (
    -                    not options.ignore_dependencies and
    -                    options.warn_about_conflicts
    -                )
    -                if should_warn_about_conflicts:
    -                    self._warn_about_conflicts(to_install)
    -
    -                # Don't warn about script install locations if
    -                # --target has been specified
    -                warn_script_location = options.warn_script_location
    -                if options.target_dir:
    -                    warn_script_location = False
    -
    -                installed = install_given_reqs(
    -                    to_install,
    -                    install_options,
    -                    global_options,
    -                    root=options.root_path,
    -                    home=target_temp_dir_path,
    -                    prefix=options.prefix_path,
    -                    pycompile=options.compile,
    -                    warn_script_location=warn_script_location,
    -                    use_user_site=options.use_user_site,
    -                )
    -
    -                lib_locations = get_lib_location_guesses(
    -                    user=options.use_user_site,
    -                    home=target_temp_dir_path,
    -                    root=options.root_path,
    -                    prefix=options.prefix_path,
    -                    isolated=options.isolated_mode,
    -                )
    -                working_set = pkg_resources.WorkingSet(lib_locations)
    -
    -                reqs = sorted(installed, key=operator.attrgetter('name'))
    -                items = []
    -                for req in reqs:
    -                    item = req.name
    -                    try:
    -                        installed_version = get_installed_version(
    -                            req.name, working_set=working_set
    -                        )
    -                        if installed_version:
    -                            item += '-' + installed_version
    -                    except Exception:
    -                        pass
    -                    items.append(item)
    -                installed_desc = ' '.join(items)
    -                if installed_desc:
    -                    write_output(
    -                        'Successfully installed %s', installed_desc,
    -                    )
    -            except EnvironmentError as error:
    -                show_traceback = (self.verbosity >= 1)
    -
    -                message = create_env_error_message(
    -                    error, show_traceback, options.use_user_site,
    -                )
    -                logger.error(message, exc_info=show_traceback)
    -
    -                return ERROR
    -            except PreviousBuildDirError:
    -                options.no_clean = True
    -                raise
    -            finally:
    -                # Clean up
    -                if not options.no_clean:
    -                    requirement_set.cleanup_files()
    -                    wheel_cache.cleanup()
    -
    -        if options.target_dir:
    -            self._handle_target_dir(
    -                options.target_dir, target_temp_dir, options.upgrade
    -            )
    -
    -        return SUCCESS
    -
    -    def _handle_target_dir(self, target_dir, target_temp_dir, upgrade):
    -        ensure_dir(target_dir)
    -
    -        # Checking both purelib and platlib directories for installed
    -        # packages to be moved to target directory
    -        lib_dir_list = []
    -
    -        with target_temp_dir:
    -            # Checking both purelib and platlib directories for installed
    -            # packages to be moved to target directory
    -            scheme = distutils_scheme('', home=target_temp_dir.path)
    -            purelib_dir = scheme['purelib']
    -            platlib_dir = scheme['platlib']
    -            data_dir = scheme['data']
    -
    -            if os.path.exists(purelib_dir):
    -                lib_dir_list.append(purelib_dir)
    -            if os.path.exists(platlib_dir) and platlib_dir != purelib_dir:
    -                lib_dir_list.append(platlib_dir)
    -            if os.path.exists(data_dir):
    -                lib_dir_list.append(data_dir)
    -
    -            for lib_dir in lib_dir_list:
    -                for item in os.listdir(lib_dir):
    -                    if lib_dir == data_dir:
    -                        ddir = os.path.join(data_dir, item)
    -                        if any(s.startswith(ddir) for s in lib_dir_list[:-1]):
    -                            continue
    -                    target_item_dir = os.path.join(target_dir, item)
    -                    if os.path.exists(target_item_dir):
    -                        if not upgrade:
    -                            logger.warning(
    -                                'Target directory %s already exists. Specify '
    -                                '--upgrade to force replacement.',
    -                                target_item_dir
    -                            )
    -                            continue
    -                        if os.path.islink(target_item_dir):
    -                            logger.warning(
    -                                'Target directory %s already exists and is '
    -                                'a link. Pip will not automatically replace '
    -                                'links, please remove if replacement is '
    -                                'desired.',
    -                                target_item_dir
    -                            )
    -                            continue
    -                        if os.path.isdir(target_item_dir):
    -                            shutil.rmtree(target_item_dir)
    -                        else:
    -                            os.remove(target_item_dir)
    -
    -                    shutil.move(
    -                        os.path.join(lib_dir, item),
    -                        target_item_dir
    -                    )
    -
    -    def _warn_about_conflicts(self, to_install):
    -        try:
    -            package_set, _dep_info = check_install_conflicts(to_install)
    -        except Exception:
    -            logger.error("Error checking for conflicts.", exc_info=True)
    -            return
    -        missing, conflicting = _dep_info
    -
    -        # NOTE: There is some duplication here from pip check
    -        for project_name in missing:
    -            version = package_set[project_name][0]
    -            for dependency in missing[project_name]:
    -                logger.critical(
    -                    "%s %s requires %s, which is not installed.",
    -                    project_name, version, dependency[1],
    -                )
    -
    -        for project_name in conflicting:
    -            version = package_set[project_name][0]
    -            for dep_name, dep_version, req in conflicting[project_name]:
    -                logger.critical(
    -                    "%s %s has requirement %s, but you'll have %s %s which is "
    -                    "incompatible.",
    -                    project_name, version, req, dep_name, dep_version,
    -                )
    -
    -
    -def get_lib_location_guesses(*args, **kwargs):
    -    scheme = distutils_scheme('', *args, **kwargs)
    -    return [scheme['purelib'], scheme['platlib']]
    -
    -
    -def create_env_error_message(error, show_traceback, using_user_site):
    -    """Format an error message for an EnvironmentError
    -
    -    It may occur anytime during the execution of the install command.
    -    """
    -    parts = []
    -
    -    # Mention the error if we are not going to show a traceback
    -    parts.append("Could not install packages due to an EnvironmentError")
    -    if not show_traceback:
    -        parts.append(": ")
    -        parts.append(str(error))
    -    else:
    -        parts.append(".")
    -
    -    # Spilt the error indication from a helper message (if any)
    -    parts[-1] += "\n"
    -
    -    # Suggest useful actions to the user:
    -    #  (1) using user site-packages or (2) verifying the permissions
    -    if error.errno == errno.EACCES:
    -        user_option_part = "Consider using the `--user` option"
    -        permissions_part = "Check the permissions"
    -
    -        if not using_user_site:
    -            parts.extend([
    -                user_option_part, " or ",
    -                permissions_part.lower(),
    -            ])
    -        else:
    -            parts.append(permissions_part)
    -        parts.append(".\n")
    -
    -    return "".join(parts).strip() + "\n"
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/list.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/list.py
    deleted file mode 100644
    index 77a245b..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/list.py
    +++ /dev/null
    @@ -1,313 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import json
    -import logging
    -
    -from pip._vendor import six
    -from pip._vendor.six.moves import zip_longest
    -
    -from pip._internal.cli import cmdoptions
    -from pip._internal.cli.req_command import IndexGroupCommand
    -from pip._internal.exceptions import CommandError
    -from pip._internal.index import PackageFinder
    -from pip._internal.models.selection_prefs import SelectionPreferences
    -from pip._internal.self_outdated_check import make_link_collector
    -from pip._internal.utils.misc import (
    -    dist_is_editable,
    -    get_installed_distributions,
    -    write_output,
    -)
    -from pip._internal.utils.packaging import get_installer
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class ListCommand(IndexGroupCommand):
    -    """
    -    List installed packages, including editables.
    -
    -    Packages are listed in a case-insensitive sorted order.
    -    """
    -
    -    usage = """
    -      %prog [options]"""
    -
    -    def __init__(self, *args, **kw):
    -        super(ListCommand, self).__init__(*args, **kw)
    -
    -        cmd_opts = self.cmd_opts
    -
    -        cmd_opts.add_option(
    -            '-o', '--outdated',
    -            action='store_true',
    -            default=False,
    -            help='List outdated packages')
    -        cmd_opts.add_option(
    -            '-u', '--uptodate',
    -            action='store_true',
    -            default=False,
    -            help='List uptodate packages')
    -        cmd_opts.add_option(
    -            '-e', '--editable',
    -            action='store_true',
    -            default=False,
    -            help='List editable projects.')
    -        cmd_opts.add_option(
    -            '-l', '--local',
    -            action='store_true',
    -            default=False,
    -            help=('If in a virtualenv that has global access, do not list '
    -                  'globally-installed packages.'),
    -        )
    -        self.cmd_opts.add_option(
    -            '--user',
    -            dest='user',
    -            action='store_true',
    -            default=False,
    -            help='Only output packages installed in user-site.')
    -        cmd_opts.add_option(cmdoptions.list_path())
    -        cmd_opts.add_option(
    -            '--pre',
    -            action='store_true',
    -            default=False,
    -            help=("Include pre-release and development versions. By default, "
    -                  "pip only finds stable versions."),
    -        )
    -
    -        cmd_opts.add_option(
    -            '--format',
    -            action='store',
    -            dest='list_format',
    -            default="columns",
    -            choices=('columns', 'freeze', 'json'),
    -            help="Select the output format among: columns (default), freeze, "
    -                 "or json",
    -        )
    -
    -        cmd_opts.add_option(
    -            '--not-required',
    -            action='store_true',
    -            dest='not_required',
    -            help="List packages that are not dependencies of "
    -                 "installed packages.",
    -        )
    -
    -        cmd_opts.add_option(
    -            '--exclude-editable',
    -            action='store_false',
    -            dest='include_editable',
    -            help='Exclude editable package from output.',
    -        )
    -        cmd_opts.add_option(
    -            '--include-editable',
    -            action='store_true',
    -            dest='include_editable',
    -            help='Include editable package from output.',
    -            default=True,
    -        )
    -        index_opts = cmdoptions.make_option_group(
    -            cmdoptions.index_group, self.parser
    -        )
    -
    -        self.parser.insert_option_group(0, index_opts)
    -        self.parser.insert_option_group(0, cmd_opts)
    -
    -    def _build_package_finder(self, options, session):
    -        """
    -        Create a package finder appropriate to this list command.
    -        """
    -        link_collector = make_link_collector(session, options=options)
    -
    -        # Pass allow_yanked=False to ignore yanked versions.
    -        selection_prefs = SelectionPreferences(
    -            allow_yanked=False,
    -            allow_all_prereleases=options.pre,
    -        )
    -
    -        return PackageFinder.create(
    -            link_collector=link_collector,
    -            selection_prefs=selection_prefs,
    -        )
    -
    -    def run(self, options, args):
    -        if options.outdated and options.uptodate:
    -            raise CommandError(
    -                "Options --outdated and --uptodate cannot be combined.")
    -
    -        cmdoptions.check_list_path_option(options)
    -
    -        packages = get_installed_distributions(
    -            local_only=options.local,
    -            user_only=options.user,
    -            editables_only=options.editable,
    -            include_editables=options.include_editable,
    -            paths=options.path,
    -        )
    -
    -        # get_not_required must be called firstly in order to find and
    -        # filter out all dependencies correctly. Otherwise a package
    -        # can't be identified as requirement because some parent packages
    -        # could be filtered out before.
    -        if options.not_required:
    -            packages = self.get_not_required(packages, options)
    -
    -        if options.outdated:
    -            packages = self.get_outdated(packages, options)
    -        elif options.uptodate:
    -            packages = self.get_uptodate(packages, options)
    -
    -        self.output_package_listing(packages, options)
    -
    -    def get_outdated(self, packages, options):
    -        return [
    -            dist for dist in self.iter_packages_latest_infos(packages, options)
    -            if dist.latest_version > dist.parsed_version
    -        ]
    -
    -    def get_uptodate(self, packages, options):
    -        return [
    -            dist for dist in self.iter_packages_latest_infos(packages, options)
    -            if dist.latest_version == dist.parsed_version
    -        ]
    -
    -    def get_not_required(self, packages, options):
    -        dep_keys = set()
    -        for dist in packages:
    -            dep_keys.update(requirement.key for requirement in dist.requires())
    -        return {pkg for pkg in packages if pkg.key not in dep_keys}
    -
    -    def iter_packages_latest_infos(self, packages, options):
    -        with self._build_session(options) as session:
    -            finder = self._build_package_finder(options, session)
    -
    -            for dist in packages:
    -                typ = 'unknown'
    -                all_candidates = finder.find_all_candidates(dist.key)
    -                if not options.pre:
    -                    # Remove prereleases
    -                    all_candidates = [candidate for candidate in all_candidates
    -                                      if not candidate.version.is_prerelease]
    -
    -                evaluator = finder.make_candidate_evaluator(
    -                    project_name=dist.project_name,
    -                )
    -                best_candidate = evaluator.sort_best_candidate(all_candidates)
    -                if best_candidate is None:
    -                    continue
    -
    -                remote_version = best_candidate.version
    -                if best_candidate.link.is_wheel:
    -                    typ = 'wheel'
    -                else:
    -                    typ = 'sdist'
    -                # This is dirty but makes the rest of the code much cleaner
    -                dist.latest_version = remote_version
    -                dist.latest_filetype = typ
    -                yield dist
    -
    -    def output_package_listing(self, packages, options):
    -        packages = sorted(
    -            packages,
    -            key=lambda dist: dist.project_name.lower(),
    -        )
    -        if options.list_format == 'columns' and packages:
    -            data, header = format_for_columns(packages, options)
    -            self.output_package_listing_columns(data, header)
    -        elif options.list_format == 'freeze':
    -            for dist in packages:
    -                if options.verbose >= 1:
    -                    write_output("%s==%s (%s)", dist.project_name,
    -                                 dist.version, dist.location)
    -                else:
    -                    write_output("%s==%s", dist.project_name, dist.version)
    -        elif options.list_format == 'json':
    -            write_output(format_for_json(packages, options))
    -
    -    def output_package_listing_columns(self, data, header):
    -        # insert the header first: we need to know the size of column names
    -        if len(data) > 0:
    -            data.insert(0, header)
    -
    -        pkg_strings, sizes = tabulate(data)
    -
    -        # Create and add a separator.
    -        if len(data) > 0:
    -            pkg_strings.insert(1, " ".join(map(lambda x: '-' * x, sizes)))
    -
    -        for val in pkg_strings:
    -            write_output(val)
    -
    -
    -def tabulate(vals):
    -    # From pfmoore on GitHub:
    -    # https://github.com/pypa/pip/issues/3651#issuecomment-216932564
    -    assert len(vals) > 0
    -
    -    sizes = [0] * max(len(x) for x in vals)
    -    for row in vals:
    -        sizes = [max(s, len(str(c))) for s, c in zip_longest(sizes, row)]
    -
    -    result = []
    -    for row in vals:
    -        display = " ".join([str(c).ljust(s) if c is not None else ''
    -                            for s, c in zip_longest(sizes, row)])
    -        result.append(display)
    -
    -    return result, sizes
    -
    -
    -def format_for_columns(pkgs, options):
    -    """
    -    Convert the package data into something usable
    -    by output_package_listing_columns.
    -    """
    -    running_outdated = options.outdated
    -    # Adjust the header for the `pip list --outdated` case.
    -    if running_outdated:
    -        header = ["Package", "Version", "Latest", "Type"]
    -    else:
    -        header = ["Package", "Version"]
    -
    -    data = []
    -    if options.verbose >= 1 or any(dist_is_editable(x) for x in pkgs):
    -        header.append("Location")
    -    if options.verbose >= 1:
    -        header.append("Installer")
    -
    -    for proj in pkgs:
    -        # if we're working on the 'outdated' list, separate out the
    -        # latest_version and type
    -        row = [proj.project_name, proj.version]
    -
    -        if running_outdated:
    -            row.append(proj.latest_version)
    -            row.append(proj.latest_filetype)
    -
    -        if options.verbose >= 1 or dist_is_editable(proj):
    -            row.append(proj.location)
    -        if options.verbose >= 1:
    -            row.append(get_installer(proj))
    -
    -        data.append(row)
    -
    -    return data, header
    -
    -
    -def format_for_json(packages, options):
    -    data = []
    -    for dist in packages:
    -        info = {
    -            'name': dist.project_name,
    -            'version': six.text_type(dist.version),
    -        }
    -        if options.verbose >= 1:
    -            info['location'] = dist.location
    -            info['installer'] = get_installer(dist)
    -        if options.outdated:
    -            info['latest_version'] = six.text_type(dist.latest_version)
    -            info['latest_filetype'] = dist.latest_filetype
    -        data.append(info)
    -    return json.dumps(data)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/search.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/search.py
    deleted file mode 100644
    index 2e880ee..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/search.py
    +++ /dev/null
    @@ -1,145 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import sys
    -import textwrap
    -from collections import OrderedDict
    -
    -from pip._vendor import pkg_resources
    -from pip._vendor.packaging.version import parse as parse_version
    -# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is
    -#       why we ignore the type on this import
    -from pip._vendor.six.moves import xmlrpc_client  # type: ignore
    -
    -from pip._internal.cli.base_command import Command
    -from pip._internal.cli.req_command import SessionCommandMixin
    -from pip._internal.cli.status_codes import NO_MATCHES_FOUND, SUCCESS
    -from pip._internal.exceptions import CommandError
    -from pip._internal.models.index import PyPI
    -from pip._internal.network.xmlrpc import PipXmlrpcTransport
    -from pip._internal.utils.compat import get_terminal_size
    -from pip._internal.utils.logging import indent_log
    -from pip._internal.utils.misc import write_output
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class SearchCommand(Command, SessionCommandMixin):
    -    """Search for PyPI packages whose name or summary contains ."""
    -
    -    usage = """
    -      %prog [options] """
    -    ignore_require_venv = True
    -
    -    def __init__(self, *args, **kw):
    -        super(SearchCommand, self).__init__(*args, **kw)
    -        self.cmd_opts.add_option(
    -            '-i', '--index',
    -            dest='index',
    -            metavar='URL',
    -            default=PyPI.pypi_url,
    -            help='Base URL of Python Package Index (default %default)')
    -
    -        self.parser.insert_option_group(0, self.cmd_opts)
    -
    -    def run(self, options, args):
    -        if not args:
    -            raise CommandError('Missing required argument (search query).')
    -        query = args
    -        pypi_hits = self.search(query, options)
    -        hits = transform_hits(pypi_hits)
    -
    -        terminal_width = None
    -        if sys.stdout.isatty():
    -            terminal_width = get_terminal_size()[0]
    -
    -        print_results(hits, terminal_width=terminal_width)
    -        if pypi_hits:
    -            return SUCCESS
    -        return NO_MATCHES_FOUND
    -
    -    def search(self, query, options):
    -        index_url = options.index
    -
    -        session = self.get_default_session(options)
    -
    -        transport = PipXmlrpcTransport(index_url, session)
    -        pypi = xmlrpc_client.ServerProxy(index_url, transport)
    -        hits = pypi.search({'name': query, 'summary': query}, 'or')
    -        return hits
    -
    -
    -def transform_hits(hits):
    -    """
    -    The list from pypi is really a list of versions. We want a list of
    -    packages with the list of versions stored inline. This converts the
    -    list from pypi into one we can use.
    -    """
    -    packages = OrderedDict()
    -    for hit in hits:
    -        name = hit['name']
    -        summary = hit['summary']
    -        version = hit['version']
    -
    -        if name not in packages.keys():
    -            packages[name] = {
    -                'name': name,
    -                'summary': summary,
    -                'versions': [version],
    -            }
    -        else:
    -            packages[name]['versions'].append(version)
    -
    -            # if this is the highest version, replace summary and score
    -            if version == highest_version(packages[name]['versions']):
    -                packages[name]['summary'] = summary
    -
    -    return list(packages.values())
    -
    -
    -def print_results(hits, name_column_width=None, terminal_width=None):
    -    if not hits:
    -        return
    -    if name_column_width is None:
    -        name_column_width = max([
    -            len(hit['name']) + len(highest_version(hit.get('versions', ['-'])))
    -            for hit in hits
    -        ]) + 4
    -
    -    installed_packages = [p.project_name for p in pkg_resources.working_set]
    -    for hit in hits:
    -        name = hit['name']
    -        summary = hit['summary'] or ''
    -        latest = highest_version(hit.get('versions', ['-']))
    -        if terminal_width is not None:
    -            target_width = terminal_width - name_column_width - 5
    -            if target_width > 10:
    -                # wrap and indent summary to fit terminal
    -                summary = textwrap.wrap(summary, target_width)
    -                summary = ('\n' + ' ' * (name_column_width + 3)).join(summary)
    -
    -        line = '%-*s - %s' % (name_column_width,
    -                              '%s (%s)' % (name, latest), summary)
    -        try:
    -            write_output(line)
    -            if name in installed_packages:
    -                dist = pkg_resources.get_distribution(name)
    -                with indent_log():
    -                    if dist.version == latest:
    -                        write_output('INSTALLED: %s (latest)', dist.version)
    -                    else:
    -                        write_output('INSTALLED: %s', dist.version)
    -                        if parse_version(latest).pre:
    -                            write_output('LATEST:    %s (pre-release; install'
    -                                         ' with "pip install --pre")', latest)
    -                        else:
    -                            write_output('LATEST:    %s', latest)
    -        except UnicodeEncodeError:
    -            pass
    -
    -
    -def highest_version(versions):
    -    return max(versions, key=parse_version)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/show.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/show.py
    deleted file mode 100644
    index a46b08e..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/show.py
    +++ /dev/null
    @@ -1,180 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import os
    -from email.parser import FeedParser
    -
    -from pip._vendor import pkg_resources
    -from pip._vendor.packaging.utils import canonicalize_name
    -
    -from pip._internal.cli.base_command import Command
    -from pip._internal.cli.status_codes import ERROR, SUCCESS
    -from pip._internal.utils.misc import write_output
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class ShowCommand(Command):
    -    """
    -    Show information about one or more installed packages.
    -
    -    The output is in RFC-compliant mail header format.
    -    """
    -
    -    usage = """
    -      %prog [options]  ..."""
    -    ignore_require_venv = True
    -
    -    def __init__(self, *args, **kw):
    -        super(ShowCommand, self).__init__(*args, **kw)
    -        self.cmd_opts.add_option(
    -            '-f', '--files',
    -            dest='files',
    -            action='store_true',
    -            default=False,
    -            help='Show the full list of installed files for each package.')
    -
    -        self.parser.insert_option_group(0, self.cmd_opts)
    -
    -    def run(self, options, args):
    -        if not args:
    -            logger.warning('ERROR: Please provide a package name or names.')
    -            return ERROR
    -        query = args
    -
    -        results = search_packages_info(query)
    -        if not print_results(
    -                results, list_files=options.files, verbose=options.verbose):
    -            return ERROR
    -        return SUCCESS
    -
    -
    -def search_packages_info(query):
    -    """
    -    Gather details from installed distributions. Print distribution name,
    -    version, location, and installed files. Installed files requires a
    -    pip generated 'installed-files.txt' in the distributions '.egg-info'
    -    directory.
    -    """
    -    installed = {}
    -    for p in pkg_resources.working_set:
    -        installed[canonicalize_name(p.project_name)] = p
    -
    -    query_names = [canonicalize_name(name) for name in query]
    -    missing = sorted(
    -        [name for name, pkg in zip(query, query_names) if pkg not in installed]
    -    )
    -    if missing:
    -        logger.warning('Package(s) not found: %s', ', '.join(missing))
    -
    -    def get_requiring_packages(package_name):
    -        canonical_name = canonicalize_name(package_name)
    -        return [
    -            pkg.project_name for pkg in pkg_resources.working_set
    -            if canonical_name in
    -               [canonicalize_name(required.name) for required in
    -                pkg.requires()]
    -        ]
    -
    -    for dist in [installed[pkg] for pkg in query_names if pkg in installed]:
    -        package = {
    -            'name': dist.project_name,
    -            'version': dist.version,
    -            'location': dist.location,
    -            'requires': [dep.project_name for dep in dist.requires()],
    -            'required_by': get_requiring_packages(dist.project_name)
    -        }
    -        file_list = None
    -        metadata = None
    -        if isinstance(dist, pkg_resources.DistInfoDistribution):
    -            # RECORDs should be part of .dist-info metadatas
    -            if dist.has_metadata('RECORD'):
    -                lines = dist.get_metadata_lines('RECORD')
    -                paths = [l.split(',')[0] for l in lines]
    -                paths = [os.path.join(dist.location, p) for p in paths]
    -                file_list = [os.path.relpath(p, dist.location) for p in paths]
    -
    -            if dist.has_metadata('METADATA'):
    -                metadata = dist.get_metadata('METADATA')
    -        else:
    -            # Otherwise use pip's log for .egg-info's
    -            if dist.has_metadata('installed-files.txt'):
    -                paths = dist.get_metadata_lines('installed-files.txt')
    -                paths = [os.path.join(dist.egg_info, p) for p in paths]
    -                file_list = [os.path.relpath(p, dist.location) for p in paths]
    -
    -            if dist.has_metadata('PKG-INFO'):
    -                metadata = dist.get_metadata('PKG-INFO')
    -
    -        if dist.has_metadata('entry_points.txt'):
    -            entry_points = dist.get_metadata_lines('entry_points.txt')
    -            package['entry_points'] = entry_points
    -
    -        if dist.has_metadata('INSTALLER'):
    -            for line in dist.get_metadata_lines('INSTALLER'):
    -                if line.strip():
    -                    package['installer'] = line.strip()
    -                    break
    -
    -        # @todo: Should pkg_resources.Distribution have a
    -        # `get_pkg_info` method?
    -        feed_parser = FeedParser()
    -        feed_parser.feed(metadata)
    -        pkg_info_dict = feed_parser.close()
    -        for key in ('metadata-version', 'summary',
    -                    'home-page', 'author', 'author-email', 'license'):
    -            package[key] = pkg_info_dict.get(key)
    -
    -        # It looks like FeedParser cannot deal with repeated headers
    -        classifiers = []
    -        for line in metadata.splitlines():
    -            if line.startswith('Classifier: '):
    -                classifiers.append(line[len('Classifier: '):])
    -        package['classifiers'] = classifiers
    -
    -        if file_list:
    -            package['files'] = sorted(file_list)
    -        yield package
    -
    -
    -def print_results(distributions, list_files=False, verbose=False):
    -    """
    -    Print the informations from installed distributions found.
    -    """
    -    results_printed = False
    -    for i, dist in enumerate(distributions):
    -        results_printed = True
    -        if i > 0:
    -            write_output("---")
    -
    -        write_output("Name: %s", dist.get('name', ''))
    -        write_output("Version: %s", dist.get('version', ''))
    -        write_output("Summary: %s", dist.get('summary', ''))
    -        write_output("Home-page: %s", dist.get('home-page', ''))
    -        write_output("Author: %s", dist.get('author', ''))
    -        write_output("Author-email: %s", dist.get('author-email', ''))
    -        write_output("License: %s", dist.get('license', ''))
    -        write_output("Location: %s", dist.get('location', ''))
    -        write_output("Requires: %s", ', '.join(dist.get('requires', [])))
    -        write_output("Required-by: %s", ', '.join(dist.get('required_by', [])))
    -
    -        if verbose:
    -            write_output("Metadata-Version: %s",
    -                         dist.get('metadata-version', ''))
    -            write_output("Installer: %s", dist.get('installer', ''))
    -            write_output("Classifiers:")
    -            for classifier in dist.get('classifiers', []):
    -                write_output("  %s", classifier)
    -            write_output("Entry-points:")
    -            for entry in dist.get('entry_points', []):
    -                write_output("  %s", entry.strip())
    -        if list_files:
    -            write_output("Files:")
    -            for line in dist.get('files', []):
    -                write_output("  %s", line.strip())
    -            if "files" not in dist:
    -                write_output("Cannot locate installed-files.txt")
    -    return results_printed
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/uninstall.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/uninstall.py
    deleted file mode 100644
    index 1bde414..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/uninstall.py
    +++ /dev/null
    @@ -1,82 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -from pip._vendor.packaging.utils import canonicalize_name
    -
    -from pip._internal.cli.base_command import Command
    -from pip._internal.cli.req_command import SessionCommandMixin
    -from pip._internal.exceptions import InstallationError
    -from pip._internal.req import parse_requirements
    -from pip._internal.req.constructors import install_req_from_line
    -from pip._internal.utils.misc import protect_pip_from_modification_on_windows
    -
    -
    -class UninstallCommand(Command, SessionCommandMixin):
    -    """
    -    Uninstall packages.
    -
    -    pip is able to uninstall most installed packages. Known exceptions are:
    -
    -    - Pure distutils packages installed with ``python setup.py install``, which
    -      leave behind no metadata to determine what files were installed.
    -    - Script wrappers installed by ``python setup.py develop``.
    -    """
    -
    -    usage = """
    -      %prog [options]  ...
    -      %prog [options] -r  ..."""
    -
    -    def __init__(self, *args, **kw):
    -        super(UninstallCommand, self).__init__(*args, **kw)
    -        self.cmd_opts.add_option(
    -            '-r', '--requirement',
    -            dest='requirements',
    -            action='append',
    -            default=[],
    -            metavar='file',
    -            help='Uninstall all the packages listed in the given requirements '
    -                 'file.  This option can be used multiple times.',
    -        )
    -        self.cmd_opts.add_option(
    -            '-y', '--yes',
    -            dest='yes',
    -            action='store_true',
    -            help="Don't ask for confirmation of uninstall deletions.")
    -
    -        self.parser.insert_option_group(0, self.cmd_opts)
    -
    -    def run(self, options, args):
    -        session = self.get_default_session(options)
    -
    -        reqs_to_uninstall = {}
    -        for name in args:
    -            req = install_req_from_line(
    -                name, isolated=options.isolated_mode,
    -            )
    -            if req.name:
    -                reqs_to_uninstall[canonicalize_name(req.name)] = req
    -        for filename in options.requirements:
    -            for req in parse_requirements(
    -                    filename,
    -                    options=options,
    -                    session=session):
    -                if req.name:
    -                    reqs_to_uninstall[canonicalize_name(req.name)] = req
    -        if not reqs_to_uninstall:
    -            raise InstallationError(
    -                'You must give at least one requirement to %(name)s (see '
    -                '"pip help %(name)s")' % dict(name=self.name)
    -            )
    -
    -        protect_pip_from_modification_on_windows(
    -            modifying_pip="pip" in reqs_to_uninstall
    -        )
    -
    -        for req in reqs_to_uninstall.values():
    -            uninstall_pathset = req.uninstall(
    -                auto_confirm=options.yes, verbose=self.verbosity > 0,
    -            )
    -            if uninstall_pathset:
    -                uninstall_pathset.commit()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/wheel.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/wheel.py
    deleted file mode 100644
    index 7230470..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/commands/wheel.py
    +++ /dev/null
    @@ -1,180 +0,0 @@
    -# -*- coding: utf-8 -*-
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import os
    -
    -from pip._internal.cache import WheelCache
    -from pip._internal.cli import cmdoptions
    -from pip._internal.cli.req_command import RequirementCommand
    -from pip._internal.exceptions import CommandError, PreviousBuildDirError
    -from pip._internal.req import RequirementSet
    -from pip._internal.req.req_tracker import RequirementTracker
    -from pip._internal.utils.temp_dir import TempDirectory
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.wheel import WheelBuilder
    -
    -if MYPY_CHECK_RUNNING:
    -    from optparse import Values
    -    from typing import Any, List
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class WheelCommand(RequirementCommand):
    -    """
    -    Build Wheel archives for your requirements and dependencies.
    -
    -    Wheel is a built-package format, and offers the advantage of not
    -    recompiling your software during every install. For more details, see the
    -    wheel docs: https://wheel.readthedocs.io/en/latest/
    -
    -    Requirements: setuptools>=0.8, and wheel.
    -
    -    'pip wheel' uses the bdist_wheel setuptools extension from the wheel
    -    package to build individual wheels.
    -
    -    """
    -
    -    usage = """
    -      %prog [options]  ...
    -      %prog [options] -r  ...
    -      %prog [options] [-e]  ...
    -      %prog [options] [-e]  ...
    -      %prog [options]  ..."""
    -
    -    def __init__(self, *args, **kw):
    -        super(WheelCommand, self).__init__(*args, **kw)
    -
    -        cmd_opts = self.cmd_opts
    -
    -        cmd_opts.add_option(
    -            '-w', '--wheel-dir',
    -            dest='wheel_dir',
    -            metavar='dir',
    -            default=os.curdir,
    -            help=("Build wheels into , where the default is the "
    -                  "current working directory."),
    -        )
    -        cmd_opts.add_option(cmdoptions.no_binary())
    -        cmd_opts.add_option(cmdoptions.only_binary())
    -        cmd_opts.add_option(cmdoptions.prefer_binary())
    -        cmd_opts.add_option(
    -            '--build-option',
    -            dest='build_options',
    -            metavar='options',
    -            action='append',
    -            help="Extra arguments to be supplied to 'setup.py bdist_wheel'.",
    -        )
    -        cmd_opts.add_option(cmdoptions.no_build_isolation())
    -        cmd_opts.add_option(cmdoptions.use_pep517())
    -        cmd_opts.add_option(cmdoptions.no_use_pep517())
    -        cmd_opts.add_option(cmdoptions.constraints())
    -        cmd_opts.add_option(cmdoptions.editable())
    -        cmd_opts.add_option(cmdoptions.requirements())
    -        cmd_opts.add_option(cmdoptions.src())
    -        cmd_opts.add_option(cmdoptions.ignore_requires_python())
    -        cmd_opts.add_option(cmdoptions.no_deps())
    -        cmd_opts.add_option(cmdoptions.build_dir())
    -        cmd_opts.add_option(cmdoptions.progress_bar())
    -
    -        cmd_opts.add_option(
    -            '--global-option',
    -            dest='global_options',
    -            action='append',
    -            metavar='options',
    -            help="Extra global options to be supplied to the setup.py "
    -            "call before the 'bdist_wheel' command.")
    -
    -        cmd_opts.add_option(
    -            '--pre',
    -            action='store_true',
    -            default=False,
    -            help=("Include pre-release and development versions. By default, "
    -                  "pip only finds stable versions."),
    -        )
    -
    -        cmd_opts.add_option(cmdoptions.no_clean())
    -        cmd_opts.add_option(cmdoptions.require_hashes())
    -
    -        index_opts = cmdoptions.make_option_group(
    -            cmdoptions.index_group,
    -            self.parser,
    -        )
    -
    -        self.parser.insert_option_group(0, index_opts)
    -        self.parser.insert_option_group(0, cmd_opts)
    -
    -    def run(self, options, args):
    -        # type: (Values, List[Any]) -> None
    -        cmdoptions.check_install_build_global(options)
    -
    -        if options.build_dir:
    -            options.build_dir = os.path.abspath(options.build_dir)
    -
    -        options.src_dir = os.path.abspath(options.src_dir)
    -
    -        session = self.get_default_session(options)
    -
    -        finder = self._build_package_finder(options, session)
    -        build_delete = (not (options.no_clean or options.build_dir))
    -        wheel_cache = WheelCache(options.cache_dir, options.format_control)
    -
    -        with RequirementTracker() as req_tracker, TempDirectory(
    -            options.build_dir, delete=build_delete, kind="wheel"
    -        ) as directory:
    -
    -            requirement_set = RequirementSet(
    -                require_hashes=options.require_hashes,
    -            )
    -
    -            try:
    -                self.populate_requirement_set(
    -                    requirement_set, args, options, finder, session,
    -                    wheel_cache
    -                )
    -
    -                preparer = self.make_requirement_preparer(
    -                    temp_build_dir=directory,
    -                    options=options,
    -                    req_tracker=req_tracker,
    -                    wheel_download_dir=options.wheel_dir,
    -                )
    -
    -                resolver = self.make_resolver(
    -                    preparer=preparer,
    -                    finder=finder,
    -                    session=session,
    -                    options=options,
    -                    wheel_cache=wheel_cache,
    -                    ignore_requires_python=options.ignore_requires_python,
    -                    use_pep517=options.use_pep517,
    -                )
    -                resolver.resolve(requirement_set)
    -
    -                # build wheels
    -                wb = WheelBuilder(
    -                    preparer, wheel_cache,
    -                    build_options=options.build_options or [],
    -                    global_options=options.global_options or [],
    -                    no_clean=options.no_clean,
    -                )
    -                build_failures = wb.build(
    -                    requirement_set.requirements.values(),
    -                )
    -                if len(build_failures) != 0:
    -                    raise CommandError(
    -                        "Failed to build one or more wheels"
    -                    )
    -            except PreviousBuildDirError:
    -                options.no_clean = True
    -                raise
    -            finally:
    -                if not options.no_clean:
    -                    requirement_set.cleanup_files()
    -                    wheel_cache.cleanup()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/configuration.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/configuration.py
    deleted file mode 100644
    index 858c660..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/configuration.py
    +++ /dev/null
    @@ -1,422 +0,0 @@
    -"""Configuration management setup
    -
    -Some terminology:
    -- name
    -  As written in config files.
    -- value
    -  Value associated with a name
    -- key
    -  Name combined with it's section (section.name)
    -- variant
    -  A single word describing where the configuration key-value pair came from
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -import locale
    -import logging
    -import os
    -import sys
    -
    -from pip._vendor.six.moves import configparser
    -
    -from pip._internal.exceptions import (
    -    ConfigurationError,
    -    ConfigurationFileCouldNotBeLoaded,
    -)
    -from pip._internal.utils import appdirs
    -from pip._internal.utils.compat import WINDOWS, expanduser
    -from pip._internal.utils.misc import ensure_dir, enum
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Any, Dict, Iterable, List, NewType, Optional, Tuple
    -    )
    -
    -    RawConfigParser = configparser.RawConfigParser  # Shorthand
    -    Kind = NewType("Kind", str)
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -# NOTE: Maybe use the optionx attribute to normalize keynames.
    -def _normalize_name(name):
    -    # type: (str) -> str
    -    """Make a name consistent regardless of source (environment or file)
    -    """
    -    name = name.lower().replace('_', '-')
    -    if name.startswith('--'):
    -        name = name[2:]  # only prefer long opts
    -    return name
    -
    -
    -def _disassemble_key(name):
    -    # type: (str) -> List[str]
    -    if "." not in name:
    -        error_message = (
    -            "Key does not contain dot separated section and key. "
    -            "Perhaps you wanted to use 'global.{}' instead?"
    -        ).format(name)
    -        raise ConfigurationError(error_message)
    -    return name.split(".", 1)
    -
    -
    -# The kinds of configurations there are.
    -kinds = enum(
    -    USER="user",        # User Specific
    -    GLOBAL="global",    # System Wide
    -    SITE="site",        # [Virtual] Environment Specific
    -    ENV="env",          # from PIP_CONFIG_FILE
    -    ENV_VAR="env-var",  # from Environment Variables
    -)
    -
    -
    -CONFIG_BASENAME = 'pip.ini' if WINDOWS else 'pip.conf'
    -
    -
    -def get_configuration_files():
    -    global_config_files = [
    -        os.path.join(path, CONFIG_BASENAME)
    -        for path in appdirs.site_config_dirs('pip')
    -    ]
    -
    -    site_config_file = os.path.join(sys.prefix, CONFIG_BASENAME)
    -    legacy_config_file = os.path.join(
    -        expanduser('~'),
    -        'pip' if WINDOWS else '.pip',
    -        CONFIG_BASENAME,
    -    )
    -    new_config_file = os.path.join(
    -        appdirs.user_config_dir("pip"), CONFIG_BASENAME
    -    )
    -    return {
    -        kinds.GLOBAL: global_config_files,
    -        kinds.SITE: [site_config_file],
    -        kinds.USER: [legacy_config_file, new_config_file],
    -    }
    -
    -
    -class Configuration(object):
    -    """Handles management of configuration.
    -
    -    Provides an interface to accessing and managing configuration files.
    -
    -    This class converts provides an API that takes "section.key-name" style
    -    keys and stores the value associated with it as "key-name" under the
    -    section "section".
    -
    -    This allows for a clean interface wherein the both the section and the
    -    key-name are preserved in an easy to manage form in the configuration files
    -    and the data stored is also nice.
    -    """
    -
    -    def __init__(self, isolated, load_only=None):
    -        # type: (bool, Kind) -> None
    -        super(Configuration, self).__init__()
    -
    -        _valid_load_only = [kinds.USER, kinds.GLOBAL, kinds.SITE, None]
    -        if load_only not in _valid_load_only:
    -            raise ConfigurationError(
    -                "Got invalid value for load_only - should be one of {}".format(
    -                    ", ".join(map(repr, _valid_load_only[:-1]))
    -                )
    -            )
    -        self.isolated = isolated  # type: bool
    -        self.load_only = load_only  # type: Optional[Kind]
    -
    -        # The order here determines the override order.
    -        self._override_order = [
    -            kinds.GLOBAL, kinds.USER, kinds.SITE, kinds.ENV, kinds.ENV_VAR
    -        ]
    -
    -        self._ignore_env_names = ["version", "help"]
    -
    -        # Because we keep track of where we got the data from
    -        self._parsers = {
    -            variant: [] for variant in self._override_order
    -        }  # type: Dict[Kind, List[Tuple[str, RawConfigParser]]]
    -        self._config = {
    -            variant: {} for variant in self._override_order
    -        }  # type: Dict[Kind, Dict[str, Any]]
    -        self._modified_parsers = []  # type: List[Tuple[str, RawConfigParser]]
    -
    -    def load(self):
    -        # type: () -> None
    -        """Loads configuration from configuration files and environment
    -        """
    -        self._load_config_files()
    -        if not self.isolated:
    -            self._load_environment_vars()
    -
    -    def get_file_to_edit(self):
    -        # type: () -> Optional[str]
    -        """Returns the file with highest priority in configuration
    -        """
    -        assert self.load_only is not None, \
    -            "Need to be specified a file to be editing"
    -
    -        try:
    -            return self._get_parser_to_modify()[0]
    -        except IndexError:
    -            return None
    -
    -    def items(self):
    -        # type: () -> Iterable[Tuple[str, Any]]
    -        """Returns key-value pairs like dict.items() representing the loaded
    -        configuration
    -        """
    -        return self._dictionary.items()
    -
    -    def get_value(self, key):
    -        # type: (str) -> Any
    -        """Get a value from the configuration.
    -        """
    -        try:
    -            return self._dictionary[key]
    -        except KeyError:
    -            raise ConfigurationError("No such key - {}".format(key))
    -
    -    def set_value(self, key, value):
    -        # type: (str, Any) -> None
    -        """Modify a value in the configuration.
    -        """
    -        self._ensure_have_load_only()
    -
    -        fname, parser = self._get_parser_to_modify()
    -
    -        if parser is not None:
    -            section, name = _disassemble_key(key)
    -
    -            # Modify the parser and the configuration
    -            if not parser.has_section(section):
    -                parser.add_section(section)
    -            parser.set(section, name, value)
    -
    -        self._config[self.load_only][key] = value
    -        self._mark_as_modified(fname, parser)
    -
    -    def unset_value(self, key):
    -        # type: (str) -> None
    -        """Unset a value in the configuration.
    -        """
    -        self._ensure_have_load_only()
    -
    -        if key not in self._config[self.load_only]:
    -            raise ConfigurationError("No such key - {}".format(key))
    -
    -        fname, parser = self._get_parser_to_modify()
    -
    -        if parser is not None:
    -            section, name = _disassemble_key(key)
    -
    -            # Remove the key in the parser
    -            modified_something = False
    -            if parser.has_section(section):
    -                # Returns whether the option was removed or not
    -                modified_something = parser.remove_option(section, name)
    -
    -            if modified_something:
    -                # name removed from parser, section may now be empty
    -                section_iter = iter(parser.items(section))
    -                try:
    -                    val = next(section_iter)
    -                except StopIteration:
    -                    val = None
    -
    -                if val is None:
    -                    parser.remove_section(section)
    -
    -                self._mark_as_modified(fname, parser)
    -            else:
    -                raise ConfigurationError(
    -                    "Fatal Internal error [id=1]. Please report as a bug."
    -                )
    -
    -        del self._config[self.load_only][key]
    -
    -    def save(self):
    -        # type: () -> None
    -        """Save the current in-memory state.
    -        """
    -        self._ensure_have_load_only()
    -
    -        for fname, parser in self._modified_parsers:
    -            logger.info("Writing to %s", fname)
    -
    -            # Ensure directory exists.
    -            ensure_dir(os.path.dirname(fname))
    -
    -            with open(fname, "w") as f:
    -                parser.write(f)
    -
    -    #
    -    # Private routines
    -    #
    -
    -    def _ensure_have_load_only(self):
    -        # type: () -> None
    -        if self.load_only is None:
    -            raise ConfigurationError("Needed a specific file to be modifying.")
    -        logger.debug("Will be working with %s variant only", self.load_only)
    -
    -    @property
    -    def _dictionary(self):
    -        # type: () -> Dict[str, Any]
    -        """A dictionary representing the loaded configuration.
    -        """
    -        # NOTE: Dictionaries are not populated if not loaded. So, conditionals
    -        #       are not needed here.
    -        retval = {}
    -
    -        for variant in self._override_order:
    -            retval.update(self._config[variant])
    -
    -        return retval
    -
    -    def _load_config_files(self):
    -        # type: () -> None
    -        """Loads configuration from configuration files
    -        """
    -        config_files = dict(self._iter_config_files())
    -        if config_files[kinds.ENV][0:1] == [os.devnull]:
    -            logger.debug(
    -                "Skipping loading configuration files due to "
    -                "environment's PIP_CONFIG_FILE being os.devnull"
    -            )
    -            return
    -
    -        for variant, files in config_files.items():
    -            for fname in files:
    -                # If there's specific variant set in `load_only`, load only
    -                # that variant, not the others.
    -                if self.load_only is not None and variant != self.load_only:
    -                    logger.debug(
    -                        "Skipping file '%s' (variant: %s)", fname, variant
    -                    )
    -                    continue
    -
    -                parser = self._load_file(variant, fname)
    -
    -                # Keeping track of the parsers used
    -                self._parsers[variant].append((fname, parser))
    -
    -    def _load_file(self, variant, fname):
    -        # type: (Kind, str) -> RawConfigParser
    -        logger.debug("For variant '%s', will try loading '%s'", variant, fname)
    -        parser = self._construct_parser(fname)
    -
    -        for section in parser.sections():
    -            items = parser.items(section)
    -            self._config[variant].update(self._normalized_keys(section, items))
    -
    -        return parser
    -
    -    def _construct_parser(self, fname):
    -        # type: (str) -> RawConfigParser
    -        parser = configparser.RawConfigParser()
    -        # If there is no such file, don't bother reading it but create the
    -        # parser anyway, to hold the data.
    -        # Doing this is useful when modifying and saving files, where we don't
    -        # need to construct a parser.
    -        if os.path.exists(fname):
    -            try:
    -                parser.read(fname)
    -            except UnicodeDecodeError:
    -                # See https://github.com/pypa/pip/issues/4963
    -                raise ConfigurationFileCouldNotBeLoaded(
    -                    reason="contains invalid {} characters".format(
    -                        locale.getpreferredencoding(False)
    -                    ),
    -                    fname=fname,
    -                )
    -            except configparser.Error as error:
    -                # See https://github.com/pypa/pip/issues/4893
    -                raise ConfigurationFileCouldNotBeLoaded(error=error)
    -        return parser
    -
    -    def _load_environment_vars(self):
    -        # type: () -> None
    -        """Loads configuration from environment variables
    -        """
    -        self._config[kinds.ENV_VAR].update(
    -            self._normalized_keys(":env:", self._get_environ_vars())
    -        )
    -
    -    def _normalized_keys(self, section, items):
    -        # type: (str, Iterable[Tuple[str, Any]]) -> Dict[str, Any]
    -        """Normalizes items to construct a dictionary with normalized keys.
    -
    -        This routine is where the names become keys and are made the same
    -        regardless of source - configuration files or environment.
    -        """
    -        normalized = {}
    -        for name, val in items:
    -            key = section + "." + _normalize_name(name)
    -            normalized[key] = val
    -        return normalized
    -
    -    def _get_environ_vars(self):
    -        # type: () -> Iterable[Tuple[str, str]]
    -        """Returns a generator with all environmental vars with prefix PIP_"""
    -        for key, val in os.environ.items():
    -            should_be_yielded = (
    -                key.startswith("PIP_") and
    -                key[4:].lower() not in self._ignore_env_names
    -            )
    -            if should_be_yielded:
    -                yield key[4:].lower(), val
    -
    -    # XXX: This is patched in the tests.
    -    def _iter_config_files(self):
    -        # type: () -> Iterable[Tuple[Kind, List[str]]]
    -        """Yields variant and configuration files associated with it.
    -
    -        This should be treated like items of a dictionary.
    -        """
    -        # SMELL: Move the conditions out of this function
    -
    -        # environment variables have the lowest priority
    -        config_file = os.environ.get('PIP_CONFIG_FILE', None)
    -        if config_file is not None:
    -            yield kinds.ENV, [config_file]
    -        else:
    -            yield kinds.ENV, []
    -
    -        config_files = get_configuration_files()
    -
    -        # at the base we have any global configuration
    -        yield kinds.GLOBAL, config_files[kinds.GLOBAL]
    -
    -        # per-user configuration next
    -        should_load_user_config = not self.isolated and not (
    -            config_file and os.path.exists(config_file)
    -        )
    -        if should_load_user_config:
    -            # The legacy config file is overridden by the new config file
    -            yield kinds.USER, config_files[kinds.USER]
    -
    -        # finally virtualenv configuration first trumping others
    -        yield kinds.SITE, config_files[kinds.SITE]
    -
    -    def _get_parser_to_modify(self):
    -        # type: () -> Tuple[str, RawConfigParser]
    -        # Determine which parser to modify
    -        parsers = self._parsers[self.load_only]
    -        if not parsers:
    -            # This should not happen if everything works correctly.
    -            raise ConfigurationError(
    -                "Fatal Internal error [id=2]. Please report as a bug."
    -            )
    -
    -        # Use the highest priority parser.
    -        return parsers[-1]
    -
    -    # XXX: This is patched in the tests.
    -    def _mark_as_modified(self, fname, parser):
    -        # type: (str, RawConfigParser) -> None
    -        file_parser_tuple = (fname, parser)
    -        if file_parser_tuple not in self._modified_parsers:
    -            self._modified_parsers.append(file_parser_tuple)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py
    deleted file mode 100644
    index bba02f2..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py
    +++ /dev/null
    @@ -1,24 +0,0 @@
    -from pip._internal.distributions.source.legacy import SourceDistribution
    -from pip._internal.distributions.wheel import WheelDistribution
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from pip._internal.distributions.base import AbstractDistribution
    -    from pip._internal.req.req_install import InstallRequirement
    -
    -
    -def make_distribution_for_install_requirement(install_req):
    -    # type: (InstallRequirement) -> AbstractDistribution
    -    """Returns a Distribution for the given InstallRequirement
    -    """
    -    # Editable requirements will always be source distributions. They use the
    -    # legacy logic until we create a modern standard for them.
    -    if install_req.editable:
    -        return SourceDistribution(install_req)
    -
    -    # If it's a wheel, it's a WheelDistribution
    -    if install_req.is_wheel:
    -        return WheelDistribution(install_req)
    -
    -    # Otherwise, a SourceDistribution
    -    return SourceDistribution(install_req)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/base.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/base.py
    deleted file mode 100644
    index 929bbef..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/base.py
    +++ /dev/null
    @@ -1,36 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import abc
    -
    -from pip._vendor.six import add_metaclass
    -
    -
    -@add_metaclass(abc.ABCMeta)
    -class AbstractDistribution(object):
    -    """A base class for handling installable artifacts.
    -
    -    The requirements for anything installable are as follows:
    -
    -     - we must be able to determine the requirement name
    -       (or we can't correctly handle the non-upgrade case).
    -
    -     - for packages with setup requirements, we must also be able
    -       to determine their requirements without installing additional
    -       packages (for the same reason as run-time dependencies)
    -
    -     - we must be able to create a Distribution object exposing the
    -       above metadata.
    -    """
    -
    -    def __init__(self, req):
    -        super(AbstractDistribution, self).__init__()
    -        self.req = req
    -
    -    @abc.abstractmethod
    -    def get_pkg_resources_distribution(self):
    -        raise NotImplementedError()
    -
    -    @abc.abstractmethod
    -    def prepare_distribution_metadata(self, finder, build_isolation):
    -        raise NotImplementedError()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/installed.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/installed.py
    deleted file mode 100644
    index 454fb48..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/installed.py
    +++ /dev/null
    @@ -1,18 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from pip._internal.distributions.base import AbstractDistribution
    -
    -
    -class InstalledDistribution(AbstractDistribution):
    -    """Represents an installed package.
    -
    -    This does not need any preparation as the required information has already
    -    been computed.
    -    """
    -
    -    def get_pkg_resources_distribution(self):
    -        return self.req.satisfied_by
    -
    -    def prepare_distribution_metadata(self, finder, build_isolation):
    -        pass
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py
    deleted file mode 100644
    index e69de29..0000000
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/source/legacy.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/source/legacy.py
    deleted file mode 100644
    index ab43afb..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/source/legacy.py
    +++ /dev/null
    @@ -1,98 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import logging
    -
    -from pip._internal.build_env import BuildEnvironment
    -from pip._internal.distributions.base import AbstractDistribution
    -from pip._internal.exceptions import InstallationError
    -from pip._internal.utils.subprocess import runner_with_spinner_message
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class SourceDistribution(AbstractDistribution):
    -    """Represents a source distribution.
    -
    -    The preparation step for these needs metadata for the packages to be
    -    generated, either using PEP 517 or using the legacy `setup.py egg_info`.
    -
    -    NOTE from @pradyunsg (14 June 2019)
    -    I expect SourceDistribution class will need to be split into
    -    `legacy_source` (setup.py based) and `source` (PEP 517 based) when we start
    -    bringing logic for preparation out of InstallRequirement into this class.
    -    """
    -
    -    def get_pkg_resources_distribution(self):
    -        return self.req.get_dist()
    -
    -    def prepare_distribution_metadata(self, finder, build_isolation):
    -        # Prepare for building. We need to:
    -        #   1. Load pyproject.toml (if it exists)
    -        #   2. Set up the build environment
    -
    -        self.req.load_pyproject_toml()
    -        should_isolate = self.req.use_pep517 and build_isolation
    -        if should_isolate:
    -            self._setup_isolation(finder)
    -
    -        self.req.prepare_metadata()
    -        self.req.assert_source_matches_version()
    -
    -    def _setup_isolation(self, finder):
    -        def _raise_conflicts(conflicting_with, conflicting_reqs):
    -            format_string = (
    -                "Some build dependencies for {requirement} "
    -                "conflict with {conflicting_with}: {description}."
    -            )
    -            error_message = format_string.format(
    -                requirement=self.req,
    -                conflicting_with=conflicting_with,
    -                description=', '.join(
    -                    '%s is incompatible with %s' % (installed, wanted)
    -                    for installed, wanted in sorted(conflicting)
    -                )
    -            )
    -            raise InstallationError(error_message)
    -
    -        # Isolate in a BuildEnvironment and install the build-time
    -        # requirements.
    -        self.req.build_env = BuildEnvironment()
    -        self.req.build_env.install_requirements(
    -            finder, self.req.pyproject_requires, 'overlay',
    -            "Installing build dependencies"
    -        )
    -        conflicting, missing = self.req.build_env.check_requirements(
    -            self.req.requirements_to_check
    -        )
    -        if conflicting:
    -            _raise_conflicts("PEP 517/518 supported requirements",
    -                             conflicting)
    -        if missing:
    -            logger.warning(
    -                "Missing build requirements in pyproject.toml for %s.",
    -                self.req,
    -            )
    -            logger.warning(
    -                "The project does not specify a build backend, and "
    -                "pip cannot fall back to setuptools without %s.",
    -                " and ".join(map(repr, sorted(missing)))
    -            )
    -        # Install any extra build dependencies that the backend requests.
    -        # This must be done in a second pass, as the pyproject.toml
    -        # dependencies must be installed before we can call the backend.
    -        with self.req.build_env:
    -            runner = runner_with_spinner_message(
    -                "Getting requirements to build wheel"
    -            )
    -            backend = self.req.pep517_backend
    -            with backend.subprocess_runner(runner):
    -                reqs = backend.get_requires_for_build_wheel()
    -
    -        conflicting, missing = self.req.build_env.check_requirements(reqs)
    -        if conflicting:
    -            _raise_conflicts("the backend dependencies", conflicting)
    -        self.req.build_env.install_requirements(
    -            finder, missing, 'normal',
    -            "Installing backend dependencies"
    -        )
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/wheel.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/wheel.py
    deleted file mode 100644
    index 128951f..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/distributions/wheel.py
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from pip._vendor import pkg_resources
    -
    -from pip._internal.distributions.base import AbstractDistribution
    -
    -
    -class WheelDistribution(AbstractDistribution):
    -    """Represents a wheel distribution.
    -
    -    This does not need any preparation as wheels can be directly unpacked.
    -    """
    -
    -    def get_pkg_resources_distribution(self):
    -        return list(pkg_resources.find_distributions(
    -                    self.req.source_dir))[0]
    -
    -    def prepare_distribution_metadata(self, finder, build_isolation):
    -        pass
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/download.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/download.py
    deleted file mode 100644
    index 6567fc3..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/download.py
    +++ /dev/null
    @@ -1,578 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import cgi
    -import logging
    -import mimetypes
    -import os
    -import re
    -import shutil
    -import sys
    -
    -from pip._vendor import requests
    -from pip._vendor.requests.models import CONTENT_CHUNK_SIZE, Response
    -from pip._vendor.six import PY2
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -
    -from pip._internal.exceptions import HashMismatch, InstallationError
    -from pip._internal.models.index import PyPI
    -from pip._internal.network.session import PipSession
    -from pip._internal.utils.encoding import auto_decode
    -from pip._internal.utils.filesystem import copy2_fixed
    -from pip._internal.utils.misc import (
    -    ask_path_exists,
    -    backup_dir,
    -    consume,
    -    display_path,
    -    format_size,
    -    hide_url,
    -    path_to_display,
    -    rmtree,
    -    splitext,
    -)
    -from pip._internal.utils.temp_dir import TempDirectory
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.ui import DownloadProgressProvider
    -from pip._internal.utils.unpacking import unpack_file
    -from pip._internal.utils.urls import get_url_scheme
    -from pip._internal.vcs import vcs
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        IO, Callable, List, Optional, Text, Tuple,
    -    )
    -
    -    from mypy_extensions import TypedDict
    -
    -    from pip._internal.models.link import Link
    -    from pip._internal.utils.hashes import Hashes
    -    from pip._internal.vcs.versioncontrol import VersionControl
    -
    -    if PY2:
    -        CopytreeKwargs = TypedDict(
    -            'CopytreeKwargs',
    -            {
    -                'ignore': Callable[[str, List[str]], List[str]],
    -                'symlinks': bool,
    -            },
    -            total=False,
    -        )
    -    else:
    -        CopytreeKwargs = TypedDict(
    -            'CopytreeKwargs',
    -            {
    -                'copy_function': Callable[[str, str], None],
    -                'ignore': Callable[[str, List[str]], List[str]],
    -                'ignore_dangling_symlinks': bool,
    -                'symlinks': bool,
    -            },
    -            total=False,
    -        )
    -
    -
    -__all__ = ['get_file_content',
    -           'unpack_vcs_link',
    -           'unpack_file_url',
    -           'unpack_http_url', 'unpack_url',
    -           'parse_content_disposition', 'sanitize_content_filename']
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def get_file_content(url, comes_from=None, session=None):
    -    # type: (str, Optional[str], Optional[PipSession]) -> Tuple[str, Text]
    -    """Gets the content of a file; it may be a filename, file: URL, or
    -    http: URL.  Returns (location, content).  Content is unicode.
    -
    -    :param url:         File path or url.
    -    :param comes_from:  Origin description of requirements.
    -    :param session:     Instance of pip.download.PipSession.
    -    """
    -    if session is None:
    -        raise TypeError(
    -            "get_file_content() missing 1 required keyword argument: 'session'"
    -        )
    -
    -    scheme = get_url_scheme(url)
    -
    -    if scheme in ['http', 'https']:
    -        # FIXME: catch some errors
    -        resp = session.get(url)
    -        resp.raise_for_status()
    -        return resp.url, resp.text
    -
    -    elif scheme == 'file':
    -        if comes_from and comes_from.startswith('http'):
    -            raise InstallationError(
    -                'Requirements file %s references URL %s, which is local'
    -                % (comes_from, url))
    -
    -        path = url.split(':', 1)[1]
    -        path = path.replace('\\', '/')
    -        match = _url_slash_drive_re.match(path)
    -        if match:
    -            path = match.group(1) + ':' + path.split('|', 1)[1]
    -        path = urllib_parse.unquote(path)
    -        if path.startswith('/'):
    -            path = '/' + path.lstrip('/')
    -        url = path
    -
    -    try:
    -        with open(url, 'rb') as f:
    -            content = auto_decode(f.read())
    -    except IOError as exc:
    -        raise InstallationError(
    -            'Could not open requirements file: %s' % str(exc)
    -        )
    -    return url, content
    -
    -
    -_url_slash_drive_re = re.compile(r'/*([a-z])\|', re.I)
    -
    -
    -def unpack_vcs_link(link, location):
    -    # type: (Link, str) -> None
    -    vcs_backend = _get_used_vcs_backend(link)
    -    assert vcs_backend is not None
    -    vcs_backend.unpack(location, url=hide_url(link.url))
    -
    -
    -def _get_used_vcs_backend(link):
    -    # type: (Link) -> Optional[VersionControl]
    -    """
    -    Return a VersionControl object or None.
    -    """
    -    for vcs_backend in vcs.backends:
    -        if link.scheme in vcs_backend.schemes:
    -            return vcs_backend
    -    return None
    -
    -
    -def _progress_indicator(iterable, *args, **kwargs):
    -    return iterable
    -
    -
    -def _download_url(
    -    resp,  # type: Response
    -    link,  # type: Link
    -    content_file,  # type: IO
    -    hashes,  # type: Optional[Hashes]
    -    progress_bar  # type: str
    -):
    -    # type: (...) -> None
    -    try:
    -        total_length = int(resp.headers['content-length'])
    -    except (ValueError, KeyError, TypeError):
    -        total_length = 0
    -
    -    cached_resp = getattr(resp, "from_cache", False)
    -    if logger.getEffectiveLevel() > logging.INFO:
    -        show_progress = False
    -    elif cached_resp:
    -        show_progress = False
    -    elif total_length > (40 * 1000):
    -        show_progress = True
    -    elif not total_length:
    -        show_progress = True
    -    else:
    -        show_progress = False
    -
    -    show_url = link.show_url
    -
    -    def resp_read(chunk_size):
    -        try:
    -            # Special case for urllib3.
    -            for chunk in resp.raw.stream(
    -                    chunk_size,
    -                    # We use decode_content=False here because we don't
    -                    # want urllib3 to mess with the raw bytes we get
    -                    # from the server. If we decompress inside of
    -                    # urllib3 then we cannot verify the checksum
    -                    # because the checksum will be of the compressed
    -                    # file. This breakage will only occur if the
    -                    # server adds a Content-Encoding header, which
    -                    # depends on how the server was configured:
    -                    # - Some servers will notice that the file isn't a
    -                    #   compressible file and will leave the file alone
    -                    #   and with an empty Content-Encoding
    -                    # - Some servers will notice that the file is
    -                    #   already compressed and will leave the file
    -                    #   alone and will add a Content-Encoding: gzip
    -                    #   header
    -                    # - Some servers won't notice anything at all and
    -                    #   will take a file that's already been compressed
    -                    #   and compress it again and set the
    -                    #   Content-Encoding: gzip header
    -                    #
    -                    # By setting this not to decode automatically we
    -                    # hope to eliminate problems with the second case.
    -                    decode_content=False):
    -                yield chunk
    -        except AttributeError:
    -            # Standard file-like object.
    -            while True:
    -                chunk = resp.raw.read(chunk_size)
    -                if not chunk:
    -                    break
    -                yield chunk
    -
    -    def written_chunks(chunks):
    -        for chunk in chunks:
    -            content_file.write(chunk)
    -            yield chunk
    -
    -    progress_indicator = _progress_indicator
    -
    -    if link.netloc == PyPI.netloc:
    -        url = show_url
    -    else:
    -        url = link.url_without_fragment
    -
    -    if show_progress:  # We don't show progress on cached responses
    -        progress_indicator = DownloadProgressProvider(progress_bar,
    -                                                      max=total_length)
    -        if total_length:
    -            logger.info("Downloading %s (%s)", url, format_size(total_length))
    -        else:
    -            logger.info("Downloading %s", url)
    -    elif cached_resp:
    -        logger.info("Using cached %s", url)
    -    else:
    -        logger.info("Downloading %s", url)
    -
    -    downloaded_chunks = written_chunks(
    -        progress_indicator(
    -            resp_read(CONTENT_CHUNK_SIZE),
    -            CONTENT_CHUNK_SIZE
    -        )
    -    )
    -    if hashes:
    -        hashes.check_against_chunks(downloaded_chunks)
    -    else:
    -        consume(downloaded_chunks)
    -
    -
    -def _copy_file(filename, location, link):
    -    copy = True
    -    download_location = os.path.join(location, link.filename)
    -    if os.path.exists(download_location):
    -        response = ask_path_exists(
    -            'The file %s exists. (i)gnore, (w)ipe, (b)ackup, (a)abort' %
    -            display_path(download_location), ('i', 'w', 'b', 'a'))
    -        if response == 'i':
    -            copy = False
    -        elif response == 'w':
    -            logger.warning('Deleting %s', display_path(download_location))
    -            os.remove(download_location)
    -        elif response == 'b':
    -            dest_file = backup_dir(download_location)
    -            logger.warning(
    -                'Backing up %s to %s',
    -                display_path(download_location),
    -                display_path(dest_file),
    -            )
    -            shutil.move(download_location, dest_file)
    -        elif response == 'a':
    -            sys.exit(-1)
    -    if copy:
    -        shutil.copy(filename, download_location)
    -        logger.info('Saved %s', display_path(download_location))
    -
    -
    -def unpack_http_url(
    -    link,  # type: Link
    -    location,  # type: str
    -    download_dir=None,  # type: Optional[str]
    -    session=None,  # type: Optional[PipSession]
    -    hashes=None,  # type: Optional[Hashes]
    -    progress_bar="on"  # type: str
    -):
    -    # type: (...) -> None
    -    if session is None:
    -        raise TypeError(
    -            "unpack_http_url() missing 1 required keyword argument: 'session'"
    -        )
    -
    -    with TempDirectory(kind="unpack") as temp_dir:
    -        # If a download dir is specified, is the file already downloaded there?
    -        already_downloaded_path = None
    -        if download_dir:
    -            already_downloaded_path = _check_download_dir(link,
    -                                                          download_dir,
    -                                                          hashes)
    -
    -        if already_downloaded_path:
    -            from_path = already_downloaded_path
    -            content_type = mimetypes.guess_type(from_path)[0]
    -        else:
    -            # let's download to a tmp dir
    -            from_path, content_type = _download_http_url(link,
    -                                                         session,
    -                                                         temp_dir.path,
    -                                                         hashes,
    -                                                         progress_bar)
    -
    -        # unpack the archive to the build dir location. even when only
    -        # downloading archives, they have to be unpacked to parse dependencies
    -        unpack_file(from_path, location, content_type)
    -
    -        # a download dir is specified; let's copy the archive there
    -        if download_dir and not already_downloaded_path:
    -            _copy_file(from_path, download_dir, link)
    -
    -        if not already_downloaded_path:
    -            os.unlink(from_path)
    -
    -
    -def _copy2_ignoring_special_files(src, dest):
    -    # type: (str, str) -> None
    -    """Copying special files is not supported, but as a convenience to users
    -    we skip errors copying them. This supports tools that may create e.g.
    -    socket files in the project source directory.
    -    """
    -    try:
    -        copy2_fixed(src, dest)
    -    except shutil.SpecialFileError as e:
    -        # SpecialFileError may be raised due to either the source or
    -        # destination. If the destination was the cause then we would actually
    -        # care, but since the destination directory is deleted prior to
    -        # copy we ignore all of them assuming it is caused by the source.
    -        logger.warning(
    -            "Ignoring special file error '%s' encountered copying %s to %s.",
    -            str(e),
    -            path_to_display(src),
    -            path_to_display(dest),
    -        )
    -
    -
    -def _copy_source_tree(source, target):
    -    # type: (str, str) -> None
    -    def ignore(d, names):
    -        # Pulling in those directories can potentially be very slow,
    -        # exclude the following directories if they appear in the top
    -        # level dir (and only it).
    -        # See discussion at https://github.com/pypa/pip/pull/6770
    -        return ['.tox', '.nox'] if d == source else []
    -
    -    kwargs = dict(ignore=ignore, symlinks=True)  # type: CopytreeKwargs
    -
    -    if not PY2:
    -        # Python 2 does not support copy_function, so we only ignore
    -        # errors on special file copy in Python 3.
    -        kwargs['copy_function'] = _copy2_ignoring_special_files
    -
    -    shutil.copytree(source, target, **kwargs)
    -
    -
    -def unpack_file_url(
    -    link,  # type: Link
    -    location,  # type: str
    -    download_dir=None,  # type: Optional[str]
    -    hashes=None  # type: Optional[Hashes]
    -):
    -    # type: (...) -> None
    -    """Unpack link into location.
    -
    -    If download_dir is provided and link points to a file, make a copy
    -    of the link file inside download_dir.
    -    """
    -    link_path = link.file_path
    -    # If it's a url to a local directory
    -    if link.is_existing_dir():
    -        if os.path.isdir(location):
    -            rmtree(location)
    -        _copy_source_tree(link_path, location)
    -        if download_dir:
    -            logger.info('Link is a directory, ignoring download_dir')
    -        return
    -
    -    # If --require-hashes is off, `hashes` is either empty, the
    -    # link's embedded hash, or MissingHashes; it is required to
    -    # match. If --require-hashes is on, we are satisfied by any
    -    # hash in `hashes` matching: a URL-based or an option-based
    -    # one; no internet-sourced hash will be in `hashes`.
    -    if hashes:
    -        hashes.check_against_path(link_path)
    -
    -    # If a download dir is specified, is the file already there and valid?
    -    already_downloaded_path = None
    -    if download_dir:
    -        already_downloaded_path = _check_download_dir(link,
    -                                                      download_dir,
    -                                                      hashes)
    -
    -    if already_downloaded_path:
    -        from_path = already_downloaded_path
    -    else:
    -        from_path = link_path
    -
    -    content_type = mimetypes.guess_type(from_path)[0]
    -
    -    # unpack the archive to the build dir location. even when only downloading
    -    # archives, they have to be unpacked to parse dependencies
    -    unpack_file(from_path, location, content_type)
    -
    -    # a download dir is specified and not already downloaded
    -    if download_dir and not already_downloaded_path:
    -        _copy_file(from_path, download_dir, link)
    -
    -
    -def unpack_url(
    -    link,  # type: Link
    -    location,  # type: str
    -    download_dir=None,  # type: Optional[str]
    -    session=None,  # type: Optional[PipSession]
    -    hashes=None,  # type: Optional[Hashes]
    -    progress_bar="on"  # type: str
    -):
    -    # type: (...) -> None
    -    """Unpack link.
    -       If link is a VCS link:
    -         if only_download, export into download_dir and ignore location
    -          else unpack into location
    -       for other types of link:
    -         - unpack into location
    -         - if download_dir, copy the file into download_dir
    -         - if only_download, mark location for deletion
    -
    -    :param hashes: A Hashes object, one of whose embedded hashes must match,
    -        or HashMismatch will be raised. If the Hashes is empty, no matches are
    -        required, and unhashable types of requirements (like VCS ones, which
    -        would ordinarily raise HashUnsupported) are allowed.
    -    """
    -    # non-editable vcs urls
    -    if link.is_vcs:
    -        unpack_vcs_link(link, location)
    -
    -    # file urls
    -    elif link.is_file:
    -        unpack_file_url(link, location, download_dir, hashes=hashes)
    -
    -    # http urls
    -    else:
    -        if session is None:
    -            session = PipSession()
    -
    -        unpack_http_url(
    -            link,
    -            location,
    -            download_dir,
    -            session,
    -            hashes=hashes,
    -            progress_bar=progress_bar
    -        )
    -
    -
    -def sanitize_content_filename(filename):
    -    # type: (str) -> str
    -    """
    -    Sanitize the "filename" value from a Content-Disposition header.
    -    """
    -    return os.path.basename(filename)
    -
    -
    -def parse_content_disposition(content_disposition, default_filename):
    -    # type: (str, str) -> str
    -    """
    -    Parse the "filename" value from a Content-Disposition header, and
    -    return the default filename if the result is empty.
    -    """
    -    _type, params = cgi.parse_header(content_disposition)
    -    filename = params.get('filename')
    -    if filename:
    -        # We need to sanitize the filename to prevent directory traversal
    -        # in case the filename contains ".." path parts.
    -        filename = sanitize_content_filename(filename)
    -    return filename or default_filename
    -
    -
    -def _download_http_url(
    -    link,  # type: Link
    -    session,  # type: PipSession
    -    temp_dir,  # type: str
    -    hashes,  # type: Optional[Hashes]
    -    progress_bar  # type: str
    -):
    -    # type: (...) -> Tuple[str, str]
    -    """Download link url into temp_dir using provided session"""
    -    target_url = link.url.split('#', 1)[0]
    -    try:
    -        resp = session.get(
    -            target_url,
    -            # We use Accept-Encoding: identity here because requests
    -            # defaults to accepting compressed responses. This breaks in
    -            # a variety of ways depending on how the server is configured.
    -            # - Some servers will notice that the file isn't a compressible
    -            #   file and will leave the file alone and with an empty
    -            #   Content-Encoding
    -            # - Some servers will notice that the file is already
    -            #   compressed and will leave the file alone and will add a
    -            #   Content-Encoding: gzip header
    -            # - Some servers won't notice anything at all and will take
    -            #   a file that's already been compressed and compress it again
    -            #   and set the Content-Encoding: gzip header
    -            # By setting this to request only the identity encoding We're
    -            # hoping to eliminate the third case. Hopefully there does not
    -            # exist a server which when given a file will notice it is
    -            # already compressed and that you're not asking for a
    -            # compressed file and will then decompress it before sending
    -            # because if that's the case I don't think it'll ever be
    -            # possible to make this work.
    -            headers={"Accept-Encoding": "identity"},
    -            stream=True,
    -        )
    -        resp.raise_for_status()
    -    except requests.HTTPError as exc:
    -        logger.critical(
    -            "HTTP error %s while getting %s", exc.response.status_code, link,
    -        )
    -        raise
    -
    -    content_type = resp.headers.get('content-type', '')
    -    filename = link.filename  # fallback
    -    # Have a look at the Content-Disposition header for a better guess
    -    content_disposition = resp.headers.get('content-disposition')
    -    if content_disposition:
    -        filename = parse_content_disposition(content_disposition, filename)
    -    ext = splitext(filename)[1]  # type: Optional[str]
    -    if not ext:
    -        ext = mimetypes.guess_extension(content_type)
    -        if ext:
    -            filename += ext
    -    if not ext and link.url != resp.url:
    -        ext = os.path.splitext(resp.url)[1]
    -        if ext:
    -            filename += ext
    -    file_path = os.path.join(temp_dir, filename)
    -    with open(file_path, 'wb') as content_file:
    -        _download_url(resp, link, content_file, hashes, progress_bar)
    -    return file_path, content_type
    -
    -
    -def _check_download_dir(link, download_dir, hashes):
    -    # type: (Link, str, Optional[Hashes]) -> Optional[str]
    -    """ Check download_dir for previously downloaded file with correct hash
    -        If a correct file is found return its path else None
    -    """
    -    download_path = os.path.join(download_dir, link.filename)
    -
    -    if not os.path.exists(download_path):
    -        return None
    -
    -    # If already downloaded, does its hash match?
    -    logger.info('File was already downloaded %s', download_path)
    -    if hashes:
    -        try:
    -            hashes.check_against_path(download_path)
    -        except HashMismatch:
    -            logger.warning(
    -                'Previously-downloaded file %s has bad hash. '
    -                'Re-downloading.',
    -                download_path
    -            )
    -            os.unlink(download_path)
    -            return None
    -    return download_path
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/exceptions.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/exceptions.py
    deleted file mode 100644
    index dddec78..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/exceptions.py
    +++ /dev/null
    @@ -1,308 +0,0 @@
    -"""Exceptions used throughout package"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -from itertools import chain, groupby, repeat
    -
    -from pip._vendor.six import iteritems
    -
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional
    -    from pip._vendor.pkg_resources import Distribution
    -    from pip._internal.req.req_install import InstallRequirement
    -
    -
    -class PipError(Exception):
    -    """Base pip exception"""
    -
    -
    -class ConfigurationError(PipError):
    -    """General exception in configuration"""
    -
    -
    -class InstallationError(PipError):
    -    """General exception during installation"""
    -
    -
    -class UninstallationError(PipError):
    -    """General exception during uninstallation"""
    -
    -
    -class NoneMetadataError(PipError):
    -    """
    -    Raised when accessing "METADATA" or "PKG-INFO" metadata for a
    -    pip._vendor.pkg_resources.Distribution object and
    -    `dist.has_metadata('METADATA')` returns True but
    -    `dist.get_metadata('METADATA')` returns None (and similarly for
    -    "PKG-INFO").
    -    """
    -
    -    def __init__(self, dist, metadata_name):
    -        # type: (Distribution, str) -> None
    -        """
    -        :param dist: A Distribution object.
    -        :param metadata_name: The name of the metadata being accessed
    -            (can be "METADATA" or "PKG-INFO").
    -        """
    -        self.dist = dist
    -        self.metadata_name = metadata_name
    -
    -    def __str__(self):
    -        # type: () -> str
    -        # Use `dist` in the error message because its stringification
    -        # includes more information, like the version and location.
    -        return (
    -            'None {} metadata found for distribution: {}'.format(
    -                self.metadata_name, self.dist,
    -            )
    -        )
    -
    -
    -class DistributionNotFound(InstallationError):
    -    """Raised when a distribution cannot be found to satisfy a requirement"""
    -
    -
    -class RequirementsFileParseError(InstallationError):
    -    """Raised when a general error occurs parsing a requirements file line."""
    -
    -
    -class BestVersionAlreadyInstalled(PipError):
    -    """Raised when the most up-to-date version of a package is already
    -    installed."""
    -
    -
    -class BadCommand(PipError):
    -    """Raised when virtualenv or a command is not found"""
    -
    -
    -class CommandError(PipError):
    -    """Raised when there is an error in command-line arguments"""
    -
    -
    -class PreviousBuildDirError(PipError):
    -    """Raised when there's a previous conflicting build directory"""
    -
    -
    -class InvalidWheelFilename(InstallationError):
    -    """Invalid wheel filename."""
    -
    -
    -class UnsupportedWheel(InstallationError):
    -    """Unsupported wheel."""
    -
    -
    -class HashErrors(InstallationError):
    -    """Multiple HashError instances rolled into one for reporting"""
    -
    -    def __init__(self):
    -        self.errors = []
    -
    -    def append(self, error):
    -        self.errors.append(error)
    -
    -    def __str__(self):
    -        lines = []
    -        self.errors.sort(key=lambda e: e.order)
    -        for cls, errors_of_cls in groupby(self.errors, lambda e: e.__class__):
    -            lines.append(cls.head)
    -            lines.extend(e.body() for e in errors_of_cls)
    -        if lines:
    -            return '\n'.join(lines)
    -
    -    def __nonzero__(self):
    -        return bool(self.errors)
    -
    -    def __bool__(self):
    -        return self.__nonzero__()
    -
    -
    -class HashError(InstallationError):
    -    """
    -    A failure to verify a package against known-good hashes
    -
    -    :cvar order: An int sorting hash exception classes by difficulty of
    -        recovery (lower being harder), so the user doesn't bother fretting
    -        about unpinned packages when he has deeper issues, like VCS
    -        dependencies, to deal with. Also keeps error reports in a
    -        deterministic order.
    -    :cvar head: A section heading for display above potentially many
    -        exceptions of this kind
    -    :ivar req: The InstallRequirement that triggered this error. This is
    -        pasted on after the exception is instantiated, because it's not
    -        typically available earlier.
    -
    -    """
    -    req = None  # type: Optional[InstallRequirement]
    -    head = ''
    -
    -    def body(self):
    -        """Return a summary of me for display under the heading.
    -
    -        This default implementation simply prints a description of the
    -        triggering requirement.
    -
    -        :param req: The InstallRequirement that provoked this error, with
    -            populate_link() having already been called
    -
    -        """
    -        return '    %s' % self._requirement_name()
    -
    -    def __str__(self):
    -        return '%s\n%s' % (self.head, self.body())
    -
    -    def _requirement_name(self):
    -        """Return a description of the requirement that triggered me.
    -
    -        This default implementation returns long description of the req, with
    -        line numbers
    -
    -        """
    -        return str(self.req) if self.req else 'unknown package'
    -
    -
    -class VcsHashUnsupported(HashError):
    -    """A hash was provided for a version-control-system-based requirement, but
    -    we don't have a method for hashing those."""
    -
    -    order = 0
    -    head = ("Can't verify hashes for these requirements because we don't "
    -            "have a way to hash version control repositories:")
    -
    -
    -class DirectoryUrlHashUnsupported(HashError):
    -    """A hash was provided for a version-control-system-based requirement, but
    -    we don't have a method for hashing those."""
    -
    -    order = 1
    -    head = ("Can't verify hashes for these file:// requirements because they "
    -            "point to directories:")
    -
    -
    -class HashMissing(HashError):
    -    """A hash was needed for a requirement but is absent."""
    -
    -    order = 2
    -    head = ('Hashes are required in --require-hashes mode, but they are '
    -            'missing from some requirements. Here is a list of those '
    -            'requirements along with the hashes their downloaded archives '
    -            'actually had. Add lines like these to your requirements files to '
    -            'prevent tampering. (If you did not enable --require-hashes '
    -            'manually, note that it turns on automatically when any package '
    -            'has a hash.)')
    -
    -    def __init__(self, gotten_hash):
    -        """
    -        :param gotten_hash: The hash of the (possibly malicious) archive we
    -            just downloaded
    -        """
    -        self.gotten_hash = gotten_hash
    -
    -    def body(self):
    -        # Dodge circular import.
    -        from pip._internal.utils.hashes import FAVORITE_HASH
    -
    -        package = None
    -        if self.req:
    -            # In the case of URL-based requirements, display the original URL
    -            # seen in the requirements file rather than the package name,
    -            # so the output can be directly copied into the requirements file.
    -            package = (self.req.original_link if self.req.original_link
    -                       # In case someone feeds something downright stupid
    -                       # to InstallRequirement's constructor.
    -                       else getattr(self.req, 'req', None))
    -        return '    %s --hash=%s:%s' % (package or 'unknown package',
    -                                        FAVORITE_HASH,
    -                                        self.gotten_hash)
    -
    -
    -class HashUnpinned(HashError):
    -    """A requirement had a hash specified but was not pinned to a specific
    -    version."""
    -
    -    order = 3
    -    head = ('In --require-hashes mode, all requirements must have their '
    -            'versions pinned with ==. These do not:')
    -
    -
    -class HashMismatch(HashError):
    -    """
    -    Distribution file hash values don't match.
    -
    -    :ivar package_name: The name of the package that triggered the hash
    -        mismatch. Feel free to write to this after the exception is raise to
    -        improve its error message.
    -
    -    """
    -    order = 4
    -    head = ('THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS '
    -            'FILE. If you have updated the package versions, please update '
    -            'the hashes. Otherwise, examine the package contents carefully; '
    -            'someone may have tampered with them.')
    -
    -    def __init__(self, allowed, gots):
    -        """
    -        :param allowed: A dict of algorithm names pointing to lists of allowed
    -            hex digests
    -        :param gots: A dict of algorithm names pointing to hashes we
    -            actually got from the files under suspicion
    -        """
    -        self.allowed = allowed
    -        self.gots = gots
    -
    -    def body(self):
    -        return '    %s:\n%s' % (self._requirement_name(),
    -                                self._hash_comparison())
    -
    -    def _hash_comparison(self):
    -        """
    -        Return a comparison of actual and expected hash values.
    -
    -        Example::
    -
    -               Expected sha256 abcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcde
    -                            or 123451234512345123451234512345123451234512345
    -                    Got        bcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdef
    -
    -        """
    -        def hash_then_or(hash_name):
    -            # For now, all the decent hashes have 6-char names, so we can get
    -            # away with hard-coding space literals.
    -            return chain([hash_name], repeat('    or'))
    -
    -        lines = []
    -        for hash_name, expecteds in iteritems(self.allowed):
    -            prefix = hash_then_or(hash_name)
    -            lines.extend(('        Expected %s %s' % (next(prefix), e))
    -                         for e in expecteds)
    -            lines.append('             Got        %s\n' %
    -                         self.gots[hash_name].hexdigest())
    -        return '\n'.join(lines)
    -
    -
    -class UnsupportedPythonVersion(InstallationError):
    -    """Unsupported python version according to Requires-Python package
    -    metadata."""
    -
    -
    -class ConfigurationFileCouldNotBeLoaded(ConfigurationError):
    -    """When there are errors while loading a configuration file
    -    """
    -
    -    def __init__(self, reason="could not be loaded", fname=None, error=None):
    -        super(ConfigurationFileCouldNotBeLoaded, self).__init__(error)
    -        self.reason = reason
    -        self.fname = fname
    -        self.error = error
    -
    -    def __str__(self):
    -        if self.fname is not None:
    -            message_part = " in {}.".format(self.fname)
    -        else:
    -            assert self.error is not None
    -            message_part = ".\n{}\n".format(self.error.message)
    -        return "Configuration file {}{}".format(self.reason, message_part)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/index.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/index.py
    deleted file mode 100644
    index 897444a..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/index.py
    +++ /dev/null
    @@ -1,992 +0,0 @@
    -"""Routines related to PyPI, indexes"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import re
    -
    -from pip._vendor.packaging import specifiers
    -from pip._vendor.packaging.utils import canonicalize_name
    -from pip._vendor.packaging.version import parse as parse_version
    -
    -from pip._internal.exceptions import (
    -    BestVersionAlreadyInstalled,
    -    DistributionNotFound,
    -    InvalidWheelFilename,
    -    UnsupportedWheel,
    -)
    -from pip._internal.models.candidate import InstallationCandidate
    -from pip._internal.models.format_control import FormatControl
    -from pip._internal.models.link import Link
    -from pip._internal.models.selection_prefs import SelectionPreferences
    -from pip._internal.models.target_python import TargetPython
    -from pip._internal.utils.filetypes import WHEEL_EXTENSION
    -from pip._internal.utils.logging import indent_log
    -from pip._internal.utils.misc import build_netloc
    -from pip._internal.utils.packaging import check_requires_python
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.unpacking import SUPPORTED_EXTENSIONS
    -from pip._internal.utils.urls import url_to_path
    -from pip._internal.wheel import Wheel
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        FrozenSet, Iterable, List, Optional, Set, Text, Tuple, Union,
    -    )
    -    from pip._vendor.packaging.version import _BaseVersion
    -    from pip._internal.collector import LinkCollector
    -    from pip._internal.models.search_scope import SearchScope
    -    from pip._internal.req import InstallRequirement
    -    from pip._internal.pep425tags import Pep425Tag
    -    from pip._internal.utils.hashes import Hashes
    -
    -    BuildTag = Union[Tuple[()], Tuple[int, str]]
    -    CandidateSortingKey = (
    -        Tuple[int, int, int, _BaseVersion, BuildTag, Optional[int]]
    -    )
    -
    -
    -__all__ = ['FormatControl', 'BestCandidateResult', 'PackageFinder']
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def _check_link_requires_python(
    -    link,  # type: Link
    -    version_info,  # type: Tuple[int, int, int]
    -    ignore_requires_python=False,  # type: bool
    -):
    -    # type: (...) -> bool
    -    """
    -    Return whether the given Python version is compatible with a link's
    -    "Requires-Python" value.
    -
    -    :param version_info: A 3-tuple of ints representing the Python
    -        major-minor-micro version to check.
    -    :param ignore_requires_python: Whether to ignore the "Requires-Python"
    -        value if the given Python version isn't compatible.
    -    """
    -    try:
    -        is_compatible = check_requires_python(
    -            link.requires_python, version_info=version_info,
    -        )
    -    except specifiers.InvalidSpecifier:
    -        logger.debug(
    -            "Ignoring invalid Requires-Python (%r) for link: %s",
    -            link.requires_python, link,
    -        )
    -    else:
    -        if not is_compatible:
    -            version = '.'.join(map(str, version_info))
    -            if not ignore_requires_python:
    -                logger.debug(
    -                    'Link requires a different Python (%s not in: %r): %s',
    -                    version, link.requires_python, link,
    -                )
    -                return False
    -
    -            logger.debug(
    -                'Ignoring failed Requires-Python check (%s not in: %r) '
    -                'for link: %s',
    -                version, link.requires_python, link,
    -            )
    -
    -    return True
    -
    -
    -class LinkEvaluator(object):
    -
    -    """
    -    Responsible for evaluating links for a particular project.
    -    """
    -
    -    _py_version_re = re.compile(r'-py([123]\.?[0-9]?)$')
    -
    -    # Don't include an allow_yanked default value to make sure each call
    -    # site considers whether yanked releases are allowed. This also causes
    -    # that decision to be made explicit in the calling code, which helps
    -    # people when reading the code.
    -    def __init__(
    -        self,
    -        project_name,    # type: str
    -        canonical_name,  # type: str
    -        formats,         # type: FrozenSet
    -        target_python,   # type: TargetPython
    -        allow_yanked,    # type: bool
    -        ignore_requires_python=None,  # type: Optional[bool]
    -    ):
    -        # type: (...) -> None
    -        """
    -        :param project_name: The user supplied package name.
    -        :param canonical_name: The canonical package name.
    -        :param formats: The formats allowed for this package. Should be a set
    -            with 'binary' or 'source' or both in it.
    -        :param target_python: The target Python interpreter to use when
    -            evaluating link compatibility. This is used, for example, to
    -            check wheel compatibility, as well as when checking the Python
    -            version, e.g. the Python version embedded in a link filename
    -            (or egg fragment) and against an HTML link's optional PEP 503
    -            "data-requires-python" attribute.
    -        :param allow_yanked: Whether files marked as yanked (in the sense
    -            of PEP 592) are permitted to be candidates for install.
    -        :param ignore_requires_python: Whether to ignore incompatible
    -            PEP 503 "data-requires-python" values in HTML links. Defaults
    -            to False.
    -        """
    -        if ignore_requires_python is None:
    -            ignore_requires_python = False
    -
    -        self._allow_yanked = allow_yanked
    -        self._canonical_name = canonical_name
    -        self._ignore_requires_python = ignore_requires_python
    -        self._formats = formats
    -        self._target_python = target_python
    -
    -        self.project_name = project_name
    -
    -    def evaluate_link(self, link):
    -        # type: (Link) -> Tuple[bool, Optional[Text]]
    -        """
    -        Determine whether a link is a candidate for installation.
    -
    -        :return: A tuple (is_candidate, result), where `result` is (1) a
    -            version string if `is_candidate` is True, and (2) if
    -            `is_candidate` is False, an optional string to log the reason
    -            the link fails to qualify.
    -        """
    -        version = None
    -        if link.is_yanked and not self._allow_yanked:
    -            reason = link.yanked_reason or ''
    -            # Mark this as a unicode string to prevent "UnicodeEncodeError:
    -            # 'ascii' codec can't encode character" in Python 2 when
    -            # the reason contains non-ascii characters.
    -            return (False, u'yanked for reason: {}'.format(reason))
    -
    -        if link.egg_fragment:
    -            egg_info = link.egg_fragment
    -            ext = link.ext
    -        else:
    -            egg_info, ext = link.splitext()
    -            if not ext:
    -                return (False, 'not a file')
    -            if ext not in SUPPORTED_EXTENSIONS:
    -                return (False, 'unsupported archive format: %s' % ext)
    -            if "binary" not in self._formats and ext == WHEEL_EXTENSION:
    -                reason = 'No binaries permitted for %s' % self.project_name
    -                return (False, reason)
    -            if "macosx10" in link.path and ext == '.zip':
    -                return (False, 'macosx10 one')
    -            if ext == WHEEL_EXTENSION:
    -                try:
    -                    wheel = Wheel(link.filename)
    -                except InvalidWheelFilename:
    -                    return (False, 'invalid wheel filename')
    -                if canonicalize_name(wheel.name) != self._canonical_name:
    -                    reason = 'wrong project name (not %s)' % self.project_name
    -                    return (False, reason)
    -
    -                supported_tags = self._target_python.get_tags()
    -                if not wheel.supported(supported_tags):
    -                    # Include the wheel's tags in the reason string to
    -                    # simplify troubleshooting compatibility issues.
    -                    file_tags = wheel.get_formatted_file_tags()
    -                    reason = (
    -                        "none of the wheel's tags match: {}".format(
    -                            ', '.join(file_tags)
    -                        )
    -                    )
    -                    return (False, reason)
    -
    -                version = wheel.version
    -
    -        # This should be up by the self.ok_binary check, but see issue 2700.
    -        if "source" not in self._formats and ext != WHEEL_EXTENSION:
    -            return (False, 'No sources permitted for %s' % self.project_name)
    -
    -        if not version:
    -            version = _extract_version_from_fragment(
    -                egg_info, self._canonical_name,
    -            )
    -        if not version:
    -            return (
    -                False, 'Missing project version for %s' % self.project_name,
    -            )
    -
    -        match = self._py_version_re.search(version)
    -        if match:
    -            version = version[:match.start()]
    -            py_version = match.group(1)
    -            if py_version != self._target_python.py_version:
    -                return (False, 'Python version is incorrect')
    -
    -        supports_python = _check_link_requires_python(
    -            link, version_info=self._target_python.py_version_info,
    -            ignore_requires_python=self._ignore_requires_python,
    -        )
    -        if not supports_python:
    -            # Return None for the reason text to suppress calling
    -            # _log_skipped_link().
    -            return (False, None)
    -
    -        logger.debug('Found link %s, version: %s', link, version)
    -
    -        return (True, version)
    -
    -
    -def filter_unallowed_hashes(
    -    candidates,    # type: List[InstallationCandidate]
    -    hashes,        # type: Hashes
    -    project_name,  # type: str
    -):
    -    # type: (...) -> List[InstallationCandidate]
    -    """
    -    Filter out candidates whose hashes aren't allowed, and return a new
    -    list of candidates.
    -
    -    If at least one candidate has an allowed hash, then all candidates with
    -    either an allowed hash or no hash specified are returned.  Otherwise,
    -    the given candidates are returned.
    -
    -    Including the candidates with no hash specified when there is a match
    -    allows a warning to be logged if there is a more preferred candidate
    -    with no hash specified.  Returning all candidates in the case of no
    -    matches lets pip report the hash of the candidate that would otherwise
    -    have been installed (e.g. permitting the user to more easily update
    -    their requirements file with the desired hash).
    -    """
    -    if not hashes:
    -        logger.debug(
    -            'Given no hashes to check %s links for project %r: '
    -            'discarding no candidates',
    -            len(candidates),
    -            project_name,
    -        )
    -        # Make sure we're not returning back the given value.
    -        return list(candidates)
    -
    -    matches_or_no_digest = []
    -    # Collect the non-matches for logging purposes.
    -    non_matches = []
    -    match_count = 0
    -    for candidate in candidates:
    -        link = candidate.link
    -        if not link.has_hash:
    -            pass
    -        elif link.is_hash_allowed(hashes=hashes):
    -            match_count += 1
    -        else:
    -            non_matches.append(candidate)
    -            continue
    -
    -        matches_or_no_digest.append(candidate)
    -
    -    if match_count:
    -        filtered = matches_or_no_digest
    -    else:
    -        # Make sure we're not returning back the given value.
    -        filtered = list(candidates)
    -
    -    if len(filtered) == len(candidates):
    -        discard_message = 'discarding no candidates'
    -    else:
    -        discard_message = 'discarding {} non-matches:\n  {}'.format(
    -            len(non_matches),
    -            '\n  '.join(str(candidate.link) for candidate in non_matches)
    -        )
    -
    -    logger.debug(
    -        'Checked %s links for project %r against %s hashes '
    -        '(%s matches, %s no digest): %s',
    -        len(candidates),
    -        project_name,
    -        hashes.digest_count,
    -        match_count,
    -        len(matches_or_no_digest) - match_count,
    -        discard_message
    -    )
    -
    -    return filtered
    -
    -
    -class CandidatePreferences(object):
    -
    -    """
    -    Encapsulates some of the preferences for filtering and sorting
    -    InstallationCandidate objects.
    -    """
    -
    -    def __init__(
    -        self,
    -        prefer_binary=False,  # type: bool
    -        allow_all_prereleases=False,  # type: bool
    -    ):
    -        # type: (...) -> None
    -        """
    -        :param allow_all_prereleases: Whether to allow all pre-releases.
    -        """
    -        self.allow_all_prereleases = allow_all_prereleases
    -        self.prefer_binary = prefer_binary
    -
    -
    -class BestCandidateResult(object):
    -    """A collection of candidates, returned by `PackageFinder.find_best_candidate`.
    -
    -    This class is only intended to be instantiated by CandidateEvaluator's
    -    `compute_best_candidate()` method.
    -    """
    -
    -    def __init__(
    -        self,
    -        candidates,             # type: List[InstallationCandidate]
    -        applicable_candidates,  # type: List[InstallationCandidate]
    -        best_candidate,         # type: Optional[InstallationCandidate]
    -    ):
    -        # type: (...) -> None
    -        """
    -        :param candidates: A sequence of all available candidates found.
    -        :param applicable_candidates: The applicable candidates.
    -        :param best_candidate: The most preferred candidate found, or None
    -            if no applicable candidates were found.
    -        """
    -        assert set(applicable_candidates) <= set(candidates)
    -
    -        if best_candidate is None:
    -            assert not applicable_candidates
    -        else:
    -            assert best_candidate in applicable_candidates
    -
    -        self._applicable_candidates = applicable_candidates
    -        self._candidates = candidates
    -
    -        self.best_candidate = best_candidate
    -
    -    def iter_all(self):
    -        # type: () -> Iterable[InstallationCandidate]
    -        """Iterate through all candidates.
    -        """
    -        return iter(self._candidates)
    -
    -    def iter_applicable(self):
    -        # type: () -> Iterable[InstallationCandidate]
    -        """Iterate through the applicable candidates.
    -        """
    -        return iter(self._applicable_candidates)
    -
    -
    -class CandidateEvaluator(object):
    -
    -    """
    -    Responsible for filtering and sorting candidates for installation based
    -    on what tags are valid.
    -    """
    -
    -    @classmethod
    -    def create(
    -        cls,
    -        project_name,         # type: str
    -        target_python=None,   # type: Optional[TargetPython]
    -        prefer_binary=False,  # type: bool
    -        allow_all_prereleases=False,  # type: bool
    -        specifier=None,       # type: Optional[specifiers.BaseSpecifier]
    -        hashes=None,          # type: Optional[Hashes]
    -    ):
    -        # type: (...) -> CandidateEvaluator
    -        """Create a CandidateEvaluator object.
    -
    -        :param target_python: The target Python interpreter to use when
    -            checking compatibility. If None (the default), a TargetPython
    -            object will be constructed from the running Python.
    -        :param specifier: An optional object implementing `filter`
    -            (e.g. `packaging.specifiers.SpecifierSet`) to filter applicable
    -            versions.
    -        :param hashes: An optional collection of allowed hashes.
    -        """
    -        if target_python is None:
    -            target_python = TargetPython()
    -        if specifier is None:
    -            specifier = specifiers.SpecifierSet()
    -
    -        supported_tags = target_python.get_tags()
    -
    -        return cls(
    -            project_name=project_name,
    -            supported_tags=supported_tags,
    -            specifier=specifier,
    -            prefer_binary=prefer_binary,
    -            allow_all_prereleases=allow_all_prereleases,
    -            hashes=hashes,
    -        )
    -
    -    def __init__(
    -        self,
    -        project_name,         # type: str
    -        supported_tags,       # type: List[Pep425Tag]
    -        specifier,            # type: specifiers.BaseSpecifier
    -        prefer_binary=False,  # type: bool
    -        allow_all_prereleases=False,  # type: bool
    -        hashes=None,                  # type: Optional[Hashes]
    -    ):
    -        # type: (...) -> None
    -        """
    -        :param supported_tags: The PEP 425 tags supported by the target
    -            Python in order of preference (most preferred first).
    -        """
    -        self._allow_all_prereleases = allow_all_prereleases
    -        self._hashes = hashes
    -        self._prefer_binary = prefer_binary
    -        self._project_name = project_name
    -        self._specifier = specifier
    -        self._supported_tags = supported_tags
    -
    -    def get_applicable_candidates(
    -        self,
    -        candidates,  # type: List[InstallationCandidate]
    -    ):
    -        # type: (...) -> List[InstallationCandidate]
    -        """
    -        Return the applicable candidates from a list of candidates.
    -        """
    -        # Using None infers from the specifier instead.
    -        allow_prereleases = self._allow_all_prereleases or None
    -        specifier = self._specifier
    -        versions = {
    -            str(v) for v in specifier.filter(
    -                # We turn the version object into a str here because otherwise
    -                # when we're debundled but setuptools isn't, Python will see
    -                # packaging.version.Version and
    -                # pkg_resources._vendor.packaging.version.Version as different
    -                # types. This way we'll use a str as a common data interchange
    -                # format. If we stop using the pkg_resources provided specifier
    -                # and start using our own, we can drop the cast to str().
    -                (str(c.version) for c in candidates),
    -                prereleases=allow_prereleases,
    -            )
    -        }
    -
    -        # Again, converting version to str to deal with debundling.
    -        applicable_candidates = [
    -            c for c in candidates if str(c.version) in versions
    -        ]
    -
    -        return filter_unallowed_hashes(
    -            candidates=applicable_candidates,
    -            hashes=self._hashes,
    -            project_name=self._project_name,
    -        )
    -
    -    def _sort_key(self, candidate):
    -        # type: (InstallationCandidate) -> CandidateSortingKey
    -        """
    -        Function to pass as the `key` argument to a call to sorted() to sort
    -        InstallationCandidates by preference.
    -
    -        Returns a tuple such that tuples sorting as greater using Python's
    -        default comparison operator are more preferred.
    -
    -        The preference is as follows:
    -
    -        First and foremost, candidates with allowed (matching) hashes are
    -        always preferred over candidates without matching hashes. This is
    -        because e.g. if the only candidate with an allowed hash is yanked,
    -        we still want to use that candidate.
    -
    -        Second, excepting hash considerations, candidates that have been
    -        yanked (in the sense of PEP 592) are always less preferred than
    -        candidates that haven't been yanked. Then:
    -
    -        If not finding wheels, they are sorted by version only.
    -        If finding wheels, then the sort order is by version, then:
    -          1. existing installs
    -          2. wheels ordered via Wheel.support_index_min(self._supported_tags)
    -          3. source archives
    -        If prefer_binary was set, then all wheels are sorted above sources.
    -
    -        Note: it was considered to embed this logic into the Link
    -              comparison operators, but then different sdist links
    -              with the same version, would have to be considered equal
    -        """
    -        valid_tags = self._supported_tags
    -        support_num = len(valid_tags)
    -        build_tag = ()  # type: BuildTag
    -        binary_preference = 0
    -        link = candidate.link
    -        if link.is_wheel:
    -            # can raise InvalidWheelFilename
    -            wheel = Wheel(link.filename)
    -            if not wheel.supported(valid_tags):
    -                raise UnsupportedWheel(
    -                    "%s is not a supported wheel for this platform. It "
    -                    "can't be sorted." % wheel.filename
    -                )
    -            if self._prefer_binary:
    -                binary_preference = 1
    -            pri = -(wheel.support_index_min(valid_tags))
    -            if wheel.build_tag is not None:
    -                match = re.match(r'^(\d+)(.*)$', wheel.build_tag)
    -                build_tag_groups = match.groups()
    -                build_tag = (int(build_tag_groups[0]), build_tag_groups[1])
    -        else:  # sdist
    -            pri = -(support_num)
    -        has_allowed_hash = int(link.is_hash_allowed(self._hashes))
    -        yank_value = -1 * int(link.is_yanked)  # -1 for yanked.
    -        return (
    -            has_allowed_hash, yank_value, binary_preference, candidate.version,
    -            build_tag, pri,
    -        )
    -
    -    def sort_best_candidate(
    -        self,
    -        candidates,    # type: List[InstallationCandidate]
    -    ):
    -        # type: (...) -> Optional[InstallationCandidate]
    -        """
    -        Return the best candidate per the instance's sort order, or None if
    -        no candidate is acceptable.
    -        """
    -        if not candidates:
    -            return None
    -
    -        best_candidate = max(candidates, key=self._sort_key)
    -
    -        # Log a warning per PEP 592 if necessary before returning.
    -        link = best_candidate.link
    -        if link.is_yanked:
    -            reason = link.yanked_reason or ''
    -            msg = (
    -                # Mark this as a unicode string to prevent
    -                # "UnicodeEncodeError: 'ascii' codec can't encode character"
    -                # in Python 2 when the reason contains non-ascii characters.
    -                u'The candidate selected for download or install is a '
    -                'yanked version: {candidate}\n'
    -                'Reason for being yanked: {reason}'
    -            ).format(candidate=best_candidate, reason=reason)
    -            logger.warning(msg)
    -
    -        return best_candidate
    -
    -    def compute_best_candidate(
    -        self,
    -        candidates,      # type: List[InstallationCandidate]
    -    ):
    -        # type: (...) -> BestCandidateResult
    -        """
    -        Compute and return a `BestCandidateResult` instance.
    -        """
    -        applicable_candidates = self.get_applicable_candidates(candidates)
    -
    -        best_candidate = self.sort_best_candidate(applicable_candidates)
    -
    -        return BestCandidateResult(
    -            candidates,
    -            applicable_candidates=applicable_candidates,
    -            best_candidate=best_candidate,
    -        )
    -
    -
    -class PackageFinder(object):
    -    """This finds packages.
    -
    -    This is meant to match easy_install's technique for looking for
    -    packages, by reading pages and looking for appropriate links.
    -    """
    -
    -    def __init__(
    -        self,
    -        link_collector,       # type: LinkCollector
    -        target_python,        # type: TargetPython
    -        allow_yanked,         # type: bool
    -        format_control=None,  # type: Optional[FormatControl]
    -        candidate_prefs=None,         # type: CandidatePreferences
    -        ignore_requires_python=None,  # type: Optional[bool]
    -    ):
    -        # type: (...) -> None
    -        """
    -        This constructor is primarily meant to be used by the create() class
    -        method and from tests.
    -
    -        :param format_control: A FormatControl object, used to control
    -            the selection of source packages / binary packages when consulting
    -            the index and links.
    -        :param candidate_prefs: Options to use when creating a
    -            CandidateEvaluator object.
    -        """
    -        if candidate_prefs is None:
    -            candidate_prefs = CandidatePreferences()
    -
    -        format_control = format_control or FormatControl(set(), set())
    -
    -        self._allow_yanked = allow_yanked
    -        self._candidate_prefs = candidate_prefs
    -        self._ignore_requires_python = ignore_requires_python
    -        self._link_collector = link_collector
    -        self._target_python = target_python
    -
    -        self.format_control = format_control
    -
    -        # These are boring links that have already been logged somehow.
    -        self._logged_links = set()  # type: Set[Link]
    -
    -    # Don't include an allow_yanked default value to make sure each call
    -    # site considers whether yanked releases are allowed. This also causes
    -    # that decision to be made explicit in the calling code, which helps
    -    # people when reading the code.
    -    @classmethod
    -    def create(
    -        cls,
    -        link_collector,      # type: LinkCollector
    -        selection_prefs,     # type: SelectionPreferences
    -        target_python=None,  # type: Optional[TargetPython]
    -    ):
    -        # type: (...) -> PackageFinder
    -        """Create a PackageFinder.
    -
    -        :param selection_prefs: The candidate selection preferences, as a
    -            SelectionPreferences object.
    -        :param target_python: The target Python interpreter to use when
    -            checking compatibility. If None (the default), a TargetPython
    -            object will be constructed from the running Python.
    -        """
    -        if target_python is None:
    -            target_python = TargetPython()
    -
    -        candidate_prefs = CandidatePreferences(
    -            prefer_binary=selection_prefs.prefer_binary,
    -            allow_all_prereleases=selection_prefs.allow_all_prereleases,
    -        )
    -
    -        return cls(
    -            candidate_prefs=candidate_prefs,
    -            link_collector=link_collector,
    -            target_python=target_python,
    -            allow_yanked=selection_prefs.allow_yanked,
    -            format_control=selection_prefs.format_control,
    -            ignore_requires_python=selection_prefs.ignore_requires_python,
    -        )
    -
    -    @property
    -    def search_scope(self):
    -        # type: () -> SearchScope
    -        return self._link_collector.search_scope
    -
    -    @search_scope.setter
    -    def search_scope(self, search_scope):
    -        # type: (SearchScope) -> None
    -        self._link_collector.search_scope = search_scope
    -
    -    @property
    -    def find_links(self):
    -        # type: () -> List[str]
    -        return self._link_collector.find_links
    -
    -    @property
    -    def index_urls(self):
    -        # type: () -> List[str]
    -        return self.search_scope.index_urls
    -
    -    @property
    -    def trusted_hosts(self):
    -        # type: () -> Iterable[str]
    -        for host_port in self._link_collector.session.pip_trusted_origins:
    -            yield build_netloc(*host_port)
    -
    -    @property
    -    def allow_all_prereleases(self):
    -        # type: () -> bool
    -        return self._candidate_prefs.allow_all_prereleases
    -
    -    def set_allow_all_prereleases(self):
    -        # type: () -> None
    -        self._candidate_prefs.allow_all_prereleases = True
    -
    -    def make_link_evaluator(self, project_name):
    -        # type: (str) -> LinkEvaluator
    -        canonical_name = canonicalize_name(project_name)
    -        formats = self.format_control.get_allowed_formats(canonical_name)
    -
    -        return LinkEvaluator(
    -            project_name=project_name,
    -            canonical_name=canonical_name,
    -            formats=formats,
    -            target_python=self._target_python,
    -            allow_yanked=self._allow_yanked,
    -            ignore_requires_python=self._ignore_requires_python,
    -        )
    -
    -    def _sort_links(self, links):
    -        # type: (Iterable[Link]) -> List[Link]
    -        """
    -        Returns elements of links in order, non-egg links first, egg links
    -        second, while eliminating duplicates
    -        """
    -        eggs, no_eggs = [], []
    -        seen = set()  # type: Set[Link]
    -        for link in links:
    -            if link not in seen:
    -                seen.add(link)
    -                if link.egg_fragment:
    -                    eggs.append(link)
    -                else:
    -                    no_eggs.append(link)
    -        return no_eggs + eggs
    -
    -    def _log_skipped_link(self, link, reason):
    -        # type: (Link, Text) -> None
    -        if link not in self._logged_links:
    -            # Mark this as a unicode string to prevent "UnicodeEncodeError:
    -            # 'ascii' codec can't encode character" in Python 2 when
    -            # the reason contains non-ascii characters.
    -            #   Also, put the link at the end so the reason is more visible
    -            # and because the link string is usually very long.
    -            logger.debug(u'Skipping link: %s: %s', reason, link)
    -            self._logged_links.add(link)
    -
    -    def get_install_candidate(self, link_evaluator, link):
    -        # type: (LinkEvaluator, Link) -> Optional[InstallationCandidate]
    -        """
    -        If the link is a candidate for install, convert it to an
    -        InstallationCandidate and return it. Otherwise, return None.
    -        """
    -        is_candidate, result = link_evaluator.evaluate_link(link)
    -        if not is_candidate:
    -            if result:
    -                self._log_skipped_link(link, reason=result)
    -            return None
    -
    -        return InstallationCandidate(
    -            project=link_evaluator.project_name,
    -            link=link,
    -            # Convert the Text result to str since InstallationCandidate
    -            # accepts str.
    -            version=str(result),
    -        )
    -
    -    def evaluate_links(self, link_evaluator, links):
    -        # type: (LinkEvaluator, Iterable[Link]) -> List[InstallationCandidate]
    -        """
    -        Convert links that are candidates to InstallationCandidate objects.
    -        """
    -        candidates = []
    -        for link in self._sort_links(links):
    -            candidate = self.get_install_candidate(link_evaluator, link)
    -            if candidate is not None:
    -                candidates.append(candidate)
    -
    -        return candidates
    -
    -    def find_all_candidates(self, project_name):
    -        # type: (str) -> List[InstallationCandidate]
    -        """Find all available InstallationCandidate for project_name
    -
    -        This checks index_urls and find_links.
    -        All versions found are returned as an InstallationCandidate list.
    -
    -        See LinkEvaluator.evaluate_link() for details on which files
    -        are accepted.
    -        """
    -        collected_links = self._link_collector.collect_links(project_name)
    -
    -        link_evaluator = self.make_link_evaluator(project_name)
    -
    -        find_links_versions = self.evaluate_links(
    -            link_evaluator,
    -            links=collected_links.find_links,
    -        )
    -
    -        page_versions = []
    -        for page_url, page_links in collected_links.pages.items():
    -            logger.debug('Analyzing links from page %s', page_url)
    -            with indent_log():
    -                new_versions = self.evaluate_links(
    -                    link_evaluator,
    -                    links=page_links,
    -                )
    -                page_versions.extend(new_versions)
    -
    -        file_versions = self.evaluate_links(
    -            link_evaluator,
    -            links=collected_links.files,
    -        )
    -        if file_versions:
    -            file_versions.sort(reverse=True)
    -            logger.debug(
    -                'Local files found: %s',
    -                ', '.join([
    -                    url_to_path(candidate.link.url)
    -                    for candidate in file_versions
    -                ])
    -            )
    -
    -        # This is an intentional priority ordering
    -        return file_versions + find_links_versions + page_versions
    -
    -    def make_candidate_evaluator(
    -        self,
    -        project_name,    # type: str
    -        specifier=None,  # type: Optional[specifiers.BaseSpecifier]
    -        hashes=None,     # type: Optional[Hashes]
    -    ):
    -        # type: (...) -> CandidateEvaluator
    -        """Create a CandidateEvaluator object to use.
    -        """
    -        candidate_prefs = self._candidate_prefs
    -        return CandidateEvaluator.create(
    -            project_name=project_name,
    -            target_python=self._target_python,
    -            prefer_binary=candidate_prefs.prefer_binary,
    -            allow_all_prereleases=candidate_prefs.allow_all_prereleases,
    -            specifier=specifier,
    -            hashes=hashes,
    -        )
    -
    -    def find_best_candidate(
    -        self,
    -        project_name,       # type: str
    -        specifier=None,     # type: Optional[specifiers.BaseSpecifier]
    -        hashes=None,        # type: Optional[Hashes]
    -    ):
    -        # type: (...) -> BestCandidateResult
    -        """Find matches for the given project and specifier.
    -
    -        :param specifier: An optional object implementing `filter`
    -            (e.g. `packaging.specifiers.SpecifierSet`) to filter applicable
    -            versions.
    -
    -        :return: A `BestCandidateResult` instance.
    -        """
    -        candidates = self.find_all_candidates(project_name)
    -        candidate_evaluator = self.make_candidate_evaluator(
    -            project_name=project_name,
    -            specifier=specifier,
    -            hashes=hashes,
    -        )
    -        return candidate_evaluator.compute_best_candidate(candidates)
    -
    -    def find_requirement(self, req, upgrade):
    -        # type: (InstallRequirement, bool) -> Optional[Link]
    -        """Try to find a Link matching req
    -
    -        Expects req, an InstallRequirement and upgrade, a boolean
    -        Returns a Link if found,
    -        Raises DistributionNotFound or BestVersionAlreadyInstalled otherwise
    -        """
    -        hashes = req.hashes(trust_internet=False)
    -        best_candidate_result = self.find_best_candidate(
    -            req.name, specifier=req.specifier, hashes=hashes,
    -        )
    -        best_candidate = best_candidate_result.best_candidate
    -
    -        installed_version = None    # type: Optional[_BaseVersion]
    -        if req.satisfied_by is not None:
    -            installed_version = parse_version(req.satisfied_by.version)
    -
    -        def _format_versions(cand_iter):
    -            # This repeated parse_version and str() conversion is needed to
    -            # handle different vendoring sources from pip and pkg_resources.
    -            # If we stop using the pkg_resources provided specifier and start
    -            # using our own, we can drop the cast to str().
    -            return ", ".join(sorted(
    -                {str(c.version) for c in cand_iter},
    -                key=parse_version,
    -            )) or "none"
    -
    -        if installed_version is None and best_candidate is None:
    -            logger.critical(
    -                'Could not find a version that satisfies the requirement %s '
    -                '(from versions: %s)',
    -                req,
    -                _format_versions(best_candidate_result.iter_all()),
    -            )
    -
    -            raise DistributionNotFound(
    -                'No matching distribution found for %s' % req
    -            )
    -
    -        best_installed = False
    -        if installed_version and (
    -                best_candidate is None or
    -                best_candidate.version <= installed_version):
    -            best_installed = True
    -
    -        if not upgrade and installed_version is not None:
    -            if best_installed:
    -                logger.debug(
    -                    'Existing installed version (%s) is most up-to-date and '
    -                    'satisfies requirement',
    -                    installed_version,
    -                )
    -            else:
    -                logger.debug(
    -                    'Existing installed version (%s) satisfies requirement '
    -                    '(most up-to-date version is %s)',
    -                    installed_version,
    -                    best_candidate.version,
    -                )
    -            return None
    -
    -        if best_installed:
    -            # We have an existing version, and its the best version
    -            logger.debug(
    -                'Installed version (%s) is most up-to-date (past versions: '
    -                '%s)',
    -                installed_version,
    -                _format_versions(best_candidate_result.iter_applicable()),
    -            )
    -            raise BestVersionAlreadyInstalled
    -
    -        logger.debug(
    -            'Using version %s (newest of versions: %s)',
    -            best_candidate.version,
    -            _format_versions(best_candidate_result.iter_applicable()),
    -        )
    -        return best_candidate.link
    -
    -
    -def _find_name_version_sep(fragment, canonical_name):
    -    # type: (str, str) -> int
    -    """Find the separator's index based on the package's canonical name.
    -
    -    :param fragment: A + filename "fragment" (stem) or
    -        egg fragment.
    -    :param canonical_name: The package's canonical name.
    -
    -    This function is needed since the canonicalized name does not necessarily
    -    have the same length as the egg info's name part. An example::
    -
    -    >>> fragment = 'foo__bar-1.0'
    -    >>> canonical_name = 'foo-bar'
    -    >>> _find_name_version_sep(fragment, canonical_name)
    -    8
    -    """
    -    # Project name and version must be separated by one single dash. Find all
    -    # occurrences of dashes; if the string in front of it matches the canonical
    -    # name, this is the one separating the name and version parts.
    -    for i, c in enumerate(fragment):
    -        if c != "-":
    -            continue
    -        if canonicalize_name(fragment[:i]) == canonical_name:
    -            return i
    -    raise ValueError("{} does not match {}".format(fragment, canonical_name))
    -
    -
    -def _extract_version_from_fragment(fragment, canonical_name):
    -    # type: (str, str) -> Optional[str]
    -    """Parse the version string from a + filename
    -    "fragment" (stem) or egg fragment.
    -
    -    :param fragment: The string to parse. E.g. foo-2.1
    -    :param canonical_name: The canonicalized name of the package this
    -        belongs to.
    -    """
    -    try:
    -        version_start = _find_name_version_sep(fragment, canonical_name) + 1
    -    except ValueError:
    -        return None
    -    version = fragment[version_start:]
    -    if not version:
    -        return None
    -    return version
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/legacy_resolve.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/legacy_resolve.py
    deleted file mode 100644
    index c24158f..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/legacy_resolve.py
    +++ /dev/null
    @@ -1,460 +0,0 @@
    -"""Dependency Resolution
    -
    -The dependency resolution in pip is performed as follows:
    -
    -for top-level requirements:
    -    a. only one spec allowed per project, regardless of conflicts or not.
    -       otherwise a "double requirement" exception is raised
    -    b. they override sub-dependency requirements.
    -for sub-dependencies
    -    a. "first found, wins" (where the order is breadth first)
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -import logging
    -import sys
    -from collections import defaultdict
    -from itertools import chain
    -
    -from pip._vendor.packaging import specifiers
    -
    -from pip._internal.exceptions import (
    -    BestVersionAlreadyInstalled,
    -    DistributionNotFound,
    -    HashError,
    -    HashErrors,
    -    UnsupportedPythonVersion,
    -)
    -from pip._internal.utils.logging import indent_log
    -from pip._internal.utils.misc import (
    -    dist_in_usersite,
    -    ensure_dir,
    -    normalize_version_info,
    -)
    -from pip._internal.utils.packaging import (
    -    check_requires_python,
    -    get_requires_python,
    -)
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Callable, DefaultDict, List, Optional, Set, Tuple
    -    from pip._vendor import pkg_resources
    -
    -    from pip._internal.distributions import AbstractDistribution
    -    from pip._internal.network.session import PipSession
    -    from pip._internal.index import PackageFinder
    -    from pip._internal.operations.prepare import RequirementPreparer
    -    from pip._internal.req.req_install import InstallRequirement
    -    from pip._internal.req.req_set import RequirementSet
    -
    -    InstallRequirementProvider = Callable[
    -        [str, InstallRequirement], InstallRequirement
    -    ]
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def _check_dist_requires_python(
    -    dist,  # type: pkg_resources.Distribution
    -    version_info,  # type: Tuple[int, int, int]
    -    ignore_requires_python=False,  # type: bool
    -):
    -    # type: (...) -> None
    -    """
    -    Check whether the given Python version is compatible with a distribution's
    -    "Requires-Python" value.
    -
    -    :param version_info: A 3-tuple of ints representing the Python
    -        major-minor-micro version to check.
    -    :param ignore_requires_python: Whether to ignore the "Requires-Python"
    -        value if the given Python version isn't compatible.
    -
    -    :raises UnsupportedPythonVersion: When the given Python version isn't
    -        compatible.
    -    """
    -    requires_python = get_requires_python(dist)
    -    try:
    -        is_compatible = check_requires_python(
    -            requires_python, version_info=version_info,
    -        )
    -    except specifiers.InvalidSpecifier as exc:
    -        logger.warning(
    -            "Package %r has an invalid Requires-Python: %s",
    -            dist.project_name, exc,
    -        )
    -        return
    -
    -    if is_compatible:
    -        return
    -
    -    version = '.'.join(map(str, version_info))
    -    if ignore_requires_python:
    -        logger.debug(
    -            'Ignoring failed Requires-Python check for package %r: '
    -            '%s not in %r',
    -            dist.project_name, version, requires_python,
    -        )
    -        return
    -
    -    raise UnsupportedPythonVersion(
    -        'Package {!r} requires a different Python: {} not in {!r}'.format(
    -            dist.project_name, version, requires_python,
    -        ))
    -
    -
    -class Resolver(object):
    -    """Resolves which packages need to be installed/uninstalled to perform \
    -    the requested operation without breaking the requirements of any package.
    -    """
    -
    -    _allowed_strategies = {"eager", "only-if-needed", "to-satisfy-only"}
    -
    -    def __init__(
    -        self,
    -        preparer,  # type: RequirementPreparer
    -        session,  # type: PipSession
    -        finder,  # type: PackageFinder
    -        make_install_req,  # type: InstallRequirementProvider
    -        use_user_site,  # type: bool
    -        ignore_dependencies,  # type: bool
    -        ignore_installed,  # type: bool
    -        ignore_requires_python,  # type: bool
    -        force_reinstall,  # type: bool
    -        upgrade_strategy,  # type: str
    -        py_version_info=None,  # type: Optional[Tuple[int, ...]]
    -    ):
    -        # type: (...) -> None
    -        super(Resolver, self).__init__()
    -        assert upgrade_strategy in self._allowed_strategies
    -
    -        if py_version_info is None:
    -            py_version_info = sys.version_info[:3]
    -        else:
    -            py_version_info = normalize_version_info(py_version_info)
    -
    -        self._py_version_info = py_version_info
    -
    -        self.preparer = preparer
    -        self.finder = finder
    -        self.session = session
    -
    -        # This is set in resolve
    -        self.require_hashes = None  # type: Optional[bool]
    -
    -        self.upgrade_strategy = upgrade_strategy
    -        self.force_reinstall = force_reinstall
    -        self.ignore_dependencies = ignore_dependencies
    -        self.ignore_installed = ignore_installed
    -        self.ignore_requires_python = ignore_requires_python
    -        self.use_user_site = use_user_site
    -        self._make_install_req = make_install_req
    -
    -        self._discovered_dependencies = \
    -            defaultdict(list)  # type: DefaultDict[str, List]
    -
    -    def resolve(self, requirement_set):
    -        # type: (RequirementSet) -> None
    -        """Resolve what operations need to be done
    -
    -        As a side-effect of this method, the packages (and their dependencies)
    -        are downloaded, unpacked and prepared for installation. This
    -        preparation is done by ``pip.operations.prepare``.
    -
    -        Once PyPI has static dependency metadata available, it would be
    -        possible to move the preparation to become a step separated from
    -        dependency resolution.
    -        """
    -        # make the wheelhouse
    -        if self.preparer.wheel_download_dir:
    -            ensure_dir(self.preparer.wheel_download_dir)
    -
    -        # If any top-level requirement has a hash specified, enter
    -        # hash-checking mode, which requires hashes from all.
    -        root_reqs = (
    -            requirement_set.unnamed_requirements +
    -            list(requirement_set.requirements.values())
    -        )
    -        self.require_hashes = (
    -            requirement_set.require_hashes or
    -            any(req.has_hash_options for req in root_reqs)
    -        )
    -
    -        # Display where finder is looking for packages
    -        search_scope = self.finder.search_scope
    -        locations = search_scope.get_formatted_locations()
    -        if locations:
    -            logger.info(locations)
    -
    -        # Actually prepare the files, and collect any exceptions. Most hash
    -        # exceptions cannot be checked ahead of time, because
    -        # req.populate_link() needs to be called before we can make decisions
    -        # based on link type.
    -        discovered_reqs = []  # type: List[InstallRequirement]
    -        hash_errors = HashErrors()
    -        for req in chain(root_reqs, discovered_reqs):
    -            try:
    -                discovered_reqs.extend(
    -                    self._resolve_one(requirement_set, req)
    -                )
    -            except HashError as exc:
    -                exc.req = req
    -                hash_errors.append(exc)
    -
    -        if hash_errors:
    -            raise hash_errors
    -
    -    def _is_upgrade_allowed(self, req):
    -        # type: (InstallRequirement) -> bool
    -        if self.upgrade_strategy == "to-satisfy-only":
    -            return False
    -        elif self.upgrade_strategy == "eager":
    -            return True
    -        else:
    -            assert self.upgrade_strategy == "only-if-needed"
    -            return req.is_direct
    -
    -    def _set_req_to_reinstall(self, req):
    -        # type: (InstallRequirement) -> None
    -        """
    -        Set a requirement to be installed.
    -        """
    -        # Don't uninstall the conflict if doing a user install and the
    -        # conflict is not a user install.
    -        if not self.use_user_site or dist_in_usersite(req.satisfied_by):
    -            req.conflicts_with = req.satisfied_by
    -        req.satisfied_by = None
    -
    -    def _check_skip_installed(self, req_to_install):
    -        # type: (InstallRequirement) -> Optional[str]
    -        """Check if req_to_install should be skipped.
    -
    -        This will check if the req is installed, and whether we should upgrade
    -        or reinstall it, taking into account all the relevant user options.
    -
    -        After calling this req_to_install will only have satisfied_by set to
    -        None if the req_to_install is to be upgraded/reinstalled etc. Any
    -        other value will be a dist recording the current thing installed that
    -        satisfies the requirement.
    -
    -        Note that for vcs urls and the like we can't assess skipping in this
    -        routine - we simply identify that we need to pull the thing down,
    -        then later on it is pulled down and introspected to assess upgrade/
    -        reinstalls etc.
    -
    -        :return: A text reason for why it was skipped, or None.
    -        """
    -        if self.ignore_installed:
    -            return None
    -
    -        req_to_install.check_if_exists(self.use_user_site)
    -        if not req_to_install.satisfied_by:
    -            return None
    -
    -        if self.force_reinstall:
    -            self._set_req_to_reinstall(req_to_install)
    -            return None
    -
    -        if not self._is_upgrade_allowed(req_to_install):
    -            if self.upgrade_strategy == "only-if-needed":
    -                return 'already satisfied, skipping upgrade'
    -            return 'already satisfied'
    -
    -        # Check for the possibility of an upgrade.  For link-based
    -        # requirements we have to pull the tree down and inspect to assess
    -        # the version #, so it's handled way down.
    -        if not req_to_install.link:
    -            try:
    -                self.finder.find_requirement(req_to_install, upgrade=True)
    -            except BestVersionAlreadyInstalled:
    -                # Then the best version is installed.
    -                return 'already up-to-date'
    -            except DistributionNotFound:
    -                # No distribution found, so we squash the error.  It will
    -                # be raised later when we re-try later to do the install.
    -                # Why don't we just raise here?
    -                pass
    -
    -        self._set_req_to_reinstall(req_to_install)
    -        return None
    -
    -    def _get_abstract_dist_for(self, req):
    -        # type: (InstallRequirement) -> AbstractDistribution
    -        """Takes a InstallRequirement and returns a single AbstractDist \
    -        representing a prepared variant of the same.
    -        """
    -        assert self.require_hashes is not None, (
    -            "require_hashes should have been set in Resolver.resolve()"
    -        )
    -
    -        if req.editable:
    -            return self.preparer.prepare_editable_requirement(
    -                req, self.require_hashes, self.use_user_site, self.finder,
    -            )
    -
    -        # satisfied_by is only evaluated by calling _check_skip_installed,
    -        # so it must be None here.
    -        assert req.satisfied_by is None
    -        skip_reason = self._check_skip_installed(req)
    -
    -        if req.satisfied_by:
    -            return self.preparer.prepare_installed_requirement(
    -                req, self.require_hashes, skip_reason
    -            )
    -
    -        upgrade_allowed = self._is_upgrade_allowed(req)
    -
    -        # We eagerly populate the link, since that's our "legacy" behavior.
    -        req.populate_link(self.finder, upgrade_allowed, self.require_hashes)
    -        abstract_dist = self.preparer.prepare_linked_requirement(
    -            req, self.session, self.finder, self.require_hashes
    -        )
    -
    -        # NOTE
    -        # The following portion is for determining if a certain package is
    -        # going to be re-installed/upgraded or not and reporting to the user.
    -        # This should probably get cleaned up in a future refactor.
    -
    -        # req.req is only avail after unpack for URL
    -        # pkgs repeat check_if_exists to uninstall-on-upgrade
    -        # (#14)
    -        if not self.ignore_installed:
    -            req.check_if_exists(self.use_user_site)
    -
    -        if req.satisfied_by:
    -            should_modify = (
    -                self.upgrade_strategy != "to-satisfy-only" or
    -                self.force_reinstall or
    -                self.ignore_installed or
    -                req.link.scheme == 'file'
    -            )
    -            if should_modify:
    -                self._set_req_to_reinstall(req)
    -            else:
    -                logger.info(
    -                    'Requirement already satisfied (use --upgrade to upgrade):'
    -                    ' %s', req,
    -                )
    -
    -        return abstract_dist
    -
    -    def _resolve_one(
    -        self,
    -        requirement_set,  # type: RequirementSet
    -        req_to_install  # type: InstallRequirement
    -    ):
    -        # type: (...) -> List[InstallRequirement]
    -        """Prepare a single requirements file.
    -
    -        :return: A list of additional InstallRequirements to also install.
    -        """
    -        # Tell user what we are doing for this requirement:
    -        # obtain (editable), skipping, processing (local url), collecting
    -        # (remote url or package name)
    -        if req_to_install.constraint or req_to_install.prepared:
    -            return []
    -
    -        req_to_install.prepared = True
    -
    -        # register tmp src for cleanup in case something goes wrong
    -        requirement_set.reqs_to_cleanup.append(req_to_install)
    -
    -        abstract_dist = self._get_abstract_dist_for(req_to_install)
    -
    -        # Parse and return dependencies
    -        dist = abstract_dist.get_pkg_resources_distribution()
    -        # This will raise UnsupportedPythonVersion if the given Python
    -        # version isn't compatible with the distribution's Requires-Python.
    -        _check_dist_requires_python(
    -            dist, version_info=self._py_version_info,
    -            ignore_requires_python=self.ignore_requires_python,
    -        )
    -
    -        more_reqs = []  # type: List[InstallRequirement]
    -
    -        def add_req(subreq, extras_requested):
    -            sub_install_req = self._make_install_req(
    -                str(subreq),
    -                req_to_install,
    -            )
    -            parent_req_name = req_to_install.name
    -            to_scan_again, add_to_parent = requirement_set.add_requirement(
    -                sub_install_req,
    -                parent_req_name=parent_req_name,
    -                extras_requested=extras_requested,
    -            )
    -            if parent_req_name and add_to_parent:
    -                self._discovered_dependencies[parent_req_name].append(
    -                    add_to_parent
    -                )
    -            more_reqs.extend(to_scan_again)
    -
    -        with indent_log():
    -            # We add req_to_install before its dependencies, so that we
    -            # can refer to it when adding dependencies.
    -            if not requirement_set.has_requirement(req_to_install.name):
    -                # 'unnamed' requirements will get added here
    -                req_to_install.is_direct = True
    -                requirement_set.add_requirement(
    -                    req_to_install, parent_req_name=None,
    -                )
    -
    -            if not self.ignore_dependencies:
    -                if req_to_install.extras:
    -                    logger.debug(
    -                        "Installing extra requirements: %r",
    -                        ','.join(req_to_install.extras),
    -                    )
    -                missing_requested = sorted(
    -                    set(req_to_install.extras) - set(dist.extras)
    -                )
    -                for missing in missing_requested:
    -                    logger.warning(
    -                        '%s does not provide the extra \'%s\'',
    -                        dist, missing
    -                    )
    -
    -                available_requested = sorted(
    -                    set(dist.extras) & set(req_to_install.extras)
    -                )
    -                for subreq in dist.requires(available_requested):
    -                    add_req(subreq, extras_requested=available_requested)
    -
    -            if not req_to_install.editable and not req_to_install.satisfied_by:
    -                # XXX: --no-install leads this to report 'Successfully
    -                # downloaded' for only non-editable reqs, even though we took
    -                # action on them.
    -                requirement_set.successfully_downloaded.append(req_to_install)
    -
    -        return more_reqs
    -
    -    def get_installation_order(self, req_set):
    -        # type: (RequirementSet) -> List[InstallRequirement]
    -        """Create the installation order.
    -
    -        The installation order is topological - requirements are installed
    -        before the requiring thing. We break cycles at an arbitrary point,
    -        and make no other guarantees.
    -        """
    -        # The current implementation, which we may change at any point
    -        # installs the user specified things in the order given, except when
    -        # dependencies must come earlier to achieve topological order.
    -        order = []
    -        ordered_reqs = set()  # type: Set[InstallRequirement]
    -
    -        def schedule(req):
    -            if req.satisfied_by or req in ordered_reqs:
    -                return
    -            if req.constraint:
    -                return
    -            ordered_reqs.add(req)
    -            for dep in self._discovered_dependencies[req.name]:
    -                schedule(dep)
    -            order.append(req)
    -
    -        for install_req in req_set.requirements.values():
    -            schedule(install_req)
    -        return order
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/locations.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/locations.py
    deleted file mode 100644
    index 1899c7d..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/locations.py
    +++ /dev/null
    @@ -1,156 +0,0 @@
    -"""Locations where we look for configs, install stuff, etc"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import os
    -import os.path
    -import platform
    -import site
    -import sys
    -import sysconfig
    -from distutils import sysconfig as distutils_sysconfig
    -from distutils.command.install import SCHEME_KEYS  # type: ignore
    -
    -from pip._internal.utils import appdirs
    -from pip._internal.utils.compat import WINDOWS
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.virtualenv import running_under_virtualenv
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Any, Union, Dict, List, Optional
    -
    -
    -# Application Directories
    -USER_CACHE_DIR = appdirs.user_cache_dir("pip")
    -
    -
    -def get_major_minor_version():
    -    # type: () -> str
    -    """
    -    Return the major-minor version of the current Python as a string, e.g.
    -    "3.7" or "3.10".
    -    """
    -    return '{}.{}'.format(*sys.version_info)
    -
    -
    -def get_src_prefix():
    -    if running_under_virtualenv():
    -        src_prefix = os.path.join(sys.prefix, 'src')
    -    else:
    -        # FIXME: keep src in cwd for now (it is not a temporary folder)
    -        try:
    -            src_prefix = os.path.join(os.getcwd(), 'src')
    -        except OSError:
    -            # In case the current working directory has been renamed or deleted
    -            sys.exit(
    -                "The folder you are executing pip from can no longer be found."
    -            )
    -
    -    # under macOS + virtualenv sys.prefix is not properly resolved
    -    # it is something like /path/to/python/bin/..
    -    return os.path.abspath(src_prefix)
    -
    -
    -# FIXME doesn't account for venv linked to global site-packages
    -
    -site_packages = sysconfig.get_path("purelib")  # type: Optional[str]
    -
    -# This is because of a bug in PyPy's sysconfig module, see
    -# https://bitbucket.org/pypy/pypy/issues/2506/sysconfig-returns-incorrect-paths
    -# for more information.
    -if platform.python_implementation().lower() == "pypy":
    -    site_packages = distutils_sysconfig.get_python_lib()
    -try:
    -    # Use getusersitepackages if this is present, as it ensures that the
    -    # value is initialised properly.
    -    user_site = site.getusersitepackages()
    -except AttributeError:
    -    user_site = site.USER_SITE
    -
    -if WINDOWS:
    -    bin_py = os.path.join(sys.prefix, 'Scripts')
    -    bin_user = os.path.join(user_site, 'Scripts')
    -    # buildout uses 'bin' on Windows too?
    -    if not os.path.exists(bin_py):
    -        bin_py = os.path.join(sys.prefix, 'bin')
    -        bin_user = os.path.join(user_site, 'bin')
    -else:
    -    bin_py = os.path.join(sys.prefix, 'bin')
    -    bin_user = os.path.join(user_site, 'bin')
    -
    -    # Forcing to use /usr/local/bin for standard macOS framework installs
    -    # Also log to ~/Library/Logs/ for use with the Console.app log viewer
    -    if sys.platform[:6] == 'darwin' and sys.prefix[:16] == '/System/Library/':
    -        bin_py = '/usr/local/bin'
    -
    -
    -def distutils_scheme(dist_name, user=False, home=None, root=None,
    -                     isolated=False, prefix=None):
    -    # type:(str, bool, str, str, bool, str) -> dict
    -    """
    -    Return a distutils install scheme
    -    """
    -    from distutils.dist import Distribution
    -
    -    scheme = {}
    -
    -    if isolated:
    -        extra_dist_args = {"script_args": ["--no-user-cfg"]}
    -    else:
    -        extra_dist_args = {}
    -    dist_args = {'name': dist_name}  # type: Dict[str, Union[str, List[str]]]
    -    dist_args.update(extra_dist_args)
    -
    -    d = Distribution(dist_args)
    -    # Ignoring, typeshed issue reported python/typeshed/issues/2567
    -    d.parse_config_files()
    -    # NOTE: Ignoring type since mypy can't find attributes on 'Command'
    -    i = d.get_command_obj('install', create=True)  # type: Any
    -    assert i is not None
    -    # NOTE: setting user or home has the side-effect of creating the home dir
    -    # or user base for installations during finalize_options()
    -    # ideally, we'd prefer a scheme class that has no side-effects.
    -    assert not (user and prefix), "user={} prefix={}".format(user, prefix)
    -    assert not (home and prefix), "home={} prefix={}".format(home, prefix)
    -    i.user = user or i.user
    -    if user or home:
    -        i.prefix = ""
    -    i.prefix = prefix or i.prefix
    -    i.home = home or i.home
    -    i.root = root or i.root
    -    i.finalize_options()
    -    for key in SCHEME_KEYS:
    -        scheme[key] = getattr(i, 'install_' + key)
    -
    -    # install_lib specified in setup.cfg should install *everything*
    -    # into there (i.e. it takes precedence over both purelib and
    -    # platlib).  Note, i.install_lib is *always* set after
    -    # finalize_options(); we only want to override here if the user
    -    # has explicitly requested it hence going back to the config
    -
    -    # Ignoring, typeshed issue reported python/typeshed/issues/2567
    -    if 'install_lib' in d.get_option_dict('install'):  # type: ignore
    -        scheme.update(dict(purelib=i.install_lib, platlib=i.install_lib))
    -
    -    if running_under_virtualenv():
    -        scheme['headers'] = os.path.join(
    -            sys.prefix,
    -            'include',
    -            'site',
    -            'python{}'.format(get_major_minor_version()),
    -            dist_name,
    -        )
    -
    -        if root is not None:
    -            path_no_drive = os.path.splitdrive(
    -                os.path.abspath(scheme["headers"]))[1]
    -            scheme["headers"] = os.path.join(
    -                root,
    -                path_no_drive[1:],
    -            )
    -
    -    return scheme
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/main.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/main.py
    deleted file mode 100644
    index 1e92240..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/main.py
    +++ /dev/null
    @@ -1,47 +0,0 @@
    -"""Primary application entrypoint.
    -"""
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import locale
    -import logging
    -import os
    -import sys
    -
    -from pip._internal.cli.autocompletion import autocomplete
    -from pip._internal.cli.main_parser import parse_command
    -from pip._internal.commands import create_command
    -from pip._internal.exceptions import PipError
    -from pip._internal.utils import deprecation
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def main(args=None):
    -    if args is None:
    -        args = sys.argv[1:]
    -
    -    # Configure our deprecation warnings to be sent through loggers
    -    deprecation.install_warning_logger()
    -
    -    autocomplete()
    -
    -    try:
    -        cmd_name, cmd_args = parse_command(args)
    -    except PipError as exc:
    -        sys.stderr.write("ERROR: %s" % exc)
    -        sys.stderr.write(os.linesep)
    -        sys.exit(1)
    -
    -    # Needed for locale.getpreferredencoding(False) to work
    -    # in pip._internal.utils.encoding.auto_decode
    -    try:
    -        locale.setlocale(locale.LC_ALL, '')
    -    except locale.Error as e:
    -        # setlocale can apparently crash if locale are uninitialized
    -        logger.debug("Ignoring error %s when setting locale", e)
    -    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
    -
    -    return command.main(cmd_args)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/__init__.py
    deleted file mode 100644
    index 7855226..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/__init__.py
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -"""A package that contains models that represent entities.
    -"""
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/candidate.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/candidate.py
    deleted file mode 100644
    index 4d49604..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/candidate.py
    +++ /dev/null
    @@ -1,39 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from pip._vendor.packaging.version import parse as parse_version
    -
    -from pip._internal.utils.models import KeyBasedCompareMixin
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from pip._vendor.packaging.version import _BaseVersion
    -    from pip._internal.models.link import Link
    -    from typing import Any
    -
    -
    -class InstallationCandidate(KeyBasedCompareMixin):
    -    """Represents a potential "candidate" for installation.
    -    """
    -
    -    def __init__(self, project, version, link):
    -        # type: (Any, str, Link) -> None
    -        self.project = project
    -        self.version = parse_version(version)  # type: _BaseVersion
    -        self.link = link
    -
    -        super(InstallationCandidate, self).__init__(
    -            key=(self.project, self.version, self.link),
    -            defining_class=InstallationCandidate
    -        )
    -
    -    def __repr__(self):
    -        # type: () -> str
    -        return "".format(
    -            self.project, self.version, self.link,
    -        )
    -
    -    def __str__(self):
    -        return '{!r} candidate (version {} at {})'.format(
    -            self.project, self.version, self.link,
    -        )
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/format_control.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/format_control.py
    deleted file mode 100644
    index 5489b51..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/format_control.py
    +++ /dev/null
    @@ -1,82 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -from pip._vendor.packaging.utils import canonicalize_name
    -
    -from pip._internal.exceptions import CommandError
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional, Set, FrozenSet
    -
    -
    -class FormatControl(object):
    -    """Helper for managing formats from which a package can be installed.
    -    """
    -
    -    def __init__(self, no_binary=None, only_binary=None):
    -        # type: (Optional[Set], Optional[Set]) -> None
    -        if no_binary is None:
    -            no_binary = set()
    -        if only_binary is None:
    -            only_binary = set()
    -
    -        self.no_binary = no_binary
    -        self.only_binary = only_binary
    -
    -    def __eq__(self, other):
    -        return self.__dict__ == other.__dict__
    -
    -    def __ne__(self, other):
    -        return not self.__eq__(other)
    -
    -    def __repr__(self):
    -        return "{}({}, {})".format(
    -            self.__class__.__name__,
    -            self.no_binary,
    -            self.only_binary
    -        )
    -
    -    @staticmethod
    -    def handle_mutual_excludes(value, target, other):
    -        # type: (str, Optional[Set], Optional[Set]) -> None
    -        if value.startswith('-'):
    -            raise CommandError(
    -                "--no-binary / --only-binary option requires 1 argument."
    -            )
    -        new = value.split(',')
    -        while ':all:' in new:
    -            other.clear()
    -            target.clear()
    -            target.add(':all:')
    -            del new[:new.index(':all:') + 1]
    -            # Without a none, we want to discard everything as :all: covers it
    -            if ':none:' not in new:
    -                return
    -        for name in new:
    -            if name == ':none:':
    -                target.clear()
    -                continue
    -            name = canonicalize_name(name)
    -            other.discard(name)
    -            target.add(name)
    -
    -    def get_allowed_formats(self, canonical_name):
    -        # type: (str) -> FrozenSet
    -        result = {"binary", "source"}
    -        if canonical_name in self.only_binary:
    -            result.discard('source')
    -        elif canonical_name in self.no_binary:
    -            result.discard('binary')
    -        elif ':all:' in self.only_binary:
    -            result.discard('source')
    -        elif ':all:' in self.no_binary:
    -            result.discard('binary')
    -        return frozenset(result)
    -
    -    def disallow_binaries(self):
    -        # type: () -> None
    -        self.handle_mutual_excludes(
    -            ':all:', self.no_binary, self.only_binary,
    -        )
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/index.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/index.py
    deleted file mode 100644
    index ead1efb..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/index.py
    +++ /dev/null
    @@ -1,31 +0,0 @@
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -
    -
    -class PackageIndex(object):
    -    """Represents a Package Index and provides easier access to endpoints
    -    """
    -
    -    def __init__(self, url, file_storage_domain):
    -        # type: (str, str) -> None
    -        super(PackageIndex, self).__init__()
    -        self.url = url
    -        self.netloc = urllib_parse.urlsplit(url).netloc
    -        self.simple_url = self._url_for_path('simple')
    -        self.pypi_url = self._url_for_path('pypi')
    -
    -        # This is part of a temporary hack used to block installs of PyPI
    -        # packages which depend on external urls only necessary until PyPI can
    -        # block such packages themselves
    -        self.file_storage_domain = file_storage_domain
    -
    -    def _url_for_path(self, path):
    -        # type: (str) -> str
    -        return urllib_parse.urljoin(self.url, path)
    -
    -
    -PyPI = PackageIndex(
    -    'https://pypi.org/', file_storage_domain='files.pythonhosted.org'
    -)
    -TestPyPI = PackageIndex(
    -    'https://test.pypi.org/', file_storage_domain='test-files.pythonhosted.org'
    -)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/link.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/link.py
    deleted file mode 100644
    index 2d50d17..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/link.py
    +++ /dev/null
    @@ -1,227 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import os
    -import posixpath
    -import re
    -
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -
    -from pip._internal.utils.filetypes import WHEEL_EXTENSION
    -from pip._internal.utils.misc import (
    -    redact_auth_from_url,
    -    split_auth_from_netloc,
    -    splitext,
    -)
    -from pip._internal.utils.models import KeyBasedCompareMixin
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.urls import path_to_url, url_to_path
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional, Text, Tuple, Union
    -    from pip._internal.collector import HTMLPage
    -    from pip._internal.utils.hashes import Hashes
    -
    -
    -class Link(KeyBasedCompareMixin):
    -    """Represents a parsed link from a Package Index's simple URL
    -    """
    -
    -    def __init__(
    -        self,
    -        url,                   # type: str
    -        comes_from=None,       # type: Optional[Union[str, HTMLPage]]
    -        requires_python=None,  # type: Optional[str]
    -        yanked_reason=None,    # type: Optional[Text]
    -    ):
    -        # type: (...) -> None
    -        """
    -        :param url: url of the resource pointed to (href of the link)
    -        :param comes_from: instance of HTMLPage where the link was found,
    -            or string.
    -        :param requires_python: String containing the `Requires-Python`
    -            metadata field, specified in PEP 345. This may be specified by
    -            a data-requires-python attribute in the HTML link tag, as
    -            described in PEP 503.
    -        :param yanked_reason: the reason the file has been yanked, if the
    -            file has been yanked, or None if the file hasn't been yanked.
    -            This is the value of the "data-yanked" attribute, if present, in
    -            a simple repository HTML link. If the file has been yanked but
    -            no reason was provided, this should be the empty string. See
    -            PEP 592 for more information and the specification.
    -        """
    -
    -        # url can be a UNC windows share
    -        if url.startswith('\\\\'):
    -            url = path_to_url(url)
    -
    -        self._parsed_url = urllib_parse.urlsplit(url)
    -        # Store the url as a private attribute to prevent accidentally
    -        # trying to set a new value.
    -        self._url = url
    -
    -        self.comes_from = comes_from
    -        self.requires_python = requires_python if requires_python else None
    -        self.yanked_reason = yanked_reason
    -
    -        super(Link, self).__init__(key=url, defining_class=Link)
    -
    -    def __str__(self):
    -        if self.requires_python:
    -            rp = ' (requires-python:%s)' % self.requires_python
    -        else:
    -            rp = ''
    -        if self.comes_from:
    -            return '%s (from %s)%s' % (redact_auth_from_url(self._url),
    -                                       self.comes_from, rp)
    -        else:
    -            return redact_auth_from_url(str(self._url))
    -
    -    def __repr__(self):
    -        return '' % self
    -
    -    @property
    -    def url(self):
    -        # type: () -> str
    -        return self._url
    -
    -    @property
    -    def filename(self):
    -        # type: () -> str
    -        path = self.path.rstrip('/')
    -        name = posixpath.basename(path)
    -        if not name:
    -            # Make sure we don't leak auth information if the netloc
    -            # includes a username and password.
    -            netloc, user_pass = split_auth_from_netloc(self.netloc)
    -            return netloc
    -
    -        name = urllib_parse.unquote(name)
    -        assert name, ('URL %r produced no filename' % self._url)
    -        return name
    -
    -    @property
    -    def file_path(self):
    -        # type: () -> str
    -        return url_to_path(self.url)
    -
    -    @property
    -    def scheme(self):
    -        # type: () -> str
    -        return self._parsed_url.scheme
    -
    -    @property
    -    def netloc(self):
    -        # type: () -> str
    -        """
    -        This can contain auth information.
    -        """
    -        return self._parsed_url.netloc
    -
    -    @property
    -    def path(self):
    -        # type: () -> str
    -        return urllib_parse.unquote(self._parsed_url.path)
    -
    -    def splitext(self):
    -        # type: () -> Tuple[str, str]
    -        return splitext(posixpath.basename(self.path.rstrip('/')))
    -
    -    @property
    -    def ext(self):
    -        # type: () -> str
    -        return self.splitext()[1]
    -
    -    @property
    -    def url_without_fragment(self):
    -        # type: () -> str
    -        scheme, netloc, path, query, fragment = self._parsed_url
    -        return urllib_parse.urlunsplit((scheme, netloc, path, query, None))
    -
    -    _egg_fragment_re = re.compile(r'[#&]egg=([^&]*)')
    -
    -    @property
    -    def egg_fragment(self):
    -        # type: () -> Optional[str]
    -        match = self._egg_fragment_re.search(self._url)
    -        if not match:
    -            return None
    -        return match.group(1)
    -
    -    _subdirectory_fragment_re = re.compile(r'[#&]subdirectory=([^&]*)')
    -
    -    @property
    -    def subdirectory_fragment(self):
    -        # type: () -> Optional[str]
    -        match = self._subdirectory_fragment_re.search(self._url)
    -        if not match:
    -            return None
    -        return match.group(1)
    -
    -    _hash_re = re.compile(
    -        r'(sha1|sha224|sha384|sha256|sha512|md5)=([a-f0-9]+)'
    -    )
    -
    -    @property
    -    def hash(self):
    -        # type: () -> Optional[str]
    -        match = self._hash_re.search(self._url)
    -        if match:
    -            return match.group(2)
    -        return None
    -
    -    @property
    -    def hash_name(self):
    -        # type: () -> Optional[str]
    -        match = self._hash_re.search(self._url)
    -        if match:
    -            return match.group(1)
    -        return None
    -
    -    @property
    -    def show_url(self):
    -        # type: () -> Optional[str]
    -        return posixpath.basename(self._url.split('#', 1)[0].split('?', 1)[0])
    -
    -    @property
    -    def is_file(self):
    -        # type: () -> bool
    -        return self.scheme == 'file'
    -
    -    def is_existing_dir(self):
    -        # type: () -> bool
    -        return self.is_file and os.path.isdir(self.file_path)
    -
    -    @property
    -    def is_wheel(self):
    -        # type: () -> bool
    -        return self.ext == WHEEL_EXTENSION
    -
    -    @property
    -    def is_vcs(self):
    -        # type: () -> bool
    -        from pip._internal.vcs import vcs
    -
    -        return self.scheme in vcs.all_schemes
    -
    -    @property
    -    def is_yanked(self):
    -        # type: () -> bool
    -        return self.yanked_reason is not None
    -
    -    @property
    -    def has_hash(self):
    -        return self.hash_name is not None
    -
    -    def is_hash_allowed(self, hashes):
    -        # type: (Optional[Hashes]) -> bool
    -        """
    -        Return True if the link has a hash and it is allowed.
    -        """
    -        if hashes is None or not self.has_hash:
    -            return False
    -        # Assert non-None so mypy knows self.hash_name and self.hash are str.
    -        assert self.hash_name is not None
    -        assert self.hash is not None
    -
    -        return hashes.is_hash_allowed(self.hash_name, hex_digest=self.hash)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/search_scope.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/search_scope.py
    deleted file mode 100644
    index 6e38706..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/search_scope.py
    +++ /dev/null
    @@ -1,116 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import itertools
    -import logging
    -import os
    -import posixpath
    -
    -from pip._vendor.packaging.utils import canonicalize_name
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -
    -from pip._internal.models.index import PyPI
    -from pip._internal.utils.compat import HAS_TLS
    -from pip._internal.utils.misc import normalize_path, redact_auth_from_url
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import List
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class SearchScope(object):
    -
    -    """
    -    Encapsulates the locations that pip is configured to search.
    -    """
    -
    -    @classmethod
    -    def create(
    -        cls,
    -        find_links,  # type: List[str]
    -        index_urls,  # type: List[str]
    -    ):
    -        # type: (...) -> SearchScope
    -        """
    -        Create a SearchScope object after normalizing the `find_links`.
    -        """
    -        # Build find_links. If an argument starts with ~, it may be
    -        # a local file relative to a home directory. So try normalizing
    -        # it and if it exists, use the normalized version.
    -        # This is deliberately conservative - it might be fine just to
    -        # blindly normalize anything starting with a ~...
    -        built_find_links = []  # type: List[str]
    -        for link in find_links:
    -            if link.startswith('~'):
    -                new_link = normalize_path(link)
    -                if os.path.exists(new_link):
    -                    link = new_link
    -            built_find_links.append(link)
    -
    -        # If we don't have TLS enabled, then WARN if anyplace we're looking
    -        # relies on TLS.
    -        if not HAS_TLS:
    -            for link in itertools.chain(index_urls, built_find_links):
    -                parsed = urllib_parse.urlparse(link)
    -                if parsed.scheme == 'https':
    -                    logger.warning(
    -                        'pip is configured with locations that require '
    -                        'TLS/SSL, however the ssl module in Python is not '
    -                        'available.'
    -                    )
    -                    break
    -
    -        return cls(
    -            find_links=built_find_links,
    -            index_urls=index_urls,
    -        )
    -
    -    def __init__(
    -        self,
    -        find_links,  # type: List[str]
    -        index_urls,  # type: List[str]
    -    ):
    -        # type: (...) -> None
    -        self.find_links = find_links
    -        self.index_urls = index_urls
    -
    -    def get_formatted_locations(self):
    -        # type: () -> str
    -        lines = []
    -        if self.index_urls and self.index_urls != [PyPI.simple_url]:
    -            lines.append(
    -                'Looking in indexes: {}'.format(', '.join(
    -                    redact_auth_from_url(url) for url in self.index_urls))
    -            )
    -        if self.find_links:
    -            lines.append(
    -                'Looking in links: {}'.format(', '.join(
    -                    redact_auth_from_url(url) for url in self.find_links))
    -            )
    -        return '\n'.join(lines)
    -
    -    def get_index_urls_locations(self, project_name):
    -        # type: (str) -> List[str]
    -        """Returns the locations found via self.index_urls
    -
    -        Checks the url_name on the main (first in the list) index and
    -        use this url_name to produce all locations
    -        """
    -
    -        def mkurl_pypi_url(url):
    -            loc = posixpath.join(
    -                url,
    -                urllib_parse.quote(canonicalize_name(project_name)))
    -            # For maximum compatibility with easy_install, ensure the path
    -            # ends in a trailing slash.  Although this isn't in the spec
    -            # (and PyPI can handle it without the slash) some other index
    -            # implementations might break if they relied on easy_install's
    -            # behavior.
    -            if not loc.endswith('/'):
    -                loc = loc + '/'
    -            return loc
    -
    -        return [mkurl_pypi_url(url) for url in self.index_urls]
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/selection_prefs.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/selection_prefs.py
    deleted file mode 100644
    index f58fdce..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/selection_prefs.py
    +++ /dev/null
    @@ -1,47 +0,0 @@
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional
    -    from pip._internal.models.format_control import FormatControl
    -
    -
    -class SelectionPreferences(object):
    -
    -    """
    -    Encapsulates the candidate selection preferences for downloading
    -    and installing files.
    -    """
    -
    -    # Don't include an allow_yanked default value to make sure each call
    -    # site considers whether yanked releases are allowed. This also causes
    -    # that decision to be made explicit in the calling code, which helps
    -    # people when reading the code.
    -    def __init__(
    -        self,
    -        allow_yanked,  # type: bool
    -        allow_all_prereleases=False,  # type: bool
    -        format_control=None,          # type: Optional[FormatControl]
    -        prefer_binary=False,          # type: bool
    -        ignore_requires_python=None,  # type: Optional[bool]
    -    ):
    -        # type: (...) -> None
    -        """Create a SelectionPreferences object.
    -
    -        :param allow_yanked: Whether files marked as yanked (in the sense
    -            of PEP 592) are permitted to be candidates for install.
    -        :param format_control: A FormatControl object or None. Used to control
    -            the selection of source packages / binary packages when consulting
    -            the index and links.
    -        :param prefer_binary: Whether to prefer an old, but valid, binary
    -            dist over a new source dist.
    -        :param ignore_requires_python: Whether to ignore incompatible
    -            "Requires-Python" values in links. Defaults to False.
    -        """
    -        if ignore_requires_python is None:
    -            ignore_requires_python = False
    -
    -        self.allow_yanked = allow_yanked
    -        self.allow_all_prereleases = allow_all_prereleases
    -        self.format_control = format_control
    -        self.prefer_binary = prefer_binary
    -        self.ignore_requires_python = ignore_requires_python
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/target_python.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/target_python.py
    deleted file mode 100644
    index a23b79c..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/models/target_python.py
    +++ /dev/null
    @@ -1,106 +0,0 @@
    -import sys
    -
    -from pip._internal.pep425tags import get_supported, version_info_to_nodot
    -from pip._internal.utils.misc import normalize_version_info
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import List, Optional, Tuple
    -    from pip._internal.pep425tags import Pep425Tag
    -
    -
    -class TargetPython(object):
    -
    -    """
    -    Encapsulates the properties of a Python interpreter one is targeting
    -    for a package install, download, etc.
    -    """
    -
    -    def __init__(
    -        self,
    -        platform=None,  # type: Optional[str]
    -        py_version_info=None,  # type: Optional[Tuple[int, ...]]
    -        abi=None,  # type: Optional[str]
    -        implementation=None,  # type: Optional[str]
    -    ):
    -        # type: (...) -> None
    -        """
    -        :param platform: A string or None. If None, searches for packages
    -            that are supported by the current system. Otherwise, will find
    -            packages that can be built on the platform passed in. These
    -            packages will only be downloaded for distribution: they will
    -            not be built locally.
    -        :param py_version_info: An optional tuple of ints representing the
    -            Python version information to use (e.g. `sys.version_info[:3]`).
    -            This can have length 1, 2, or 3 when provided.
    -        :param abi: A string or None. This is passed to pep425tags.py's
    -            get_supported() function as is.
    -        :param implementation: A string or None. This is passed to
    -            pep425tags.py's get_supported() function as is.
    -        """
    -        # Store the given py_version_info for when we call get_supported().
    -        self._given_py_version_info = py_version_info
    -
    -        if py_version_info is None:
    -            py_version_info = sys.version_info[:3]
    -        else:
    -            py_version_info = normalize_version_info(py_version_info)
    -
    -        py_version = '.'.join(map(str, py_version_info[:2]))
    -
    -        self.abi = abi
    -        self.implementation = implementation
    -        self.platform = platform
    -        self.py_version = py_version
    -        self.py_version_info = py_version_info
    -
    -        # This is used to cache the return value of get_tags().
    -        self._valid_tags = None  # type: Optional[List[Pep425Tag]]
    -
    -    def format_given(self):
    -        # type: () -> str
    -        """
    -        Format the given, non-None attributes for display.
    -        """
    -        display_version = None
    -        if self._given_py_version_info is not None:
    -            display_version = '.'.join(
    -                str(part) for part in self._given_py_version_info
    -            )
    -
    -        key_values = [
    -            ('platform', self.platform),
    -            ('version_info', display_version),
    -            ('abi', self.abi),
    -            ('implementation', self.implementation),
    -        ]
    -        return ' '.join(
    -            '{}={!r}'.format(key, value) for key, value in key_values
    -            if value is not None
    -        )
    -
    -    def get_tags(self):
    -        # type: () -> List[Pep425Tag]
    -        """
    -        Return the supported PEP 425 tags to check wheel candidates against.
    -
    -        The tags are returned in order of preference (most preferred first).
    -        """
    -        if self._valid_tags is None:
    -            # Pass versions=None if no py_version_info was given since
    -            # versions=None uses special default logic.
    -            py_version_info = self._given_py_version_info
    -            if py_version_info is None:
    -                versions = None
    -            else:
    -                versions = [version_info_to_nodot(py_version_info)]
    -
    -            tags = get_supported(
    -                versions=versions,
    -                platform=self.platform,
    -                abi=self.abi,
    -                impl=self.implementation,
    -            )
    -            self._valid_tags = tags
    -
    -        return self._valid_tags
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/__init__.py
    deleted file mode 100644
    index b51bde9..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/__init__.py
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -"""Contains purely network-related utilities.
    -"""
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/auth.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/auth.py
    deleted file mode 100644
    index 1e1da54..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/auth.py
    +++ /dev/null
    @@ -1,298 +0,0 @@
    -"""Network Authentication Helpers
    -
    -Contains interface (MultiDomainBasicAuth) and associated glue code for
    -providing credentials in the context of network requests.
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import logging
    -
    -from pip._vendor.requests.auth import AuthBase, HTTPBasicAuth
    -from pip._vendor.requests.utils import get_netrc_auth
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -
    -from pip._internal.utils.misc import (
    -    ask,
    -    ask_input,
    -    ask_password,
    -    remove_auth_from_url,
    -    split_auth_netloc_from_url,
    -)
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from optparse import Values
    -    from typing import Dict, Optional, Tuple
    -
    -    from pip._internal.vcs.versioncontrol import AuthInfo
    -
    -    Credentials = Tuple[str, str, str]
    -
    -logger = logging.getLogger(__name__)
    -
    -try:
    -    import keyring  # noqa
    -except ImportError:
    -    keyring = None
    -except Exception as exc:
    -    logger.warning(
    -        "Keyring is skipped due to an exception: %s", str(exc),
    -    )
    -    keyring = None
    -
    -
    -def get_keyring_auth(url, username):
    -    """Return the tuple auth for a given url from keyring."""
    -    if not url or not keyring:
    -        return None
    -
    -    try:
    -        try:
    -            get_credential = keyring.get_credential
    -        except AttributeError:
    -            pass
    -        else:
    -            logger.debug("Getting credentials from keyring for %s", url)
    -            cred = get_credential(url, username)
    -            if cred is not None:
    -                return cred.username, cred.password
    -            return None
    -
    -        if username:
    -            logger.debug("Getting password from keyring for %s", url)
    -            password = keyring.get_password(url, username)
    -            if password:
    -                return username, password
    -
    -    except Exception as exc:
    -        logger.warning(
    -            "Keyring is skipped due to an exception: %s", str(exc),
    -        )
    -
    -
    -class MultiDomainBasicAuth(AuthBase):
    -
    -    def __init__(self, prompting=True, index_urls=None):
    -        # type: (bool, Optional[Values]) -> None
    -        self.prompting = prompting
    -        self.index_urls = index_urls
    -        self.passwords = {}  # type: Dict[str, AuthInfo]
    -        # When the user is prompted to enter credentials and keyring is
    -        # available, we will offer to save them. If the user accepts,
    -        # this value is set to the credentials they entered. After the
    -        # request authenticates, the caller should call
    -        # ``save_credentials`` to save these.
    -        self._credentials_to_save = None  # type: Optional[Credentials]
    -
    -    def _get_index_url(self, url):
    -        """Return the original index URL matching the requested URL.
    -
    -        Cached or dynamically generated credentials may work against
    -        the original index URL rather than just the netloc.
    -
    -        The provided url should have had its username and password
    -        removed already. If the original index url had credentials then
    -        they will be included in the return value.
    -
    -        Returns None if no matching index was found, or if --no-index
    -        was specified by the user.
    -        """
    -        if not url or not self.index_urls:
    -            return None
    -
    -        for u in self.index_urls:
    -            prefix = remove_auth_from_url(u).rstrip("/") + "/"
    -            if url.startswith(prefix):
    -                return u
    -
    -    def _get_new_credentials(self, original_url, allow_netrc=True,
    -                             allow_keyring=True):
    -        """Find and return credentials for the specified URL."""
    -        # Split the credentials and netloc from the url.
    -        url, netloc, url_user_password = split_auth_netloc_from_url(
    -            original_url,
    -        )
    -
    -        # Start with the credentials embedded in the url
    -        username, password = url_user_password
    -        if username is not None and password is not None:
    -            logger.debug("Found credentials in url for %s", netloc)
    -            return url_user_password
    -
    -        # Find a matching index url for this request
    -        index_url = self._get_index_url(url)
    -        if index_url:
    -            # Split the credentials from the url.
    -            index_info = split_auth_netloc_from_url(index_url)
    -            if index_info:
    -                index_url, _, index_url_user_password = index_info
    -                logger.debug("Found index url %s", index_url)
    -
    -        # If an index URL was found, try its embedded credentials
    -        if index_url and index_url_user_password[0] is not None:
    -            username, password = index_url_user_password
    -            if username is not None and password is not None:
    -                logger.debug("Found credentials in index url for %s", netloc)
    -                return index_url_user_password
    -
    -        # Get creds from netrc if we still don't have them
    -        if allow_netrc:
    -            netrc_auth = get_netrc_auth(original_url)
    -            if netrc_auth:
    -                logger.debug("Found credentials in netrc for %s", netloc)
    -                return netrc_auth
    -
    -        # If we don't have a password and keyring is available, use it.
    -        if allow_keyring:
    -            # The index url is more specific than the netloc, so try it first
    -            kr_auth = (
    -                get_keyring_auth(index_url, username) or
    -                get_keyring_auth(netloc, username)
    -            )
    -            if kr_auth:
    -                logger.debug("Found credentials in keyring for %s", netloc)
    -                return kr_auth
    -
    -        return username, password
    -
    -    def _get_url_and_credentials(self, original_url):
    -        """Return the credentials to use for the provided URL.
    -
    -        If allowed, netrc and keyring may be used to obtain the
    -        correct credentials.
    -
    -        Returns (url_without_credentials, username, password). Note
    -        that even if the original URL contains credentials, this
    -        function may return a different username and password.
    -        """
    -        url, netloc, _ = split_auth_netloc_from_url(original_url)
    -
    -        # Use any stored credentials that we have for this netloc
    -        username, password = self.passwords.get(netloc, (None, None))
    -
    -        if username is None and password is None:
    -            # No stored credentials. Acquire new credentials without prompting
    -            # the user. (e.g. from netrc, keyring, or the URL itself)
    -            username, password = self._get_new_credentials(original_url)
    -
    -        if username is not None or password is not None:
    -            # Convert the username and password if they're None, so that
    -            # this netloc will show up as "cached" in the conditional above.
    -            # Further, HTTPBasicAuth doesn't accept None, so it makes sense to
    -            # cache the value that is going to be used.
    -            username = username or ""
    -            password = password or ""
    -
    -            # Store any acquired credentials.
    -            self.passwords[netloc] = (username, password)
    -
    -        assert (
    -            # Credentials were found
    -            (username is not None and password is not None) or
    -            # Credentials were not found
    -            (username is None and password is None)
    -        ), "Could not load credentials from url: {}".format(original_url)
    -
    -        return url, username, password
    -
    -    def __call__(self, req):
    -        # Get credentials for this request
    -        url, username, password = self._get_url_and_credentials(req.url)
    -
    -        # Set the url of the request to the url without any credentials
    -        req.url = url
    -
    -        if username is not None and password is not None:
    -            # Send the basic auth with this request
    -            req = HTTPBasicAuth(username, password)(req)
    -
    -        # Attach a hook to handle 401 responses
    -        req.register_hook("response", self.handle_401)
    -
    -        return req
    -
    -    # Factored out to allow for easy patching in tests
    -    def _prompt_for_password(self, netloc):
    -        username = ask_input("User for %s: " % netloc)
    -        if not username:
    -            return None, None
    -        auth = get_keyring_auth(netloc, username)
    -        if auth:
    -            return auth[0], auth[1], False
    -        password = ask_password("Password: ")
    -        return username, password, True
    -
    -    # Factored out to allow for easy patching in tests
    -    def _should_save_password_to_keyring(self):
    -        if not keyring:
    -            return False
    -        return ask("Save credentials to keyring [y/N]: ", ["y", "n"]) == "y"
    -
    -    def handle_401(self, resp, **kwargs):
    -        # We only care about 401 responses, anything else we want to just
    -        #   pass through the actual response
    -        if resp.status_code != 401:
    -            return resp
    -
    -        # We are not able to prompt the user so simply return the response
    -        if not self.prompting:
    -            return resp
    -
    -        parsed = urllib_parse.urlparse(resp.url)
    -
    -        # Prompt the user for a new username and password
    -        username, password, save = self._prompt_for_password(parsed.netloc)
    -
    -        # Store the new username and password to use for future requests
    -        self._credentials_to_save = None
    -        if username is not None and password is not None:
    -            self.passwords[parsed.netloc] = (username, password)
    -
    -            # Prompt to save the password to keyring
    -            if save and self._should_save_password_to_keyring():
    -                self._credentials_to_save = (parsed.netloc, username, password)
    -
    -        # Consume content and release the original connection to allow our new
    -        #   request to reuse the same one.
    -        resp.content
    -        resp.raw.release_conn()
    -
    -        # Add our new username and password to the request
    -        req = HTTPBasicAuth(username or "", password or "")(resp.request)
    -        req.register_hook("response", self.warn_on_401)
    -
    -        # On successful request, save the credentials that were used to
    -        # keyring. (Note that if the user responded "no" above, this member
    -        # is not set and nothing will be saved.)
    -        if self._credentials_to_save:
    -            req.register_hook("response", self.save_credentials)
    -
    -        # Send our new request
    -        new_resp = resp.connection.send(req, **kwargs)
    -        new_resp.history.append(resp)
    -
    -        return new_resp
    -
    -    def warn_on_401(self, resp, **kwargs):
    -        """Response callback to warn about incorrect credentials."""
    -        if resp.status_code == 401:
    -            logger.warning(
    -                '401 Error, Credentials not correct for %s', resp.request.url,
    -            )
    -
    -    def save_credentials(self, resp, **kwargs):
    -        """Response callback to save credentials on success."""
    -        assert keyring is not None, "should never reach here without keyring"
    -        if not keyring:
    -            return
    -
    -        creds = self._credentials_to_save
    -        self._credentials_to_save = None
    -        if creds and resp.status_code < 400:
    -            try:
    -                logger.info('Saving credentials to keyring')
    -                keyring.set_password(*creds)
    -            except Exception:
    -                logger.exception('Failed to save credentials')
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/cache.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/cache.py
    deleted file mode 100644
    index d23c0ff..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/cache.py
    +++ /dev/null
    @@ -1,75 +0,0 @@
    -"""HTTP cache implementation.
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import os
    -from contextlib import contextmanager
    -
    -from pip._vendor.cachecontrol.cache import BaseCache
    -from pip._vendor.cachecontrol.caches import FileCache
    -
    -from pip._internal.utils.filesystem import adjacent_tmp_file, replace
    -from pip._internal.utils.misc import ensure_dir
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional
    -
    -
    -@contextmanager
    -def suppressed_cache_errors():
    -    """If we can't access the cache then we can just skip caching and process
    -    requests as if caching wasn't enabled.
    -    """
    -    try:
    -        yield
    -    except (OSError, IOError):
    -        pass
    -
    -
    -class SafeFileCache(BaseCache):
    -    """
    -    A file based cache which is safe to use even when the target directory may
    -    not be accessible or writable.
    -    """
    -
    -    def __init__(self, directory):
    -        # type: (str) -> None
    -        assert directory is not None, "Cache directory must not be None."
    -        super(SafeFileCache, self).__init__()
    -        self.directory = directory
    -
    -    def _get_cache_path(self, name):
    -        # type: (str) -> str
    -        # From cachecontrol.caches.file_cache.FileCache._fn, brought into our
    -        # class for backwards-compatibility and to avoid using a non-public
    -        # method.
    -        hashed = FileCache.encode(name)
    -        parts = list(hashed[:5]) + [hashed]
    -        return os.path.join(self.directory, *parts)
    -
    -    def get(self, key):
    -        # type: (str) -> Optional[bytes]
    -        path = self._get_cache_path(key)
    -        with suppressed_cache_errors():
    -            with open(path, 'rb') as f:
    -                return f.read()
    -
    -    def set(self, key, value):
    -        # type: (str, bytes) -> None
    -        path = self._get_cache_path(key)
    -        with suppressed_cache_errors():
    -            ensure_dir(os.path.dirname(path))
    -
    -            with adjacent_tmp_file(path) as f:
    -                f.write(value)
    -
    -            replace(f.name, path)
    -
    -    def delete(self, key):
    -        # type: (str) -> None
    -        path = self._get_cache_path(key)
    -        with suppressed_cache_errors():
    -            os.remove(path)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/session.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/session.py
    deleted file mode 100644
    index ac6e262..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/session.py
    +++ /dev/null
    @@ -1,426 +0,0 @@
    -"""PipSession and supporting code, containing all pip-specific
    -network request configuration and behavior.
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import email.utils
    -import json
    -import logging
    -import mimetypes
    -import os
    -import platform
    -import sys
    -import warnings
    -
    -from pip._vendor import requests, six, urllib3
    -from pip._vendor.cachecontrol import CacheControlAdapter
    -from pip._vendor.requests.adapters import BaseAdapter, HTTPAdapter
    -from pip._vendor.requests.models import Response
    -from pip._vendor.requests.structures import CaseInsensitiveDict
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -from pip._vendor.urllib3.exceptions import InsecureRequestWarning
    -
    -from pip import __version__
    -from pip._internal.network.auth import MultiDomainBasicAuth
    -from pip._internal.network.cache import SafeFileCache
    -# Import ssl from compat so the initial import occurs in only one place.
    -from pip._internal.utils.compat import HAS_TLS, ipaddress, ssl
    -from pip._internal.utils.filesystem import check_path_owner
    -from pip._internal.utils.glibc import libc_ver
    -from pip._internal.utils.misc import (
    -    build_url_from_netloc,
    -    get_installed_version,
    -    parse_netloc,
    -)
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.urls import url_to_path
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Iterator, List, Optional, Tuple, Union,
    -    )
    -
    -    from pip._internal.models.link import Link
    -
    -    SecureOrigin = Tuple[str, str, Optional[Union[int, str]]]
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -# Ignore warning raised when using --trusted-host.
    -warnings.filterwarnings("ignore", category=InsecureRequestWarning)
    -
    -
    -SECURE_ORIGINS = [
    -    # protocol, hostname, port
    -    # Taken from Chrome's list of secure origins (See: http://bit.ly/1qrySKC)
    -    ("https", "*", "*"),
    -    ("*", "localhost", "*"),
    -    ("*", "127.0.0.0/8", "*"),
    -    ("*", "::1/128", "*"),
    -    ("file", "*", None),
    -    # ssh is always secure.
    -    ("ssh", "*", "*"),
    -]  # type: List[SecureOrigin]
    -
    -
    -# These are environment variables present when running under various
    -# CI systems.  For each variable, some CI systems that use the variable
    -# are indicated.  The collection was chosen so that for each of a number
    -# of popular systems, at least one of the environment variables is used.
    -# This list is used to provide some indication of and lower bound for
    -# CI traffic to PyPI.  Thus, it is okay if the list is not comprehensive.
    -# For more background, see: https://github.com/pypa/pip/issues/5499
    -CI_ENVIRONMENT_VARIABLES = (
    -    # Azure Pipelines
    -    'BUILD_BUILDID',
    -    # Jenkins
    -    'BUILD_ID',
    -    # AppVeyor, CircleCI, Codeship, Gitlab CI, Shippable, Travis CI
    -    'CI',
    -    # Explicit environment variable.
    -    'PIP_IS_CI',
    -)
    -
    -
    -def looks_like_ci():
    -    # type: () -> bool
    -    """
    -    Return whether it looks like pip is running under CI.
    -    """
    -    # We don't use the method of checking for a tty (e.g. using isatty())
    -    # because some CI systems mimic a tty (e.g. Travis CI).  Thus that
    -    # method doesn't provide definitive information in either direction.
    -    return any(name in os.environ for name in CI_ENVIRONMENT_VARIABLES)
    -
    -
    -def user_agent():
    -    """
    -    Return a string representing the user agent.
    -    """
    -    data = {
    -        "installer": {"name": "pip", "version": __version__},
    -        "python": platform.python_version(),
    -        "implementation": {
    -            "name": platform.python_implementation(),
    -        },
    -    }
    -
    -    if data["implementation"]["name"] == 'CPython':
    -        data["implementation"]["version"] = platform.python_version()
    -    elif data["implementation"]["name"] == 'PyPy':
    -        if sys.pypy_version_info.releaselevel == 'final':
    -            pypy_version_info = sys.pypy_version_info[:3]
    -        else:
    -            pypy_version_info = sys.pypy_version_info
    -        data["implementation"]["version"] = ".".join(
    -            [str(x) for x in pypy_version_info]
    -        )
    -    elif data["implementation"]["name"] == 'Jython':
    -        # Complete Guess
    -        data["implementation"]["version"] = platform.python_version()
    -    elif data["implementation"]["name"] == 'IronPython':
    -        # Complete Guess
    -        data["implementation"]["version"] = platform.python_version()
    -
    -    if sys.platform.startswith("linux"):
    -        from pip._vendor import distro
    -        distro_infos = dict(filter(
    -            lambda x: x[1],
    -            zip(["name", "version", "id"], distro.linux_distribution()),
    -        ))
    -        libc = dict(filter(
    -            lambda x: x[1],
    -            zip(["lib", "version"], libc_ver()),
    -        ))
    -        if libc:
    -            distro_infos["libc"] = libc
    -        if distro_infos:
    -            data["distro"] = distro_infos
    -
    -    if sys.platform.startswith("darwin") and platform.mac_ver()[0]:
    -        data["distro"] = {"name": "macOS", "version": platform.mac_ver()[0]}
    -
    -    if platform.system():
    -        data.setdefault("system", {})["name"] = platform.system()
    -
    -    if platform.release():
    -        data.setdefault("system", {})["release"] = platform.release()
    -
    -    if platform.machine():
    -        data["cpu"] = platform.machine()
    -
    -    if HAS_TLS:
    -        data["openssl_version"] = ssl.OPENSSL_VERSION
    -
    -    setuptools_version = get_installed_version("setuptools")
    -    if setuptools_version is not None:
    -        data["setuptools_version"] = setuptools_version
    -
    -    # Use None rather than False so as not to give the impression that
    -    # pip knows it is not being run under CI.  Rather, it is a null or
    -    # inconclusive result.  Also, we include some value rather than no
    -    # value to make it easier to know that the check has been run.
    -    data["ci"] = True if looks_like_ci() else None
    -
    -    user_data = os.environ.get("PIP_USER_AGENT_USER_DATA")
    -    if user_data is not None:
    -        data["user_data"] = user_data
    -
    -    return "{data[installer][name]}/{data[installer][version]} {json}".format(
    -        data=data,
    -        json=json.dumps(data, separators=(",", ":"), sort_keys=True),
    -    )
    -
    -
    -class LocalFSAdapter(BaseAdapter):
    -
    -    def send(self, request, stream=None, timeout=None, verify=None, cert=None,
    -             proxies=None):
    -        pathname = url_to_path(request.url)
    -
    -        resp = Response()
    -        resp.status_code = 200
    -        resp.url = request.url
    -
    -        try:
    -            stats = os.stat(pathname)
    -        except OSError as exc:
    -            resp.status_code = 404
    -            resp.raw = exc
    -        else:
    -            modified = email.utils.formatdate(stats.st_mtime, usegmt=True)
    -            content_type = mimetypes.guess_type(pathname)[0] or "text/plain"
    -            resp.headers = CaseInsensitiveDict({
    -                "Content-Type": content_type,
    -                "Content-Length": stats.st_size,
    -                "Last-Modified": modified,
    -            })
    -
    -            resp.raw = open(pathname, "rb")
    -            resp.close = resp.raw.close
    -
    -        return resp
    -
    -    def close(self):
    -        pass
    -
    -
    -class InsecureHTTPAdapter(HTTPAdapter):
    -
    -    def cert_verify(self, conn, url, verify, cert):
    -        conn.cert_reqs = 'CERT_NONE'
    -        conn.ca_certs = None
    -
    -
    -class PipSession(requests.Session):
    -
    -    timeout = None  # type: Optional[int]
    -
    -    def __init__(self, *args, **kwargs):
    -        """
    -        :param trusted_hosts: Domains not to emit warnings for when not using
    -            HTTPS.
    -        """
    -        retries = kwargs.pop("retries", 0)
    -        cache = kwargs.pop("cache", None)
    -        trusted_hosts = kwargs.pop("trusted_hosts", [])  # type: List[str]
    -        index_urls = kwargs.pop("index_urls", None)
    -
    -        super(PipSession, self).__init__(*args, **kwargs)
    -
    -        # Namespace the attribute with "pip_" just in case to prevent
    -        # possible conflicts with the base class.
    -        self.pip_trusted_origins = []  # type: List[Tuple[str, Optional[int]]]
    -
    -        # Attach our User Agent to the request
    -        self.headers["User-Agent"] = user_agent()
    -
    -        # Attach our Authentication handler to the session
    -        self.auth = MultiDomainBasicAuth(index_urls=index_urls)
    -
    -        # Create our urllib3.Retry instance which will allow us to customize
    -        # how we handle retries.
    -        retries = urllib3.Retry(
    -            # Set the total number of retries that a particular request can
    -            # have.
    -            total=retries,
    -
    -            # A 503 error from PyPI typically means that the Fastly -> Origin
    -            # connection got interrupted in some way. A 503 error in general
    -            # is typically considered a transient error so we'll go ahead and
    -            # retry it.
    -            # A 500 may indicate transient error in Amazon S3
    -            # A 520 or 527 - may indicate transient error in CloudFlare
    -            status_forcelist=[500, 503, 520, 527],
    -
    -            # Add a small amount of back off between failed requests in
    -            # order to prevent hammering the service.
    -            backoff_factor=0.25,
    -        )
    -
    -        # Check to ensure that the directory containing our cache directory
    -        # is owned by the user current executing pip. If it does not exist
    -        # we will check the parent directory until we find one that does exist.
    -        if cache and not check_path_owner(cache):
    -            logger.warning(
    -                "The directory '%s' or its parent directory is not owned by "
    -                "the current user and the cache has been disabled. Please "
    -                "check the permissions and owner of that directory. If "
    -                "executing pip with sudo, you may want sudo's -H flag.",
    -                cache,
    -            )
    -            cache = None
    -
    -        # We want to _only_ cache responses on securely fetched origins. We do
    -        # this because we can't validate the response of an insecurely fetched
    -        # origin, and we don't want someone to be able to poison the cache and
    -        # require manual eviction from the cache to fix it.
    -        if cache:
    -            secure_adapter = CacheControlAdapter(
    -                cache=SafeFileCache(cache),
    -                max_retries=retries,
    -            )
    -        else:
    -            secure_adapter = HTTPAdapter(max_retries=retries)
    -
    -        # Our Insecure HTTPAdapter disables HTTPS validation. It does not
    -        # support caching (see above) so we'll use it for all http:// URLs as
    -        # well as any https:// host that we've marked as ignoring TLS errors
    -        # for.
    -        insecure_adapter = InsecureHTTPAdapter(max_retries=retries)
    -        # Save this for later use in add_insecure_host().
    -        self._insecure_adapter = insecure_adapter
    -
    -        self.mount("https://", secure_adapter)
    -        self.mount("http://", insecure_adapter)
    -
    -        # Enable file:// urls
    -        self.mount("file://", LocalFSAdapter())
    -
    -        for host in trusted_hosts:
    -            self.add_trusted_host(host, suppress_logging=True)
    -
    -    def add_trusted_host(self, host, source=None, suppress_logging=False):
    -        # type: (str, Optional[str], bool) -> None
    -        """
    -        :param host: It is okay to provide a host that has previously been
    -            added.
    -        :param source: An optional source string, for logging where the host
    -            string came from.
    -        """
    -        if not suppress_logging:
    -            msg = 'adding trusted host: {!r}'.format(host)
    -            if source is not None:
    -                msg += ' (from {})'.format(source)
    -            logger.info(msg)
    -
    -        host_port = parse_netloc(host)
    -        if host_port not in self.pip_trusted_origins:
    -            self.pip_trusted_origins.append(host_port)
    -
    -        self.mount(build_url_from_netloc(host) + '/', self._insecure_adapter)
    -        if not host_port[1]:
    -            # Mount wildcard ports for the same host.
    -            self.mount(
    -                build_url_from_netloc(host) + ':',
    -                self._insecure_adapter
    -            )
    -
    -    def iter_secure_origins(self):
    -        # type: () -> Iterator[SecureOrigin]
    -        for secure_origin in SECURE_ORIGINS:
    -            yield secure_origin
    -        for host, port in self.pip_trusted_origins:
    -            yield ('*', host, '*' if port is None else port)
    -
    -    def is_secure_origin(self, location):
    -        # type: (Link) -> bool
    -        # Determine if this url used a secure transport mechanism
    -        parsed = urllib_parse.urlparse(str(location))
    -        origin_protocol, origin_host, origin_port = (
    -            parsed.scheme, parsed.hostname, parsed.port,
    -        )
    -
    -        # The protocol to use to see if the protocol matches.
    -        # Don't count the repository type as part of the protocol: in
    -        # cases such as "git+ssh", only use "ssh". (I.e., Only verify against
    -        # the last scheme.)
    -        origin_protocol = origin_protocol.rsplit('+', 1)[-1]
    -
    -        # Determine if our origin is a secure origin by looking through our
    -        # hardcoded list of secure origins, as well as any additional ones
    -        # configured on this PackageFinder instance.
    -        for secure_origin in self.iter_secure_origins():
    -            secure_protocol, secure_host, secure_port = secure_origin
    -            if origin_protocol != secure_protocol and secure_protocol != "*":
    -                continue
    -
    -            try:
    -                # We need to do this decode dance to ensure that we have a
    -                # unicode object, even on Python 2.x.
    -                addr = ipaddress.ip_address(
    -                    origin_host
    -                    if (
    -                        isinstance(origin_host, six.text_type) or
    -                        origin_host is None
    -                    )
    -                    else origin_host.decode("utf8")
    -                )
    -                network = ipaddress.ip_network(
    -                    secure_host
    -                    if isinstance(secure_host, six.text_type)
    -                    # setting secure_host to proper Union[bytes, str]
    -                    # creates problems in other places
    -                    else secure_host.decode("utf8")  # type: ignore
    -                )
    -            except ValueError:
    -                # We don't have both a valid address or a valid network, so
    -                # we'll check this origin against hostnames.
    -                if (
    -                    origin_host and
    -                    origin_host.lower() != secure_host.lower() and
    -                    secure_host != "*"
    -                ):
    -                    continue
    -            else:
    -                # We have a valid address and network, so see if the address
    -                # is contained within the network.
    -                if addr not in network:
    -                    continue
    -
    -            # Check to see if the port matches.
    -            if (
    -                origin_port != secure_port and
    -                secure_port != "*" and
    -                secure_port is not None
    -            ):
    -                continue
    -
    -            # If we've gotten here, then this origin matches the current
    -            # secure origin and we should return True
    -            return True
    -
    -        # If we've gotten to this point, then the origin isn't secure and we
    -        # will not accept it as a valid location to search. We will however
    -        # log a warning that we are ignoring it.
    -        logger.warning(
    -            "The repository located at %s is not a trusted or secure host and "
    -            "is being ignored. If this repository is available via HTTPS we "
    -            "recommend you use HTTPS instead, otherwise you may silence "
    -            "this warning and allow it anyway with '--trusted-host %s'.",
    -            origin_host,
    -            origin_host,
    -        )
    -
    -        return False
    -
    -    def request(self, method, url, *args, **kwargs):
    -        # Allow setting a default timeout on a session
    -        kwargs.setdefault("timeout", self.timeout)
    -
    -        # Dispatch the actual request
    -        return super(PipSession, self).request(method, url, *args, **kwargs)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/xmlrpc.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/xmlrpc.py
    deleted file mode 100644
    index 121edd9..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/network/xmlrpc.py
    +++ /dev/null
    @@ -1,44 +0,0 @@
    -"""xmlrpclib.Transport implementation
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import logging
    -
    -from pip._vendor import requests
    -# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is
    -#       why we ignore the type on this import
    -from pip._vendor.six.moves import xmlrpc_client  # type: ignore
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class PipXmlrpcTransport(xmlrpc_client.Transport):
    -    """Provide a `xmlrpclib.Transport` implementation via a `PipSession`
    -    object.
    -    """
    -
    -    def __init__(self, index_url, session, use_datetime=False):
    -        xmlrpc_client.Transport.__init__(self, use_datetime)
    -        index_parts = urllib_parse.urlparse(index_url)
    -        self._scheme = index_parts.scheme
    -        self._session = session
    -
    -    def request(self, host, handler, request_body, verbose=False):
    -        parts = (self._scheme, host, handler, None, None, None)
    -        url = urllib_parse.urlunparse(parts)
    -        try:
    -            headers = {'Content-Type': 'text/xml'}
    -            response = self._session.post(url, data=request_body,
    -                                          headers=headers, stream=True)
    -            response.raise_for_status()
    -            self.verbose = verbose
    -            return self.parse_response(response.raw)
    -        except requests.HTTPError as exc:
    -            logger.critical(
    -                "HTTP error %s while getting %s",
    -                exc.response.status_code, url,
    -            )
    -            raise
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/__init__.py
    deleted file mode 100644
    index e69de29..0000000
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/check.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/check.py
    deleted file mode 100644
    index 6bd1884..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/check.py
    +++ /dev/null
    @@ -1,163 +0,0 @@
    -"""Validation of dependencies of packages
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -import logging
    -from collections import namedtuple
    -
    -from pip._vendor.packaging.utils import canonicalize_name
    -from pip._vendor.pkg_resources import RequirementParseError
    -
    -from pip._internal.distributions import (
    -    make_distribution_for_install_requirement,
    -)
    -from pip._internal.utils.misc import get_installed_distributions
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -logger = logging.getLogger(__name__)
    -
    -if MYPY_CHECK_RUNNING:
    -    from pip._internal.req.req_install import InstallRequirement
    -    from typing import (
    -        Any, Callable, Dict, Optional, Set, Tuple, List
    -    )
    -
    -    # Shorthands
    -    PackageSet = Dict[str, 'PackageDetails']
    -    Missing = Tuple[str, Any]
    -    Conflicting = Tuple[str, str, Any]
    -
    -    MissingDict = Dict[str, List[Missing]]
    -    ConflictingDict = Dict[str, List[Conflicting]]
    -    CheckResult = Tuple[MissingDict, ConflictingDict]
    -
    -PackageDetails = namedtuple('PackageDetails', ['version', 'requires'])
    -
    -
    -def create_package_set_from_installed(**kwargs):
    -    # type: (**Any) -> Tuple[PackageSet, bool]
    -    """Converts a list of distributions into a PackageSet.
    -    """
    -    # Default to using all packages installed on the system
    -    if kwargs == {}:
    -        kwargs = {"local_only": False, "skip": ()}
    -
    -    package_set = {}
    -    problems = False
    -    for dist in get_installed_distributions(**kwargs):
    -        name = canonicalize_name(dist.project_name)
    -        try:
    -            package_set[name] = PackageDetails(dist.version, dist.requires())
    -        except RequirementParseError as e:
    -            # Don't crash on broken metadata
    -            logging.warning("Error parsing requirements for %s: %s", name, e)
    -            problems = True
    -    return package_set, problems
    -
    -
    -def check_package_set(package_set, should_ignore=None):
    -    # type: (PackageSet, Optional[Callable[[str], bool]]) -> CheckResult
    -    """Check if a package set is consistent
    -
    -    If should_ignore is passed, it should be a callable that takes a
    -    package name and returns a boolean.
    -    """
    -    if should_ignore is None:
    -        def should_ignore(name):
    -            return False
    -
    -    missing = {}
    -    conflicting = {}
    -
    -    for package_name in package_set:
    -        # Info about dependencies of package_name
    -        missing_deps = set()  # type: Set[Missing]
    -        conflicting_deps = set()  # type: Set[Conflicting]
    -
    -        if should_ignore(package_name):
    -            continue
    -
    -        for req in package_set[package_name].requires:
    -            name = canonicalize_name(req.project_name)  # type: str
    -
    -            # Check if it's missing
    -            if name not in package_set:
    -                missed = True
    -                if req.marker is not None:
    -                    missed = req.marker.evaluate()
    -                if missed:
    -                    missing_deps.add((name, req))
    -                continue
    -
    -            # Check if there's a conflict
    -            version = package_set[name].version  # type: str
    -            if not req.specifier.contains(version, prereleases=True):
    -                conflicting_deps.add((name, version, req))
    -
    -        if missing_deps:
    -            missing[package_name] = sorted(missing_deps, key=str)
    -        if conflicting_deps:
    -            conflicting[package_name] = sorted(conflicting_deps, key=str)
    -
    -    return missing, conflicting
    -
    -
    -def check_install_conflicts(to_install):
    -    # type: (List[InstallRequirement]) -> Tuple[PackageSet, CheckResult]
    -    """For checking if the dependency graph would be consistent after \
    -    installing given requirements
    -    """
    -    # Start from the current state
    -    package_set, _ = create_package_set_from_installed()
    -    # Install packages
    -    would_be_installed = _simulate_installation_of(to_install, package_set)
    -
    -    # Only warn about directly-dependent packages; create a whitelist of them
    -    whitelist = _create_whitelist(would_be_installed, package_set)
    -
    -    return (
    -        package_set,
    -        check_package_set(
    -            package_set, should_ignore=lambda name: name not in whitelist
    -        )
    -    )
    -
    -
    -def _simulate_installation_of(to_install, package_set):
    -    # type: (List[InstallRequirement], PackageSet) -> Set[str]
    -    """Computes the version of packages after installing to_install.
    -    """
    -
    -    # Keep track of packages that were installed
    -    installed = set()
    -
    -    # Modify it as installing requirement_set would (assuming no errors)
    -    for inst_req in to_install:
    -        abstract_dist = make_distribution_for_install_requirement(inst_req)
    -        dist = abstract_dist.get_pkg_resources_distribution()
    -
    -        name = canonicalize_name(dist.key)
    -        package_set[name] = PackageDetails(dist.version, dist.requires())
    -
    -        installed.add(name)
    -
    -    return installed
    -
    -
    -def _create_whitelist(would_be_installed, package_set):
    -    # type: (Set[str], PackageSet) -> Set[str]
    -    packages_affected = set(would_be_installed)
    -
    -    for package_name in package_set:
    -        if package_name in packages_affected:
    -            continue
    -
    -        for req in package_set[package_name].requires:
    -            if canonicalize_name(req.name) in packages_affected:
    -                packages_affected.add(package_name)
    -                break
    -
    -    return packages_affected
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/freeze.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/freeze.py
    deleted file mode 100644
    index bfdddf9..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/freeze.py
    +++ /dev/null
    @@ -1,259 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import collections
    -import logging
    -import os
    -import re
    -
    -from pip._vendor import six
    -from pip._vendor.packaging.utils import canonicalize_name
    -from pip._vendor.pkg_resources import RequirementParseError
    -
    -from pip._internal.exceptions import BadCommand, InstallationError
    -from pip._internal.req.constructors import (
    -    install_req_from_editable,
    -    install_req_from_line,
    -)
    -from pip._internal.req.req_file import COMMENT_RE
    -from pip._internal.utils.misc import (
    -    dist_is_editable,
    -    get_installed_distributions,
    -)
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Iterator, Optional, List, Container, Set, Dict, Tuple, Iterable, Union
    -    )
    -    from pip._internal.cache import WheelCache
    -    from pip._vendor.pkg_resources import (
    -        Distribution, Requirement
    -    )
    -
    -    RequirementInfo = Tuple[Optional[Union[str, Requirement]], bool, List[str]]
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def freeze(
    -    requirement=None,  # type: Optional[List[str]]
    -    find_links=None,  # type: Optional[List[str]]
    -    local_only=None,  # type: Optional[bool]
    -    user_only=None,  # type: Optional[bool]
    -    paths=None,  # type: Optional[List[str]]
    -    skip_regex=None,  # type: Optional[str]
    -    isolated=False,  # type: bool
    -    wheel_cache=None,  # type: Optional[WheelCache]
    -    exclude_editable=False,  # type: bool
    -    skip=()  # type: Container[str]
    -):
    -    # type: (...) -> Iterator[str]
    -    find_links = find_links or []
    -    skip_match = None
    -
    -    if skip_regex:
    -        skip_match = re.compile(skip_regex).search
    -
    -    for link in find_links:
    -        yield '-f %s' % link
    -    installations = {}  # type: Dict[str, FrozenRequirement]
    -    for dist in get_installed_distributions(local_only=local_only,
    -                                            skip=(),
    -                                            user_only=user_only,
    -                                            paths=paths):
    -        try:
    -            req = FrozenRequirement.from_dist(dist)
    -        except RequirementParseError as exc:
    -            # We include dist rather than dist.project_name because the
    -            # dist string includes more information, like the version and
    -            # location. We also include the exception message to aid
    -            # troubleshooting.
    -            logger.warning(
    -                'Could not generate requirement for distribution %r: %s',
    -                dist, exc
    -            )
    -            continue
    -        if exclude_editable and req.editable:
    -            continue
    -        installations[req.name] = req
    -
    -    if requirement:
    -        # the options that don't get turned into an InstallRequirement
    -        # should only be emitted once, even if the same option is in multiple
    -        # requirements files, so we need to keep track of what has been emitted
    -        # so that we don't emit it again if it's seen again
    -        emitted_options = set()  # type: Set[str]
    -        # keep track of which files a requirement is in so that we can
    -        # give an accurate warning if a requirement appears multiple times.
    -        req_files = collections.defaultdict(list)  # type: Dict[str, List[str]]
    -        for req_file_path in requirement:
    -            with open(req_file_path) as req_file:
    -                for line in req_file:
    -                    if (not line.strip() or
    -                            line.strip().startswith('#') or
    -                            (skip_match and skip_match(line)) or
    -                            line.startswith((
    -                                '-r', '--requirement',
    -                                '-Z', '--always-unzip',
    -                                '-f', '--find-links',
    -                                '-i', '--index-url',
    -                                '--pre',
    -                                '--trusted-host',
    -                                '--process-dependency-links',
    -                                '--extra-index-url'))):
    -                        line = line.rstrip()
    -                        if line not in emitted_options:
    -                            emitted_options.add(line)
    -                            yield line
    -                        continue
    -
    -                    if line.startswith('-e') or line.startswith('--editable'):
    -                        if line.startswith('-e'):
    -                            line = line[2:].strip()
    -                        else:
    -                            line = line[len('--editable'):].strip().lstrip('=')
    -                        line_req = install_req_from_editable(
    -                            line,
    -                            isolated=isolated,
    -                            wheel_cache=wheel_cache,
    -                        )
    -                    else:
    -                        line_req = install_req_from_line(
    -                            COMMENT_RE.sub('', line).strip(),
    -                            isolated=isolated,
    -                            wheel_cache=wheel_cache,
    -                        )
    -
    -                    if not line_req.name:
    -                        logger.info(
    -                            "Skipping line in requirement file [%s] because "
    -                            "it's not clear what it would install: %s",
    -                            req_file_path, line.strip(),
    -                        )
    -                        logger.info(
    -                            "  (add #egg=PackageName to the URL to avoid"
    -                            " this warning)"
    -                        )
    -                    elif line_req.name not in installations:
    -                        # either it's not installed, or it is installed
    -                        # but has been processed already
    -                        if not req_files[line_req.name]:
    -                            logger.warning(
    -                                "Requirement file [%s] contains %s, but "
    -                                "package %r is not installed",
    -                                req_file_path,
    -                                COMMENT_RE.sub('', line).strip(), line_req.name
    -                            )
    -                        else:
    -                            req_files[line_req.name].append(req_file_path)
    -                    else:
    -                        yield str(installations[line_req.name]).rstrip()
    -                        del installations[line_req.name]
    -                        req_files[line_req.name].append(req_file_path)
    -
    -        # Warn about requirements that were included multiple times (in a
    -        # single requirements file or in different requirements files).
    -        for name, files in six.iteritems(req_files):
    -            if len(files) > 1:
    -                logger.warning("Requirement %s included multiple times [%s]",
    -                               name, ', '.join(sorted(set(files))))
    -
    -        yield(
    -            '## The following requirements were added by '
    -            'pip freeze:'
    -        )
    -    for installation in sorted(
    -            installations.values(), key=lambda x: x.name.lower()):
    -        if canonicalize_name(installation.name) not in skip:
    -            yield str(installation).rstrip()
    -
    -
    -def get_requirement_info(dist):
    -    # type: (Distribution) -> RequirementInfo
    -    """
    -    Compute and return values (req, editable, comments) for use in
    -    FrozenRequirement.from_dist().
    -    """
    -    if not dist_is_editable(dist):
    -        return (None, False, [])
    -
    -    location = os.path.normcase(os.path.abspath(dist.location))
    -
    -    from pip._internal.vcs import vcs, RemoteNotFoundError
    -    vcs_backend = vcs.get_backend_for_dir(location)
    -
    -    if vcs_backend is None:
    -        req = dist.as_requirement()
    -        logger.debug(
    -            'No VCS found for editable requirement "%s" in: %r', req,
    -            location,
    -        )
    -        comments = [
    -            '# Editable install with no version control ({})'.format(req)
    -        ]
    -        return (location, True, comments)
    -
    -    try:
    -        req = vcs_backend.get_src_requirement(location, dist.project_name)
    -    except RemoteNotFoundError:
    -        req = dist.as_requirement()
    -        comments = [
    -            '# Editable {} install with no remote ({})'.format(
    -                type(vcs_backend).__name__, req,
    -            )
    -        ]
    -        return (location, True, comments)
    -
    -    except BadCommand:
    -        logger.warning(
    -            'cannot determine version of editable source in %s '
    -            '(%s command not found in path)',
    -            location,
    -            vcs_backend.name,
    -        )
    -        return (None, True, [])
    -
    -    except InstallationError as exc:
    -        logger.warning(
    -            "Error when trying to get requirement for VCS system %s, "
    -            "falling back to uneditable format", exc
    -        )
    -    else:
    -        if req is not None:
    -            return (req, True, [])
    -
    -    logger.warning(
    -        'Could not determine repository location of %s', location
    -    )
    -    comments = ['## !! Could not determine repository location']
    -
    -    return (None, False, comments)
    -
    -
    -class FrozenRequirement(object):
    -    def __init__(self, name, req, editable, comments=()):
    -        # type: (str, Union[str, Requirement], bool, Iterable[str]) -> None
    -        self.name = name
    -        self.req = req
    -        self.editable = editable
    -        self.comments = comments
    -
    -    @classmethod
    -    def from_dist(cls, dist):
    -        # type: (Distribution) -> FrozenRequirement
    -        req, editable, comments = get_requirement_info(dist)
    -        if req is None:
    -            req = dist.as_requirement()
    -
    -        return cls(dist.project_name, req, editable, comments=comments)
    -
    -    def __str__(self):
    -        req = self.req
    -        if self.editable:
    -            req = '-e %s' % req
    -        return '\n'.join(list(self.comments) + [str(req)]) + '\n'
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/generate_metadata.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/generate_metadata.py
    deleted file mode 100644
    index 984748d..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/generate_metadata.py
    +++ /dev/null
    @@ -1,136 +0,0 @@
    -"""Metadata generation logic for source distributions.
    -"""
    -
    -import logging
    -import os
    -
    -from pip._internal.exceptions import InstallationError
    -from pip._internal.utils.misc import ensure_dir
    -from pip._internal.utils.setuptools_build import make_setuptools_shim_args
    -from pip._internal.utils.subprocess import call_subprocess
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.vcs import vcs
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Callable, List
    -    from pip._internal.req.req_install import InstallRequirement
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def get_metadata_generator(install_req):
    -    # type: (InstallRequirement) -> Callable[[InstallRequirement], str]
    -    """Return a callable metadata generator for this InstallRequirement.
    -
    -    A metadata generator takes an InstallRequirement (install_req) as an input,
    -    generates metadata via the appropriate process for that install_req and
    -    returns the generated metadata directory.
    -    """
    -    if not install_req.use_pep517:
    -        return _generate_metadata_legacy
    -
    -    return _generate_metadata
    -
    -
    -def _find_egg_info(source_directory, is_editable):
    -    # type: (str, bool) -> str
    -    """Find an .egg-info in `source_directory`, based on `is_editable`.
    -    """
    -
    -    def looks_like_virtual_env(path):
    -        # type: (str) -> bool
    -        return (
    -            os.path.lexists(os.path.join(path, 'bin', 'python')) or
    -            os.path.exists(os.path.join(path, 'Scripts', 'Python.exe'))
    -        )
    -
    -    def locate_editable_egg_info(base):
    -        # type: (str) -> List[str]
    -        candidates = []  # type: List[str]
    -        for root, dirs, files in os.walk(base):
    -            for dir_ in vcs.dirnames:
    -                if dir_ in dirs:
    -                    dirs.remove(dir_)
    -            # Iterate over a copy of ``dirs``, since mutating
    -            # a list while iterating over it can cause trouble.
    -            # (See https://github.com/pypa/pip/pull/462.)
    -            for dir_ in list(dirs):
    -                if looks_like_virtual_env(os.path.join(root, dir_)):
    -                    dirs.remove(dir_)
    -                # Also don't search through tests
    -                elif dir_ == 'test' or dir_ == 'tests':
    -                    dirs.remove(dir_)
    -            candidates.extend(os.path.join(root, dir_) for dir_ in dirs)
    -        return [f for f in candidates if f.endswith('.egg-info')]
    -
    -    def depth_of_directory(dir_):
    -        # type: (str) -> int
    -        return (
    -            dir_.count(os.path.sep) +
    -            (os.path.altsep and dir_.count(os.path.altsep) or 0)
    -        )
    -
    -    base = source_directory
    -    if is_editable:
    -        filenames = locate_editable_egg_info(base)
    -    else:
    -        base = os.path.join(base, 'pip-egg-info')
    -        filenames = os.listdir(base)
    -
    -    if not filenames:
    -        raise InstallationError(
    -            "Files/directories not found in %s" % base
    -        )
    -
    -    # If we have more than one match, we pick the toplevel one.  This
    -    # can easily be the case if there is a dist folder which contains
    -    # an extracted tarball for testing purposes.
    -    if len(filenames) > 1:
    -        filenames.sort(key=depth_of_directory)
    -
    -    return os.path.join(base, filenames[0])
    -
    -
    -def _generate_metadata_legacy(install_req):
    -    # type: (InstallRequirement) -> str
    -    req_details_str = install_req.name or "from {}".format(install_req.link)
    -    logger.debug(
    -        'Running setup.py (path:%s) egg_info for package %s',
    -        install_req.setup_py_path, req_details_str,
    -    )
    -
    -    # Compose arguments for subprocess call
    -    base_cmd = make_setuptools_shim_args(install_req.setup_py_path)
    -    if install_req.isolated:
    -        base_cmd += ["--no-user-cfg"]
    -
    -    # For non-editable installs, don't put the .egg-info files at the root,
    -    # to avoid confusion due to the source code being considered an installed
    -    # egg.
    -    egg_base_option = []  # type: List[str]
    -    if not install_req.editable:
    -        egg_info_dir = os.path.join(
    -            install_req.unpacked_source_directory, 'pip-egg-info',
    -        )
    -        egg_base_option = ['--egg-base', egg_info_dir]
    -
    -        # setuptools complains if the target directory does not exist.
    -        ensure_dir(egg_info_dir)
    -
    -    with install_req.build_env:
    -        call_subprocess(
    -            base_cmd + ["egg_info"] + egg_base_option,
    -            cwd=install_req.unpacked_source_directory,
    -            command_desc='python setup.py egg_info',
    -        )
    -
    -    # Return the .egg-info directory.
    -    return _find_egg_info(
    -        install_req.unpacked_source_directory,
    -        install_req.editable,
    -    )
    -
    -
    -def _generate_metadata(install_req):
    -    # type: (InstallRequirement) -> str
    -    return install_req.prepare_pep517_metadata()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/prepare.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/prepare.py
    deleted file mode 100644
    index d093045..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/operations/prepare.py
    +++ /dev/null
    @@ -1,295 +0,0 @@
    -"""Prepares a distribution for installation
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -import logging
    -import os
    -
    -from pip._vendor import requests
    -
    -from pip._internal.distributions import (
    -    make_distribution_for_install_requirement,
    -)
    -from pip._internal.distributions.installed import InstalledDistribution
    -from pip._internal.download import unpack_url
    -from pip._internal.exceptions import (
    -    DirectoryUrlHashUnsupported,
    -    HashUnpinned,
    -    InstallationError,
    -    PreviousBuildDirError,
    -    VcsHashUnsupported,
    -)
    -from pip._internal.utils.compat import expanduser
    -from pip._internal.utils.hashes import MissingHashes
    -from pip._internal.utils.logging import indent_log
    -from pip._internal.utils.marker_files import write_delete_marker_file
    -from pip._internal.utils.misc import display_path, normalize_path
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional
    -
    -    from pip._internal.distributions import AbstractDistribution
    -    from pip._internal.index import PackageFinder
    -    from pip._internal.network.session import PipSession
    -    from pip._internal.req.req_install import InstallRequirement
    -    from pip._internal.req.req_tracker import RequirementTracker
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def _get_prepared_distribution(req, req_tracker, finder, build_isolation):
    -    """Prepare a distribution for installation.
    -    """
    -    abstract_dist = make_distribution_for_install_requirement(req)
    -    with req_tracker.track(req):
    -        abstract_dist.prepare_distribution_metadata(finder, build_isolation)
    -    return abstract_dist
    -
    -
    -class RequirementPreparer(object):
    -    """Prepares a Requirement
    -    """
    -
    -    def __init__(
    -        self,
    -        build_dir,  # type: str
    -        download_dir,  # type: Optional[str]
    -        src_dir,  # type: str
    -        wheel_download_dir,  # type: Optional[str]
    -        progress_bar,  # type: str
    -        build_isolation,  # type: bool
    -        req_tracker  # type: RequirementTracker
    -    ):
    -        # type: (...) -> None
    -        super(RequirementPreparer, self).__init__()
    -
    -        self.src_dir = src_dir
    -        self.build_dir = build_dir
    -        self.req_tracker = req_tracker
    -
    -        # Where still-packed archives should be written to. If None, they are
    -        # not saved, and are deleted immediately after unpacking.
    -        if download_dir:
    -            download_dir = expanduser(download_dir)
    -        self.download_dir = download_dir
    -
    -        # Where still-packed .whl files should be written to. If None, they are
    -        # written to the download_dir parameter. Separate to download_dir to
    -        # permit only keeping wheel archives for pip wheel.
    -        if wheel_download_dir:
    -            wheel_download_dir = normalize_path(wheel_download_dir)
    -        self.wheel_download_dir = wheel_download_dir
    -
    -        # NOTE
    -        # download_dir and wheel_download_dir overlap semantically and may
    -        # be combined if we're willing to have non-wheel archives present in
    -        # the wheelhouse output by 'pip wheel'.
    -
    -        self.progress_bar = progress_bar
    -
    -        # Is build isolation allowed?
    -        self.build_isolation = build_isolation
    -
    -    @property
    -    def _download_should_save(self):
    -        # type: () -> bool
    -        if not self.download_dir:
    -            return False
    -
    -        if os.path.exists(self.download_dir):
    -            return True
    -
    -        logger.critical('Could not find download directory')
    -        raise InstallationError(
    -            "Could not find or access download directory '%s'"
    -            % display_path(self.download_dir))
    -
    -    def prepare_linked_requirement(
    -        self,
    -        req,  # type: InstallRequirement
    -        session,  # type: PipSession
    -        finder,  # type: PackageFinder
    -        require_hashes,  # type: bool
    -    ):
    -        # type: (...) -> AbstractDistribution
    -        """Prepare a requirement that would be obtained from req.link
    -        """
    -        assert req.link
    -        link = req.link
    -
    -        # TODO: Breakup into smaller functions
    -        if link.scheme == 'file':
    -            path = link.file_path
    -            logger.info('Processing %s', display_path(path))
    -        else:
    -            logger.info('Collecting %s', req.req or req)
    -
    -        with indent_log():
    -            # @@ if filesystem packages are not marked
    -            # editable in a req, a non deterministic error
    -            # occurs when the script attempts to unpack the
    -            # build directory
    -            req.ensure_has_source_dir(self.build_dir)
    -            # If a checkout exists, it's unwise to keep going.  version
    -            # inconsistencies are logged later, but do not fail the
    -            # installation.
    -            # FIXME: this won't upgrade when there's an existing
    -            # package unpacked in `req.source_dir`
    -            if os.path.exists(os.path.join(req.source_dir, 'setup.py')):
    -                raise PreviousBuildDirError(
    -                    "pip can't proceed with requirements '%s' due to a"
    -                    " pre-existing build directory (%s). This is "
    -                    "likely due to a previous installation that failed"
    -                    ". pip is being responsible and not assuming it "
    -                    "can delete this. Please delete it and try again."
    -                    % (req, req.source_dir)
    -                )
    -
    -            # Now that we have the real link, we can tell what kind of
    -            # requirements we have and raise some more informative errors
    -            # than otherwise. (For example, we can raise VcsHashUnsupported
    -            # for a VCS URL rather than HashMissing.)
    -            if require_hashes:
    -                # We could check these first 2 conditions inside
    -                # unpack_url and save repetition of conditions, but then
    -                # we would report less-useful error messages for
    -                # unhashable requirements, complaining that there's no
    -                # hash provided.
    -                if link.is_vcs:
    -                    raise VcsHashUnsupported()
    -                elif link.is_existing_dir():
    -                    raise DirectoryUrlHashUnsupported()
    -                if not req.original_link and not req.is_pinned:
    -                    # Unpinned packages are asking for trouble when a new
    -                    # version is uploaded. This isn't a security check, but
    -                    # it saves users a surprising hash mismatch in the
    -                    # future.
    -                    #
    -                    # file:/// URLs aren't pinnable, so don't complain
    -                    # about them not being pinned.
    -                    raise HashUnpinned()
    -
    -            hashes = req.hashes(trust_internet=not require_hashes)
    -            if require_hashes and not hashes:
    -                # Known-good hashes are missing for this requirement, so
    -                # shim it with a facade object that will provoke hash
    -                # computation and then raise a HashMissing exception
    -                # showing the user what the hash should be.
    -                hashes = MissingHashes()
    -
    -            download_dir = self.download_dir
    -            if link.is_wheel and self.wheel_download_dir:
    -                # when doing 'pip wheel` we download wheels to a
    -                # dedicated dir.
    -                download_dir = self.wheel_download_dir
    -
    -            try:
    -                unpack_url(
    -                    link, req.source_dir, download_dir,
    -                    session=session, hashes=hashes,
    -                    progress_bar=self.progress_bar
    -                )
    -            except requests.HTTPError as exc:
    -                logger.critical(
    -                    'Could not install requirement %s because of error %s',
    -                    req,
    -                    exc,
    -                )
    -                raise InstallationError(
    -                    'Could not install requirement %s because of HTTP '
    -                    'error %s for URL %s' %
    -                    (req, exc, link)
    -                )
    -
    -            if link.is_wheel:
    -                if download_dir:
    -                    # When downloading, we only unpack wheels to get
    -                    # metadata.
    -                    autodelete_unpacked = True
    -                else:
    -                    # When installing a wheel, we use the unpacked
    -                    # wheel.
    -                    autodelete_unpacked = False
    -            else:
    -                # We always delete unpacked sdists after pip runs.
    -                autodelete_unpacked = True
    -            if autodelete_unpacked:
    -                write_delete_marker_file(req.source_dir)
    -
    -            abstract_dist = _get_prepared_distribution(
    -                req, self.req_tracker, finder, self.build_isolation,
    -            )
    -
    -            if self._download_should_save:
    -                # Make a .zip of the source_dir we already created.
    -                if link.is_vcs:
    -                    req.archive(self.download_dir)
    -        return abstract_dist
    -
    -    def prepare_editable_requirement(
    -        self,
    -        req,  # type: InstallRequirement
    -        require_hashes,  # type: bool
    -        use_user_site,  # type: bool
    -        finder  # type: PackageFinder
    -    ):
    -        # type: (...) -> AbstractDistribution
    -        """Prepare an editable requirement
    -        """
    -        assert req.editable, "cannot prepare a non-editable req as editable"
    -
    -        logger.info('Obtaining %s', req)
    -
    -        with indent_log():
    -            if require_hashes:
    -                raise InstallationError(
    -                    'The editable requirement %s cannot be installed when '
    -                    'requiring hashes, because there is no single file to '
    -                    'hash.' % req
    -                )
    -            req.ensure_has_source_dir(self.src_dir)
    -            req.update_editable(not self._download_should_save)
    -
    -            abstract_dist = _get_prepared_distribution(
    -                req, self.req_tracker, finder, self.build_isolation,
    -            )
    -
    -            if self._download_should_save:
    -                req.archive(self.download_dir)
    -            req.check_if_exists(use_user_site)
    -
    -        return abstract_dist
    -
    -    def prepare_installed_requirement(
    -        self,
    -        req,  # type: InstallRequirement
    -        require_hashes,  # type: bool
    -        skip_reason  # type: str
    -    ):
    -        # type: (...) -> AbstractDistribution
    -        """Prepare an already-installed requirement
    -        """
    -        assert req.satisfied_by, "req should have been satisfied but isn't"
    -        assert skip_reason is not None, (
    -            "did not get skip reason skipped but req.satisfied_by "
    -            "is set to %r" % (req.satisfied_by,)
    -        )
    -        logger.info(
    -            'Requirement %s: %s (%s)',
    -            skip_reason, req, req.satisfied_by.version
    -        )
    -        with indent_log():
    -            if require_hashes:
    -                logger.debug(
    -                    'Since it is already installed, we are trusting this '
    -                    'package without checking its hash. To ensure a '
    -                    'completely repeatable environment, install into an '
    -                    'empty virtualenv.'
    -                )
    -            abstract_dist = InstalledDistribution(req)
    -
    -        return abstract_dist
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/pep425tags.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/pep425tags.py
    deleted file mode 100644
    index 042ba34..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/pep425tags.py
    +++ /dev/null
    @@ -1,449 +0,0 @@
    -"""Generate and work with PEP 425 Compatibility Tags."""
    -from __future__ import absolute_import
    -
    -import distutils.util
    -import logging
    -import platform
    -import re
    -import sys
    -import sysconfig
    -import warnings
    -from collections import OrderedDict
    -
    -import pip._internal.utils.glibc
    -from pip._internal.utils.compat import get_extension_suffixes
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Tuple, Callable, List, Optional, Union, Dict, Set
    -    )
    -
    -    Pep425Tag = Tuple[str, str, str]
    -
    -logger = logging.getLogger(__name__)
    -
    -_osx_arch_pat = re.compile(r'(.+)_(\d+)_(\d+)_(.+)')
    -
    -
    -def get_config_var(var):
    -    # type: (str) -> Optional[str]
    -    try:
    -        return sysconfig.get_config_var(var)
    -    except IOError as e:  # Issue #1074
    -        warnings.warn("{}".format(e), RuntimeWarning)
    -        return None
    -
    -
    -def get_abbr_impl():
    -    # type: () -> str
    -    """Return abbreviated implementation name."""
    -    if hasattr(sys, 'pypy_version_info'):
    -        pyimpl = 'pp'
    -    elif sys.platform.startswith('java'):
    -        pyimpl = 'jy'
    -    elif sys.platform == 'cli':
    -        pyimpl = 'ip'
    -    else:
    -        pyimpl = 'cp'
    -    return pyimpl
    -
    -
    -def version_info_to_nodot(version_info):
    -    # type: (Tuple[int, ...]) -> str
    -    # Only use up to the first two numbers.
    -    return ''.join(map(str, version_info[:2]))
    -
    -
    -def get_impl_ver():
    -    # type: () -> str
    -    """Return implementation version."""
    -    impl_ver = get_config_var("py_version_nodot")
    -    if not impl_ver or get_abbr_impl() == 'pp':
    -        impl_ver = ''.join(map(str, get_impl_version_info()))
    -    return impl_ver
    -
    -
    -def get_impl_version_info():
    -    # type: () -> Tuple[int, ...]
    -    """Return sys.version_info-like tuple for use in decrementing the minor
    -    version."""
    -    if get_abbr_impl() == 'pp':
    -        # as per https://github.com/pypa/pip/issues/2882
    -        # attrs exist only on pypy
    -        return (sys.version_info[0],
    -                sys.pypy_version_info.major,  # type: ignore
    -                sys.pypy_version_info.minor)  # type: ignore
    -    else:
    -        return sys.version_info[0], sys.version_info[1]
    -
    -
    -def get_impl_tag():
    -    # type: () -> str
    -    """
    -    Returns the Tag for this specific implementation.
    -    """
    -    return "{}{}".format(get_abbr_impl(), get_impl_ver())
    -
    -
    -def get_flag(var, fallback, expected=True, warn=True):
    -    # type: (str, Callable[..., bool], Union[bool, int], bool) -> bool
    -    """Use a fallback method for determining SOABI flags if the needed config
    -    var is unset or unavailable."""
    -    val = get_config_var(var)
    -    if val is None:
    -        if warn:
    -            logger.debug("Config variable '%s' is unset, Python ABI tag may "
    -                         "be incorrect", var)
    -        return fallback()
    -    return val == expected
    -
    -
    -def get_abi_tag():
    -    # type: () -> Optional[str]
    -    """Return the ABI tag based on SOABI (if available) or emulate SOABI
    -    (CPython 2, PyPy)."""
    -    soabi = get_config_var('SOABI')
    -    impl = get_abbr_impl()
    -    abi = None  # type: Optional[str]
    -
    -    if not soabi and impl in {'cp', 'pp'} and hasattr(sys, 'maxunicode'):
    -        d = ''
    -        m = ''
    -        u = ''
    -        is_cpython = (impl == 'cp')
    -        if get_flag(
    -                'Py_DEBUG', lambda: hasattr(sys, 'gettotalrefcount'),
    -                warn=is_cpython):
    -            d = 'd'
    -        if sys.version_info < (3, 8) and get_flag(
    -                'WITH_PYMALLOC', lambda: is_cpython, warn=is_cpython):
    -            m = 'm'
    -        if sys.version_info < (3, 3) and get_flag(
    -                'Py_UNICODE_SIZE', lambda: sys.maxunicode == 0x10ffff,
    -                expected=4, warn=is_cpython):
    -            u = 'u'
    -        abi = '%s%s%s%s%s' % (impl, get_impl_ver(), d, m, u)
    -    elif soabi and soabi.startswith('cpython-'):
    -        abi = 'cp' + soabi.split('-')[1]
    -    elif soabi:
    -        abi = soabi.replace('.', '_').replace('-', '_')
    -
    -    return abi
    -
    -
    -def _is_running_32bit():
    -    # type: () -> bool
    -    return sys.maxsize == 2147483647
    -
    -
    -def get_platform():
    -    # type: () -> str
    -    """Return our platform name 'win32', 'linux_x86_64'"""
    -    if sys.platform == 'darwin':
    -        # distutils.util.get_platform() returns the release based on the value
    -        # of MACOSX_DEPLOYMENT_TARGET on which Python was built, which may
    -        # be significantly older than the user's current machine.
    -        release, _, machine = platform.mac_ver()
    -        split_ver = release.split('.')
    -
    -        if machine == "x86_64" and _is_running_32bit():
    -            machine = "i386"
    -        elif machine == "ppc64" and _is_running_32bit():
    -            machine = "ppc"
    -
    -        return 'macosx_{}_{}_{}'.format(split_ver[0], split_ver[1], machine)
    -
    -    # XXX remove distutils dependency
    -    result = distutils.util.get_platform().replace('.', '_').replace('-', '_')
    -    if result == "linux_x86_64" and _is_running_32bit():
    -        # 32 bit Python program (running on a 64 bit Linux): pip should only
    -        # install and run 32 bit compiled extensions in that case.
    -        result = "linux_i686"
    -
    -    return result
    -
    -
    -def is_linux_armhf():
    -    # type: () -> bool
    -    if get_platform() != "linux_armv7l":
    -        return False
    -    # hard-float ABI can be detected from the ELF header of the running
    -    # process
    -    try:
    -        with open(sys.executable, 'rb') as f:
    -            elf_header_raw = f.read(40)  # read 40 first bytes of ELF header
    -    except (IOError, OSError, TypeError):
    -        return False
    -    if elf_header_raw is None or len(elf_header_raw) < 40:
    -        return False
    -    if isinstance(elf_header_raw, str):
    -        elf_header = [ord(c) for c in elf_header_raw]
    -    else:
    -        elf_header = [b for b in elf_header_raw]
    -    result = elf_header[0:4] == [0x7f, 0x45, 0x4c, 0x46]  # ELF magic number
    -    result &= elf_header[4:5] == [1]  # 32-bit ELF
    -    result &= elf_header[5:6] == [1]  # little-endian
    -    result &= elf_header[18:20] == [0x28, 0]  # ARM machine
    -    result &= elf_header[39:40] == [5]  # ARM EABIv5
    -    result &= (elf_header[37:38][0] & 4) == 4  # EF_ARM_ABI_FLOAT_HARD
    -    return result
    -
    -
    -def is_manylinux1_compatible():
    -    # type: () -> bool
    -    # Only Linux, and only x86-64 / i686
    -    if get_platform() not in {"linux_x86_64", "linux_i686"}:
    -        return False
    -
    -    # Check for presence of _manylinux module
    -    try:
    -        import _manylinux
    -        return bool(_manylinux.manylinux1_compatible)
    -    except (ImportError, AttributeError):
    -        # Fall through to heuristic check below
    -        pass
    -
    -    # Check glibc version. CentOS 5 uses glibc 2.5.
    -    return pip._internal.utils.glibc.have_compatible_glibc(2, 5)
    -
    -
    -def is_manylinux2010_compatible():
    -    # type: () -> bool
    -    # Only Linux, and only x86-64 / i686
    -    if get_platform() not in {"linux_x86_64", "linux_i686"}:
    -        return False
    -
    -    # Check for presence of _manylinux module
    -    try:
    -        import _manylinux
    -        return bool(_manylinux.manylinux2010_compatible)
    -    except (ImportError, AttributeError):
    -        # Fall through to heuristic check below
    -        pass
    -
    -    # Check glibc version. CentOS 6 uses glibc 2.12.
    -    return pip._internal.utils.glibc.have_compatible_glibc(2, 12)
    -
    -
    -def is_manylinux2014_compatible():
    -    # type: () -> bool
    -    # Only Linux, and only supported architectures
    -    platform = get_platform()
    -    if platform not in {"linux_x86_64", "linux_i686", "linux_aarch64",
    -                        "linux_armv7l", "linux_ppc64", "linux_ppc64le",
    -                        "linux_s390x"}:
    -        return False
    -
    -    # check for hard-float ABI in case we're running linux_armv7l not to
    -    # install hard-float ABI wheel in a soft-float ABI environment
    -    if platform == "linux_armv7l" and not is_linux_armhf():
    -        return False
    -
    -    # Check for presence of _manylinux module
    -    try:
    -        import _manylinux
    -        return bool(_manylinux.manylinux2014_compatible)
    -    except (ImportError, AttributeError):
    -        # Fall through to heuristic check below
    -        pass
    -
    -    # Check glibc version. CentOS 7 uses glibc 2.17.
    -    return pip._internal.utils.glibc.have_compatible_glibc(2, 17)
    -
    -
    -def get_darwin_arches(major, minor, machine):
    -    # type: (int, int, str) -> List[str]
    -    """Return a list of supported arches (including group arches) for
    -    the given major, minor and machine architecture of an macOS machine.
    -    """
    -    arches = []
    -
    -    def _supports_arch(major, minor, arch):
    -        # type: (int, int, str) -> bool
    -        # Looking at the application support for macOS versions in the chart
    -        # provided by https://en.wikipedia.org/wiki/OS_X#Versions it appears
    -        # our timeline looks roughly like:
    -        #
    -        # 10.0 - Introduces ppc support.
    -        # 10.4 - Introduces ppc64, i386, and x86_64 support, however the ppc64
    -        #        and x86_64 support is CLI only, and cannot be used for GUI
    -        #        applications.
    -        # 10.5 - Extends ppc64 and x86_64 support to cover GUI applications.
    -        # 10.6 - Drops support for ppc64
    -        # 10.7 - Drops support for ppc
    -        #
    -        # Given that we do not know if we're installing a CLI or a GUI
    -        # application, we must be conservative and assume it might be a GUI
    -        # application and behave as if ppc64 and x86_64 support did not occur
    -        # until 10.5.
    -        #
    -        # Note: The above information is taken from the "Application support"
    -        #       column in the chart not the "Processor support" since I believe
    -        #       that we care about what instruction sets an application can use
    -        #       not which processors the OS supports.
    -        if arch == 'ppc':
    -            return (major, minor) <= (10, 5)
    -        if arch == 'ppc64':
    -            return (major, minor) == (10, 5)
    -        if arch == 'i386':
    -            return (major, minor) >= (10, 4)
    -        if arch == 'x86_64':
    -            return (major, minor) >= (10, 5)
    -        if arch in groups:
    -            for garch in groups[arch]:
    -                if _supports_arch(major, minor, garch):
    -                    return True
    -        return False
    -
    -    groups = OrderedDict([
    -        ("fat", ("i386", "ppc")),
    -        ("intel", ("x86_64", "i386")),
    -        ("fat64", ("x86_64", "ppc64")),
    -        ("fat32", ("x86_64", "i386", "ppc")),
    -    ])  # type: Dict[str, Tuple[str, ...]]
    -
    -    if _supports_arch(major, minor, machine):
    -        arches.append(machine)
    -
    -    for garch in groups:
    -        if machine in groups[garch] and _supports_arch(major, minor, garch):
    -            arches.append(garch)
    -
    -    arches.append('universal')
    -
    -    return arches
    -
    -
    -def get_all_minor_versions_as_strings(version_info):
    -    # type: (Tuple[int, ...]) -> List[str]
    -    versions = []
    -    major = version_info[:-1]
    -    # Support all previous minor Python versions.
    -    for minor in range(version_info[-1], -1, -1):
    -        versions.append(''.join(map(str, major + (minor,))))
    -    return versions
    -
    -
    -def get_supported(
    -    versions=None,  # type: Optional[List[str]]
    -    noarch=False,  # type: bool
    -    platform=None,  # type: Optional[str]
    -    impl=None,  # type: Optional[str]
    -    abi=None  # type: Optional[str]
    -):
    -    # type: (...) -> List[Pep425Tag]
    -    """Return a list of supported tags for each version specified in
    -    `versions`.
    -
    -    :param versions: a list of string versions, of the form ["33", "32"],
    -        or None. The first version will be assumed to support our ABI.
    -    :param platform: specify the exact platform you want valid
    -        tags for, or None. If None, use the local system platform.
    -    :param impl: specify the exact implementation you want valid
    -        tags for, or None. If None, use the local interpreter impl.
    -    :param abi: specify the exact abi you want valid
    -        tags for, or None. If None, use the local interpreter abi.
    -    """
    -    supported = []
    -
    -    # Versions must be given with respect to the preference
    -    if versions is None:
    -        version_info = get_impl_version_info()
    -        versions = get_all_minor_versions_as_strings(version_info)
    -
    -    impl = impl or get_abbr_impl()
    -
    -    abis = []  # type: List[str]
    -
    -    abi = abi or get_abi_tag()
    -    if abi:
    -        abis[0:0] = [abi]
    -
    -    abi3s = set()  # type: Set[str]
    -    for suffix in get_extension_suffixes():
    -        if suffix.startswith('.abi'):
    -            abi3s.add(suffix.split('.', 2)[1])
    -
    -    abis.extend(sorted(list(abi3s)))
    -
    -    abis.append('none')
    -
    -    if not noarch:
    -        arch = platform or get_platform()
    -        arch_prefix, arch_sep, arch_suffix = arch.partition('_')
    -        if arch.startswith('macosx'):
    -            # support macosx-10.6-intel on macosx-10.9-x86_64
    -            match = _osx_arch_pat.match(arch)
    -            if match:
    -                name, major, minor, actual_arch = match.groups()
    -                tpl = '{}_{}_%i_%s'.format(name, major)
    -                arches = []
    -                for m in reversed(range(int(minor) + 1)):
    -                    for a in get_darwin_arches(int(major), m, actual_arch):
    -                        arches.append(tpl % (m, a))
    -            else:
    -                # arch pattern didn't match (?!)
    -                arches = [arch]
    -        elif arch_prefix == 'manylinux2014':
    -            arches = [arch]
    -            # manylinux1/manylinux2010 wheels run on most manylinux2014 systems
    -            # with the exception of wheels depending on ncurses. PEP 599 states
    -            # manylinux1/manylinux2010 wheels should be considered
    -            # manylinux2014 wheels:
    -            # https://www.python.org/dev/peps/pep-0599/#backwards-compatibility-with-manylinux2010-wheels
    -            if arch_suffix in {'i686', 'x86_64'}:
    -                arches.append('manylinux2010' + arch_sep + arch_suffix)
    -                arches.append('manylinux1' + arch_sep + arch_suffix)
    -        elif arch_prefix == 'manylinux2010':
    -            # manylinux1 wheels run on most manylinux2010 systems with the
    -            # exception of wheels depending on ncurses. PEP 571 states
    -            # manylinux1 wheels should be considered manylinux2010 wheels:
    -            # https://www.python.org/dev/peps/pep-0571/#backwards-compatibility-with-manylinux1-wheels
    -            arches = [arch, 'manylinux1' + arch_sep + arch_suffix]
    -        elif platform is None:
    -            arches = []
    -            if is_manylinux2014_compatible():
    -                arches.append('manylinux2014' + arch_sep + arch_suffix)
    -            if is_manylinux2010_compatible():
    -                arches.append('manylinux2010' + arch_sep + arch_suffix)
    -            if is_manylinux1_compatible():
    -                arches.append('manylinux1' + arch_sep + arch_suffix)
    -            arches.append(arch)
    -        else:
    -            arches = [arch]
    -
    -        # Current version, current API (built specifically for our Python):
    -        for abi in abis:
    -            for arch in arches:
    -                supported.append(('%s%s' % (impl, versions[0]), abi, arch))
    -
    -        # abi3 modules compatible with older version of Python
    -        for version in versions[1:]:
    -            # abi3 was introduced in Python 3.2
    -            if version in {'31', '30'}:
    -                break
    -            for abi in abi3s:   # empty set if not Python 3
    -                for arch in arches:
    -                    supported.append(("%s%s" % (impl, version), abi, arch))
    -
    -        # Has binaries, does not use the Python API:
    -        for arch in arches:
    -            supported.append(('py%s' % (versions[0][0]), 'none', arch))
    -
    -    # No abi / arch, but requires our implementation:
    -    supported.append(('%s%s' % (impl, versions[0]), 'none', 'any'))
    -    # Tagged specifically as being cross-version compatible
    -    # (with just the major version specified)
    -    supported.append(('%s%s' % (impl, versions[0][0]), 'none', 'any'))
    -
    -    # No abi / arch, generic Python
    -    for i, version in enumerate(versions):
    -        supported.append(('py%s' % (version,), 'none', 'any'))
    -        if i == 0:
    -            supported.append(('py%s' % (version[0]), 'none', 'any'))
    -
    -    return supported
    -
    -
    -implementation_tag = get_impl_tag()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/pyproject.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/pyproject.py
    deleted file mode 100644
    index 98c20f7..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/pyproject.py
    +++ /dev/null
    @@ -1,171 +0,0 @@
    -from __future__ import absolute_import
    -
    -import io
    -import os
    -import sys
    -
    -from pip._vendor import pytoml, six
    -
    -from pip._internal.exceptions import InstallationError
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Any, Tuple, Optional, List
    -
    -
    -def _is_list_of_str(obj):
    -    # type: (Any) -> bool
    -    return (
    -        isinstance(obj, list) and
    -        all(isinstance(item, six.string_types) for item in obj)
    -    )
    -
    -
    -def make_pyproject_path(unpacked_source_directory):
    -    # type: (str) -> str
    -    path = os.path.join(unpacked_source_directory, 'pyproject.toml')
    -
    -    # Python2 __file__ should not be unicode
    -    if six.PY2 and isinstance(path, six.text_type):
    -        path = path.encode(sys.getfilesystemencoding())
    -
    -    return path
    -
    -
    -def load_pyproject_toml(
    -    use_pep517,  # type: Optional[bool]
    -    pyproject_toml,  # type: str
    -    setup_py,  # type: str
    -    req_name  # type: str
    -):
    -    # type: (...) -> Optional[Tuple[List[str], str, List[str]]]
    -    """Load the pyproject.toml file.
    -
    -    Parameters:
    -        use_pep517 - Has the user requested PEP 517 processing? None
    -                     means the user hasn't explicitly specified.
    -        pyproject_toml - Location of the project's pyproject.toml file
    -        setup_py - Location of the project's setup.py file
    -        req_name - The name of the requirement we're processing (for
    -                   error reporting)
    -
    -    Returns:
    -        None if we should use the legacy code path, otherwise a tuple
    -        (
    -            requirements from pyproject.toml,
    -            name of PEP 517 backend,
    -            requirements we should check are installed after setting
    -                up the build environment
    -        )
    -    """
    -    has_pyproject = os.path.isfile(pyproject_toml)
    -    has_setup = os.path.isfile(setup_py)
    -
    -    if has_pyproject:
    -        with io.open(pyproject_toml, encoding="utf-8") as f:
    -            pp_toml = pytoml.load(f)
    -        build_system = pp_toml.get("build-system")
    -    else:
    -        build_system = None
    -
    -    # The following cases must use PEP 517
    -    # We check for use_pep517 being non-None and falsey because that means
    -    # the user explicitly requested --no-use-pep517.  The value 0 as
    -    # opposed to False can occur when the value is provided via an
    -    # environment variable or config file option (due to the quirk of
    -    # strtobool() returning an integer in pip's configuration code).
    -    if has_pyproject and not has_setup:
    -        if use_pep517 is not None and not use_pep517:
    -            raise InstallationError(
    -                "Disabling PEP 517 processing is invalid: "
    -                "project does not have a setup.py"
    -            )
    -        use_pep517 = True
    -    elif build_system and "build-backend" in build_system:
    -        if use_pep517 is not None and not use_pep517:
    -            raise InstallationError(
    -                "Disabling PEP 517 processing is invalid: "
    -                "project specifies a build backend of {} "
    -                "in pyproject.toml".format(
    -                    build_system["build-backend"]
    -                )
    -            )
    -        use_pep517 = True
    -
    -    # If we haven't worked out whether to use PEP 517 yet,
    -    # and the user hasn't explicitly stated a preference,
    -    # we do so if the project has a pyproject.toml file.
    -    elif use_pep517 is None:
    -        use_pep517 = has_pyproject
    -
    -    # At this point, we know whether we're going to use PEP 517.
    -    assert use_pep517 is not None
    -
    -    # If we're using the legacy code path, there is nothing further
    -    # for us to do here.
    -    if not use_pep517:
    -        return None
    -
    -    if build_system is None:
    -        # Either the user has a pyproject.toml with no build-system
    -        # section, or the user has no pyproject.toml, but has opted in
    -        # explicitly via --use-pep517.
    -        # In the absence of any explicit backend specification, we
    -        # assume the setuptools backend that most closely emulates the
    -        # traditional direct setup.py execution, and require wheel and
    -        # a version of setuptools that supports that backend.
    -
    -        build_system = {
    -            "requires": ["setuptools>=40.8.0", "wheel"],
    -            "build-backend": "setuptools.build_meta:__legacy__",
    -        }
    -
    -    # If we're using PEP 517, we have build system information (either
    -    # from pyproject.toml, or defaulted by the code above).
    -    # Note that at this point, we do not know if the user has actually
    -    # specified a backend, though.
    -    assert build_system is not None
    -
    -    # Ensure that the build-system section in pyproject.toml conforms
    -    # to PEP 518.
    -    error_template = (
    -        "{package} has a pyproject.toml file that does not comply "
    -        "with PEP 518: {reason}"
    -    )
    -
    -    # Specifying the build-system table but not the requires key is invalid
    -    if "requires" not in build_system:
    -        raise InstallationError(
    -            error_template.format(package=req_name, reason=(
    -                "it has a 'build-system' table but not "
    -                "'build-system.requires' which is mandatory in the table"
    -            ))
    -        )
    -
    -    # Error out if requires is not a list of strings
    -    requires = build_system["requires"]
    -    if not _is_list_of_str(requires):
    -        raise InstallationError(error_template.format(
    -            package=req_name,
    -            reason="'build-system.requires' is not a list of strings.",
    -        ))
    -
    -    backend = build_system.get("build-backend")
    -    check = []  # type: List[str]
    -    if backend is None:
    -        # If the user didn't specify a backend, we assume they want to use
    -        # the setuptools backend. But we can't be sure they have included
    -        # a version of setuptools which supplies the backend, or wheel
    -        # (which is needed by the backend) in their requirements. So we
    -        # make a note to check that those requirements are present once
    -        # we have set up the environment.
    -        # This is quite a lot of work to check for a very specific case. But
    -        # the problem is, that case is potentially quite common - projects that
    -        # adopted PEP 518 early for the ability to specify requirements to
    -        # execute setup.py, but never considered needing to mention the build
    -        # tools themselves. The original PEP 518 code had a similar check (but
    -        # implemented in a different way).
    -        backend = "setuptools.build_meta:__legacy__"
    -        check = ["setuptools>=40.8.0", "wheel"]
    -
    -    return (requires, backend, check)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/__init__.py
    deleted file mode 100644
    index 993f23a..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/__init__.py
    +++ /dev/null
    @@ -1,82 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -
    -from pip._internal.utils.logging import indent_log
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -from .req_file import parse_requirements
    -from .req_install import InstallRequirement
    -from .req_set import RequirementSet
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Any, List, Sequence
    -
    -__all__ = [
    -    "RequirementSet", "InstallRequirement",
    -    "parse_requirements", "install_given_reqs",
    -]
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def install_given_reqs(
    -    to_install,  # type: List[InstallRequirement]
    -    install_options,  # type: List[str]
    -    global_options=(),  # type: Sequence[str]
    -    *args,  # type: Any
    -    **kwargs  # type: Any
    -):
    -    # type: (...) -> List[InstallRequirement]
    -    """
    -    Install everything in the given list.
    -
    -    (to be called after having downloaded and unpacked the packages)
    -    """
    -
    -    if to_install:
    -        logger.info(
    -            'Installing collected packages: %s',
    -            ', '.join([req.name for req in to_install]),
    -        )
    -
    -    with indent_log():
    -        for requirement in to_install:
    -            if requirement.conflicts_with:
    -                logger.info(
    -                    'Found existing installation: %s',
    -                    requirement.conflicts_with,
    -                )
    -                with indent_log():
    -                    uninstalled_pathset = requirement.uninstall(
    -                        auto_confirm=True
    -                    )
    -            try:
    -                requirement.install(
    -                    install_options,
    -                    global_options,
    -                    *args,
    -                    **kwargs
    -                )
    -            except Exception:
    -                should_rollback = (
    -                    requirement.conflicts_with and
    -                    not requirement.install_succeeded
    -                )
    -                # if install did not succeed, rollback previous uninstall
    -                if should_rollback:
    -                    uninstalled_pathset.rollback()
    -                raise
    -            else:
    -                should_commit = (
    -                    requirement.conflicts_with and
    -                    requirement.install_succeeded
    -                )
    -                if should_commit:
    -                    uninstalled_pathset.commit()
    -            requirement.remove_temporary_source()
    -
    -    return to_install
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/constructors.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/constructors.py
    deleted file mode 100644
    index 03b5148..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/constructors.py
    +++ /dev/null
    @@ -1,436 +0,0 @@
    -"""Backing implementation for InstallRequirement's various constructors
    -
    -The idea here is that these formed a major chunk of InstallRequirement's size
    -so, moving them and support code dedicated to them outside of that class
    -helps creates for better understandability for the rest of the code.
    -
    -These are meant to be used elsewhere within pip to create instances of
    -InstallRequirement.
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -import logging
    -import os
    -import re
    -
    -from pip._vendor.packaging.markers import Marker
    -from pip._vendor.packaging.requirements import InvalidRequirement, Requirement
    -from pip._vendor.packaging.specifiers import Specifier
    -from pip._vendor.pkg_resources import RequirementParseError, parse_requirements
    -
    -from pip._internal.exceptions import InstallationError
    -from pip._internal.models.index import PyPI, TestPyPI
    -from pip._internal.models.link import Link
    -from pip._internal.pyproject import make_pyproject_path
    -from pip._internal.req.req_install import InstallRequirement
    -from pip._internal.utils.filetypes import ARCHIVE_EXTENSIONS
    -from pip._internal.utils.misc import is_installable_dir, splitext
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.urls import path_to_url
    -from pip._internal.vcs import is_url, vcs
    -from pip._internal.wheel import Wheel
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Any, Dict, Optional, Set, Tuple, Union,
    -    )
    -    from pip._internal.cache import WheelCache
    -
    -
    -__all__ = [
    -    "install_req_from_editable", "install_req_from_line",
    -    "parse_editable"
    -]
    -
    -logger = logging.getLogger(__name__)
    -operators = Specifier._operators.keys()
    -
    -
    -def is_archive_file(name):
    -    # type: (str) -> bool
    -    """Return True if `name` is a considered as an archive file."""
    -    ext = splitext(name)[1].lower()
    -    if ext in ARCHIVE_EXTENSIONS:
    -        return True
    -    return False
    -
    -
    -def _strip_extras(path):
    -    # type: (str) -> Tuple[str, Optional[str]]
    -    m = re.match(r'^(.+)(\[[^\]]+\])$', path)
    -    extras = None
    -    if m:
    -        path_no_extras = m.group(1)
    -        extras = m.group(2)
    -    else:
    -        path_no_extras = path
    -
    -    return path_no_extras, extras
    -
    -
    -def convert_extras(extras):
    -    # type: (Optional[str]) -> Set[str]
    -    if not extras:
    -        return set()
    -    return Requirement("placeholder" + extras.lower()).extras
    -
    -
    -def parse_editable(editable_req):
    -    # type: (str) -> Tuple[Optional[str], str, Optional[Set[str]]]
    -    """Parses an editable requirement into:
    -        - a requirement name
    -        - an URL
    -        - extras
    -        - editable options
    -    Accepted requirements:
    -        svn+http://blahblah@rev#egg=Foobar[baz]&subdirectory=version_subdir
    -        .[some_extra]
    -    """
    -
    -    url = editable_req
    -
    -    # If a file path is specified with extras, strip off the extras.
    -    url_no_extras, extras = _strip_extras(url)
    -
    -    if os.path.isdir(url_no_extras):
    -        if not os.path.exists(os.path.join(url_no_extras, 'setup.py')):
    -            msg = (
    -                'File "setup.py" not found. Directory cannot be installed '
    -                'in editable mode: {}'.format(os.path.abspath(url_no_extras))
    -            )
    -            pyproject_path = make_pyproject_path(url_no_extras)
    -            if os.path.isfile(pyproject_path):
    -                msg += (
    -                    '\n(A "pyproject.toml" file was found, but editable '
    -                    'mode currently requires a setup.py based build.)'
    -                )
    -            raise InstallationError(msg)
    -
    -        # Treating it as code that has already been checked out
    -        url_no_extras = path_to_url(url_no_extras)
    -
    -    if url_no_extras.lower().startswith('file:'):
    -        package_name = Link(url_no_extras).egg_fragment
    -        if extras:
    -            return (
    -                package_name,
    -                url_no_extras,
    -                Requirement("placeholder" + extras.lower()).extras,
    -            )
    -        else:
    -            return package_name, url_no_extras, None
    -
    -    for version_control in vcs:
    -        if url.lower().startswith('%s:' % version_control):
    -            url = '%s+%s' % (version_control, url)
    -            break
    -
    -    if '+' not in url:
    -        raise InstallationError(
    -            '{} is not a valid editable requirement. '
    -            'It should either be a path to a local project or a VCS URL '
    -            '(beginning with svn+, git+, hg+, or bzr+).'.format(editable_req)
    -        )
    -
    -    vc_type = url.split('+', 1)[0].lower()
    -
    -    if not vcs.get_backend(vc_type):
    -        error_message = 'For --editable=%s only ' % editable_req + \
    -            ', '.join([backend.name + '+URL' for backend in vcs.backends]) + \
    -            ' is currently supported'
    -        raise InstallationError(error_message)
    -
    -    package_name = Link(url).egg_fragment
    -    if not package_name:
    -        raise InstallationError(
    -            "Could not detect requirement name for '%s', please specify one "
    -            "with #egg=your_package_name" % editable_req
    -        )
    -    return package_name, url, None
    -
    -
    -def deduce_helpful_msg(req):
    -    # type: (str) -> str
    -    """Returns helpful msg in case requirements file does not exist,
    -    or cannot be parsed.
    -
    -    :params req: Requirements file path
    -    """
    -    msg = ""
    -    if os.path.exists(req):
    -        msg = " It does exist."
    -        # Try to parse and check if it is a requirements file.
    -        try:
    -            with open(req, 'r') as fp:
    -                # parse first line only
    -                next(parse_requirements(fp.read()))
    -                msg += " The argument you provided " + \
    -                    "(%s) appears to be a" % (req) + \
    -                    " requirements file. If that is the" + \
    -                    " case, use the '-r' flag to install" + \
    -                    " the packages specified within it."
    -        except RequirementParseError:
    -            logger.debug("Cannot parse '%s' as requirements \
    -            file" % (req), exc_info=True)
    -    else:
    -        msg += " File '%s' does not exist." % (req)
    -    return msg
    -
    -
    -class RequirementParts(object):
    -    def __init__(
    -            self,
    -            requirement,  # type: Optional[Requirement]
    -            link,         # type: Optional[Link]
    -            markers,      # type: Optional[Marker]
    -            extras,       # type: Set[str]
    -    ):
    -        self.requirement = requirement
    -        self.link = link
    -        self.markers = markers
    -        self.extras = extras
    -
    -
    -def parse_req_from_editable(editable_req):
    -    # type: (str) -> RequirementParts
    -    name, url, extras_override = parse_editable(editable_req)
    -
    -    if name is not None:
    -        try:
    -            req = Requirement(name)
    -        except InvalidRequirement:
    -            raise InstallationError("Invalid requirement: '%s'" % name)
    -    else:
    -        req = None
    -
    -    link = Link(url)
    -
    -    return RequirementParts(req, link, None, extras_override)
    -
    -
    -# ---- The actual constructors follow ----
    -
    -
    -def install_req_from_editable(
    -    editable_req,  # type: str
    -    comes_from=None,  # type: Optional[str]
    -    use_pep517=None,  # type: Optional[bool]
    -    isolated=False,  # type: bool
    -    options=None,  # type: Optional[Dict[str, Any]]
    -    wheel_cache=None,  # type: Optional[WheelCache]
    -    constraint=False  # type: bool
    -):
    -    # type: (...) -> InstallRequirement
    -
    -    parts = parse_req_from_editable(editable_req)
    -
    -    source_dir = parts.link.file_path if parts.link.scheme == 'file' else None
    -
    -    return InstallRequirement(
    -        parts.requirement, comes_from, source_dir=source_dir,
    -        editable=True,
    -        link=parts.link,
    -        constraint=constraint,
    -        use_pep517=use_pep517,
    -        isolated=isolated,
    -        options=options if options else {},
    -        wheel_cache=wheel_cache,
    -        extras=parts.extras,
    -    )
    -
    -
    -def _looks_like_path(name):
    -    # type: (str) -> bool
    -    """Checks whether the string "looks like" a path on the filesystem.
    -
    -    This does not check whether the target actually exists, only judge from the
    -    appearance.
    -
    -    Returns true if any of the following conditions is true:
    -    * a path separator is found (either os.path.sep or os.path.altsep);
    -    * a dot is found (which represents the current directory).
    -    """
    -    if os.path.sep in name:
    -        return True
    -    if os.path.altsep is not None and os.path.altsep in name:
    -        return True
    -    if name.startswith("."):
    -        return True
    -    return False
    -
    -
    -def _get_url_from_path(path, name):
    -    # type: (str, str) -> str
    -    """
    -    First, it checks whether a provided path is an installable directory
    -    (e.g. it has a setup.py). If it is, returns the path.
    -
    -    If false, check if the path is an archive file (such as a .whl).
    -    The function checks if the path is a file. If false, if the path has
    -    an @, it will treat it as a PEP 440 URL requirement and return the path.
    -    """
    -    if _looks_like_path(name) and os.path.isdir(path):
    -        if is_installable_dir(path):
    -            return path_to_url(path)
    -        raise InstallationError(
    -            "Directory %r is not installable. Neither 'setup.py' "
    -            "nor 'pyproject.toml' found." % name
    -        )
    -    if not is_archive_file(path):
    -        return None
    -    if os.path.isfile(path):
    -        return path_to_url(path)
    -    urlreq_parts = name.split('@', 1)
    -    if len(urlreq_parts) >= 2 and not _looks_like_path(urlreq_parts[0]):
    -        # If the path contains '@' and the part before it does not look
    -        # like a path, try to treat it as a PEP 440 URL req instead.
    -        return None
    -    logger.warning(
    -        'Requirement %r looks like a filename, but the '
    -        'file does not exist',
    -        name
    -    )
    -    return path_to_url(path)
    -
    -
    -def parse_req_from_line(name, line_source):
    -    # type: (str, Optional[str]) -> RequirementParts
    -    if is_url(name):
    -        marker_sep = '; '
    -    else:
    -        marker_sep = ';'
    -    if marker_sep in name:
    -        name, markers_as_string = name.split(marker_sep, 1)
    -        markers_as_string = markers_as_string.strip()
    -        if not markers_as_string:
    -            markers = None
    -        else:
    -            markers = Marker(markers_as_string)
    -    else:
    -        markers = None
    -    name = name.strip()
    -    req_as_string = None
    -    path = os.path.normpath(os.path.abspath(name))
    -    link = None
    -    extras_as_string = None
    -
    -    if is_url(name):
    -        link = Link(name)
    -    else:
    -        p, extras_as_string = _strip_extras(path)
    -        url = _get_url_from_path(p, name)
    -        if url is not None:
    -            link = Link(url)
    -
    -    # it's a local file, dir, or url
    -    if link:
    -        # Handle relative file URLs
    -        if link.scheme == 'file' and re.search(r'\.\./', link.url):
    -            link = Link(
    -                path_to_url(os.path.normpath(os.path.abspath(link.path))))
    -        # wheel file
    -        if link.is_wheel:
    -            wheel = Wheel(link.filename)  # can raise InvalidWheelFilename
    -            req_as_string = "%s==%s" % (wheel.name, wheel.version)
    -        else:
    -            # set the req to the egg fragment.  when it's not there, this
    -            # will become an 'unnamed' requirement
    -            req_as_string = link.egg_fragment
    -
    -    # a requirement specifier
    -    else:
    -        req_as_string = name
    -
    -    extras = convert_extras(extras_as_string)
    -
    -    def with_source(text):
    -        if not line_source:
    -            return text
    -        return '{} (from {})'.format(text, line_source)
    -
    -    if req_as_string is not None:
    -        try:
    -            req = Requirement(req_as_string)
    -        except InvalidRequirement:
    -            if os.path.sep in req_as_string:
    -                add_msg = "It looks like a path."
    -                add_msg += deduce_helpful_msg(req_as_string)
    -            elif ('=' in req_as_string and
    -                  not any(op in req_as_string for op in operators)):
    -                add_msg = "= is not a valid operator. Did you mean == ?"
    -            else:
    -                add_msg = ''
    -            msg = with_source(
    -                'Invalid requirement: {!r}'.format(req_as_string)
    -            )
    -            if add_msg:
    -                msg += '\nHint: {}'.format(add_msg)
    -            raise InstallationError(msg)
    -    else:
    -        req = None
    -
    -    return RequirementParts(req, link, markers, extras)
    -
    -
    -def install_req_from_line(
    -    name,  # type: str
    -    comes_from=None,  # type: Optional[Union[str, InstallRequirement]]
    -    use_pep517=None,  # type: Optional[bool]
    -    isolated=False,  # type: bool
    -    options=None,  # type: Optional[Dict[str, Any]]
    -    wheel_cache=None,  # type: Optional[WheelCache]
    -    constraint=False,  # type: bool
    -    line_source=None,  # type: Optional[str]
    -):
    -    # type: (...) -> InstallRequirement
    -    """Creates an InstallRequirement from a name, which might be a
    -    requirement, directory containing 'setup.py', filename, or URL.
    -
    -    :param line_source: An optional string describing where the line is from,
    -        for logging purposes in case of an error.
    -    """
    -    parts = parse_req_from_line(name, line_source)
    -
    -    return InstallRequirement(
    -        parts.requirement, comes_from, link=parts.link, markers=parts.markers,
    -        use_pep517=use_pep517, isolated=isolated,
    -        options=options if options else {},
    -        wheel_cache=wheel_cache,
    -        constraint=constraint,
    -        extras=parts.extras,
    -    )
    -
    -
    -def install_req_from_req_string(
    -    req_string,  # type: str
    -    comes_from=None,  # type: Optional[InstallRequirement]
    -    isolated=False,  # type: bool
    -    wheel_cache=None,  # type: Optional[WheelCache]
    -    use_pep517=None  # type: Optional[bool]
    -):
    -    # type: (...) -> InstallRequirement
    -    try:
    -        req = Requirement(req_string)
    -    except InvalidRequirement:
    -        raise InstallationError("Invalid requirement: '%s'" % req_string)
    -
    -    domains_not_allowed = [
    -        PyPI.file_storage_domain,
    -        TestPyPI.file_storage_domain,
    -    ]
    -    if (req.url and comes_from and comes_from.link and
    -            comes_from.link.netloc in domains_not_allowed):
    -        # Explicitly disallow pypi packages that depend on external urls
    -        raise InstallationError(
    -            "Packages installed from PyPI cannot depend on packages "
    -            "which are not also hosted on PyPI.\n"
    -            "%s depends on %s " % (comes_from.name, req)
    -        )
    -
    -    return InstallRequirement(
    -        req, comes_from, isolated=isolated, wheel_cache=wheel_cache,
    -        use_pep517=use_pep517
    -    )
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_file.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_file.py
    deleted file mode 100644
    index 83b3d34..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_file.py
    +++ /dev/null
    @@ -1,403 +0,0 @@
    -"""
    -Requirements file parsing
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -
    -from __future__ import absolute_import
    -
    -import optparse
    -import os
    -import re
    -import shlex
    -import sys
    -
    -from pip._vendor.six.moves import filterfalse
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -
    -from pip._internal.cli import cmdoptions
    -from pip._internal.download import get_file_content
    -from pip._internal.exceptions import RequirementsFileParseError
    -from pip._internal.models.search_scope import SearchScope
    -from pip._internal.req.constructors import (
    -    install_req_from_editable,
    -    install_req_from_line,
    -)
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Any, Callable, Iterator, List, NoReturn, Optional, Text, Tuple,
    -    )
    -    from pip._internal.req import InstallRequirement
    -    from pip._internal.cache import WheelCache
    -    from pip._internal.index import PackageFinder
    -    from pip._internal.network.session import PipSession
    -
    -    ReqFileLines = Iterator[Tuple[int, Text]]
    -
    -__all__ = ['parse_requirements']
    -
    -SCHEME_RE = re.compile(r'^(http|https|file):', re.I)
    -COMMENT_RE = re.compile(r'(^|\s+)#.*$')
    -
    -# Matches environment variable-style values in '${MY_VARIABLE_1}' with the
    -# variable name consisting of only uppercase letters, digits or the '_'
    -# (underscore). This follows the POSIX standard defined in IEEE Std 1003.1,
    -# 2013 Edition.
    -ENV_VAR_RE = re.compile(r'(?P\$\{(?P[A-Z0-9_]+)\})')
    -
    -SUPPORTED_OPTIONS = [
    -    cmdoptions.constraints,
    -    cmdoptions.editable,
    -    cmdoptions.requirements,
    -    cmdoptions.no_index,
    -    cmdoptions.index_url,
    -    cmdoptions.find_links,
    -    cmdoptions.extra_index_url,
    -    cmdoptions.always_unzip,
    -    cmdoptions.no_binary,
    -    cmdoptions.only_binary,
    -    cmdoptions.pre,
    -    cmdoptions.trusted_host,
    -    cmdoptions.require_hashes,
    -]  # type: List[Callable[..., optparse.Option]]
    -
    -# options to be passed to requirements
    -SUPPORTED_OPTIONS_REQ = [
    -    cmdoptions.install_options,
    -    cmdoptions.global_options,
    -    cmdoptions.hash,
    -]  # type: List[Callable[..., optparse.Option]]
    -
    -# the 'dest' string values
    -SUPPORTED_OPTIONS_REQ_DEST = [str(o().dest) for o in SUPPORTED_OPTIONS_REQ]
    -
    -
    -def parse_requirements(
    -    filename,  # type: str
    -    finder=None,  # type: Optional[PackageFinder]
    -    comes_from=None,  # type: Optional[str]
    -    options=None,  # type: Optional[optparse.Values]
    -    session=None,  # type: Optional[PipSession]
    -    constraint=False,  # type: bool
    -    wheel_cache=None,  # type: Optional[WheelCache]
    -    use_pep517=None  # type: Optional[bool]
    -):
    -    # type: (...) -> Iterator[InstallRequirement]
    -    """Parse a requirements file and yield InstallRequirement instances.
    -
    -    :param filename:    Path or url of requirements file.
    -    :param finder:      Instance of pip.index.PackageFinder.
    -    :param comes_from:  Origin description of requirements.
    -    :param options:     cli options.
    -    :param session:     Instance of pip.download.PipSession.
    -    :param constraint:  If true, parsing a constraint file rather than
    -        requirements file.
    -    :param wheel_cache: Instance of pip.wheel.WheelCache
    -    :param use_pep517:  Value of the --use-pep517 option.
    -    """
    -    if session is None:
    -        raise TypeError(
    -            "parse_requirements() missing 1 required keyword argument: "
    -            "'session'"
    -        )
    -
    -    _, content = get_file_content(
    -        filename, comes_from=comes_from, session=session
    -    )
    -
    -    lines_enum = preprocess(content, options)
    -
    -    for line_number, line in lines_enum:
    -        req_iter = process_line(line, filename, line_number, finder,
    -                                comes_from, options, session, wheel_cache,
    -                                use_pep517=use_pep517, constraint=constraint)
    -        for req in req_iter:
    -            yield req
    -
    -
    -def preprocess(content, options):
    -    # type: (Text, Optional[optparse.Values]) -> ReqFileLines
    -    """Split, filter, and join lines, and return a line iterator
    -
    -    :param content: the content of the requirements file
    -    :param options: cli options
    -    """
    -    lines_enum = enumerate(content.splitlines(), start=1)  # type: ReqFileLines
    -    lines_enum = join_lines(lines_enum)
    -    lines_enum = ignore_comments(lines_enum)
    -    lines_enum = skip_regex(lines_enum, options)
    -    lines_enum = expand_env_variables(lines_enum)
    -    return lines_enum
    -
    -
    -def process_line(
    -    line,  # type: Text
    -    filename,  # type: str
    -    line_number,  # type: int
    -    finder=None,  # type: Optional[PackageFinder]
    -    comes_from=None,  # type: Optional[str]
    -    options=None,  # type: Optional[optparse.Values]
    -    session=None,  # type: Optional[PipSession]
    -    wheel_cache=None,  # type: Optional[WheelCache]
    -    use_pep517=None,  # type: Optional[bool]
    -    constraint=False,  # type: bool
    -):
    -    # type: (...) -> Iterator[InstallRequirement]
    -    """Process a single requirements line; This can result in creating/yielding
    -    requirements, or updating the finder.
    -
    -    For lines that contain requirements, the only options that have an effect
    -    are from SUPPORTED_OPTIONS_REQ, and they are scoped to the
    -    requirement. Other options from SUPPORTED_OPTIONS may be present, but are
    -    ignored.
    -
    -    For lines that do not contain requirements, the only options that have an
    -    effect are from SUPPORTED_OPTIONS. Options from SUPPORTED_OPTIONS_REQ may
    -    be present, but are ignored. These lines may contain multiple options
    -    (although our docs imply only one is supported), and all our parsed and
    -    affect the finder.
    -
    -    :param constraint: If True, parsing a constraints file.
    -    :param options: OptionParser options that we may update
    -    """
    -    parser = build_parser(line)
    -    defaults = parser.get_default_values()
    -    defaults.index_url = None
    -    if finder:
    -        defaults.format_control = finder.format_control
    -    args_str, options_str = break_args_options(line)
    -    # Prior to 2.7.3, shlex cannot deal with unicode entries
    -    if sys.version_info < (2, 7, 3):
    -        # https://github.com/python/mypy/issues/1174
    -        options_str = options_str.encode('utf8')  # type: ignore
    -    # https://github.com/python/mypy/issues/1174
    -    opts, _ = parser.parse_args(
    -        shlex.split(options_str), defaults)  # type: ignore
    -
    -    # preserve for the nested code path
    -    line_comes_from = '%s %s (line %s)' % (
    -        '-c' if constraint else '-r', filename, line_number,
    -    )
    -
    -    # yield a line requirement
    -    if args_str:
    -        isolated = options.isolated_mode if options else False
    -        if options:
    -            cmdoptions.check_install_build_global(options, opts)
    -        # get the options that apply to requirements
    -        req_options = {}
    -        for dest in SUPPORTED_OPTIONS_REQ_DEST:
    -            if dest in opts.__dict__ and opts.__dict__[dest]:
    -                req_options[dest] = opts.__dict__[dest]
    -        line_source = 'line {} of {}'.format(line_number, filename)
    -        yield install_req_from_line(
    -            args_str,
    -            comes_from=line_comes_from,
    -            use_pep517=use_pep517,
    -            isolated=isolated,
    -            options=req_options,
    -            wheel_cache=wheel_cache,
    -            constraint=constraint,
    -            line_source=line_source,
    -        )
    -
    -    # yield an editable requirement
    -    elif opts.editables:
    -        isolated = options.isolated_mode if options else False
    -        yield install_req_from_editable(
    -            opts.editables[0], comes_from=line_comes_from,
    -            use_pep517=use_pep517,
    -            constraint=constraint, isolated=isolated, wheel_cache=wheel_cache
    -        )
    -
    -    # parse a nested requirements file
    -    elif opts.requirements or opts.constraints:
    -        if opts.requirements:
    -            req_path = opts.requirements[0]
    -            nested_constraint = False
    -        else:
    -            req_path = opts.constraints[0]
    -            nested_constraint = True
    -        # original file is over http
    -        if SCHEME_RE.search(filename):
    -            # do a url join so relative paths work
    -            req_path = urllib_parse.urljoin(filename, req_path)
    -        # original file and nested file are paths
    -        elif not SCHEME_RE.search(req_path):
    -            # do a join so relative paths work
    -            req_path = os.path.join(os.path.dirname(filename), req_path)
    -        # TODO: Why not use `comes_from='-r {} (line {})'` here as well?
    -        parsed_reqs = parse_requirements(
    -            req_path, finder, comes_from, options, session,
    -            constraint=nested_constraint, wheel_cache=wheel_cache
    -        )
    -        for req in parsed_reqs:
    -            yield req
    -
    -    # percolate hash-checking option upward
    -    elif opts.require_hashes:
    -        options.require_hashes = opts.require_hashes
    -
    -    # set finder options
    -    elif finder:
    -        find_links = finder.find_links
    -        index_urls = finder.index_urls
    -        if opts.index_url:
    -            index_urls = [opts.index_url]
    -        if opts.no_index is True:
    -            index_urls = []
    -        if opts.extra_index_urls:
    -            index_urls.extend(opts.extra_index_urls)
    -        if opts.find_links:
    -            # FIXME: it would be nice to keep track of the source
    -            # of the find_links: support a find-links local path
    -            # relative to a requirements file.
    -            value = opts.find_links[0]
    -            req_dir = os.path.dirname(os.path.abspath(filename))
    -            relative_to_reqs_file = os.path.join(req_dir, value)
    -            if os.path.exists(relative_to_reqs_file):
    -                value = relative_to_reqs_file
    -            find_links.append(value)
    -
    -        search_scope = SearchScope(
    -            find_links=find_links,
    -            index_urls=index_urls,
    -        )
    -        finder.search_scope = search_scope
    -
    -        if opts.pre:
    -            finder.set_allow_all_prereleases()
    -        for host in opts.trusted_hosts or []:
    -            source = 'line {} of {}'.format(line_number, filename)
    -            session.add_trusted_host(host, source=source)
    -
    -
    -def break_args_options(line):
    -    # type: (Text) -> Tuple[str, Text]
    -    """Break up the line into an args and options string.  We only want to shlex
    -    (and then optparse) the options, not the args.  args can contain markers
    -    which are corrupted by shlex.
    -    """
    -    tokens = line.split(' ')
    -    args = []
    -    options = tokens[:]
    -    for token in tokens:
    -        if token.startswith('-') or token.startswith('--'):
    -            break
    -        else:
    -            args.append(token)
    -            options.pop(0)
    -    return ' '.join(args), ' '.join(options)  # type: ignore
    -
    -
    -def build_parser(line):
    -    # type: (Text) -> optparse.OptionParser
    -    """
    -    Return a parser for parsing requirement lines
    -    """
    -    parser = optparse.OptionParser(add_help_option=False)
    -
    -    option_factories = SUPPORTED_OPTIONS + SUPPORTED_OPTIONS_REQ
    -    for option_factory in option_factories:
    -        option = option_factory()
    -        parser.add_option(option)
    -
    -    # By default optparse sys.exits on parsing errors. We want to wrap
    -    # that in our own exception.
    -    def parser_exit(self, msg):
    -        # type: (Any, str) -> NoReturn
    -        # add offending line
    -        msg = 'Invalid requirement: %s\n%s' % (line, msg)
    -        raise RequirementsFileParseError(msg)
    -    # NOTE: mypy disallows assigning to a method
    -    #       https://github.com/python/mypy/issues/2427
    -    parser.exit = parser_exit  # type: ignore
    -
    -    return parser
    -
    -
    -def join_lines(lines_enum):
    -    # type: (ReqFileLines) -> ReqFileLines
    -    """Joins a line ending in '\' with the previous line (except when following
    -    comments).  The joined line takes on the index of the first line.
    -    """
    -    primary_line_number = None
    -    new_line = []  # type: List[Text]
    -    for line_number, line in lines_enum:
    -        if not line.endswith('\\') or COMMENT_RE.match(line):
    -            if COMMENT_RE.match(line):
    -                # this ensures comments are always matched later
    -                line = ' ' + line
    -            if new_line:
    -                new_line.append(line)
    -                yield primary_line_number, ''.join(new_line)
    -                new_line = []
    -            else:
    -                yield line_number, line
    -        else:
    -            if not new_line:
    -                primary_line_number = line_number
    -            new_line.append(line.strip('\\'))
    -
    -    # last line contains \
    -    if new_line:
    -        yield primary_line_number, ''.join(new_line)
    -
    -    # TODO: handle space after '\'.
    -
    -
    -def ignore_comments(lines_enum):
    -    # type: (ReqFileLines) -> ReqFileLines
    -    """
    -    Strips comments and filter empty lines.
    -    """
    -    for line_number, line in lines_enum:
    -        line = COMMENT_RE.sub('', line)
    -        line = line.strip()
    -        if line:
    -            yield line_number, line
    -
    -
    -def skip_regex(lines_enum, options):
    -    # type: (ReqFileLines, Optional[optparse.Values]) -> ReqFileLines
    -    """
    -    Skip lines that match '--skip-requirements-regex' pattern
    -
    -    Note: the regex pattern is only built once
    -    """
    -    skip_regex = options.skip_requirements_regex if options else None
    -    if skip_regex:
    -        pattern = re.compile(skip_regex)
    -        lines_enum = filterfalse(lambda e: pattern.search(e[1]), lines_enum)
    -    return lines_enum
    -
    -
    -def expand_env_variables(lines_enum):
    -    # type: (ReqFileLines) -> ReqFileLines
    -    """Replace all environment variables that can be retrieved via `os.getenv`.
    -
    -    The only allowed format for environment variables defined in the
    -    requirement file is `${MY_VARIABLE_1}` to ensure two things:
    -
    -    1. Strings that contain a `$` aren't accidentally (partially) expanded.
    -    2. Ensure consistency across platforms for requirement files.
    -
    -    These points are the result of a discussion on the `github pull
    -    request #3514 `_.
    -
    -    Valid characters in variable names follow the `POSIX standard
    -    `_ and are limited
    -    to uppercase letter, digits and the `_` (underscore).
    -    """
    -    for line_number, line in lines_enum:
    -        for env_var, var_name in ENV_VAR_RE.findall(line):
    -            value = os.getenv(var_name)
    -            if not value:
    -                continue
    -
    -            line = line.replace(env_var, value)
    -
    -        yield line_number, line
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_install.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_install.py
    deleted file mode 100644
    index 5a8c0dc..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_install.py
    +++ /dev/null
    @@ -1,966 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import atexit
    -import logging
    -import os
    -import shutil
    -import sys
    -import sysconfig
    -import zipfile
    -from distutils.util import change_root
    -
    -from pip._vendor import pkg_resources, six
    -from pip._vendor.packaging.requirements import Requirement
    -from pip._vendor.packaging.utils import canonicalize_name
    -from pip._vendor.packaging.version import Version
    -from pip._vendor.packaging.version import parse as parse_version
    -from pip._vendor.pep517.wrappers import Pep517HookCaller
    -
    -from pip._internal import pep425tags, wheel
    -from pip._internal.build_env import NoOpBuildEnvironment
    -from pip._internal.exceptions import InstallationError
    -from pip._internal.models.link import Link
    -from pip._internal.operations.generate_metadata import get_metadata_generator
    -from pip._internal.pyproject import load_pyproject_toml, make_pyproject_path
    -from pip._internal.req.req_uninstall import UninstallPathSet
    -from pip._internal.utils.compat import native_str
    -from pip._internal.utils.hashes import Hashes
    -from pip._internal.utils.logging import indent_log
    -from pip._internal.utils.marker_files import (
    -    PIP_DELETE_MARKER_FILENAME,
    -    has_delete_marker_file,
    -)
    -from pip._internal.utils.misc import (
    -    _make_build_dir,
    -    ask_path_exists,
    -    backup_dir,
    -    display_path,
    -    dist_in_site_packages,
    -    dist_in_usersite,
    -    ensure_dir,
    -    get_installed_version,
    -    hide_url,
    -    redact_auth_from_url,
    -    rmtree,
    -)
    -from pip._internal.utils.packaging import get_metadata
    -from pip._internal.utils.setuptools_build import make_setuptools_shim_args
    -from pip._internal.utils.subprocess import (
    -    call_subprocess,
    -    runner_with_spinner_message,
    -)
    -from pip._internal.utils.temp_dir import TempDirectory
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.virtualenv import running_under_virtualenv
    -from pip._internal.vcs import vcs
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Any, Dict, Iterable, List, Optional, Sequence, Union,
    -    )
    -    from pip._internal.build_env import BuildEnvironment
    -    from pip._internal.cache import WheelCache
    -    from pip._internal.index import PackageFinder
    -    from pip._vendor.pkg_resources import Distribution
    -    from pip._vendor.packaging.specifiers import SpecifierSet
    -    from pip._vendor.packaging.markers import Marker
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class InstallRequirement(object):
    -    """
    -    Represents something that may be installed later on, may have information
    -    about where to fetch the relevant requirement and also contains logic for
    -    installing the said requirement.
    -    """
    -
    -    def __init__(
    -        self,
    -        req,  # type: Optional[Requirement]
    -        comes_from,  # type: Optional[Union[str, InstallRequirement]]
    -        source_dir=None,  # type: Optional[str]
    -        editable=False,  # type: bool
    -        link=None,  # type: Optional[Link]
    -        markers=None,  # type: Optional[Marker]
    -        use_pep517=None,  # type: Optional[bool]
    -        isolated=False,  # type: bool
    -        options=None,  # type: Optional[Dict[str, Any]]
    -        wheel_cache=None,  # type: Optional[WheelCache]
    -        constraint=False,  # type: bool
    -        extras=()  # type: Iterable[str]
    -    ):
    -        # type: (...) -> None
    -        assert req is None or isinstance(req, Requirement), req
    -        self.req = req
    -        self.comes_from = comes_from
    -        self.constraint = constraint
    -        if source_dir is None:
    -            self.source_dir = None  # type: Optional[str]
    -        else:
    -            self.source_dir = os.path.normpath(os.path.abspath(source_dir))
    -        self.editable = editable
    -
    -        self._wheel_cache = wheel_cache
    -        if link is None and req and req.url:
    -            # PEP 508 URL requirement
    -            link = Link(req.url)
    -        self.link = self.original_link = link
    -
    -        if extras:
    -            self.extras = extras
    -        elif req:
    -            self.extras = {
    -                pkg_resources.safe_extra(extra) for extra in req.extras
    -            }
    -        else:
    -            self.extras = set()
    -        if markers is None and req:
    -            markers = req.marker
    -        self.markers = markers
    -
    -        # This holds the pkg_resources.Distribution object if this requirement
    -        # is already available:
    -        self.satisfied_by = None
    -        # This hold the pkg_resources.Distribution object if this requirement
    -        # conflicts with another installed distribution:
    -        self.conflicts_with = None
    -        # Temporary build location
    -        self._temp_build_dir = None  # type: Optional[TempDirectory]
    -        # Used to store the global directory where the _temp_build_dir should
    -        # have been created. Cf move_to_correct_build_directory method.
    -        self._ideal_build_dir = None  # type: Optional[str]
    -        # Set to True after successful installation
    -        self.install_succeeded = None  # type: Optional[bool]
    -        self.options = options if options else {}
    -        # Set to True after successful preparation of this requirement
    -        self.prepared = False
    -        self.is_direct = False
    -
    -        self.isolated = isolated
    -        self.build_env = NoOpBuildEnvironment()  # type: BuildEnvironment
    -
    -        # For PEP 517, the directory where we request the project metadata
    -        # gets stored. We need this to pass to build_wheel, so the backend
    -        # can ensure that the wheel matches the metadata (see the PEP for
    -        # details).
    -        self.metadata_directory = None  # type: Optional[str]
    -
    -        # The static build requirements (from pyproject.toml)
    -        self.pyproject_requires = None  # type: Optional[List[str]]
    -
    -        # Build requirements that we will check are available
    -        self.requirements_to_check = []  # type: List[str]
    -
    -        # The PEP 517 backend we should use to build the project
    -        self.pep517_backend = None  # type: Optional[Pep517HookCaller]
    -
    -        # Are we using PEP 517 for this requirement?
    -        # After pyproject.toml has been loaded, the only valid values are True
    -        # and False. Before loading, None is valid (meaning "use the default").
    -        # Setting an explicit value before loading pyproject.toml is supported,
    -        # but after loading this flag should be treated as read only.
    -        self.use_pep517 = use_pep517
    -
    -    def __str__(self):
    -        # type: () -> str
    -        if self.req:
    -            s = str(self.req)
    -            if self.link:
    -                s += ' from %s' % redact_auth_from_url(self.link.url)
    -        elif self.link:
    -            s = redact_auth_from_url(self.link.url)
    -        else:
    -            s = ''
    -        if self.satisfied_by is not None:
    -            s += ' in %s' % display_path(self.satisfied_by.location)
    -        if self.comes_from:
    -            if isinstance(self.comes_from, six.string_types):
    -                comes_from = self.comes_from  # type: Optional[str]
    -            else:
    -                comes_from = self.comes_from.from_path()
    -            if comes_from:
    -                s += ' (from %s)' % comes_from
    -        return s
    -
    -    def __repr__(self):
    -        # type: () -> str
    -        return '<%s object: %s editable=%r>' % (
    -            self.__class__.__name__, str(self), self.editable)
    -
    -    def format_debug(self):
    -        # type: () -> str
    -        """An un-tested helper for getting state, for debugging.
    -        """
    -        attributes = vars(self)
    -        names = sorted(attributes)
    -
    -        state = (
    -            "{}={!r}".format(attr, attributes[attr]) for attr in sorted(names)
    -        )
    -        return '<{name} object: {{{state}}}>'.format(
    -            name=self.__class__.__name__,
    -            state=", ".join(state),
    -        )
    -
    -    def populate_link(self, finder, upgrade, require_hashes):
    -        # type: (PackageFinder, bool, bool) -> None
    -        """Ensure that if a link can be found for this, that it is found.
    -
    -        Note that self.link may still be None - if Upgrade is False and the
    -        requirement is already installed.
    -
    -        If require_hashes is True, don't use the wheel cache, because cached
    -        wheels, always built locally, have different hashes than the files
    -        downloaded from the index server and thus throw false hash mismatches.
    -        Furthermore, cached wheels at present have undeterministic contents due
    -        to file modification times.
    -        """
    -        if self.link is None:
    -            self.link = finder.find_requirement(self, upgrade)
    -        if self._wheel_cache is not None and not require_hashes:
    -            old_link = self.link
    -            supported_tags = pep425tags.get_supported()
    -            self.link = self._wheel_cache.get(
    -                link=self.link,
    -                package_name=self.name,
    -                supported_tags=supported_tags,
    -            )
    -            if old_link != self.link:
    -                logger.debug('Using cached wheel link: %s', self.link)
    -
    -    # Things that are valid for all kinds of requirements?
    -    @property
    -    def name(self):
    -        # type: () -> Optional[str]
    -        if self.req is None:
    -            return None
    -        return native_str(pkg_resources.safe_name(self.req.name))
    -
    -    @property
    -    def specifier(self):
    -        # type: () -> SpecifierSet
    -        return self.req.specifier
    -
    -    @property
    -    def is_pinned(self):
    -        # type: () -> bool
    -        """Return whether I am pinned to an exact version.
    -
    -        For example, some-package==1.2 is pinned; some-package>1.2 is not.
    -        """
    -        specifiers = self.specifier
    -        return (len(specifiers) == 1 and
    -                next(iter(specifiers)).operator in {'==', '==='})
    -
    -    @property
    -    def installed_version(self):
    -        # type: () -> Optional[str]
    -        return get_installed_version(self.name)
    -
    -    def match_markers(self, extras_requested=None):
    -        # type: (Optional[Iterable[str]]) -> bool
    -        if not extras_requested:
    -            # Provide an extra to safely evaluate the markers
    -            # without matching any extra
    -            extras_requested = ('',)
    -        if self.markers is not None:
    -            return any(
    -                self.markers.evaluate({'extra': extra})
    -                for extra in extras_requested)
    -        else:
    -            return True
    -
    -    @property
    -    def has_hash_options(self):
    -        # type: () -> bool
    -        """Return whether any known-good hashes are specified as options.
    -
    -        These activate --require-hashes mode; hashes specified as part of a
    -        URL do not.
    -
    -        """
    -        return bool(self.options.get('hashes', {}))
    -
    -    def hashes(self, trust_internet=True):
    -        # type: (bool) -> Hashes
    -        """Return a hash-comparer that considers my option- and URL-based
    -        hashes to be known-good.
    -
    -        Hashes in URLs--ones embedded in the requirements file, not ones
    -        downloaded from an index server--are almost peers with ones from
    -        flags. They satisfy --require-hashes (whether it was implicitly or
    -        explicitly activated) but do not activate it. md5 and sha224 are not
    -        allowed in flags, which should nudge people toward good algos. We
    -        always OR all hashes together, even ones from URLs.
    -
    -        :param trust_internet: Whether to trust URL-based (#md5=...) hashes
    -            downloaded from the internet, as by populate_link()
    -
    -        """
    -        good_hashes = self.options.get('hashes', {}).copy()
    -        link = self.link if trust_internet else self.original_link
    -        if link and link.hash:
    -            good_hashes.setdefault(link.hash_name, []).append(link.hash)
    -        return Hashes(good_hashes)
    -
    -    def from_path(self):
    -        # type: () -> Optional[str]
    -        """Format a nice indicator to show where this "comes from"
    -        """
    -        if self.req is None:
    -            return None
    -        s = str(self.req)
    -        if self.comes_from:
    -            if isinstance(self.comes_from, six.string_types):
    -                comes_from = self.comes_from
    -            else:
    -                comes_from = self.comes_from.from_path()
    -            if comes_from:
    -                s += '->' + comes_from
    -        return s
    -
    -    def ensure_build_location(self, build_dir):
    -        # type: (str) -> str
    -        assert build_dir is not None
    -        if self._temp_build_dir is not None:
    -            assert self._temp_build_dir.path
    -            return self._temp_build_dir.path
    -        if self.req is None:
    -            # for requirement via a path to a directory: the name of the
    -            # package is not available yet so we create a temp directory
    -            # Once run_egg_info will have run, we'll be able to fix it via
    -            # move_to_correct_build_directory().
    -            # Some systems have /tmp as a symlink which confuses custom
    -            # builds (such as numpy). Thus, we ensure that the real path
    -            # is returned.
    -            self._temp_build_dir = TempDirectory(kind="req-build")
    -            self._ideal_build_dir = build_dir
    -
    -            return self._temp_build_dir.path
    -        if self.editable:
    -            name = self.name.lower()
    -        else:
    -            name = self.name
    -        # FIXME: Is there a better place to create the build_dir? (hg and bzr
    -        # need this)
    -        if not os.path.exists(build_dir):
    -            logger.debug('Creating directory %s', build_dir)
    -            _make_build_dir(build_dir)
    -        return os.path.join(build_dir, name)
    -
    -    def move_to_correct_build_directory(self):
    -        # type: () -> None
    -        """Move self._temp_build_dir to "self._ideal_build_dir/self.req.name"
    -
    -        For some requirements (e.g. a path to a directory), the name of the
    -        package is not available until we run egg_info, so the build_location
    -        will return a temporary directory and store the _ideal_build_dir.
    -
    -        This is only called to "fix" the build directory after generating
    -        metadata.
    -        """
    -        if self.source_dir is not None:
    -            return
    -        assert self.req is not None
    -        assert self._temp_build_dir
    -        assert (
    -            self._ideal_build_dir is not None and
    -            self._ideal_build_dir.path  # type: ignore
    -        )
    -        old_location = self._temp_build_dir
    -        self._temp_build_dir = None  # checked inside ensure_build_location
    -
    -        # Figure out the correct place to put the files.
    -        new_location = self.ensure_build_location(self._ideal_build_dir)
    -        if os.path.exists(new_location):
    -            raise InstallationError(
    -                'A package already exists in %s; please remove it to continue'
    -                % display_path(new_location)
    -            )
    -
    -        # Move the files to the correct location.
    -        logger.debug(
    -            'Moving package %s from %s to new location %s',
    -            self, display_path(old_location.path), display_path(new_location),
    -        )
    -        shutil.move(old_location.path, new_location)
    -
    -        # Update directory-tracking variables, to be in line with new_location
    -        self.source_dir = os.path.normpath(os.path.abspath(new_location))
    -        self._temp_build_dir = TempDirectory(
    -            path=new_location, kind="req-install",
    -        )
    -
    -        # Correct the metadata directory, if it exists
    -        if self.metadata_directory:
    -            old_meta = self.metadata_directory
    -            rel = os.path.relpath(old_meta, start=old_location.path)
    -            new_meta = os.path.join(new_location, rel)
    -            new_meta = os.path.normpath(os.path.abspath(new_meta))
    -            self.metadata_directory = new_meta
    -
    -        # Done with any "move built files" work, since have moved files to the
    -        # "ideal" build location. Setting to None allows to clearly flag that
    -        # no more moves are needed.
    -        self._ideal_build_dir = None
    -
    -    def remove_temporary_source(self):
    -        # type: () -> None
    -        """Remove the source files from this requirement, if they are marked
    -        for deletion"""
    -        if self.source_dir and has_delete_marker_file(self.source_dir):
    -            logger.debug('Removing source in %s', self.source_dir)
    -            rmtree(self.source_dir)
    -        self.source_dir = None
    -        if self._temp_build_dir:
    -            self._temp_build_dir.cleanup()
    -            self._temp_build_dir = None
    -        self.build_env.cleanup()
    -
    -    def check_if_exists(self, use_user_site):
    -        # type: (bool) -> bool
    -        """Find an installed distribution that satisfies or conflicts
    -        with this requirement, and set self.satisfied_by or
    -        self.conflicts_with appropriately.
    -        """
    -        if self.req is None:
    -            return False
    -        try:
    -            # get_distribution() will resolve the entire list of requirements
    -            # anyway, and we've already determined that we need the requirement
    -            # in question, so strip the marker so that we don't try to
    -            # evaluate it.
    -            no_marker = Requirement(str(self.req))
    -            no_marker.marker = None
    -            self.satisfied_by = pkg_resources.get_distribution(str(no_marker))
    -            if self.editable and self.satisfied_by:
    -                self.conflicts_with = self.satisfied_by
    -                # when installing editables, nothing pre-existing should ever
    -                # satisfy
    -                self.satisfied_by = None
    -                return True
    -        except pkg_resources.DistributionNotFound:
    -            return False
    -        except pkg_resources.VersionConflict:
    -            existing_dist = pkg_resources.get_distribution(
    -                self.req.name
    -            )
    -            if use_user_site:
    -                if dist_in_usersite(existing_dist):
    -                    self.conflicts_with = existing_dist
    -                elif (running_under_virtualenv() and
    -                        dist_in_site_packages(existing_dist)):
    -                    raise InstallationError(
    -                        "Will not install to the user site because it will "
    -                        "lack sys.path precedence to %s in %s" %
    -                        (existing_dist.project_name, existing_dist.location)
    -                    )
    -            else:
    -                self.conflicts_with = existing_dist
    -        return True
    -
    -    # Things valid for wheels
    -    @property
    -    def is_wheel(self):
    -        # type: () -> bool
    -        if not self.link:
    -            return False
    -        return self.link.is_wheel
    -
    -    def move_wheel_files(
    -        self,
    -        wheeldir,  # type: str
    -        root=None,  # type: Optional[str]
    -        home=None,  # type: Optional[str]
    -        prefix=None,  # type: Optional[str]
    -        warn_script_location=True,  # type: bool
    -        use_user_site=False,  # type: bool
    -        pycompile=True  # type: bool
    -    ):
    -        # type: (...) -> None
    -        wheel.move_wheel_files(
    -            self.name, self.req, wheeldir,
    -            user=use_user_site,
    -            home=home,
    -            root=root,
    -            prefix=prefix,
    -            pycompile=pycompile,
    -            isolated=self.isolated,
    -            warn_script_location=warn_script_location,
    -        )
    -
    -    # Things valid for sdists
    -    @property
    -    def unpacked_source_directory(self):
    -        # type: () -> str
    -        return os.path.join(
    -            self.source_dir,
    -            self.link and self.link.subdirectory_fragment or '')
    -
    -    @property
    -    def setup_py_path(self):
    -        # type: () -> str
    -        assert self.source_dir, "No source dir for %s" % self
    -        setup_py = os.path.join(self.unpacked_source_directory, 'setup.py')
    -
    -        # Python2 __file__ should not be unicode
    -        if six.PY2 and isinstance(setup_py, six.text_type):
    -            setup_py = setup_py.encode(sys.getfilesystemencoding())
    -
    -        return setup_py
    -
    -    @property
    -    def pyproject_toml_path(self):
    -        # type: () -> str
    -        assert self.source_dir, "No source dir for %s" % self
    -        return make_pyproject_path(self.unpacked_source_directory)
    -
    -    def load_pyproject_toml(self):
    -        # type: () -> None
    -        """Load the pyproject.toml file.
    -
    -        After calling this routine, all of the attributes related to PEP 517
    -        processing for this requirement have been set. In particular, the
    -        use_pep517 attribute can be used to determine whether we should
    -        follow the PEP 517 or legacy (setup.py) code path.
    -        """
    -        pyproject_toml_data = load_pyproject_toml(
    -            self.use_pep517,
    -            self.pyproject_toml_path,
    -            self.setup_py_path,
    -            str(self)
    -        )
    -
    -        if pyproject_toml_data is None:
    -            self.use_pep517 = False
    -            return
    -
    -        self.use_pep517 = True
    -        requires, backend, check = pyproject_toml_data
    -        self.requirements_to_check = check
    -        self.pyproject_requires = requires
    -        self.pep517_backend = Pep517HookCaller(
    -            self.unpacked_source_directory, backend
    -        )
    -
    -    def prepare_metadata(self):
    -        # type: () -> None
    -        """Ensure that project metadata is available.
    -
    -        Under PEP 517, call the backend hook to prepare the metadata.
    -        Under legacy processing, call setup.py egg-info.
    -        """
    -        assert self.source_dir
    -
    -        metadata_generator = get_metadata_generator(self)
    -        with indent_log():
    -            self.metadata_directory = metadata_generator(self)
    -
    -        if not self.req:
    -            if isinstance(parse_version(self.metadata["Version"]), Version):
    -                op = "=="
    -            else:
    -                op = "==="
    -            self.req = Requirement(
    -                "".join([
    -                    self.metadata["Name"],
    -                    op,
    -                    self.metadata["Version"],
    -                ])
    -            )
    -            self.move_to_correct_build_directory()
    -        else:
    -            metadata_name = canonicalize_name(self.metadata["Name"])
    -            if canonicalize_name(self.req.name) != metadata_name:
    -                logger.warning(
    -                    'Generating metadata for package %s '
    -                    'produced metadata for project name %s. Fix your '
    -                    '#egg=%s fragments.',
    -                    self.name, metadata_name, self.name
    -                )
    -                self.req = Requirement(metadata_name)
    -
    -    def prepare_pep517_metadata(self):
    -        # type: () -> str
    -        assert self.pep517_backend is not None
    -
    -        # NOTE: This needs to be refactored to stop using atexit
    -        metadata_tmpdir = TempDirectory(kind="modern-metadata")
    -        atexit.register(metadata_tmpdir.cleanup)
    -
    -        metadata_dir = metadata_tmpdir.path
    -
    -        with self.build_env:
    -            # Note that Pep517HookCaller implements a fallback for
    -            # prepare_metadata_for_build_wheel, so we don't have to
    -            # consider the possibility that this hook doesn't exist.
    -            runner = runner_with_spinner_message("Preparing wheel metadata")
    -            backend = self.pep517_backend
    -            with backend.subprocess_runner(runner):
    -                distinfo_dir = backend.prepare_metadata_for_build_wheel(
    -                    metadata_dir
    -                )
    -
    -        return os.path.join(metadata_dir, distinfo_dir)
    -
    -    @property
    -    def metadata(self):
    -        # type: () -> Any
    -        if not hasattr(self, '_metadata'):
    -            self._metadata = get_metadata(self.get_dist())
    -
    -        return self._metadata
    -
    -    def get_dist(self):
    -        # type: () -> Distribution
    -        """Return a pkg_resources.Distribution for this requirement"""
    -        dist_dir = self.metadata_directory.rstrip(os.sep)
    -
    -        # Determine the correct Distribution object type.
    -        if dist_dir.endswith(".egg-info"):
    -            dist_cls = pkg_resources.Distribution
    -        else:
    -            assert dist_dir.endswith(".dist-info")
    -            dist_cls = pkg_resources.DistInfoDistribution
    -
    -        # Build a PathMetadata object, from path to metadata. :wink:
    -        base_dir, dist_dir_name = os.path.split(dist_dir)
    -        dist_name = os.path.splitext(dist_dir_name)[0]
    -        metadata = pkg_resources.PathMetadata(base_dir, dist_dir)
    -
    -        return dist_cls(
    -            base_dir,
    -            project_name=dist_name,
    -            metadata=metadata,
    -        )
    -
    -    def assert_source_matches_version(self):
    -        # type: () -> None
    -        assert self.source_dir
    -        version = self.metadata['version']
    -        if self.req.specifier and version not in self.req.specifier:
    -            logger.warning(
    -                'Requested %s, but installing version %s',
    -                self,
    -                version,
    -            )
    -        else:
    -            logger.debug(
    -                'Source in %s has version %s, which satisfies requirement %s',
    -                display_path(self.source_dir),
    -                version,
    -                self,
    -            )
    -
    -    # For both source distributions and editables
    -    def ensure_has_source_dir(self, parent_dir):
    -        # type: (str) -> None
    -        """Ensure that a source_dir is set.
    -
    -        This will create a temporary build dir if the name of the requirement
    -        isn't known yet.
    -
    -        :param parent_dir: The ideal pip parent_dir for the source_dir.
    -            Generally src_dir for editables and build_dir for sdists.
    -        :return: self.source_dir
    -        """
    -        if self.source_dir is None:
    -            self.source_dir = self.ensure_build_location(parent_dir)
    -
    -    # For editable installations
    -    def install_editable(
    -        self,
    -        install_options,  # type: List[str]
    -        global_options=(),  # type: Sequence[str]
    -        prefix=None  # type: Optional[str]
    -    ):
    -        # type: (...) -> None
    -        logger.info('Running setup.py develop for %s', self.name)
    -
    -        if prefix:
    -            prefix_param = ['--prefix={}'.format(prefix)]
    -            install_options = list(install_options) + prefix_param
    -        base_cmd = make_setuptools_shim_args(
    -            self.setup_py_path,
    -            global_options=global_options,
    -            no_user_config=self.isolated
    -        )
    -        with indent_log():
    -            with self.build_env:
    -                call_subprocess(
    -                    base_cmd +
    -                    ['develop', '--no-deps'] +
    -                    list(install_options),
    -                    cwd=self.unpacked_source_directory,
    -                )
    -
    -        self.install_succeeded = True
    -
    -    def update_editable(self, obtain=True):
    -        # type: (bool) -> None
    -        if not self.link:
    -            logger.debug(
    -                "Cannot update repository at %s; repository location is "
    -                "unknown",
    -                self.source_dir,
    -            )
    -            return
    -        assert self.editable
    -        assert self.source_dir
    -        if self.link.scheme == 'file':
    -            # Static paths don't get updated
    -            return
    -        assert '+' in self.link.url, "bad url: %r" % self.link.url
    -        vc_type, url = self.link.url.split('+', 1)
    -        vcs_backend = vcs.get_backend(vc_type)
    -        if vcs_backend:
    -            hidden_url = hide_url(self.link.url)
    -            if obtain:
    -                vcs_backend.obtain(self.source_dir, url=hidden_url)
    -            else:
    -                vcs_backend.export(self.source_dir, url=hidden_url)
    -        else:
    -            assert 0, (
    -                'Unexpected version control type (in %s): %s'
    -                % (self.link, vc_type))
    -
    -    # Top-level Actions
    -    def uninstall(self, auto_confirm=False, verbose=False,
    -                  use_user_site=False):
    -        # type: (bool, bool, bool) -> Optional[UninstallPathSet]
    -        """
    -        Uninstall the distribution currently satisfying this requirement.
    -
    -        Prompts before removing or modifying files unless
    -        ``auto_confirm`` is True.
    -
    -        Refuses to delete or modify files outside of ``sys.prefix`` -
    -        thus uninstallation within a virtual environment can only
    -        modify that virtual environment, even if the virtualenv is
    -        linked to global site-packages.
    -
    -        """
    -        if not self.check_if_exists(use_user_site):
    -            logger.warning("Skipping %s as it is not installed.", self.name)
    -            return None
    -        dist = self.satisfied_by or self.conflicts_with
    -
    -        uninstalled_pathset = UninstallPathSet.from_dist(dist)
    -        uninstalled_pathset.remove(auto_confirm, verbose)
    -        return uninstalled_pathset
    -
    -    def _clean_zip_name(self, name, prefix):  # only used by archive.
    -        # type: (str, str) -> str
    -        assert name.startswith(prefix + os.path.sep), (
    -            "name %r doesn't start with prefix %r" % (name, prefix)
    -        )
    -        name = name[len(prefix) + 1:]
    -        name = name.replace(os.path.sep, '/')
    -        return name
    -
    -    def _get_archive_name(self, path, parentdir, rootdir):
    -        # type: (str, str, str) -> str
    -        path = os.path.join(parentdir, path)
    -        name = self._clean_zip_name(path, rootdir)
    -        return self.name + '/' + name
    -
    -    def archive(self, build_dir):
    -        # type: (str) -> None
    -        """Saves archive to provided build_dir.
    -
    -        Used for saving downloaded VCS requirements as part of `pip download`.
    -        """
    -        assert self.source_dir
    -
    -        create_archive = True
    -        archive_name = '%s-%s.zip' % (self.name, self.metadata["version"])
    -        archive_path = os.path.join(build_dir, archive_name)
    -
    -        if os.path.exists(archive_path):
    -            response = ask_path_exists(
    -                'The file %s exists. (i)gnore, (w)ipe, (b)ackup, (a)bort ' %
    -                display_path(archive_path), ('i', 'w', 'b', 'a'))
    -            if response == 'i':
    -                create_archive = False
    -            elif response == 'w':
    -                logger.warning('Deleting %s', display_path(archive_path))
    -                os.remove(archive_path)
    -            elif response == 'b':
    -                dest_file = backup_dir(archive_path)
    -                logger.warning(
    -                    'Backing up %s to %s',
    -                    display_path(archive_path),
    -                    display_path(dest_file),
    -                )
    -                shutil.move(archive_path, dest_file)
    -            elif response == 'a':
    -                sys.exit(-1)
    -
    -        if not create_archive:
    -            return
    -
    -        zip_output = zipfile.ZipFile(
    -            archive_path, 'w', zipfile.ZIP_DEFLATED, allowZip64=True,
    -        )
    -        with zip_output:
    -            dir = os.path.normcase(
    -                os.path.abspath(self.unpacked_source_directory)
    -            )
    -            for dirpath, dirnames, filenames in os.walk(dir):
    -                if 'pip-egg-info' in dirnames:
    -                    dirnames.remove('pip-egg-info')
    -                for dirname in dirnames:
    -                    dir_arcname = self._get_archive_name(
    -                        dirname, parentdir=dirpath, rootdir=dir,
    -                    )
    -                    zipdir = zipfile.ZipInfo(dir_arcname + '/')
    -                    zipdir.external_attr = 0x1ED << 16  # 0o755
    -                    zip_output.writestr(zipdir, '')
    -                for filename in filenames:
    -                    if filename == PIP_DELETE_MARKER_FILENAME:
    -                        continue
    -                    file_arcname = self._get_archive_name(
    -                        filename, parentdir=dirpath, rootdir=dir,
    -                    )
    -                    filename = os.path.join(dirpath, filename)
    -                    zip_output.write(filename, file_arcname)
    -
    -        logger.info('Saved %s', display_path(archive_path))
    -
    -    def install(
    -        self,
    -        install_options,  # type: List[str]
    -        global_options=None,  # type: Optional[Sequence[str]]
    -        root=None,  # type: Optional[str]
    -        home=None,  # type: Optional[str]
    -        prefix=None,  # type: Optional[str]
    -        warn_script_location=True,  # type: bool
    -        use_user_site=False,  # type: bool
    -        pycompile=True  # type: bool
    -    ):
    -        # type: (...) -> None
    -        global_options = global_options if global_options is not None else []
    -        if self.editable:
    -            self.install_editable(
    -                install_options, global_options, prefix=prefix,
    -            )
    -            return
    -        if self.is_wheel:
    -            version = wheel.wheel_version(self.source_dir)
    -            wheel.check_compatibility(version, self.name)
    -
    -            self.move_wheel_files(
    -                self.source_dir, root=root, prefix=prefix, home=home,
    -                warn_script_location=warn_script_location,
    -                use_user_site=use_user_site, pycompile=pycompile,
    -            )
    -            self.install_succeeded = True
    -            return
    -
    -        # Extend the list of global and install options passed on to
    -        # the setup.py call with the ones from the requirements file.
    -        # Options specified in requirements file override those
    -        # specified on the command line, since the last option given
    -        # to setup.py is the one that is used.
    -        global_options = list(global_options) + \
    -            self.options.get('global_options', [])
    -        install_options = list(install_options) + \
    -            self.options.get('install_options', [])
    -
    -        with TempDirectory(kind="record") as temp_dir:
    -            record_filename = os.path.join(temp_dir.path, 'install-record.txt')
    -            install_args = self.get_install_args(
    -                global_options, record_filename, root, prefix, pycompile,
    -            )
    -
    -            runner = runner_with_spinner_message(
    -                "Running setup.py install for {}".format(self.name)
    -            )
    -            with indent_log(), self.build_env:
    -                runner(
    -                    cmd=install_args + install_options,
    -                    cwd=self.unpacked_source_directory,
    -                )
    -
    -            if not os.path.exists(record_filename):
    -                logger.debug('Record file %s not found', record_filename)
    -                return
    -            self.install_succeeded = True
    -
    -            def prepend_root(path):
    -                # type: (str) -> str
    -                if root is None or not os.path.isabs(path):
    -                    return path
    -                else:
    -                    return change_root(root, path)
    -
    -            with open(record_filename) as f:
    -                for line in f:
    -                    directory = os.path.dirname(line)
    -                    if directory.endswith('.egg-info'):
    -                        egg_info_dir = prepend_root(directory)
    -                        break
    -                else:
    -                    logger.warning(
    -                        'Could not find .egg-info directory in install record'
    -                        ' for %s',
    -                        self,
    -                    )
    -                    # FIXME: put the record somewhere
    -                    return
    -            new_lines = []
    -            with open(record_filename) as f:
    -                for line in f:
    -                    filename = line.strip()
    -                    if os.path.isdir(filename):
    -                        filename += os.path.sep
    -                    new_lines.append(
    -                        os.path.relpath(prepend_root(filename), egg_info_dir)
    -                    )
    -            new_lines.sort()
    -            ensure_dir(egg_info_dir)
    -            inst_files_path = os.path.join(egg_info_dir, 'installed-files.txt')
    -            with open(inst_files_path, 'w') as f:
    -                f.write('\n'.join(new_lines) + '\n')
    -
    -    def get_install_args(
    -        self,
    -        global_options,  # type: Sequence[str]
    -        record_filename,  # type: str
    -        root,  # type: Optional[str]
    -        prefix,  # type: Optional[str]
    -        pycompile  # type: bool
    -    ):
    -        # type: (...) -> List[str]
    -        install_args = make_setuptools_shim_args(
    -            self.setup_py_path,
    -            global_options=global_options,
    -            no_user_config=self.isolated,
    -            unbuffered_output=True
    -        )
    -        install_args += ['install', '--record', record_filename]
    -        install_args += ['--single-version-externally-managed']
    -
    -        if root is not None:
    -            install_args += ['--root', root]
    -        if prefix is not None:
    -            install_args += ['--prefix', prefix]
    -
    -        if pycompile:
    -            install_args += ["--compile"]
    -        else:
    -            install_args += ["--no-compile"]
    -
    -        if running_under_virtualenv():
    -            py_ver_str = 'python' + sysconfig.get_python_version()
    -            install_args += ['--install-headers',
    -                             os.path.join(sys.prefix, 'include', 'site',
    -                                          py_ver_str, self.name)]
    -
    -        return install_args
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_set.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_set.py
    deleted file mode 100644
    index b34a2bb..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_set.py
    +++ /dev/null
    @@ -1,210 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -from collections import OrderedDict
    -
    -from pip._vendor.packaging.utils import canonicalize_name
    -
    -from pip._internal import pep425tags
    -from pip._internal.exceptions import InstallationError
    -from pip._internal.utils.logging import indent_log
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.wheel import Wheel
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Dict, Iterable, List, Optional, Tuple
    -    from pip._internal.req.req_install import InstallRequirement
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class RequirementSet(object):
    -
    -    def __init__(self, require_hashes=False, check_supported_wheels=True):
    -        # type: (bool, bool) -> None
    -        """Create a RequirementSet.
    -        """
    -
    -        self.requirements = OrderedDict()  # type: Dict[str, InstallRequirement]  # noqa: E501
    -        self.require_hashes = require_hashes
    -        self.check_supported_wheels = check_supported_wheels
    -
    -        self.unnamed_requirements = []  # type: List[InstallRequirement]
    -        self.successfully_downloaded = []  # type: List[InstallRequirement]
    -        self.reqs_to_cleanup = []  # type: List[InstallRequirement]
    -
    -    def __str__(self):
    -        # type: () -> str
    -        requirements = sorted(
    -            (req for req in self.requirements.values() if not req.comes_from),
    -            key=lambda req: canonicalize_name(req.name),
    -        )
    -        return ' '.join(str(req.req) for req in requirements)
    -
    -    def __repr__(self):
    -        # type: () -> str
    -        requirements = sorted(
    -            self.requirements.values(),
    -            key=lambda req: canonicalize_name(req.name),
    -        )
    -
    -        format_string = '<{classname} object; {count} requirement(s): {reqs}>'
    -        return format_string.format(
    -            classname=self.__class__.__name__,
    -            count=len(requirements),
    -            reqs=', '.join(str(req.req) for req in requirements),
    -        )
    -
    -    def add_unnamed_requirement(self, install_req):
    -        # type: (InstallRequirement) -> None
    -        assert not install_req.name
    -        self.unnamed_requirements.append(install_req)
    -
    -    def add_named_requirement(self, install_req):
    -        # type: (InstallRequirement) -> None
    -        assert install_req.name
    -
    -        project_name = canonicalize_name(install_req.name)
    -        self.requirements[project_name] = install_req
    -
    -    def add_requirement(
    -        self,
    -        install_req,  # type: InstallRequirement
    -        parent_req_name=None,  # type: Optional[str]
    -        extras_requested=None  # type: Optional[Iterable[str]]
    -    ):
    -        # type: (...) -> Tuple[List[InstallRequirement], Optional[InstallRequirement]]  # noqa: E501
    -        """Add install_req as a requirement to install.
    -
    -        :param parent_req_name: The name of the requirement that needed this
    -            added. The name is used because when multiple unnamed requirements
    -            resolve to the same name, we could otherwise end up with dependency
    -            links that point outside the Requirements set. parent_req must
    -            already be added. Note that None implies that this is a user
    -            supplied requirement, vs an inferred one.
    -        :param extras_requested: an iterable of extras used to evaluate the
    -            environment markers.
    -        :return: Additional requirements to scan. That is either [] if
    -            the requirement is not applicable, or [install_req] if the
    -            requirement is applicable and has just been added.
    -        """
    -        # If the markers do not match, ignore this requirement.
    -        if not install_req.match_markers(extras_requested):
    -            logger.info(
    -                "Ignoring %s: markers '%s' don't match your environment",
    -                install_req.name, install_req.markers,
    -            )
    -            return [], None
    -
    -        # If the wheel is not supported, raise an error.
    -        # Should check this after filtering out based on environment markers to
    -        # allow specifying different wheels based on the environment/OS, in a
    -        # single requirements file.
    -        if install_req.link and install_req.link.is_wheel:
    -            wheel = Wheel(install_req.link.filename)
    -            tags = pep425tags.get_supported()
    -            if (self.check_supported_wheels and not wheel.supported(tags)):
    -                raise InstallationError(
    -                    "%s is not a supported wheel on this platform." %
    -                    wheel.filename
    -                )
    -
    -        # This next bit is really a sanity check.
    -        assert install_req.is_direct == (parent_req_name is None), (
    -            "a direct req shouldn't have a parent and also, "
    -            "a non direct req should have a parent"
    -        )
    -
    -        # Unnamed requirements are scanned again and the requirement won't be
    -        # added as a dependency until after scanning.
    -        if not install_req.name:
    -            self.add_unnamed_requirement(install_req)
    -            return [install_req], None
    -
    -        try:
    -            existing_req = self.get_requirement(install_req.name)
    -        except KeyError:
    -            existing_req = None
    -
    -        has_conflicting_requirement = (
    -            parent_req_name is None and
    -            existing_req and
    -            not existing_req.constraint and
    -            existing_req.extras == install_req.extras and
    -            existing_req.req.specifier != install_req.req.specifier
    -        )
    -        if has_conflicting_requirement:
    -            raise InstallationError(
    -                "Double requirement given: %s (already in %s, name=%r)"
    -                % (install_req, existing_req, install_req.name)
    -            )
    -
    -        # When no existing requirement exists, add the requirement as a
    -        # dependency and it will be scanned again after.
    -        if not existing_req:
    -            self.add_named_requirement(install_req)
    -            # We'd want to rescan this requirement later
    -            return [install_req], install_req
    -
    -        # Assume there's no need to scan, and that we've already
    -        # encountered this for scanning.
    -        if install_req.constraint or not existing_req.constraint:
    -            return [], existing_req
    -
    -        does_not_satisfy_constraint = (
    -            install_req.link and
    -            not (
    -                existing_req.link and
    -                install_req.link.path == existing_req.link.path
    -            )
    -        )
    -        if does_not_satisfy_constraint:
    -            self.reqs_to_cleanup.append(install_req)
    -            raise InstallationError(
    -                "Could not satisfy constraints for '%s': "
    -                "installation from path or url cannot be "
    -                "constrained to a version" % install_req.name,
    -            )
    -        # If we're now installing a constraint, mark the existing
    -        # object for real installation.
    -        existing_req.constraint = False
    -        existing_req.extras = tuple(sorted(
    -            set(existing_req.extras) | set(install_req.extras)
    -        ))
    -        logger.debug(
    -            "Setting %s extras to: %s",
    -            existing_req, existing_req.extras,
    -        )
    -        # Return the existing requirement for addition to the parent and
    -        # scanning again.
    -        return [existing_req], existing_req
    -
    -    def has_requirement(self, name):
    -        # type: (str) -> bool
    -        project_name = canonicalize_name(name)
    -
    -        return (
    -            project_name in self.requirements and
    -            not self.requirements[project_name].constraint
    -        )
    -
    -    def get_requirement(self, name):
    -        # type: (str) -> InstallRequirement
    -        project_name = canonicalize_name(name)
    -
    -        if project_name in self.requirements:
    -            return self.requirements[project_name]
    -
    -        raise KeyError("No project with the name %r" % name)
    -
    -    def cleanup_files(self):
    -        # type: () -> None
    -        """Clean up files, remove builds."""
    -        logger.debug('Cleaning up...')
    -        with indent_log():
    -            for req in self.reqs_to_cleanup:
    -                req.remove_temporary_source()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_tracker.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_tracker.py
    deleted file mode 100644
    index aa57c79..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_tracker.py
    +++ /dev/null
    @@ -1,98 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -
    -from __future__ import absolute_import
    -
    -import contextlib
    -import errno
    -import hashlib
    -import logging
    -import os
    -
    -from pip._internal.utils.temp_dir import TempDirectory
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from types import TracebackType
    -    from typing import Iterator, Optional, Set, Type
    -    from pip._internal.req.req_install import InstallRequirement
    -    from pip._internal.models.link import Link
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class RequirementTracker(object):
    -
    -    def __init__(self):
    -        # type: () -> None
    -        self._root = os.environ.get('PIP_REQ_TRACKER')
    -        if self._root is None:
    -            self._temp_dir = TempDirectory(delete=False, kind='req-tracker')
    -            self._root = os.environ['PIP_REQ_TRACKER'] = self._temp_dir.path
    -            logger.debug('Created requirements tracker %r', self._root)
    -        else:
    -            self._temp_dir = None
    -            logger.debug('Re-using requirements tracker %r', self._root)
    -        self._entries = set()  # type: Set[InstallRequirement]
    -
    -    def __enter__(self):
    -        # type: () -> RequirementTracker
    -        return self
    -
    -    def __exit__(
    -        self,
    -        exc_type,  # type: Optional[Type[BaseException]]
    -        exc_val,  # type: Optional[BaseException]
    -        exc_tb  # type: Optional[TracebackType]
    -    ):
    -        # type: (...) -> None
    -        self.cleanup()
    -
    -    def _entry_path(self, link):
    -        # type: (Link) -> str
    -        hashed = hashlib.sha224(link.url_without_fragment.encode()).hexdigest()
    -        return os.path.join(self._root, hashed)
    -
    -    def add(self, req):
    -        # type: (InstallRequirement) -> None
    -        link = req.link
    -        info = str(req)
    -        entry_path = self._entry_path(link)
    -        try:
    -            with open(entry_path) as fp:
    -                # Error, these's already a build in progress.
    -                raise LookupError('%s is already being built: %s'
    -                                  % (link, fp.read()))
    -        except IOError as e:
    -            if e.errno != errno.ENOENT:
    -                raise
    -            assert req not in self._entries
    -            with open(entry_path, 'w') as fp:
    -                fp.write(info)
    -            self._entries.add(req)
    -            logger.debug('Added %s to build tracker %r', req, self._root)
    -
    -    def remove(self, req):
    -        # type: (InstallRequirement) -> None
    -        link = req.link
    -        self._entries.remove(req)
    -        os.unlink(self._entry_path(link))
    -        logger.debug('Removed %s from build tracker %r', req, self._root)
    -
    -    def cleanup(self):
    -        # type: () -> None
    -        for req in set(self._entries):
    -            self.remove(req)
    -        remove = self._temp_dir is not None
    -        if remove:
    -            self._temp_dir.cleanup()
    -        logger.debug('%s build tracker %r',
    -                     'Removed' if remove else 'Cleaned',
    -                     self._root)
    -
    -    @contextlib.contextmanager
    -    def track(self, req):
    -        # type: (InstallRequirement) -> Iterator[None]
    -        self.add(req)
    -        yield
    -        self.remove(req)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_uninstall.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_uninstall.py
    deleted file mode 100644
    index 3acde91..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/req/req_uninstall.py
    +++ /dev/null
    @@ -1,644 +0,0 @@
    -from __future__ import absolute_import
    -
    -import csv
    -import functools
    -import logging
    -import os
    -import sys
    -import sysconfig
    -
    -from pip._vendor import pkg_resources
    -
    -from pip._internal.exceptions import UninstallationError
    -from pip._internal.locations import bin_py, bin_user
    -from pip._internal.utils.compat import WINDOWS, cache_from_source, uses_pycache
    -from pip._internal.utils.logging import indent_log
    -from pip._internal.utils.misc import (
    -    FakeFile,
    -    ask,
    -    dist_in_usersite,
    -    dist_is_local,
    -    egg_link_path,
    -    is_local,
    -    normalize_path,
    -    renames,
    -    rmtree,
    -)
    -from pip._internal.utils.temp_dir import AdjacentTempDirectory, TempDirectory
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Any, Callable, Dict, Iterable, Iterator, List, Optional, Set, Tuple,
    -    )
    -    from pip._vendor.pkg_resources import Distribution
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def _script_names(dist, script_name, is_gui):
    -    # type: (Distribution, str, bool) -> List[str]
    -    """Create the fully qualified name of the files created by
    -    {console,gui}_scripts for the given ``dist``.
    -    Returns the list of file names
    -    """
    -    if dist_in_usersite(dist):
    -        bin_dir = bin_user
    -    else:
    -        bin_dir = bin_py
    -    exe_name = os.path.join(bin_dir, script_name)
    -    paths_to_remove = [exe_name]
    -    if WINDOWS:
    -        paths_to_remove.append(exe_name + '.exe')
    -        paths_to_remove.append(exe_name + '.exe.manifest')
    -        if is_gui:
    -            paths_to_remove.append(exe_name + '-script.pyw')
    -        else:
    -            paths_to_remove.append(exe_name + '-script.py')
    -    return paths_to_remove
    -
    -
    -def _unique(fn):
    -    # type: (Callable) -> Callable[..., Iterator[Any]]
    -    @functools.wraps(fn)
    -    def unique(*args, **kw):
    -        # type: (Any, Any) -> Iterator[Any]
    -        seen = set()  # type: Set[Any]
    -        for item in fn(*args, **kw):
    -            if item not in seen:
    -                seen.add(item)
    -                yield item
    -    return unique
    -
    -
    -@_unique
    -def uninstallation_paths(dist):
    -    # type: (Distribution) -> Iterator[str]
    -    """
    -    Yield all the uninstallation paths for dist based on RECORD-without-.py[co]
    -
    -    Yield paths to all the files in RECORD. For each .py file in RECORD, add
    -    the .pyc and .pyo in the same directory.
    -
    -    UninstallPathSet.add() takes care of the __pycache__ .py[co].
    -    """
    -    r = csv.reader(FakeFile(dist.get_metadata_lines('RECORD')))
    -    for row in r:
    -        path = os.path.join(dist.location, row[0])
    -        yield path
    -        if path.endswith('.py'):
    -            dn, fn = os.path.split(path)
    -            base = fn[:-3]
    -            path = os.path.join(dn, base + '.pyc')
    -            yield path
    -            path = os.path.join(dn, base + '.pyo')
    -            yield path
    -
    -
    -def compact(paths):
    -    # type: (Iterable[str]) -> Set[str]
    -    """Compact a path set to contain the minimal number of paths
    -    necessary to contain all paths in the set. If /a/path/ and
    -    /a/path/to/a/file.txt are both in the set, leave only the
    -    shorter path."""
    -
    -    sep = os.path.sep
    -    short_paths = set()  # type: Set[str]
    -    for path in sorted(paths, key=len):
    -        should_skip = any(
    -            path.startswith(shortpath.rstrip("*")) and
    -            path[len(shortpath.rstrip("*").rstrip(sep))] == sep
    -            for shortpath in short_paths
    -        )
    -        if not should_skip:
    -            short_paths.add(path)
    -    return short_paths
    -
    -
    -def compress_for_rename(paths):
    -    # type: (Iterable[str]) -> Set[str]
    -    """Returns a set containing the paths that need to be renamed.
    -
    -    This set may include directories when the original sequence of paths
    -    included every file on disk.
    -    """
    -    case_map = dict((os.path.normcase(p), p) for p in paths)
    -    remaining = set(case_map)
    -    unchecked = sorted(set(os.path.split(p)[0]
    -                           for p in case_map.values()), key=len)
    -    wildcards = set()  # type: Set[str]
    -
    -    def norm_join(*a):
    -        # type: (str) -> str
    -        return os.path.normcase(os.path.join(*a))
    -
    -    for root in unchecked:
    -        if any(os.path.normcase(root).startswith(w)
    -               for w in wildcards):
    -            # This directory has already been handled.
    -            continue
    -
    -        all_files = set()  # type: Set[str]
    -        all_subdirs = set()  # type: Set[str]
    -        for dirname, subdirs, files in os.walk(root):
    -            all_subdirs.update(norm_join(root, dirname, d)
    -                               for d in subdirs)
    -            all_files.update(norm_join(root, dirname, f)
    -                             for f in files)
    -        # If all the files we found are in our remaining set of files to
    -        # remove, then remove them from the latter set and add a wildcard
    -        # for the directory.
    -        if not (all_files - remaining):
    -            remaining.difference_update(all_files)
    -            wildcards.add(root + os.sep)
    -
    -    return set(map(case_map.__getitem__, remaining)) | wildcards
    -
    -
    -def compress_for_output_listing(paths):
    -    # type: (Iterable[str]) -> Tuple[Set[str], Set[str]]
    -    """Returns a tuple of 2 sets of which paths to display to user
    -
    -    The first set contains paths that would be deleted. Files of a package
    -    are not added and the top-level directory of the package has a '*' added
    -    at the end - to signify that all it's contents are removed.
    -
    -    The second set contains files that would have been skipped in the above
    -    folders.
    -    """
    -
    -    will_remove = set(paths)
    -    will_skip = set()
    -
    -    # Determine folders and files
    -    folders = set()
    -    files = set()
    -    for path in will_remove:
    -        if path.endswith(".pyc"):
    -            continue
    -        if path.endswith("__init__.py") or ".dist-info" in path:
    -            folders.add(os.path.dirname(path))
    -        files.add(path)
    -
    -    # probably this one https://github.com/python/mypy/issues/390
    -    _normcased_files = set(map(os.path.normcase, files))  # type: ignore
    -
    -    folders = compact(folders)
    -
    -    # This walks the tree using os.walk to not miss extra folders
    -    # that might get added.
    -    for folder in folders:
    -        for dirpath, _, dirfiles in os.walk(folder):
    -            for fname in dirfiles:
    -                if fname.endswith(".pyc"):
    -                    continue
    -
    -                file_ = os.path.join(dirpath, fname)
    -                if (os.path.isfile(file_) and
    -                        os.path.normcase(file_) not in _normcased_files):
    -                    # We are skipping this file. Add it to the set.
    -                    will_skip.add(file_)
    -
    -    will_remove = files | {
    -        os.path.join(folder, "*") for folder in folders
    -    }
    -
    -    return will_remove, will_skip
    -
    -
    -class StashedUninstallPathSet(object):
    -    """A set of file rename operations to stash files while
    -    tentatively uninstalling them."""
    -    def __init__(self):
    -        # type: () -> None
    -        # Mapping from source file root to [Adjacent]TempDirectory
    -        # for files under that directory.
    -        self._save_dirs = {}  # type: Dict[str, TempDirectory]
    -        # (old path, new path) tuples for each move that may need
    -        # to be undone.
    -        self._moves = []  # type: List[Tuple[str, str]]
    -
    -    def _get_directory_stash(self, path):
    -        # type: (str) -> str
    -        """Stashes a directory.
    -
    -        Directories are stashed adjacent to their original location if
    -        possible, or else moved/copied into the user's temp dir."""
    -
    -        try:
    -            save_dir = AdjacentTempDirectory(path)  # type: TempDirectory
    -        except OSError:
    -            save_dir = TempDirectory(kind="uninstall")
    -        self._save_dirs[os.path.normcase(path)] = save_dir
    -
    -        return save_dir.path
    -
    -    def _get_file_stash(self, path):
    -        # type: (str) -> str
    -        """Stashes a file.
    -
    -        If no root has been provided, one will be created for the directory
    -        in the user's temp directory."""
    -        path = os.path.normcase(path)
    -        head, old_head = os.path.dirname(path), None
    -        save_dir = None
    -
    -        while head != old_head:
    -            try:
    -                save_dir = self._save_dirs[head]
    -                break
    -            except KeyError:
    -                pass
    -            head, old_head = os.path.dirname(head), head
    -        else:
    -            # Did not find any suitable root
    -            head = os.path.dirname(path)
    -            save_dir = TempDirectory(kind='uninstall')
    -            self._save_dirs[head] = save_dir
    -
    -        relpath = os.path.relpath(path, head)
    -        if relpath and relpath != os.path.curdir:
    -            return os.path.join(save_dir.path, relpath)
    -        return save_dir.path
    -
    -    def stash(self, path):
    -        # type: (str) -> str
    -        """Stashes the directory or file and returns its new location.
    -        Handle symlinks as files to avoid modifying the symlink targets.
    -        """
    -        path_is_dir = os.path.isdir(path) and not os.path.islink(path)
    -        if path_is_dir:
    -            new_path = self._get_directory_stash(path)
    -        else:
    -            new_path = self._get_file_stash(path)
    -
    -        self._moves.append((path, new_path))
    -        if (path_is_dir and os.path.isdir(new_path)):
    -            # If we're moving a directory, we need to
    -            # remove the destination first or else it will be
    -            # moved to inside the existing directory.
    -            # We just created new_path ourselves, so it will
    -            # be removable.
    -            os.rmdir(new_path)
    -        renames(path, new_path)
    -        return new_path
    -
    -    def commit(self):
    -        # type: () -> None
    -        """Commits the uninstall by removing stashed files."""
    -        for _, save_dir in self._save_dirs.items():
    -            save_dir.cleanup()
    -        self._moves = []
    -        self._save_dirs = {}
    -
    -    def rollback(self):
    -        # type: () -> None
    -        """Undoes the uninstall by moving stashed files back."""
    -        for p in self._moves:
    -            logging.info("Moving to %s\n from %s", *p)
    -
    -        for new_path, path in self._moves:
    -            try:
    -                logger.debug('Replacing %s from %s', new_path, path)
    -                if os.path.isfile(new_path) or os.path.islink(new_path):
    -                    os.unlink(new_path)
    -                elif os.path.isdir(new_path):
    -                    rmtree(new_path)
    -                renames(path, new_path)
    -            except OSError as ex:
    -                logger.error("Failed to restore %s", new_path)
    -                logger.debug("Exception: %s", ex)
    -
    -        self.commit()
    -
    -    @property
    -    def can_rollback(self):
    -        # type: () -> bool
    -        return bool(self._moves)
    -
    -
    -class UninstallPathSet(object):
    -    """A set of file paths to be removed in the uninstallation of a
    -    requirement."""
    -    def __init__(self, dist):
    -        # type: (Distribution) -> None
    -        self.paths = set()  # type: Set[str]
    -        self._refuse = set()  # type: Set[str]
    -        self.pth = {}  # type: Dict[str, UninstallPthEntries]
    -        self.dist = dist
    -        self._moved_paths = StashedUninstallPathSet()
    -
    -    def _permitted(self, path):
    -        # type: (str) -> bool
    -        """
    -        Return True if the given path is one we are permitted to
    -        remove/modify, False otherwise.
    -
    -        """
    -        return is_local(path)
    -
    -    def add(self, path):
    -        # type: (str) -> None
    -        head, tail = os.path.split(path)
    -
    -        # we normalize the head to resolve parent directory symlinks, but not
    -        # the tail, since we only want to uninstall symlinks, not their targets
    -        path = os.path.join(normalize_path(head), os.path.normcase(tail))
    -
    -        if not os.path.exists(path):
    -            return
    -        if self._permitted(path):
    -            self.paths.add(path)
    -        else:
    -            self._refuse.add(path)
    -
    -        # __pycache__ files can show up after 'installed-files.txt' is created,
    -        # due to imports
    -        if os.path.splitext(path)[1] == '.py' and uses_pycache:
    -            self.add(cache_from_source(path))
    -
    -    def add_pth(self, pth_file, entry):
    -        # type: (str, str) -> None
    -        pth_file = normalize_path(pth_file)
    -        if self._permitted(pth_file):
    -            if pth_file not in self.pth:
    -                self.pth[pth_file] = UninstallPthEntries(pth_file)
    -            self.pth[pth_file].add(entry)
    -        else:
    -            self._refuse.add(pth_file)
    -
    -    def remove(self, auto_confirm=False, verbose=False):
    -        # type: (bool, bool) -> None
    -        """Remove paths in ``self.paths`` with confirmation (unless
    -        ``auto_confirm`` is True)."""
    -
    -        if not self.paths:
    -            logger.info(
    -                "Can't uninstall '%s'. No files were found to uninstall.",
    -                self.dist.project_name,
    -            )
    -            return
    -
    -        dist_name_version = (
    -            self.dist.project_name + "-" + self.dist.version
    -        )
    -        logger.info('Uninstalling %s:', dist_name_version)
    -
    -        with indent_log():
    -            if auto_confirm or self._allowed_to_proceed(verbose):
    -                moved = self._moved_paths
    -
    -                for_rename = compress_for_rename(self.paths)
    -
    -                for path in sorted(compact(for_rename)):
    -                    moved.stash(path)
    -                    logger.debug('Removing file or directory %s', path)
    -
    -                for pth in self.pth.values():
    -                    pth.remove()
    -
    -                logger.info('Successfully uninstalled %s', dist_name_version)
    -
    -    def _allowed_to_proceed(self, verbose):
    -        # type: (bool) -> bool
    -        """Display which files would be deleted and prompt for confirmation
    -        """
    -
    -        def _display(msg, paths):
    -            # type: (str, Iterable[str]) -> None
    -            if not paths:
    -                return
    -
    -            logger.info(msg)
    -            with indent_log():
    -                for path in sorted(compact(paths)):
    -                    logger.info(path)
    -
    -        if not verbose:
    -            will_remove, will_skip = compress_for_output_listing(self.paths)
    -        else:
    -            # In verbose mode, display all the files that are going to be
    -            # deleted.
    -            will_remove = set(self.paths)
    -            will_skip = set()
    -
    -        _display('Would remove:', will_remove)
    -        _display('Would not remove (might be manually added):', will_skip)
    -        _display('Would not remove (outside of prefix):', self._refuse)
    -        if verbose:
    -            _display('Will actually move:', compress_for_rename(self.paths))
    -
    -        return ask('Proceed (y/n)? ', ('y', 'n')) == 'y'
    -
    -    def rollback(self):
    -        # type: () -> None
    -        """Rollback the changes previously made by remove()."""
    -        if not self._moved_paths.can_rollback:
    -            logger.error(
    -                "Can't roll back %s; was not uninstalled",
    -                self.dist.project_name,
    -            )
    -            return
    -        logger.info('Rolling back uninstall of %s', self.dist.project_name)
    -        self._moved_paths.rollback()
    -        for pth in self.pth.values():
    -            pth.rollback()
    -
    -    def commit(self):
    -        # type: () -> None
    -        """Remove temporary save dir: rollback will no longer be possible."""
    -        self._moved_paths.commit()
    -
    -    @classmethod
    -    def from_dist(cls, dist):
    -        # type: (Distribution) -> UninstallPathSet
    -        dist_path = normalize_path(dist.location)
    -        if not dist_is_local(dist):
    -            logger.info(
    -                "Not uninstalling %s at %s, outside environment %s",
    -                dist.key,
    -                dist_path,
    -                sys.prefix,
    -            )
    -            return cls(dist)
    -
    -        if dist_path in {p for p in {sysconfig.get_path("stdlib"),
    -                                     sysconfig.get_path("platstdlib")}
    -                         if p}:
    -            logger.info(
    -                "Not uninstalling %s at %s, as it is in the standard library.",
    -                dist.key,
    -                dist_path,
    -            )
    -            return cls(dist)
    -
    -        paths_to_remove = cls(dist)
    -        develop_egg_link = egg_link_path(dist)
    -        develop_egg_link_egg_info = '{}.egg-info'.format(
    -            pkg_resources.to_filename(dist.project_name))
    -        egg_info_exists = dist.egg_info and os.path.exists(dist.egg_info)
    -        # Special case for distutils installed package
    -        distutils_egg_info = getattr(dist._provider, 'path', None)
    -
    -        # Uninstall cases order do matter as in the case of 2 installs of the
    -        # same package, pip needs to uninstall the currently detected version
    -        if (egg_info_exists and dist.egg_info.endswith('.egg-info') and
    -                not dist.egg_info.endswith(develop_egg_link_egg_info)):
    -            # if dist.egg_info.endswith(develop_egg_link_egg_info), we
    -            # are in fact in the develop_egg_link case
    -            paths_to_remove.add(dist.egg_info)
    -            if dist.has_metadata('installed-files.txt'):
    -                for installed_file in dist.get_metadata(
    -                        'installed-files.txt').splitlines():
    -                    path = os.path.normpath(
    -                        os.path.join(dist.egg_info, installed_file)
    -                    )
    -                    paths_to_remove.add(path)
    -            # FIXME: need a test for this elif block
    -            # occurs with --single-version-externally-managed/--record outside
    -            # of pip
    -            elif dist.has_metadata('top_level.txt'):
    -                if dist.has_metadata('namespace_packages.txt'):
    -                    namespaces = dist.get_metadata('namespace_packages.txt')
    -                else:
    -                    namespaces = []
    -                for top_level_pkg in [
    -                        p for p
    -                        in dist.get_metadata('top_level.txt').splitlines()
    -                        if p and p not in namespaces]:
    -                    path = os.path.join(dist.location, top_level_pkg)
    -                    paths_to_remove.add(path)
    -                    paths_to_remove.add(path + '.py')
    -                    paths_to_remove.add(path + '.pyc')
    -                    paths_to_remove.add(path + '.pyo')
    -
    -        elif distutils_egg_info:
    -            raise UninstallationError(
    -                "Cannot uninstall {!r}. It is a distutils installed project "
    -                "and thus we cannot accurately determine which files belong "
    -                "to it which would lead to only a partial uninstall.".format(
    -                    dist.project_name,
    -                )
    -            )
    -
    -        elif dist.location.endswith('.egg'):
    -            # package installed by easy_install
    -            # We cannot match on dist.egg_name because it can slightly vary
    -            # i.e. setuptools-0.6c11-py2.6.egg vs setuptools-0.6rc11-py2.6.egg
    -            paths_to_remove.add(dist.location)
    -            easy_install_egg = os.path.split(dist.location)[1]
    -            easy_install_pth = os.path.join(os.path.dirname(dist.location),
    -                                            'easy-install.pth')
    -            paths_to_remove.add_pth(easy_install_pth, './' + easy_install_egg)
    -
    -        elif egg_info_exists and dist.egg_info.endswith('.dist-info'):
    -            for path in uninstallation_paths(dist):
    -                paths_to_remove.add(path)
    -
    -        elif develop_egg_link:
    -            # develop egg
    -            with open(develop_egg_link, 'r') as fh:
    -                link_pointer = os.path.normcase(fh.readline().strip())
    -            assert (link_pointer == dist.location), (
    -                'Egg-link %s does not match installed location of %s '
    -                '(at %s)' % (link_pointer, dist.project_name, dist.location)
    -            )
    -            paths_to_remove.add(develop_egg_link)
    -            easy_install_pth = os.path.join(os.path.dirname(develop_egg_link),
    -                                            'easy-install.pth')
    -            paths_to_remove.add_pth(easy_install_pth, dist.location)
    -
    -        else:
    -            logger.debug(
    -                'Not sure how to uninstall: %s - Check: %s',
    -                dist, dist.location,
    -            )
    -
    -        # find distutils scripts= scripts
    -        if dist.has_metadata('scripts') and dist.metadata_isdir('scripts'):
    -            for script in dist.metadata_listdir('scripts'):
    -                if dist_in_usersite(dist):
    -                    bin_dir = bin_user
    -                else:
    -                    bin_dir = bin_py
    -                paths_to_remove.add(os.path.join(bin_dir, script))
    -                if WINDOWS:
    -                    paths_to_remove.add(os.path.join(bin_dir, script) + '.bat')
    -
    -        # find console_scripts
    -        _scripts_to_remove = []
    -        console_scripts = dist.get_entry_map(group='console_scripts')
    -        for name in console_scripts.keys():
    -            _scripts_to_remove.extend(_script_names(dist, name, False))
    -        # find gui_scripts
    -        gui_scripts = dist.get_entry_map(group='gui_scripts')
    -        for name in gui_scripts.keys():
    -            _scripts_to_remove.extend(_script_names(dist, name, True))
    -
    -        for s in _scripts_to_remove:
    -            paths_to_remove.add(s)
    -
    -        return paths_to_remove
    -
    -
    -class UninstallPthEntries(object):
    -    def __init__(self, pth_file):
    -        # type: (str) -> None
    -        if not os.path.isfile(pth_file):
    -            raise UninstallationError(
    -                "Cannot remove entries from nonexistent file %s" % pth_file
    -            )
    -        self.file = pth_file
    -        self.entries = set()  # type: Set[str]
    -        self._saved_lines = None  # type: Optional[List[bytes]]
    -
    -    def add(self, entry):
    -        # type: (str) -> None
    -        entry = os.path.normcase(entry)
    -        # On Windows, os.path.normcase converts the entry to use
    -        # backslashes.  This is correct for entries that describe absolute
    -        # paths outside of site-packages, but all the others use forward
    -        # slashes.
    -        # os.path.splitdrive is used instead of os.path.isabs because isabs
    -        # treats non-absolute paths with drive letter markings like c:foo\bar
    -        # as absolute paths. It also does not recognize UNC paths if they don't
    -        # have more than "\\sever\share". Valid examples: "\\server\share\" or
    -        # "\\server\share\folder". Python 2.7.8+ support UNC in splitdrive.
    -        if WINDOWS and not os.path.splitdrive(entry)[0]:
    -            entry = entry.replace('\\', '/')
    -        self.entries.add(entry)
    -
    -    def remove(self):
    -        # type: () -> None
    -        logger.debug('Removing pth entries from %s:', self.file)
    -        with open(self.file, 'rb') as fh:
    -            # windows uses '\r\n' with py3k, but uses '\n' with py2.x
    -            lines = fh.readlines()
    -            self._saved_lines = lines
    -        if any(b'\r\n' in line for line in lines):
    -            endline = '\r\n'
    -        else:
    -            endline = '\n'
    -        # handle missing trailing newline
    -        if lines and not lines[-1].endswith(endline.encode("utf-8")):
    -            lines[-1] = lines[-1] + endline.encode("utf-8")
    -        for entry in self.entries:
    -            try:
    -                logger.debug('Removing entry: %s', entry)
    -                lines.remove((entry + endline).encode("utf-8"))
    -            except ValueError:
    -                pass
    -        with open(self.file, 'wb') as fh:
    -            fh.writelines(lines)
    -
    -    def rollback(self):
    -        # type: () -> bool
    -        if self._saved_lines is None:
    -            logger.error(
    -                'Cannot roll back changes to %s, none were made', self.file
    -            )
    -            return False
    -        logger.debug('Rolling %s back to previous state', self.file)
    -        with open(self.file, 'wb') as fh:
    -            fh.writelines(self._saved_lines)
    -        return True
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/self_outdated_check.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/self_outdated_check.py
    deleted file mode 100644
    index 51ef343..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/self_outdated_check.py
    +++ /dev/null
    @@ -1,244 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import datetime
    -import hashlib
    -import json
    -import logging
    -import os.path
    -import sys
    -
    -from pip._vendor import pkg_resources
    -from pip._vendor.packaging import version as packaging_version
    -from pip._vendor.six import ensure_binary
    -
    -from pip._internal.collector import LinkCollector
    -from pip._internal.index import PackageFinder
    -from pip._internal.models.search_scope import SearchScope
    -from pip._internal.models.selection_prefs import SelectionPreferences
    -from pip._internal.utils.compat import WINDOWS
    -from pip._internal.utils.filesystem import (
    -    adjacent_tmp_file,
    -    check_path_owner,
    -    replace,
    -)
    -from pip._internal.utils.misc import (
    -    ensure_dir,
    -    get_installed_version,
    -    redact_auth_from_url,
    -)
    -from pip._internal.utils.packaging import get_installer
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    import optparse
    -    from optparse import Values
    -    from typing import Any, Dict, Text, Union
    -
    -    from pip._internal.network.session import PipSession
    -
    -
    -SELFCHECK_DATE_FMT = "%Y-%m-%dT%H:%M:%SZ"
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def make_link_collector(
    -    session,  # type: PipSession
    -    options,  # type: Values
    -    suppress_no_index=False,  # type: bool
    -):
    -    # type: (...) -> LinkCollector
    -    """
    -    :param session: The Session to use to make requests.
    -    :param suppress_no_index: Whether to ignore the --no-index option
    -        when constructing the SearchScope object.
    -    """
    -    index_urls = [options.index_url] + options.extra_index_urls
    -    if options.no_index and not suppress_no_index:
    -        logger.debug(
    -            'Ignoring indexes: %s',
    -            ','.join(redact_auth_from_url(url) for url in index_urls),
    -        )
    -        index_urls = []
    -
    -    # Make sure find_links is a list before passing to create().
    -    find_links = options.find_links or []
    -
    -    search_scope = SearchScope.create(
    -        find_links=find_links, index_urls=index_urls,
    -    )
    -
    -    link_collector = LinkCollector(session=session, search_scope=search_scope)
    -
    -    return link_collector
    -
    -
    -def _get_statefile_name(key):
    -    # type: (Union[str, Text]) -> str
    -    key_bytes = ensure_binary(key)
    -    name = hashlib.sha224(key_bytes).hexdigest()
    -    return name
    -
    -
    -class SelfCheckState(object):
    -    def __init__(self, cache_dir):
    -        # type: (str) -> None
    -        self.state = {}  # type: Dict[str, Any]
    -        self.statefile_path = None
    -
    -        # Try to load the existing state
    -        if cache_dir:
    -            self.statefile_path = os.path.join(
    -                cache_dir, "selfcheck", _get_statefile_name(self.key)
    -            )
    -            try:
    -                with open(self.statefile_path) as statefile:
    -                    self.state = json.load(statefile)
    -            except (IOError, ValueError, KeyError):
    -                # Explicitly suppressing exceptions, since we don't want to
    -                # error out if the cache file is invalid.
    -                pass
    -
    -    @property
    -    def key(self):
    -        return sys.prefix
    -
    -    def save(self, pypi_version, current_time):
    -        # type: (str, datetime.datetime) -> None
    -        # If we do not have a path to cache in, don't bother saving.
    -        if not self.statefile_path:
    -            return
    -
    -        # Check to make sure that we own the directory
    -        if not check_path_owner(os.path.dirname(self.statefile_path)):
    -            return
    -
    -        # Now that we've ensured the directory is owned by this user, we'll go
    -        # ahead and make sure that all our directories are created.
    -        ensure_dir(os.path.dirname(self.statefile_path))
    -
    -        state = {
    -            # Include the key so it's easy to tell which pip wrote the
    -            # file.
    -            "key": self.key,
    -            "last_check": current_time.strftime(SELFCHECK_DATE_FMT),
    -            "pypi_version": pypi_version,
    -        }
    -
    -        text = json.dumps(state, sort_keys=True, separators=(",", ":"))
    -
    -        with adjacent_tmp_file(self.statefile_path) as f:
    -            f.write(ensure_binary(text))
    -
    -        try:
    -            # Since we have a prefix-specific state file, we can just
    -            # overwrite whatever is there, no need to check.
    -            replace(f.name, self.statefile_path)
    -        except OSError:
    -            # Best effort.
    -            pass
    -
    -
    -def was_installed_by_pip(pkg):
    -    # type: (str) -> bool
    -    """Checks whether pkg was installed by pip
    -
    -    This is used not to display the upgrade message when pip is in fact
    -    installed by system package manager, such as dnf on Fedora.
    -    """
    -    try:
    -        dist = pkg_resources.get_distribution(pkg)
    -        return "pip" == get_installer(dist)
    -    except pkg_resources.DistributionNotFound:
    -        return False
    -
    -
    -def pip_self_version_check(session, options):
    -    # type: (PipSession, optparse.Values) -> None
    -    """Check for an update for pip.
    -
    -    Limit the frequency of checks to once per week. State is stored either in
    -    the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix
    -    of the pip script path.
    -    """
    -    installed_version = get_installed_version("pip")
    -    if not installed_version:
    -        return
    -
    -    pip_version = packaging_version.parse(installed_version)
    -    pypi_version = None
    -
    -    try:
    -        state = SelfCheckState(cache_dir=options.cache_dir)
    -
    -        current_time = datetime.datetime.utcnow()
    -        # Determine if we need to refresh the state
    -        if "last_check" in state.state and "pypi_version" in state.state:
    -            last_check = datetime.datetime.strptime(
    -                state.state["last_check"],
    -                SELFCHECK_DATE_FMT
    -            )
    -            if (current_time - last_check).total_seconds() < 7 * 24 * 60 * 60:
    -                pypi_version = state.state["pypi_version"]
    -
    -        # Refresh the version if we need to or just see if we need to warn
    -        if pypi_version is None:
    -            # Lets use PackageFinder to see what the latest pip version is
    -            link_collector = make_link_collector(
    -                session,
    -                options=options,
    -                suppress_no_index=True,
    -            )
    -
    -            # Pass allow_yanked=False so we don't suggest upgrading to a
    -            # yanked version.
    -            selection_prefs = SelectionPreferences(
    -                allow_yanked=False,
    -                allow_all_prereleases=False,  # Explicitly set to False
    -            )
    -
    -            finder = PackageFinder.create(
    -                link_collector=link_collector,
    -                selection_prefs=selection_prefs,
    -            )
    -            best_candidate = finder.find_best_candidate("pip").best_candidate
    -            if best_candidate is None:
    -                return
    -            pypi_version = str(best_candidate.version)
    -
    -            # save that we've performed a check
    -            state.save(pypi_version, current_time)
    -
    -        remote_version = packaging_version.parse(pypi_version)
    -
    -        local_version_is_older = (
    -            pip_version < remote_version and
    -            pip_version.base_version != remote_version.base_version and
    -            was_installed_by_pip('pip')
    -        )
    -
    -        # Determine if our pypi_version is older
    -        if not local_version_is_older:
    -            return
    -
    -        # Advise "python -m pip" on Windows to avoid issues
    -        # with overwriting pip.exe.
    -        if WINDOWS:
    -            pip_cmd = "python -m pip"
    -        else:
    -            pip_cmd = "pip"
    -        logger.warning(
    -            "You are using pip version %s; however, version %s is "
    -            "available.\nYou should consider upgrading via the "
    -            "'%s install --upgrade pip' command.",
    -            pip_version, pypi_version, pip_cmd
    -        )
    -    except Exception:
    -        logger.debug(
    -            "There was an error checking the latest version of pip",
    -            exc_info=True,
    -        )
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/__init__.py
    deleted file mode 100644
    index e69de29..0000000
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/appdirs.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/appdirs.py
    deleted file mode 100644
    index 06cd831..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/appdirs.py
    +++ /dev/null
    @@ -1,276 +0,0 @@
    -"""
    -This code was taken from https://github.com/ActiveState/appdirs and modified
    -to suit our purposes.
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import os
    -import sys
    -
    -from pip._vendor.six import PY2, text_type
    -
    -from pip._internal.utils.compat import WINDOWS, expanduser
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import List
    -
    -
    -def user_cache_dir(appname):
    -    # type: (str) -> str
    -    r"""
    -    Return full path to the user-specific cache dir for this application.
    -
    -        "appname" is the name of application.
    -
    -    Typical user cache directories are:
    -        macOS:      ~/Library/Caches/
    -        Unix:       ~/.cache/ (XDG default)
    -        Windows:    C:\Users\\AppData\Local\\Cache
    -
    -    On Windows the only suggestion in the MSDN docs is that local settings go
    -    in the `CSIDL_LOCAL_APPDATA` directory. This is identical to the
    -    non-roaming app data dir (the default returned by `user_data_dir`). Apps
    -    typically put cache data somewhere *under* the given dir here. Some
    -    examples:
    -        ...\Mozilla\Firefox\Profiles\\Cache
    -        ...\Acme\SuperApp\Cache\1.0
    -
    -    OPINION: This function appends "Cache" to the `CSIDL_LOCAL_APPDATA` value.
    -    """
    -    if WINDOWS:
    -        # Get the base path
    -        path = os.path.normpath(_get_win_folder("CSIDL_LOCAL_APPDATA"))
    -
    -        # When using Python 2, return paths as bytes on Windows like we do on
    -        # other operating systems. See helper function docs for more details.
    -        if PY2 and isinstance(path, text_type):
    -            path = _win_path_to_bytes(path)
    -
    -        # Add our app name and Cache directory to it
    -        path = os.path.join(path, appname, "Cache")
    -    elif sys.platform == "darwin":
    -        # Get the base path
    -        path = expanduser("~/Library/Caches")
    -
    -        # Add our app name to it
    -        path = os.path.join(path, appname)
    -    else:
    -        # Get the base path
    -        path = os.getenv("XDG_CACHE_HOME", expanduser("~/.cache"))
    -
    -        # Add our app name to it
    -        path = os.path.join(path, appname)
    -
    -    return path
    -
    -
    -def user_data_dir(appname, roaming=False):
    -    # type: (str, bool) -> str
    -    r"""
    -    Return full path to the user-specific data dir for this application.
    -
    -        "appname" is the name of application.
    -            If None, just the system directory is returned.
    -        "roaming" (boolean, default False) can be set True to use the Windows
    -            roaming appdata directory. That means that for users on a Windows
    -            network setup for roaming profiles, this user data will be
    -            sync'd on login. See
    -            
    -            for a discussion of issues.
    -
    -    Typical user data directories are:
    -        macOS:                  ~/Library/Application Support/
    -                                if it exists, else ~/.config/
    -        Unix:                   ~/.local/share/    # or in
    -                                $XDG_DATA_HOME, if defined
    -        Win XP (not roaming):   C:\Documents and Settings\\ ...
    -                                ...Application Data\
    -        Win XP (roaming):       C:\Documents and Settings\\Local ...
    -                                ...Settings\Application Data\
    -        Win 7  (not roaming):   C:\\Users\\AppData\Local\
    -        Win 7  (roaming):       C:\\Users\\AppData\Roaming\
    -
    -    For Unix, we follow the XDG spec and support $XDG_DATA_HOME.
    -    That means, by default "~/.local/share/".
    -    """
    -    if WINDOWS:
    -        const = roaming and "CSIDL_APPDATA" or "CSIDL_LOCAL_APPDATA"
    -        path = os.path.join(os.path.normpath(_get_win_folder(const)), appname)
    -    elif sys.platform == "darwin":
    -        path = os.path.join(
    -            expanduser('~/Library/Application Support/'),
    -            appname,
    -        ) if os.path.isdir(os.path.join(
    -            expanduser('~/Library/Application Support/'),
    -            appname,
    -        )
    -        ) else os.path.join(
    -            expanduser('~/.config/'),
    -            appname,
    -        )
    -    else:
    -        path = os.path.join(
    -            os.getenv('XDG_DATA_HOME', expanduser("~/.local/share")),
    -            appname,
    -        )
    -
    -    return path
    -
    -
    -def user_config_dir(appname, roaming=True):
    -    # type: (str, bool) -> str
    -    """Return full path to the user-specific config dir for this application.
    -
    -        "appname" is the name of application.
    -            If None, just the system directory is returned.
    -        "roaming" (boolean, default True) can be set False to not use the
    -            Windows roaming appdata directory. That means that for users on a
    -            Windows network setup for roaming profiles, this user data will be
    -            sync'd on login. See
    -            
    -            for a discussion of issues.
    -
    -    Typical user data directories are:
    -        macOS:                  same as user_data_dir
    -        Unix:                   ~/.config/
    -        Win *:                  same as user_data_dir
    -
    -    For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME.
    -    That means, by default "~/.config/".
    -    """
    -    if WINDOWS:
    -        path = user_data_dir(appname, roaming=roaming)
    -    elif sys.platform == "darwin":
    -        path = user_data_dir(appname)
    -    else:
    -        path = os.getenv('XDG_CONFIG_HOME', expanduser("~/.config"))
    -        path = os.path.join(path, appname)
    -
    -    return path
    -
    -
    -# for the discussion regarding site_config_dirs locations
    -# see 
    -def site_config_dirs(appname):
    -    # type: (str) -> List[str]
    -    r"""Return a list of potential user-shared config dirs for this application.
    -
    -        "appname" is the name of application.
    -
    -    Typical user config directories are:
    -        macOS:      /Library/Application Support//
    -        Unix:       /etc or $XDG_CONFIG_DIRS[i]// for each value in
    -                    $XDG_CONFIG_DIRS
    -        Win XP:     C:\Documents and Settings\All Users\Application ...
    -                    ...Data\\
    -        Vista:      (Fail! "C:\ProgramData" is a hidden *system* directory
    -                    on Vista.)
    -        Win 7:      Hidden, but writeable on Win 7:
    -                    C:\ProgramData\\
    -    """
    -    if WINDOWS:
    -        path = os.path.normpath(_get_win_folder("CSIDL_COMMON_APPDATA"))
    -        pathlist = [os.path.join(path, appname)]
    -    elif sys.platform == 'darwin':
    -        pathlist = [os.path.join('/Library/Application Support', appname)]
    -    else:
    -        # try looking in $XDG_CONFIG_DIRS
    -        xdg_config_dirs = os.getenv('XDG_CONFIG_DIRS', '/etc/xdg')
    -        if xdg_config_dirs:
    -            pathlist = [
    -                os.path.join(expanduser(x), appname)
    -                for x in xdg_config_dirs.split(os.pathsep)
    -            ]
    -        else:
    -            pathlist = []
    -
    -        # always look in /etc directly as well
    -        pathlist.append('/etc')
    -
    -    return pathlist
    -
    -
    -# -- Windows support functions --
    -
    -def _get_win_folder_from_registry(csidl_name):
    -    # type: (str) -> str
    -    """
    -    This is a fallback technique at best. I'm not sure if using the
    -    registry for this guarantees us the correct answer for all CSIDL_*
    -    names.
    -    """
    -    import _winreg
    -
    -    shell_folder_name = {
    -        "CSIDL_APPDATA": "AppData",
    -        "CSIDL_COMMON_APPDATA": "Common AppData",
    -        "CSIDL_LOCAL_APPDATA": "Local AppData",
    -    }[csidl_name]
    -
    -    key = _winreg.OpenKey(
    -        _winreg.HKEY_CURRENT_USER,
    -        r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
    -    )
    -    directory, _type = _winreg.QueryValueEx(key, shell_folder_name)
    -    return directory
    -
    -
    -def _get_win_folder_with_ctypes(csidl_name):
    -    # type: (str) -> str
    -    # On Python 2, ctypes.create_unicode_buffer().value returns "unicode",
    -    # which isn't the same as str in the annotation above.
    -    csidl_const = {
    -        "CSIDL_APPDATA": 26,
    -        "CSIDL_COMMON_APPDATA": 35,
    -        "CSIDL_LOCAL_APPDATA": 28,
    -    }[csidl_name]
    -
    -    buf = ctypes.create_unicode_buffer(1024)
    -    windll = ctypes.windll  # type: ignore
    -    windll.shell32.SHGetFolderPathW(None, csidl_const, None, 0, buf)
    -
    -    # Downgrade to short path name if have highbit chars. See
    -    # .
    -    has_high_char = False
    -    for c in buf:
    -        if ord(c) > 255:
    -            has_high_char = True
    -            break
    -    if has_high_char:
    -        buf2 = ctypes.create_unicode_buffer(1024)
    -        if windll.kernel32.GetShortPathNameW(buf.value, buf2, 1024):
    -            buf = buf2
    -
    -    # The type: ignore is explained under the type annotation for this function
    -    return buf.value  # type: ignore
    -
    -
    -if WINDOWS:
    -    try:
    -        import ctypes
    -        _get_win_folder = _get_win_folder_with_ctypes
    -    except ImportError:
    -        _get_win_folder = _get_win_folder_from_registry
    -
    -
    -def _win_path_to_bytes(path):
    -    """Encode Windows paths to bytes. Only used on Python 2.
    -
    -    Motivation is to be consistent with other operating systems where paths
    -    are also returned as bytes. This avoids problems mixing bytes and Unicode
    -    elsewhere in the codebase. For more details and discussion see
    -    .
    -
    -    If encoding using ASCII and MBCS fails, return the original Unicode path.
    -    """
    -    for encoding in ('ASCII', 'MBCS'):
    -        try:
    -            return path.encode(encoding)
    -        except (UnicodeEncodeError, LookupError):
    -            pass
    -    return path
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/compat.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/compat.py
    deleted file mode 100644
    index dbd8448..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/compat.py
    +++ /dev/null
    @@ -1,297 +0,0 @@
    -"""Stuff that differs in different Python versions and platform
    -distributions."""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import, division
    -
    -import codecs
    -import locale
    -import logging
    -import os
    -import shutil
    -import sys
    -
    -from pip._vendor.six import PY2, text_type
    -from pip._vendor.urllib3.util import IS_PYOPENSSL
    -
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional, Text, Tuple, Union
    -
    -try:
    -    import _ssl  # noqa
    -except ImportError:
    -    ssl = None
    -else:
    -    # This additional assignment was needed to prevent a mypy error.
    -    ssl = _ssl
    -
    -try:
    -    import ipaddress
    -except ImportError:
    -    try:
    -        from pip._vendor import ipaddress  # type: ignore
    -    except ImportError:
    -        import ipaddr as ipaddress  # type: ignore
    -        ipaddress.ip_address = ipaddress.IPAddress  # type: ignore
    -        ipaddress.ip_network = ipaddress.IPNetwork  # type: ignore
    -
    -
    -__all__ = [
    -    "ipaddress", "uses_pycache", "console_to_str", "native_str",
    -    "get_path_uid", "stdlib_pkgs", "WINDOWS", "samefile", "get_terminal_size",
    -    "get_extension_suffixes",
    -]
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -HAS_TLS = (ssl is not None) or IS_PYOPENSSL
    -
    -if PY2:
    -    import imp
    -
    -    try:
    -        cache_from_source = imp.cache_from_source  # type: ignore
    -    except AttributeError:
    -        # does not use __pycache__
    -        cache_from_source = None
    -
    -    uses_pycache = cache_from_source is not None
    -else:
    -    uses_pycache = True
    -    from importlib.util import cache_from_source
    -
    -
    -if PY2:
    -    # In Python 2.7, backslashreplace exists
    -    # but does not support use for decoding.
    -    # We implement our own replace handler for this
    -    # situation, so that we can consistently use
    -    # backslash replacement for all versions.
    -    def backslashreplace_decode_fn(err):
    -        raw_bytes = (err.object[i] for i in range(err.start, err.end))
    -        # Python 2 gave us characters - convert to numeric bytes
    -        raw_bytes = (ord(b) for b in raw_bytes)
    -        return u"".join(u"\\x%x" % c for c in raw_bytes), err.end
    -    codecs.register_error(
    -        "backslashreplace_decode",
    -        backslashreplace_decode_fn,
    -    )
    -    backslashreplace_decode = "backslashreplace_decode"
    -else:
    -    backslashreplace_decode = "backslashreplace"
    -
    -
    -def str_to_display(data, desc=None):
    -    # type: (Union[bytes, Text], Optional[str]) -> Text
    -    """
    -    For display or logging purposes, convert a bytes object (or text) to
    -    text (e.g. unicode in Python 2) safe for output.
    -
    -    :param desc: An optional phrase describing the input data, for use in
    -        the log message if a warning is logged. Defaults to "Bytes object".
    -
    -    This function should never error out and so can take a best effort
    -    approach. It is okay to be lossy if needed since the return value is
    -    just for display.
    -
    -    We assume the data is in the locale preferred encoding. If it won't
    -    decode properly, we warn the user but decode as best we can.
    -
    -    We also ensure that the output can be safely written to standard output
    -    without encoding errors.
    -    """
    -    if isinstance(data, text_type):
    -        return data
    -
    -    # Otherwise, data is a bytes object (str in Python 2).
    -    # First, get the encoding we assume. This is the preferred
    -    # encoding for the locale, unless that is not found, or
    -    # it is ASCII, in which case assume UTF-8
    -    encoding = locale.getpreferredencoding()
    -    if (not encoding) or codecs.lookup(encoding).name == "ascii":
    -        encoding = "utf-8"
    -
    -    # Now try to decode the data - if we fail, warn the user and
    -    # decode with replacement.
    -    try:
    -        decoded_data = data.decode(encoding)
    -    except UnicodeDecodeError:
    -        if desc is None:
    -            desc = 'Bytes object'
    -        msg_format = '{} does not appear to be encoded as %s'.format(desc)
    -        logger.warning(msg_format, encoding)
    -        decoded_data = data.decode(encoding, errors=backslashreplace_decode)
    -
    -    # Make sure we can print the output, by encoding it to the output
    -    # encoding with replacement of unencodable characters, and then
    -    # decoding again.
    -    # We use stderr's encoding because it's less likely to be
    -    # redirected and if we don't find an encoding we skip this
    -    # step (on the assumption that output is wrapped by something
    -    # that won't fail).
    -    # The double getattr is to deal with the possibility that we're
    -    # being called in a situation where sys.__stderr__ doesn't exist,
    -    # or doesn't have an encoding attribute. Neither of these cases
    -    # should occur in normal pip use, but there's no harm in checking
    -    # in case people use pip in (unsupported) unusual situations.
    -    output_encoding = getattr(getattr(sys, "__stderr__", None),
    -                              "encoding", None)
    -
    -    if output_encoding:
    -        output_encoded = decoded_data.encode(
    -            output_encoding,
    -            errors="backslashreplace"
    -        )
    -        decoded_data = output_encoded.decode(output_encoding)
    -
    -    return decoded_data
    -
    -
    -def console_to_str(data):
    -    # type: (bytes) -> Text
    -    """Return a string, safe for output, of subprocess output.
    -    """
    -    return str_to_display(data, desc='Subprocess output')
    -
    -
    -if PY2:
    -    def native_str(s, replace=False):
    -        # type: (str, bool) -> str
    -        # Replace is ignored -- unicode to UTF-8 can't fail
    -        if isinstance(s, text_type):
    -            return s.encode('utf-8')
    -        return s
    -
    -else:
    -    def native_str(s, replace=False):
    -        # type: (str, bool) -> str
    -        if isinstance(s, bytes):
    -            return s.decode('utf-8', 'replace' if replace else 'strict')
    -        return s
    -
    -
    -def get_path_uid(path):
    -    # type: (str) -> int
    -    """
    -    Return path's uid.
    -
    -    Does not follow symlinks:
    -        https://github.com/pypa/pip/pull/935#discussion_r5307003
    -
    -    Placed this function in compat due to differences on AIX and
    -    Jython, that should eventually go away.
    -
    -    :raises OSError: When path is a symlink or can't be read.
    -    """
    -    if hasattr(os, 'O_NOFOLLOW'):
    -        fd = os.open(path, os.O_RDONLY | os.O_NOFOLLOW)
    -        file_uid = os.fstat(fd).st_uid
    -        os.close(fd)
    -    else:  # AIX and Jython
    -        # WARNING: time of check vulnerability, but best we can do w/o NOFOLLOW
    -        if not os.path.islink(path):
    -            # older versions of Jython don't have `os.fstat`
    -            file_uid = os.stat(path).st_uid
    -        else:
    -            # raise OSError for parity with os.O_NOFOLLOW above
    -            raise OSError(
    -                "%s is a symlink; Will not return uid for symlinks" % path
    -            )
    -    return file_uid
    -
    -
    -if PY2:
    -    from imp import get_suffixes
    -
    -    def get_extension_suffixes():
    -        return [suffix[0] for suffix in get_suffixes()]
    -
    -else:
    -    from importlib.machinery import EXTENSION_SUFFIXES
    -
    -    def get_extension_suffixes():
    -        return EXTENSION_SUFFIXES
    -
    -
    -def expanduser(path):
    -    # type: (str) -> str
    -    """
    -    Expand ~ and ~user constructions.
    -
    -    Includes a workaround for https://bugs.python.org/issue14768
    -    """
    -    expanded = os.path.expanduser(path)
    -    if path.startswith('~/') and expanded.startswith('//'):
    -        expanded = expanded[1:]
    -    return expanded
    -
    -
    -# packages in the stdlib that may have installation metadata, but should not be
    -# considered 'installed'.  this theoretically could be determined based on
    -# dist.location (py27:`sysconfig.get_paths()['stdlib']`,
    -# py26:sysconfig.get_config_vars('LIBDEST')), but fear platform variation may
    -# make this ineffective, so hard-coding
    -stdlib_pkgs = {"python", "wsgiref", "argparse"}
    -
    -
    -# windows detection, covers cpython and ironpython
    -WINDOWS = (sys.platform.startswith("win") or
    -           (sys.platform == 'cli' and os.name == 'nt'))
    -
    -
    -def samefile(file1, file2):
    -    # type: (str, str) -> bool
    -    """Provide an alternative for os.path.samefile on Windows/Python2"""
    -    if hasattr(os.path, 'samefile'):
    -        return os.path.samefile(file1, file2)
    -    else:
    -        path1 = os.path.normcase(os.path.abspath(file1))
    -        path2 = os.path.normcase(os.path.abspath(file2))
    -        return path1 == path2
    -
    -
    -if hasattr(shutil, 'get_terminal_size'):
    -    def get_terminal_size():
    -        # type: () -> Tuple[int, int]
    -        """
    -        Returns a tuple (x, y) representing the width(x) and the height(y)
    -        in characters of the terminal window.
    -        """
    -        return tuple(shutil.get_terminal_size())  # type: ignore
    -else:
    -    def get_terminal_size():
    -        # type: () -> Tuple[int, int]
    -        """
    -        Returns a tuple (x, y) representing the width(x) and the height(y)
    -        in characters of the terminal window.
    -        """
    -        def ioctl_GWINSZ(fd):
    -            try:
    -                import fcntl
    -                import termios
    -                import struct
    -                cr = struct.unpack_from(
    -                    'hh',
    -                    fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678')
    -                )
    -            except Exception:
    -                return None
    -            if cr == (0, 0):
    -                return None
    -            return cr
    -        cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2)
    -        if not cr:
    -            try:
    -                fd = os.open(os.ctermid(), os.O_RDONLY)
    -                cr = ioctl_GWINSZ(fd)
    -                os.close(fd)
    -            except Exception:
    -                pass
    -        if not cr:
    -            cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80))
    -        return int(cr[1]), int(cr[0])
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/deprecation.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/deprecation.py
    deleted file mode 100644
    index 2f20cfd..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/deprecation.py
    +++ /dev/null
    @@ -1,104 +0,0 @@
    -"""
    -A module that implements tooling to enable easy warnings about deprecations.
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import warnings
    -
    -from pip._vendor.packaging.version import parse
    -
    -from pip import __version__ as current_version
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Any, Optional
    -
    -
    -DEPRECATION_MSG_PREFIX = "DEPRECATION: "
    -
    -
    -class PipDeprecationWarning(Warning):
    -    pass
    -
    -
    -_original_showwarning = None  # type: Any
    -
    -
    -# Warnings <-> Logging Integration
    -def _showwarning(message, category, filename, lineno, file=None, line=None):
    -    if file is not None:
    -        if _original_showwarning is not None:
    -            _original_showwarning(
    -                message, category, filename, lineno, file, line,
    -            )
    -    elif issubclass(category, PipDeprecationWarning):
    -        # We use a specially named logger which will handle all of the
    -        # deprecation messages for pip.
    -        logger = logging.getLogger("pip._internal.deprecations")
    -        logger.warning(message)
    -    else:
    -        _original_showwarning(
    -            message, category, filename, lineno, file, line,
    -        )
    -
    -
    -def install_warning_logger():
    -    # type: () -> None
    -    # Enable our Deprecation Warnings
    -    warnings.simplefilter("default", PipDeprecationWarning, append=True)
    -
    -    global _original_showwarning
    -
    -    if _original_showwarning is None:
    -        _original_showwarning = warnings.showwarning
    -        warnings.showwarning = _showwarning
    -
    -
    -def deprecated(reason, replacement, gone_in, issue=None):
    -    # type: (str, Optional[str], Optional[str], Optional[int]) -> None
    -    """Helper to deprecate existing functionality.
    -
    -    reason:
    -        Textual reason shown to the user about why this functionality has
    -        been deprecated.
    -    replacement:
    -        Textual suggestion shown to the user about what alternative
    -        functionality they can use.
    -    gone_in:
    -        The version of pip does this functionality should get removed in.
    -        Raises errors if pip's current version is greater than or equal to
    -        this.
    -    issue:
    -        Issue number on the tracker that would serve as a useful place for
    -        users to find related discussion and provide feedback.
    -
    -    Always pass replacement, gone_in and issue as keyword arguments for clarity
    -    at the call site.
    -    """
    -
    -    # Construct a nice message.
    -    #   This is eagerly formatted as we want it to get logged as if someone
    -    #   typed this entire message out.
    -    sentences = [
    -        (reason, DEPRECATION_MSG_PREFIX + "{}"),
    -        (gone_in, "pip {} will remove support for this functionality."),
    -        (replacement, "A possible replacement is {}."),
    -        (issue, (
    -            "You can find discussion regarding this at "
    -            "https://github.com/pypa/pip/issues/{}."
    -        )),
    -    ]
    -    message = " ".join(
    -        template.format(val) for val, template in sentences if val is not None
    -    )
    -
    -    # Raise as an error if it has to be removed.
    -    if gone_in is not None and parse(current_version) >= parse(gone_in):
    -        raise PipDeprecationWarning(message)
    -
    -    warnings.warn(message, category=PipDeprecationWarning, stacklevel=2)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/encoding.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/encoding.py
    deleted file mode 100644
    index ab4d4b9..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/encoding.py
    +++ /dev/null
    @@ -1,42 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -
    -import codecs
    -import locale
    -import re
    -import sys
    -
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import List, Tuple, Text
    -
    -BOMS = [
    -    (codecs.BOM_UTF8, 'utf-8'),
    -    (codecs.BOM_UTF16, 'utf-16'),
    -    (codecs.BOM_UTF16_BE, 'utf-16-be'),
    -    (codecs.BOM_UTF16_LE, 'utf-16-le'),
    -    (codecs.BOM_UTF32, 'utf-32'),
    -    (codecs.BOM_UTF32_BE, 'utf-32-be'),
    -    (codecs.BOM_UTF32_LE, 'utf-32-le'),
    -]  # type: List[Tuple[bytes, Text]]
    -
    -ENCODING_RE = re.compile(br'coding[:=]\s*([-\w.]+)')
    -
    -
    -def auto_decode(data):
    -    # type: (bytes) -> Text
    -    """Check a bytes string for a BOM to correctly detect the encoding
    -
    -    Fallback to locale.getpreferredencoding(False) like open() on Python3"""
    -    for bom, encoding in BOMS:
    -        if data.startswith(bom):
    -            return data[len(bom):].decode(encoding)
    -    # Lets check the first two lines as in PEP263
    -    for line in data.split(b'\n')[:2]:
    -        if line[0:1] == b'#' and ENCODING_RE.search(line):
    -            encoding = ENCODING_RE.search(line).groups()[0].decode('ascii')
    -            return data.decode(encoding)
    -    return data.decode(
    -        locale.getpreferredencoding(False) or sys.getdefaultencoding(),
    -    )
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/filesystem.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/filesystem.py
    deleted file mode 100644
    index f4a389c..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/filesystem.py
    +++ /dev/null
    @@ -1,115 +0,0 @@
    -import os
    -import os.path
    -import shutil
    -import stat
    -from contextlib import contextmanager
    -from tempfile import NamedTemporaryFile
    -
    -# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is
    -#       why we ignore the type on this import.
    -from pip._vendor.retrying import retry  # type: ignore
    -from pip._vendor.six import PY2
    -
    -from pip._internal.utils.compat import get_path_uid
    -from pip._internal.utils.misc import cast
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import BinaryIO, Iterator
    -
    -    class NamedTemporaryFileResult(BinaryIO):
    -        @property
    -        def file(self):
    -            # type: () -> BinaryIO
    -            pass
    -
    -
    -def check_path_owner(path):
    -    # type: (str) -> bool
    -    # If we don't have a way to check the effective uid of this process, then
    -    # we'll just assume that we own the directory.
    -    if not hasattr(os, "geteuid"):
    -        return True
    -
    -    previous = None
    -    while path != previous:
    -        if os.path.lexists(path):
    -            # Check if path is writable by current user.
    -            if os.geteuid() == 0:
    -                # Special handling for root user in order to handle properly
    -                # cases where users use sudo without -H flag.
    -                try:
    -                    path_uid = get_path_uid(path)
    -                except OSError:
    -                    return False
    -                return path_uid == 0
    -            else:
    -                return os.access(path, os.W_OK)
    -        else:
    -            previous, path = path, os.path.dirname(path)
    -    return False  # assume we don't own the path
    -
    -
    -def copy2_fixed(src, dest):
    -    # type: (str, str) -> None
    -    """Wrap shutil.copy2() but map errors copying socket files to
    -    SpecialFileError as expected.
    -
    -    See also https://bugs.python.org/issue37700.
    -    """
    -    try:
    -        shutil.copy2(src, dest)
    -    except (OSError, IOError):
    -        for f in [src, dest]:
    -            try:
    -                is_socket_file = is_socket(f)
    -            except OSError:
    -                # An error has already occurred. Another error here is not
    -                # a problem and we can ignore it.
    -                pass
    -            else:
    -                if is_socket_file:
    -                    raise shutil.SpecialFileError("`%s` is a socket" % f)
    -
    -        raise
    -
    -
    -def is_socket(path):
    -    # type: (str) -> bool
    -    return stat.S_ISSOCK(os.lstat(path).st_mode)
    -
    -
    -@contextmanager
    -def adjacent_tmp_file(path):
    -    # type: (str) -> Iterator[NamedTemporaryFileResult]
    -    """Given a path to a file, open a temp file next to it securely and ensure
    -    it is written to disk after the context reaches its end.
    -    """
    -    with NamedTemporaryFile(
    -        delete=False,
    -        dir=os.path.dirname(path),
    -        prefix=os.path.basename(path),
    -        suffix='.tmp',
    -    ) as f:
    -        result = cast('NamedTemporaryFileResult', f)
    -        try:
    -            yield result
    -        finally:
    -            result.file.flush()
    -            os.fsync(result.file.fileno())
    -
    -
    -_replace_retry = retry(stop_max_delay=1000, wait_fixed=250)
    -
    -if PY2:
    -    @_replace_retry
    -    def replace(src, dest):
    -        # type: (str, str) -> None
    -        try:
    -            os.rename(src, dest)
    -        except OSError:
    -            os.remove(dest)
    -            os.rename(src, dest)
    -
    -else:
    -    replace = _replace_retry(os.replace)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/filetypes.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/filetypes.py
    deleted file mode 100644
    index daa0ca7..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/filetypes.py
    +++ /dev/null
    @@ -1,16 +0,0 @@
    -"""Filetype information.
    -"""
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Tuple
    -
    -WHEEL_EXTENSION = '.whl'
    -BZ2_EXTENSIONS = ('.tar.bz2', '.tbz')  # type: Tuple[str, ...]
    -XZ_EXTENSIONS = ('.tar.xz', '.txz', '.tlz',
    -                 '.tar.lz', '.tar.lzma')  # type: Tuple[str, ...]
    -ZIP_EXTENSIONS = ('.zip', WHEEL_EXTENSION)  # type: Tuple[str, ...]
    -TAR_EXTENSIONS = ('.tar.gz', '.tgz', '.tar')  # type: Tuple[str, ...]
    -ARCHIVE_EXTENSIONS = (
    -    ZIP_EXTENSIONS + BZ2_EXTENSIONS + TAR_EXTENSIONS + XZ_EXTENSIONS
    -)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/glibc.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/glibc.py
    deleted file mode 100644
    index 544b4c2..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/glibc.py
    +++ /dev/null
    @@ -1,123 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -
    -from __future__ import absolute_import
    -
    -import os
    -import re
    -import warnings
    -
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional, Tuple
    -
    -
    -def glibc_version_string():
    -    # type: () -> Optional[str]
    -    "Returns glibc version string, or None if not using glibc."
    -    return glibc_version_string_confstr() or glibc_version_string_ctypes()
    -
    -
    -def glibc_version_string_confstr():
    -    # type: () -> Optional[str]
    -    "Primary implementation of glibc_version_string using os.confstr."
    -    # os.confstr is quite a bit faster than ctypes.DLL. It's also less likely
    -    # to be broken or missing. This strategy is used in the standard library
    -    # platform module:
    -    # https://github.com/python/cpython/blob/fcf1d003bf4f0100c9d0921ff3d70e1127ca1b71/Lib/platform.py#L175-L183
    -    try:
    -        # os.confstr("CS_GNU_LIBC_VERSION") returns a string like "glibc 2.17":
    -        _, version = os.confstr("CS_GNU_LIBC_VERSION").split()
    -    except (AttributeError, OSError, ValueError):
    -        # os.confstr() or CS_GNU_LIBC_VERSION not available (or a bad value)...
    -        return None
    -    return version
    -
    -
    -def glibc_version_string_ctypes():
    -    # type: () -> Optional[str]
    -    "Fallback implementation of glibc_version_string using ctypes."
    -
    -    try:
    -        import ctypes
    -    except ImportError:
    -        return None
    -
    -    # ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen
    -    # manpage says, "If filename is NULL, then the returned handle is for the
    -    # main program". This way we can let the linker do the work to figure out
    -    # which libc our process is actually using.
    -    process_namespace = ctypes.CDLL(None)
    -    try:
    -        gnu_get_libc_version = process_namespace.gnu_get_libc_version
    -    except AttributeError:
    -        # Symbol doesn't exist -> therefore, we are not linked to
    -        # glibc.
    -        return None
    -
    -    # Call gnu_get_libc_version, which returns a string like "2.5"
    -    gnu_get_libc_version.restype = ctypes.c_char_p
    -    version_str = gnu_get_libc_version()
    -    # py2 / py3 compatibility:
    -    if not isinstance(version_str, str):
    -        version_str = version_str.decode("ascii")
    -
    -    return version_str
    -
    -
    -# Separated out from have_compatible_glibc for easier unit testing
    -def check_glibc_version(version_str, required_major, minimum_minor):
    -    # type: (str, int, int) -> bool
    -    # Parse string and check against requested version.
    -    #
    -    # We use a regexp instead of str.split because we want to discard any
    -    # random junk that might come after the minor version -- this might happen
    -    # in patched/forked versions of glibc (e.g. Linaro's version of glibc
    -    # uses version strings like "2.20-2014.11"). See gh-3588.
    -    m = re.match(r"(?P[0-9]+)\.(?P[0-9]+)", version_str)
    -    if not m:
    -        warnings.warn("Expected glibc version with 2 components major.minor,"
    -                      " got: %s" % version_str, RuntimeWarning)
    -        return False
    -    return (int(m.group("major")) == required_major and
    -            int(m.group("minor")) >= minimum_minor)
    -
    -
    -def have_compatible_glibc(required_major, minimum_minor):
    -    # type: (int, int) -> bool
    -    version_str = glibc_version_string()
    -    if version_str is None:
    -        return False
    -    return check_glibc_version(version_str, required_major, minimum_minor)
    -
    -
    -# platform.libc_ver regularly returns completely nonsensical glibc
    -# versions. E.g. on my computer, platform says:
    -#
    -#   ~$ python2.7 -c 'import platform; print(platform.libc_ver())'
    -#   ('glibc', '2.7')
    -#   ~$ python3.5 -c 'import platform; print(platform.libc_ver())'
    -#   ('glibc', '2.9')
    -#
    -# But the truth is:
    -#
    -#   ~$ ldd --version
    -#   ldd (Debian GLIBC 2.22-11) 2.22
    -#
    -# This is unfortunate, because it means that the linehaul data on libc
    -# versions that was generated by pip 8.1.2 and earlier is useless and
    -# misleading. Solution: instead of using platform, use our code that actually
    -# works.
    -def libc_ver():
    -    # type: () -> Tuple[str, str]
    -    """Try to determine the glibc version
    -
    -    Returns a tuple of strings (lib, version) which default to empty strings
    -    in case the lookup fails.
    -    """
    -    glibc_version = glibc_version_string()
    -    if glibc_version is None:
    -        return ("", "")
    -    else:
    -        return ("glibc", glibc_version)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/hashes.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/hashes.py
    deleted file mode 100644
    index a0d87a4..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/hashes.py
    +++ /dev/null
    @@ -1,133 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import hashlib
    -
    -from pip._vendor.six import iteritems, iterkeys, itervalues
    -
    -from pip._internal.exceptions import (
    -    HashMismatch,
    -    HashMissing,
    -    InstallationError,
    -)
    -from pip._internal.utils.misc import read_chunks
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Dict, List, BinaryIO, NoReturn, Iterator
    -    )
    -    from pip._vendor.six import PY3
    -    if PY3:
    -        from hashlib import _Hash
    -    else:
    -        from hashlib import _hash as _Hash
    -
    -
    -# The recommended hash algo of the moment. Change this whenever the state of
    -# the art changes; it won't hurt backward compatibility.
    -FAVORITE_HASH = 'sha256'
    -
    -
    -# Names of hashlib algorithms allowed by the --hash option and ``pip hash``
    -# Currently, those are the ones at least as collision-resistant as sha256.
    -STRONG_HASHES = ['sha256', 'sha384', 'sha512']
    -
    -
    -class Hashes(object):
    -    """A wrapper that builds multiple hashes at once and checks them against
    -    known-good values
    -
    -    """
    -    def __init__(self, hashes=None):
    -        # type: (Dict[str, List[str]]) -> None
    -        """
    -        :param hashes: A dict of algorithm names pointing to lists of allowed
    -            hex digests
    -        """
    -        self._allowed = {} if hashes is None else hashes
    -
    -    @property
    -    def digest_count(self):
    -        # type: () -> int
    -        return sum(len(digests) for digests in self._allowed.values())
    -
    -    def is_hash_allowed(
    -        self,
    -        hash_name,   # type: str
    -        hex_digest,  # type: str
    -    ):
    -        """Return whether the given hex digest is allowed."""
    -        return hex_digest in self._allowed.get(hash_name, [])
    -
    -    def check_against_chunks(self, chunks):
    -        # type: (Iterator[bytes]) -> None
    -        """Check good hashes against ones built from iterable of chunks of
    -        data.
    -
    -        Raise HashMismatch if none match.
    -
    -        """
    -        gots = {}
    -        for hash_name in iterkeys(self._allowed):
    -            try:
    -                gots[hash_name] = hashlib.new(hash_name)
    -            except (ValueError, TypeError):
    -                raise InstallationError('Unknown hash name: %s' % hash_name)
    -
    -        for chunk in chunks:
    -            for hash in itervalues(gots):
    -                hash.update(chunk)
    -
    -        for hash_name, got in iteritems(gots):
    -            if got.hexdigest() in self._allowed[hash_name]:
    -                return
    -        self._raise(gots)
    -
    -    def _raise(self, gots):
    -        # type: (Dict[str, _Hash]) -> NoReturn
    -        raise HashMismatch(self._allowed, gots)
    -
    -    def check_against_file(self, file):
    -        # type: (BinaryIO) -> None
    -        """Check good hashes against a file-like object
    -
    -        Raise HashMismatch if none match.
    -
    -        """
    -        return self.check_against_chunks(read_chunks(file))
    -
    -    def check_against_path(self, path):
    -        # type: (str) -> None
    -        with open(path, 'rb') as file:
    -            return self.check_against_file(file)
    -
    -    def __nonzero__(self):
    -        # type: () -> bool
    -        """Return whether I know any known-good hashes."""
    -        return bool(self._allowed)
    -
    -    def __bool__(self):
    -        # type: () -> bool
    -        return self.__nonzero__()
    -
    -
    -class MissingHashes(Hashes):
    -    """A workalike for Hashes used when we're missing a hash for a requirement
    -
    -    It computes the actual hash of the requirement and raises a HashMissing
    -    exception showing it to the user.
    -
    -    """
    -    def __init__(self):
    -        # type: () -> None
    -        """Don't offer the ``hashes`` kwarg."""
    -        # Pass our favorite hash in to generate a "gotten hash". With the
    -        # empty list, it will never match, so an error will always raise.
    -        super(MissingHashes, self).__init__(hashes={FAVORITE_HASH: []})
    -
    -    def _raise(self, gots):
    -        # type: (Dict[str, _Hash]) -> NoReturn
    -        raise HashMissing(gots[FAVORITE_HASH].hexdigest())
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/inject_securetransport.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/inject_securetransport.py
    deleted file mode 100644
    index 5b93b1d..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/inject_securetransport.py
    +++ /dev/null
    @@ -1,36 +0,0 @@
    -"""A helper module that injects SecureTransport, on import.
    -
    -The import should be done as early as possible, to ensure all requests and
    -sessions (or whatever) are created after injecting SecureTransport.
    -
    -Note that we only do the injection on macOS, when the linked OpenSSL is too
    -old to handle TLSv1.2.
    -"""
    -
    -import sys
    -
    -
    -def inject_securetransport():
    -    # type: () -> None
    -    # Only relevant on macOS
    -    if sys.platform != "darwin":
    -        return
    -
    -    try:
    -        import ssl
    -    except ImportError:
    -        return
    -
    -    # Checks for OpenSSL 1.0.1
    -    if ssl.OPENSSL_VERSION_NUMBER >= 0x1000100f:
    -        return
    -
    -    try:
    -        from pip._vendor.urllib3.contrib import securetransport
    -    except (ImportError, OSError):
    -        return
    -
    -    securetransport.inject_into_urllib3()
    -
    -
    -inject_securetransport()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/logging.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/logging.py
    deleted file mode 100644
    index 7767111..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/logging.py
    +++ /dev/null
    @@ -1,398 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import contextlib
    -import errno
    -import logging
    -import logging.handlers
    -import os
    -import sys
    -from logging import Filter, getLogger
    -
    -from pip._vendor.six import PY2
    -
    -from pip._internal.utils.compat import WINDOWS
    -from pip._internal.utils.deprecation import DEPRECATION_MSG_PREFIX
    -from pip._internal.utils.misc import ensure_dir
    -
    -try:
    -    import threading
    -except ImportError:
    -    import dummy_threading as threading  # type: ignore
    -
    -
    -try:
    -    # Use "import as" and set colorama in the else clause to avoid mypy
    -    # errors and get the following correct revealed type for colorama:
    -    # `Union[_importlib_modulespec.ModuleType, None]`
    -    # Otherwise, we get an error like the following in the except block:
    -    #  > Incompatible types in assignment (expression has type "None",
    -    #   variable has type Module)
    -    # TODO: eliminate the need to use "import as" once mypy addresses some
    -    #  of its issues with conditional imports. Here is an umbrella issue:
    -    #  https://github.com/python/mypy/issues/1297
    -    from pip._vendor import colorama as _colorama
    -# Lots of different errors can come from this, including SystemError and
    -# ImportError.
    -except Exception:
    -    colorama = None
    -else:
    -    # Import Fore explicitly rather than accessing below as colorama.Fore
    -    # to avoid the following error running mypy:
    -    # > Module has no attribute "Fore"
    -    # TODO: eliminate the need to import Fore once mypy addresses some of its
    -    #  issues with conditional imports. This particular case could be an
    -    #  instance of the following issue (but also see the umbrella issue above):
    -    #  https://github.com/python/mypy/issues/3500
    -    from pip._vendor.colorama import Fore
    -
    -    colorama = _colorama
    -
    -
    -_log_state = threading.local()
    -_log_state.indentation = 0
    -subprocess_logger = getLogger('pip.subprocessor')
    -
    -
    -class BrokenStdoutLoggingError(Exception):
    -    """
    -    Raised if BrokenPipeError occurs for the stdout stream while logging.
    -    """
    -    pass
    -
    -
    -# BrokenPipeError does not exist in Python 2 and, in addition, manifests
    -# differently in Windows and non-Windows.
    -if WINDOWS:
    -    # In Windows, a broken pipe can show up as EINVAL rather than EPIPE:
    -    # https://bugs.python.org/issue19612
    -    # https://bugs.python.org/issue30418
    -    if PY2:
    -        def _is_broken_pipe_error(exc_class, exc):
    -            """See the docstring for non-Windows Python 3 below."""
    -            return (exc_class is IOError and
    -                    exc.errno in (errno.EINVAL, errno.EPIPE))
    -    else:
    -        # In Windows, a broken pipe IOError became OSError in Python 3.
    -        def _is_broken_pipe_error(exc_class, exc):
    -            """See the docstring for non-Windows Python 3 below."""
    -            return ((exc_class is BrokenPipeError) or  # noqa: F821
    -                    (exc_class is OSError and
    -                     exc.errno in (errno.EINVAL, errno.EPIPE)))
    -elif PY2:
    -    def _is_broken_pipe_error(exc_class, exc):
    -        """See the docstring for non-Windows Python 3 below."""
    -        return (exc_class is IOError and exc.errno == errno.EPIPE)
    -else:
    -    # Then we are in the non-Windows Python 3 case.
    -    def _is_broken_pipe_error(exc_class, exc):
    -        """
    -        Return whether an exception is a broken pipe error.
    -
    -        Args:
    -          exc_class: an exception class.
    -          exc: an exception instance.
    -        """
    -        return (exc_class is BrokenPipeError)  # noqa: F821
    -
    -
    -@contextlib.contextmanager
    -def indent_log(num=2):
    -    """
    -    A context manager which will cause the log output to be indented for any
    -    log messages emitted inside it.
    -    """
    -    _log_state.indentation += num
    -    try:
    -        yield
    -    finally:
    -        _log_state.indentation -= num
    -
    -
    -def get_indentation():
    -    return getattr(_log_state, 'indentation', 0)
    -
    -
    -class IndentingFormatter(logging.Formatter):
    -
    -    def __init__(self, *args, **kwargs):
    -        """
    -        A logging.Formatter that obeys the indent_log() context manager.
    -
    -        :param add_timestamp: A bool indicating output lines should be prefixed
    -            with their record's timestamp.
    -        """
    -        self.add_timestamp = kwargs.pop("add_timestamp", False)
    -        super(IndentingFormatter, self).__init__(*args, **kwargs)
    -
    -    def get_message_start(self, formatted, levelno):
    -        """
    -        Return the start of the formatted log message (not counting the
    -        prefix to add to each line).
    -        """
    -        if levelno < logging.WARNING:
    -            return ''
    -        if formatted.startswith(DEPRECATION_MSG_PREFIX):
    -            # Then the message already has a prefix.  We don't want it to
    -            # look like "WARNING: DEPRECATION: ...."
    -            return ''
    -        if levelno < logging.ERROR:
    -            return 'WARNING: '
    -
    -        return 'ERROR: '
    -
    -    def format(self, record):
    -        """
    -        Calls the standard formatter, but will indent all of the log message
    -        lines by our current indentation level.
    -        """
    -        formatted = super(IndentingFormatter, self).format(record)
    -        message_start = self.get_message_start(formatted, record.levelno)
    -        formatted = message_start + formatted
    -
    -        prefix = ''
    -        if self.add_timestamp:
    -            # TODO: Use Formatter.default_time_format after dropping PY2.
    -            t = self.formatTime(record, "%Y-%m-%dT%H:%M:%S")
    -            prefix = '%s,%03d ' % (t, record.msecs)
    -        prefix += " " * get_indentation()
    -        formatted = "".join([
    -            prefix + line
    -            for line in formatted.splitlines(True)
    -        ])
    -        return formatted
    -
    -
    -def _color_wrap(*colors):
    -    def wrapped(inp):
    -        return "".join(list(colors) + [inp, colorama.Style.RESET_ALL])
    -    return wrapped
    -
    -
    -class ColorizedStreamHandler(logging.StreamHandler):
    -
    -    # Don't build up a list of colors if we don't have colorama
    -    if colorama:
    -        COLORS = [
    -            # This needs to be in order from highest logging level to lowest.
    -            (logging.ERROR, _color_wrap(Fore.RED)),
    -            (logging.WARNING, _color_wrap(Fore.YELLOW)),
    -        ]
    -    else:
    -        COLORS = []
    -
    -    def __init__(self, stream=None, no_color=None):
    -        logging.StreamHandler.__init__(self, stream)
    -        self._no_color = no_color
    -
    -        if WINDOWS and colorama:
    -            self.stream = colorama.AnsiToWin32(self.stream)
    -
    -    def _using_stdout(self):
    -        """
    -        Return whether the handler is using sys.stdout.
    -        """
    -        if WINDOWS and colorama:
    -            # Then self.stream is an AnsiToWin32 object.
    -            return self.stream.wrapped is sys.stdout
    -
    -        return self.stream is sys.stdout
    -
    -    def should_color(self):
    -        # Don't colorize things if we do not have colorama or if told not to
    -        if not colorama or self._no_color:
    -            return False
    -
    -        real_stream = (
    -            self.stream if not isinstance(self.stream, colorama.AnsiToWin32)
    -            else self.stream.wrapped
    -        )
    -
    -        # If the stream is a tty we should color it
    -        if hasattr(real_stream, "isatty") and real_stream.isatty():
    -            return True
    -
    -        # If we have an ANSI term we should color it
    -        if os.environ.get("TERM") == "ANSI":
    -            return True
    -
    -        # If anything else we should not color it
    -        return False
    -
    -    def format(self, record):
    -        msg = logging.StreamHandler.format(self, record)
    -
    -        if self.should_color():
    -            for level, color in self.COLORS:
    -                if record.levelno >= level:
    -                    msg = color(msg)
    -                    break
    -
    -        return msg
    -
    -    # The logging module says handleError() can be customized.
    -    def handleError(self, record):
    -        exc_class, exc = sys.exc_info()[:2]
    -        # If a broken pipe occurred while calling write() or flush() on the
    -        # stdout stream in logging's Handler.emit(), then raise our special
    -        # exception so we can handle it in main() instead of logging the
    -        # broken pipe error and continuing.
    -        if (exc_class and self._using_stdout() and
    -                _is_broken_pipe_error(exc_class, exc)):
    -            raise BrokenStdoutLoggingError()
    -
    -        return super(ColorizedStreamHandler, self).handleError(record)
    -
    -
    -class BetterRotatingFileHandler(logging.handlers.RotatingFileHandler):
    -
    -    def _open(self):
    -        ensure_dir(os.path.dirname(self.baseFilename))
    -        return logging.handlers.RotatingFileHandler._open(self)
    -
    -
    -class MaxLevelFilter(Filter):
    -
    -    def __init__(self, level):
    -        self.level = level
    -
    -    def filter(self, record):
    -        return record.levelno < self.level
    -
    -
    -class ExcludeLoggerFilter(Filter):
    -
    -    """
    -    A logging Filter that excludes records from a logger (or its children).
    -    """
    -
    -    def filter(self, record):
    -        # The base Filter class allows only records from a logger (or its
    -        # children).
    -        return not super(ExcludeLoggerFilter, self).filter(record)
    -
    -
    -def setup_logging(verbosity, no_color, user_log_file):
    -    """Configures and sets up all of the logging
    -
    -    Returns the requested logging level, as its integer value.
    -    """
    -
    -    # Determine the level to be logging at.
    -    if verbosity >= 1:
    -        level = "DEBUG"
    -    elif verbosity == -1:
    -        level = "WARNING"
    -    elif verbosity == -2:
    -        level = "ERROR"
    -    elif verbosity <= -3:
    -        level = "CRITICAL"
    -    else:
    -        level = "INFO"
    -
    -    level_number = getattr(logging, level)
    -
    -    # The "root" logger should match the "console" level *unless* we also need
    -    # to log to a user log file.
    -    include_user_log = user_log_file is not None
    -    if include_user_log:
    -        additional_log_file = user_log_file
    -        root_level = "DEBUG"
    -    else:
    -        additional_log_file = "/dev/null"
    -        root_level = level
    -
    -    # Disable any logging besides WARNING unless we have DEBUG level logging
    -    # enabled for vendored libraries.
    -    vendored_log_level = "WARNING" if level in ["INFO", "ERROR"] else "DEBUG"
    -
    -    # Shorthands for clarity
    -    log_streams = {
    -        "stdout": "ext://sys.stdout",
    -        "stderr": "ext://sys.stderr",
    -    }
    -    handler_classes = {
    -        "stream": "pip._internal.utils.logging.ColorizedStreamHandler",
    -        "file": "pip._internal.utils.logging.BetterRotatingFileHandler",
    -    }
    -    handlers = ["console", "console_errors", "console_subprocess"] + (
    -        ["user_log"] if include_user_log else []
    -    )
    -
    -    logging.config.dictConfig({
    -        "version": 1,
    -        "disable_existing_loggers": False,
    -        "filters": {
    -            "exclude_warnings": {
    -                "()": "pip._internal.utils.logging.MaxLevelFilter",
    -                "level": logging.WARNING,
    -            },
    -            "restrict_to_subprocess": {
    -                "()": "logging.Filter",
    -                "name": subprocess_logger.name,
    -            },
    -            "exclude_subprocess": {
    -                "()": "pip._internal.utils.logging.ExcludeLoggerFilter",
    -                "name": subprocess_logger.name,
    -            },
    -        },
    -        "formatters": {
    -            "indent": {
    -                "()": IndentingFormatter,
    -                "format": "%(message)s",
    -            },
    -            "indent_with_timestamp": {
    -                "()": IndentingFormatter,
    -                "format": "%(message)s",
    -                "add_timestamp": True,
    -            },
    -        },
    -        "handlers": {
    -            "console": {
    -                "level": level,
    -                "class": handler_classes["stream"],
    -                "no_color": no_color,
    -                "stream": log_streams["stdout"],
    -                "filters": ["exclude_subprocess", "exclude_warnings"],
    -                "formatter": "indent",
    -            },
    -            "console_errors": {
    -                "level": "WARNING",
    -                "class": handler_classes["stream"],
    -                "no_color": no_color,
    -                "stream": log_streams["stderr"],
    -                "filters": ["exclude_subprocess"],
    -                "formatter": "indent",
    -            },
    -            # A handler responsible for logging to the console messages
    -            # from the "subprocessor" logger.
    -            "console_subprocess": {
    -                "level": level,
    -                "class": handler_classes["stream"],
    -                "no_color": no_color,
    -                "stream": log_streams["stderr"],
    -                "filters": ["restrict_to_subprocess"],
    -                "formatter": "indent",
    -            },
    -            "user_log": {
    -                "level": "DEBUG",
    -                "class": handler_classes["file"],
    -                "filename": additional_log_file,
    -                "delay": True,
    -                "formatter": "indent_with_timestamp",
    -            },
    -        },
    -        "root": {
    -            "level": root_level,
    -            "handlers": handlers,
    -        },
    -        "loggers": {
    -            "pip._vendor": {
    -                "level": vendored_log_level
    -            }
    -        },
    -    })
    -
    -    return level_number
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/marker_files.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/marker_files.py
    deleted file mode 100644
    index 734cba4..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/marker_files.py
    +++ /dev/null
    @@ -1,27 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import os.path
    -
    -DELETE_MARKER_MESSAGE = '''\
    -This file is placed here by pip to indicate the source was put
    -here by pip.
    -
    -Once this package is successfully installed this source code will be
    -deleted (unless you remove this file).
    -'''
    -PIP_DELETE_MARKER_FILENAME = 'pip-delete-this-directory.txt'
    -
    -
    -def has_delete_marker_file(directory):
    -    return os.path.exists(os.path.join(directory, PIP_DELETE_MARKER_FILENAME))
    -
    -
    -def write_delete_marker_file(directory):
    -    # type: (str) -> None
    -    """
    -    Write the pip delete marker file into this directory.
    -    """
    -    filepath = os.path.join(directory, PIP_DELETE_MARKER_FILENAME)
    -    with open(filepath, 'w') as marker_fp:
    -        marker_fp.write(DELETE_MARKER_MESSAGE)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/misc.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/misc.py
    deleted file mode 100644
    index b848263..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/misc.py
    +++ /dev/null
    @@ -1,870 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import contextlib
    -import errno
    -import getpass
    -import io
    -import logging
    -import os
    -import posixpath
    -import shutil
    -import stat
    -import sys
    -from collections import deque
    -
    -from pip._vendor import pkg_resources
    -# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is
    -#       why we ignore the type on this import.
    -from pip._vendor.retrying import retry  # type: ignore
    -from pip._vendor.six import PY2, text_type
    -from pip._vendor.six.moves import input
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -from pip._vendor.six.moves.urllib.parse import unquote as urllib_unquote
    -
    -from pip import __version__
    -from pip._internal.exceptions import CommandError
    -from pip._internal.locations import (
    -    get_major_minor_version,
    -    site_packages,
    -    user_site,
    -)
    -from pip._internal.utils.compat import (
    -    WINDOWS,
    -    expanduser,
    -    stdlib_pkgs,
    -    str_to_display,
    -)
    -from pip._internal.utils.marker_files import write_delete_marker_file
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.virtualenv import (
    -    running_under_virtualenv,
    -    virtualenv_no_global,
    -)
    -
    -if PY2:
    -    from io import BytesIO as StringIO
    -else:
    -    from io import StringIO
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Any, AnyStr, Container, Iterable, List, Optional, Text,
    -        Tuple, Union, cast,
    -    )
    -    from pip._vendor.pkg_resources import Distribution
    -
    -    VersionInfo = Tuple[int, int, int]
    -else:
    -    # typing's cast() is needed at runtime, but we don't want to import typing.
    -    # Thus, we use a dummy no-op version, which we tell mypy to ignore.
    -    def cast(type_, value):  # type: ignore
    -        return value
    -
    -
    -__all__ = ['rmtree', 'display_path', 'backup_dir',
    -           'ask', 'splitext',
    -           'format_size', 'is_installable_dir',
    -           'normalize_path',
    -           'renames', 'get_prog',
    -           'captured_stdout', 'ensure_dir',
    -           'get_installed_version', 'remove_auth_from_url']
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def get_pip_version():
    -    # type: () -> str
    -    pip_pkg_dir = os.path.join(os.path.dirname(__file__), "..", "..")
    -    pip_pkg_dir = os.path.abspath(pip_pkg_dir)
    -
    -    return (
    -        'pip {} from {} (python {})'.format(
    -            __version__, pip_pkg_dir, get_major_minor_version(),
    -        )
    -    )
    -
    -
    -def normalize_version_info(py_version_info):
    -    # type: (Tuple[int, ...]) -> Tuple[int, int, int]
    -    """
    -    Convert a tuple of ints representing a Python version to one of length
    -    three.
    -
    -    :param py_version_info: a tuple of ints representing a Python version,
    -        or None to specify no version. The tuple can have any length.
    -
    -    :return: a tuple of length three if `py_version_info` is non-None.
    -        Otherwise, return `py_version_info` unchanged (i.e. None).
    -    """
    -    if len(py_version_info) < 3:
    -        py_version_info += (3 - len(py_version_info)) * (0,)
    -    elif len(py_version_info) > 3:
    -        py_version_info = py_version_info[:3]
    -
    -    return cast('VersionInfo', py_version_info)
    -
    -
    -def ensure_dir(path):
    -    # type: (AnyStr) -> None
    -    """os.path.makedirs without EEXIST."""
    -    try:
    -        os.makedirs(path)
    -    except OSError as e:
    -        if e.errno != errno.EEXIST:
    -            raise
    -
    -
    -def get_prog():
    -    # type: () -> str
    -    try:
    -        prog = os.path.basename(sys.argv[0])
    -        if prog in ('__main__.py', '-c'):
    -            return "%s -m pip" % sys.executable
    -        else:
    -            return prog
    -    except (AttributeError, TypeError, IndexError):
    -        pass
    -    return 'pip'
    -
    -
    -# Retry every half second for up to 3 seconds
    -@retry(stop_max_delay=3000, wait_fixed=500)
    -def rmtree(dir, ignore_errors=False):
    -    # type: (str, bool) -> None
    -    shutil.rmtree(dir, ignore_errors=ignore_errors,
    -                  onerror=rmtree_errorhandler)
    -
    -
    -def rmtree_errorhandler(func, path, exc_info):
    -    """On Windows, the files in .svn are read-only, so when rmtree() tries to
    -    remove them, an exception is thrown.  We catch that here, remove the
    -    read-only attribute, and hopefully continue without problems."""
    -    try:
    -        has_attr_readonly = not (os.stat(path).st_mode & stat.S_IWRITE)
    -    except (IOError, OSError):
    -        # it's equivalent to os.path.exists
    -        return
    -
    -    if has_attr_readonly:
    -        # convert to read/write
    -        os.chmod(path, stat.S_IWRITE)
    -        # use the original function to repeat the operation
    -        func(path)
    -        return
    -    else:
    -        raise
    -
    -
    -def path_to_display(path):
    -    # type: (Optional[Union[str, Text]]) -> Optional[Text]
    -    """
    -    Convert a bytes (or text) path to text (unicode in Python 2) for display
    -    and logging purposes.
    -
    -    This function should never error out. Also, this function is mainly needed
    -    for Python 2 since in Python 3 str paths are already text.
    -    """
    -    if path is None:
    -        return None
    -    if isinstance(path, text_type):
    -        return path
    -    # Otherwise, path is a bytes object (str in Python 2).
    -    try:
    -        display_path = path.decode(sys.getfilesystemencoding(), 'strict')
    -    except UnicodeDecodeError:
    -        # Include the full bytes to make troubleshooting easier, even though
    -        # it may not be very human readable.
    -        if PY2:
    -            # Convert the bytes to a readable str representation using
    -            # repr(), and then convert the str to unicode.
    -            #   Also, we add the prefix "b" to the repr() return value both
    -            # to make the Python 2 output look like the Python 3 output, and
    -            # to signal to the user that this is a bytes representation.
    -            display_path = str_to_display('b{!r}'.format(path))
    -        else:
    -            # Silence the "F821 undefined name 'ascii'" flake8 error since
    -            # in Python 3 ascii() is a built-in.
    -            display_path = ascii(path)  # noqa: F821
    -
    -    return display_path
    -
    -
    -def display_path(path):
    -    # type: (Union[str, Text]) -> str
    -    """Gives the display value for a given path, making it relative to cwd
    -    if possible."""
    -    path = os.path.normcase(os.path.abspath(path))
    -    if sys.version_info[0] == 2:
    -        path = path.decode(sys.getfilesystemencoding(), 'replace')
    -        path = path.encode(sys.getdefaultencoding(), 'replace')
    -    if path.startswith(os.getcwd() + os.path.sep):
    -        path = '.' + path[len(os.getcwd()):]
    -    return path
    -
    -
    -def backup_dir(dir, ext='.bak'):
    -    # type: (str, str) -> str
    -    """Figure out the name of a directory to back up the given dir to
    -    (adding .bak, .bak2, etc)"""
    -    n = 1
    -    extension = ext
    -    while os.path.exists(dir + extension):
    -        n += 1
    -        extension = ext + str(n)
    -    return dir + extension
    -
    -
    -def ask_path_exists(message, options):
    -    # type: (str, Iterable[str]) -> str
    -    for action in os.environ.get('PIP_EXISTS_ACTION', '').split():
    -        if action in options:
    -            return action
    -    return ask(message, options)
    -
    -
    -def _check_no_input(message):
    -    # type: (str) -> None
    -    """Raise an error if no input is allowed."""
    -    if os.environ.get('PIP_NO_INPUT'):
    -        raise Exception(
    -            'No input was expected ($PIP_NO_INPUT set); question: %s' %
    -            message
    -        )
    -
    -
    -def ask(message, options):
    -    # type: (str, Iterable[str]) -> str
    -    """Ask the message interactively, with the given possible responses"""
    -    while 1:
    -        _check_no_input(message)
    -        response = input(message)
    -        response = response.strip().lower()
    -        if response not in options:
    -            print(
    -                'Your response (%r) was not one of the expected responses: '
    -                '%s' % (response, ', '.join(options))
    -            )
    -        else:
    -            return response
    -
    -
    -def ask_input(message):
    -    # type: (str) -> str
    -    """Ask for input interactively."""
    -    _check_no_input(message)
    -    return input(message)
    -
    -
    -def ask_password(message):
    -    # type: (str) -> str
    -    """Ask for a password interactively."""
    -    _check_no_input(message)
    -    return getpass.getpass(message)
    -
    -
    -def format_size(bytes):
    -    # type: (float) -> str
    -    if bytes > 1000 * 1000:
    -        return '%.1fMB' % (bytes / 1000.0 / 1000)
    -    elif bytes > 10 * 1000:
    -        return '%ikB' % (bytes / 1000)
    -    elif bytes > 1000:
    -        return '%.1fkB' % (bytes / 1000.0)
    -    else:
    -        return '%ibytes' % bytes
    -
    -
    -def is_installable_dir(path):
    -    # type: (str) -> bool
    -    """Is path is a directory containing setup.py or pyproject.toml?
    -    """
    -    if not os.path.isdir(path):
    -        return False
    -    setup_py = os.path.join(path, 'setup.py')
    -    if os.path.isfile(setup_py):
    -        return True
    -    pyproject_toml = os.path.join(path, 'pyproject.toml')
    -    if os.path.isfile(pyproject_toml):
    -        return True
    -    return False
    -
    -
    -def read_chunks(file, size=io.DEFAULT_BUFFER_SIZE):
    -    """Yield pieces of data from a file-like object until EOF."""
    -    while True:
    -        chunk = file.read(size)
    -        if not chunk:
    -            break
    -        yield chunk
    -
    -
    -def normalize_path(path, resolve_symlinks=True):
    -    # type: (str, bool) -> str
    -    """
    -    Convert a path to its canonical, case-normalized, absolute version.
    -
    -    """
    -    path = expanduser(path)
    -    if resolve_symlinks:
    -        path = os.path.realpath(path)
    -    else:
    -        path = os.path.abspath(path)
    -    return os.path.normcase(path)
    -
    -
    -def splitext(path):
    -    # type: (str) -> Tuple[str, str]
    -    """Like os.path.splitext, but take off .tar too"""
    -    base, ext = posixpath.splitext(path)
    -    if base.lower().endswith('.tar'):
    -        ext = base[-4:] + ext
    -        base = base[:-4]
    -    return base, ext
    -
    -
    -def renames(old, new):
    -    # type: (str, str) -> None
    -    """Like os.renames(), but handles renaming across devices."""
    -    # Implementation borrowed from os.renames().
    -    head, tail = os.path.split(new)
    -    if head and tail and not os.path.exists(head):
    -        os.makedirs(head)
    -
    -    shutil.move(old, new)
    -
    -    head, tail = os.path.split(old)
    -    if head and tail:
    -        try:
    -            os.removedirs(head)
    -        except OSError:
    -            pass
    -
    -
    -def is_local(path):
    -    # type: (str) -> bool
    -    """
    -    Return True if path is within sys.prefix, if we're running in a virtualenv.
    -
    -    If we're not in a virtualenv, all paths are considered "local."
    -
    -    Caution: this function assumes the head of path has been normalized
    -    with normalize_path.
    -    """
    -    if not running_under_virtualenv():
    -        return True
    -    return path.startswith(normalize_path(sys.prefix))
    -
    -
    -def dist_is_local(dist):
    -    # type: (Distribution) -> bool
    -    """
    -    Return True if given Distribution object is installed locally
    -    (i.e. within current virtualenv).
    -
    -    Always True if we're not in a virtualenv.
    -
    -    """
    -    return is_local(dist_location(dist))
    -
    -
    -def dist_in_usersite(dist):
    -    # type: (Distribution) -> bool
    -    """
    -    Return True if given Distribution is installed in user site.
    -    """
    -    return dist_location(dist).startswith(normalize_path(user_site))
    -
    -
    -def dist_in_site_packages(dist):
    -    # type: (Distribution) -> bool
    -    """
    -    Return True if given Distribution is installed in
    -    sysconfig.get_python_lib().
    -    """
    -    return dist_location(dist).startswith(normalize_path(site_packages))
    -
    -
    -def dist_is_editable(dist):
    -    # type: (Distribution) -> bool
    -    """
    -    Return True if given Distribution is an editable install.
    -    """
    -    for path_item in sys.path:
    -        egg_link = os.path.join(path_item, dist.project_name + '.egg-link')
    -        if os.path.isfile(egg_link):
    -            return True
    -    return False
    -
    -
    -def get_installed_distributions(
    -        local_only=True,  # type: bool
    -        skip=stdlib_pkgs,  # type: Container[str]
    -        include_editables=True,  # type: bool
    -        editables_only=False,  # type: bool
    -        user_only=False,  # type: bool
    -        paths=None  # type: Optional[List[str]]
    -):
    -    # type: (...) -> List[Distribution]
    -    """
    -    Return a list of installed Distribution objects.
    -
    -    If ``local_only`` is True (default), only return installations
    -    local to the current virtualenv, if in a virtualenv.
    -
    -    ``skip`` argument is an iterable of lower-case project names to
    -    ignore; defaults to stdlib_pkgs
    -
    -    If ``include_editables`` is False, don't report editables.
    -
    -    If ``editables_only`` is True , only report editables.
    -
    -    If ``user_only`` is True , only report installations in the user
    -    site directory.
    -
    -    If ``paths`` is set, only report the distributions present at the
    -    specified list of locations.
    -    """
    -    if paths:
    -        working_set = pkg_resources.WorkingSet(paths)
    -    else:
    -        working_set = pkg_resources.working_set
    -
    -    if local_only:
    -        local_test = dist_is_local
    -    else:
    -        def local_test(d):
    -            return True
    -
    -    if include_editables:
    -        def editable_test(d):
    -            return True
    -    else:
    -        def editable_test(d):
    -            return not dist_is_editable(d)
    -
    -    if editables_only:
    -        def editables_only_test(d):
    -            return dist_is_editable(d)
    -    else:
    -        def editables_only_test(d):
    -            return True
    -
    -    if user_only:
    -        user_test = dist_in_usersite
    -    else:
    -        def user_test(d):
    -            return True
    -
    -    # because of pkg_resources vendoring, mypy cannot find stub in typeshed
    -    return [d for d in working_set  # type: ignore
    -            if local_test(d) and
    -            d.key not in skip and
    -            editable_test(d) and
    -            editables_only_test(d) and
    -            user_test(d)
    -            ]
    -
    -
    -def egg_link_path(dist):
    -    # type: (Distribution) -> Optional[str]
    -    """
    -    Return the path for the .egg-link file if it exists, otherwise, None.
    -
    -    There's 3 scenarios:
    -    1) not in a virtualenv
    -       try to find in site.USER_SITE, then site_packages
    -    2) in a no-global virtualenv
    -       try to find in site_packages
    -    3) in a yes-global virtualenv
    -       try to find in site_packages, then site.USER_SITE
    -       (don't look in global location)
    -
    -    For #1 and #3, there could be odd cases, where there's an egg-link in 2
    -    locations.
    -
    -    This method will just return the first one found.
    -    """
    -    sites = []
    -    if running_under_virtualenv():
    -        sites.append(site_packages)
    -        if not virtualenv_no_global() and user_site:
    -            sites.append(user_site)
    -    else:
    -        if user_site:
    -            sites.append(user_site)
    -        sites.append(site_packages)
    -
    -    for site in sites:
    -        egglink = os.path.join(site, dist.project_name) + '.egg-link'
    -        if os.path.isfile(egglink):
    -            return egglink
    -    return None
    -
    -
    -def dist_location(dist):
    -    # type: (Distribution) -> str
    -    """
    -    Get the site-packages location of this distribution. Generally
    -    this is dist.location, except in the case of develop-installed
    -    packages, where dist.location is the source code location, and we
    -    want to know where the egg-link file is.
    -
    -    The returned location is normalized (in particular, with symlinks removed).
    -    """
    -    egg_link = egg_link_path(dist)
    -    if egg_link:
    -        return normalize_path(egg_link)
    -    return normalize_path(dist.location)
    -
    -
    -def write_output(msg, *args):
    -    # type: (str, str) -> None
    -    logger.info(msg, *args)
    -
    -
    -def _make_build_dir(build_dir):
    -    os.makedirs(build_dir)
    -    write_delete_marker_file(build_dir)
    -
    -
    -class FakeFile(object):
    -    """Wrap a list of lines in an object with readline() to make
    -    ConfigParser happy."""
    -    def __init__(self, lines):
    -        self._gen = (l for l in lines)
    -
    -    def readline(self):
    -        try:
    -            try:
    -                return next(self._gen)
    -            except NameError:
    -                return self._gen.next()
    -        except StopIteration:
    -            return ''
    -
    -    def __iter__(self):
    -        return self._gen
    -
    -
    -class StreamWrapper(StringIO):
    -
    -    @classmethod
    -    def from_stream(cls, orig_stream):
    -        cls.orig_stream = orig_stream
    -        return cls()
    -
    -    # compileall.compile_dir() needs stdout.encoding to print to stdout
    -    @property
    -    def encoding(self):
    -        return self.orig_stream.encoding
    -
    -
    -@contextlib.contextmanager
    -def captured_output(stream_name):
    -    """Return a context manager used by captured_stdout/stdin/stderr
    -    that temporarily replaces the sys stream *stream_name* with a StringIO.
    -
    -    Taken from Lib/support/__init__.py in the CPython repo.
    -    """
    -    orig_stdout = getattr(sys, stream_name)
    -    setattr(sys, stream_name, StreamWrapper.from_stream(orig_stdout))
    -    try:
    -        yield getattr(sys, stream_name)
    -    finally:
    -        setattr(sys, stream_name, orig_stdout)
    -
    -
    -def captured_stdout():
    -    """Capture the output of sys.stdout:
    -
    -       with captured_stdout() as stdout:
    -           print('hello')
    -       self.assertEqual(stdout.getvalue(), 'hello\n')
    -
    -    Taken from Lib/support/__init__.py in the CPython repo.
    -    """
    -    return captured_output('stdout')
    -
    -
    -def captured_stderr():
    -    """
    -    See captured_stdout().
    -    """
    -    return captured_output('stderr')
    -
    -
    -class cached_property(object):
    -    """A property that is only computed once per instance and then replaces
    -       itself with an ordinary attribute. Deleting the attribute resets the
    -       property.
    -
    -       Source: https://github.com/bottlepy/bottle/blob/0.11.5/bottle.py#L175
    -    """
    -
    -    def __init__(self, func):
    -        self.__doc__ = getattr(func, '__doc__')
    -        self.func = func
    -
    -    def __get__(self, obj, cls):
    -        if obj is None:
    -            # We're being accessed from the class itself, not from an object
    -            return self
    -        value = obj.__dict__[self.func.__name__] = self.func(obj)
    -        return value
    -
    -
    -def get_installed_version(dist_name, working_set=None):
    -    """Get the installed version of dist_name avoiding pkg_resources cache"""
    -    # Create a requirement that we'll look for inside of setuptools.
    -    req = pkg_resources.Requirement.parse(dist_name)
    -
    -    if working_set is None:
    -        # We want to avoid having this cached, so we need to construct a new
    -        # working set each time.
    -        working_set = pkg_resources.WorkingSet()
    -
    -    # Get the installed distribution from our working set
    -    dist = working_set.find(req)
    -
    -    # Check to see if we got an installed distribution or not, if we did
    -    # we want to return it's version.
    -    return dist.version if dist else None
    -
    -
    -def consume(iterator):
    -    """Consume an iterable at C speed."""
    -    deque(iterator, maxlen=0)
    -
    -
    -# Simulates an enum
    -def enum(*sequential, **named):
    -    enums = dict(zip(sequential, range(len(sequential))), **named)
    -    reverse = {value: key for key, value in enums.items()}
    -    enums['reverse_mapping'] = reverse
    -    return type('Enum', (), enums)
    -
    -
    -def build_netloc(host, port):
    -    # type: (str, Optional[int]) -> str
    -    """
    -    Build a netloc from a host-port pair
    -    """
    -    if port is None:
    -        return host
    -    if ':' in host:
    -        # Only wrap host with square brackets when it is IPv6
    -        host = '[{}]'.format(host)
    -    return '{}:{}'.format(host, port)
    -
    -
    -def build_url_from_netloc(netloc, scheme='https'):
    -    # type: (str, str) -> str
    -    """
    -    Build a full URL from a netloc.
    -    """
    -    if netloc.count(':') >= 2 and '@' not in netloc and '[' not in netloc:
    -        # It must be a bare IPv6 address, so wrap it with brackets.
    -        netloc = '[{}]'.format(netloc)
    -    return '{}://{}'.format(scheme, netloc)
    -
    -
    -def parse_netloc(netloc):
    -    # type: (str) -> Tuple[str, Optional[int]]
    -    """
    -    Return the host-port pair from a netloc.
    -    """
    -    url = build_url_from_netloc(netloc)
    -    parsed = urllib_parse.urlparse(url)
    -    return parsed.hostname, parsed.port
    -
    -
    -def split_auth_from_netloc(netloc):
    -    """
    -    Parse out and remove the auth information from a netloc.
    -
    -    Returns: (netloc, (username, password)).
    -    """
    -    if '@' not in netloc:
    -        return netloc, (None, None)
    -
    -    # Split from the right because that's how urllib.parse.urlsplit()
    -    # behaves if more than one @ is present (which can be checked using
    -    # the password attribute of urlsplit()'s return value).
    -    auth, netloc = netloc.rsplit('@', 1)
    -    if ':' in auth:
    -        # Split from the left because that's how urllib.parse.urlsplit()
    -        # behaves if more than one : is present (which again can be checked
    -        # using the password attribute of the return value)
    -        user_pass = auth.split(':', 1)
    -    else:
    -        user_pass = auth, None
    -
    -    user_pass = tuple(
    -        None if x is None else urllib_unquote(x) for x in user_pass
    -    )
    -
    -    return netloc, user_pass
    -
    -
    -def redact_netloc(netloc):
    -    # type: (str) -> str
    -    """
    -    Replace the sensitive data in a netloc with "****", if it exists.
    -
    -    For example:
    -        - "user:pass@example.com" returns "user:****@example.com"
    -        - "accesstoken@example.com" returns "****@example.com"
    -    """
    -    netloc, (user, password) = split_auth_from_netloc(netloc)
    -    if user is None:
    -        return netloc
    -    if password is None:
    -        user = '****'
    -        password = ''
    -    else:
    -        user = urllib_parse.quote(user)
    -        password = ':****'
    -    return '{user}{password}@{netloc}'.format(user=user,
    -                                              password=password,
    -                                              netloc=netloc)
    -
    -
    -def _transform_url(url, transform_netloc):
    -    """Transform and replace netloc in a url.
    -
    -    transform_netloc is a function taking the netloc and returning a
    -    tuple. The first element of this tuple is the new netloc. The
    -    entire tuple is returned.
    -
    -    Returns a tuple containing the transformed url as item 0 and the
    -    original tuple returned by transform_netloc as item 1.
    -    """
    -    purl = urllib_parse.urlsplit(url)
    -    netloc_tuple = transform_netloc(purl.netloc)
    -    # stripped url
    -    url_pieces = (
    -        purl.scheme, netloc_tuple[0], purl.path, purl.query, purl.fragment
    -    )
    -    surl = urllib_parse.urlunsplit(url_pieces)
    -    return surl, netloc_tuple
    -
    -
    -def _get_netloc(netloc):
    -    return split_auth_from_netloc(netloc)
    -
    -
    -def _redact_netloc(netloc):
    -    return (redact_netloc(netloc),)
    -
    -
    -def split_auth_netloc_from_url(url):
    -    # type: (str) -> Tuple[str, str, Tuple[str, str]]
    -    """
    -    Parse a url into separate netloc, auth, and url with no auth.
    -
    -    Returns: (url_without_auth, netloc, (username, password))
    -    """
    -    url_without_auth, (netloc, auth) = _transform_url(url, _get_netloc)
    -    return url_without_auth, netloc, auth
    -
    -
    -def remove_auth_from_url(url):
    -    # type: (str) -> str
    -    """Return a copy of url with 'username:password@' removed."""
    -    # username/pass params are passed to subversion through flags
    -    # and are not recognized in the url.
    -    return _transform_url(url, _get_netloc)[0]
    -
    -
    -def redact_auth_from_url(url):
    -    # type: (str) -> str
    -    """Replace the password in a given url with ****."""
    -    return _transform_url(url, _redact_netloc)[0]
    -
    -
    -class HiddenText(object):
    -    def __init__(
    -        self,
    -        secret,    # type: str
    -        redacted,  # type: str
    -    ):
    -        # type: (...) -> None
    -        self.secret = secret
    -        self.redacted = redacted
    -
    -    def __repr__(self):
    -        # type: (...) -> str
    -        return ''.format(str(self))
    -
    -    def __str__(self):
    -        # type: (...) -> str
    -        return self.redacted
    -
    -    # This is useful for testing.
    -    def __eq__(self, other):
    -        # type: (Any) -> bool
    -        if type(self) != type(other):
    -            return False
    -
    -        # The string being used for redaction doesn't also have to match,
    -        # just the raw, original string.
    -        return (self.secret == other.secret)
    -
    -    # We need to provide an explicit __ne__ implementation for Python 2.
    -    # TODO: remove this when we drop PY2 support.
    -    def __ne__(self, other):
    -        # type: (Any) -> bool
    -        return not self == other
    -
    -
    -def hide_value(value):
    -    # type: (str) -> HiddenText
    -    return HiddenText(value, redacted='****')
    -
    -
    -def hide_url(url):
    -    # type: (str) -> HiddenText
    -    redacted = redact_auth_from_url(url)
    -    return HiddenText(url, redacted=redacted)
    -
    -
    -def protect_pip_from_modification_on_windows(modifying_pip):
    -    # type: (bool) -> None
    -    """Protection of pip.exe from modification on Windows
    -
    -    On Windows, any operation modifying pip should be run as:
    -        python -m pip ...
    -    """
    -    pip_names = set()
    -    for ext in ('', '.exe'):
    -        pip_names.add('pip{ext}'.format(ext=ext))
    -        pip_names.add('pip{}{ext}'.format(sys.version_info[0], ext=ext))
    -        pip_names.add('pip{}.{}{ext}'.format(*sys.version_info[:2], ext=ext))
    -
    -    # See https://github.com/pypa/pip/issues/1299 for more discussion
    -    should_show_use_python_msg = (
    -        modifying_pip and
    -        WINDOWS and
    -        os.path.basename(sys.argv[0]) in pip_names
    -    )
    -
    -    if should_show_use_python_msg:
    -        new_command = [
    -            sys.executable, "-m", "pip"
    -        ] + sys.argv[1:]
    -        raise CommandError(
    -            'To modify pip, please run the following command:\n{}'
    -            .format(" ".join(new_command))
    -        )
    -
    -
    -def is_console_interactive():
    -    # type: () -> bool
    -    """Is this console interactive?
    -    """
    -    return sys.stdin is not None and sys.stdin.isatty()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/models.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/models.py
    deleted file mode 100644
    index 29e1441..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/models.py
    +++ /dev/null
    @@ -1,42 +0,0 @@
    -"""Utilities for defining models
    -"""
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -import operator
    -
    -
    -class KeyBasedCompareMixin(object):
    -    """Provides comparison capabilities that is based on a key
    -    """
    -
    -    def __init__(self, key, defining_class):
    -        self._compare_key = key
    -        self._defining_class = defining_class
    -
    -    def __hash__(self):
    -        return hash(self._compare_key)
    -
    -    def __lt__(self, other):
    -        return self._compare(other, operator.__lt__)
    -
    -    def __le__(self, other):
    -        return self._compare(other, operator.__le__)
    -
    -    def __gt__(self, other):
    -        return self._compare(other, operator.__gt__)
    -
    -    def __ge__(self, other):
    -        return self._compare(other, operator.__ge__)
    -
    -    def __eq__(self, other):
    -        return self._compare(other, operator.__eq__)
    -
    -    def __ne__(self, other):
    -        return self._compare(other, operator.__ne__)
    -
    -    def _compare(self, other, method):
    -        if not isinstance(other, self._defining_class):
    -            return NotImplemented
    -
    -        return method(self._compare_key, other._compare_key)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/packaging.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/packaging.py
    deleted file mode 100644
    index 68aa86e..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/packaging.py
    +++ /dev/null
    @@ -1,94 +0,0 @@
    -from __future__ import absolute_import
    -
    -import logging
    -from email.parser import FeedParser
    -
    -from pip._vendor import pkg_resources
    -from pip._vendor.packaging import specifiers, version
    -
    -from pip._internal.exceptions import NoneMetadataError
    -from pip._internal.utils.misc import display_path
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional, Tuple
    -    from email.message import Message
    -    from pip._vendor.pkg_resources import Distribution
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def check_requires_python(requires_python, version_info):
    -    # type: (Optional[str], Tuple[int, ...]) -> bool
    -    """
    -    Check if the given Python version matches a "Requires-Python" specifier.
    -
    -    :param version_info: A 3-tuple of ints representing a Python
    -        major-minor-micro version to check (e.g. `sys.version_info[:3]`).
    -
    -    :return: `True` if the given Python version satisfies the requirement.
    -        Otherwise, return `False`.
    -
    -    :raises InvalidSpecifier: If `requires_python` has an invalid format.
    -    """
    -    if requires_python is None:
    -        # The package provides no information
    -        return True
    -    requires_python_specifier = specifiers.SpecifierSet(requires_python)
    -
    -    python_version = version.parse('.'.join(map(str, version_info)))
    -    return python_version in requires_python_specifier
    -
    -
    -def get_metadata(dist):
    -    # type: (Distribution) -> Message
    -    """
    -    :raises NoneMetadataError: if the distribution reports `has_metadata()`
    -        True but `get_metadata()` returns None.
    -    """
    -    metadata_name = 'METADATA'
    -    if (isinstance(dist, pkg_resources.DistInfoDistribution) and
    -            dist.has_metadata(metadata_name)):
    -        metadata = dist.get_metadata(metadata_name)
    -    elif dist.has_metadata('PKG-INFO'):
    -        metadata_name = 'PKG-INFO'
    -        metadata = dist.get_metadata(metadata_name)
    -    else:
    -        logger.warning("No metadata found in %s", display_path(dist.location))
    -        metadata = ''
    -
    -    if metadata is None:
    -        raise NoneMetadataError(dist, metadata_name)
    -
    -    feed_parser = FeedParser()
    -    # The following line errors out if with a "NoneType" TypeError if
    -    # passed metadata=None.
    -    feed_parser.feed(metadata)
    -    return feed_parser.close()
    -
    -
    -def get_requires_python(dist):
    -    # type: (pkg_resources.Distribution) -> Optional[str]
    -    """
    -    Return the "Requires-Python" metadata for a distribution, or None
    -    if not present.
    -    """
    -    pkg_info_dict = get_metadata(dist)
    -    requires_python = pkg_info_dict.get('Requires-Python')
    -
    -    if requires_python is not None:
    -        # Convert to a str to satisfy the type checker, since requires_python
    -        # can be a Header object.
    -        requires_python = str(requires_python)
    -
    -    return requires_python
    -
    -
    -def get_installer(dist):
    -    # type: (Distribution) -> str
    -    if dist.has_metadata('INSTALLER'):
    -        for line in dist.get_metadata_lines('INSTALLER'):
    -            if line.strip():
    -                return line.strip()
    -    return ''
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/setuptools_build.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/setuptools_build.py
    deleted file mode 100644
    index 12d866e..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/setuptools_build.py
    +++ /dev/null
    @@ -1,47 +0,0 @@
    -import sys
    -
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import List, Sequence
    -
    -# Shim to wrap setup.py invocation with setuptools
    -#
    -# We set sys.argv[0] to the path to the underlying setup.py file so
    -# setuptools / distutils don't take the path to the setup.py to be "-c" when
    -# invoking via the shim.  This avoids e.g. the following manifest_maker
    -# warning: "warning: manifest_maker: standard file '-c' not found".
    -_SETUPTOOLS_SHIM = (
    -    "import sys, setuptools, tokenize; sys.argv[0] = {0!r}; __file__={0!r};"
    -    "f=getattr(tokenize, 'open', open)(__file__);"
    -    "code=f.read().replace('\\r\\n', '\\n');"
    -    "f.close();"
    -    "exec(compile(code, __file__, 'exec'))"
    -)
    -
    -
    -def make_setuptools_shim_args(
    -        setup_py_path,  # type: str
    -        global_options=None,  # type: Sequence[str]
    -        no_user_config=False,  # type: bool
    -        unbuffered_output=False  # type: bool
    -):
    -    # type: (...) -> List[str]
    -    """
    -    Get setuptools command arguments with shim wrapped setup file invocation.
    -
    -    :param setup_py_path: The path to setup.py to be wrapped.
    -    :param global_options: Additional global options.
    -    :param no_user_config: If True, disables personal user configuration.
    -    :param unbuffered_output: If True, adds the unbuffered switch to the
    -     argument list.
    -    """
    -    args = [sys.executable]
    -    if unbuffered_output:
    -        args.append('-u')
    -    args.extend(['-c', _SETUPTOOLS_SHIM.format(setup_py_path)])
    -    if global_options:
    -        args.extend(global_options)
    -    if no_user_config:
    -        args.append('--no-user-cfg')
    -    return args
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/subprocess.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/subprocess.py
    deleted file mode 100644
    index 2a0c5d1..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/subprocess.py
    +++ /dev/null
    @@ -1,278 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import os
    -import subprocess
    -
    -from pip._vendor.six.moves import shlex_quote
    -
    -from pip._internal.exceptions import InstallationError
    -from pip._internal.utils.compat import console_to_str, str_to_display
    -from pip._internal.utils.logging import subprocess_logger
    -from pip._internal.utils.misc import HiddenText, path_to_display
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.ui import open_spinner
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Any, Callable, Iterable, List, Mapping, Optional, Text, Union,
    -    )
    -    from pip._internal.utils.ui import SpinnerInterface
    -
    -    CommandArgs = List[Union[str, HiddenText]]
    -
    -
    -LOG_DIVIDER = '----------------------------------------'
    -
    -
    -def make_command(*args):
    -    # type: (Union[str, HiddenText, CommandArgs]) -> CommandArgs
    -    """
    -    Create a CommandArgs object.
    -    """
    -    command_args = []  # type: CommandArgs
    -    for arg in args:
    -        # Check for list instead of CommandArgs since CommandArgs is
    -        # only known during type-checking.
    -        if isinstance(arg, list):
    -            command_args.extend(arg)
    -        else:
    -            # Otherwise, arg is str or HiddenText.
    -            command_args.append(arg)
    -
    -    return command_args
    -
    -
    -def format_command_args(args):
    -    # type: (Union[List[str], CommandArgs]) -> str
    -    """
    -    Format command arguments for display.
    -    """
    -    # For HiddenText arguments, display the redacted form by calling str().
    -    # Also, we don't apply str() to arguments that aren't HiddenText since
    -    # this can trigger a UnicodeDecodeError in Python 2 if the argument
    -    # has type unicode and includes a non-ascii character.  (The type
    -    # checker doesn't ensure the annotations are correct in all cases.)
    -    return ' '.join(
    -        shlex_quote(str(arg)) if isinstance(arg, HiddenText)
    -        else shlex_quote(arg) for arg in args
    -    )
    -
    -
    -def reveal_command_args(args):
    -    # type: (Union[List[str], CommandArgs]) -> List[str]
    -    """
    -    Return the arguments in their raw, unredacted form.
    -    """
    -    return [
    -        arg.secret if isinstance(arg, HiddenText) else arg for arg in args
    -    ]
    -
    -
    -def make_subprocess_output_error(
    -    cmd_args,     # type: Union[List[str], CommandArgs]
    -    cwd,          # type: Optional[str]
    -    lines,        # type: List[Text]
    -    exit_status,  # type: int
    -):
    -    # type: (...) -> Text
    -    """
    -    Create and return the error message to use to log a subprocess error
    -    with command output.
    -
    -    :param lines: A list of lines, each ending with a newline.
    -    """
    -    command = format_command_args(cmd_args)
    -    # Convert `command` and `cwd` to text (unicode in Python 2) so we can use
    -    # them as arguments in the unicode format string below. This avoids
    -    # "UnicodeDecodeError: 'ascii' codec can't decode byte ..." in Python 2
    -    # if either contains a non-ascii character.
    -    command_display = str_to_display(command, desc='command bytes')
    -    cwd_display = path_to_display(cwd)
    -
    -    # We know the joined output value ends in a newline.
    -    output = ''.join(lines)
    -    msg = (
    -        # Use a unicode string to avoid "UnicodeEncodeError: 'ascii'
    -        # codec can't encode character ..." in Python 2 when a format
    -        # argument (e.g. `output`) has a non-ascii character.
    -        u'Command errored out with exit status {exit_status}:\n'
    -        ' command: {command_display}\n'
    -        '     cwd: {cwd_display}\n'
    -        'Complete output ({line_count} lines):\n{output}{divider}'
    -    ).format(
    -        exit_status=exit_status,
    -        command_display=command_display,
    -        cwd_display=cwd_display,
    -        line_count=len(lines),
    -        output=output,
    -        divider=LOG_DIVIDER,
    -    )
    -    return msg
    -
    -
    -def call_subprocess(
    -    cmd,  # type: Union[List[str], CommandArgs]
    -    show_stdout=False,  # type: bool
    -    cwd=None,  # type: Optional[str]
    -    on_returncode='raise',  # type: str
    -    extra_ok_returncodes=None,  # type: Optional[Iterable[int]]
    -    command_desc=None,  # type: Optional[str]
    -    extra_environ=None,  # type: Optional[Mapping[str, Any]]
    -    unset_environ=None,  # type: Optional[Iterable[str]]
    -    spinner=None,  # type: Optional[SpinnerInterface]
    -    log_failed_cmd=True  # type: Optional[bool]
    -):
    -    # type: (...) -> Text
    -    """
    -    Args:
    -      show_stdout: if true, use INFO to log the subprocess's stderr and
    -        stdout streams.  Otherwise, use DEBUG.  Defaults to False.
    -      extra_ok_returncodes: an iterable of integer return codes that are
    -        acceptable, in addition to 0. Defaults to None, which means [].
    -      unset_environ: an iterable of environment variable names to unset
    -        prior to calling subprocess.Popen().
    -      log_failed_cmd: if false, failed commands are not logged, only raised.
    -    """
    -    if extra_ok_returncodes is None:
    -        extra_ok_returncodes = []
    -    if unset_environ is None:
    -        unset_environ = []
    -    # Most places in pip use show_stdout=False. What this means is--
    -    #
    -    # - We connect the child's output (combined stderr and stdout) to a
    -    #   single pipe, which we read.
    -    # - We log this output to stderr at DEBUG level as it is received.
    -    # - If DEBUG logging isn't enabled (e.g. if --verbose logging wasn't
    -    #   requested), then we show a spinner so the user can still see the
    -    #   subprocess is in progress.
    -    # - If the subprocess exits with an error, we log the output to stderr
    -    #   at ERROR level if it hasn't already been displayed to the console
    -    #   (e.g. if --verbose logging wasn't enabled).  This way we don't log
    -    #   the output to the console twice.
    -    #
    -    # If show_stdout=True, then the above is still done, but with DEBUG
    -    # replaced by INFO.
    -    if show_stdout:
    -        # Then log the subprocess output at INFO level.
    -        log_subprocess = subprocess_logger.info
    -        used_level = logging.INFO
    -    else:
    -        # Then log the subprocess output using DEBUG.  This also ensures
    -        # it will be logged to the log file (aka user_log), if enabled.
    -        log_subprocess = subprocess_logger.debug
    -        used_level = logging.DEBUG
    -
    -    # Whether the subprocess will be visible in the console.
    -    showing_subprocess = subprocess_logger.getEffectiveLevel() <= used_level
    -
    -    # Only use the spinner if we're not showing the subprocess output
    -    # and we have a spinner.
    -    use_spinner = not showing_subprocess and spinner is not None
    -
    -    if command_desc is None:
    -        command_desc = format_command_args(cmd)
    -
    -    log_subprocess("Running command %s", command_desc)
    -    env = os.environ.copy()
    -    if extra_environ:
    -        env.update(extra_environ)
    -    for name in unset_environ:
    -        env.pop(name, None)
    -    try:
    -        proc = subprocess.Popen(
    -            # Convert HiddenText objects to the underlying str.
    -            reveal_command_args(cmd),
    -            stderr=subprocess.STDOUT, stdin=subprocess.PIPE,
    -            stdout=subprocess.PIPE, cwd=cwd, env=env,
    -        )
    -        proc.stdin.close()
    -    except Exception as exc:
    -        if log_failed_cmd:
    -            subprocess_logger.critical(
    -                "Error %s while executing command %s", exc, command_desc,
    -            )
    -        raise
    -    all_output = []
    -    while True:
    -        # The "line" value is a unicode string in Python 2.
    -        line = console_to_str(proc.stdout.readline())
    -        if not line:
    -            break
    -        line = line.rstrip()
    -        all_output.append(line + '\n')
    -
    -        # Show the line immediately.
    -        log_subprocess(line)
    -        # Update the spinner.
    -        if use_spinner:
    -            spinner.spin()
    -    try:
    -        proc.wait()
    -    finally:
    -        if proc.stdout:
    -            proc.stdout.close()
    -    proc_had_error = (
    -        proc.returncode and proc.returncode not in extra_ok_returncodes
    -    )
    -    if use_spinner:
    -        if proc_had_error:
    -            spinner.finish("error")
    -        else:
    -            spinner.finish("done")
    -    if proc_had_error:
    -        if on_returncode == 'raise':
    -            if not showing_subprocess and log_failed_cmd:
    -                # Then the subprocess streams haven't been logged to the
    -                # console yet.
    -                msg = make_subprocess_output_error(
    -                    cmd_args=cmd,
    -                    cwd=cwd,
    -                    lines=all_output,
    -                    exit_status=proc.returncode,
    -                )
    -                subprocess_logger.error(msg)
    -            exc_msg = (
    -                'Command errored out with exit status {}: {} '
    -                'Check the logs for full command output.'
    -            ).format(proc.returncode, command_desc)
    -            raise InstallationError(exc_msg)
    -        elif on_returncode == 'warn':
    -            subprocess_logger.warning(
    -                'Command "%s" had error code %s in %s',
    -                command_desc, proc.returncode, cwd,
    -            )
    -        elif on_returncode == 'ignore':
    -            pass
    -        else:
    -            raise ValueError('Invalid value: on_returncode=%s' %
    -                             repr(on_returncode))
    -    return ''.join(all_output)
    -
    -
    -def runner_with_spinner_message(message):
    -    # type: (str) -> Callable
    -    """Provide a subprocess_runner that shows a spinner message.
    -
    -    Intended for use with for pep517's Pep517HookCaller. Thus, the runner has
    -    an API that matches what's expected by Pep517HookCaller.subprocess_runner.
    -    """
    -
    -    def runner(
    -        cmd,  # type: List[str]
    -        cwd=None,  # type: Optional[str]
    -        extra_environ=None  # type: Optional[Mapping[str, Any]]
    -    ):
    -        # type: (...) -> None
    -        with open_spinner(message) as spinner:
    -            call_subprocess(
    -                cmd,
    -                cwd=cwd,
    -                extra_environ=extra_environ,
    -                spinner=spinner,
    -            )
    -
    -    return runner
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/temp_dir.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/temp_dir.py
    deleted file mode 100644
    index 77d40be..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/temp_dir.py
    +++ /dev/null
    @@ -1,172 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import errno
    -import itertools
    -import logging
    -import os.path
    -import tempfile
    -
    -from pip._internal.utils.misc import rmtree
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class TempDirectory(object):
    -    """Helper class that owns and cleans up a temporary directory.
    -
    -    This class can be used as a context manager or as an OO representation of a
    -    temporary directory.
    -
    -    Attributes:
    -        path
    -            Location to the created temporary directory
    -        delete
    -            Whether the directory should be deleted when exiting
    -            (when used as a contextmanager)
    -
    -    Methods:
    -        cleanup()
    -            Deletes the temporary directory
    -
    -    When used as a context manager, if the delete attribute is True, on
    -    exiting the context the temporary directory is deleted.
    -    """
    -
    -    def __init__(
    -        self,
    -        path=None,    # type: Optional[str]
    -        delete=None,  # type: Optional[bool]
    -        kind="temp"
    -    ):
    -        super(TempDirectory, self).__init__()
    -
    -        if path is None and delete is None:
    -            # If we were not given an explicit directory, and we were not given
    -            # an explicit delete option, then we'll default to deleting.
    -            delete = True
    -
    -        if path is None:
    -            path = self._create(kind)
    -
    -        self._path = path
    -        self._deleted = False
    -        self.delete = delete
    -        self.kind = kind
    -
    -    @property
    -    def path(self):
    -        # type: () -> str
    -        assert not self._deleted, (
    -            "Attempted to access deleted path: {}".format(self._path)
    -        )
    -        return self._path
    -
    -    def __repr__(self):
    -        return "<{} {!r}>".format(self.__class__.__name__, self.path)
    -
    -    def __enter__(self):
    -        return self
    -
    -    def __exit__(self, exc, value, tb):
    -        if self.delete:
    -            self.cleanup()
    -
    -    def _create(self, kind):
    -        """Create a temporary directory and store its path in self.path
    -        """
    -        # We realpath here because some systems have their default tmpdir
    -        # symlinked to another directory.  This tends to confuse build
    -        # scripts, so we canonicalize the path by traversing potential
    -        # symlinks here.
    -        path = os.path.realpath(
    -            tempfile.mkdtemp(prefix="pip-{}-".format(kind))
    -        )
    -        logger.debug("Created temporary directory: {}".format(path))
    -        return path
    -
    -    def cleanup(self):
    -        """Remove the temporary directory created and reset state
    -        """
    -        self._deleted = True
    -        if os.path.exists(self._path):
    -            rmtree(self._path)
    -
    -
    -class AdjacentTempDirectory(TempDirectory):
    -    """Helper class that creates a temporary directory adjacent to a real one.
    -
    -    Attributes:
    -        original
    -            The original directory to create a temp directory for.
    -        path
    -            After calling create() or entering, contains the full
    -            path to the temporary directory.
    -        delete
    -            Whether the directory should be deleted when exiting
    -            (when used as a contextmanager)
    -
    -    """
    -    # The characters that may be used to name the temp directory
    -    # We always prepend a ~ and then rotate through these until
    -    # a usable name is found.
    -    # pkg_resources raises a different error for .dist-info folder
    -    # with leading '-' and invalid metadata
    -    LEADING_CHARS = "-~.=%0123456789"
    -
    -    def __init__(self, original, delete=None):
    -        self.original = original.rstrip('/\\')
    -        super(AdjacentTempDirectory, self).__init__(delete=delete)
    -
    -    @classmethod
    -    def _generate_names(cls, name):
    -        """Generates a series of temporary names.
    -
    -        The algorithm replaces the leading characters in the name
    -        with ones that are valid filesystem characters, but are not
    -        valid package names (for both Python and pip definitions of
    -        package).
    -        """
    -        for i in range(1, len(name)):
    -            for candidate in itertools.combinations_with_replacement(
    -                    cls.LEADING_CHARS, i - 1):
    -                new_name = '~' + ''.join(candidate) + name[i:]
    -                if new_name != name:
    -                    yield new_name
    -
    -        # If we make it this far, we will have to make a longer name
    -        for i in range(len(cls.LEADING_CHARS)):
    -            for candidate in itertools.combinations_with_replacement(
    -                    cls.LEADING_CHARS, i):
    -                new_name = '~' + ''.join(candidate) + name
    -                if new_name != name:
    -                    yield new_name
    -
    -    def _create(self, kind):
    -        root, name = os.path.split(self.original)
    -        for candidate in self._generate_names(name):
    -            path = os.path.join(root, candidate)
    -            try:
    -                os.mkdir(path)
    -            except OSError as ex:
    -                # Continue if the name exists already
    -                if ex.errno != errno.EEXIST:
    -                    raise
    -            else:
    -                path = os.path.realpath(path)
    -                break
    -        else:
    -            # Final fallback on the default behavior.
    -            path = os.path.realpath(
    -                tempfile.mkdtemp(prefix="pip-{}-".format(kind))
    -            )
    -
    -        logger.debug("Created temporary directory: {}".format(path))
    -        return path
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/typing.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/typing.py
    deleted file mode 100644
    index 10170ce..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/typing.py
    +++ /dev/null
    @@ -1,29 +0,0 @@
    -"""For neatly implementing static typing in pip.
    -
    -`mypy` - the static type analysis tool we use - uses the `typing` module, which
    -provides core functionality fundamental to mypy's functioning.
    -
    -Generally, `typing` would be imported at runtime and used in that fashion -
    -it acts as a no-op at runtime and does not have any run-time overhead by
    -design.
    -
    -As it turns out, `typing` is not vendorable - it uses separate sources for
    -Python 2/Python 3. Thus, this codebase can not expect it to be present.
    -To work around this, mypy allows the typing import to be behind a False-y
    -optional to prevent it from running at runtime and type-comments can be used
    -to remove the need for the types to be accessible directly during runtime.
    -
    -This module provides the False-y guard in a nicely named fashion so that a
    -curious maintainer can reach here to read this.
    -
    -In pip, all static-typing related imports should be guarded as follows:
    -
    -    from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -    if MYPY_CHECK_RUNNING:
    -        from typing import ...
    -
    -Ref: https://github.com/python/mypy/issues/3216
    -"""
    -
    -MYPY_CHECK_RUNNING = False
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/ui.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/ui.py
    deleted file mode 100644
    index f96ab54..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/ui.py
    +++ /dev/null
    @@ -1,428 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import, division
    -
    -import contextlib
    -import itertools
    -import logging
    -import sys
    -import time
    -from signal import SIGINT, default_int_handler, signal
    -
    -from pip._vendor import six
    -from pip._vendor.progress import HIDE_CURSOR, SHOW_CURSOR
    -from pip._vendor.progress.bar import Bar, FillingCirclesBar, IncrementalBar
    -from pip._vendor.progress.spinner import Spinner
    -
    -from pip._internal.utils.compat import WINDOWS
    -from pip._internal.utils.logging import get_indentation
    -from pip._internal.utils.misc import format_size
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Any, Iterator, IO
    -
    -try:
    -    from pip._vendor import colorama
    -# Lots of different errors can come from this, including SystemError and
    -# ImportError.
    -except Exception:
    -    colorama = None
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def _select_progress_class(preferred, fallback):
    -    encoding = getattr(preferred.file, "encoding", None)
    -
    -    # If we don't know what encoding this file is in, then we'll just assume
    -    # that it doesn't support unicode and use the ASCII bar.
    -    if not encoding:
    -        return fallback
    -
    -    # Collect all of the possible characters we want to use with the preferred
    -    # bar.
    -    characters = [
    -        getattr(preferred, "empty_fill", six.text_type()),
    -        getattr(preferred, "fill", six.text_type()),
    -    ]
    -    characters += list(getattr(preferred, "phases", []))
    -
    -    # Try to decode the characters we're using for the bar using the encoding
    -    # of the given file, if this works then we'll assume that we can use the
    -    # fancier bar and if not we'll fall back to the plaintext bar.
    -    try:
    -        six.text_type().join(characters).encode(encoding)
    -    except UnicodeEncodeError:
    -        return fallback
    -    else:
    -        return preferred
    -
    -
    -_BaseBar = _select_progress_class(IncrementalBar, Bar)  # type: Any
    -
    -
    -class InterruptibleMixin(object):
    -    """
    -    Helper to ensure that self.finish() gets called on keyboard interrupt.
    -
    -    This allows downloads to be interrupted without leaving temporary state
    -    (like hidden cursors) behind.
    -
    -    This class is similar to the progress library's existing SigIntMixin
    -    helper, but as of version 1.2, that helper has the following problems:
    -
    -    1. It calls sys.exit().
    -    2. It discards the existing SIGINT handler completely.
    -    3. It leaves its own handler in place even after an uninterrupted finish,
    -       which will have unexpected delayed effects if the user triggers an
    -       unrelated keyboard interrupt some time after a progress-displaying
    -       download has already completed, for example.
    -    """
    -
    -    def __init__(self, *args, **kwargs):
    -        """
    -        Save the original SIGINT handler for later.
    -        """
    -        super(InterruptibleMixin, self).__init__(*args, **kwargs)
    -
    -        self.original_handler = signal(SIGINT, self.handle_sigint)
    -
    -        # If signal() returns None, the previous handler was not installed from
    -        # Python, and we cannot restore it. This probably should not happen,
    -        # but if it does, we must restore something sensible instead, at least.
    -        # The least bad option should be Python's default SIGINT handler, which
    -        # just raises KeyboardInterrupt.
    -        if self.original_handler is None:
    -            self.original_handler = default_int_handler
    -
    -    def finish(self):
    -        """
    -        Restore the original SIGINT handler after finishing.
    -
    -        This should happen regardless of whether the progress display finishes
    -        normally, or gets interrupted.
    -        """
    -        super(InterruptibleMixin, self).finish()
    -        signal(SIGINT, self.original_handler)
    -
    -    def handle_sigint(self, signum, frame):
    -        """
    -        Call self.finish() before delegating to the original SIGINT handler.
    -
    -        This handler should only be in place while the progress display is
    -        active.
    -        """
    -        self.finish()
    -        self.original_handler(signum, frame)
    -
    -
    -class SilentBar(Bar):
    -
    -    def update(self):
    -        pass
    -
    -
    -class BlueEmojiBar(IncrementalBar):
    -
    -    suffix = "%(percent)d%%"
    -    bar_prefix = " "
    -    bar_suffix = " "
    -    phases = (u"\U0001F539", u"\U0001F537", u"\U0001F535")  # type: Any
    -
    -
    -class DownloadProgressMixin(object):
    -
    -    def __init__(self, *args, **kwargs):
    -        super(DownloadProgressMixin, self).__init__(*args, **kwargs)
    -        self.message = (" " * (get_indentation() + 2)) + self.message
    -
    -    @property
    -    def downloaded(self):
    -        return format_size(self.index)
    -
    -    @property
    -    def download_speed(self):
    -        # Avoid zero division errors...
    -        if self.avg == 0.0:
    -            return "..."
    -        return format_size(1 / self.avg) + "/s"
    -
    -    @property
    -    def pretty_eta(self):
    -        if self.eta:
    -            return "eta %s" % self.eta_td
    -        return ""
    -
    -    def iter(self, it, n=1):
    -        for x in it:
    -            yield x
    -            self.next(n)
    -        self.finish()
    -
    -
    -class WindowsMixin(object):
    -
    -    def __init__(self, *args, **kwargs):
    -        # The Windows terminal does not support the hide/show cursor ANSI codes
    -        # even with colorama. So we'll ensure that hide_cursor is False on
    -        # Windows.
    -        # This call needs to go before the super() call, so that hide_cursor
    -        # is set in time. The base progress bar class writes the "hide cursor"
    -        # code to the terminal in its init, so if we don't set this soon
    -        # enough, we get a "hide" with no corresponding "show"...
    -        if WINDOWS and self.hide_cursor:
    -            self.hide_cursor = False
    -
    -        super(WindowsMixin, self).__init__(*args, **kwargs)
    -
    -        # Check if we are running on Windows and we have the colorama module,
    -        # if we do then wrap our file with it.
    -        if WINDOWS and colorama:
    -            self.file = colorama.AnsiToWin32(self.file)
    -            # The progress code expects to be able to call self.file.isatty()
    -            # but the colorama.AnsiToWin32() object doesn't have that, so we'll
    -            # add it.
    -            self.file.isatty = lambda: self.file.wrapped.isatty()
    -            # The progress code expects to be able to call self.file.flush()
    -            # but the colorama.AnsiToWin32() object doesn't have that, so we'll
    -            # add it.
    -            self.file.flush = lambda: self.file.wrapped.flush()
    -
    -
    -class BaseDownloadProgressBar(WindowsMixin, InterruptibleMixin,
    -                              DownloadProgressMixin):
    -
    -    file = sys.stdout
    -    message = "%(percent)d%%"
    -    suffix = "%(downloaded)s %(download_speed)s %(pretty_eta)s"
    -
    -# NOTE: The "type: ignore" comments on the following classes are there to
    -#       work around https://github.com/python/typing/issues/241
    -
    -
    -class DefaultDownloadProgressBar(BaseDownloadProgressBar,
    -                                 _BaseBar):
    -    pass
    -
    -
    -class DownloadSilentBar(BaseDownloadProgressBar, SilentBar):  # type: ignore
    -    pass
    -
    -
    -class DownloadBar(BaseDownloadProgressBar,  # type: ignore
    -                  Bar):
    -    pass
    -
    -
    -class DownloadFillingCirclesBar(BaseDownloadProgressBar,  # type: ignore
    -                                FillingCirclesBar):
    -    pass
    -
    -
    -class DownloadBlueEmojiProgressBar(BaseDownloadProgressBar,  # type: ignore
    -                                   BlueEmojiBar):
    -    pass
    -
    -
    -class DownloadProgressSpinner(WindowsMixin, InterruptibleMixin,
    -                              DownloadProgressMixin, Spinner):
    -
    -    file = sys.stdout
    -    suffix = "%(downloaded)s %(download_speed)s"
    -
    -    def next_phase(self):
    -        if not hasattr(self, "_phaser"):
    -            self._phaser = itertools.cycle(self.phases)
    -        return next(self._phaser)
    -
    -    def update(self):
    -        message = self.message % self
    -        phase = self.next_phase()
    -        suffix = self.suffix % self
    -        line = ''.join([
    -            message,
    -            " " if message else "",
    -            phase,
    -            " " if suffix else "",
    -            suffix,
    -        ])
    -
    -        self.writeln(line)
    -
    -
    -BAR_TYPES = {
    -    "off": (DownloadSilentBar, DownloadSilentBar),
    -    "on": (DefaultDownloadProgressBar, DownloadProgressSpinner),
    -    "ascii": (DownloadBar, DownloadProgressSpinner),
    -    "pretty": (DownloadFillingCirclesBar, DownloadProgressSpinner),
    -    "emoji": (DownloadBlueEmojiProgressBar, DownloadProgressSpinner)
    -}
    -
    -
    -def DownloadProgressProvider(progress_bar, max=None):
    -    if max is None or max == 0:
    -        return BAR_TYPES[progress_bar][1]().iter
    -    else:
    -        return BAR_TYPES[progress_bar][0](max=max).iter
    -
    -
    -################################################################
    -# Generic "something is happening" spinners
    -#
    -# We don't even try using progress.spinner.Spinner here because it's actually
    -# simpler to reimplement from scratch than to coerce their code into doing
    -# what we need.
    -################################################################
    -
    -@contextlib.contextmanager
    -def hidden_cursor(file):
    -    # type: (IO) -> Iterator[None]
    -    # The Windows terminal does not support the hide/show cursor ANSI codes,
    -    # even via colorama. So don't even try.
    -    if WINDOWS:
    -        yield
    -    # We don't want to clutter the output with control characters if we're
    -    # writing to a file, or if the user is running with --quiet.
    -    # See https://github.com/pypa/pip/issues/3418
    -    elif not file.isatty() or logger.getEffectiveLevel() > logging.INFO:
    -        yield
    -    else:
    -        file.write(HIDE_CURSOR)
    -        try:
    -            yield
    -        finally:
    -            file.write(SHOW_CURSOR)
    -
    -
    -class RateLimiter(object):
    -    def __init__(self, min_update_interval_seconds):
    -        # type: (float) -> None
    -        self._min_update_interval_seconds = min_update_interval_seconds
    -        self._last_update = 0  # type: float
    -
    -    def ready(self):
    -        # type: () -> bool
    -        now = time.time()
    -        delta = now - self._last_update
    -        return delta >= self._min_update_interval_seconds
    -
    -    def reset(self):
    -        # type: () -> None
    -        self._last_update = time.time()
    -
    -
    -class SpinnerInterface(object):
    -    def spin(self):
    -        # type: () -> None
    -        raise NotImplementedError()
    -
    -    def finish(self, final_status):
    -        # type: (str) -> None
    -        raise NotImplementedError()
    -
    -
    -class InteractiveSpinner(SpinnerInterface):
    -    def __init__(self, message, file=None, spin_chars="-\\|/",
    -                 # Empirically, 8 updates/second looks nice
    -                 min_update_interval_seconds=0.125):
    -        self._message = message
    -        if file is None:
    -            file = sys.stdout
    -        self._file = file
    -        self._rate_limiter = RateLimiter(min_update_interval_seconds)
    -        self._finished = False
    -
    -        self._spin_cycle = itertools.cycle(spin_chars)
    -
    -        self._file.write(" " * get_indentation() + self._message + " ... ")
    -        self._width = 0
    -
    -    def _write(self, status):
    -        assert not self._finished
    -        # Erase what we wrote before by backspacing to the beginning, writing
    -        # spaces to overwrite the old text, and then backspacing again
    -        backup = "\b" * self._width
    -        self._file.write(backup + " " * self._width + backup)
    -        # Now we have a blank slate to add our status
    -        self._file.write(status)
    -        self._width = len(status)
    -        self._file.flush()
    -        self._rate_limiter.reset()
    -
    -    def spin(self):
    -        # type: () -> None
    -        if self._finished:
    -            return
    -        if not self._rate_limiter.ready():
    -            return
    -        self._write(next(self._spin_cycle))
    -
    -    def finish(self, final_status):
    -        # type: (str) -> None
    -        if self._finished:
    -            return
    -        self._write(final_status)
    -        self._file.write("\n")
    -        self._file.flush()
    -        self._finished = True
    -
    -
    -# Used for dumb terminals, non-interactive installs (no tty), etc.
    -# We still print updates occasionally (once every 60 seconds by default) to
    -# act as a keep-alive for systems like Travis-CI that take lack-of-output as
    -# an indication that a task has frozen.
    -class NonInteractiveSpinner(SpinnerInterface):
    -    def __init__(self, message, min_update_interval_seconds=60):
    -        # type: (str, float) -> None
    -        self._message = message
    -        self._finished = False
    -        self._rate_limiter = RateLimiter(min_update_interval_seconds)
    -        self._update("started")
    -
    -    def _update(self, status):
    -        assert not self._finished
    -        self._rate_limiter.reset()
    -        logger.info("%s: %s", self._message, status)
    -
    -    def spin(self):
    -        # type: () -> None
    -        if self._finished:
    -            return
    -        if not self._rate_limiter.ready():
    -            return
    -        self._update("still running...")
    -
    -    def finish(self, final_status):
    -        # type: (str) -> None
    -        if self._finished:
    -            return
    -        self._update("finished with status '%s'" % (final_status,))
    -        self._finished = True
    -
    -
    -@contextlib.contextmanager
    -def open_spinner(message):
    -    # type: (str) -> Iterator[SpinnerInterface]
    -    # Interactive spinner goes directly to sys.stdout rather than being routed
    -    # through the logging system, but it acts like it has level INFO,
    -    # i.e. it's only displayed if we're at level INFO or better.
    -    # Non-interactive spinner goes through the logging system, so it is always
    -    # in sync with logging configuration.
    -    if sys.stdout.isatty() and logger.getEffectiveLevel() <= logging.INFO:
    -        spinner = InteractiveSpinner(message)  # type: SpinnerInterface
    -    else:
    -        spinner = NonInteractiveSpinner(message)
    -    try:
    -        with hidden_cursor(sys.stdout):
    -            yield spinner
    -    except KeyboardInterrupt:
    -        spinner.finish("canceled")
    -        raise
    -    except Exception:
    -        spinner.finish("error")
    -        raise
    -    else:
    -        spinner.finish("done")
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/unpacking.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/unpacking.py
    deleted file mode 100644
    index 7252dc2..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/unpacking.py
    +++ /dev/null
    @@ -1,272 +0,0 @@
    -"""Utilities related archives.
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import os
    -import shutil
    -import stat
    -import tarfile
    -import zipfile
    -
    -from pip._internal.exceptions import InstallationError
    -from pip._internal.utils.filetypes import (
    -    BZ2_EXTENSIONS,
    -    TAR_EXTENSIONS,
    -    XZ_EXTENSIONS,
    -    ZIP_EXTENSIONS,
    -)
    -from pip._internal.utils.misc import ensure_dir
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Iterable, List, Optional, Text, Union
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -SUPPORTED_EXTENSIONS = ZIP_EXTENSIONS + TAR_EXTENSIONS
    -
    -try:
    -    import bz2  # noqa
    -    SUPPORTED_EXTENSIONS += BZ2_EXTENSIONS
    -except ImportError:
    -    logger.debug('bz2 module is not available')
    -
    -try:
    -    # Only for Python 3.3+
    -    import lzma  # noqa
    -    SUPPORTED_EXTENSIONS += XZ_EXTENSIONS
    -except ImportError:
    -    logger.debug('lzma module is not available')
    -
    -
    -def current_umask():
    -    """Get the current umask which involves having to set it temporarily."""
    -    mask = os.umask(0)
    -    os.umask(mask)
    -    return mask
    -
    -
    -def split_leading_dir(path):
    -    # type: (Union[str, Text]) -> List[Union[str, Text]]
    -    path = path.lstrip('/').lstrip('\\')
    -    if (
    -        '/' in path and (
    -            ('\\' in path and path.find('/') < path.find('\\')) or
    -            '\\' not in path
    -        )
    -    ):
    -        return path.split('/', 1)
    -    elif '\\' in path:
    -        return path.split('\\', 1)
    -    else:
    -        return [path, '']
    -
    -
    -def has_leading_dir(paths):
    -    # type: (Iterable[Union[str, Text]]) -> bool
    -    """Returns true if all the paths have the same leading path name
    -    (i.e., everything is in one subdirectory in an archive)"""
    -    common_prefix = None
    -    for path in paths:
    -        prefix, rest = split_leading_dir(path)
    -        if not prefix:
    -            return False
    -        elif common_prefix is None:
    -            common_prefix = prefix
    -        elif prefix != common_prefix:
    -            return False
    -    return True
    -
    -
    -def is_within_directory(directory, target):
    -    # type: ((Union[str, Text]), (Union[str, Text])) -> bool
    -    """
    -    Return true if the absolute path of target is within the directory
    -    """
    -    abs_directory = os.path.abspath(directory)
    -    abs_target = os.path.abspath(target)
    -
    -    prefix = os.path.commonprefix([abs_directory, abs_target])
    -    return prefix == abs_directory
    -
    -
    -def unzip_file(filename, location, flatten=True):
    -    # type: (str, str, bool) -> None
    -    """
    -    Unzip the file (with path `filename`) to the destination `location`.  All
    -    files are written based on system defaults and umask (i.e. permissions are
    -    not preserved), except that regular file members with any execute
    -    permissions (user, group, or world) have "chmod +x" applied after being
    -    written. Note that for windows, any execute changes using os.chmod are
    -    no-ops per the python docs.
    -    """
    -    ensure_dir(location)
    -    zipfp = open(filename, 'rb')
    -    try:
    -        zip = zipfile.ZipFile(zipfp, allowZip64=True)
    -        leading = has_leading_dir(zip.namelist()) and flatten
    -        for info in zip.infolist():
    -            name = info.filename
    -            fn = name
    -            if leading:
    -                fn = split_leading_dir(name)[1]
    -            fn = os.path.join(location, fn)
    -            dir = os.path.dirname(fn)
    -            if not is_within_directory(location, fn):
    -                message = (
    -                    'The zip file ({}) has a file ({}) trying to install '
    -                    'outside target directory ({})'
    -                )
    -                raise InstallationError(message.format(filename, fn, location))
    -            if fn.endswith('/') or fn.endswith('\\'):
    -                # A directory
    -                ensure_dir(fn)
    -            else:
    -                ensure_dir(dir)
    -                # Don't use read() to avoid allocating an arbitrarily large
    -                # chunk of memory for the file's content
    -                fp = zip.open(name)
    -                try:
    -                    with open(fn, 'wb') as destfp:
    -                        shutil.copyfileobj(fp, destfp)
    -                finally:
    -                    fp.close()
    -                    mode = info.external_attr >> 16
    -                    # if mode and regular file and any execute permissions for
    -                    # user/group/world?
    -                    if mode and stat.S_ISREG(mode) and mode & 0o111:
    -                        # make dest file have execute for user/group/world
    -                        # (chmod +x) no-op on windows per python docs
    -                        os.chmod(fn, (0o777 - current_umask() | 0o111))
    -    finally:
    -        zipfp.close()
    -
    -
    -def untar_file(filename, location):
    -    # type: (str, str) -> None
    -    """
    -    Untar the file (with path `filename`) to the destination `location`.
    -    All files are written based on system defaults and umask (i.e. permissions
    -    are not preserved), except that regular file members with any execute
    -    permissions (user, group, or world) have "chmod +x" applied after being
    -    written.  Note that for windows, any execute changes using os.chmod are
    -    no-ops per the python docs.
    -    """
    -    ensure_dir(location)
    -    if filename.lower().endswith('.gz') or filename.lower().endswith('.tgz'):
    -        mode = 'r:gz'
    -    elif filename.lower().endswith(BZ2_EXTENSIONS):
    -        mode = 'r:bz2'
    -    elif filename.lower().endswith(XZ_EXTENSIONS):
    -        mode = 'r:xz'
    -    elif filename.lower().endswith('.tar'):
    -        mode = 'r'
    -    else:
    -        logger.warning(
    -            'Cannot determine compression type for file %s', filename,
    -        )
    -        mode = 'r:*'
    -    tar = tarfile.open(filename, mode)
    -    try:
    -        leading = has_leading_dir([
    -            member.name for member in tar.getmembers()
    -        ])
    -        for member in tar.getmembers():
    -            fn = member.name
    -            if leading:
    -                # https://github.com/python/mypy/issues/1174
    -                fn = split_leading_dir(fn)[1]  # type: ignore
    -            path = os.path.join(location, fn)
    -            if not is_within_directory(location, path):
    -                message = (
    -                    'The tar file ({}) has a file ({}) trying to install '
    -                    'outside target directory ({})'
    -                )
    -                raise InstallationError(
    -                    message.format(filename, path, location)
    -                )
    -            if member.isdir():
    -                ensure_dir(path)
    -            elif member.issym():
    -                try:
    -                    # https://github.com/python/typeshed/issues/2673
    -                    tar._extract_member(member, path)  # type: ignore
    -                except Exception as exc:
    -                    # Some corrupt tar files seem to produce this
    -                    # (specifically bad symlinks)
    -                    logger.warning(
    -                        'In the tar file %s the member %s is invalid: %s',
    -                        filename, member.name, exc,
    -                    )
    -                    continue
    -            else:
    -                try:
    -                    fp = tar.extractfile(member)
    -                except (KeyError, AttributeError) as exc:
    -                    # Some corrupt tar files seem to produce this
    -                    # (specifically bad symlinks)
    -                    logger.warning(
    -                        'In the tar file %s the member %s is invalid: %s',
    -                        filename, member.name, exc,
    -                    )
    -                    continue
    -                ensure_dir(os.path.dirname(path))
    -                with open(path, 'wb') as destfp:
    -                    shutil.copyfileobj(fp, destfp)
    -                fp.close()
    -                # Update the timestamp (useful for cython compiled files)
    -                # https://github.com/python/typeshed/issues/2673
    -                tar.utime(member, path)  # type: ignore
    -                # member have any execute permissions for user/group/world?
    -                if member.mode & 0o111:
    -                    # make dest file have execute for user/group/world
    -                    # no-op on windows per python docs
    -                    os.chmod(path, (0o777 - current_umask() | 0o111))
    -    finally:
    -        tar.close()
    -
    -
    -def unpack_file(
    -        filename,  # type: str
    -        location,  # type: str
    -        content_type=None,  # type: Optional[str]
    -):
    -    # type: (...) -> None
    -    filename = os.path.realpath(filename)
    -    if (
    -        content_type == 'application/zip' or
    -        filename.lower().endswith(ZIP_EXTENSIONS) or
    -        zipfile.is_zipfile(filename)
    -    ):
    -        unzip_file(
    -            filename,
    -            location,
    -            flatten=not filename.endswith('.whl')
    -        )
    -    elif (
    -        content_type == 'application/x-gzip' or
    -        tarfile.is_tarfile(filename) or
    -        filename.lower().endswith(
    -            TAR_EXTENSIONS + BZ2_EXTENSIONS + XZ_EXTENSIONS
    -        )
    -    ):
    -        untar_file(filename, location)
    -    else:
    -        # FIXME: handle?
    -        # FIXME: magic signatures?
    -        logger.critical(
    -            'Cannot unpack file %s (downloaded from %s, content-type: %s); '
    -            'cannot detect archive format',
    -            filename, location, content_type,
    -        )
    -        raise InstallationError(
    -            'Cannot determine archive format of {}'.format(location)
    -        )
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/urls.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/urls.py
    deleted file mode 100644
    index 9ad40fe..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/urls.py
    +++ /dev/null
    @@ -1,54 +0,0 @@
    -import os
    -import sys
    -
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -from pip._vendor.six.moves.urllib import request as urllib_request
    -
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional, Text, Union
    -
    -
    -def get_url_scheme(url):
    -    # type: (Union[str, Text]) -> Optional[Text]
    -    if ':' not in url:
    -        return None
    -    return url.split(':', 1)[0].lower()
    -
    -
    -def path_to_url(path):
    -    # type: (Union[str, Text]) -> str
    -    """
    -    Convert a path to a file: URL.  The path will be made absolute and have
    -    quoted path parts.
    -    """
    -    path = os.path.normpath(os.path.abspath(path))
    -    url = urllib_parse.urljoin('file:', urllib_request.pathname2url(path))
    -    return url
    -
    -
    -def url_to_path(url):
    -    # type: (str) -> str
    -    """
    -    Convert a file: URL to a path.
    -    """
    -    assert url.startswith('file:'), (
    -        "You can only turn file: urls into filenames (not %r)" % url)
    -
    -    _, netloc, path, _, _ = urllib_parse.urlsplit(url)
    -
    -    if not netloc or netloc == 'localhost':
    -        # According to RFC 8089, same as empty authority.
    -        netloc = ''
    -    elif sys.platform == 'win32':
    -        # If we have a UNC path, prepend UNC share notation.
    -        netloc = '\\\\' + netloc
    -    else:
    -        raise ValueError(
    -            'non-local file URIs are not supported on this platform: %r'
    -            % url
    -        )
    -
    -    path = urllib_request.url2pathname(netloc + path)
    -    return path
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/virtualenv.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/virtualenv.py
    deleted file mode 100644
    index 380db1c..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/utils/virtualenv.py
    +++ /dev/null
    @@ -1,34 +0,0 @@
    -import os.path
    -import site
    -import sys
    -
    -
    -def running_under_virtualenv():
    -    # type: () -> bool
    -    """
    -    Return True if we're running inside a virtualenv, False otherwise.
    -
    -    """
    -    if hasattr(sys, 'real_prefix'):
    -        # pypa/virtualenv case
    -        return True
    -    elif sys.prefix != getattr(sys, "base_prefix", sys.prefix):
    -        # PEP 405 venv
    -        return True
    -
    -    return False
    -
    -
    -def virtualenv_no_global():
    -    # type: () -> bool
    -    """
    -    Return True if in a venv and no system site packages.
    -    """
    -    # this mirrors the logic in virtualenv.py for locating the
    -    # no-global-site-packages.txt file
    -    site_mod_dir = os.path.dirname(os.path.abspath(site.__file__))
    -    no_global_file = os.path.join(site_mod_dir, 'no-global-site-packages.txt')
    -    if running_under_virtualenv() and os.path.isfile(no_global_file):
    -        return True
    -    else:
    -        return False
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/__init__.py
    deleted file mode 100644
    index 2a4eb13..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/__init__.py
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -# Expose a limited set of classes and functions so callers outside of
    -# the vcs package don't need to import deeper than `pip._internal.vcs`.
    -# (The test directory and imports protected by MYPY_CHECK_RUNNING may
    -# still need to import from a vcs sub-package.)
    -# Import all vcs modules to register each VCS in the VcsSupport object.
    -import pip._internal.vcs.bazaar
    -import pip._internal.vcs.git
    -import pip._internal.vcs.mercurial
    -import pip._internal.vcs.subversion  # noqa: F401
    -from pip._internal.vcs.versioncontrol import (  # noqa: F401
    -    RemoteNotFoundError,
    -    is_url,
    -    make_vcs_requirement_url,
    -    vcs,
    -)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/bazaar.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/bazaar.py
    deleted file mode 100644
    index 347c06f..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/bazaar.py
    +++ /dev/null
    @@ -1,120 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import os
    -
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -
    -from pip._internal.utils.misc import display_path, rmtree
    -from pip._internal.utils.subprocess import make_command
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.urls import path_to_url
    -from pip._internal.vcs.versioncontrol import VersionControl, vcs
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional, Tuple
    -    from pip._internal.utils.misc import HiddenText
    -    from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class Bazaar(VersionControl):
    -    name = 'bzr'
    -    dirname = '.bzr'
    -    repo_name = 'branch'
    -    schemes = (
    -        'bzr', 'bzr+http', 'bzr+https', 'bzr+ssh', 'bzr+sftp', 'bzr+ftp',
    -        'bzr+lp',
    -    )
    -
    -    def __init__(self, *args, **kwargs):
    -        super(Bazaar, self).__init__(*args, **kwargs)
    -        # This is only needed for python <2.7.5
    -        # Register lp but do not expose as a scheme to support bzr+lp.
    -        if getattr(urllib_parse, 'uses_fragment', None):
    -            urllib_parse.uses_fragment.extend(['lp'])
    -
    -    @staticmethod
    -    def get_base_rev_args(rev):
    -        return ['-r', rev]
    -
    -    def export(self, location, url):
    -        # type: (str, HiddenText) -> None
    -        """
    -        Export the Bazaar repository at the url to the destination location
    -        """
    -        # Remove the location to make sure Bazaar can export it correctly
    -        if os.path.exists(location):
    -            rmtree(location)
    -
    -        url, rev_options = self.get_url_rev_options(url)
    -        self.run_command(
    -            make_command('export', location, url, rev_options.to_args()),
    -            show_stdout=False,
    -        )
    -
    -    def fetch_new(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        rev_display = rev_options.to_display()
    -        logger.info(
    -            'Checking out %s%s to %s',
    -            url,
    -            rev_display,
    -            display_path(dest),
    -        )
    -        cmd_args = (
    -            make_command('branch', '-q', rev_options.to_args(), url, dest)
    -        )
    -        self.run_command(cmd_args)
    -
    -    def switch(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        self.run_command(make_command('switch', url), cwd=dest)
    -
    -    def update(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        cmd_args = make_command('pull', '-q', rev_options.to_args())
    -        self.run_command(cmd_args, cwd=dest)
    -
    -    @classmethod
    -    def get_url_rev_and_auth(cls, url):
    -        # type: (str) -> Tuple[str, Optional[str], AuthInfo]
    -        # hotfix the URL scheme after removing bzr+ from bzr+ssh:// readd it
    -        url, rev, user_pass = super(Bazaar, cls).get_url_rev_and_auth(url)
    -        if url.startswith('ssh://'):
    -            url = 'bzr+' + url
    -        return url, rev, user_pass
    -
    -    @classmethod
    -    def get_remote_url(cls, location):
    -        urls = cls.run_command(['info'], show_stdout=False, cwd=location)
    -        for line in urls.splitlines():
    -            line = line.strip()
    -            for x in ('checkout of branch: ',
    -                      'parent branch: '):
    -                if line.startswith(x):
    -                    repo = line.split(x)[1]
    -                    if cls._is_local_repository(repo):
    -                        return path_to_url(repo)
    -                    return repo
    -        return None
    -
    -    @classmethod
    -    def get_revision(cls, location):
    -        revision = cls.run_command(
    -            ['revno'], show_stdout=False, cwd=location,
    -        )
    -        return revision.splitlines()[-1]
    -
    -    @classmethod
    -    def is_commit_id_equal(cls, dest, name):
    -        """Always assume the versions don't match"""
    -        return False
    -
    -
    -vcs.register(Bazaar)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/git.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/git.py
    deleted file mode 100644
    index 92b8457..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/git.py
    +++ /dev/null
    @@ -1,372 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import os.path
    -import re
    -
    -from pip._vendor.packaging.version import parse as parse_version
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -from pip._vendor.six.moves.urllib import request as urllib_request
    -
    -from pip._internal.exceptions import BadCommand
    -from pip._internal.utils.misc import display_path
    -from pip._internal.utils.subprocess import make_command
    -from pip._internal.utils.temp_dir import TempDirectory
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.vcs.versioncontrol import (
    -    RemoteNotFoundError,
    -    VersionControl,
    -    find_path_to_setup_from_repo_root,
    -    vcs,
    -)
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional, Tuple
    -    from pip._internal.utils.misc import HiddenText
    -    from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions
    -
    -
    -urlsplit = urllib_parse.urlsplit
    -urlunsplit = urllib_parse.urlunsplit
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -HASH_REGEX = re.compile('^[a-fA-F0-9]{40}$')
    -
    -
    -def looks_like_hash(sha):
    -    return bool(HASH_REGEX.match(sha))
    -
    -
    -class Git(VersionControl):
    -    name = 'git'
    -    dirname = '.git'
    -    repo_name = 'clone'
    -    schemes = (
    -        'git', 'git+http', 'git+https', 'git+ssh', 'git+git', 'git+file',
    -    )
    -    # Prevent the user's environment variables from interfering with pip:
    -    # https://github.com/pypa/pip/issues/1130
    -    unset_environ = ('GIT_DIR', 'GIT_WORK_TREE')
    -    default_arg_rev = 'HEAD'
    -
    -    @staticmethod
    -    def get_base_rev_args(rev):
    -        return [rev]
    -
    -    def get_git_version(self):
    -        VERSION_PFX = 'git version '
    -        version = self.run_command(['version'], show_stdout=False)
    -        if version.startswith(VERSION_PFX):
    -            version = version[len(VERSION_PFX):].split()[0]
    -        else:
    -            version = ''
    -        # get first 3 positions of the git version because
    -        # on windows it is x.y.z.windows.t, and this parses as
    -        # LegacyVersion which always smaller than a Version.
    -        version = '.'.join(version.split('.')[:3])
    -        return parse_version(version)
    -
    -    @classmethod
    -    def get_current_branch(cls, location):
    -        """
    -        Return the current branch, or None if HEAD isn't at a branch
    -        (e.g. detached HEAD).
    -        """
    -        # git-symbolic-ref exits with empty stdout if "HEAD" is a detached
    -        # HEAD rather than a symbolic ref.  In addition, the -q causes the
    -        # command to exit with status code 1 instead of 128 in this case
    -        # and to suppress the message to stderr.
    -        args = ['symbolic-ref', '-q', 'HEAD']
    -        output = cls.run_command(
    -            args, extra_ok_returncodes=(1, ), show_stdout=False, cwd=location,
    -        )
    -        ref = output.strip()
    -
    -        if ref.startswith('refs/heads/'):
    -            return ref[len('refs/heads/'):]
    -
    -        return None
    -
    -    def export(self, location, url):
    -        # type: (str, HiddenText) -> None
    -        """Export the Git repository at the url to the destination location"""
    -        if not location.endswith('/'):
    -            location = location + '/'
    -
    -        with TempDirectory(kind="export") as temp_dir:
    -            self.unpack(temp_dir.path, url=url)
    -            self.run_command(
    -                ['checkout-index', '-a', '-f', '--prefix', location],
    -                show_stdout=False, cwd=temp_dir.path
    -            )
    -
    -    @classmethod
    -    def get_revision_sha(cls, dest, rev):
    -        """
    -        Return (sha_or_none, is_branch), where sha_or_none is a commit hash
    -        if the revision names a remote branch or tag, otherwise None.
    -
    -        Args:
    -          dest: the repository directory.
    -          rev: the revision name.
    -        """
    -        # Pass rev to pre-filter the list.
    -        output = cls.run_command(['show-ref', rev], cwd=dest,
    -                                 show_stdout=False, on_returncode='ignore')
    -        refs = {}
    -        for line in output.strip().splitlines():
    -            try:
    -                sha, ref = line.split()
    -            except ValueError:
    -                # Include the offending line to simplify troubleshooting if
    -                # this error ever occurs.
    -                raise ValueError('unexpected show-ref line: {!r}'.format(line))
    -
    -            refs[ref] = sha
    -
    -        branch_ref = 'refs/remotes/origin/{}'.format(rev)
    -        tag_ref = 'refs/tags/{}'.format(rev)
    -
    -        sha = refs.get(branch_ref)
    -        if sha is not None:
    -            return (sha, True)
    -
    -        sha = refs.get(tag_ref)
    -
    -        return (sha, False)
    -
    -    @classmethod
    -    def resolve_revision(cls, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> RevOptions
    -        """
    -        Resolve a revision to a new RevOptions object with the SHA1 of the
    -        branch, tag, or ref if found.
    -
    -        Args:
    -          rev_options: a RevOptions object.
    -        """
    -        rev = rev_options.arg_rev
    -        # The arg_rev property's implementation for Git ensures that the
    -        # rev return value is always non-None.
    -        assert rev is not None
    -
    -        sha, is_branch = cls.get_revision_sha(dest, rev)
    -
    -        if sha is not None:
    -            rev_options = rev_options.make_new(sha)
    -            rev_options.branch_name = rev if is_branch else None
    -
    -            return rev_options
    -
    -        # Do not show a warning for the common case of something that has
    -        # the form of a Git commit hash.
    -        if not looks_like_hash(rev):
    -            logger.warning(
    -                "Did not find branch or tag '%s', assuming revision or ref.",
    -                rev,
    -            )
    -
    -        if not rev.startswith('refs/'):
    -            return rev_options
    -
    -        # If it looks like a ref, we have to fetch it explicitly.
    -        cls.run_command(
    -            make_command('fetch', '-q', url, rev_options.to_args()),
    -            cwd=dest,
    -        )
    -        # Change the revision to the SHA of the ref we fetched
    -        sha = cls.get_revision(dest, rev='FETCH_HEAD')
    -        rev_options = rev_options.make_new(sha)
    -
    -        return rev_options
    -
    -    @classmethod
    -    def is_commit_id_equal(cls, dest, name):
    -        """
    -        Return whether the current commit hash equals the given name.
    -
    -        Args:
    -          dest: the repository directory.
    -          name: a string name.
    -        """
    -        if not name:
    -            # Then avoid an unnecessary subprocess call.
    -            return False
    -
    -        return cls.get_revision(dest) == name
    -
    -    def fetch_new(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        rev_display = rev_options.to_display()
    -        logger.info('Cloning %s%s to %s', url, rev_display, display_path(dest))
    -        self.run_command(make_command('clone', '-q', url, dest))
    -
    -        if rev_options.rev:
    -            # Then a specific revision was requested.
    -            rev_options = self.resolve_revision(dest, url, rev_options)
    -            branch_name = getattr(rev_options, 'branch_name', None)
    -            if branch_name is None:
    -                # Only do a checkout if the current commit id doesn't match
    -                # the requested revision.
    -                if not self.is_commit_id_equal(dest, rev_options.rev):
    -                    cmd_args = make_command(
    -                        'checkout', '-q', rev_options.to_args(),
    -                    )
    -                    self.run_command(cmd_args, cwd=dest)
    -            elif self.get_current_branch(dest) != branch_name:
    -                # Then a specific branch was requested, and that branch
    -                # is not yet checked out.
    -                track_branch = 'origin/{}'.format(branch_name)
    -                cmd_args = [
    -                    'checkout', '-b', branch_name, '--track', track_branch,
    -                ]
    -                self.run_command(cmd_args, cwd=dest)
    -
    -        #: repo may contain submodules
    -        self.update_submodules(dest)
    -
    -    def switch(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        self.run_command(
    -            make_command('config', 'remote.origin.url', url),
    -            cwd=dest,
    -        )
    -        cmd_args = make_command('checkout', '-q', rev_options.to_args())
    -        self.run_command(cmd_args, cwd=dest)
    -
    -        self.update_submodules(dest)
    -
    -    def update(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        # First fetch changes from the default remote
    -        if self.get_git_version() >= parse_version('1.9.0'):
    -            # fetch tags in addition to everything else
    -            self.run_command(['fetch', '-q', '--tags'], cwd=dest)
    -        else:
    -            self.run_command(['fetch', '-q'], cwd=dest)
    -        # Then reset to wanted revision (maybe even origin/master)
    -        rev_options = self.resolve_revision(dest, url, rev_options)
    -        cmd_args = make_command('reset', '--hard', '-q', rev_options.to_args())
    -        self.run_command(cmd_args, cwd=dest)
    -        #: update submodules
    -        self.update_submodules(dest)
    -
    -    @classmethod
    -    def get_remote_url(cls, location):
    -        """
    -        Return URL of the first remote encountered.
    -
    -        Raises RemoteNotFoundError if the repository does not have a remote
    -        url configured.
    -        """
    -        # We need to pass 1 for extra_ok_returncodes since the command
    -        # exits with return code 1 if there are no matching lines.
    -        stdout = cls.run_command(
    -            ['config', '--get-regexp', r'remote\..*\.url'],
    -            extra_ok_returncodes=(1, ), show_stdout=False, cwd=location,
    -        )
    -        remotes = stdout.splitlines()
    -        try:
    -            found_remote = remotes[0]
    -        except IndexError:
    -            raise RemoteNotFoundError
    -
    -        for remote in remotes:
    -            if remote.startswith('remote.origin.url '):
    -                found_remote = remote
    -                break
    -        url = found_remote.split(' ')[1]
    -        return url.strip()
    -
    -    @classmethod
    -    def get_revision(cls, location, rev=None):
    -        if rev is None:
    -            rev = 'HEAD'
    -        current_rev = cls.run_command(
    -            ['rev-parse', rev], show_stdout=False, cwd=location,
    -        )
    -        return current_rev.strip()
    -
    -    @classmethod
    -    def get_subdirectory(cls, location):
    -        """
    -        Return the path to setup.py, relative to the repo root.
    -        Return None if setup.py is in the repo root.
    -        """
    -        # find the repo root
    -        git_dir = cls.run_command(
    -            ['rev-parse', '--git-dir'],
    -            show_stdout=False, cwd=location).strip()
    -        if not os.path.isabs(git_dir):
    -            git_dir = os.path.join(location, git_dir)
    -        repo_root = os.path.abspath(os.path.join(git_dir, '..'))
    -        return find_path_to_setup_from_repo_root(location, repo_root)
    -
    -    @classmethod
    -    def get_url_rev_and_auth(cls, url):
    -        # type: (str) -> Tuple[str, Optional[str], AuthInfo]
    -        """
    -        Prefixes stub URLs like 'user@hostname:user/repo.git' with 'ssh://'.
    -        That's required because although they use SSH they sometimes don't
    -        work with a ssh:// scheme (e.g. GitHub). But we need a scheme for
    -        parsing. Hence we remove it again afterwards and return it as a stub.
    -        """
    -        # Works around an apparent Git bug
    -        # (see https://article.gmane.org/gmane.comp.version-control.git/146500)
    -        scheme, netloc, path, query, fragment = urlsplit(url)
    -        if scheme.endswith('file'):
    -            initial_slashes = path[:-len(path.lstrip('/'))]
    -            newpath = (
    -                initial_slashes +
    -                urllib_request.url2pathname(path)
    -                .replace('\\', '/').lstrip('/')
    -            )
    -            url = urlunsplit((scheme, netloc, newpath, query, fragment))
    -            after_plus = scheme.find('+') + 1
    -            url = scheme[:after_plus] + urlunsplit(
    -                (scheme[after_plus:], netloc, newpath, query, fragment),
    -            )
    -
    -        if '://' not in url:
    -            assert 'file:' not in url
    -            url = url.replace('git+', 'git+ssh://')
    -            url, rev, user_pass = super(Git, cls).get_url_rev_and_auth(url)
    -            url = url.replace('ssh://', '')
    -        else:
    -            url, rev, user_pass = super(Git, cls).get_url_rev_and_auth(url)
    -
    -        return url, rev, user_pass
    -
    -    @classmethod
    -    def update_submodules(cls, location):
    -        if not os.path.exists(os.path.join(location, '.gitmodules')):
    -            return
    -        cls.run_command(
    -            ['submodule', 'update', '--init', '--recursive', '-q'],
    -            cwd=location,
    -        )
    -
    -    @classmethod
    -    def controls_location(cls, location):
    -        if super(Git, cls).controls_location(location):
    -            return True
    -        try:
    -            r = cls.run_command(['rev-parse'],
    -                                cwd=location,
    -                                show_stdout=False,
    -                                on_returncode='ignore',
    -                                log_failed_cmd=False)
    -            return not r
    -        except BadCommand:
    -            logger.debug("could not determine if %s is under git control "
    -                         "because git is not available", location)
    -            return False
    -
    -
    -vcs.register(Git)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/mercurial.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/mercurial.py
    deleted file mode 100644
    index d9b58cf..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/mercurial.py
    +++ /dev/null
    @@ -1,155 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import os
    -
    -from pip._vendor.six.moves import configparser
    -
    -from pip._internal.exceptions import BadCommand, InstallationError
    -from pip._internal.utils.misc import display_path
    -from pip._internal.utils.subprocess import make_command
    -from pip._internal.utils.temp_dir import TempDirectory
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.urls import path_to_url
    -from pip._internal.vcs.versioncontrol import (
    -    VersionControl,
    -    find_path_to_setup_from_repo_root,
    -    vcs,
    -)
    -
    -if MYPY_CHECK_RUNNING:
    -    from pip._internal.utils.misc import HiddenText
    -    from pip._internal.vcs.versioncontrol import RevOptions
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class Mercurial(VersionControl):
    -    name = 'hg'
    -    dirname = '.hg'
    -    repo_name = 'clone'
    -    schemes = (
    -        'hg', 'hg+file', 'hg+http', 'hg+https', 'hg+ssh', 'hg+static-http',
    -    )
    -
    -    @staticmethod
    -    def get_base_rev_args(rev):
    -        return [rev]
    -
    -    def export(self, location, url):
    -        # type: (str, HiddenText) -> None
    -        """Export the Hg repository at the url to the destination location"""
    -        with TempDirectory(kind="export") as temp_dir:
    -            self.unpack(temp_dir.path, url=url)
    -
    -            self.run_command(
    -                ['archive', location], show_stdout=False, cwd=temp_dir.path
    -            )
    -
    -    def fetch_new(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        rev_display = rev_options.to_display()
    -        logger.info(
    -            'Cloning hg %s%s to %s',
    -            url,
    -            rev_display,
    -            display_path(dest),
    -        )
    -        self.run_command(make_command('clone', '--noupdate', '-q', url, dest))
    -        self.run_command(
    -            make_command('update', '-q', rev_options.to_args()),
    -            cwd=dest,
    -        )
    -
    -    def switch(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        repo_config = os.path.join(dest, self.dirname, 'hgrc')
    -        config = configparser.RawConfigParser()
    -        try:
    -            config.read(repo_config)
    -            config.set('paths', 'default', url.secret)
    -            with open(repo_config, 'w') as config_file:
    -                config.write(config_file)
    -        except (OSError, configparser.NoSectionError) as exc:
    -            logger.warning(
    -                'Could not switch Mercurial repository to %s: %s', url, exc,
    -            )
    -        else:
    -            cmd_args = make_command('update', '-q', rev_options.to_args())
    -            self.run_command(cmd_args, cwd=dest)
    -
    -    def update(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        self.run_command(['pull', '-q'], cwd=dest)
    -        cmd_args = make_command('update', '-q', rev_options.to_args())
    -        self.run_command(cmd_args, cwd=dest)
    -
    -    @classmethod
    -    def get_remote_url(cls, location):
    -        url = cls.run_command(
    -            ['showconfig', 'paths.default'],
    -            show_stdout=False, cwd=location).strip()
    -        if cls._is_local_repository(url):
    -            url = path_to_url(url)
    -        return url.strip()
    -
    -    @classmethod
    -    def get_revision(cls, location):
    -        """
    -        Return the repository-local changeset revision number, as an integer.
    -        """
    -        current_revision = cls.run_command(
    -            ['parents', '--template={rev}'],
    -            show_stdout=False, cwd=location).strip()
    -        return current_revision
    -
    -    @classmethod
    -    def get_requirement_revision(cls, location):
    -        """
    -        Return the changeset identification hash, as a 40-character
    -        hexadecimal string
    -        """
    -        current_rev_hash = cls.run_command(
    -            ['parents', '--template={node}'],
    -            show_stdout=False, cwd=location).strip()
    -        return current_rev_hash
    -
    -    @classmethod
    -    def is_commit_id_equal(cls, dest, name):
    -        """Always assume the versions don't match"""
    -        return False
    -
    -    @classmethod
    -    def get_subdirectory(cls, location):
    -        """
    -        Return the path to setup.py, relative to the repo root.
    -        Return None if setup.py is in the repo root.
    -        """
    -        # find the repo root
    -        repo_root = cls.run_command(
    -            ['root'], show_stdout=False, cwd=location).strip()
    -        if not os.path.isabs(repo_root):
    -            repo_root = os.path.abspath(os.path.join(location, repo_root))
    -        return find_path_to_setup_from_repo_root(location, repo_root)
    -
    -    @classmethod
    -    def controls_location(cls, location):
    -        if super(Mercurial, cls).controls_location(location):
    -            return True
    -        try:
    -            cls.run_command(
    -                ['identify'],
    -                cwd=location,
    -                show_stdout=False,
    -                on_returncode='raise',
    -                log_failed_cmd=False)
    -            return True
    -        except (BadCommand, InstallationError):
    -            return False
    -
    -
    -vcs.register(Mercurial)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/subversion.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/subversion.py
    deleted file mode 100644
    index 6c76d1a..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/subversion.py
    +++ /dev/null
    @@ -1,333 +0,0 @@
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import logging
    -import os
    -import re
    -
    -from pip._internal.utils.logging import indent_log
    -from pip._internal.utils.misc import (
    -    display_path,
    -    is_console_interactive,
    -    rmtree,
    -    split_auth_from_netloc,
    -)
    -from pip._internal.utils.subprocess import make_command
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.vcs.versioncontrol import VersionControl, vcs
    -
    -_svn_xml_url_re = re.compile('url="([^"]+)"')
    -_svn_rev_re = re.compile(r'committed-rev="(\d+)"')
    -_svn_info_xml_rev_re = re.compile(r'\s*revision="(\d+)"')
    -_svn_info_xml_url_re = re.compile(r'(.*)')
    -
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import Optional, Tuple
    -    from pip._internal.utils.subprocess import CommandArgs
    -    from pip._internal.utils.misc import HiddenText
    -    from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class Subversion(VersionControl):
    -    name = 'svn'
    -    dirname = '.svn'
    -    repo_name = 'checkout'
    -    schemes = ('svn', 'svn+ssh', 'svn+http', 'svn+https', 'svn+svn')
    -
    -    @classmethod
    -    def should_add_vcs_url_prefix(cls, remote_url):
    -        return True
    -
    -    @staticmethod
    -    def get_base_rev_args(rev):
    -        return ['-r', rev]
    -
    -    @classmethod
    -    def get_revision(cls, location):
    -        """
    -        Return the maximum revision for all files under a given location
    -        """
    -        # Note: taken from setuptools.command.egg_info
    -        revision = 0
    -
    -        for base, dirs, files in os.walk(location):
    -            if cls.dirname not in dirs:
    -                dirs[:] = []
    -                continue    # no sense walking uncontrolled subdirs
    -            dirs.remove(cls.dirname)
    -            entries_fn = os.path.join(base, cls.dirname, 'entries')
    -            if not os.path.exists(entries_fn):
    -                # FIXME: should we warn?
    -                continue
    -
    -            dirurl, localrev = cls._get_svn_url_rev(base)
    -
    -            if base == location:
    -                base = dirurl + '/'   # save the root url
    -            elif not dirurl or not dirurl.startswith(base):
    -                dirs[:] = []
    -                continue    # not part of the same svn tree, skip it
    -            revision = max(revision, localrev)
    -        return revision
    -
    -    @classmethod
    -    def get_netloc_and_auth(cls, netloc, scheme):
    -        """
    -        This override allows the auth information to be passed to svn via the
    -        --username and --password options instead of via the URL.
    -        """
    -        if scheme == 'ssh':
    -            # The --username and --password options can't be used for
    -            # svn+ssh URLs, so keep the auth information in the URL.
    -            return super(Subversion, cls).get_netloc_and_auth(netloc, scheme)
    -
    -        return split_auth_from_netloc(netloc)
    -
    -    @classmethod
    -    def get_url_rev_and_auth(cls, url):
    -        # type: (str) -> Tuple[str, Optional[str], AuthInfo]
    -        # hotfix the URL scheme after removing svn+ from svn+ssh:// readd it
    -        url, rev, user_pass = super(Subversion, cls).get_url_rev_and_auth(url)
    -        if url.startswith('ssh://'):
    -            url = 'svn+' + url
    -        return url, rev, user_pass
    -
    -    @staticmethod
    -    def make_rev_args(username, password):
    -        # type: (Optional[str], Optional[HiddenText]) -> CommandArgs
    -        extra_args = []  # type: CommandArgs
    -        if username:
    -            extra_args += ['--username', username]
    -        if password:
    -            extra_args += ['--password', password]
    -
    -        return extra_args
    -
    -    @classmethod
    -    def get_remote_url(cls, location):
    -        # In cases where the source is in a subdirectory, not alongside
    -        # setup.py we have to look up in the location until we find a real
    -        # setup.py
    -        orig_location = location
    -        while not os.path.exists(os.path.join(location, 'setup.py')):
    -            last_location = location
    -            location = os.path.dirname(location)
    -            if location == last_location:
    -                # We've traversed up to the root of the filesystem without
    -                # finding setup.py
    -                logger.warning(
    -                    "Could not find setup.py for directory %s (tried all "
    -                    "parent directories)",
    -                    orig_location,
    -                )
    -                return None
    -
    -        return cls._get_svn_url_rev(location)[0]
    -
    -    @classmethod
    -    def _get_svn_url_rev(cls, location):
    -        from pip._internal.exceptions import InstallationError
    -
    -        entries_path = os.path.join(location, cls.dirname, 'entries')
    -        if os.path.exists(entries_path):
    -            with open(entries_path) as f:
    -                data = f.read()
    -        else:  # subversion >= 1.7 does not have the 'entries' file
    -            data = ''
    -
    -        if (data.startswith('8') or
    -                data.startswith('9') or
    -                data.startswith('10')):
    -            data = list(map(str.splitlines, data.split('\n\x0c\n')))
    -            del data[0][0]  # get rid of the '8'
    -            url = data[0][3]
    -            revs = [int(d[9]) for d in data if len(d) > 9 and d[9]] + [0]
    -        elif data.startswith('= 1.7
    -                # Note that using get_remote_call_options is not necessary here
    -                # because `svn info` is being run against a local directory.
    -                # We don't need to worry about making sure interactive mode
    -                # is being used to prompt for passwords, because passwords
    -                # are only potentially needed for remote server requests.
    -                xml = cls.run_command(
    -                    ['info', '--xml', location],
    -                    show_stdout=False,
    -                )
    -                url = _svn_info_xml_url_re.search(xml).group(1)
    -                revs = [
    -                    int(m.group(1)) for m in _svn_info_xml_rev_re.finditer(xml)
    -                ]
    -            except InstallationError:
    -                url, revs = None, []
    -
    -        if revs:
    -            rev = max(revs)
    -        else:
    -            rev = 0
    -
    -        return url, rev
    -
    -    @classmethod
    -    def is_commit_id_equal(cls, dest, name):
    -        """Always assume the versions don't match"""
    -        return False
    -
    -    def __init__(self, use_interactive=None):
    -        # type: (bool) -> None
    -        if use_interactive is None:
    -            use_interactive = is_console_interactive()
    -        self.use_interactive = use_interactive
    -
    -        # This member is used to cache the fetched version of the current
    -        # ``svn`` client.
    -        # Special value definitions:
    -        #   None: Not evaluated yet.
    -        #   Empty tuple: Could not parse version.
    -        self._vcs_version = None  # type: Optional[Tuple[int, ...]]
    -
    -        super(Subversion, self).__init__()
    -
    -    def call_vcs_version(self):
    -        # type: () -> Tuple[int, ...]
    -        """Query the version of the currently installed Subversion client.
    -
    -        :return: A tuple containing the parts of the version information or
    -            ``()`` if the version returned from ``svn`` could not be parsed.
    -        :raises: BadCommand: If ``svn`` is not installed.
    -        """
    -        # Example versions:
    -        #   svn, version 1.10.3 (r1842928)
    -        #      compiled Feb 25 2019, 14:20:39 on x86_64-apple-darwin17.0.0
    -        #   svn, version 1.7.14 (r1542130)
    -        #      compiled Mar 28 2018, 08:49:13 on x86_64-pc-linux-gnu
    -        version_prefix = 'svn, version '
    -        version = self.run_command(['--version'], show_stdout=False)
    -        if not version.startswith(version_prefix):
    -            return ()
    -
    -        version = version[len(version_prefix):].split()[0]
    -        version_list = version.split('.')
    -        try:
    -            parsed_version = tuple(map(int, version_list))
    -        except ValueError:
    -            return ()
    -
    -        return parsed_version
    -
    -    def get_vcs_version(self):
    -        # type: () -> Tuple[int, ...]
    -        """Return the version of the currently installed Subversion client.
    -
    -        If the version of the Subversion client has already been queried,
    -        a cached value will be used.
    -
    -        :return: A tuple containing the parts of the version information or
    -            ``()`` if the version returned from ``svn`` could not be parsed.
    -        :raises: BadCommand: If ``svn`` is not installed.
    -        """
    -        if self._vcs_version is not None:
    -            # Use cached version, if available.
    -            # If parsing the version failed previously (empty tuple),
    -            # do not attempt to parse it again.
    -            return self._vcs_version
    -
    -        vcs_version = self.call_vcs_version()
    -        self._vcs_version = vcs_version
    -        return vcs_version
    -
    -    def get_remote_call_options(self):
    -        # type: () -> CommandArgs
    -        """Return options to be used on calls to Subversion that contact the server.
    -
    -        These options are applicable for the following ``svn`` subcommands used
    -        in this class.
    -
    -            - checkout
    -            - export
    -            - switch
    -            - update
    -
    -        :return: A list of command line arguments to pass to ``svn``.
    -        """
    -        if not self.use_interactive:
    -            # --non-interactive switch is available since Subversion 0.14.4.
    -            # Subversion < 1.8 runs in interactive mode by default.
    -            return ['--non-interactive']
    -
    -        svn_version = self.get_vcs_version()
    -        # By default, Subversion >= 1.8 runs in non-interactive mode if
    -        # stdin is not a TTY. Since that is how pip invokes SVN, in
    -        # call_subprocess(), pip must pass --force-interactive to ensure
    -        # the user can be prompted for a password, if required.
    -        #   SVN added the --force-interactive option in SVN 1.8. Since
    -        # e.g. RHEL/CentOS 7, which is supported until 2024, ships with
    -        # SVN 1.7, pip should continue to support SVN 1.7. Therefore, pip
    -        # can't safely add the option if the SVN version is < 1.8 (or unknown).
    -        if svn_version >= (1, 8):
    -            return ['--force-interactive']
    -
    -        return []
    -
    -    def export(self, location, url):
    -        # type: (str, HiddenText) -> None
    -        """Export the svn repository at the url to the destination location"""
    -        url, rev_options = self.get_url_rev_options(url)
    -
    -        logger.info('Exporting svn repository %s to %s', url, location)
    -        with indent_log():
    -            if os.path.exists(location):
    -                # Subversion doesn't like to check out over an existing
    -                # directory --force fixes this, but was only added in svn 1.5
    -                rmtree(location)
    -            cmd_args = make_command(
    -                'export', self.get_remote_call_options(),
    -                rev_options.to_args(), url, location,
    -            )
    -            self.run_command(cmd_args, show_stdout=False)
    -
    -    def fetch_new(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        rev_display = rev_options.to_display()
    -        logger.info(
    -            'Checking out %s%s to %s',
    -            url,
    -            rev_display,
    -            display_path(dest),
    -        )
    -        cmd_args = make_command(
    -            'checkout', '-q', self.get_remote_call_options(),
    -            rev_options.to_args(), url, dest,
    -        )
    -        self.run_command(cmd_args)
    -
    -    def switch(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        cmd_args = make_command(
    -            'switch', self.get_remote_call_options(), rev_options.to_args(),
    -            url, dest,
    -        )
    -        self.run_command(cmd_args)
    -
    -    def update(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        cmd_args = make_command(
    -            'update', self.get_remote_call_options(), rev_options.to_args(),
    -            dest,
    -        )
    -        self.run_command(cmd_args)
    -
    -
    -vcs.register(Subversion)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/versioncontrol.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/versioncontrol.py
    deleted file mode 100644
    index 9038ace..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/vcs/versioncontrol.py
    +++ /dev/null
    @@ -1,665 +0,0 @@
    -"""Handles all VCS (version control) support"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import errno
    -import logging
    -import os
    -import shutil
    -import sys
    -
    -from pip._vendor import pkg_resources
    -from pip._vendor.six.moves.urllib import parse as urllib_parse
    -
    -from pip._internal.exceptions import BadCommand
    -from pip._internal.utils.compat import samefile
    -from pip._internal.utils.misc import (
    -    ask_path_exists,
    -    backup_dir,
    -    display_path,
    -    hide_url,
    -    hide_value,
    -    rmtree,
    -)
    -from pip._internal.utils.subprocess import call_subprocess, make_command
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.urls import get_url_scheme
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Any, Dict, Iterable, List, Mapping, Optional, Text, Tuple, Type, Union
    -    )
    -    from pip._internal.utils.ui import SpinnerInterface
    -    from pip._internal.utils.misc import HiddenText
    -    from pip._internal.utils.subprocess import CommandArgs
    -
    -    AuthInfo = Tuple[Optional[str], Optional[str]]
    -
    -
    -__all__ = ['vcs']
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def is_url(name):
    -    # type: (Union[str, Text]) -> bool
    -    """
    -    Return true if the name looks like a URL.
    -    """
    -    scheme = get_url_scheme(name)
    -    if scheme is None:
    -        return False
    -    return scheme in ['http', 'https', 'file', 'ftp'] + vcs.all_schemes
    -
    -
    -def make_vcs_requirement_url(repo_url, rev, project_name, subdir=None):
    -    """
    -    Return the URL for a VCS requirement.
    -
    -    Args:
    -      repo_url: the remote VCS url, with any needed VCS prefix (e.g. "git+").
    -      project_name: the (unescaped) project name.
    -    """
    -    egg_project_name = pkg_resources.to_filename(project_name)
    -    req = '{}@{}#egg={}'.format(repo_url, rev, egg_project_name)
    -    if subdir:
    -        req += '&subdirectory={}'.format(subdir)
    -
    -    return req
    -
    -
    -def find_path_to_setup_from_repo_root(location, repo_root):
    -    """
    -    Find the path to `setup.py` by searching up the filesystem from `location`.
    -    Return the path to `setup.py` relative to `repo_root`.
    -    Return None if `setup.py` is in `repo_root` or cannot be found.
    -    """
    -    # find setup.py
    -    orig_location = location
    -    while not os.path.exists(os.path.join(location, 'setup.py')):
    -        last_location = location
    -        location = os.path.dirname(location)
    -        if location == last_location:
    -            # We've traversed up to the root of the filesystem without
    -            # finding setup.py
    -            logger.warning(
    -                "Could not find setup.py for directory %s (tried all "
    -                "parent directories)",
    -                orig_location,
    -            )
    -            return None
    -
    -    if samefile(repo_root, location):
    -        return None
    -
    -    return os.path.relpath(location, repo_root)
    -
    -
    -class RemoteNotFoundError(Exception):
    -    pass
    -
    -
    -class RevOptions(object):
    -
    -    """
    -    Encapsulates a VCS-specific revision to install, along with any VCS
    -    install options.
    -
    -    Instances of this class should be treated as if immutable.
    -    """
    -
    -    def __init__(
    -        self,
    -        vc_class,  # type: Type[VersionControl]
    -        rev=None,  # type: Optional[str]
    -        extra_args=None,  # type: Optional[CommandArgs]
    -    ):
    -        # type: (...) -> None
    -        """
    -        Args:
    -          vc_class: a VersionControl subclass.
    -          rev: the name of the revision to install.
    -          extra_args: a list of extra options.
    -        """
    -        if extra_args is None:
    -            extra_args = []
    -
    -        self.extra_args = extra_args
    -        self.rev = rev
    -        self.vc_class = vc_class
    -        self.branch_name = None  # type: Optional[str]
    -
    -    def __repr__(self):
    -        return ''.format(self.vc_class.name, self.rev)
    -
    -    @property
    -    def arg_rev(self):
    -        # type: () -> Optional[str]
    -        if self.rev is None:
    -            return self.vc_class.default_arg_rev
    -
    -        return self.rev
    -
    -    def to_args(self):
    -        # type: () -> CommandArgs
    -        """
    -        Return the VCS-specific command arguments.
    -        """
    -        args = []  # type: CommandArgs
    -        rev = self.arg_rev
    -        if rev is not None:
    -            args += self.vc_class.get_base_rev_args(rev)
    -        args += self.extra_args
    -
    -        return args
    -
    -    def to_display(self):
    -        # type: () -> str
    -        if not self.rev:
    -            return ''
    -
    -        return ' (to revision {})'.format(self.rev)
    -
    -    def make_new(self, rev):
    -        # type: (str) -> RevOptions
    -        """
    -        Make a copy of the current instance, but with a new rev.
    -
    -        Args:
    -          rev: the name of the revision for the new object.
    -        """
    -        return self.vc_class.make_rev_options(rev, extra_args=self.extra_args)
    -
    -
    -class VcsSupport(object):
    -    _registry = {}  # type: Dict[str, VersionControl]
    -    schemes = ['ssh', 'git', 'hg', 'bzr', 'sftp', 'svn']
    -
    -    def __init__(self):
    -        # type: () -> None
    -        # Register more schemes with urlparse for various version control
    -        # systems
    -        urllib_parse.uses_netloc.extend(self.schemes)
    -        # Python >= 2.7.4, 3.3 doesn't have uses_fragment
    -        if getattr(urllib_parse, 'uses_fragment', None):
    -            urllib_parse.uses_fragment.extend(self.schemes)
    -        super(VcsSupport, self).__init__()
    -
    -    def __iter__(self):
    -        return self._registry.__iter__()
    -
    -    @property
    -    def backends(self):
    -        # type: () -> List[VersionControl]
    -        return list(self._registry.values())
    -
    -    @property
    -    def dirnames(self):
    -        # type: () -> List[str]
    -        return [backend.dirname for backend in self.backends]
    -
    -    @property
    -    def all_schemes(self):
    -        # type: () -> List[str]
    -        schemes = []  # type: List[str]
    -        for backend in self.backends:
    -            schemes.extend(backend.schemes)
    -        return schemes
    -
    -    def register(self, cls):
    -        # type: (Type[VersionControl]) -> None
    -        if not hasattr(cls, 'name'):
    -            logger.warning('Cannot register VCS %s', cls.__name__)
    -            return
    -        if cls.name not in self._registry:
    -            self._registry[cls.name] = cls()
    -            logger.debug('Registered VCS backend: %s', cls.name)
    -
    -    def unregister(self, name):
    -        # type: (str) -> None
    -        if name in self._registry:
    -            del self._registry[name]
    -
    -    def get_backend_for_dir(self, location):
    -        # type: (str) -> Optional[VersionControl]
    -        """
    -        Return a VersionControl object if a repository of that type is found
    -        at the given directory.
    -        """
    -        for vcs_backend in self._registry.values():
    -            if vcs_backend.controls_location(location):
    -                logger.debug('Determine that %s uses VCS: %s',
    -                             location, vcs_backend.name)
    -                return vcs_backend
    -        return None
    -
    -    def get_backend(self, name):
    -        # type: (str) -> Optional[VersionControl]
    -        """
    -        Return a VersionControl object or None.
    -        """
    -        name = name.lower()
    -        return self._registry.get(name)
    -
    -
    -vcs = VcsSupport()
    -
    -
    -class VersionControl(object):
    -    name = ''
    -    dirname = ''
    -    repo_name = ''
    -    # List of supported schemes for this Version Control
    -    schemes = ()  # type: Tuple[str, ...]
    -    # Iterable of environment variable names to pass to call_subprocess().
    -    unset_environ = ()  # type: Tuple[str, ...]
    -    default_arg_rev = None  # type: Optional[str]
    -
    -    @classmethod
    -    def should_add_vcs_url_prefix(cls, remote_url):
    -        """
    -        Return whether the vcs prefix (e.g. "git+") should be added to a
    -        repository's remote url when used in a requirement.
    -        """
    -        return not remote_url.lower().startswith('{}:'.format(cls.name))
    -
    -    @classmethod
    -    def get_subdirectory(cls, location):
    -        """
    -        Return the path to setup.py, relative to the repo root.
    -        Return None if setup.py is in the repo root.
    -        """
    -        return None
    -
    -    @classmethod
    -    def get_requirement_revision(cls, repo_dir):
    -        """
    -        Return the revision string that should be used in a requirement.
    -        """
    -        return cls.get_revision(repo_dir)
    -
    -    @classmethod
    -    def get_src_requirement(cls, repo_dir, project_name):
    -        """
    -        Return the requirement string to use to redownload the files
    -        currently at the given repository directory.
    -
    -        Args:
    -          project_name: the (unescaped) project name.
    -
    -        The return value has a form similar to the following:
    -
    -            {repository_url}@{revision}#egg={project_name}
    -        """
    -        repo_url = cls.get_remote_url(repo_dir)
    -        if repo_url is None:
    -            return None
    -
    -        if cls.should_add_vcs_url_prefix(repo_url):
    -            repo_url = '{}+{}'.format(cls.name, repo_url)
    -
    -        revision = cls.get_requirement_revision(repo_dir)
    -        subdir = cls.get_subdirectory(repo_dir)
    -        req = make_vcs_requirement_url(repo_url, revision, project_name,
    -                                       subdir=subdir)
    -
    -        return req
    -
    -    @staticmethod
    -    def get_base_rev_args(rev):
    -        """
    -        Return the base revision arguments for a vcs command.
    -
    -        Args:
    -          rev: the name of a revision to install.  Cannot be None.
    -        """
    -        raise NotImplementedError
    -
    -    @classmethod
    -    def make_rev_options(cls, rev=None, extra_args=None):
    -        # type: (Optional[str], Optional[CommandArgs]) -> RevOptions
    -        """
    -        Return a RevOptions object.
    -
    -        Args:
    -          rev: the name of a revision to install.
    -          extra_args: a list of extra options.
    -        """
    -        return RevOptions(cls, rev, extra_args=extra_args)
    -
    -    @classmethod
    -    def _is_local_repository(cls, repo):
    -        # type: (str) -> bool
    -        """
    -           posix absolute paths start with os.path.sep,
    -           win32 ones start with drive (like c:\\folder)
    -        """
    -        drive, tail = os.path.splitdrive(repo)
    -        return repo.startswith(os.path.sep) or bool(drive)
    -
    -    def export(self, location, url):
    -        # type: (str, HiddenText) -> None
    -        """
    -        Export the repository at the url to the destination location
    -        i.e. only download the files, without vcs informations
    -
    -        :param url: the repository URL starting with a vcs prefix.
    -        """
    -        raise NotImplementedError
    -
    -    @classmethod
    -    def get_netloc_and_auth(cls, netloc, scheme):
    -        """
    -        Parse the repository URL's netloc, and return the new netloc to use
    -        along with auth information.
    -
    -        Args:
    -          netloc: the original repository URL netloc.
    -          scheme: the repository URL's scheme without the vcs prefix.
    -
    -        This is mainly for the Subversion class to override, so that auth
    -        information can be provided via the --username and --password options
    -        instead of through the URL.  For other subclasses like Git without
    -        such an option, auth information must stay in the URL.
    -
    -        Returns: (netloc, (username, password)).
    -        """
    -        return netloc, (None, None)
    -
    -    @classmethod
    -    def get_url_rev_and_auth(cls, url):
    -        # type: (str) -> Tuple[str, Optional[str], AuthInfo]
    -        """
    -        Parse the repository URL to use, and return the URL, revision,
    -        and auth info to use.
    -
    -        Returns: (url, rev, (username, password)).
    -        """
    -        scheme, netloc, path, query, frag = urllib_parse.urlsplit(url)
    -        if '+' not in scheme:
    -            raise ValueError(
    -                "Sorry, {!r} is a malformed VCS url. "
    -                "The format is +://, "
    -                "e.g. svn+http://myrepo/svn/MyApp#egg=MyApp".format(url)
    -            )
    -        # Remove the vcs prefix.
    -        scheme = scheme.split('+', 1)[1]
    -        netloc, user_pass = cls.get_netloc_and_auth(netloc, scheme)
    -        rev = None
    -        if '@' in path:
    -            path, rev = path.rsplit('@', 1)
    -        url = urllib_parse.urlunsplit((scheme, netloc, path, query, ''))
    -        return url, rev, user_pass
    -
    -    @staticmethod
    -    def make_rev_args(username, password):
    -        # type: (Optional[str], Optional[HiddenText]) -> CommandArgs
    -        """
    -        Return the RevOptions "extra arguments" to use in obtain().
    -        """
    -        return []
    -
    -    def get_url_rev_options(self, url):
    -        # type: (HiddenText) -> Tuple[HiddenText, RevOptions]
    -        """
    -        Return the URL and RevOptions object to use in obtain() and in
    -        some cases export(), as a tuple (url, rev_options).
    -        """
    -        secret_url, rev, user_pass = self.get_url_rev_and_auth(url.secret)
    -        username, secret_password = user_pass
    -        password = None  # type: Optional[HiddenText]
    -        if secret_password is not None:
    -            password = hide_value(secret_password)
    -        extra_args = self.make_rev_args(username, password)
    -        rev_options = self.make_rev_options(rev, extra_args=extra_args)
    -
    -        return hide_url(secret_url), rev_options
    -
    -    @staticmethod
    -    def normalize_url(url):
    -        # type: (str) -> str
    -        """
    -        Normalize a URL for comparison by unquoting it and removing any
    -        trailing slash.
    -        """
    -        return urllib_parse.unquote(url).rstrip('/')
    -
    -    @classmethod
    -    def compare_urls(cls, url1, url2):
    -        # type: (str, str) -> bool
    -        """
    -        Compare two repo URLs for identity, ignoring incidental differences.
    -        """
    -        return (cls.normalize_url(url1) == cls.normalize_url(url2))
    -
    -    def fetch_new(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        """
    -        Fetch a revision from a repository, in the case that this is the
    -        first fetch from the repository.
    -
    -        Args:
    -          dest: the directory to fetch the repository to.
    -          rev_options: a RevOptions object.
    -        """
    -        raise NotImplementedError
    -
    -    def switch(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        """
    -        Switch the repo at ``dest`` to point to ``URL``.
    -
    -        Args:
    -          rev_options: a RevOptions object.
    -        """
    -        raise NotImplementedError
    -
    -    def update(self, dest, url, rev_options):
    -        # type: (str, HiddenText, RevOptions) -> None
    -        """
    -        Update an already-existing repo to the given ``rev_options``.
    -
    -        Args:
    -          rev_options: a RevOptions object.
    -        """
    -        raise NotImplementedError
    -
    -    @classmethod
    -    def is_commit_id_equal(cls, dest, name):
    -        """
    -        Return whether the id of the current commit equals the given name.
    -
    -        Args:
    -          dest: the repository directory.
    -          name: a string name.
    -        """
    -        raise NotImplementedError
    -
    -    def obtain(self, dest, url):
    -        # type: (str, HiddenText) -> None
    -        """
    -        Install or update in editable mode the package represented by this
    -        VersionControl object.
    -
    -        :param dest: the repository directory in which to install or update.
    -        :param url: the repository URL starting with a vcs prefix.
    -        """
    -        url, rev_options = self.get_url_rev_options(url)
    -
    -        if not os.path.exists(dest):
    -            self.fetch_new(dest, url, rev_options)
    -            return
    -
    -        rev_display = rev_options.to_display()
    -        if self.is_repository_directory(dest):
    -            existing_url = self.get_remote_url(dest)
    -            if self.compare_urls(existing_url, url.secret):
    -                logger.debug(
    -                    '%s in %s exists, and has correct URL (%s)',
    -                    self.repo_name.title(),
    -                    display_path(dest),
    -                    url,
    -                )
    -                if not self.is_commit_id_equal(dest, rev_options.rev):
    -                    logger.info(
    -                        'Updating %s %s%s',
    -                        display_path(dest),
    -                        self.repo_name,
    -                        rev_display,
    -                    )
    -                    self.update(dest, url, rev_options)
    -                else:
    -                    logger.info('Skipping because already up-to-date.')
    -                return
    -
    -            logger.warning(
    -                '%s %s in %s exists with URL %s',
    -                self.name,
    -                self.repo_name,
    -                display_path(dest),
    -                existing_url,
    -            )
    -            prompt = ('(s)witch, (i)gnore, (w)ipe, (b)ackup ',
    -                      ('s', 'i', 'w', 'b'))
    -        else:
    -            logger.warning(
    -                'Directory %s already exists, and is not a %s %s.',
    -                dest,
    -                self.name,
    -                self.repo_name,
    -            )
    -            # https://github.com/python/mypy/issues/1174
    -            prompt = ('(i)gnore, (w)ipe, (b)ackup ',  # type: ignore
    -                      ('i', 'w', 'b'))
    -
    -        logger.warning(
    -            'The plan is to install the %s repository %s',
    -            self.name,
    -            url,
    -        )
    -        response = ask_path_exists('What to do?  %s' % prompt[0], prompt[1])
    -
    -        if response == 'a':
    -            sys.exit(-1)
    -
    -        if response == 'w':
    -            logger.warning('Deleting %s', display_path(dest))
    -            rmtree(dest)
    -            self.fetch_new(dest, url, rev_options)
    -            return
    -
    -        if response == 'b':
    -            dest_dir = backup_dir(dest)
    -            logger.warning(
    -                'Backing up %s to %s', display_path(dest), dest_dir,
    -            )
    -            shutil.move(dest, dest_dir)
    -            self.fetch_new(dest, url, rev_options)
    -            return
    -
    -        # Do nothing if the response is "i".
    -        if response == 's':
    -            logger.info(
    -                'Switching %s %s to %s%s',
    -                self.repo_name,
    -                display_path(dest),
    -                url,
    -                rev_display,
    -            )
    -            self.switch(dest, url, rev_options)
    -
    -    def unpack(self, location, url):
    -        # type: (str, HiddenText) -> None
    -        """
    -        Clean up current location and download the url repository
    -        (and vcs infos) into location
    -
    -        :param url: the repository URL starting with a vcs prefix.
    -        """
    -        if os.path.exists(location):
    -            rmtree(location)
    -        self.obtain(location, url=url)
    -
    -    @classmethod
    -    def get_remote_url(cls, location):
    -        """
    -        Return the url used at location
    -
    -        Raises RemoteNotFoundError if the repository does not have a remote
    -        url configured.
    -        """
    -        raise NotImplementedError
    -
    -    @classmethod
    -    def get_revision(cls, location):
    -        """
    -        Return the current commit id of the files at the given location.
    -        """
    -        raise NotImplementedError
    -
    -    @classmethod
    -    def run_command(
    -        cls,
    -        cmd,  # type: Union[List[str], CommandArgs]
    -        show_stdout=True,  # type: bool
    -        cwd=None,  # type: Optional[str]
    -        on_returncode='raise',  # type: str
    -        extra_ok_returncodes=None,  # type: Optional[Iterable[int]]
    -        command_desc=None,  # type: Optional[str]
    -        extra_environ=None,  # type: Optional[Mapping[str, Any]]
    -        spinner=None,  # type: Optional[SpinnerInterface]
    -        log_failed_cmd=True
    -    ):
    -        # type: (...) -> Text
    -        """
    -        Run a VCS subcommand
    -        This is simply a wrapper around call_subprocess that adds the VCS
    -        command name, and checks that the VCS is available
    -        """
    -        cmd = make_command(cls.name, *cmd)
    -        try:
    -            return call_subprocess(cmd, show_stdout, cwd,
    -                                   on_returncode=on_returncode,
    -                                   extra_ok_returncodes=extra_ok_returncodes,
    -                                   command_desc=command_desc,
    -                                   extra_environ=extra_environ,
    -                                   unset_environ=cls.unset_environ,
    -                                   spinner=spinner,
    -                                   log_failed_cmd=log_failed_cmd)
    -        except OSError as e:
    -            # errno.ENOENT = no such file or directory
    -            # In other words, the VCS executable isn't available
    -            if e.errno == errno.ENOENT:
    -                raise BadCommand(
    -                    'Cannot find command %r - do you have '
    -                    '%r installed and in your '
    -                    'PATH?' % (cls.name, cls.name))
    -            else:
    -                raise  # re-raise exception if a different error occurred
    -
    -    @classmethod
    -    def is_repository_directory(cls, path):
    -        # type: (str) -> bool
    -        """
    -        Return whether a directory path is a repository directory.
    -        """
    -        logger.debug('Checking in %s for %s (%s)...',
    -                     path, cls.dirname, cls.name)
    -        return os.path.exists(os.path.join(path, cls.dirname))
    -
    -    @classmethod
    -    def controls_location(cls, location):
    -        # type: (str) -> bool
    -        """
    -        Check if a location is controlled by the vcs.
    -        It is meant to be overridden to implement smarter detection
    -        mechanisms for specific vcs.
    -
    -        This can do more than is_repository_directory() alone.  For example,
    -        the Git override checks that Git is actually available.
    -        """
    -        return cls.is_repository_directory(location)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/wheel.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/wheel.py
    deleted file mode 100644
    index 8f9778c..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_internal/wheel.py
    +++ /dev/null
    @@ -1,1181 +0,0 @@
    -"""
    -Support for installing and building the "wheel" binary package format.
    -"""
    -
    -# The following comment should be removed at some point in the future.
    -# mypy: strict-optional=False
    -# mypy: disallow-untyped-defs=False
    -
    -from __future__ import absolute_import
    -
    -import collections
    -import compileall
    -import csv
    -import hashlib
    -import logging
    -import os.path
    -import re
    -import shutil
    -import stat
    -import sys
    -import warnings
    -from base64 import urlsafe_b64encode
    -from email.parser import Parser
    -
    -from pip._vendor import pkg_resources
    -from pip._vendor.distlib.scripts import ScriptMaker
    -from pip._vendor.distlib.util import get_export_entry
    -from pip._vendor.packaging.utils import canonicalize_name
    -from pip._vendor.six import StringIO
    -
    -from pip._internal import pep425tags
    -from pip._internal.exceptions import (
    -    InstallationError,
    -    InvalidWheelFilename,
    -    UnsupportedWheel,
    -)
    -from pip._internal.locations import distutils_scheme, get_major_minor_version
    -from pip._internal.models.link import Link
    -from pip._internal.utils.logging import indent_log
    -from pip._internal.utils.marker_files import has_delete_marker_file
    -from pip._internal.utils.misc import captured_stdout, ensure_dir, read_chunks
    -from pip._internal.utils.setuptools_build import make_setuptools_shim_args
    -from pip._internal.utils.subprocess import (
    -    LOG_DIVIDER,
    -    call_subprocess,
    -    format_command_args,
    -    runner_with_spinner_message,
    -)
    -from pip._internal.utils.temp_dir import TempDirectory
    -from pip._internal.utils.typing import MYPY_CHECK_RUNNING
    -from pip._internal.utils.ui import open_spinner
    -from pip._internal.utils.unpacking import unpack_file
    -from pip._internal.utils.urls import path_to_url
    -
    -if MYPY_CHECK_RUNNING:
    -    from typing import (
    -        Dict, List, Optional, Sequence, Mapping, Tuple, IO, Text, Any,
    -        Iterable, Callable, Set,
    -    )
    -    from pip._vendor.packaging.requirements import Requirement
    -    from pip._internal.req.req_install import InstallRequirement
    -    from pip._internal.operations.prepare import (
    -        RequirementPreparer
    -    )
    -    from pip._internal.cache import WheelCache
    -    from pip._internal.pep425tags import Pep425Tag
    -
    -    InstalledCSVRow = Tuple[str, ...]
    -
    -    BinaryAllowedPredicate = Callable[[InstallRequirement], bool]
    -
    -
    -VERSION_COMPATIBLE = (1, 0)
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -def normpath(src, p):
    -    return os.path.relpath(src, p).replace(os.path.sep, '/')
    -
    -
    -def hash_file(path, blocksize=1 << 20):
    -    # type: (str, int) -> Tuple[Any, int]
    -    """Return (hash, length) for path using hashlib.sha256()"""
    -    h = hashlib.sha256()
    -    length = 0
    -    with open(path, 'rb') as f:
    -        for block in read_chunks(f, size=blocksize):
    -            length += len(block)
    -            h.update(block)
    -    return (h, length)  # type: ignore
    -
    -
    -def rehash(path, blocksize=1 << 20):
    -    # type: (str, int) -> Tuple[str, str]
    -    """Return (encoded_digest, length) for path using hashlib.sha256()"""
    -    h, length = hash_file(path, blocksize)
    -    digest = 'sha256=' + urlsafe_b64encode(
    -        h.digest()
    -    ).decode('latin1').rstrip('=')
    -    # unicode/str python2 issues
    -    return (digest, str(length))  # type: ignore
    -
    -
    -def open_for_csv(name, mode):
    -    # type: (str, Text) -> IO
    -    if sys.version_info[0] < 3:
    -        nl = {}  # type: Dict[str, Any]
    -        bin = 'b'
    -    else:
    -        nl = {'newline': ''}  # type: Dict[str, Any]
    -        bin = ''
    -    return open(name, mode + bin, **nl)
    -
    -
    -def replace_python_tag(wheelname, new_tag):
    -    # type: (str, str) -> str
    -    """Replace the Python tag in a wheel file name with a new value.
    -    """
    -    parts = wheelname.split('-')
    -    parts[-3] = new_tag
    -    return '-'.join(parts)
    -
    -
    -def fix_script(path):
    -    # type: (str) -> Optional[bool]
    -    """Replace #!python with #!/path/to/python
    -    Return True if file was changed."""
    -    # XXX RECORD hashes will need to be updated
    -    if os.path.isfile(path):
    -        with open(path, 'rb') as script:
    -            firstline = script.readline()
    -            if not firstline.startswith(b'#!python'):
    -                return False
    -            exename = sys.executable.encode(sys.getfilesystemencoding())
    -            firstline = b'#!' + exename + os.linesep.encode("ascii")
    -            rest = script.read()
    -        with open(path, 'wb') as script:
    -            script.write(firstline)
    -            script.write(rest)
    -        return True
    -    return None
    -
    -
    -dist_info_re = re.compile(r"""^(?P(?P.+?)(-(?P.+?))?)
    -                                \.dist-info$""", re.VERBOSE)
    -
    -
    -def root_is_purelib(name, wheeldir):
    -    # type: (str, str) -> bool
    -    """
    -    Return True if the extracted wheel in wheeldir should go into purelib.
    -    """
    -    name_folded = name.replace("-", "_")
    -    for item in os.listdir(wheeldir):
    -        match = dist_info_re.match(item)
    -        if match and match.group('name') == name_folded:
    -            with open(os.path.join(wheeldir, item, 'WHEEL')) as wheel:
    -                for line in wheel:
    -                    line = line.lower().rstrip()
    -                    if line == "root-is-purelib: true":
    -                        return True
    -    return False
    -
    -
    -def get_entrypoints(filename):
    -    # type: (str) -> Tuple[Dict[str, str], Dict[str, str]]
    -    if not os.path.exists(filename):
    -        return {}, {}
    -
    -    # This is done because you can pass a string to entry_points wrappers which
    -    # means that they may or may not be valid INI files. The attempt here is to
    -    # strip leading and trailing whitespace in order to make them valid INI
    -    # files.
    -    with open(filename) as fp:
    -        data = StringIO()
    -        for line in fp:
    -            data.write(line.strip())
    -            data.write("\n")
    -        data.seek(0)
    -
    -    # get the entry points and then the script names
    -    entry_points = pkg_resources.EntryPoint.parse_map(data)
    -    console = entry_points.get('console_scripts', {})
    -    gui = entry_points.get('gui_scripts', {})
    -
    -    def _split_ep(s):
    -        """get the string representation of EntryPoint, remove space and split
    -        on '='"""
    -        return str(s).replace(" ", "").split("=")
    -
    -    # convert the EntryPoint objects into strings with module:function
    -    console = dict(_split_ep(v) for v in console.values())
    -    gui = dict(_split_ep(v) for v in gui.values())
    -    return console, gui
    -
    -
    -def message_about_scripts_not_on_PATH(scripts):
    -    # type: (Sequence[str]) -> Optional[str]
    -    """Determine if any scripts are not on PATH and format a warning.
    -
    -    Returns a warning message if one or more scripts are not on PATH,
    -    otherwise None.
    -    """
    -    if not scripts:
    -        return None
    -
    -    # Group scripts by the path they were installed in
    -    grouped_by_dir = collections.defaultdict(set)  # type: Dict[str, Set[str]]
    -    for destfile in scripts:
    -        parent_dir = os.path.dirname(destfile)
    -        script_name = os.path.basename(destfile)
    -        grouped_by_dir[parent_dir].add(script_name)
    -
    -    # We don't want to warn for directories that are on PATH.
    -    not_warn_dirs = [
    -        os.path.normcase(i).rstrip(os.sep) for i in
    -        os.environ.get("PATH", "").split(os.pathsep)
    -    ]
    -    # If an executable sits with sys.executable, we don't warn for it.
    -    #     This covers the case of venv invocations without activating the venv.
    -    not_warn_dirs.append(os.path.normcase(os.path.dirname(sys.executable)))
    -    warn_for = {
    -        parent_dir: scripts for parent_dir, scripts in grouped_by_dir.items()
    -        if os.path.normcase(parent_dir) not in not_warn_dirs
    -    }  # type: Dict[str, Set[str]]
    -    if not warn_for:
    -        return None
    -
    -    # Format a message
    -    msg_lines = []
    -    for parent_dir, dir_scripts in warn_for.items():
    -        sorted_scripts = sorted(dir_scripts)  # type: List[str]
    -        if len(sorted_scripts) == 1:
    -            start_text = "script {} is".format(sorted_scripts[0])
    -        else:
    -            start_text = "scripts {} are".format(
    -                ", ".join(sorted_scripts[:-1]) + " and " + sorted_scripts[-1]
    -            )
    -
    -        msg_lines.append(
    -            "The {} installed in '{}' which is not on PATH."
    -            .format(start_text, parent_dir)
    -        )
    -
    -    last_line_fmt = (
    -        "Consider adding {} to PATH or, if you prefer "
    -        "to suppress this warning, use --no-warn-script-location."
    -    )
    -    if len(msg_lines) == 1:
    -        msg_lines.append(last_line_fmt.format("this directory"))
    -    else:
    -        msg_lines.append(last_line_fmt.format("these directories"))
    -
    -    # Returns the formatted multiline message
    -    return "\n".join(msg_lines)
    -
    -
    -def sorted_outrows(outrows):
    -    # type: (Iterable[InstalledCSVRow]) -> List[InstalledCSVRow]
    -    """
    -    Return the given rows of a RECORD file in sorted order.
    -
    -    Each row is a 3-tuple (path, hash, size) and corresponds to a record of
    -    a RECORD file (see PEP 376 and PEP 427 for details).  For the rows
    -    passed to this function, the size can be an integer as an int or string,
    -    or the empty string.
    -    """
    -    # Normally, there should only be one row per path, in which case the
    -    # second and third elements don't come into play when sorting.
    -    # However, in cases in the wild where a path might happen to occur twice,
    -    # we don't want the sort operation to trigger an error (but still want
    -    # determinism).  Since the third element can be an int or string, we
    -    # coerce each element to a string to avoid a TypeError in this case.
    -    # For additional background, see--
    -    # https://github.com/pypa/pip/issues/5868
    -    return sorted(outrows, key=lambda row: tuple(str(x) for x in row))
    -
    -
    -def get_csv_rows_for_installed(
    -    old_csv_rows,  # type: Iterable[List[str]]
    -    installed,  # type: Dict[str, str]
    -    changed,  # type: set
    -    generated,  # type: List[str]
    -    lib_dir,  # type: str
    -):
    -    # type: (...) -> List[InstalledCSVRow]
    -    """
    -    :param installed: A map from archive RECORD path to installation RECORD
    -        path.
    -    """
    -    installed_rows = []  # type: List[InstalledCSVRow]
    -    for row in old_csv_rows:
    -        if len(row) > 3:
    -            logger.warning(
    -                'RECORD line has more than three elements: {}'.format(row)
    -            )
    -        # Make a copy because we are mutating the row.
    -        row = list(row)
    -        old_path = row[0]
    -        new_path = installed.pop(old_path, old_path)
    -        row[0] = new_path
    -        if new_path in changed:
    -            digest, length = rehash(new_path)
    -            row[1] = digest
    -            row[2] = length
    -        installed_rows.append(tuple(row))
    -    for f in generated:
    -        digest, length = rehash(f)
    -        installed_rows.append((normpath(f, lib_dir), digest, str(length)))
    -    for f in installed:
    -        installed_rows.append((installed[f], '', ''))
    -    return installed_rows
    -
    -
    -class MissingCallableSuffix(Exception):
    -    pass
    -
    -
    -def _raise_for_invalid_entrypoint(specification):
    -    entry = get_export_entry(specification)
    -    if entry is not None and entry.suffix is None:
    -        raise MissingCallableSuffix(str(entry))
    -
    -
    -class PipScriptMaker(ScriptMaker):
    -    def make(self, specification, options=None):
    -        _raise_for_invalid_entrypoint(specification)
    -        return super(PipScriptMaker, self).make(specification, options)
    -
    -
    -def move_wheel_files(
    -    name,  # type: str
    -    req,  # type: Requirement
    -    wheeldir,  # type: str
    -    user=False,  # type: bool
    -    home=None,  # type: Optional[str]
    -    root=None,  # type: Optional[str]
    -    pycompile=True,  # type: bool
    -    scheme=None,  # type: Optional[Mapping[str, str]]
    -    isolated=False,  # type: bool
    -    prefix=None,  # type: Optional[str]
    -    warn_script_location=True  # type: bool
    -):
    -    # type: (...) -> None
    -    """Install a wheel"""
    -    # TODO: Investigate and break this up.
    -    # TODO: Look into moving this into a dedicated class for representing an
    -    #       installation.
    -
    -    if not scheme:
    -        scheme = distutils_scheme(
    -            name, user=user, home=home, root=root, isolated=isolated,
    -            prefix=prefix,
    -        )
    -
    -    if root_is_purelib(name, wheeldir):
    -        lib_dir = scheme['purelib']
    -    else:
    -        lib_dir = scheme['platlib']
    -
    -    info_dir = []  # type: List[str]
    -    data_dirs = []
    -    source = wheeldir.rstrip(os.path.sep) + os.path.sep
    -
    -    # Record details of the files moved
    -    #   installed = files copied from the wheel to the destination
    -    #   changed = files changed while installing (scripts #! line typically)
    -    #   generated = files newly generated during the install (script wrappers)
    -    installed = {}  # type: Dict[str, str]
    -    changed = set()
    -    generated = []  # type: List[str]
    -
    -    # Compile all of the pyc files that we're going to be installing
    -    if pycompile:
    -        with captured_stdout() as stdout:
    -            with warnings.catch_warnings():
    -                warnings.filterwarnings('ignore')
    -                compileall.compile_dir(source, force=True, quiet=True)
    -        logger.debug(stdout.getvalue())
    -
    -    def record_installed(srcfile, destfile, modified=False):
    -        """Map archive RECORD paths to installation RECORD paths."""
    -        oldpath = normpath(srcfile, wheeldir)
    -        newpath = normpath(destfile, lib_dir)
    -        installed[oldpath] = newpath
    -        if modified:
    -            changed.add(destfile)
    -
    -    def clobber(source, dest, is_base, fixer=None, filter=None):
    -        ensure_dir(dest)  # common for the 'include' path
    -
    -        for dir, subdirs, files in os.walk(source):
    -            basedir = dir[len(source):].lstrip(os.path.sep)
    -            destdir = os.path.join(dest, basedir)
    -            if is_base and basedir.split(os.path.sep, 1)[0].endswith('.data'):
    -                continue
    -            for s in subdirs:
    -                destsubdir = os.path.join(dest, basedir, s)
    -                if is_base and basedir == '' and destsubdir.endswith('.data'):
    -                    data_dirs.append(s)
    -                    continue
    -                elif (is_base and
    -                        s.endswith('.dist-info') and
    -                        canonicalize_name(s).startswith(
    -                            canonicalize_name(req.name))):
    -                    assert not info_dir, ('Multiple .dist-info directories: ' +
    -                                          destsubdir + ', ' +
    -                                          ', '.join(info_dir))
    -                    info_dir.append(destsubdir)
    -            for f in files:
    -                # Skip unwanted files
    -                if filter and filter(f):
    -                    continue
    -                srcfile = os.path.join(dir, f)
    -                destfile = os.path.join(dest, basedir, f)
    -                # directory creation is lazy and after the file filtering above
    -                # to ensure we don't install empty dirs; empty dirs can't be
    -                # uninstalled.
    -                ensure_dir(destdir)
    -
    -                # copyfile (called below) truncates the destination if it
    -                # exists and then writes the new contents. This is fine in most
    -                # cases, but can cause a segfault if pip has loaded a shared
    -                # object (e.g. from pyopenssl through its vendored urllib3)
    -                # Since the shared object is mmap'd an attempt to call a
    -                # symbol in it will then cause a segfault. Unlinking the file
    -                # allows writing of new contents while allowing the process to
    -                # continue to use the old copy.
    -                if os.path.exists(destfile):
    -                    os.unlink(destfile)
    -
    -                # We use copyfile (not move, copy, or copy2) to be extra sure
    -                # that we are not moving directories over (copyfile fails for
    -                # directories) as well as to ensure that we are not copying
    -                # over any metadata because we want more control over what
    -                # metadata we actually copy over.
    -                shutil.copyfile(srcfile, destfile)
    -
    -                # Copy over the metadata for the file, currently this only
    -                # includes the atime and mtime.
    -                st = os.stat(srcfile)
    -                if hasattr(os, "utime"):
    -                    os.utime(destfile, (st.st_atime, st.st_mtime))
    -
    -                # If our file is executable, then make our destination file
    -                # executable.
    -                if os.access(srcfile, os.X_OK):
    -                    st = os.stat(srcfile)
    -                    permissions = (
    -                        st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
    -                    )
    -                    os.chmod(destfile, permissions)
    -
    -                changed = False
    -                if fixer:
    -                    changed = fixer(destfile)
    -                record_installed(srcfile, destfile, changed)
    -
    -    clobber(source, lib_dir, True)
    -
    -    assert info_dir, "%s .dist-info directory not found" % req
    -
    -    # Get the defined entry points
    -    ep_file = os.path.join(info_dir[0], 'entry_points.txt')
    -    console, gui = get_entrypoints(ep_file)
    -
    -    def is_entrypoint_wrapper(name):
    -        # EP, EP.exe and EP-script.py are scripts generated for
    -        # entry point EP by setuptools
    -        if name.lower().endswith('.exe'):
    -            matchname = name[:-4]
    -        elif name.lower().endswith('-script.py'):
    -            matchname = name[:-10]
    -        elif name.lower().endswith(".pya"):
    -            matchname = name[:-4]
    -        else:
    -            matchname = name
    -        # Ignore setuptools-generated scripts
    -        return (matchname in console or matchname in gui)
    -
    -    for datadir in data_dirs:
    -        fixer = None
    -        filter = None
    -        for subdir in os.listdir(os.path.join(wheeldir, datadir)):
    -            fixer = None
    -            if subdir == 'scripts':
    -                fixer = fix_script
    -                filter = is_entrypoint_wrapper
    -            source = os.path.join(wheeldir, datadir, subdir)
    -            dest = scheme[subdir]
    -            clobber(source, dest, False, fixer=fixer, filter=filter)
    -
    -    maker = PipScriptMaker(None, scheme['scripts'])
    -
    -    # Ensure old scripts are overwritten.
    -    # See https://github.com/pypa/pip/issues/1800
    -    maker.clobber = True
    -
    -    # Ensure we don't generate any variants for scripts because this is almost
    -    # never what somebody wants.
    -    # See https://bitbucket.org/pypa/distlib/issue/35/
    -    maker.variants = {''}
    -
    -    # This is required because otherwise distlib creates scripts that are not
    -    # executable.
    -    # See https://bitbucket.org/pypa/distlib/issue/32/
    -    maker.set_mode = True
    -
    -    scripts_to_generate = []
    -
    -    # Special case pip and setuptools to generate versioned wrappers
    -    #
    -    # The issue is that some projects (specifically, pip and setuptools) use
    -    # code in setup.py to create "versioned" entry points - pip2.7 on Python
    -    # 2.7, pip3.3 on Python 3.3, etc. But these entry points are baked into
    -    # the wheel metadata at build time, and so if the wheel is installed with
    -    # a *different* version of Python the entry points will be wrong. The
    -    # correct fix for this is to enhance the metadata to be able to describe
    -    # such versioned entry points, but that won't happen till Metadata 2.0 is
    -    # available.
    -    # In the meantime, projects using versioned entry points will either have
    -    # incorrect versioned entry points, or they will not be able to distribute
    -    # "universal" wheels (i.e., they will need a wheel per Python version).
    -    #
    -    # Because setuptools and pip are bundled with _ensurepip and virtualenv,
    -    # we need to use universal wheels. So, as a stopgap until Metadata 2.0, we
    -    # override the versioned entry points in the wheel and generate the
    -    # correct ones. This code is purely a short-term measure until Metadata 2.0
    -    # is available.
    -    #
    -    # To add the level of hack in this section of code, in order to support
    -    # ensurepip this code will look for an ``ENSUREPIP_OPTIONS`` environment
    -    # variable which will control which version scripts get installed.
    -    #
    -    # ENSUREPIP_OPTIONS=altinstall
    -    #   - Only pipX.Y and easy_install-X.Y will be generated and installed
    -    # ENSUREPIP_OPTIONS=install
    -    #   - pipX.Y, pipX, easy_install-X.Y will be generated and installed. Note
    -    #     that this option is technically if ENSUREPIP_OPTIONS is set and is
    -    #     not altinstall
    -    # DEFAULT
    -    #   - The default behavior is to install pip, pipX, pipX.Y, easy_install
    -    #     and easy_install-X.Y.
    -    pip_script = console.pop('pip', None)
    -    if pip_script:
    -        if "ENSUREPIP_OPTIONS" not in os.environ:
    -            scripts_to_generate.append('pip = ' + pip_script)
    -
    -        if os.environ.get("ENSUREPIP_OPTIONS", "") != "altinstall":
    -            scripts_to_generate.append(
    -                'pip%s = %s' % (sys.version_info[0], pip_script)
    -            )
    -
    -        scripts_to_generate.append(
    -            'pip%s = %s' % (get_major_minor_version(), pip_script)
    -        )
    -        # Delete any other versioned pip entry points
    -        pip_ep = [k for k in console if re.match(r'pip(\d(\.\d)?)?$', k)]
    -        for k in pip_ep:
    -            del console[k]
    -    easy_install_script = console.pop('easy_install', None)
    -    if easy_install_script:
    -        if "ENSUREPIP_OPTIONS" not in os.environ:
    -            scripts_to_generate.append(
    -                'easy_install = ' + easy_install_script
    -            )
    -
    -        scripts_to_generate.append(
    -            'easy_install-%s = %s' % (
    -                get_major_minor_version(), easy_install_script
    -            )
    -        )
    -        # Delete any other versioned easy_install entry points
    -        easy_install_ep = [
    -            k for k in console if re.match(r'easy_install(-\d\.\d)?$', k)
    -        ]
    -        for k in easy_install_ep:
    -            del console[k]
    -
    -    # Generate the console and GUI entry points specified in the wheel
    -    scripts_to_generate.extend(
    -        '%s = %s' % kv for kv in console.items()
    -    )
    -
    -    gui_scripts_to_generate = [
    -        '%s = %s' % kv for kv in gui.items()
    -    ]
    -
    -    generated_console_scripts = []  # type: List[str]
    -
    -    try:
    -        generated_console_scripts = maker.make_multiple(scripts_to_generate)
    -        generated.extend(generated_console_scripts)
    -
    -        generated.extend(
    -            maker.make_multiple(gui_scripts_to_generate, {'gui': True})
    -        )
    -    except MissingCallableSuffix as e:
    -        entry = e.args[0]
    -        raise InstallationError(
    -            "Invalid script entry point: {} for req: {} - A callable "
    -            "suffix is required. Cf https://packaging.python.org/en/"
    -            "latest/distributing.html#console-scripts for more "
    -            "information.".format(entry, req)
    -        )
    -
    -    if warn_script_location:
    -        msg = message_about_scripts_not_on_PATH(generated_console_scripts)
    -        if msg is not None:
    -            logger.warning(msg)
    -
    -    # Record pip as the installer
    -    installer = os.path.join(info_dir[0], 'INSTALLER')
    -    temp_installer = os.path.join(info_dir[0], 'INSTALLER.pip')
    -    with open(temp_installer, 'wb') as installer_file:
    -        installer_file.write(b'pip\n')
    -    shutil.move(temp_installer, installer)
    -    generated.append(installer)
    -
    -    # Record details of all files installed
    -    record = os.path.join(info_dir[0], 'RECORD')
    -    temp_record = os.path.join(info_dir[0], 'RECORD.pip')
    -    with open_for_csv(record, 'r') as record_in:
    -        with open_for_csv(temp_record, 'w+') as record_out:
    -            reader = csv.reader(record_in)
    -            outrows = get_csv_rows_for_installed(
    -                reader, installed=installed, changed=changed,
    -                generated=generated, lib_dir=lib_dir,
    -            )
    -            writer = csv.writer(record_out)
    -            # Sort to simplify testing.
    -            for row in sorted_outrows(outrows):
    -                writer.writerow(row)
    -    shutil.move(temp_record, record)
    -
    -
    -def wheel_version(source_dir):
    -    # type: (Optional[str]) -> Optional[Tuple[int, ...]]
    -    """
    -    Return the Wheel-Version of an extracted wheel, if possible.
    -
    -    Otherwise, return None if we couldn't parse / extract it.
    -    """
    -    try:
    -        dist = [d for d in pkg_resources.find_on_path(None, source_dir)][0]
    -
    -        wheel_data = dist.get_metadata('WHEEL')
    -        wheel_data = Parser().parsestr(wheel_data)
    -
    -        version = wheel_data['Wheel-Version'].strip()
    -        version = tuple(map(int, version.split('.')))
    -        return version
    -    except Exception:
    -        return None
    -
    -
    -def check_compatibility(version, name):
    -    # type: (Optional[Tuple[int, ...]], str) -> None
    -    """
    -    Raises errors or warns if called with an incompatible Wheel-Version.
    -
    -    Pip should refuse to install a Wheel-Version that's a major series
    -    ahead of what it's compatible with (e.g 2.0 > 1.1); and warn when
    -    installing a version only minor version ahead (e.g 1.2 > 1.1).
    -
    -    version: a 2-tuple representing a Wheel-Version (Major, Minor)
    -    name: name of wheel or package to raise exception about
    -
    -    :raises UnsupportedWheel: when an incompatible Wheel-Version is given
    -    """
    -    if not version:
    -        raise UnsupportedWheel(
    -            "%s is in an unsupported or invalid wheel" % name
    -        )
    -    if version[0] > VERSION_COMPATIBLE[0]:
    -        raise UnsupportedWheel(
    -            "%s's Wheel-Version (%s) is not compatible with this version "
    -            "of pip" % (name, '.'.join(map(str, version)))
    -        )
    -    elif version > VERSION_COMPATIBLE:
    -        logger.warning(
    -            'Installing from a newer Wheel-Version (%s)',
    -            '.'.join(map(str, version)),
    -        )
    -
    -
    -def format_tag(file_tag):
    -    # type: (Tuple[str, ...]) -> str
    -    """
    -    Format three tags in the form "--".
    -
    -    :param file_tag: A 3-tuple of tags (python_tag, abi_tag, platform_tag).
    -    """
    -    return '-'.join(file_tag)
    -
    -
    -class Wheel(object):
    -    """A wheel file"""
    -
    -    # TODO: Maybe move the class into the models sub-package
    -    # TODO: Maybe move the install code into this class
    -
    -    wheel_file_re = re.compile(
    -        r"""^(?P(?P.+?)-(?P.*?))
    -        ((-(?P\d[^-]*?))?-(?P.+?)-(?P.+?)-(?P.+?)
    -        \.whl|\.dist-info)$""",
    -        re.VERBOSE
    -    )
    -
    -    def __init__(self, filename):
    -        # type: (str) -> None
    -        """
    -        :raises InvalidWheelFilename: when the filename is invalid for a wheel
    -        """
    -        wheel_info = self.wheel_file_re.match(filename)
    -        if not wheel_info:
    -            raise InvalidWheelFilename(
    -                "%s is not a valid wheel filename." % filename
    -            )
    -        self.filename = filename
    -        self.name = wheel_info.group('name').replace('_', '-')
    -        # we'll assume "_" means "-" due to wheel naming scheme
    -        # (https://github.com/pypa/pip/issues/1150)
    -        self.version = wheel_info.group('ver').replace('_', '-')
    -        self.build_tag = wheel_info.group('build')
    -        self.pyversions = wheel_info.group('pyver').split('.')
    -        self.abis = wheel_info.group('abi').split('.')
    -        self.plats = wheel_info.group('plat').split('.')
    -
    -        # All the tag combinations from this file
    -        self.file_tags = {
    -            (x, y, z) for x in self.pyversions
    -            for y in self.abis for z in self.plats
    -        }
    -
    -    def get_formatted_file_tags(self):
    -        # type: () -> List[str]
    -        """
    -        Return the wheel's tags as a sorted list of strings.
    -        """
    -        return sorted(format_tag(tag) for tag in self.file_tags)
    -
    -    def support_index_min(self, tags):
    -        # type: (List[Pep425Tag]) -> int
    -        """
    -        Return the lowest index that one of the wheel's file_tag combinations
    -        achieves in the given list of supported tags.
    -
    -        For example, if there are 8 supported tags and one of the file tags
    -        is first in the list, then return 0.
    -
    -        :param tags: the PEP 425 tags to check the wheel against, in order
    -            with most preferred first.
    -
    -        :raises ValueError: If none of the wheel's file tags match one of
    -            the supported tags.
    -        """
    -        return min(tags.index(tag) for tag in self.file_tags if tag in tags)
    -
    -    def supported(self, tags):
    -        # type: (List[Pep425Tag]) -> bool
    -        """
    -        Return whether the wheel is compatible with one of the given tags.
    -
    -        :param tags: the PEP 425 tags to check the wheel against.
    -        """
    -        return not self.file_tags.isdisjoint(tags)
    -
    -
    -def _contains_egg_info(
    -        s, _egg_info_re=re.compile(r'([a-z0-9_.]+)-([a-z0-9_.!+-]+)', re.I)):
    -    """Determine whether the string looks like an egg_info.
    -
    -    :param s: The string to parse. E.g. foo-2.1
    -    """
    -    return bool(_egg_info_re.search(s))
    -
    -
    -def should_use_ephemeral_cache(
    -    req,  # type: InstallRequirement
    -    should_unpack,  # type: bool
    -    cache_available,  # type: bool
    -    check_binary_allowed,  # type: BinaryAllowedPredicate
    -):
    -    # type: (...) -> Optional[bool]
    -    """
    -    Return whether to build an InstallRequirement object using the
    -    ephemeral cache.
    -
    -    :param cache_available: whether a cache directory is available for the
    -        should_unpack=True case.
    -
    -    :return: True or False to build the requirement with ephem_cache=True
    -        or False, respectively; or None not to build the requirement.
    -    """
    -    if req.constraint:
    -        # never build requirements that are merely constraints
    -        return None
    -    if req.is_wheel:
    -        if not should_unpack:
    -            logger.info(
    -                'Skipping %s, due to already being wheel.', req.name,
    -            )
    -        return None
    -    if not should_unpack:
    -        # i.e. pip wheel, not pip install;
    -        # return False, knowing that the caller will never cache
    -        # in this case anyway, so this return merely means "build it".
    -        # TODO improve this behavior
    -        return False
    -
    -    if req.editable or not req.source_dir:
    -        return None
    -
    -    if not check_binary_allowed(req):
    -        logger.info(
    -            "Skipping wheel build for %s, due to binaries "
    -            "being disabled for it.", req.name,
    -        )
    -        return None
    -
    -    if req.link and req.link.is_vcs:
    -        # VCS checkout. Build wheel just for this run.
    -        return True
    -
    -    link = req.link
    -    base, ext = link.splitext()
    -    if cache_available and _contains_egg_info(base):
    -        return False
    -
    -    # Otherwise, build the wheel just for this run using the ephemeral
    -    # cache since we are either in the case of e.g. a local directory, or
    -    # no cache directory is available to use.
    -    return True
    -
    -
    -def format_command_result(
    -    command_args,  # type: List[str]
    -    command_output,  # type: str
    -):
    -    # type: (...) -> str
    -    """
    -    Format command information for logging.
    -    """
    -    command_desc = format_command_args(command_args)
    -    text = 'Command arguments: {}\n'.format(command_desc)
    -
    -    if not command_output:
    -        text += 'Command output: None'
    -    elif logger.getEffectiveLevel() > logging.DEBUG:
    -        text += 'Command output: [use --verbose to show]'
    -    else:
    -        if not command_output.endswith('\n'):
    -            command_output += '\n'
    -        text += 'Command output:\n{}{}'.format(command_output, LOG_DIVIDER)
    -
    -    return text
    -
    -
    -def get_legacy_build_wheel_path(
    -    names,  # type: List[str]
    -    temp_dir,  # type: str
    -    req,  # type: InstallRequirement
    -    command_args,  # type: List[str]
    -    command_output,  # type: str
    -):
    -    # type: (...) -> Optional[str]
    -    """
    -    Return the path to the wheel in the temporary build directory.
    -    """
    -    # Sort for determinism.
    -    names = sorted(names)
    -    if not names:
    -        msg = (
    -            'Legacy build of wheel for {!r} created no files.\n'
    -        ).format(req.name)
    -        msg += format_command_result(command_args, command_output)
    -        logger.warning(msg)
    -        return None
    -
    -    if len(names) > 1:
    -        msg = (
    -            'Legacy build of wheel for {!r} created more than one file.\n'
    -            'Filenames (choosing first): {}\n'
    -        ).format(req.name, names)
    -        msg += format_command_result(command_args, command_output)
    -        logger.warning(msg)
    -
    -    return os.path.join(temp_dir, names[0])
    -
    -
    -def _always_true(_):
    -    return True
    -
    -
    -class WheelBuilder(object):
    -    """Build wheels from a RequirementSet."""
    -
    -    def __init__(
    -        self,
    -        preparer,  # type: RequirementPreparer
    -        wheel_cache,  # type: WheelCache
    -        build_options=None,  # type: Optional[List[str]]
    -        global_options=None,  # type: Optional[List[str]]
    -        check_binary_allowed=None,  # type: Optional[BinaryAllowedPredicate]
    -        no_clean=False  # type: bool
    -    ):
    -        # type: (...) -> None
    -        if check_binary_allowed is None:
    -            # Binaries allowed by default.
    -            check_binary_allowed = _always_true
    -
    -        self.preparer = preparer
    -        self.wheel_cache = wheel_cache
    -
    -        self._wheel_dir = preparer.wheel_download_dir
    -
    -        self.build_options = build_options or []
    -        self.global_options = global_options or []
    -        self.check_binary_allowed = check_binary_allowed
    -        self.no_clean = no_clean
    -
    -    def _build_one(self, req, output_dir, python_tag=None):
    -        """Build one wheel.
    -
    -        :return: The filename of the built wheel, or None if the build failed.
    -        """
    -        # Install build deps into temporary directory (PEP 518)
    -        with req.build_env:
    -            return self._build_one_inside_env(req, output_dir,
    -                                              python_tag=python_tag)
    -
    -    def _build_one_inside_env(self, req, output_dir, python_tag=None):
    -        with TempDirectory(kind="wheel") as temp_dir:
    -            if req.use_pep517:
    -                builder = self._build_one_pep517
    -            else:
    -                builder = self._build_one_legacy
    -            wheel_path = builder(req, temp_dir.path, python_tag=python_tag)
    -            if wheel_path is not None:
    -                wheel_name = os.path.basename(wheel_path)
    -                dest_path = os.path.join(output_dir, wheel_name)
    -                try:
    -                    wheel_hash, length = hash_file(wheel_path)
    -                    shutil.move(wheel_path, dest_path)
    -                    logger.info('Created wheel for %s: '
    -                                'filename=%s size=%d sha256=%s',
    -                                req.name, wheel_name, length,
    -                                wheel_hash.hexdigest())
    -                    logger.info('Stored in directory: %s', output_dir)
    -                    return dest_path
    -                except Exception:
    -                    pass
    -            # Ignore return, we can't do anything else useful.
    -            self._clean_one(req)
    -            return None
    -
    -    def _base_setup_args(self, req):
    -        # NOTE: Eventually, we'd want to also -S to the flags here, when we're
    -        # isolating. Currently, it breaks Python in virtualenvs, because it
    -        # relies on site.py to find parts of the standard library outside the
    -        # virtualenv.
    -        return make_setuptools_shim_args(
    -            req.setup_py_path,
    -            global_options=self.global_options,
    -            unbuffered_output=True
    -        )
    -
    -    def _build_one_pep517(self, req, tempd, python_tag=None):
    -        """Build one InstallRequirement using the PEP 517 build process.
    -
    -        Returns path to wheel if successfully built. Otherwise, returns None.
    -        """
    -        assert req.metadata_directory is not None
    -        if self.build_options:
    -            # PEP 517 does not support --build-options
    -            logger.error('Cannot build wheel for %s using PEP 517 when '
    -                         '--build-options is present' % (req.name,))
    -            return None
    -        try:
    -            logger.debug('Destination directory: %s', tempd)
    -
    -            runner = runner_with_spinner_message(
    -                'Building wheel for {} (PEP 517)'.format(req.name)
    -            )
    -            backend = req.pep517_backend
    -            with backend.subprocess_runner(runner):
    -                wheel_name = backend.build_wheel(
    -                    tempd,
    -                    metadata_directory=req.metadata_directory,
    -                )
    -            if python_tag:
    -                # General PEP 517 backends don't necessarily support
    -                # a "--python-tag" option, so we rename the wheel
    -                # file directly.
    -                new_name = replace_python_tag(wheel_name, python_tag)
    -                os.rename(
    -                    os.path.join(tempd, wheel_name),
    -                    os.path.join(tempd, new_name)
    -                )
    -                # Reassign to simplify the return at the end of function
    -                wheel_name = new_name
    -        except Exception:
    -            logger.error('Failed building wheel for %s', req.name)
    -            return None
    -        return os.path.join(tempd, wheel_name)
    -
    -    def _build_one_legacy(self, req, tempd, python_tag=None):
    -        """Build one InstallRequirement using the "legacy" build process.
    -
    -        Returns path to wheel if successfully built. Otherwise, returns None.
    -        """
    -        base_args = self._base_setup_args(req)
    -
    -        spin_message = 'Building wheel for %s (setup.py)' % (req.name,)
    -        with open_spinner(spin_message) as spinner:
    -            logger.debug('Destination directory: %s', tempd)
    -            wheel_args = base_args + ['bdist_wheel', '-d', tempd] \
    -                + self.build_options
    -
    -            if python_tag is not None:
    -                wheel_args += ["--python-tag", python_tag]
    -
    -            try:
    -                output = call_subprocess(
    -                    wheel_args,
    -                    cwd=req.unpacked_source_directory,
    -                    spinner=spinner,
    -                )
    -            except Exception:
    -                spinner.finish("error")
    -                logger.error('Failed building wheel for %s', req.name)
    -                return None
    -
    -            names = os.listdir(tempd)
    -            wheel_path = get_legacy_build_wheel_path(
    -                names=names,
    -                temp_dir=tempd,
    -                req=req,
    -                command_args=wheel_args,
    -                command_output=output,
    -            )
    -            return wheel_path
    -
    -    def _clean_one(self, req):
    -        base_args = self._base_setup_args(req)
    -
    -        logger.info('Running setup.py clean for %s', req.name)
    -        clean_args = base_args + ['clean', '--all']
    -        try:
    -            call_subprocess(clean_args, cwd=req.source_dir)
    -            return True
    -        except Exception:
    -            logger.error('Failed cleaning build dir for %s', req.name)
    -            return False
    -
    -    def build(
    -        self,
    -        requirements,  # type: Iterable[InstallRequirement]
    -        should_unpack=False  # type: bool
    -    ):
    -        # type: (...) -> List[InstallRequirement]
    -        """Build wheels.
    -
    -        :param should_unpack: If True, after building the wheel, unpack it
    -            and replace the sdist with the unpacked version in preparation
    -            for installation.
    -        :return: True if all the wheels built correctly.
    -        """
    -        # pip install uses should_unpack=True.
    -        # pip install never provides a _wheel_dir.
    -        # pip wheel uses should_unpack=False.
    -        # pip wheel always provides a _wheel_dir (via the preparer).
    -        assert (
    -            (should_unpack and not self._wheel_dir) or
    -            (not should_unpack and self._wheel_dir)
    -        )
    -
    -        buildset = []
    -        cache_available = bool(self.wheel_cache.cache_dir)
    -
    -        for req in requirements:
    -            ephem_cache = should_use_ephemeral_cache(
    -                req,
    -                should_unpack=should_unpack,
    -                cache_available=cache_available,
    -                check_binary_allowed=self.check_binary_allowed,
    -            )
    -            if ephem_cache is None:
    -                continue
    -
    -            # Determine where the wheel should go.
    -            if should_unpack:
    -                if ephem_cache:
    -                    output_dir = self.wheel_cache.get_ephem_path_for_link(
    -                        req.link
    -                    )
    -                else:
    -                    output_dir = self.wheel_cache.get_path_for_link(req.link)
    -            else:
    -                output_dir = self._wheel_dir
    -
    -            buildset.append((req, output_dir))
    -
    -        if not buildset:
    -            return []
    -
    -        # TODO by @pradyunsg
    -        # Should break up this method into 2 separate methods.
    -
    -        # Build the wheels.
    -        logger.info(
    -            'Building wheels for collected packages: %s',
    -            ', '.join([req.name for (req, _) in buildset]),
    -        )
    -
    -        python_tag = None
    -        if should_unpack:
    -            python_tag = pep425tags.implementation_tag
    -
    -        with indent_log():
    -            build_success, build_failure = [], []
    -            for req, output_dir in buildset:
    -                try:
    -                    ensure_dir(output_dir)
    -                except OSError as e:
    -                    logger.warning(
    -                        "Building wheel for %s failed: %s",
    -                        req.name, e,
    -                    )
    -                    build_failure.append(req)
    -                    continue
    -
    -                wheel_file = self._build_one(
    -                    req, output_dir,
    -                    python_tag=python_tag,
    -                )
    -                if wheel_file:
    -                    build_success.append(req)
    -                    if should_unpack:
    -                        # XXX: This is mildly duplicative with prepare_files,
    -                        # but not close enough to pull out to a single common
    -                        # method.
    -                        # The code below assumes temporary source dirs -
    -                        # prevent it doing bad things.
    -                        if (
    -                            req.source_dir and
    -                            not has_delete_marker_file(req.source_dir)
    -                        ):
    -                            raise AssertionError(
    -                                "bad source dir - missing marker")
    -                        # Delete the source we built the wheel from
    -                        req.remove_temporary_source()
    -                        # set the build directory again - name is known from
    -                        # the work prepare_files did.
    -                        req.source_dir = req.ensure_build_location(
    -                            self.preparer.build_dir
    -                        )
    -                        # Update the link for this.
    -                        req.link = Link(path_to_url(wheel_file))
    -                        assert req.link.is_wheel
    -                        # extract the wheel into the dir
    -                        unpack_file(req.link.file_path, req.source_dir)
    -                else:
    -                    build_failure.append(req)
    -
    -        # notify success/failure
    -        if build_success:
    -            logger.info(
    -                'Successfully built %s',
    -                ' '.join([req.name for req in build_success]),
    -            )
    -        if build_failure:
    -            logger.info(
    -                'Failed to build %s',
    -                ' '.join([req.name for req in build_failure]),
    -            )
    -        # Return a list of requirements that failed to build
    -        return build_failure
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/__init__.py
    deleted file mode 100644
    index a0fcb8e..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/__init__.py
    +++ /dev/null
    @@ -1,109 +0,0 @@
    -"""
    -pip._vendor is for vendoring dependencies of pip to prevent needing pip to
    -depend on something external.
    -
    -Files inside of pip._vendor should be considered immutable and should only be
    -updated to versions from upstream.
    -"""
    -from __future__ import absolute_import
    -
    -import glob
    -import os.path
    -import sys
    -
    -# Downstream redistributors which have debundled our dependencies should also
    -# patch this value to be true. This will trigger the additional patching
    -# to cause things like "six" to be available as pip.
    -DEBUNDLED = False
    -
    -# By default, look in this directory for a bunch of .whl files which we will
    -# add to the beginning of sys.path before attempting to import anything. This
    -# is done to support downstream re-distributors like Debian and Fedora who
    -# wish to create their own Wheels for our dependencies to aid in debundling.
    -WHEEL_DIR = os.path.abspath(os.path.dirname(__file__))
    -
    -
    -# Define a small helper function to alias our vendored modules to the real ones
    -# if the vendored ones do not exist. This idea of this was taken from
    -# https://github.com/kennethreitz/requests/pull/2567.
    -def vendored(modulename):
    -    vendored_name = "{0}.{1}".format(__name__, modulename)
    -
    -    try:
    -        __import__(modulename, globals(), locals(), level=0)
    -    except ImportError:
    -        # We can just silently allow import failures to pass here. If we
    -        # got to this point it means that ``import pip._vendor.whatever``
    -        # failed and so did ``import whatever``. Since we're importing this
    -        # upfront in an attempt to alias imports, not erroring here will
    -        # just mean we get a regular import error whenever pip *actually*
    -        # tries to import one of these modules to use it, which actually
    -        # gives us a better error message than we would have otherwise
    -        # gotten.
    -        pass
    -    else:
    -        sys.modules[vendored_name] = sys.modules[modulename]
    -        base, head = vendored_name.rsplit(".", 1)
    -        setattr(sys.modules[base], head, sys.modules[modulename])
    -
    -
    -# If we're operating in a debundled setup, then we want to go ahead and trigger
    -# the aliasing of our vendored libraries as well as looking for wheels to add
    -# to our sys.path. This will cause all of this code to be a no-op typically
    -# however downstream redistributors can enable it in a consistent way across
    -# all platforms.
    -if DEBUNDLED:
    -    # Actually look inside of WHEEL_DIR to find .whl files and add them to the
    -    # front of our sys.path.
    -    sys.path[:] = glob.glob(os.path.join(WHEEL_DIR, "*.whl")) + sys.path
    -
    -    # Actually alias all of our vendored dependencies.
    -    vendored("cachecontrol")
    -    vendored("colorama")
    -    vendored("contextlib2")
    -    vendored("distlib")
    -    vendored("distro")
    -    vendored("html5lib")
    -    vendored("six")
    -    vendored("six.moves")
    -    vendored("six.moves.urllib")
    -    vendored("six.moves.urllib.parse")
    -    vendored("packaging")
    -    vendored("packaging.version")
    -    vendored("packaging.specifiers")
    -    vendored("pep517")
    -    vendored("pkg_resources")
    -    vendored("progress")
    -    vendored("pytoml")
    -    vendored("retrying")
    -    vendored("requests")
    -    vendored("requests.exceptions")
    -    vendored("requests.packages")
    -    vendored("requests.packages.urllib3")
    -    vendored("requests.packages.urllib3._collections")
    -    vendored("requests.packages.urllib3.connection")
    -    vendored("requests.packages.urllib3.connectionpool")
    -    vendored("requests.packages.urllib3.contrib")
    -    vendored("requests.packages.urllib3.contrib.ntlmpool")
    -    vendored("requests.packages.urllib3.contrib.pyopenssl")
    -    vendored("requests.packages.urllib3.exceptions")
    -    vendored("requests.packages.urllib3.fields")
    -    vendored("requests.packages.urllib3.filepost")
    -    vendored("requests.packages.urllib3.packages")
    -    vendored("requests.packages.urllib3.packages.ordered_dict")
    -    vendored("requests.packages.urllib3.packages.six")
    -    vendored("requests.packages.urllib3.packages.ssl_match_hostname")
    -    vendored("requests.packages.urllib3.packages.ssl_match_hostname."
    -             "_implementation")
    -    vendored("requests.packages.urllib3.poolmanager")
    -    vendored("requests.packages.urllib3.request")
    -    vendored("requests.packages.urllib3.response")
    -    vendored("requests.packages.urllib3.util")
    -    vendored("requests.packages.urllib3.util.connection")
    -    vendored("requests.packages.urllib3.util.request")
    -    vendored("requests.packages.urllib3.util.response")
    -    vendored("requests.packages.urllib3.util.retry")
    -    vendored("requests.packages.urllib3.util.ssl_")
    -    vendored("requests.packages.urllib3.util.timeout")
    -    vendored("requests.packages.urllib3.util.url")
    -    vendored("urllib3")
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/appdirs.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/appdirs.py
    deleted file mode 100644
    index 2bd3911..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/appdirs.py
    +++ /dev/null
    @@ -1,604 +0,0 @@
    -#!/usr/bin/env python
    -# -*- coding: utf-8 -*-
    -# Copyright (c) 2005-2010 ActiveState Software Inc.
    -# Copyright (c) 2013 Eddy Petrișor
    -
    -"""Utilities for determining application-specific dirs.
    -
    -See  for details and usage.
    -"""
    -# Dev Notes:
    -# - MSDN on where to store app data files:
    -#   http://support.microsoft.com/default.aspx?scid=kb;en-us;310294#XSLTH3194121123120121120120
    -# - Mac OS X: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/index.html
    -# - XDG spec for Un*x: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
    -
    -__version_info__ = (1, 4, 3)
    -__version__ = '.'.join(map(str, __version_info__))
    -
    -
    -import sys
    -import os
    -
    -PY3 = sys.version_info[0] == 3
    -
    -if PY3:
    -    unicode = str
    -
    -if sys.platform.startswith('java'):
    -    import platform
    -    os_name = platform.java_ver()[3][0]
    -    if os_name.startswith('Windows'): # "Windows XP", "Windows 7", etc.
    -        system = 'win32'
    -    elif os_name.startswith('Mac'): # "Mac OS X", etc.
    -        system = 'darwin'
    -    else: # "Linux", "SunOS", "FreeBSD", etc.
    -        # Setting this to "linux2" is not ideal, but only Windows or Mac
    -        # are actually checked for and the rest of the module expects
    -        # *sys.platform* style strings.
    -        system = 'linux2'
    -else:
    -    system = sys.platform
    -
    -
    -
    -def user_data_dir(appname=None, appauthor=None, version=None, roaming=False):
    -    r"""Return full path to the user-specific data dir for this application.
    -
    -        "appname" is the name of application.
    -            If None, just the system directory is returned.
    -        "appauthor" (only used on Windows) is the name of the
    -            appauthor or distributing body for this application. Typically
    -            it is the owning company name. This falls back to appname. You may
    -            pass False to disable it.
    -        "version" is an optional version path element to append to the
    -            path. You might want to use this if you want multiple versions
    -            of your app to be able to run independently. If used, this
    -            would typically be ".".
    -            Only applied when appname is present.
    -        "roaming" (boolean, default False) can be set True to use the Windows
    -            roaming appdata directory. That means that for users on a Windows
    -            network setup for roaming profiles, this user data will be
    -            sync'd on login. See
    -            
    -            for a discussion of issues.
    -
    -    Typical user data directories are:
    -        Mac OS X:               ~/Library/Application Support/
    -        Unix:                   ~/.local/share/    # or in $XDG_DATA_HOME, if defined
    -        Win XP (not roaming):   C:\Documents and Settings\\Application Data\\
    -        Win XP (roaming):       C:\Documents and Settings\\Local Settings\Application Data\\
    -        Win 7  (not roaming):   C:\Users\\AppData\Local\\
    -        Win 7  (roaming):       C:\Users\\AppData\Roaming\\
    -
    -    For Unix, we follow the XDG spec and support $XDG_DATA_HOME.
    -    That means, by default "~/.local/share/".
    -    """
    -    if system == "win32":
    -        if appauthor is None:
    -            appauthor = appname
    -        const = roaming and "CSIDL_APPDATA" or "CSIDL_LOCAL_APPDATA"
    -        path = os.path.normpath(_get_win_folder(const))
    -        if appname:
    -            if appauthor is not False:
    -                path = os.path.join(path, appauthor, appname)
    -            else:
    -                path = os.path.join(path, appname)
    -    elif system == 'darwin':
    -        path = os.path.expanduser('~/Library/Application Support/')
    -        if appname:
    -            path = os.path.join(path, appname)
    -    else:
    -        path = os.getenv('XDG_DATA_HOME', os.path.expanduser("~/.local/share"))
    -        if appname:
    -            path = os.path.join(path, appname)
    -    if appname and version:
    -        path = os.path.join(path, version)
    -    return path
    -
    -
    -def site_data_dir(appname=None, appauthor=None, version=None, multipath=False):
    -    r"""Return full path to the user-shared data dir for this application.
    -
    -        "appname" is the name of application.
    -            If None, just the system directory is returned.
    -        "appauthor" (only used on Windows) is the name of the
    -            appauthor or distributing body for this application. Typically
    -            it is the owning company name. This falls back to appname. You may
    -            pass False to disable it.
    -        "version" is an optional version path element to append to the
    -            path. You might want to use this if you want multiple versions
    -            of your app to be able to run independently. If used, this
    -            would typically be ".".
    -            Only applied when appname is present.
    -        "multipath" is an optional parameter only applicable to *nix
    -            which indicates that the entire list of data dirs should be
    -            returned. By default, the first item from XDG_DATA_DIRS is
    -            returned, or '/usr/local/share/',
    -            if XDG_DATA_DIRS is not set
    -
    -    Typical site data directories are:
    -        Mac OS X:   /Library/Application Support/
    -        Unix:       /usr/local/share/ or /usr/share/
    -        Win XP:     C:\Documents and Settings\All Users\Application Data\\
    -        Vista:      (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.)
    -        Win 7:      C:\ProgramData\\   # Hidden, but writeable on Win 7.
    -
    -    For Unix, this is using the $XDG_DATA_DIRS[0] default.
    -
    -    WARNING: Do not use this on Windows. See the Vista-Fail note above for why.
    -    """
    -    if system == "win32":
    -        if appauthor is None:
    -            appauthor = appname
    -        path = os.path.normpath(_get_win_folder("CSIDL_COMMON_APPDATA"))
    -        if appname:
    -            if appauthor is not False:
    -                path = os.path.join(path, appauthor, appname)
    -            else:
    -                path = os.path.join(path, appname)
    -    elif system == 'darwin':
    -        path = os.path.expanduser('/Library/Application Support')
    -        if appname:
    -            path = os.path.join(path, appname)
    -    else:
    -        # XDG default for $XDG_DATA_DIRS
    -        # only first, if multipath is False
    -        path = os.getenv('XDG_DATA_DIRS',
    -                         os.pathsep.join(['/usr/local/share', '/usr/share']))
    -        pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)]
    -        if appname:
    -            if version:
    -                appname = os.path.join(appname, version)
    -            pathlist = [os.sep.join([x, appname]) for x in pathlist]
    -
    -        if multipath:
    -            path = os.pathsep.join(pathlist)
    -        else:
    -            path = pathlist[0]
    -        return path
    -
    -    if appname and version:
    -        path = os.path.join(path, version)
    -    return path
    -
    -
    -def user_config_dir(appname=None, appauthor=None, version=None, roaming=False):
    -    r"""Return full path to the user-specific config dir for this application.
    -
    -        "appname" is the name of application.
    -            If None, just the system directory is returned.
    -        "appauthor" (only used on Windows) is the name of the
    -            appauthor or distributing body for this application. Typically
    -            it is the owning company name. This falls back to appname. You may
    -            pass False to disable it.
    -        "version" is an optional version path element to append to the
    -            path. You might want to use this if you want multiple versions
    -            of your app to be able to run independently. If used, this
    -            would typically be ".".
    -            Only applied when appname is present.
    -        "roaming" (boolean, default False) can be set True to use the Windows
    -            roaming appdata directory. That means that for users on a Windows
    -            network setup for roaming profiles, this user data will be
    -            sync'd on login. See
    -            
    -            for a discussion of issues.
    -
    -    Typical user config directories are:
    -        Mac OS X:               same as user_data_dir
    -        Unix:                   ~/.config/     # or in $XDG_CONFIG_HOME, if defined
    -        Win *:                  same as user_data_dir
    -
    -    For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME.
    -    That means, by default "~/.config/".
    -    """
    -    if system in ["win32", "darwin"]:
    -        path = user_data_dir(appname, appauthor, None, roaming)
    -    else:
    -        path = os.getenv('XDG_CONFIG_HOME', os.path.expanduser("~/.config"))
    -        if appname:
    -            path = os.path.join(path, appname)
    -    if appname and version:
    -        path = os.path.join(path, version)
    -    return path
    -
    -
    -def site_config_dir(appname=None, appauthor=None, version=None, multipath=False):
    -    r"""Return full path to the user-shared data dir for this application.
    -
    -        "appname" is the name of application.
    -            If None, just the system directory is returned.
    -        "appauthor" (only used on Windows) is the name of the
    -            appauthor or distributing body for this application. Typically
    -            it is the owning company name. This falls back to appname. You may
    -            pass False to disable it.
    -        "version" is an optional version path element to append to the
    -            path. You might want to use this if you want multiple versions
    -            of your app to be able to run independently. If used, this
    -            would typically be ".".
    -            Only applied when appname is present.
    -        "multipath" is an optional parameter only applicable to *nix
    -            which indicates that the entire list of config dirs should be
    -            returned. By default, the first item from XDG_CONFIG_DIRS is
    -            returned, or '/etc/xdg/', if XDG_CONFIG_DIRS is not set
    -
    -    Typical site config directories are:
    -        Mac OS X:   same as site_data_dir
    -        Unix:       /etc/xdg/ or $XDG_CONFIG_DIRS[i]/ for each value in
    -                    $XDG_CONFIG_DIRS
    -        Win *:      same as site_data_dir
    -        Vista:      (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.)
    -
    -    For Unix, this is using the $XDG_CONFIG_DIRS[0] default, if multipath=False
    -
    -    WARNING: Do not use this on Windows. See the Vista-Fail note above for why.
    -    """
    -    if system in ["win32", "darwin"]:
    -        path = site_data_dir(appname, appauthor)
    -        if appname and version:
    -            path = os.path.join(path, version)
    -    else:
    -        # XDG default for $XDG_CONFIG_DIRS
    -        # only first, if multipath is False
    -        path = os.getenv('XDG_CONFIG_DIRS', '/etc/xdg')
    -        pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)]
    -        if appname:
    -            if version:
    -                appname = os.path.join(appname, version)
    -            pathlist = [os.sep.join([x, appname]) for x in pathlist]
    -
    -        if multipath:
    -            path = os.pathsep.join(pathlist)
    -        else:
    -            path = pathlist[0]
    -    return path
    -
    -
    -def user_cache_dir(appname=None, appauthor=None, version=None, opinion=True):
    -    r"""Return full path to the user-specific cache dir for this application.
    -
    -        "appname" is the name of application.
    -            If None, just the system directory is returned.
    -        "appauthor" (only used on Windows) is the name of the
    -            appauthor or distributing body for this application. Typically
    -            it is the owning company name. This falls back to appname. You may
    -            pass False to disable it.
    -        "version" is an optional version path element to append to the
    -            path. You might want to use this if you want multiple versions
    -            of your app to be able to run independently. If used, this
    -            would typically be ".".
    -            Only applied when appname is present.
    -        "opinion" (boolean) can be False to disable the appending of
    -            "Cache" to the base app data dir for Windows. See
    -            discussion below.
    -
    -    Typical user cache directories are:
    -        Mac OS X:   ~/Library/Caches/
    -        Unix:       ~/.cache/ (XDG default)
    -        Win XP:     C:\Documents and Settings\\Local Settings\Application Data\\\Cache
    -        Vista:      C:\Users\\AppData\Local\\\Cache
    -
    -    On Windows the only suggestion in the MSDN docs is that local settings go in
    -    the `CSIDL_LOCAL_APPDATA` directory. This is identical to the non-roaming
    -    app data dir (the default returned by `user_data_dir` above). Apps typically
    -    put cache data somewhere *under* the given dir here. Some examples:
    -        ...\Mozilla\Firefox\Profiles\\Cache
    -        ...\Acme\SuperApp\Cache\1.0
    -    OPINION: This function appends "Cache" to the `CSIDL_LOCAL_APPDATA` value.
    -    This can be disabled with the `opinion=False` option.
    -    """
    -    if system == "win32":
    -        if appauthor is None:
    -            appauthor = appname
    -        path = os.path.normpath(_get_win_folder("CSIDL_LOCAL_APPDATA"))
    -        if appname:
    -            if appauthor is not False:
    -                path = os.path.join(path, appauthor, appname)
    -            else:
    -                path = os.path.join(path, appname)
    -            if opinion:
    -                path = os.path.join(path, "Cache")
    -    elif system == 'darwin':
    -        path = os.path.expanduser('~/Library/Caches')
    -        if appname:
    -            path = os.path.join(path, appname)
    -    else:
    -        path = os.getenv('XDG_CACHE_HOME', os.path.expanduser('~/.cache'))
    -        if appname:
    -            path = os.path.join(path, appname)
    -    if appname and version:
    -        path = os.path.join(path, version)
    -    return path
    -
    -
    -def user_state_dir(appname=None, appauthor=None, version=None, roaming=False):
    -    r"""Return full path to the user-specific state dir for this application.
    -
    -        "appname" is the name of application.
    -            If None, just the system directory is returned.
    -        "appauthor" (only used on Windows) is the name of the
    -            appauthor or distributing body for this application. Typically
    -            it is the owning company name. This falls back to appname. You may
    -            pass False to disable it.
    -        "version" is an optional version path element to append to the
    -            path. You might want to use this if you want multiple versions
    -            of your app to be able to run independently. If used, this
    -            would typically be ".".
    -            Only applied when appname is present.
    -        "roaming" (boolean, default False) can be set True to use the Windows
    -            roaming appdata directory. That means that for users on a Windows
    -            network setup for roaming profiles, this user data will be
    -            sync'd on login. See
    -            
    -            for a discussion of issues.
    -
    -    Typical user state directories are:
    -        Mac OS X:  same as user_data_dir
    -        Unix:      ~/.local/state/   # or in $XDG_STATE_HOME, if defined
    -        Win *:     same as user_data_dir
    -
    -    For Unix, we follow this Debian proposal 
    -    to extend the XDG spec and support $XDG_STATE_HOME.
    -
    -    That means, by default "~/.local/state/".
    -    """
    -    if system in ["win32", "darwin"]:
    -        path = user_data_dir(appname, appauthor, None, roaming)
    -    else:
    -        path = os.getenv('XDG_STATE_HOME', os.path.expanduser("~/.local/state"))
    -        if appname:
    -            path = os.path.join(path, appname)
    -    if appname and version:
    -        path = os.path.join(path, version)
    -    return path
    -
    -
    -def user_log_dir(appname=None, appauthor=None, version=None, opinion=True):
    -    r"""Return full path to the user-specific log dir for this application.
    -
    -        "appname" is the name of application.
    -            If None, just the system directory is returned.
    -        "appauthor" (only used on Windows) is the name of the
    -            appauthor or distributing body for this application. Typically
    -            it is the owning company name. This falls back to appname. You may
    -            pass False to disable it.
    -        "version" is an optional version path element to append to the
    -            path. You might want to use this if you want multiple versions
    -            of your app to be able to run independently. If used, this
    -            would typically be ".".
    -            Only applied when appname is present.
    -        "opinion" (boolean) can be False to disable the appending of
    -            "Logs" to the base app data dir for Windows, and "log" to the
    -            base cache dir for Unix. See discussion below.
    -
    -    Typical user log directories are:
    -        Mac OS X:   ~/Library/Logs/
    -        Unix:       ~/.cache//log  # or under $XDG_CACHE_HOME if defined
    -        Win XP:     C:\Documents and Settings\\Local Settings\Application Data\\\Logs
    -        Vista:      C:\Users\\AppData\Local\\\Logs
    -
    -    On Windows the only suggestion in the MSDN docs is that local settings
    -    go in the `CSIDL_LOCAL_APPDATA` directory. (Note: I'm interested in
    -    examples of what some windows apps use for a logs dir.)
    -
    -    OPINION: This function appends "Logs" to the `CSIDL_LOCAL_APPDATA`
    -    value for Windows and appends "log" to the user cache dir for Unix.
    -    This can be disabled with the `opinion=False` option.
    -    """
    -    if system == "darwin":
    -        path = os.path.join(
    -            os.path.expanduser('~/Library/Logs'),
    -            appname)
    -    elif system == "win32":
    -        path = user_data_dir(appname, appauthor, version)
    -        version = False
    -        if opinion:
    -            path = os.path.join(path, "Logs")
    -    else:
    -        path = user_cache_dir(appname, appauthor, version)
    -        version = False
    -        if opinion:
    -            path = os.path.join(path, "log")
    -    if appname and version:
    -        path = os.path.join(path, version)
    -    return path
    -
    -
    -class AppDirs(object):
    -    """Convenience wrapper for getting application dirs."""
    -    def __init__(self, appname=None, appauthor=None, version=None,
    -            roaming=False, multipath=False):
    -        self.appname = appname
    -        self.appauthor = appauthor
    -        self.version = version
    -        self.roaming = roaming
    -        self.multipath = multipath
    -
    -    @property
    -    def user_data_dir(self):
    -        return user_data_dir(self.appname, self.appauthor,
    -                             version=self.version, roaming=self.roaming)
    -
    -    @property
    -    def site_data_dir(self):
    -        return site_data_dir(self.appname, self.appauthor,
    -                             version=self.version, multipath=self.multipath)
    -
    -    @property
    -    def user_config_dir(self):
    -        return user_config_dir(self.appname, self.appauthor,
    -                               version=self.version, roaming=self.roaming)
    -
    -    @property
    -    def site_config_dir(self):
    -        return site_config_dir(self.appname, self.appauthor,
    -                             version=self.version, multipath=self.multipath)
    -
    -    @property
    -    def user_cache_dir(self):
    -        return user_cache_dir(self.appname, self.appauthor,
    -                              version=self.version)
    -
    -    @property
    -    def user_state_dir(self):
    -        return user_state_dir(self.appname, self.appauthor,
    -                              version=self.version)
    -
    -    @property
    -    def user_log_dir(self):
    -        return user_log_dir(self.appname, self.appauthor,
    -                            version=self.version)
    -
    -
    -#---- internal support stuff
    -
    -def _get_win_folder_from_registry(csidl_name):
    -    """This is a fallback technique at best. I'm not sure if using the
    -    registry for this guarantees us the correct answer for all CSIDL_*
    -    names.
    -    """
    -    if PY3:
    -      import winreg as _winreg
    -    else:
    -      import _winreg
    -
    -    shell_folder_name = {
    -        "CSIDL_APPDATA": "AppData",
    -        "CSIDL_COMMON_APPDATA": "Common AppData",
    -        "CSIDL_LOCAL_APPDATA": "Local AppData",
    -    }[csidl_name]
    -
    -    key = _winreg.OpenKey(
    -        _winreg.HKEY_CURRENT_USER,
    -        r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
    -    )
    -    dir, type = _winreg.QueryValueEx(key, shell_folder_name)
    -    return dir
    -
    -
    -def _get_win_folder_with_pywin32(csidl_name):
    -    from win32com.shell import shellcon, shell
    -    dir = shell.SHGetFolderPath(0, getattr(shellcon, csidl_name), 0, 0)
    -    # Try to make this a unicode path because SHGetFolderPath does
    -    # not return unicode strings when there is unicode data in the
    -    # path.
    -    try:
    -        dir = unicode(dir)
    -
    -        # Downgrade to short path name if have highbit chars. See
    -        # .
    -        has_high_char = False
    -        for c in dir:
    -            if ord(c) > 255:
    -                has_high_char = True
    -                break
    -        if has_high_char:
    -            try:
    -                import win32api
    -                dir = win32api.GetShortPathName(dir)
    -            except ImportError:
    -                pass
    -    except UnicodeError:
    -        pass
    -    return dir
    -
    -
    -def _get_win_folder_with_ctypes(csidl_name):
    -    import ctypes
    -
    -    csidl_const = {
    -        "CSIDL_APPDATA": 26,
    -        "CSIDL_COMMON_APPDATA": 35,
    -        "CSIDL_LOCAL_APPDATA": 28,
    -    }[csidl_name]
    -
    -    buf = ctypes.create_unicode_buffer(1024)
    -    ctypes.windll.shell32.SHGetFolderPathW(None, csidl_const, None, 0, buf)
    -
    -    # Downgrade to short path name if have highbit chars. See
    -    # .
    -    has_high_char = False
    -    for c in buf:
    -        if ord(c) > 255:
    -            has_high_char = True
    -            break
    -    if has_high_char:
    -        buf2 = ctypes.create_unicode_buffer(1024)
    -        if ctypes.windll.kernel32.GetShortPathNameW(buf.value, buf2, 1024):
    -            buf = buf2
    -
    -    return buf.value
    -
    -def _get_win_folder_with_jna(csidl_name):
    -    import array
    -    from com.sun import jna
    -    from com.sun.jna.platform import win32
    -
    -    buf_size = win32.WinDef.MAX_PATH * 2
    -    buf = array.zeros('c', buf_size)
    -    shell = win32.Shell32.INSTANCE
    -    shell.SHGetFolderPath(None, getattr(win32.ShlObj, csidl_name), None, win32.ShlObj.SHGFP_TYPE_CURRENT, buf)
    -    dir = jna.Native.toString(buf.tostring()).rstrip("\0")
    -
    -    # Downgrade to short path name if have highbit chars. See
    -    # .
    -    has_high_char = False
    -    for c in dir:
    -        if ord(c) > 255:
    -            has_high_char = True
    -            break
    -    if has_high_char:
    -        buf = array.zeros('c', buf_size)
    -        kernel = win32.Kernel32.INSTANCE
    -        if kernel.GetShortPathName(dir, buf, buf_size):
    -            dir = jna.Native.toString(buf.tostring()).rstrip("\0")
    -
    -    return dir
    -
    -if system == "win32":
    -    try:
    -        from ctypes import windll
    -        _get_win_folder = _get_win_folder_with_ctypes
    -    except ImportError:
    -        try:
    -            import com.sun.jna
    -            _get_win_folder = _get_win_folder_with_jna
    -        except ImportError:
    -            _get_win_folder = _get_win_folder_from_registry
    -
    -
    -#---- self test code
    -
    -if __name__ == "__main__":
    -    appname = "MyApp"
    -    appauthor = "MyCompany"
    -
    -    props = ("user_data_dir",
    -             "user_config_dir",
    -             "user_cache_dir",
    -             "user_state_dir",
    -             "user_log_dir",
    -             "site_data_dir",
    -             "site_config_dir")
    -
    -    print("-- app dirs %s --" % __version__)
    -
    -    print("-- app dirs (with optional 'version')")
    -    dirs = AppDirs(appname, appauthor, version="1.0")
    -    for prop in props:
    -        print("%s: %s" % (prop, getattr(dirs, prop)))
    -
    -    print("\n-- app dirs (without optional 'version')")
    -    dirs = AppDirs(appname, appauthor)
    -    for prop in props:
    -        print("%s: %s" % (prop, getattr(dirs, prop)))
    -
    -    print("\n-- app dirs (without optional 'appauthor')")
    -    dirs = AppDirs(appname)
    -    for prop in props:
    -        print("%s: %s" % (prop, getattr(dirs, prop)))
    -
    -    print("\n-- app dirs (with disabled 'appauthor')")
    -    dirs = AppDirs(appname, appauthor=False)
    -    for prop in props:
    -        print("%s: %s" % (prop, getattr(dirs, prop)))
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/__init__.py
    deleted file mode 100644
    index 8fdee66..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/__init__.py
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -"""CacheControl import Interface.
    -
    -Make it easy to import from cachecontrol without long namespaces.
    -"""
    -__author__ = "Eric Larson"
    -__email__ = "eric@ionrock.org"
    -__version__ = "0.12.5"
    -
    -from .wrapper import CacheControl
    -from .adapter import CacheControlAdapter
    -from .controller import CacheController
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/_cmd.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/_cmd.py
    deleted file mode 100644
    index f1e0ad9..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/_cmd.py
    +++ /dev/null
    @@ -1,57 +0,0 @@
    -import logging
    -
    -from pip._vendor import requests
    -
    -from pip._vendor.cachecontrol.adapter import CacheControlAdapter
    -from pip._vendor.cachecontrol.cache import DictCache
    -from pip._vendor.cachecontrol.controller import logger
    -
    -from argparse import ArgumentParser
    -
    -
    -def setup_logging():
    -    logger.setLevel(logging.DEBUG)
    -    handler = logging.StreamHandler()
    -    logger.addHandler(handler)
    -
    -
    -def get_session():
    -    adapter = CacheControlAdapter(
    -        DictCache(), cache_etags=True, serializer=None, heuristic=None
    -    )
    -    sess = requests.Session()
    -    sess.mount("http://", adapter)
    -    sess.mount("https://", adapter)
    -
    -    sess.cache_controller = adapter.controller
    -    return sess
    -
    -
    -def get_args():
    -    parser = ArgumentParser()
    -    parser.add_argument("url", help="The URL to try and cache")
    -    return parser.parse_args()
    -
    -
    -def main(args=None):
    -    args = get_args()
    -    sess = get_session()
    -
    -    # Make a request to get a response
    -    resp = sess.get(args.url)
    -
    -    # Turn on logging
    -    setup_logging()
    -
    -    # try setting the cache
    -    sess.cache_controller.cache_response(resp.request, resp.raw)
    -
    -    # Now try to get it
    -    if sess.cache_controller.cached_request(resp.request):
    -        print("Cached!")
    -    else:
    -        print("Not cached :(")
    -
    -
    -if __name__ == "__main__":
    -    main()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/adapter.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/adapter.py
    deleted file mode 100644
    index 780eb28..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/adapter.py
    +++ /dev/null
    @@ -1,133 +0,0 @@
    -import types
    -import functools
    -import zlib
    -
    -from pip._vendor.requests.adapters import HTTPAdapter
    -
    -from .controller import CacheController
    -from .cache import DictCache
    -from .filewrapper import CallbackFileWrapper
    -
    -
    -class CacheControlAdapter(HTTPAdapter):
    -    invalidating_methods = {"PUT", "DELETE"}
    -
    -    def __init__(
    -        self,
    -        cache=None,
    -        cache_etags=True,
    -        controller_class=None,
    -        serializer=None,
    -        heuristic=None,
    -        cacheable_methods=None,
    -        *args,
    -        **kw
    -    ):
    -        super(CacheControlAdapter, self).__init__(*args, **kw)
    -        self.cache = cache or DictCache()
    -        self.heuristic = heuristic
    -        self.cacheable_methods = cacheable_methods or ("GET",)
    -
    -        controller_factory = controller_class or CacheController
    -        self.controller = controller_factory(
    -            self.cache, cache_etags=cache_etags, serializer=serializer
    -        )
    -
    -    def send(self, request, cacheable_methods=None, **kw):
    -        """
    -        Send a request. Use the request information to see if it
    -        exists in the cache and cache the response if we need to and can.
    -        """
    -        cacheable = cacheable_methods or self.cacheable_methods
    -        if request.method in cacheable:
    -            try:
    -                cached_response = self.controller.cached_request(request)
    -            except zlib.error:
    -                cached_response = None
    -            if cached_response:
    -                return self.build_response(request, cached_response, from_cache=True)
    -
    -            # check for etags and add headers if appropriate
    -            request.headers.update(self.controller.conditional_headers(request))
    -
    -        resp = super(CacheControlAdapter, self).send(request, **kw)
    -
    -        return resp
    -
    -    def build_response(
    -        self, request, response, from_cache=False, cacheable_methods=None
    -    ):
    -        """
    -        Build a response by making a request or using the cache.
    -
    -        This will end up calling send and returning a potentially
    -        cached response
    -        """
    -        cacheable = cacheable_methods or self.cacheable_methods
    -        if not from_cache and request.method in cacheable:
    -            # Check for any heuristics that might update headers
    -            # before trying to cache.
    -            if self.heuristic:
    -                response = self.heuristic.apply(response)
    -
    -            # apply any expiration heuristics
    -            if response.status == 304:
    -                # We must have sent an ETag request. This could mean
    -                # that we've been expired already or that we simply
    -                # have an etag. In either case, we want to try and
    -                # update the cache if that is the case.
    -                cached_response = self.controller.update_cached_response(
    -                    request, response
    -                )
    -
    -                if cached_response is not response:
    -                    from_cache = True
    -
    -                # We are done with the server response, read a
    -                # possible response body (compliant servers will
    -                # not return one, but we cannot be 100% sure) and
    -                # release the connection back to the pool.
    -                response.read(decode_content=False)
    -                response.release_conn()
    -
    -                response = cached_response
    -
    -            # We always cache the 301 responses
    -            elif response.status == 301:
    -                self.controller.cache_response(request, response)
    -            else:
    -                # Wrap the response file with a wrapper that will cache the
    -                #   response when the stream has been consumed.
    -                response._fp = CallbackFileWrapper(
    -                    response._fp,
    -                    functools.partial(
    -                        self.controller.cache_response, request, response
    -                    ),
    -                )
    -                if response.chunked:
    -                    super_update_chunk_length = response._update_chunk_length
    -
    -                    def _update_chunk_length(self):
    -                        super_update_chunk_length()
    -                        if self.chunk_left == 0:
    -                            self._fp._close()
    -
    -                    response._update_chunk_length = types.MethodType(
    -                        _update_chunk_length, response
    -                    )
    -
    -        resp = super(CacheControlAdapter, self).build_response(request, response)
    -
    -        # See if we should invalidate the cache.
    -        if request.method in self.invalidating_methods and resp.ok:
    -            cache_url = self.controller.cache_url(request.url)
    -            self.cache.delete(cache_url)
    -
    -        # Give the request a from_cache attr to let people use it
    -        resp.from_cache = from_cache
    -
    -        return resp
    -
    -    def close(self):
    -        self.cache.close()
    -        super(CacheControlAdapter, self).close()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/cache.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/cache.py
    deleted file mode 100644
    index 94e0773..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/cache.py
    +++ /dev/null
    @@ -1,39 +0,0 @@
    -"""
    -The cache object API for implementing caches. The default is a thread
    -safe in-memory dictionary.
    -"""
    -from threading import Lock
    -
    -
    -class BaseCache(object):
    -
    -    def get(self, key):
    -        raise NotImplementedError()
    -
    -    def set(self, key, value):
    -        raise NotImplementedError()
    -
    -    def delete(self, key):
    -        raise NotImplementedError()
    -
    -    def close(self):
    -        pass
    -
    -
    -class DictCache(BaseCache):
    -
    -    def __init__(self, init_dict=None):
    -        self.lock = Lock()
    -        self.data = init_dict or {}
    -
    -    def get(self, key):
    -        return self.data.get(key, None)
    -
    -    def set(self, key, value):
    -        with self.lock:
    -            self.data.update({key: value})
    -
    -    def delete(self, key):
    -        with self.lock:
    -            if key in self.data:
    -                self.data.pop(key)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/__init__.py
    deleted file mode 100644
    index 0e1658f..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/__init__.py
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -from .file_cache import FileCache  # noqa
    -from .redis_cache import RedisCache  # noqa
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py
    deleted file mode 100644
    index 607b945..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py
    +++ /dev/null
    @@ -1,146 +0,0 @@
    -import hashlib
    -import os
    -from textwrap import dedent
    -
    -from ..cache import BaseCache
    -from ..controller import CacheController
    -
    -try:
    -    FileNotFoundError
    -except NameError:
    -    # py2.X
    -    FileNotFoundError = (IOError, OSError)
    -
    -
    -def _secure_open_write(filename, fmode):
    -    # We only want to write to this file, so open it in write only mode
    -    flags = os.O_WRONLY
    -
    -    # os.O_CREAT | os.O_EXCL will fail if the file already exists, so we only
    -    #  will open *new* files.
    -    # We specify this because we want to ensure that the mode we pass is the
    -    # mode of the file.
    -    flags |= os.O_CREAT | os.O_EXCL
    -
    -    # Do not follow symlinks to prevent someone from making a symlink that
    -    # we follow and insecurely open a cache file.
    -    if hasattr(os, "O_NOFOLLOW"):
    -        flags |= os.O_NOFOLLOW
    -
    -    # On Windows we'll mark this file as binary
    -    if hasattr(os, "O_BINARY"):
    -        flags |= os.O_BINARY
    -
    -    # Before we open our file, we want to delete any existing file that is
    -    # there
    -    try:
    -        os.remove(filename)
    -    except (IOError, OSError):
    -        # The file must not exist already, so we can just skip ahead to opening
    -        pass
    -
    -    # Open our file, the use of os.O_CREAT | os.O_EXCL will ensure that if a
    -    # race condition happens between the os.remove and this line, that an
    -    # error will be raised. Because we utilize a lockfile this should only
    -    # happen if someone is attempting to attack us.
    -    fd = os.open(filename, flags, fmode)
    -    try:
    -        return os.fdopen(fd, "wb")
    -
    -    except:
    -        # An error occurred wrapping our FD in a file object
    -        os.close(fd)
    -        raise
    -
    -
    -class FileCache(BaseCache):
    -
    -    def __init__(
    -        self,
    -        directory,
    -        forever=False,
    -        filemode=0o0600,
    -        dirmode=0o0700,
    -        use_dir_lock=None,
    -        lock_class=None,
    -    ):
    -
    -        if use_dir_lock is not None and lock_class is not None:
    -            raise ValueError("Cannot use use_dir_lock and lock_class together")
    -
    -        try:
    -            from lockfile import LockFile
    -            from lockfile.mkdirlockfile import MkdirLockFile
    -        except ImportError:
    -            notice = dedent(
    -                """
    -            NOTE: In order to use the FileCache you must have
    -            lockfile installed. You can install it via pip:
    -              pip install lockfile
    -            """
    -            )
    -            raise ImportError(notice)
    -
    -        else:
    -            if use_dir_lock:
    -                lock_class = MkdirLockFile
    -
    -            elif lock_class is None:
    -                lock_class = LockFile
    -
    -        self.directory = directory
    -        self.forever = forever
    -        self.filemode = filemode
    -        self.dirmode = dirmode
    -        self.lock_class = lock_class
    -
    -    @staticmethod
    -    def encode(x):
    -        return hashlib.sha224(x.encode()).hexdigest()
    -
    -    def _fn(self, name):
    -        # NOTE: This method should not change as some may depend on it.
    -        #       See: https://github.com/ionrock/cachecontrol/issues/63
    -        hashed = self.encode(name)
    -        parts = list(hashed[:5]) + [hashed]
    -        return os.path.join(self.directory, *parts)
    -
    -    def get(self, key):
    -        name = self._fn(key)
    -        try:
    -            with open(name, "rb") as fh:
    -                return fh.read()
    -
    -        except FileNotFoundError:
    -            return None
    -
    -    def set(self, key, value):
    -        name = self._fn(key)
    -
    -        # Make sure the directory exists
    -        try:
    -            os.makedirs(os.path.dirname(name), self.dirmode)
    -        except (IOError, OSError):
    -            pass
    -
    -        with self.lock_class(name) as lock:
    -            # Write our actual file
    -            with _secure_open_write(lock.path, self.filemode) as fh:
    -                fh.write(value)
    -
    -    def delete(self, key):
    -        name = self._fn(key)
    -        if not self.forever:
    -            try:
    -                os.remove(name)
    -            except FileNotFoundError:
    -                pass
    -
    -
    -def url_to_file_path(url, filecache):
    -    """Return the file cache path based on the URL.
    -
    -    This does not ensure the file exists!
    -    """
    -    key = CacheController.cache_url(url)
    -    return filecache._fn(key)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py
    deleted file mode 100644
    index ed705ce..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py
    +++ /dev/null
    @@ -1,33 +0,0 @@
    -from __future__ import division
    -
    -from datetime import datetime
    -from pip._vendor.cachecontrol.cache import BaseCache
    -
    -
    -class RedisCache(BaseCache):
    -
    -    def __init__(self, conn):
    -        self.conn = conn
    -
    -    def get(self, key):
    -        return self.conn.get(key)
    -
    -    def set(self, key, value, expires=None):
    -        if not expires:
    -            self.conn.set(key, value)
    -        else:
    -            expires = expires - datetime.utcnow()
    -            self.conn.setex(key, int(expires.total_seconds()), value)
    -
    -    def delete(self, key):
    -        self.conn.delete(key)
    -
    -    def clear(self):
    -        """Helper for clearing all the keys in a database. Use with
    -        caution!"""
    -        for key in self.conn.keys():
    -            self.conn.delete(key)
    -
    -    def close(self):
    -        """Redis uses connection pooling, no need to close the connection."""
    -        pass
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/compat.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/compat.py
    deleted file mode 100644
    index 33b5aed..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/compat.py
    +++ /dev/null
    @@ -1,29 +0,0 @@
    -try:
    -    from urllib.parse import urljoin
    -except ImportError:
    -    from urlparse import urljoin
    -
    -
    -try:
    -    import cPickle as pickle
    -except ImportError:
    -    import pickle
    -
    -
    -# Handle the case where the requests module has been patched to not have
    -# urllib3 bundled as part of its source.
    -try:
    -    from pip._vendor.requests.packages.urllib3.response import HTTPResponse
    -except ImportError:
    -    from pip._vendor.urllib3.response import HTTPResponse
    -
    -try:
    -    from pip._vendor.requests.packages.urllib3.util import is_fp_closed
    -except ImportError:
    -    from pip._vendor.urllib3.util import is_fp_closed
    -
    -# Replicate some six behaviour
    -try:
    -    text_type = unicode
    -except NameError:
    -    text_type = str
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/controller.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/controller.py
    deleted file mode 100644
    index 1b2b943..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/controller.py
    +++ /dev/null
    @@ -1,367 +0,0 @@
    -"""
    -The httplib2 algorithms ported for use with requests.
    -"""
    -import logging
    -import re
    -import calendar
    -import time
    -from email.utils import parsedate_tz
    -
    -from pip._vendor.requests.structures import CaseInsensitiveDict
    -
    -from .cache import DictCache
    -from .serialize import Serializer
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -URI = re.compile(r"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?")
    -
    -
    -def parse_uri(uri):
    -    """Parses a URI using the regex given in Appendix B of RFC 3986.
    -
    -        (scheme, authority, path, query, fragment) = parse_uri(uri)
    -    """
    -    groups = URI.match(uri).groups()
    -    return (groups[1], groups[3], groups[4], groups[6], groups[8])
    -
    -
    -class CacheController(object):
    -    """An interface to see if request should cached or not.
    -    """
    -
    -    def __init__(
    -        self, cache=None, cache_etags=True, serializer=None, status_codes=None
    -    ):
    -        self.cache = cache or DictCache()
    -        self.cache_etags = cache_etags
    -        self.serializer = serializer or Serializer()
    -        self.cacheable_status_codes = status_codes or (200, 203, 300, 301)
    -
    -    @classmethod
    -    def _urlnorm(cls, uri):
    -        """Normalize the URL to create a safe key for the cache"""
    -        (scheme, authority, path, query, fragment) = parse_uri(uri)
    -        if not scheme or not authority:
    -            raise Exception("Only absolute URIs are allowed. uri = %s" % uri)
    -
    -        scheme = scheme.lower()
    -        authority = authority.lower()
    -
    -        if not path:
    -            path = "/"
    -
    -        # Could do syntax based normalization of the URI before
    -        # computing the digest. See Section 6.2.2 of Std 66.
    -        request_uri = query and "?".join([path, query]) or path
    -        defrag_uri = scheme + "://" + authority + request_uri
    -
    -        return defrag_uri
    -
    -    @classmethod
    -    def cache_url(cls, uri):
    -        return cls._urlnorm(uri)
    -
    -    def parse_cache_control(self, headers):
    -        known_directives = {
    -            # https://tools.ietf.org/html/rfc7234#section-5.2
    -            "max-age": (int, True),
    -            "max-stale": (int, False),
    -            "min-fresh": (int, True),
    -            "no-cache": (None, False),
    -            "no-store": (None, False),
    -            "no-transform": (None, False),
    -            "only-if-cached": (None, False),
    -            "must-revalidate": (None, False),
    -            "public": (None, False),
    -            "private": (None, False),
    -            "proxy-revalidate": (None, False),
    -            "s-maxage": (int, True),
    -        }
    -
    -        cc_headers = headers.get("cache-control", headers.get("Cache-Control", ""))
    -
    -        retval = {}
    -
    -        for cc_directive in cc_headers.split(","):
    -            if not cc_directive.strip():
    -                continue
    -
    -            parts = cc_directive.split("=", 1)
    -            directive = parts[0].strip()
    -
    -            try:
    -                typ, required = known_directives[directive]
    -            except KeyError:
    -                logger.debug("Ignoring unknown cache-control directive: %s", directive)
    -                continue
    -
    -            if not typ or not required:
    -                retval[directive] = None
    -            if typ:
    -                try:
    -                    retval[directive] = typ(parts[1].strip())
    -                except IndexError:
    -                    if required:
    -                        logger.debug(
    -                            "Missing value for cache-control " "directive: %s",
    -                            directive,
    -                        )
    -                except ValueError:
    -                    logger.debug(
    -                        "Invalid value for cache-control directive " "%s, must be %s",
    -                        directive,
    -                        typ.__name__,
    -                    )
    -
    -        return retval
    -
    -    def cached_request(self, request):
    -        """
    -        Return a cached response if it exists in the cache, otherwise
    -        return False.
    -        """
    -        cache_url = self.cache_url(request.url)
    -        logger.debug('Looking up "%s" in the cache', cache_url)
    -        cc = self.parse_cache_control(request.headers)
    -
    -        # Bail out if the request insists on fresh data
    -        if "no-cache" in cc:
    -            logger.debug('Request header has "no-cache", cache bypassed')
    -            return False
    -
    -        if "max-age" in cc and cc["max-age"] == 0:
    -            logger.debug('Request header has "max_age" as 0, cache bypassed')
    -            return False
    -
    -        # Request allows serving from the cache, let's see if we find something
    -        cache_data = self.cache.get(cache_url)
    -        if cache_data is None:
    -            logger.debug("No cache entry available")
    -            return False
    -
    -        # Check whether it can be deserialized
    -        resp = self.serializer.loads(request, cache_data)
    -        if not resp:
    -            logger.warning("Cache entry deserialization failed, entry ignored")
    -            return False
    -
    -        # If we have a cached 301, return it immediately. We don't
    -        # need to test our response for other headers b/c it is
    -        # intrinsically "cacheable" as it is Permanent.
    -        # See:
    -        #   https://tools.ietf.org/html/rfc7231#section-6.4.2
    -        #
    -        # Client can try to refresh the value by repeating the request
    -        # with cache busting headers as usual (ie no-cache).
    -        if resp.status == 301:
    -            msg = (
    -                'Returning cached "301 Moved Permanently" response '
    -                "(ignoring date and etag information)"
    -            )
    -            logger.debug(msg)
    -            return resp
    -
    -        headers = CaseInsensitiveDict(resp.headers)
    -        if not headers or "date" not in headers:
    -            if "etag" not in headers:
    -                # Without date or etag, the cached response can never be used
    -                # and should be deleted.
    -                logger.debug("Purging cached response: no date or etag")
    -                self.cache.delete(cache_url)
    -            logger.debug("Ignoring cached response: no date")
    -            return False
    -
    -        now = time.time()
    -        date = calendar.timegm(parsedate_tz(headers["date"]))
    -        current_age = max(0, now - date)
    -        logger.debug("Current age based on date: %i", current_age)
    -
    -        # TODO: There is an assumption that the result will be a
    -        #       urllib3 response object. This may not be best since we
    -        #       could probably avoid instantiating or constructing the
    -        #       response until we know we need it.
    -        resp_cc = self.parse_cache_control(headers)
    -
    -        # determine freshness
    -        freshness_lifetime = 0
    -
    -        # Check the max-age pragma in the cache control header
    -        if "max-age" in resp_cc:
    -            freshness_lifetime = resp_cc["max-age"]
    -            logger.debug("Freshness lifetime from max-age: %i", freshness_lifetime)
    -
    -        # If there isn't a max-age, check for an expires header
    -        elif "expires" in headers:
    -            expires = parsedate_tz(headers["expires"])
    -            if expires is not None:
    -                expire_time = calendar.timegm(expires) - date
    -                freshness_lifetime = max(0, expire_time)
    -                logger.debug("Freshness lifetime from expires: %i", freshness_lifetime)
    -
    -        # Determine if we are setting freshness limit in the
    -        # request. Note, this overrides what was in the response.
    -        if "max-age" in cc:
    -            freshness_lifetime = cc["max-age"]
    -            logger.debug(
    -                "Freshness lifetime from request max-age: %i", freshness_lifetime
    -            )
    -
    -        if "min-fresh" in cc:
    -            min_fresh = cc["min-fresh"]
    -            # adjust our current age by our min fresh
    -            current_age += min_fresh
    -            logger.debug("Adjusted current age from min-fresh: %i", current_age)
    -
    -        # Return entry if it is fresh enough
    -        if freshness_lifetime > current_age:
    -            logger.debug('The response is "fresh", returning cached response')
    -            logger.debug("%i > %i", freshness_lifetime, current_age)
    -            return resp
    -
    -        # we're not fresh. If we don't have an Etag, clear it out
    -        if "etag" not in headers:
    -            logger.debug('The cached response is "stale" with no etag, purging')
    -            self.cache.delete(cache_url)
    -
    -        # return the original handler
    -        return False
    -
    -    def conditional_headers(self, request):
    -        cache_url = self.cache_url(request.url)
    -        resp = self.serializer.loads(request, self.cache.get(cache_url))
    -        new_headers = {}
    -
    -        if resp:
    -            headers = CaseInsensitiveDict(resp.headers)
    -
    -            if "etag" in headers:
    -                new_headers["If-None-Match"] = headers["ETag"]
    -
    -            if "last-modified" in headers:
    -                new_headers["If-Modified-Since"] = headers["Last-Modified"]
    -
    -        return new_headers
    -
    -    def cache_response(self, request, response, body=None, status_codes=None):
    -        """
    -        Algorithm for caching requests.
    -
    -        This assumes a requests Response object.
    -        """
    -        # From httplib2: Don't cache 206's since we aren't going to
    -        #                handle byte range requests
    -        cacheable_status_codes = status_codes or self.cacheable_status_codes
    -        if response.status not in cacheable_status_codes:
    -            logger.debug(
    -                "Status code %s not in %s", response.status, cacheable_status_codes
    -            )
    -            return
    -
    -        response_headers = CaseInsensitiveDict(response.headers)
    -
    -        # If we've been given a body, our response has a Content-Length, that
    -        # Content-Length is valid then we can check to see if the body we've
    -        # been given matches the expected size, and if it doesn't we'll just
    -        # skip trying to cache it.
    -        if (
    -            body is not None
    -            and "content-length" in response_headers
    -            and response_headers["content-length"].isdigit()
    -            and int(response_headers["content-length"]) != len(body)
    -        ):
    -            return
    -
    -        cc_req = self.parse_cache_control(request.headers)
    -        cc = self.parse_cache_control(response_headers)
    -
    -        cache_url = self.cache_url(request.url)
    -        logger.debug('Updating cache with response from "%s"', cache_url)
    -
    -        # Delete it from the cache if we happen to have it stored there
    -        no_store = False
    -        if "no-store" in cc:
    -            no_store = True
    -            logger.debug('Response header has "no-store"')
    -        if "no-store" in cc_req:
    -            no_store = True
    -            logger.debug('Request header has "no-store"')
    -        if no_store and self.cache.get(cache_url):
    -            logger.debug('Purging existing cache entry to honor "no-store"')
    -            self.cache.delete(cache_url)
    -        if no_store:
    -            return
    -
    -        # If we've been given an etag, then keep the response
    -        if self.cache_etags and "etag" in response_headers:
    -            logger.debug("Caching due to etag")
    -            self.cache.set(
    -                cache_url, self.serializer.dumps(request, response, body=body)
    -            )
    -
    -        # Add to the cache any 301s. We do this before looking that
    -        # the Date headers.
    -        elif response.status == 301:
    -            logger.debug("Caching permanant redirect")
    -            self.cache.set(cache_url, self.serializer.dumps(request, response))
    -
    -        # Add to the cache if the response headers demand it. If there
    -        # is no date header then we can't do anything about expiring
    -        # the cache.
    -        elif "date" in response_headers:
    -            # cache when there is a max-age > 0
    -            if "max-age" in cc and cc["max-age"] > 0:
    -                logger.debug("Caching b/c date exists and max-age > 0")
    -                self.cache.set(
    -                    cache_url, self.serializer.dumps(request, response, body=body)
    -                )
    -
    -            # If the request can expire, it means we should cache it
    -            # in the meantime.
    -            elif "expires" in response_headers:
    -                if response_headers["expires"]:
    -                    logger.debug("Caching b/c of expires header")
    -                    self.cache.set(
    -                        cache_url, self.serializer.dumps(request, response, body=body)
    -                    )
    -
    -    def update_cached_response(self, request, response):
    -        """On a 304 we will get a new set of headers that we want to
    -        update our cached value with, assuming we have one.
    -
    -        This should only ever be called when we've sent an ETag and
    -        gotten a 304 as the response.
    -        """
    -        cache_url = self.cache_url(request.url)
    -
    -        cached_response = self.serializer.loads(request, self.cache.get(cache_url))
    -
    -        if not cached_response:
    -            # we didn't have a cached response
    -            return response
    -
    -        # Lets update our headers with the headers from the new request:
    -        # http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-26#section-4.1
    -        #
    -        # The server isn't supposed to send headers that would make
    -        # the cached body invalid. But... just in case, we'll be sure
    -        # to strip out ones we know that might be problmatic due to
    -        # typical assumptions.
    -        excluded_headers = ["content-length"]
    -
    -        cached_response.headers.update(
    -            dict(
    -                (k, v)
    -                for k, v in response.headers.items()
    -                if k.lower() not in excluded_headers
    -            )
    -        )
    -
    -        # we want a 200 b/c we have content via the cache
    -        cached_response.status = 200
    -
    -        # update our cache
    -        self.cache.set(cache_url, self.serializer.dumps(request, cached_response))
    -
    -        return cached_response
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/filewrapper.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/filewrapper.py
    deleted file mode 100644
    index 30ed4c5..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/filewrapper.py
    +++ /dev/null
    @@ -1,80 +0,0 @@
    -from io import BytesIO
    -
    -
    -class CallbackFileWrapper(object):
    -    """
    -    Small wrapper around a fp object which will tee everything read into a
    -    buffer, and when that file is closed it will execute a callback with the
    -    contents of that buffer.
    -
    -    All attributes are proxied to the underlying file object.
    -
    -    This class uses members with a double underscore (__) leading prefix so as
    -    not to accidentally shadow an attribute.
    -    """
    -
    -    def __init__(self, fp, callback):
    -        self.__buf = BytesIO()
    -        self.__fp = fp
    -        self.__callback = callback
    -
    -    def __getattr__(self, name):
    -        # The vaguaries of garbage collection means that self.__fp is
    -        # not always set.  By using __getattribute__ and the private
    -        # name[0] allows looking up the attribute value and raising an
    -        # AttributeError when it doesn't exist. This stop thigns from
    -        # infinitely recursing calls to getattr in the case where
    -        # self.__fp hasn't been set.
    -        #
    -        # [0] https://docs.python.org/2/reference/expressions.html#atom-identifiers
    -        fp = self.__getattribute__("_CallbackFileWrapper__fp")
    -        return getattr(fp, name)
    -
    -    def __is_fp_closed(self):
    -        try:
    -            return self.__fp.fp is None
    -
    -        except AttributeError:
    -            pass
    -
    -        try:
    -            return self.__fp.closed
    -
    -        except AttributeError:
    -            pass
    -
    -        # We just don't cache it then.
    -        # TODO: Add some logging here...
    -        return False
    -
    -    def _close(self):
    -        if self.__callback:
    -            self.__callback(self.__buf.getvalue())
    -
    -        # We assign this to None here, because otherwise we can get into
    -        # really tricky problems where the CPython interpreter dead locks
    -        # because the callback is holding a reference to something which
    -        # has a __del__ method. Setting this to None breaks the cycle
    -        # and allows the garbage collector to do it's thing normally.
    -        self.__callback = None
    -
    -    def read(self, amt=None):
    -        data = self.__fp.read(amt)
    -        self.__buf.write(data)
    -        if self.__is_fp_closed():
    -            self._close()
    -
    -        return data
    -
    -    def _safe_read(self, amt):
    -        data = self.__fp._safe_read(amt)
    -        if amt == 2 and data == b"\r\n":
    -            # urllib executes this read to toss the CRLF at the end
    -            # of the chunk.
    -            return data
    -
    -        self.__buf.write(data)
    -        if self.__is_fp_closed():
    -            self._close()
    -
    -        return data
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/heuristics.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/heuristics.py
    deleted file mode 100644
    index 6c0e979..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/heuristics.py
    +++ /dev/null
    @@ -1,135 +0,0 @@
    -import calendar
    -import time
    -
    -from email.utils import formatdate, parsedate, parsedate_tz
    -
    -from datetime import datetime, timedelta
    -
    -TIME_FMT = "%a, %d %b %Y %H:%M:%S GMT"
    -
    -
    -def expire_after(delta, date=None):
    -    date = date or datetime.utcnow()
    -    return date + delta
    -
    -
    -def datetime_to_header(dt):
    -    return formatdate(calendar.timegm(dt.timetuple()))
    -
    -
    -class BaseHeuristic(object):
    -
    -    def warning(self, response):
    -        """
    -        Return a valid 1xx warning header value describing the cache
    -        adjustments.
    -
    -        The response is provided too allow warnings like 113
    -        http://tools.ietf.org/html/rfc7234#section-5.5.4 where we need
    -        to explicitly say response is over 24 hours old.
    -        """
    -        return '110 - "Response is Stale"'
    -
    -    def update_headers(self, response):
    -        """Update the response headers with any new headers.
    -
    -        NOTE: This SHOULD always include some Warning header to
    -              signify that the response was cached by the client, not
    -              by way of the provided headers.
    -        """
    -        return {}
    -
    -    def apply(self, response):
    -        updated_headers = self.update_headers(response)
    -
    -        if updated_headers:
    -            response.headers.update(updated_headers)
    -            warning_header_value = self.warning(response)
    -            if warning_header_value is not None:
    -                response.headers.update({"Warning": warning_header_value})
    -
    -        return response
    -
    -
    -class OneDayCache(BaseHeuristic):
    -    """
    -    Cache the response by providing an expires 1 day in the
    -    future.
    -    """
    -
    -    def update_headers(self, response):
    -        headers = {}
    -
    -        if "expires" not in response.headers:
    -            date = parsedate(response.headers["date"])
    -            expires = expire_after(timedelta(days=1), date=datetime(*date[:6]))
    -            headers["expires"] = datetime_to_header(expires)
    -            headers["cache-control"] = "public"
    -        return headers
    -
    -
    -class ExpiresAfter(BaseHeuristic):
    -    """
    -    Cache **all** requests for a defined time period.
    -    """
    -
    -    def __init__(self, **kw):
    -        self.delta = timedelta(**kw)
    -
    -    def update_headers(self, response):
    -        expires = expire_after(self.delta)
    -        return {"expires": datetime_to_header(expires), "cache-control": "public"}
    -
    -    def warning(self, response):
    -        tmpl = "110 - Automatically cached for %s. Response might be stale"
    -        return tmpl % self.delta
    -
    -
    -class LastModified(BaseHeuristic):
    -    """
    -    If there is no Expires header already, fall back on Last-Modified
    -    using the heuristic from
    -    http://tools.ietf.org/html/rfc7234#section-4.2.2
    -    to calculate a reasonable value.
    -
    -    Firefox also does something like this per
    -    https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching_FAQ
    -    http://lxr.mozilla.org/mozilla-release/source/netwerk/protocol/http/nsHttpResponseHead.cpp#397
    -    Unlike mozilla we limit this to 24-hr.
    -    """
    -    cacheable_by_default_statuses = {
    -        200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501
    -    }
    -
    -    def update_headers(self, resp):
    -        headers = resp.headers
    -
    -        if "expires" in headers:
    -            return {}
    -
    -        if "cache-control" in headers and headers["cache-control"] != "public":
    -            return {}
    -
    -        if resp.status not in self.cacheable_by_default_statuses:
    -            return {}
    -
    -        if "date" not in headers or "last-modified" not in headers:
    -            return {}
    -
    -        date = calendar.timegm(parsedate_tz(headers["date"]))
    -        last_modified = parsedate(headers["last-modified"])
    -        if date is None or last_modified is None:
    -            return {}
    -
    -        now = time.time()
    -        current_age = max(0, now - date)
    -        delta = date - calendar.timegm(last_modified)
    -        freshness_lifetime = max(0, min(delta / 10, 24 * 3600))
    -        if freshness_lifetime <= current_age:
    -            return {}
    -
    -        expires = date + freshness_lifetime
    -        return {"expires": time.strftime(TIME_FMT, time.gmtime(expires))}
    -
    -    def warning(self, resp):
    -        return None
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/serialize.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/serialize.py
    deleted file mode 100644
    index ec43ff2..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/serialize.py
    +++ /dev/null
    @@ -1,186 +0,0 @@
    -import base64
    -import io
    -import json
    -import zlib
    -
    -from pip._vendor import msgpack
    -from pip._vendor.requests.structures import CaseInsensitiveDict
    -
    -from .compat import HTTPResponse, pickle, text_type
    -
    -
    -def _b64_decode_bytes(b):
    -    return base64.b64decode(b.encode("ascii"))
    -
    -
    -def _b64_decode_str(s):
    -    return _b64_decode_bytes(s).decode("utf8")
    -
    -
    -class Serializer(object):
    -
    -    def dumps(self, request, response, body=None):
    -        response_headers = CaseInsensitiveDict(response.headers)
    -
    -        if body is None:
    -            body = response.read(decode_content=False)
    -
    -            # NOTE: 99% sure this is dead code. I'm only leaving it
    -            #       here b/c I don't have a test yet to prove
    -            #       it. Basically, before using
    -            #       `cachecontrol.filewrapper.CallbackFileWrapper`,
    -            #       this made an effort to reset the file handle. The
    -            #       `CallbackFileWrapper` short circuits this code by
    -            #       setting the body as the content is consumed, the
    -            #       result being a `body` argument is *always* passed
    -            #       into cache_response, and in turn,
    -            #       `Serializer.dump`.
    -            response._fp = io.BytesIO(body)
    -
    -        # NOTE: This is all a bit weird, but it's really important that on
    -        #       Python 2.x these objects are unicode and not str, even when
    -        #       they contain only ascii. The problem here is that msgpack
    -        #       understands the difference between unicode and bytes and we
    -        #       have it set to differentiate between them, however Python 2
    -        #       doesn't know the difference. Forcing these to unicode will be
    -        #       enough to have msgpack know the difference.
    -        data = {
    -            u"response": {
    -                u"body": body,
    -                u"headers": dict(
    -                    (text_type(k), text_type(v)) for k, v in response.headers.items()
    -                ),
    -                u"status": response.status,
    -                u"version": response.version,
    -                u"reason": text_type(response.reason),
    -                u"strict": response.strict,
    -                u"decode_content": response.decode_content,
    -            }
    -        }
    -
    -        # Construct our vary headers
    -        data[u"vary"] = {}
    -        if u"vary" in response_headers:
    -            varied_headers = response_headers[u"vary"].split(",")
    -            for header in varied_headers:
    -                header = text_type(header).strip()
    -                header_value = request.headers.get(header, None)
    -                if header_value is not None:
    -                    header_value = text_type(header_value)
    -                data[u"vary"][header] = header_value
    -
    -        return b",".join([b"cc=4", msgpack.dumps(data, use_bin_type=True)])
    -
    -    def loads(self, request, data):
    -        # Short circuit if we've been given an empty set of data
    -        if not data:
    -            return
    -
    -        # Determine what version of the serializer the data was serialized
    -        # with
    -        try:
    -            ver, data = data.split(b",", 1)
    -        except ValueError:
    -            ver = b"cc=0"
    -
    -        # Make sure that our "ver" is actually a version and isn't a false
    -        # positive from a , being in the data stream.
    -        if ver[:3] != b"cc=":
    -            data = ver + data
    -            ver = b"cc=0"
    -
    -        # Get the version number out of the cc=N
    -        ver = ver.split(b"=", 1)[-1].decode("ascii")
    -
    -        # Dispatch to the actual load method for the given version
    -        try:
    -            return getattr(self, "_loads_v{}".format(ver))(request, data)
    -
    -        except AttributeError:
    -            # This is a version we don't have a loads function for, so we'll
    -            # just treat it as a miss and return None
    -            return
    -
    -    def prepare_response(self, request, cached):
    -        """Verify our vary headers match and construct a real urllib3
    -        HTTPResponse object.
    -        """
    -        # Special case the '*' Vary value as it means we cannot actually
    -        # determine if the cached response is suitable for this request.
    -        if "*" in cached.get("vary", {}):
    -            return
    -
    -        # Ensure that the Vary headers for the cached response match our
    -        # request
    -        for header, value in cached.get("vary", {}).items():
    -            if request.headers.get(header, None) != value:
    -                return
    -
    -        body_raw = cached["response"].pop("body")
    -
    -        headers = CaseInsensitiveDict(data=cached["response"]["headers"])
    -        if headers.get("transfer-encoding", "") == "chunked":
    -            headers.pop("transfer-encoding")
    -
    -        cached["response"]["headers"] = headers
    -
    -        try:
    -            body = io.BytesIO(body_raw)
    -        except TypeError:
    -            # This can happen if cachecontrol serialized to v1 format (pickle)
    -            # using Python 2. A Python 2 str(byte string) will be unpickled as
    -            # a Python 3 str (unicode string), which will cause the above to
    -            # fail with:
    -            #
    -            #     TypeError: 'str' does not support the buffer interface
    -            body = io.BytesIO(body_raw.encode("utf8"))
    -
    -        return HTTPResponse(body=body, preload_content=False, **cached["response"])
    -
    -    def _loads_v0(self, request, data):
    -        # The original legacy cache data. This doesn't contain enough
    -        # information to construct everything we need, so we'll treat this as
    -        # a miss.
    -        return
    -
    -    def _loads_v1(self, request, data):
    -        try:
    -            cached = pickle.loads(data)
    -        except ValueError:
    -            return
    -
    -        return self.prepare_response(request, cached)
    -
    -    def _loads_v2(self, request, data):
    -        try:
    -            cached = json.loads(zlib.decompress(data).decode("utf8"))
    -        except (ValueError, zlib.error):
    -            return
    -
    -        # We need to decode the items that we've base64 encoded
    -        cached["response"]["body"] = _b64_decode_bytes(cached["response"]["body"])
    -        cached["response"]["headers"] = dict(
    -            (_b64_decode_str(k), _b64_decode_str(v))
    -            for k, v in cached["response"]["headers"].items()
    -        )
    -        cached["response"]["reason"] = _b64_decode_str(cached["response"]["reason"])
    -        cached["vary"] = dict(
    -            (_b64_decode_str(k), _b64_decode_str(v) if v is not None else v)
    -            for k, v in cached["vary"].items()
    -        )
    -
    -        return self.prepare_response(request, cached)
    -
    -    def _loads_v3(self, request, data):
    -        # Due to Python 2 encoding issues, it's impossible to know for sure
    -        # exactly how to load v3 entries, thus we'll treat these as a miss so
    -        # that they get rewritten out as v4 entries.
    -        return
    -
    -    def _loads_v4(self, request, data):
    -        try:
    -            cached = msgpack.loads(data, encoding="utf-8")
    -        except ValueError:
    -            return
    -
    -        return self.prepare_response(request, cached)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/wrapper.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/wrapper.py
    deleted file mode 100644
    index 265bfc8..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/cachecontrol/wrapper.py
    +++ /dev/null
    @@ -1,29 +0,0 @@
    -from .adapter import CacheControlAdapter
    -from .cache import DictCache
    -
    -
    -def CacheControl(
    -    sess,
    -    cache=None,
    -    cache_etags=True,
    -    serializer=None,
    -    heuristic=None,
    -    controller_class=None,
    -    adapter_class=None,
    -    cacheable_methods=None,
    -):
    -
    -    cache = cache or DictCache()
    -    adapter_class = adapter_class or CacheControlAdapter
    -    adapter = adapter_class(
    -        cache,
    -        cache_etags=cache_etags,
    -        serializer=serializer,
    -        heuristic=heuristic,
    -        controller_class=controller_class,
    -        cacheable_methods=cacheable_methods,
    -    )
    -    sess.mount("http://", adapter)
    -    sess.mount("https://", adapter)
    -
    -    return sess
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/__init__.py
    deleted file mode 100644
    index 8e358e4..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/__init__.py
    +++ /dev/null
    @@ -1,3 +0,0 @@
    -from .core import where
    -
    -__version__ = "2019.09.11"
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/__main__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/__main__.py
    deleted file mode 100644
    index ae2aff5..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/__main__.py
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -from pip._vendor.certifi import where
    -print(where())
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/cacert.pem b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/cacert.pem
    deleted file mode 100644
    index 70fa91f..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/cacert.pem
    +++ /dev/null
    @@ -1,4558 +0,0 @@
    -
    -# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA
    -# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA
    -# Label: "GlobalSign Root CA"
    -# Serial: 4835703278459707669005204
    -# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a
    -# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c
    -# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99
    ------BEGIN CERTIFICATE-----
    -MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
    -A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
    -b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
    -MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
    -YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
    -aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
    -jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
    -xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
    -1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
    -snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
    -U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
    -9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
    -BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
    -AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
    -yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
    -38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
    -AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
    -DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
    -HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2
    -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2
    -# Label: "GlobalSign Root CA - R2"
    -# Serial: 4835703278459682885658125
    -# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30
    -# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe
    -# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e
    ------BEGIN CERTIFICATE-----
    -MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G
    -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp
    -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1
    -MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG
    -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
    -hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL
    -v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8
    -eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq
    -tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd
    -C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa
    -zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB
    -mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH
    -V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n
    -bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG
    -3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs
    -J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO
    -291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS
    -ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd
    -AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
    -TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
    -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
    -# Label: "Verisign Class 3 Public Primary Certification Authority - G3"
    -# Serial: 206684696279472310254277870180966723415
    -# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09
    -# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6
    -# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44
    ------BEGIN CERTIFICATE-----
    -MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw
    -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
    -cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu
    -LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT
    -aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
    -dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD
    -VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
    -aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ
    -bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu
    -IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
    -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b
    -N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t
    -KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu
    -kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm
    -CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ
    -Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu
    -imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te
    -2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe
    -DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
    -/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p
    -F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt
    -TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
    -# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
    -# Label: "Entrust.net Premium 2048 Secure Server CA"
    -# Serial: 946069240
    -# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90
    -# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31
    -# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77
    ------BEGIN CERTIFICATE-----
    -MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
    -RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
    -bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5
    -IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp
    -ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3
    -MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
    -LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
    -YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
    -A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
    -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
    -K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe
    -sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX
    -MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT
    -XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/
    -HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH
    -4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
    -HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub
    -j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo
    -U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
    -zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b
    -u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+
    -bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er
    -fF6adulZkMV8gzURZVE=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust
    -# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust
    -# Label: "Baltimore CyberTrust Root"
    -# Serial: 33554617
    -# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4
    -# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74
    -# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb
    ------BEGIN CERTIFICATE-----
    -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
    -RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
    -VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
    -DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
    -ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
    -VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
    -mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
    -IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
    -mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
    -XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
    -dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
    -jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
    -BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
    -DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
    -9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
    -jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
    -Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
    -ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
    -R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network
    -# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network
    -# Label: "AddTrust External Root"
    -# Serial: 1
    -# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f
    -# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68
    -# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2
    ------BEGIN CERTIFICATE-----
    -MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
    -MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
    -IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
    -MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
    -FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
    -bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
    -dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
    -H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
    -uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
    -mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
    -a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
    -E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
    -WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
    -VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
    -Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
    -cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
    -IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
    -AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
    -YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
    -6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
    -Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
    -c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
    -mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.
    -# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.
    -# Label: "Entrust Root Certification Authority"
    -# Serial: 1164660820
    -# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4
    -# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9
    -# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c
    ------BEGIN CERTIFICATE-----
    -MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC
    -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
    -Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW
    -KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl
    -cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw
    -NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw
    -NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy
    -ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV
    -BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ
    -KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo
    -Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4
    -4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9
    -KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI
    -rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi
    -94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB
    -sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi
    -gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo
    -kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE
    -vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
    -A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t
    -O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua
    -AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP
    -9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/
    -eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m
    -0vdXcDazv/wor3ElhVsT/h5/WrQ8
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc.
    -# Subject: CN=GeoTrust Global CA O=GeoTrust Inc.
    -# Label: "GeoTrust Global CA"
    -# Serial: 144470
    -# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5
    -# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12
    -# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a
    ------BEGIN CERTIFICATE-----
    -MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
    -MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
    -YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
    -EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
    -R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
    -9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
    -fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
    -iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
    -1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
    -bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
    -MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
    -ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
    -uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
    -Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
    -tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
    -PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
    -hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
    -5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc.
    -# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc.
    -# Label: "GeoTrust Universal CA"
    -# Serial: 1
    -# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48
    -# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79
    -# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc.
    -# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc.
    -# Label: "GeoTrust Universal CA 2"
    -# Serial: 1
    -# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7
    -# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79
    -# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b
    ------BEGIN CERTIFICATE-----
    -MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW
    -MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy
    -c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD
    -VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1
    -c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
    -AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81
    -WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG
    -FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq
    -XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL
    -se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb
    -KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd
    -IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73
    -y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt
    -hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc
    -QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4
    -Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV
    -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV
    -HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ
    -KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
    -dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ
    -L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr
    -Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo
    -ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY
    -T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz
    -GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m
    -1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV
    -OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH
    -6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX
    -QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=AAA Certificate Services O=Comodo CA Limited
    -# Subject: CN=AAA Certificate Services O=Comodo CA Limited
    -# Label: "Comodo AAA Services root"
    -# Serial: 1
    -# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0
    -# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49
    -# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4
    ------BEGIN CERTIFICATE-----
    -MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
    -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
    -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
    -YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
    -MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
    -BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
    -GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
    -ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
    -BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
    -3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
    -YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
    -rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
    -ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
    -oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
    -MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
    -QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
    -b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
    -AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
    -GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
    -Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
    -G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
    -l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
    -smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority
    -# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority
    -# Label: "QuoVadis Root CA"
    -# Serial: 985026699
    -# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24
    -# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9
    -# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73
    ------BEGIN CERTIFICATE-----
    -MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC
    -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0
    -aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0
    -aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz
    -MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw
    -IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR
    -dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG
    -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp
    -li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D
    -rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ
    -WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug
    -F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU
    -xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC
    -Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv
    -dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw
    -ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl
    -IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh
    -c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy
    -ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
    -Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI
    -KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T
    -KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq
    -y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p
    -dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD
    -VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL
    -MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk
    -fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8
    -7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R
    -cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y
    -mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW
    -xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK
    -SnQ2+Q==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited
    -# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited
    -# Label: "QuoVadis Root CA 2"
    -# Serial: 1289
    -# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b
    -# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7
    -# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86
    ------BEGIN CERTIFICATE-----
    -MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x
    -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv
    -b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV
    -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W
    -YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa
    -GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg
    -Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J
    -WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB
    -rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp
    -+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1
    -ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i
    -Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz
    -PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og
    -/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH
    -oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI
    -yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud
    -EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2
    -A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL
    -MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
    -ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f
    -BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn
    -g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl
    -fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K
    -WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha
    -B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc
    -hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR
    -TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD
    -mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z
    -ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y
    -4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza
    -8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited
    -# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited
    -# Label: "QuoVadis Root CA 3"
    -# Serial: 1478
    -# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf
    -# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85
    -# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35
    ------BEGIN CERTIFICATE-----
    -MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x
    -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv
    -b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV
    -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W
    -YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM
    -V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB
    -4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr
    -H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd
    -8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv
    -vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT
    -mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe
    -btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc
    -T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt
    -WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ
    -c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A
    -4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD
    -VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG
    -CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0
    -aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
    -aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu
    -dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw
    -czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G
    -A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC
    -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg
    -Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0
    -7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem
    -d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd
    -+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B
    -4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN
    -t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x
    -DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57
    -k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s
    -zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j
    -Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT
    -mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK
    -4SVhM7JZG+Ju1zdXtg2pEto=
    ------END CERTIFICATE-----
    -
    -# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1
    -# Subject: O=SECOM Trust.net OU=Security Communication RootCA1
    -# Label: "Security Communication Root CA"
    -# Serial: 0
    -# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a
    -# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7
    -# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c
    ------BEGIN CERTIFICATE-----
    -MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY
    -MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t
    -dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5
    -WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD
    -VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3
    -DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8
    -9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ
    -DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9
    -Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N
    -QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ
    -xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G
    -A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T
    -AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG
    -kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr
    -Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5
    -Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU
    -JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot
    -RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Sonera Class2 CA O=Sonera
    -# Subject: CN=Sonera Class2 CA O=Sonera
    -# Label: "Sonera Class 2 Root CA"
    -# Serial: 29
    -# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb
    -# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27
    -# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27
    ------BEGIN CERTIFICATE-----
    -MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP
    -MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx
    -MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV
    -BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI
    -hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o
    -Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt
    -5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s
    -3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej
    -vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu
    -8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw
    -DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG
    -MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil
    -zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/
    -3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD
    -FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6
    -Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2
    -ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
    -# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
    -# Label: "XRamp Global CA Root"
    -# Serial: 107108908803651509692980124233745014957
    -# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1
    -# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6
    -# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2
    ------BEGIN CERTIFICATE-----
    -MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB
    -gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk
    -MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY
    -UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx
    -NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3
    -dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy
    -dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
    -dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6
    -38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP
    -KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q
    -DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4
    -qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa
    -JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi
    -PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P
    -BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs
    -jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0
    -eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD
    -ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR
    -vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
    -qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa
    -IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy
    -i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ
    -O+7ETPTsJ3xCwnR8gooJybQDJbw=
    ------END CERTIFICATE-----
    -
    -# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority
    -# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority
    -# Label: "Go Daddy Class 2 CA"
    -# Serial: 0
    -# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67
    -# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4
    -# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4
    ------BEGIN CERTIFICATE-----
    -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
    -MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
    -YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
    -MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
    -ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
    -MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
    -ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
    -PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
    -wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
    -EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
    -avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
    -YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
    -sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
    -/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
    -IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
    -YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
    -ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
    -OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
    -TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
    -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
    -dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
    -ReYNnyicsbkqWletNw+vHX/bvZ8=
    ------END CERTIFICATE-----
    -
    -# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority
    -# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority
    -# Label: "Starfield Class 2 CA"
    -# Serial: 0
    -# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24
    -# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a
    -# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58
    ------BEGIN CERTIFICATE-----
    -MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl
    -MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp
    -U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw
    -NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE
    -ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp
    -ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3
    -DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf
    -8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN
    -+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0
    -X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa
    -K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA
    -1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G
    -A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR
    -zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0
    -YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD
    -bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w
    -DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3
    -L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D
    -eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
    -xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp
    -VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY
    -WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=
    ------END CERTIFICATE-----
    -
    -# Issuer: O=Government Root Certification Authority
    -# Subject: O=Government Root Certification Authority
    -# Label: "Taiwan GRCA"
    -# Serial: 42023070807708724159991140556527066870
    -# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e
    -# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9
    -# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3
    ------BEGIN CERTIFICATE-----
    -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
    -pYYsfPQS
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com
    -# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com
    -# Label: "DigiCert Assured ID Root CA"
    -# Serial: 17154717934120587862167794914071425081
    -# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72
    -# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43
    -# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c
    ------BEGIN CERTIFICATE-----
    -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
    -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
    -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
    -b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
    -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
    -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
    -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
    -JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
    -mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
    -wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
    -VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
    -AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
    -AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
    -BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
    -pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
    -dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
    -fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
    -NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
    -H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
    -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com
    -# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com
    -# Label: "DigiCert Global Root CA"
    -# Serial: 10944719598952040374951832963794454346
    -# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e
    -# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36
    -# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61
    ------BEGIN CERTIFICATE-----
    -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
    -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
    -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
    -QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
    -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
    -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
    -9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
    -CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
    -nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
    -43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
    -T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
    -gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
    -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
    -TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
    -DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
    -hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
    -06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
    -PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
    -YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
    -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com
    -# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com
    -# Label: "DigiCert High Assurance EV Root CA"
    -# Serial: 3553400076410547919724730734378100087
    -# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a
    -# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25
    -# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf
    ------BEGIN CERTIFICATE-----
    -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
    -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
    -d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
    -ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
    -MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
    -LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
    -RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
    -+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
    -PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
    -xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
    -Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
    -hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
    -EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
    -MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
    -FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
    -nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
    -eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
    -hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
    -Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
    -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
    -+OkuE6N36B9K
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co.
    -# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co.
    -# Label: "DST Root CA X3"
    -# Serial: 91299735575339953335919266965803778155
    -# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5
    -# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13
    -# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39
    ------BEGIN CERTIFICATE-----
    -MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
    -MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
    -DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
    -PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
    -Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
    -AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O
    -rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
    -OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
    -xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw
    -7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
    -aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
    -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG
    -SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69
    -ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr
    -AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz
    -R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
    -JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo
    -Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG
    -# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG
    -# Label: "SwissSign Gold CA - G2"
    -# Serial: 13492815561806991280
    -# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93
    -# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61
    -# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG
    -# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG
    -# Label: "SwissSign Silver CA - G2"
    -# Serial: 5700383053117599563
    -# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13
    -# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb
    -# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc.
    -# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc.
    -# Label: "GeoTrust Primary Certification Authority"
    -# Serial: 32798226551256963324313806436981982369
    -# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf
    -# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96
    -# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c
    ------BEGIN CERTIFICATE-----
    -MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY
    -MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo
    -R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx
    -MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
    -Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp
    -ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
    -AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9
    -AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA
    -ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0
    -7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W
    -kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI
    -mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G
    -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ
    -KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1
    -6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl
    -4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K
    -oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj
    -UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU
    -AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only
    -# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only
    -# Label: "thawte Primary Root CA"
    -# Serial: 69529181992039203566298953787712940909
    -# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12
    -# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81
    -# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f
    ------BEGIN CERTIFICATE-----
    -MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB
    -qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
    -Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
    -MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV
    -BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw
    -NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j
    -LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG
    -A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
    -IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG
    -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs
    -W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta
    -3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk
    -6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6
    -Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J
    -NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA
    -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP
    -r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU
    -DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz
    -YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
    -xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2
    -/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/
    -LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7
    -jVaMaA==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only
    -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only
    -# Label: "VeriSign Class 3 Public Primary Certification Authority - G5"
    -# Serial: 33037644167568058970164719475676101450
    -# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c
    -# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5
    -# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df
    ------BEGIN CERTIFICATE-----
    -MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB
    -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
    -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp
    -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW
    -ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0
    -aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL
    -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW
    -ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln
    -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp
    -U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y
    -aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1
    -nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex
    -t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz
    -SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG
    -BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+
    -rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/
    -NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E
    -BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH
    -BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
    -aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv
    -MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE
    -p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y
    -5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK
    -WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ
    -4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N
    -hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=SecureTrust CA O=SecureTrust Corporation
    -# Subject: CN=SecureTrust CA O=SecureTrust Corporation
    -# Label: "SecureTrust CA"
    -# Serial: 17199774589125277788362757014266862032
    -# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1
    -# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11
    -# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73
    ------BEGIN CERTIFICATE-----
    -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI
    -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x
    -FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz
    -MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv
    -cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN
    -AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz
    -Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO
    -0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao
    -wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj
    -7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS
    -8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT
    -BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
    -/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg
    -JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC
    -NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3
    -6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/
    -3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm
    -D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS
    -CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
    -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Secure Global CA O=SecureTrust Corporation
    -# Subject: CN=Secure Global CA O=SecureTrust Corporation
    -# Label: "Secure Global CA"
    -# Serial: 9751836167731051554232119481456978597
    -# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de
    -# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b
    -# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69
    ------BEGIN CERTIFICATE-----
    -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK
    -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x
    -GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx
    -MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg
    -Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG
    -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ
    -iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa
    -/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ
    -jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI
    -HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7
    -sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w
    -gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF
    -MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw
    -KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG
    -AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L
    -URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO
    -H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm
    -I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY
    -iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
    -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited
    -# Subject: CN=COMODO Certification Authority O=COMODO CA Limited
    -# Label: "COMODO Certification Authority"
    -# Serial: 104350513648249232941998508985834464573
    -# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75
    -# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b
    -# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66
    ------BEGIN CERTIFICATE-----
    -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB
    -gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
    -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV
    -BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw
    -MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
    -YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P
    -RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0
    -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3
    -UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI
    -2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8
    -Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp
    -+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+
    -DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O
    -nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW
    -/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g
    -PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u
    -QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY
    -SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv
    -IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
    -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4
    -zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd
    -BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB
    -ZQ==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C.
    -# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C.
    -# Label: "Network Solutions Certificate Authority"
    -# Serial: 116697915152937497490437556386812487904
    -# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e
    -# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce
    -# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c
    ------BEGIN CERTIFICATE-----
    -MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi
    -MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
    -MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp
    -dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV
    -UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO
    -ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
    -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz
    -c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP
    -OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl
    -mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF
    -BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4
    -qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw
    -gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB
    -BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu
    -bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp
    -dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8
    -6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/
    -h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH
    -/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
    -wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN
    -pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited
    -# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited
    -# Label: "COMODO ECC Certification Authority"
    -# Serial: 41578283867086692638256921589707938090
    -# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23
    -# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11
    -# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7
    ------BEGIN CERTIFICATE-----
    -MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL
    -MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
    -BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT
    -IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw
    -MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy
    -ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N
    -T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv
    -biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR
    -FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J
    -cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW
    -BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
    -BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm
    -fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv
    -GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed
    -# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed
    -# Label: "OISTE WISeKey Global Root GA CA"
    -# Serial: 86718877871133159090080555911823548314
    -# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93
    -# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9
    -# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5
    ------BEGIN CERTIFICATE-----
    -MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB
    -ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly
    -aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl
    -ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w
    -NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G
    -A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD
    -VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX
    -SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
    -MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR
    -VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2
    -w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF
    -mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg
    -4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9
    -4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw
    -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw
    -EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx
    -SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2
    -ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8
    -vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
    -hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi
    -Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ
    -/L7fCg0=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Certigna O=Dhimyotis
    -# Subject: CN=Certigna O=Dhimyotis
    -# Label: "Certigna"
    -# Serial: 18364802974209362175
    -# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff
    -# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97
    -# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d
    ------BEGIN CERTIFICATE-----
    -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV
    -BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X
    -DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ
    -BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3
    -DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4
    -QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny
    -gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw
    -zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q
    -130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2
    -JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw
    -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw
    -ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT
    -AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj
    -AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG
    -9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h
    -bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc
    -fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu
    -HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w
    -t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
    -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc
    -# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc
    -# Label: "Cybertrust Global Root"
    -# Serial: 4835703278459682877484360
    -# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1
    -# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6
    -# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3
    ------BEGIN CERTIFICATE-----
    -MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG
    -A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh
    -bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE
    -ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS
    -b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5
    -7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS
    -J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y
    -HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP
    -t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz
    -FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY
    -XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/
    -MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw
    -hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js
    -MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA
    -A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj
    -Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx
    -XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o
    -omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc
    -A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
    -WL1WMRJOEcgh4LMRkWXbtKaIOM5V
    ------END CERTIFICATE-----
    -
    -# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority
    -# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority
    -# Label: "ePKI Root Certification Authority"
    -# Serial: 28956088682735189655030529057352760477
    -# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3
    -# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0
    -# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5
    ------BEGIN CERTIFICATE-----
    -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
    -hNQ+IIX3Sj0rnP0qCglN6oH4EZw=
    ------END CERTIFICATE-----
    -
    -# Issuer: O=certSIGN OU=certSIGN ROOT CA
    -# Subject: O=certSIGN OU=certSIGN ROOT CA
    -# Label: "certSIGN ROOT CA"
    -# Serial: 35210227249154
    -# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17
    -# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b
    -# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb
    ------BEGIN CERTIFICATE-----
    -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT
    -AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD
    -QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP
    -MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC
    -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do
    -0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ
    -UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d
    -RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ
    -OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv
    -JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C
    -AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O
    -BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ
    -LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY
    -MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ
    -44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I
    -Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw
    -i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN
    -9u6wWk5JRFRYX0KD
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only
    -# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only
    -# Label: "GeoTrust Primary Certification Authority - G3"
    -# Serial: 28809105769928564313984085209975885599
    -# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05
    -# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd
    -# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4
    ------BEGIN CERTIFICATE-----
    -MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB
    -mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT
    -MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s
    -eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv
    -cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ
    -BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
    -MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0
    -BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
    -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz
    -+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm
    -hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn
    -5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W
    -JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL
    -DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC
    -huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw
    -HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB
    -AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB
    -zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN
    -kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
    -AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH
    -SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G
    -spki4cErx5z481+oghLrGREt
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only
    -# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only
    -# Label: "thawte Primary Root CA - G2"
    -# Serial: 71758320672825410020661621085256472406
    -# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f
    -# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12
    -# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57
    ------BEGIN CERTIFICATE-----
    -MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL
    -MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp
    -IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi
    -BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw
    -MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
    -d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig
    -YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v
    -dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/
    -BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6
    -papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E
    -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K
    -DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3
    -KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox
    -XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only
    -# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only
    -# Label: "thawte Primary Root CA - G3"
    -# Serial: 127614157056681299805556476275995414779
    -# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31
    -# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2
    -# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c
    ------BEGIN CERTIFICATE-----
    -MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB
    -rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
    -Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
    -MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV
    -BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa
    -Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl
    -LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u
    -MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl
    -ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz
    -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm
    -gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8
    -YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf
    -b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9
    -9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S
    -zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk
    -OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
    -HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA
    -2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW
    -oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
    -t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c
    -KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM
    -m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu
    -MdRAGmI0Nj81Aa6sY6A=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only
    -# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only
    -# Label: "GeoTrust Primary Certification Authority - G2"
    -# Serial: 80682863203381065782177908751794619243
    -# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a
    -# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0
    -# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66
    ------BEGIN CERTIFICATE-----
    -MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL
    -MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj
    -KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2
    -MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
    -eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV
    -BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw
    -NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV
    -BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH
    -MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL
    -So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal
    -tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO
    -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG
    -CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT
    -qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz
    -rD6ogRLQy7rQkgu2npaqBA+K
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only
    -# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only
    -# Label: "VeriSign Universal Root Certification Authority"
    -# Serial: 85209574734084581917763752644031726877
    -# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19
    -# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54
    -# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c
    ------BEGIN CERTIFICATE-----
    -MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB
    -vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
    -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp
    -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W
    -ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe
    -Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX
    -MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0
    -IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y
    -IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh
    -bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
    -AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF
    -9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH
    -H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H
    -LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN
    -/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT
    -rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud
    -EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw
    -WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs
    -exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
    -DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4
    -sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+
    -seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz
    -4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+
    -BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR
    -lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3
    -7M2CYfE45k+XmCpajQ==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only
    -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only
    -# Label: "VeriSign Class 3 Public Primary Certification Authority - G4"
    -# Serial: 63143484348153506665311985501458640051
    -# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41
    -# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a
    -# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79
    ------BEGIN CERTIFICATE-----
    -MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL
    -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW
    -ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln
    -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp
    -U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y
    -aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG
    -A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp
    -U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg
    -SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln
    -biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
    -IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm
    -GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve
    -fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw
    -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ
    -aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj
    -aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW
    -kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC
    -4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga
    -FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services)
    -# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services)
    -# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny"
    -# Serial: 80544274841616
    -# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88
    -# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91
    -# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98
    ------BEGIN CERTIFICATE-----
    -MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG
    -EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3
    -MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl
    -cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR
    -dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB
    -pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM
    -b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm
    -aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz
    -IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
    -MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT
    -lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz
    -AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5
    -VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG
    -ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2
    -BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG
    -AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M
    -U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh
    -bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C
    -+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
    -bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F
    -uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2
    -XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden
    -# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden
    -# Label: "Staat der Nederlanden Root CA - G2"
    -# Serial: 10000012
    -# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a
    -# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16
    -# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post
    -# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post
    -# Label: "Hongkong Post Root CA 1"
    -# Serial: 1000
    -# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca
    -# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58
    -# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2
    ------BEGIN CERTIFICATE-----
    -MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx
    -FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg
    -Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG
    -A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr
    -b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
    -AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ
    -jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn
    -PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh
    -ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9
    -nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h
    -q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED
    -MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC
    -mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3
    -7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB
    -oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs
    -EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO
    -fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi
    -AmvZWg==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc.
    -# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc.
    -# Label: "SecureSign RootCA11"
    -# Serial: 1
    -# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26
    -# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3
    -# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12
    ------BEGIN CERTIFICATE-----
    -MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr
    -MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG
    -A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0
    -MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp
    -Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD
    -QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz
    -i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8
    -h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV
    -MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9
    -UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni
    -8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC
    -h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD
    -VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB
    -AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm
    -KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ
    -X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr
    -QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5
    -pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN
    -QSdJQO7e5iNEOdyhIta6A/I=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd.
    -# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd.
    -# Label: "Microsec e-Szigno Root CA 2009"
    -# Serial: 14014712776195784473
    -# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1
    -# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e
    -# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78
    ------BEGIN CERTIFICATE-----
    -MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD
    -VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0
    -ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G
    -CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y
    -OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx
    -FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp
    -Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
    -dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP
    -kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc
    -cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U
    -fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7
    -N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC
    -xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1
    -+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
    -A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM
    -Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG
    -SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h
    -mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk
    -ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
    -tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c
    -2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t
    -HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3
    -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3
    -# Label: "GlobalSign Root CA - R3"
    -# Serial: 4835703278459759426209954
    -# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28
    -# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad
    -# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b
    ------BEGIN CERTIFICATE-----
    -MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
    -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
    -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
    -MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
    -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
    -hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
    -RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
    -gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
    -KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
    -QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
    -XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
    -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
    -LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
    -RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
    -jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
    -6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
    -mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
    -Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
    -WD9f
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068
    -# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068
    -# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068"
    -# Serial: 6047274297262753887
    -# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3
    -# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa
    -# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef
    ------BEGIN CERTIFICATE-----
    -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
    -jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Izenpe.com O=IZENPE S.A.
    -# Subject: CN=Izenpe.com O=IZENPE S.A.
    -# Label: "Izenpe.com"
    -# Serial: 917563065490389241595536686991402621
    -# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73
    -# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19
    -# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A.
    -# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A.
    -# Label: "Chambers of Commerce Root - 2008"
    -# Serial: 11806822484801597146
    -# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7
    -# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c
    -# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0
    ------BEGIN CERTIFICATE-----
    -MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD
    -VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0
    -IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3
    -MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz
    -IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz
    -MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj
    -dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw
    -EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp
    -MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G
    -CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9
    -28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq
    -VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q
    -DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR
    -5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL
    -ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a
    -Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl
    -UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s
    -+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5
    -Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
    -ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx
    -hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV
    -HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1
    -+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN
    -YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t
    -L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy
    -ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt
    -IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV
    -HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w
    -DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW
    -PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF
    -5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1
    -glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH
    -FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2
    -pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD
    -xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG
    -tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq
    -jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De
    -fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
    -OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ
    -d0jQ
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A.
    -# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A.
    -# Label: "Global Chambersign Root - 2008"
    -# Serial: 14541511773111788494
    -# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3
    -# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c
    -# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca
    ------BEGIN CERTIFICATE-----
    -MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD
    -VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0
    -IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3
    -MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
    -aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx
    -MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy
    -cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG
    -A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl
    -BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI
    -hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed
    -KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7
    -G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2
    -zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4
    -ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG
    -HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2
    -Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V
    -yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e
    -beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r
    -6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
    -wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog
    -zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW
    -BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr
    -ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp
    -ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk
    -cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt
    -YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC
    -CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow
    -KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI
    -hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ
    -UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz
    -X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x
    -fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz
    -a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd
    -Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd
    -SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O
    -AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso
    -M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge
    -v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
    -09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc.
    -# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc.
    -# Label: "Go Daddy Root Certificate Authority - G2"
    -# Serial: 0
    -# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01
    -# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b
    -# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da
    ------BEGIN CERTIFICATE-----
    -MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
    -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
    -EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
    -ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz
    -NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
    -EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE
    -AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw
    -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD
    -E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH
    -/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy
    -DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh
    -GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR
    -tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA
    -AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
    -FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX
    -WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu
    -9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr
    -gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo
    -2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
    -LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI
    -4uJEvlz36hz1
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc.
    -# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc.
    -# Label: "Starfield Root Certificate Authority - G2"
    -# Serial: 0
    -# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96
    -# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e
    -# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5
    ------BEGIN CERTIFICATE-----
    -MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx
    -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT
    -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs
    -ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw
    -MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
    -b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj
    -aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp
    -Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
    -ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg
    -nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1
    -HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N
    -Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN
    -dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0
    -HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO
    -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G
    -CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU
    -sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3
    -4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg
    -8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
    -pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1
    -mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc.
    -# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc.
    -# Label: "Starfield Services Root Certificate Authority - G2"
    -# Serial: 0
    -# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2
    -# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f
    -# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5
    ------BEGIN CERTIFICATE-----
    -MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx
    -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT
    -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs
    -ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
    -MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD
    -VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy
    -ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy
    -dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
    -hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p
    -OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2
    -8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K
    -Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe
    -hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk
    -6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw
    -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q
    -AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI
    -bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB
    -ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z
    -qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
    -iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn
    -0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN
    -sSi6
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=AffirmTrust Commercial O=AffirmTrust
    -# Subject: CN=AffirmTrust Commercial O=AffirmTrust
    -# Label: "AffirmTrust Commercial"
    -# Serial: 8608355977964138876
    -# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7
    -# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7
    -# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7
    ------BEGIN CERTIFICATE-----
    -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE
    -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz
    -dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL
    -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp
    -cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
    -AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP
    -Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr
    -ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL
    -MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1
    -yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr
    -VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/
    -nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
    -KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG
    -XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj
    -vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt
    -Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g
    -N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC
    -nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=AffirmTrust Networking O=AffirmTrust
    -# Subject: CN=AffirmTrust Networking O=AffirmTrust
    -# Label: "AffirmTrust Networking"
    -# Serial: 8957382827206547757
    -# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f
    -# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f
    -# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b
    ------BEGIN CERTIFICATE-----
    -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE
    -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz
    -dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL
    -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp
    -cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
    -AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y
    -YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua
    -kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL
    -QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp
    -6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG
    -yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i
    -QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
    -KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO
    -tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu
    -QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ
    -Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u
    -olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48
    -x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=AffirmTrust Premium O=AffirmTrust
    -# Subject: CN=AffirmTrust Premium O=AffirmTrust
    -# Label: "AffirmTrust Premium"
    -# Serial: 7893706540734352110
    -# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57
    -# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27
    -# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a
    ------BEGIN CERTIFICATE-----
    -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE
    -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz
    -dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG
    -A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U
    -cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf
    -qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ
    -JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ
    -+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS
    -s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5
    -HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7
    -70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG
    -V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S
    -qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S
    -5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia
    -C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX
    -OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE
    -FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
    -BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2
    -KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
    -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B
    -8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ
    -MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc
    -0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ
    -u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF
    -u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH
    -YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8
    -GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO
    -RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e
    -KeC2uAloGRwYQw==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust
    -# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust
    -# Label: "AffirmTrust Premium ECC"
    -# Serial: 8401224907861490260
    -# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d
    -# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb
    -# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23
    ------BEGIN CERTIFICATE-----
    -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC
    -VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ
    -cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ
    -BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt
    -VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D
    -0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9
    -ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G
    -A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G
    -A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs
    -aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I
    -flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority
    -# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority
    -# Label: "Certum Trusted Network CA"
    -# Serial: 279744
    -# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78
    -# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e
    -# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e
    ------BEGIN CERTIFICATE-----
    -MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM
    -MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D
    -ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU
    -cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3
    -WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg
    -Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw
    -IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B
    -AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH
    -UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM
    -TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU
    -BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM
    -kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x
    -AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV
    -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV
    -HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y
    -sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL
    -I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8
    -J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY
    -VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
    -03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA
    -# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA
    -# Label: "TWCA Root Certification Authority"
    -# Serial: 1
    -# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79
    -# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48
    -# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44
    ------BEGIN CERTIFICATE-----
    -MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES
    -MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU
    -V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz
    -WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO
    -LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm
    -aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
    -AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE
    -AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH
    -K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX
    -RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z
    -rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx
    -3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
    -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq
    -hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC
    -MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls
    -XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D
    -lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn
    -aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ
    -YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
    ------END CERTIFICATE-----
    -
    -# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2
    -# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2
    -# Label: "Security Communication RootCA2"
    -# Serial: 0
    -# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43
    -# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74
    -# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6
    ------BEGIN CERTIFICATE-----
    -MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl
    -MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe
    -U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX
    -DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy
    -dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj
    -YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV
    -OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr
    -zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM
    -VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ
    -hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO
    -ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw
    -awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs
    -OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3
    -DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF
    -coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc
    -okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8
    -t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy
    -1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/
    -SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority
    -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority
    -# Label: "Hellenic Academic and Research Institutions RootCA 2011"
    -# Serial: 0
    -# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9
    -# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d
    -# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71
    ------BEGIN CERTIFICATE-----
    -MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix
    -RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1
    -dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p
    -YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw
    -NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK
    -EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl
    -cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl
    -c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB
    -BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz
    -dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ
    -fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns
    -bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD
    -75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP
    -FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV
    -HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp
    -5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu
    -b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA
    -A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p
    -6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
    -TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7
    -dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys
    -Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI
    -l7WdmplNsDz4SgCbZN2fOUvRJ9e4
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967
    -# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967
    -# Label: "Actalis Authentication Root CA"
    -# Serial: 6271844772424770508
    -# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6
    -# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac
    -# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66
    ------BEGIN CERTIFICATE-----
    -MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE
    -BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w
    -MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
    -IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC
    -SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1
    -ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB
    -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv
    -UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX
    -4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9
    -KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/
    -gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb
    -rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ
    -51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F
    -be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe
    -KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F
    -v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn
    -fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7
    -jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz
    -ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
    -ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL
    -e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70
    -jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz
    -WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V
    -SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j
    -pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX
    -X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok
    -fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R
    -K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU
    -ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU
    -LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT
    -LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
    ------END CERTIFICATE-----
    -
    -# Issuer: O=Trustis Limited OU=Trustis FPS Root CA
    -# Subject: O=Trustis Limited OU=Trustis FPS Root CA
    -# Label: "Trustis FPS Root CA"
    -# Serial: 36053640375399034304724988975563710553
    -# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d
    -# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04
    -# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d
    ------BEGIN CERTIFICATE-----
    -MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF
    -MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL
    -ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx
    -MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc
    -MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD
    -ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+
    -AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH
    -iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj
    -vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA
    -0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB
    -OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/
    -BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E
    -FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01
    -GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW
    -zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4
    -1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE
    -f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F
    -jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN
    -ZetX2fNXlrtIzYE=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327
    -# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327
    -# Label: "Buypass Class 2 Root CA"
    -# Serial: 2
    -# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29
    -# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99
    -# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48
    ------BEGIN CERTIFICATE-----
    -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd
    -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg
    -Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow
    -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw
    -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB
    -BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr
    -6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV
    -L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91
    -1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx
    -MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ
    -QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB
    -arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr
    -Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi
    -FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS
    -P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN
    -9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP
    -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz
    -uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h
    -9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
    -A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t
    -OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo
    -+fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7
    -KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2
    -DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us
    -H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ
    -I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7
    -5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h
    -3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz
    -Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327
    -# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327
    -# Label: "Buypass Class 3 Root CA"
    -# Serial: 2
    -# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec
    -# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57
    -# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d
    ------BEGIN CERTIFICATE-----
    -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd
    -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg
    -Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow
    -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw
    -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB
    -BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y
    -ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E
    -N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9
    -tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX
    -0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c
    -/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X
    -KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY
    -zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS
    -O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D
    -34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP
    -K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3
    -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv
    -Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj
    -QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
    -cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS
    -IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2
    -HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa
    -O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv
    -033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u
    -dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE
    -kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41
    -3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD
    -u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq
    -4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center
    -# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center
    -# Label: "T-TeleSec GlobalRoot Class 3"
    -# Serial: 1
    -# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef
    -# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1
    -# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd
    ------BEGIN CERTIFICATE-----
    -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx
    -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd
    -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl
    -YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1
    -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy
    -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50
    -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G
    -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN
    -8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/
    -RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4
    -hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5
    -ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM
    -EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj
    -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1
    -A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy
    -WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ
    -1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30
    -6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT
    -91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
    -e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p
    -TpPDpFQUWw==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus
    -# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus
    -# Label: "EE Certification Centre Root CA"
    -# Serial: 112324828676200291871926431888494945866
    -# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f
    -# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7
    -# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76
    ------BEGIN CERTIFICATE-----
    -MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1
    -MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1
    -czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG
    -CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy
    -MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl
    -ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS
    -b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB
    -AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy
    -euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO
    -bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw
    -WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d
    -MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE
    -1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD
    -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/
    -zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB
    -BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF
    -BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV
    -v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG
    -E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
    -uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW
    -iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v
    -GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH
    -# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH
    -# Label: "D-TRUST Root Class 3 CA 2 2009"
    -# Serial: 623603
    -# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f
    -# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0
    -# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1
    ------BEGIN CERTIFICATE-----
    -MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF
    -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD
    -bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha
    -ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM
    -HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB
    -BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03
    -UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42
    -tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R
    -ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM
    -lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp
    -/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G
    -A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G
    -A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj
    -dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy
    -MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl
    -cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js
    -L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL
    -BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni
    -acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
    -o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K
    -zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8
    -PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y
    -Johw1+qRzT65ysCQblrGXnRl11z+o+I=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH
    -# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH
    -# Label: "D-TRUST Root Class 3 CA 2 EV 2009"
    -# Serial: 623604
    -# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6
    -# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83
    -# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81
    ------BEGIN CERTIFICATE-----
    -MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF
    -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD
    -bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw
    -NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV
    -BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI
    -hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn
    -ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0
    -3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z
    -qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR
    -p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8
    -HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw
    -ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea
    -HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw
    -Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh
    -c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E
    -RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt
    -dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku
    -Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp
    -3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
    -nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF
    -CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na
    -xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX
    -KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=CA Disig Root R2 O=Disig a.s.
    -# Subject: CN=CA Disig Root R2 O=Disig a.s.
    -# Label: "CA Disig Root R2"
    -# Serial: 10572350602393338211
    -# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03
    -# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71
    -# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV
    -# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV
    -# Label: "ACCVRAIZ1"
    -# Serial: 6828503384748696800
    -# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02
    -# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17
    -# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13
    ------BEGIN CERTIFICATE-----
    -MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE
    -AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw
    -CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ
    -BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND
    -VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb
    -qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY
    -HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo
    -G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA
    -lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr
    -IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/
    -0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH
    -k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47
    -4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO
    -m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa
    -cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl
    -uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI
    -KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls
    -ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG
    -AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
    -VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT
    -VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG
    -CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA
    -cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA
    -QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA
    -7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA
    -cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA
    -QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA
    -czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu
    -aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt
    -aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud
    -DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF
    -BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp
    -D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU
    -JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m
    -AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD
    -vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms
    -tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH
    -7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
    -I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA
    -h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF
    -d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H
    -pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA
    -# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA
    -# Label: "TWCA Global Root CA"
    -# Serial: 3262
    -# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96
    -# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65
    -# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b
    ------BEGIN CERTIFICATE-----
    -MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx
    -EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT
    -VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5
    -NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT
    -B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG
    -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF
    -10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz
    -0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh
    -MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH
    -zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc
    -46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2
    -yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi
    -laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP
    -oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA
    -BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE
    -qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm
    -4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
    -/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL
    -1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
    -LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF
    -H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo
    -RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+
    -nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh
    -15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW
    -6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW
    -nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j
    -wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz
    -aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy
    -KwbQBM0=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera
    -# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera
    -# Label: "TeliaSonera Root CA v1"
    -# Serial: 199041966741090107964904287217786801558
    -# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c
    -# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37
    -# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89
    ------BEGIN CERTIFICATE-----
    -MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw
    -NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv
    -b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD
    -VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2
    -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F
    -VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1
    -7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X
    -Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+
    -/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs
    -81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm
    -dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe
    -Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu
    -sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4
    -pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs
    -slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ
    -arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD
    -VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG
    -9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl
    -dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx
    -0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj
    -TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed
    -Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7
    -Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI
    -OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7
    -vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW
    -t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn
    -HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx
    -SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi
    -# Subject: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi
    -# Label: "E-Tugra Certification Authority"
    -# Serial: 7667447206703254355
    -# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49
    -# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39
    -# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c
    ------BEGIN CERTIFICATE-----
    -MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV
    -BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC
    -aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV
    -BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1
    -Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz
    -MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+
    -BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp
    -em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN
    -ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
    -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY
    -B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH
    -D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF
    -Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo
    -q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D
    -k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH
    -fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut
    -dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM
    -ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8
    -zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn
    -rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX
    -U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6
    -Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5
    -XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF
    -Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR
    -HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY
    -GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c
    -77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3
    -+GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK
    -vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6
    -FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl
    -yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P
    -AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD
    -y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d
    -NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center
    -# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center
    -# Label: "T-TeleSec GlobalRoot Class 2"
    -# Serial: 1
    -# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a
    -# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9
    -# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52
    ------BEGIN CERTIFICATE-----
    -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx
    -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd
    -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl
    -YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1
    -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy
    -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50
    -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G
    -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd
    -AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC
    -FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi
    -1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq
    -jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ
    -wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj
    -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/
    -WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy
    -NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC
    -uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw
    -IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6
    -g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
    -9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP
    -BSeOE6Fuwg==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Atos TrustedRoot 2011 O=Atos
    -# Subject: CN=Atos TrustedRoot 2011 O=Atos
    -# Label: "Atos TrustedRoot 2011"
    -# Serial: 6643877497813316402
    -# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56
    -# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21
    -# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74
    ------BEGIN CERTIFICATE-----
    -MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE
    -AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG
    -EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM
    -FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC
    -REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp
    -Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM
    -VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+
    -SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ
    -4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L
    -cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi
    -eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV
    -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG
    -A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3
    -DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j
    -vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP
    -DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc
    -maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D
    -lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv
    -KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited
    -# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited
    -# Label: "QuoVadis Root CA 1 G3"
    -# Serial: 687049649626669250736271037606554624078720034195
    -# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab
    -# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67
    -# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited
    -# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited
    -# Label: "QuoVadis Root CA 2 G3"
    -# Serial: 390156079458959257446133169266079962026824725800
    -# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06
    -# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36
    -# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited
    -# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited
    -# Label: "QuoVadis Root CA 3 G3"
    -# Serial: 268090761170461462463995952157327242137089239581
    -# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7
    -# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d
    -# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com
    -# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com
    -# Label: "DigiCert Assured ID Root G2"
    -# Serial: 15385348160840213938643033620894905419
    -# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d
    -# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f
    -# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85
    ------BEGIN CERTIFICATE-----
    -MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl
    -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
    -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
    -b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG
    -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
    -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi
    -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA
    -n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc
    -biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp
    -EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA
    -bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu
    -YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB
    -AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW
    -BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI
    -QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I
    -0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni
    -lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9
    -B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv
    -ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
    -IhNzbM8m9Yop5w==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com
    -# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com
    -# Label: "DigiCert Assured ID Root G3"
    -# Serial: 15459312981008553731928384953135426796
    -# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb
    -# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89
    -# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2
    ------BEGIN CERTIFICATE-----
    -MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw
    -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
    -ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg
    -RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV
    -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
    -Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq
    -hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf
    -Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q
    -RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
    -BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD
    -AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY
    -JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv
    -6pZjamVFkpUBtA==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com
    -# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com
    -# Label: "DigiCert Global Root G2"
    -# Serial: 4293743540046975378534879503202253541
    -# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44
    -# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4
    -# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f
    ------BEGIN CERTIFICATE-----
    -MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh
    -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
    -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
    -MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT
    -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
    -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG
    -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI
    -2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx
    -1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ
    -q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz
    -tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ
    -vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP
    -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV
    -5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY
    -1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4
    -NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG
    -Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91
    -8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe
    -pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
    -MrY=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com
    -# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com
    -# Label: "DigiCert Global Root G3"
    -# Serial: 7089244469030293291760083333884364146
    -# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca
    -# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e
    -# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0
    ------BEGIN CERTIFICATE-----
    -MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw
    -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
    -ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe
    -Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw
    -EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x
    -IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF
    -K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG
    -fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO
    -Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd
    -BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx
    -AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/
    -oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8
    -sycX
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com
    -# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com
    -# Label: "DigiCert Trusted Root G4"
    -# Serial: 7451500558977370777930084869016614236
    -# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49
    -# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4
    -# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88
    ------BEGIN CERTIFICATE-----
    -MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi
    -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
    -d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg
    -RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV
    -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
    -Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG
    -SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y
    -ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If
    -xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV
    -ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO
    -DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ
    -jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/
    -CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi
    -EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM
    -fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY
    -uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK
    -chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t
    -9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
    -hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
    -ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2
    -SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd
    -+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc
    -fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa
    -sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N
    -cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N
    -0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie
    -4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI
    -r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1
    -/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm
    -gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited
    -# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited
    -# Label: "COMODO RSA Certification Authority"
    -# Serial: 101909084537582093308941363524873193117
    -# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18
    -# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4
    -# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34
    ------BEGIN CERTIFICATE-----
    -MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB
    -hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
    -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
    -BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5
    -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
    -EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
    -Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh
    -dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR
    -6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X
    -pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC
    -9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV
    -/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf
    -Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z
    -+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w
    -qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah
    -SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC
    -u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf
    -Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq
    -crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E
    -FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB
    -/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl
    -wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM
    -4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV
    -2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna
    -FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ
    -CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK
    -boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke
    -jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL
    -S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb
    -QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl
    -0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB
    -NVOFBkpdn627G190
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network
    -# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network
    -# Label: "USERTrust RSA Certification Authority"
    -# Serial: 2645093764781058787591871645665788717
    -# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5
    -# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e
    -# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2
    ------BEGIN CERTIFICATE-----
    -MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB
    -iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
    -cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
    -BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw
    -MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV
    -BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
    -aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy
    -dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
    -AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B
    -3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY
    -tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/
    -Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2
    -VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT
    -79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6
    -c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT
    -Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l
    -c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee
    -UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE
    -Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
    -BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G
    -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF
    -Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO
    -VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3
    -ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs
    -8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR
    -iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze
    -Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ
    -XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/
    -qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB
    -VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB
    -L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG
    -jjxDah2nGN59PRbxYvnKkKj9
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network
    -# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network
    -# Label: "USERTrust ECC Certification Authority"
    -# Serial: 123013823720199481456569720443997572134
    -# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1
    -# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0
    -# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a
    ------BEGIN CERTIFICATE-----
    -MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL
    -MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl
    -eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT
    -JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx
    -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
    -Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg
    -VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm
    -aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo
    -I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng
    -o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G
    -A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD
    -VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB
    -zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW
    -RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4
    -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4
    -# Label: "GlobalSign ECC Root CA - R4"
    -# Serial: 14367148294922964480859022125800977897474
    -# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e
    -# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb
    -# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c
    ------BEGIN CERTIFICATE-----
    -MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk
    -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH
    -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX
    -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD
    -QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu
    -MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ
    -FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw
    -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F
    -uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX
    -kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs
    -ewv4n4Q=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5
    -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5
    -# Label: "GlobalSign ECC Root CA - R5"
    -# Serial: 32785792099990507226680698011560947931244
    -# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08
    -# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa
    -# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24
    ------BEGIN CERTIFICATE-----
    -MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk
    -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH
    -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX
    -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD
    -QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu
    -MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc
    -8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke
    -hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD
    -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI
    -KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg
    -515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO
    -xwy8p2Fp8fc74SrL+SvzZpA3
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden
    -# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden
    -# Label: "Staat der Nederlanden Root CA - G3"
    -# Serial: 10003001
    -# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37
    -# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc
    -# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28
    ------BEGIN CERTIFICATE-----
    -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
    -94B7IWcnMFk=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden
    -# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden
    -# Label: "Staat der Nederlanden EV Root CA"
    -# Serial: 10000013
    -# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba
    -# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb
    -# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a
    ------BEGIN CERTIFICATE-----
    -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
    -7uzXLg==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust
    -# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust
    -# Label: "IdenTrust Commercial Root CA 1"
    -# Serial: 13298821034946342390520003877796839426
    -# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7
    -# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25
    -# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust
    -# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust
    -# Label: "IdenTrust Public Sector Root CA 1"
    -# Serial: 13298821034946342390521976156843933698
    -# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba
    -# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd
    -# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only
    -# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only
    -# Label: "Entrust Root Certification Authority - G2"
    -# Serial: 1246989352
    -# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2
    -# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4
    -# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39
    ------BEGIN CERTIFICATE-----
    -MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC
    -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50
    -cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs
    -IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz
    -dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy
    -NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu
    -dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt
    -dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0
    -aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj
    -YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
    -AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T
    -RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN
    -cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW
    -wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1
    -U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0
    -jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP
    -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN
    -BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/
    -jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ
    -Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v
    -1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R
    -nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH
    -VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only
    -# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only
    -# Label: "Entrust Root Certification Authority - EC1"
    -# Serial: 51543124481930649114116133369
    -# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc
    -# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47
    -# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5
    ------BEGIN CERTIFICATE-----
    -MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG
    -A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3
    -d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu
    -dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq
    -RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy
    -MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD
    -VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0
    -L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g
    -Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD
    -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi
    -A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt
    -ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH
    -Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
    -BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC
    -R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX
    -hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority
    -# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority
    -# Label: "CFCA EV ROOT"
    -# Serial: 407555286
    -# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30
    -# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83
    -# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd
    ------BEGIN CERTIFICATE-----
    -MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD
    -TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y
    -aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx
    -MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j
    -aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP
    -T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03
    -sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL
    -TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5
    -/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp
    -7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz
    -EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt
    -hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP
    -a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot
    -aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg
    -TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV
    -PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv
    -cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL
    -tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd
    -BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB
    -ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT
    -ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL
    -jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS
    -ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy
    -P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19
    -xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d
    -Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN
    -5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe
    -/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z
    -AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ
    -5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed
    -# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed
    -# Label: "OISTE WISeKey Global Root GB CA"
    -# Serial: 157768595616588414422159278966750757568
    -# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d
    -# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed
    -# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6
    ------BEGIN CERTIFICATE-----
    -MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt
    -MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg
    -Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i
    -YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x
    -CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG
    -b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh
    -bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3
    -HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx
    -WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX
    -1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk
    -u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P
    -99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r
    -M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
    -AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB
    -BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh
    -cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5
    -gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO
    -ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf
    -aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic
    -Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A.
    -# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A.
    -# Label: "SZAFIR ROOT CA2"
    -# Serial: 357043034767186914217277344587386743377558296292
    -# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99
    -# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de
    -# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe
    ------BEGIN CERTIFICATE-----
    -MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL
    -BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6
    -ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw
    -NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L
    -cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg
    -Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN
    -QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT
    -3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw
    -3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6
    -3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5
    -BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN
    -XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
    -AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF
    -AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw
    -8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG
    -nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP
    -oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy
    -d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg
    -LvWpCz/UXeHPhJ/iGcJfitYgHuNztw==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority
    -# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority
    -# Label: "Certum Trusted Network CA 2"
    -# Serial: 44979900017204383099463764357512596969
    -# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2
    -# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92
    -# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04
    ------BEGIN CERTIFICATE-----
    -MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB
    -gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu
    -QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG
    -A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz
    -OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ
    -VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp
    -ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3
    -b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA
    -DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn
    -0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB
    -OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE
    -fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E
    -Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m
    -o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i
    -sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW
    -OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez
    -Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS
    -adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n
    -3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
    -AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC
    -AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ
    -F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf
    -CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29
    -XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm
    -djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/
    -WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb
    -AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq
    -P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko
    -b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj
    -XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P
    -5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi
    -DrW5viSP
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority
    -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority
    -# Label: "Hellenic Academic and Research Institutions RootCA 2015"
    -# Serial: 0
    -# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce
    -# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6
    -# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36
    ------BEGIN CERTIFICATE-----
    -MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix
    -DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k
    -IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT
    -N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v
    -dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG
    -A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh
    -ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx
    -QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1
    -dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
    -AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA
    -4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0
    -AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10
    -4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C
    -ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV
    -9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD
    -gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6
    -Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq
    -NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko
    -LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc
    -Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV
    -HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd
    -ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I
    -XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI
    -M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot
    -9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V
    -Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea
    -j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh
    -X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ
    -l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf
    -bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4
    -pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK
    -e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0
    -vm9qp/UsQu0yrbYhnr68
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority
    -# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority
    -# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015"
    -# Serial: 0
    -# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef
    -# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66
    -# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33
    ------BEGIN CERTIFICATE-----
    -MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN
    -BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl
    -c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl
    -bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv
    -b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ
    -BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj
    -YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5
    -MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0
    -dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg
    -QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa
    -jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC
    -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi
    -C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep
    -lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof
    -TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=ISRG Root X1 O=Internet Security Research Group
    -# Subject: CN=ISRG Root X1 O=Internet Security Research Group
    -# Label: "ISRG Root X1"
    -# Serial: 172886928669790476064670243504169061120
    -# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e
    -# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8
    -# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM
    -# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM
    -# Label: "AC RAIZ FNMT-RCM"
    -# Serial: 485876308206448804701554682760554759
    -# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d
    -# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20
    -# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa
    ------BEGIN CERTIFICATE-----
    -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
    -uu8wd+RU4riEmViAqhOLUTpPSPaLtrM=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Amazon Root CA 1 O=Amazon
    -# Subject: CN=Amazon Root CA 1 O=Amazon
    -# Label: "Amazon Root CA 1"
    -# Serial: 143266978916655856878034712317230054538369994
    -# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6
    -# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16
    -# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e
    ------BEGIN CERTIFICATE-----
    -MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF
    -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6
    -b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL
    -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv
    -b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj
    -ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM
    -9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw
    -IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6
    -VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L
    -93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm
    -jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
    -AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA
    -A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI
    -U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs
    -N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv
    -o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU
    -5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy
    -rqXRfboQnoZsG4q5WTP468SQvvG5
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Amazon Root CA 2 O=Amazon
    -# Subject: CN=Amazon Root CA 2 O=Amazon
    -# Label: "Amazon Root CA 2"
    -# Serial: 143266982885963551818349160658925006970653239
    -# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66
    -# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a
    -# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4
    ------BEGIN CERTIFICATE-----
    -MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF
    -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6
    -b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL
    -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv
    -b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK
    -gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ
    -W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg
    -1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K
    -8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r
    -2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me
    -z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR
    -8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj
    -mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz
    -7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6
    -+XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI
    -0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB
    -Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm
    -UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2
    -LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY
    -+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS
    -k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl
    -7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm
    -btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl
    -urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+
    -fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63
    -n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE
    -76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H
    -9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT
    -4PsJYGw=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Amazon Root CA 3 O=Amazon
    -# Subject: CN=Amazon Root CA 3 O=Amazon
    -# Label: "Amazon Root CA 3"
    -# Serial: 143266986699090766294700635381230934788665930
    -# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87
    -# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e
    -# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4
    ------BEGIN CERTIFICATE-----
    -MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5
    -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g
    -Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG
    -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg
    -Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl
    -ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j
    -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr
    -ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr
    -BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM
    -YyRIHN8wfdVoOw==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Amazon Root CA 4 O=Amazon
    -# Subject: CN=Amazon Root CA 4 O=Amazon
    -# Label: "Amazon Root CA 4"
    -# Serial: 143266989758080763974105200630763877849284878
    -# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd
    -# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be
    -# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92
    ------BEGIN CERTIFICATE-----
    -MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5
    -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g
    -Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG
    -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg
    -Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi
    -9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk
    -M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB
    -/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB
    -MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw
    -CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW
    -1KyLa2tJElMzrdfkviT8tQp21KW8EA==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=LuxTrust Global Root 2 O=LuxTrust S.A.
    -# Subject: CN=LuxTrust Global Root 2 O=LuxTrust S.A.
    -# Label: "LuxTrust Global Root 2"
    -# Serial: 59914338225734147123941058376788110305822489521
    -# MD5 Fingerprint: b2:e1:09:00:61:af:f7:f1:91:6f:c4:ad:8d:5e:3b:7c
    -# SHA1 Fingerprint: 1e:0e:56:19:0a:d1:8b:25:98:b2:04:44:ff:66:8a:04:17:99:5f:3f
    -# SHA256 Fingerprint: 54:45:5f:71:29:c2:0b:14:47:c4:18:f9:97:16:8f:24:c5:8f:c5:02:3b:f5:da:5b:e2:eb:6e:1d:d8:90:2e:d5
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM
    -# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM
    -# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1"
    -# Serial: 1
    -# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49
    -# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca
    -# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16
    ------BEGIN CERTIFICATE-----
    -MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx
    -GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp
    -bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w
    -KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0
    -BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy
    -dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG
    -EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll
    -IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU
    -QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT
    -TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg
    -LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7
    -a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr
    -LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr
    -N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X
    -YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/
    -iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f
    -AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH
    -V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
    -BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh
    -AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf
    -IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4
    -lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c
    -8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf
    -lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.
    -# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.
    -# Label: "GDCA TrustAUTH R5 ROOT"
    -# Serial: 9009899650740120186
    -# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4
    -# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4
    -# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93
    ------BEGIN CERTIFICATE-----
    -MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE
    -BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ
    -IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0
    -MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV
    -BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w
    -HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF
    -AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj
    -Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj
    -TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u
    -KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj
    -qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm
    -MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12
    -ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP
    -zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk
    -L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC
    -jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA
    -HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC
    -AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB
    -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg
    -p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm
    -DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5
    -COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry
    -L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf
    -JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg
    -IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io
    -2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV
    -09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ
    -XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq
    -T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe
    -MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority
    -# Subject: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority
    -# Label: "TrustCor RootCert CA-1"
    -# Serial: 15752444095811006489
    -# MD5 Fingerprint: 6e:85:f1:dc:1a:00:d3:22:d5:b2:b2:ac:6b:37:05:45
    -# SHA1 Fingerprint: ff:bd:cd:e7:82:c8:43:5e:3c:6f:26:86:5c:ca:a8:3a:45:5b:c3:0a
    -# SHA256 Fingerprint: d4:0e:9c:86:cd:8f:e4:68:c1:77:69:59:f4:9e:a7:74:fa:54:86:84:b6:c4:06:f3:90:92:61:f4:dc:e2:57:5c
    ------BEGIN CERTIFICATE-----
    -MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYD
    -VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk
    -MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U
    -cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29y
    -IFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkxMjMxMTcyMzE2WjCB
    -pDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFuYW1h
    -IENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUG
    -A1UECwweVHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZU
    -cnVzdENvciBSb290Q2VydCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
    -CgKCAQEAv463leLCJhJrMxnHQFgKq1mqjQCj/IDHUHuO1CAmujIS2CNUSSUQIpid
    -RtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4pQa81QBeCQryJ3pS/C3V
    -seq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0JEsq1pme
    -9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CV
    -EY4hgLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorW
    -hnAbJN7+KIor0Gqw/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/
    -DeOxCbeKyKsZn3MzUOcwHwYDVR0jBBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcw
    -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD
    -ggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5mDo4Nvu7Zp5I
    -/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf
    -ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZ
    -yonnMlo2HD6CqFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djts
    -L1Ac59v2Z3kf9YKVmgenFK+P3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdN
    -zl/HHk484IkzlQsPpTLWPFp5LBk=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority
    -# Subject: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority
    -# Label: "TrustCor RootCert CA-2"
    -# Serial: 2711694510199101698
    -# MD5 Fingerprint: a2:e1:f8:18:0b:ba:45:d5:c7:41:2a:bb:37:52:45:64
    -# SHA1 Fingerprint: b8:be:6d:cb:56:f1:55:b9:63:d4:12:ca:4e:06:34:c7:94:b2:1c:c0
    -# SHA256 Fingerprint: 07:53:e9:40:37:8c:1b:d5:e3:83:6e:39:5d:ae:a5:cb:83:9e:50:46:f1:bd:0e:ae:19:51:cf:10:fe:c7:c9:65
    ------BEGIN CERTIFICATE-----
    -MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNV
    -BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw
    -IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy
    -dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEfMB0GA1UEAwwWVHJ1c3RDb3Ig
    -Um9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEyMzExNzI2MzlaMIGk
    -MQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEg
    -Q2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYD
    -VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRy
    -dXN0Q29yIFJvb3RDZXJ0IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
    -AoICAQCnIG7CKqJiJJWQdsg4foDSq8GbZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+
    -QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9NkRvRUqdw6VC0xK5mC8tkq
    -1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1oYxOdqHp
    -2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK
    -DOObXUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hape
    -az6LMvYHL1cEksr1/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF
    -3wP+TfSvPd9cW436cOGlfifHhi5qjxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88
    -oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQPeSghYA2FFn3XVDjxklb9tTNM
    -g9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+CtgrKAmrhQhJ8Z3
    -mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh
    -8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAd
    -BgNVHQ4EFgQU2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6U
    -nrybPZx9mCAZ5YwwYrIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw
    -DQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/hOsh80QA9z+LqBrWyOrsGS2h60COX
    -dKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnpkpfbsEZC89NiqpX+
    -MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv2wnL
    -/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RX
    -CI/hOWB3S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYa
    -ZH9bDTMJBzN7Bj8RpFxwPIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW
    -2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dvDDqPys/cA8GiCcjl/YBeyGBCARsaU1q7
    -N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYURpFHmygk71dSTlxCnKr3
    -Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANExdqtvArB
    -As8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp
    -5KeXRKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu
    -1uwJ
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority
    -# Subject: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority
    -# Label: "TrustCor ECA-1"
    -# Serial: 9548242946988625984
    -# MD5 Fingerprint: 27:92:23:1d:0a:f5:40:7c:e9:e6:6b:9d:d8:f5:e7:6c
    -# SHA1 Fingerprint: 58:d1:df:95:95:67:6b:63:c0:f0:5b:1c:17:4d:8b:84:0b:c8:78:bd
    -# SHA256 Fingerprint: 5a:88:5d:b1:9c:01:d9:12:c5:75:93:88:93:8c:af:bb:df:03:1a:b2:d4:8e:91:ee:15:58:9b:42:97:1d:03:9c
    ------BEGIN CERTIFICATE-----
    -MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYD
    -VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk
    -MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U
    -cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDlRydXN0Q29y
    -IEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3MjgwN1owgZwxCzAJBgNV
    -BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw
    -IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy
    -dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3Ig
    -RUNBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb
    -3w9U73NjKYKtR8aja+3+XzP4Q1HpGjORMRegdMTUpwHmspI+ap3tDvl0mEDTPwOA
    -BoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23xFUfJ3zSCNV2HykVh0A5
    -3ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmcp0yJF4Ou
    -owReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/
    -wZ0+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZF
    -ZtS6mFjBAgMBAAGjYzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAf
    -BgNVHSMEGDAWgBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/
    -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEABT41XBVwm8nHc2Fv
    -civUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u/ukZMjgDfxT2
    -AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F
    -hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50
    -soIipX1TH0XsJ5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BI
    -WJZpTdwHjFGTot+fDz2LYLSCjaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1Wi
    -tJ/X5g==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation
    -# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation
    -# Label: "SSL.com Root Certification Authority RSA"
    -# Serial: 8875640296558310041
    -# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29
    -# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb
    -# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69
    ------BEGIN CERTIFICATE-----
    -MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE
    -BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK
    -DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp
    -Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz
    -OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv
    -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv
    -bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN
    -AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R
    -xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX
    -qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC
    -C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3
    -6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh
    -/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF
    -YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E
    -JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc
    -US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8
    -ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm
    -+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi
    -M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV
    -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G
    -A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV
    -cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc
    -Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs
    -PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/
    -q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0
    -cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr
    -a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I
    -H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y
    -K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu
    -nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf
    -oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY
    -Ic2wBlX7Jz9TkHCpBB5XJ7k=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation
    -# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation
    -# Label: "SSL.com Root Certification Authority ECC"
    -# Serial: 8495723813297216424
    -# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e
    -# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a
    -# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65
    ------BEGIN CERTIFICATE-----
    -MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC
    -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T
    -U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0
    -aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz
    -WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0
    -b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS
    -b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB
    -BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI
    -7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg
    -CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud
    -EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD
    -VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T
    -kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+
    -gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation
    -# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation
    -# Label: "SSL.com EV Root Certification Authority RSA R2"
    -# Serial: 6248227494352943350
    -# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95
    -# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a
    -# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c
    ------BEGIN CERTIFICATE-----
    -MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV
    -BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE
    -CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy
    -dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy
    -MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G
    -A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD
    -DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy
    -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq
    -M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf
    -OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa
    -4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9
    -HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR
    -aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA
    -b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ
    -Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV
    -PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO
    -pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu
    -UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY
    -MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV
    -HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4
    -9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW
    -s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5
    -Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg
    -cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM
    -79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz
    -/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt
    -ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm
    -Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK
    -QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ
    -w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi
    -S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07
    -mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation
    -# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation
    -# Label: "SSL.com EV Root Certification Authority ECC"
    -# Serial: 3182246526754555285
    -# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90
    -# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d
    -# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8
    ------BEGIN CERTIFICATE-----
    -MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC
    -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T
    -U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp
    -Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx
    -NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv
    -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv
    -bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49
    -AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA
    -VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku
    -WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP
    -MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX
    -5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ
    -ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg
    -h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6
    -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6
    -# Label: "GlobalSign Root CA - R6"
    -# Serial: 1417766617973444989252670301619537
    -# MD5 Fingerprint: 4f:dd:07:e4:d4:22:64:39:1e:0c:37:42:ea:d1:c6:ae
    -# SHA1 Fingerprint: 80:94:64:0e:b5:a7:a1:ca:11:9c:1f:dd:d5:9f:81:02:63:a7:fb:d1
    -# SHA256 Fingerprint: 2c:ab:ea:fe:37:d0:6c:a2:2a:ba:73:91:c0:03:3d:25:98:29:52:c4:53:64:73:49:76:3a:3a:b5:ad:6c:cf:69
    ------BEGIN CERTIFICATE-----
    -MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg
    -MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh
    -bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx
    -MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET
    -MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ
    -KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI
    -xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k
    -ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD
    -aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw
    -LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw
    -1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX
    -k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2
    -SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h
    -bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n
    -WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY
    -rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce
    -MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD
    -AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu
    -bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN
    -nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt
    -Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61
    -55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj
    -vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf
    -cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz
    -oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp
    -nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs
    -pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v
    -JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R
    -8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4
    -5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed
    -# Subject: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed
    -# Label: "OISTE WISeKey Global Root GC CA"
    -# Serial: 44084345621038548146064804565436152554
    -# MD5 Fingerprint: a9:d6:b9:2d:2f:93:64:f8:a5:69:ca:91:e9:68:07:23
    -# SHA1 Fingerprint: e0:11:84:5e:34:de:be:88:81:b9:9c:f6:16:26:d1:96:1f:c3:b9:31
    -# SHA256 Fingerprint: 85:60:f9:1c:36:24:da:ba:95:70:b5:fe:a0:db:e3:6f:f1:1a:83:23:be:94:86:85:4f:b3:f3:4a:55:71:19:8d
    ------BEGIN CERTIFICATE-----
    -MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw
    -CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91
    -bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg
    -Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ
    -BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu
    -ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS
    -b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni
    -eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W
    -p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E
    -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T
    -rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV
    -57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg
    -Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GTS Root R1 O=Google Trust Services LLC
    -# Subject: CN=GTS Root R1 O=Google Trust Services LLC
    -# Label: "GTS Root R1"
    -# Serial: 146587175971765017618439757810265552097
    -# MD5 Fingerprint: 82:1a:ef:d4:d2:4a:f2:9f:e2:3d:97:06:14:70:72:85
    -# SHA1 Fingerprint: e1:c9:50:e6:ef:22:f8:4c:56:45:72:8b:92:20:60:d7:d5:a7:a3:e8
    -# SHA256 Fingerprint: 2a:57:54:71:e3:13:40:bc:21:58:1c:bd:2c:f1:3e:15:84:63:20:3e:ce:94:bc:f9:d3:cc:19:6b:f0:9a:54:72
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GTS Root R2 O=Google Trust Services LLC
    -# Subject: CN=GTS Root R2 O=Google Trust Services LLC
    -# Label: "GTS Root R2"
    -# Serial: 146587176055767053814479386953112547951
    -# MD5 Fingerprint: 44:ed:9a:0e:a4:09:3b:00:f2:ae:4c:a3:c6:61:b0:8b
    -# SHA1 Fingerprint: d2:73:96:2a:2a:5e:39:9f:73:3f:e1:c7:1e:64:3f:03:38:34:fc:4d
    -# SHA256 Fingerprint: c4:5d:7b:b0:8e:6d:67:e6:2e:42:35:11:0b:56:4e:5f:78:fd:92:ef:05:8c:84:0a:ea:4e:64:55:d7:58:5c:60
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GTS Root R3 O=Google Trust Services LLC
    -# Subject: CN=GTS Root R3 O=Google Trust Services LLC
    -# Label: "GTS Root R3"
    -# Serial: 146587176140553309517047991083707763997
    -# MD5 Fingerprint: 1a:79:5b:6b:04:52:9c:5d:c7:74:33:1b:25:9a:f9:25
    -# SHA1 Fingerprint: 30:d4:24:6f:07:ff:db:91:89:8a:0b:e9:49:66:11:eb:8c:5e:46:e5
    -# SHA256 Fingerprint: 15:d5:b8:77:46:19:ea:7d:54:ce:1c:a6:d0:b0:c4:03:e0:37:a9:17:f1:31:e8:a0:4e:1e:6b:7a:71:ba:bc:e5
    ------BEGIN CERTIFICATE-----
    -MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQsw
    -CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
    -MBIGA1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw
    -MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp
    -Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQA
    -IgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout
    -736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2A
    -DDL24CejQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
    -DgQWBBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFuk
    -fCPAlaUs3L6JbyO5o91lAFJekazInXJ0glMLfalAvWhgxeG4VDvBNhcl2MG9AjEA
    -njWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOaKaqW04MjyaR7YbPMAuhd
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=GTS Root R4 O=Google Trust Services LLC
    -# Subject: CN=GTS Root R4 O=Google Trust Services LLC
    -# Label: "GTS Root R4"
    -# Serial: 146587176229350439916519468929765261721
    -# MD5 Fingerprint: 5d:b6:6a:c4:60:17:24:6a:1a:99:a8:4b:ee:5e:b4:26
    -# SHA1 Fingerprint: 2a:1d:60:27:d9:4a:b1:0a:1c:4d:91:5c:cd:33:a0:cb:3e:2d:54:cb
    -# SHA256 Fingerprint: 71:cc:a5:39:1f:9e:79:4b:04:80:25:30:b3:63:e1:21:da:8a:30:43:bb:26:66:2f:ea:4d:ca:7f:c9:51:a4:bd
    ------BEGIN CERTIFICATE-----
    -MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQsw
    -CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
    -MBIGA1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw
    -MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp
    -Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQA
    -IgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu
    -hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/l
    -xKvRHYqjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
    -DgQWBBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0
    -CMRw3J5QdCHojXohw0+WbhXRIjVhLfoIN+4Zba3bssx9BzT1YBkstTTZbyACMANx
    -sbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11xzPKwTdb+mciUqXWi4w==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=UCA Global G2 Root O=UniTrust
    -# Subject: CN=UCA Global G2 Root O=UniTrust
    -# Label: "UCA Global G2 Root"
    -# Serial: 124779693093741543919145257850076631279
    -# MD5 Fingerprint: 80:fe:f0:c4:4a:f0:5c:62:32:9f:1c:ba:78:a9:50:f8
    -# SHA1 Fingerprint: 28:f9:78:16:19:7a:ff:18:25:18:aa:44:fe:c1:a0:ce:5c:b6:4c:8a
    -# SHA256 Fingerprint: 9b:ea:11:c9:76:fe:01:47:64:c1:be:56:a6:f9:14:b5:a5:60:31:7a:bd:99:88:39:33:82:e5:16:1a:a0:49:3c
    ------BEGIN CERTIFICATE-----
    -MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9
    -MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH
    -bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x
    -CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds
    -b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr
    -b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9
    -kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm
    -VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R
    -VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc
    -C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj
    -tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY
    -D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv
    -j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl
    -NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6
    -iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP
    -O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/
    -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV
    -ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj
    -L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5
    -1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl
    -1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU
    -b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV
    -PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj
    -y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb
    -EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg
    -DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI
    -+Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy
    -YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX
    -UB+K+wb1whnw0A==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=UCA Extended Validation Root O=UniTrust
    -# Subject: CN=UCA Extended Validation Root O=UniTrust
    -# Label: "UCA Extended Validation Root"
    -# Serial: 106100277556486529736699587978573607008
    -# MD5 Fingerprint: a1:f3:5f:43:c6:34:9b:da:bf:8c:7e:05:53:ad:96:e2
    -# SHA1 Fingerprint: a3:a1:b0:6f:24:61:23:4a:e3:36:a5:c2:37:fc:a6:ff:dd:f0:d7:3a
    -# SHA256 Fingerprint: d4:3a:f9:b3:54:73:75:5c:96:84:fc:06:d7:d8:cb:70:ee:5c:28:e7:73:fb:29:4e:b4:1e:e7:17:22:92:4d:24
    ------BEGIN CERTIFICATE-----
    -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
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036
    -# Subject: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036
    -# Label: "Certigna Root CA"
    -# Serial: 269714418870597844693661054334862075617
    -# MD5 Fingerprint: 0e:5c:30:62:27:eb:5b:bc:d7:ae:62:ba:e9:d5:df:77
    -# SHA1 Fingerprint: 2d:0d:52:14:ff:9e:ad:99:24:01:74:20:47:6e:6c:85:27:27:f5:43
    -# SHA256 Fingerprint: d4:8d:3d:23:ee:db:50:a4:59:e5:51:97:60:1c:27:77:4b:9d:7b:18:c9:4d:5a:05:95:11:a1:02:50:b9:31:68
    ------BEGIN CERTIFICATE-----
    -MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw
    -WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw
    -MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x
    -MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD
    -VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX
    -BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
    -ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO
    -ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M
    -CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu
    -I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm
    -TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh
    -C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf
    -ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz
    -IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT
    -Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k
    -JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5
    -hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB
    -GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
    -FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of
    -1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov
    -L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo
    -dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr
    -aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq
    -hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L
    -6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG
    -HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6
    -0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB
    -lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi
    -o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1
    -gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v
    -faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63
    -Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh
    -jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw
    -3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI
    -# Subject: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI
    -# Label: "emSign Root CA - G1"
    -# Serial: 235931866688319308814040
    -# MD5 Fingerprint: 9c:42:84:57:dd:cb:0b:a7:2e:95:ad:b6:f3:da:bc:ac
    -# SHA1 Fingerprint: 8a:c7:ad:8f:73:ac:4e:c1:b5:75:4d:a5:40:f4:fc:cf:7c:b5:8e:8c
    -# SHA256 Fingerprint: 40:f6:af:03:46:a9:9a:a1:cd:1d:55:5a:4e:9c:ce:62:c7:f9:63:46:03:ee:40:66:15:83:3d:c8:c8:d0:03:67
    ------BEGIN CERTIFICATE-----
    -MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD
    -VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU
    -ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH
    -MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO
    -MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv
    -Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN
    -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz
    -f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO
    -8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq
    -d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM
    -tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt
    -Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB
    -o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD
    -AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x
    -PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM
    -wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d
    -GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH
    -6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby
    -RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx
    -iN66zB+Afko=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI
    -# Subject: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI
    -# Label: "emSign ECC Root CA - G3"
    -# Serial: 287880440101571086945156
    -# MD5 Fingerprint: ce:0b:72:d1:9f:88:8e:d0:50:03:e8:e3:b8:8b:67:40
    -# SHA1 Fingerprint: 30:43:fa:4f:f2:57:dc:a0:c3:80:ee:2e:58:ea:78:b2:3f:e6:bb:c1
    -# SHA256 Fingerprint: 86:a1:ec:ba:08:9c:4a:8d:3b:be:27:34:c6:12:ba:34:1d:81:3e:04:3c:f9:e8:a8:62:cd:5c:57:a3:6b:be:6b
    ------BEGIN CERTIFICATE-----
    -MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG
    -EwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo
    -bm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g
    -RzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ
    -TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s
    -b2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw
    -djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0
    -WXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS
    -fvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB
    -zhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq
    -hkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB
    -CUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD
    -+JbNR6iC8hZVdyR+EhCVBCyj
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI
    -# Subject: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI
    -# Label: "emSign Root CA - C1"
    -# Serial: 825510296613316004955058
    -# MD5 Fingerprint: d8:e3:5d:01:21:fa:78:5a:b0:df:ba:d2:ee:2a:5f:68
    -# SHA1 Fingerprint: e7:2e:f1:df:fc:b2:09:28:cf:5d:d4:d5:67:37:b1:51:cb:86:4f:01
    -# SHA256 Fingerprint: 12:56:09:aa:30:1d:a0:a2:49:b9:7a:82:39:cb:6a:34:21:6f:44:dc:ac:9f:39:54:b1:42:92:f2:e8:c8:60:8f
    ------BEGIN CERTIFICATE-----
    -MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkG
    -A1UEBhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEg
    -SW5jMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAw
    -MFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln
    -biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9v
    -dCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+upufGZ
    -BczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZ
    -HdPIWoU/Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH
    -3DspVpNqs8FqOp099cGXOFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvH
    -GPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4VI5b2P/AgNBbeCsbEBEV5f6f9vtKppa+c
    -xSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleoomslMuoaJuvimUnzYnu3Yy1
    -aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+XJGFehiq
    -TbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
    -BQADggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87
    -/kOXSTKZEhVb3xEp/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4
    -kqNPEjE2NuLe/gDEo2APJ62gsIq1NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrG
    -YQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9wC68AivTxEDkigcxHpvOJpkT
    -+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQBmIMMMAVSKeo
    -WXzhriKi4gp6D/piq1JM4fHfyr6DDUI=
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI
    -# Subject: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI
    -# Label: "emSign ECC Root CA - C3"
    -# Serial: 582948710642506000014504
    -# MD5 Fingerprint: 3e:53:b3:a3:81:ee:d7:10:f8:d3:b0:1d:17:92:f5:d5
    -# SHA1 Fingerprint: b6:af:43:c2:9b:81:53:7d:f6:ef:6b:c3:1f:1f:60:15:0c:ee:48:66
    -# SHA256 Fingerprint: bc:4d:80:9b:15:18:9d:78:db:3e:1d:8c:f4:f9:72:6a:79:5d:a1:64:3c:a5:f1:35:8e:1d:db:0e:dc:0d:7e:b3
    ------BEGIN CERTIFICATE-----
    -MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQG
    -EwJVUzETMBEGA1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMx
    -IDAeBgNVBAMTF2VtU2lnbiBFQ0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAw
    -MFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln
    -biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQDExdlbVNpZ24gRUND
    -IFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd6bci
    -MK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4Ojavti
    -sIGJAnB9SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0O
    -BBYEFPtaSNCAIEDyqOkAB2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
    -Af8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQC02C8Cif22TGK6Q04ThHK1rt0c
    -3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwUZOR8loMRnLDRWmFLpg9J
    -0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ==
    ------END CERTIFICATE-----
    -
    -# Issuer: CN=Hongkong Post Root CA 3 O=Hongkong Post
    -# Subject: CN=Hongkong Post Root CA 3 O=Hongkong Post
    -# Label: "Hongkong Post Root CA 3"
    -# Serial: 46170865288971385588281144162979347873371282084
    -# MD5 Fingerprint: 11:fc:9f:bd:73:30:02:8a:fd:3f:f3:58:b9:cb:20:f0
    -# SHA1 Fingerprint: 58:a2:d0:ec:20:52:81:5b:c1:f3:f8:64:02:24:4e:c2:8e:02:4b:02
    -# SHA256 Fingerprint: 5a:2f:c0:3f:0c:83:b0:90:bb:fa:40:60:4b:09:88:44:6c:76:36:18:3d:f9:84:6e:17:10:1a:44:7f:b8:ef:d6
    ------BEGIN CERTIFICATE-----
    -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
    -mpv0
    ------END CERTIFICATE-----
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/core.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/core.py
    deleted file mode 100644
    index 7271acf..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/certifi/core.py
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -# -*- coding: utf-8 -*-
    -
    -"""
    -certifi.py
    -~~~~~~~~~~
    -
    -This module returns the installation location of cacert.pem.
    -"""
    -import os
    -
    -
    -def where():
    -    f = os.path.dirname(__file__)
    -
    -    return os.path.join(f, 'cacert.pem')
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/__init__.py
    deleted file mode 100644
    index 0f9f820..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/__init__.py
    +++ /dev/null
    @@ -1,39 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -
    -from .compat import PY2, PY3
    -from .universaldetector import UniversalDetector
    -from .version import __version__, VERSION
    -
    -
    -def detect(byte_str):
    -    """
    -    Detect the encoding of the given byte string.
    -
    -    :param byte_str:     The byte sequence to examine.
    -    :type byte_str:      ``bytes`` or ``bytearray``
    -    """
    -    if not isinstance(byte_str, bytearray):
    -        if not isinstance(byte_str, bytes):
    -            raise TypeError('Expected object of type bytes or bytearray, got: '
    -                            '{0}'.format(type(byte_str)))
    -        else:
    -            byte_str = bytearray(byte_str)
    -    detector = UniversalDetector()
    -    detector.feed(byte_str)
    -    return detector.close()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/big5freq.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/big5freq.py
    deleted file mode 100644
    index 38f3251..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/big5freq.py
    +++ /dev/null
    @@ -1,386 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# Big5 frequency table
    -# by Taiwan's Mandarin Promotion Council
    -# 
    -#
    -# 128  --> 0.42261
    -# 256  --> 0.57851
    -# 512  --> 0.74851
    -# 1024 --> 0.89384
    -# 2048 --> 0.97583
    -#
    -# Ideal Distribution Ratio = 0.74851/(1-0.74851) =2.98
    -# Random Distribution Ration = 512/(5401-512)=0.105
    -#
    -# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR
    -
    -BIG5_TYPICAL_DISTRIBUTION_RATIO = 0.75
    -
    -#Char to FreqOrder table
    -BIG5_TABLE_SIZE = 5376
    -
    -BIG5_CHAR_TO_FREQ_ORDER = (
    -   1,1801,1506, 255,1431, 198,   9,  82,   6,5008, 177, 202,3681,1256,2821, 110, #   16
    -3814,  33,3274, 261,  76,  44,2114,  16,2946,2187,1176, 659,3971,  26,3451,2653, #   32
    -1198,3972,3350,4202, 410,2215, 302, 590, 361,1964,   8, 204,  58,4510,5009,1932, #   48
    -  63,5010,5011, 317,1614,  75, 222, 159,4203,2417,1480,5012,3555,3091, 224,2822, #   64
    -3682,   3,  10,3973,1471,  29,2787,1135,2866,1940, 873, 130,3275,1123, 312,5013, #   80
    -4511,2052, 507, 252, 682,5014, 142,1915, 124, 206,2947,  34,3556,3204,  64, 604, #   96
    -5015,2501,1977,1978, 155,1991, 645, 641,1606,5016,3452, 337,  72, 406,5017,  80, #  112
    - 630, 238,3205,1509, 263, 939,1092,2654, 756,1440,1094,3453, 449,  69,2987, 591, #  128
    - 179,2096, 471, 115,2035,1844,  60,  50,2988, 134, 806,1869, 734,2036,3454, 180, #  144
    - 995,1607, 156, 537,2907, 688,5018, 319,1305, 779,2145, 514,2379, 298,4512, 359, #  160
    -2502,  90,2716,1338, 663,  11, 906,1099,2553,  20,2441, 182, 532,1716,5019, 732, #  176
    -1376,4204,1311,1420,3206,  25,2317,1056, 113, 399, 382,1950, 242,3455,2474, 529, #  192
    -3276, 475,1447,3683,5020, 117,  21, 656, 810,1297,2300,2334,3557,5021, 126,4205, #  208
    - 706, 456, 150, 613,4513,  71,1118,2037,4206, 145,3092,  85, 835, 486,2115,1246, #  224
    -1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,5022,2128,2359, 347,3815, 221, #  240
    -3558,3135,5023,1956,1153,4207,  83, 296,1199,3093, 192, 624,  93,5024, 822,1898, #  256
    -2823,3136, 795,2065, 991,1554,1542,1592,  27,  43,2867, 859, 139,1456, 860,4514, #  272
    - 437, 712,3974, 164,2397,3137, 695, 211,3037,2097, 195,3975,1608,3559,3560,3684, #  288
    -3976, 234, 811,2989,2098,3977,2233,1441,3561,1615,2380, 668,2077,1638, 305, 228, #  304
    -1664,4515, 467, 415,5025, 262,2099,1593, 239, 108, 300, 200,1033, 512,1247,2078, #  320
    -5026,5027,2176,3207,3685,2682, 593, 845,1062,3277,  88,1723,2038,3978,1951, 212, #  336
    - 266, 152, 149, 468,1899,4208,4516,  77, 187,5028,3038,  37,   5,2990,5029,3979, #  352
    -5030,5031,  39,2524,4517,2908,3208,2079,  55, 148,  74,4518, 545, 483,1474,1029, #  368
    -1665, 217,1870,1531,3138,1104,2655,4209,  24, 172,3562, 900,3980,3563,3564,4519, #  384
    -  32,1408,2824,1312, 329, 487,2360,2251,2717, 784,2683,   4,3039,3351,1427,1789, #  400
    - 188, 109, 499,5032,3686,1717,1790, 888,1217,3040,4520,5033,3565,5034,3352,1520, #  416
    -3687,3981, 196,1034, 775,5035,5036, 929,1816, 249, 439,  38,5037,1063,5038, 794, #  432
    -3982,1435,2301,  46, 178,3278,2066,5039,2381,5040, 214,1709,4521, 804,  35, 707, #  448
    - 324,3688,1601,2554, 140, 459,4210,5041,5042,1365, 839, 272, 978,2262,2580,3456, #  464
    -2129,1363,3689,1423, 697, 100,3094,  48,  70,1231, 495,3139,2196,5043,1294,5044, #  480
    -2080, 462, 586,1042,3279, 853, 256, 988, 185,2382,3457,1698, 434,1084,5045,3458, #  496
    - 314,2625,2788,4522,2335,2336, 569,2285, 637,1817,2525, 757,1162,1879,1616,3459, #  512
    - 287,1577,2116, 768,4523,1671,2868,3566,2526,1321,3816, 909,2418,5046,4211, 933, #  528
    -3817,4212,2053,2361,1222,4524, 765,2419,1322, 786,4525,5047,1920,1462,1677,2909, #  544
    -1699,5048,4526,1424,2442,3140,3690,2600,3353,1775,1941,3460,3983,4213, 309,1369, #  560
    -1130,2825, 364,2234,1653,1299,3984,3567,3985,3986,2656, 525,1085,3041, 902,2001, #  576
    -1475, 964,4527, 421,1845,1415,1057,2286, 940,1364,3141, 376,4528,4529,1381,   7, #  592
    -2527, 983,2383, 336,1710,2684,1846, 321,3461, 559,1131,3042,2752,1809,1132,1313, #  608
    - 265,1481,1858,5049, 352,1203,2826,3280, 167,1089, 420,2827, 776, 792,1724,3568, #  624
    -4214,2443,3281,5050,4215,5051, 446, 229, 333,2753, 901,3818,1200,1557,4530,2657, #  640
    -1921, 395,2754,2685,3819,4216,1836, 125, 916,3209,2626,4531,5052,5053,3820,5054, #  656
    -5055,5056,4532,3142,3691,1133,2555,1757,3462,1510,2318,1409,3569,5057,2146, 438, #  672
    -2601,2910,2384,3354,1068, 958,3043, 461, 311,2869,2686,4217,1916,3210,4218,1979, #  688
    - 383, 750,2755,2627,4219, 274, 539, 385,1278,1442,5058,1154,1965, 384, 561, 210, #  704
    -  98,1295,2556,3570,5059,1711,2420,1482,3463,3987,2911,1257, 129,5060,3821, 642, #  720
    - 523,2789,2790,2658,5061, 141,2235,1333,  68, 176, 441, 876, 907,4220, 603,2602, #  736
    - 710, 171,3464, 404, 549,  18,3143,2398,1410,3692,1666,5062,3571,4533,2912,4534, #  752
    -5063,2991, 368,5064, 146, 366,  99, 871,3693,1543, 748, 807,1586,1185,  22,2263, #  768
    - 379,3822,3211,5065,3212, 505,1942,2628,1992,1382,2319,5066, 380,2362, 218, 702, #  784
    -1818,1248,3465,3044,3572,3355,3282,5067,2992,3694, 930,3283,3823,5068,  59,5069, #  800
    - 585, 601,4221, 497,3466,1112,1314,4535,1802,5070,1223,1472,2177,5071, 749,1837, #  816
    - 690,1900,3824,1773,3988,1476, 429,1043,1791,2236,2117, 917,4222, 447,1086,1629, #  832
    -5072, 556,5073,5074,2021,1654, 844,1090, 105, 550, 966,1758,2828,1008,1783, 686, #  848
    -1095,5075,2287, 793,1602,5076,3573,2603,4536,4223,2948,2302,4537,3825, 980,2503, #  864
    - 544, 353, 527,4538, 908,2687,2913,5077, 381,2629,1943,1348,5078,1341,1252, 560, #  880
    -3095,5079,3467,2870,5080,2054, 973, 886,2081, 143,4539,5081,5082, 157,3989, 496, #  896
    -4224,  57, 840, 540,2039,4540,4541,3468,2118,1445, 970,2264,1748,1966,2082,4225, #  912
    -3144,1234,1776,3284,2829,3695, 773,1206,2130,1066,2040,1326,3990,1738,1725,4226, #  928
    - 279,3145,  51,1544,2604, 423,1578,2131,2067, 173,4542,1880,5083,5084,1583, 264, #  944
    - 610,3696,4543,2444, 280, 154,5085,5086,5087,1739, 338,1282,3096, 693,2871,1411, #  960
    -1074,3826,2445,5088,4544,5089,5090,1240, 952,2399,5091,2914,1538,2688, 685,1483, #  976
    -4227,2475,1436, 953,4228,2055,4545, 671,2400,  79,4229,2446,3285, 608, 567,2689, #  992
    -3469,4230,4231,1691, 393,1261,1792,2401,5092,4546,5093,5094,5095,5096,1383,1672, # 1008
    -3827,3213,1464, 522,1119, 661,1150, 216, 675,4547,3991,1432,3574, 609,4548,2690, # 1024
    -2402,5097,5098,5099,4232,3045,   0,5100,2476, 315, 231,2447, 301,3356,4549,2385, # 1040
    -5101, 233,4233,3697,1819,4550,4551,5102,  96,1777,1315,2083,5103, 257,5104,1810, # 1056
    -3698,2718,1139,1820,4234,2022,1124,2164,2791,1778,2659,5105,3097, 363,1655,3214, # 1072
    -5106,2993,5107,5108,5109,3992,1567,3993, 718, 103,3215, 849,1443, 341,3357,2949, # 1088
    -1484,5110,1712, 127,  67, 339,4235,2403, 679,1412, 821,5111,5112, 834, 738, 351, # 1104
    -2994,2147, 846, 235,1497,1881, 418,1993,3828,2719, 186,1100,2148,2756,3575,1545, # 1120
    -1355,2950,2872,1377, 583,3994,4236,2581,2995,5113,1298,3699,1078,2557,3700,2363, # 1136
    -  78,3829,3830, 267,1289,2100,2002,1594,4237, 348, 369,1274,2197,2178,1838,4552, # 1152
    -1821,2830,3701,2757,2288,2003,4553,2951,2758, 144,3358, 882,4554,3995,2759,3470, # 1168
    -4555,2915,5114,4238,1726, 320,5115,3996,3046, 788,2996,5116,2831,1774,1327,2873, # 1184
    -3997,2832,5117,1306,4556,2004,1700,3831,3576,2364,2660, 787,2023, 506, 824,3702, # 1200
    - 534, 323,4557,1044,3359,2024,1901, 946,3471,5118,1779,1500,1678,5119,1882,4558, # 1216
    - 165, 243,4559,3703,2528, 123, 683,4239, 764,4560,  36,3998,1793, 589,2916, 816, # 1232
    - 626,1667,3047,2237,1639,1555,1622,3832,3999,5120,4000,2874,1370,1228,1933, 891, # 1248
    -2084,2917, 304,4240,5121, 292,2997,2720,3577, 691,2101,4241,1115,4561, 118, 662, # 1264
    -5122, 611,1156, 854,2386,1316,2875,   2, 386, 515,2918,5123,5124,3286, 868,2238, # 1280
    -1486, 855,2661, 785,2216,3048,5125,1040,3216,3578,5126,3146, 448,5127,1525,5128, # 1296
    -2165,4562,5129,3833,5130,4242,2833,3579,3147, 503, 818,4001,3148,1568, 814, 676, # 1312
    -1444, 306,1749,5131,3834,1416,1030, 197,1428, 805,2834,1501,4563,5132,5133,5134, # 1328
    -1994,5135,4564,5136,5137,2198,  13,2792,3704,2998,3149,1229,1917,5138,3835,2132, # 1344
    -5139,4243,4565,2404,3580,5140,2217,1511,1727,1120,5141,5142, 646,3836,2448, 307, # 1360
    -5143,5144,1595,3217,5145,5146,5147,3705,1113,1356,4002,1465,2529,2530,5148, 519, # 1376
    -5149, 128,2133,  92,2289,1980,5150,4003,1512, 342,3150,2199,5151,2793,2218,1981, # 1392
    -3360,4244, 290,1656,1317, 789, 827,2365,5152,3837,4566, 562, 581,4004,5153, 401, # 1408
    -4567,2252,  94,4568,5154,1399,2794,5155,1463,2025,4569,3218,1944,5156, 828,1105, # 1424
    -4245,1262,1394,5157,4246, 605,4570,5158,1784,2876,5159,2835, 819,2102, 578,2200, # 1440
    -2952,5160,1502, 436,3287,4247,3288,2836,4005,2919,3472,3473,5161,2721,2320,5162, # 1456
    -5163,2337,2068,  23,4571, 193, 826,3838,2103, 699,1630,4248,3098, 390,1794,1064, # 1472
    -3581,5164,1579,3099,3100,1400,5165,4249,1839,1640,2877,5166,4572,4573, 137,4250, # 1488
    - 598,3101,1967, 780, 104, 974,2953,5167, 278, 899, 253, 402, 572, 504, 493,1339, # 1504
    -5168,4006,1275,4574,2582,2558,5169,3706,3049,3102,2253, 565,1334,2722, 863,  41, # 1520
    -5170,5171,4575,5172,1657,2338,  19, 463,2760,4251, 606,5173,2999,3289,1087,2085, # 1536
    -1323,2662,3000,5174,1631,1623,1750,4252,2691,5175,2878, 791,2723,2663,2339, 232, # 1552
    -2421,5176,3001,1498,5177,2664,2630, 755,1366,3707,3290,3151,2026,1609, 119,1918, # 1568
    -3474, 862,1026,4253,5178,4007,3839,4576,4008,4577,2265,1952,2477,5179,1125, 817, # 1584
    -4254,4255,4009,1513,1766,2041,1487,4256,3050,3291,2837,3840,3152,5180,5181,1507, # 1600
    -5182,2692, 733,  40,1632,1106,2879, 345,4257, 841,2531, 230,4578,3002,1847,3292, # 1616
    -3475,5183,1263, 986,3476,5184, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562, # 1632
    -4010,4011,2954, 967,2761,2665,1349, 592,2134,1692,3361,3003,1995,4258,1679,4012, # 1648
    -1902,2188,5185, 739,3708,2724,1296,1290,5186,4259,2201,2202,1922,1563,2605,2559, # 1664
    -1871,2762,3004,5187, 435,5188, 343,1108, 596,  17,1751,4579,2239,3477,3709,5189, # 1680
    -4580, 294,3582,2955,1693, 477, 979, 281,2042,3583, 643,2043,3710,2631,2795,2266, # 1696
    -1031,2340,2135,2303,3584,4581, 367,1249,2560,5190,3585,5191,4582,1283,3362,2005, # 1712
    - 240,1762,3363,4583,4584, 836,1069,3153, 474,5192,2149,2532, 268,3586,5193,3219, # 1728
    -1521,1284,5194,1658,1546,4260,5195,3587,3588,5196,4261,3364,2693,1685,4262, 961, # 1744
    -1673,2632, 190,2006,2203,3841,4585,4586,5197, 570,2504,3711,1490,5198,4587,2633, # 1760
    -3293,1957,4588, 584,1514, 396,1045,1945,5199,4589,1968,2449,5200,5201,4590,4013, # 1776
    - 619,5202,3154,3294, 215,2007,2796,2561,3220,4591,3221,4592, 763,4263,3842,4593, # 1792
    -5203,5204,1958,1767,2956,3365,3712,1174, 452,1477,4594,3366,3155,5205,2838,1253, # 1808
    -2387,2189,1091,2290,4264, 492,5206, 638,1169,1825,2136,1752,4014, 648, 926,1021, # 1824
    -1324,4595, 520,4596, 997, 847,1007, 892,4597,3843,2267,1872,3713,2405,1785,4598, # 1840
    -1953,2957,3103,3222,1728,4265,2044,3714,4599,2008,1701,3156,1551,  30,2268,4266, # 1856
    -5207,2027,4600,3589,5208, 501,5209,4267, 594,3478,2166,1822,3590,3479,3591,3223, # 1872
    - 829,2839,4268,5210,1680,3157,1225,4269,5211,3295,4601,4270,3158,2341,5212,4602, # 1888
    -4271,5213,4015,4016,5214,1848,2388,2606,3367,5215,4603, 374,4017, 652,4272,4273, # 1904
    - 375,1140, 798,5216,5217,5218,2366,4604,2269, 546,1659, 138,3051,2450,4605,5219, # 1920
    -2254, 612,1849, 910, 796,3844,1740,1371, 825,3845,3846,5220,2920,2562,5221, 692, # 1936
    - 444,3052,2634, 801,4606,4274,5222,1491, 244,1053,3053,4275,4276, 340,5223,4018, # 1952
    -1041,3005, 293,1168,  87,1357,5224,1539, 959,5225,2240, 721, 694,4277,3847, 219, # 1968
    -1478, 644,1417,3368,2666,1413,1401,1335,1389,4019,5226,5227,3006,2367,3159,1826, # 1984
    - 730,1515, 184,2840,  66,4607,5228,1660,2958, 246,3369, 378,1457, 226,3480, 975, # 2000
    -4020,2959,1264,3592, 674, 696,5229, 163,5230,1141,2422,2167, 713,3593,3370,4608, # 2016
    -4021,5231,5232,1186,  15,5233,1079,1070,5234,1522,3224,3594, 276,1050,2725, 758, # 2032
    -1126, 653,2960,3296,5235,2342, 889,3595,4022,3104,3007, 903,1250,4609,4023,3481, # 2048
    -3596,1342,1681,1718, 766,3297, 286,  89,2961,3715,5236,1713,5237,2607,3371,3008, # 2064
    -5238,2962,2219,3225,2880,5239,4610,2505,2533, 181, 387,1075,4024, 731,2190,3372, # 2080
    -5240,3298, 310, 313,3482,2304, 770,4278,  54,3054, 189,4611,3105,3848,4025,5241, # 2096
    -1230,1617,1850, 355,3597,4279,4612,3373, 111,4280,3716,1350,3160,3483,3055,4281, # 2112
    -2150,3299,3598,5242,2797,4026,4027,3009, 722,2009,5243,1071, 247,1207,2343,2478, # 2128
    -1378,4613,2010, 864,1437,1214,4614, 373,3849,1142,2220, 667,4615, 442,2763,2563, # 2144
    -3850,4028,1969,4282,3300,1840, 837, 170,1107, 934,1336,1883,5244,5245,2119,4283, # 2160
    -2841, 743,1569,5246,4616,4284, 582,2389,1418,3484,5247,1803,5248, 357,1395,1729, # 2176
    -3717,3301,2423,1564,2241,5249,3106,3851,1633,4617,1114,2086,4285,1532,5250, 482, # 2192
    -2451,4618,5251,5252,1492, 833,1466,5253,2726,3599,1641,2842,5254,1526,1272,3718, # 2208
    -4286,1686,1795, 416,2564,1903,1954,1804,5255,3852,2798,3853,1159,2321,5256,2881, # 2224
    -4619,1610,1584,3056,2424,2764, 443,3302,1163,3161,5257,5258,4029,5259,4287,2506, # 2240
    -3057,4620,4030,3162,2104,1647,3600,2011,1873,4288,5260,4289, 431,3485,5261, 250, # 2256
    -  97,  81,4290,5262,1648,1851,1558, 160, 848,5263, 866, 740,1694,5264,2204,2843, # 2272
    -3226,4291,4621,3719,1687, 950,2479, 426, 469,3227,3720,3721,4031,5265,5266,1188, # 2288
    - 424,1996, 861,3601,4292,3854,2205,2694, 168,1235,3602,4293,5267,2087,1674,4622, # 2304
    -3374,3303, 220,2565,1009,5268,3855, 670,3010, 332,1208, 717,5269,5270,3603,2452, # 2320
    -4032,3375,5271, 513,5272,1209,2882,3376,3163,4623,1080,5273,5274,5275,5276,2534, # 2336
    -3722,3604, 815,1587,4033,4034,5277,3605,3486,3856,1254,4624,1328,3058,1390,4035, # 2352
    -1741,4036,3857,4037,5278, 236,3858,2453,3304,5279,5280,3723,3859,1273,3860,4625, # 2368
    -5281, 308,5282,4626, 245,4627,1852,2480,1307,2583, 430, 715,2137,2454,5283, 270, # 2384
    - 199,2883,4038,5284,3606,2727,1753, 761,1754, 725,1661,1841,4628,3487,3724,5285, # 2400
    -5286, 587,  14,3305, 227,2608, 326, 480,2270, 943,2765,3607, 291, 650,1884,5287, # 2416
    -1702,1226, 102,1547,  62,3488, 904,4629,3489,1164,4294,5288,5289,1224,1548,2766, # 2432
    - 391, 498,1493,5290,1386,1419,5291,2056,1177,4630, 813, 880,1081,2368, 566,1145, # 2448
    -4631,2291,1001,1035,2566,2609,2242, 394,1286,5292,5293,2069,5294,  86,1494,1730, # 2464
    -4039, 491,1588, 745, 897,2963, 843,3377,4040,2767,2884,3306,1768, 998,2221,2070, # 2480
    - 397,1827,1195,1970,3725,3011,3378, 284,5295,3861,2507,2138,2120,1904,5296,4041, # 2496
    -2151,4042,4295,1036,3490,1905, 114,2567,4296, 209,1527,5297,5298,2964,2844,2635, # 2512
    -2390,2728,3164, 812,2568,5299,3307,5300,1559, 737,1885,3726,1210, 885,  28,2695, # 2528
    -3608,3862,5301,4297,1004,1780,4632,5302, 346,1982,2222,2696,4633,3863,1742, 797, # 2544
    -1642,4043,1934,1072,1384,2152, 896,4044,3308,3727,3228,2885,3609,5303,2569,1959, # 2560
    -4634,2455,1786,5304,5305,5306,4045,4298,1005,1308,3728,4299,2729,4635,4636,1528, # 2576
    -2610, 161,1178,4300,1983, 987,4637,1101,4301, 631,4046,1157,3229,2425,1343,1241, # 2592
    -1016,2243,2570, 372, 877,2344,2508,1160, 555,1935, 911,4047,5307, 466,1170, 169, # 2608
    -1051,2921,2697,3729,2481,3012,1182,2012,2571,1251,2636,5308, 992,2345,3491,1540, # 2624
    -2730,1201,2071,2406,1997,2482,5309,4638, 528,1923,2191,1503,1874,1570,2369,3379, # 2640
    -3309,5310, 557,1073,5311,1828,3492,2088,2271,3165,3059,3107, 767,3108,2799,4639, # 2656
    -1006,4302,4640,2346,1267,2179,3730,3230, 778,4048,3231,2731,1597,2667,5312,4641, # 2672
    -5313,3493,5314,5315,5316,3310,2698,1433,3311, 131,  95,1504,4049, 723,4303,3166, # 2688
    -1842,3610,2768,2192,4050,2028,2105,3731,5317,3013,4051,1218,5318,3380,3232,4052, # 2704
    -4304,2584, 248,1634,3864, 912,5319,2845,3732,3060,3865, 654,  53,5320,3014,5321, # 2720
    -1688,4642, 777,3494,1032,4053,1425,5322, 191, 820,2121,2846, 971,4643, 931,3233, # 2736
    - 135, 664, 783,3866,1998, 772,2922,1936,4054,3867,4644,2923,3234, 282,2732, 640, # 2752
    -1372,3495,1127, 922, 325,3381,5323,5324, 711,2045,5325,5326,4055,2223,2800,1937, # 2768
    -4056,3382,2224,2255,3868,2305,5327,4645,3869,1258,3312,4057,3235,2139,2965,4058, # 2784
    -4059,5328,2225, 258,3236,4646, 101,1227,5329,3313,1755,5330,1391,3314,5331,2924, # 2800
    -2057, 893,5332,5333,5334,1402,4305,2347,5335,5336,3237,3611,5337,5338, 878,1325, # 2816
    -1781,2801,4647, 259,1385,2585, 744,1183,2272,4648,5339,4060,2509,5340, 684,1024, # 2832
    -4306,5341, 472,3612,3496,1165,3315,4061,4062, 322,2153, 881, 455,1695,1152,1340, # 2848
    - 660, 554,2154,4649,1058,4650,4307, 830,1065,3383,4063,4651,1924,5342,1703,1919, # 2864
    -5343, 932,2273, 122,5344,4652, 947, 677,5345,3870,2637, 297,1906,1925,2274,4653, # 2880
    -2322,3316,5346,5347,4308,5348,4309,  84,4310, 112, 989,5349, 547,1059,4064, 701, # 2896
    -3613,1019,5350,4311,5351,3497, 942, 639, 457,2306,2456, 993,2966, 407, 851, 494, # 2912
    -4654,3384, 927,5352,1237,5353,2426,3385, 573,4312, 680, 921,2925,1279,1875, 285, # 2928
    - 790,1448,1984, 719,2168,5354,5355,4655,4065,4066,1649,5356,1541, 563,5357,1077, # 2944
    -5358,3386,3061,3498, 511,3015,4067,4068,3733,4069,1268,2572,3387,3238,4656,4657, # 2960
    -5359, 535,1048,1276,1189,2926,2029,3167,1438,1373,2847,2967,1134,2013,5360,4313, # 2976
    -1238,2586,3109,1259,5361, 700,5362,2968,3168,3734,4314,5363,4315,1146,1876,1907, # 2992
    -4658,2611,4070, 781,2427, 132,1589, 203, 147, 273,2802,2407, 898,1787,2155,4071, # 3008
    -4072,5364,3871,2803,5365,5366,4659,4660,5367,3239,5368,1635,3872, 965,5369,1805, # 3024
    -2699,1516,3614,1121,1082,1329,3317,4073,1449,3873,  65,1128,2848,2927,2769,1590, # 3040
    -3874,5370,5371,  12,2668,  45, 976,2587,3169,4661, 517,2535,1013,1037,3240,5372, # 3056
    -3875,2849,5373,3876,5374,3499,5375,2612, 614,1999,2323,3877,3110,2733,2638,5376, # 3072
    -2588,4316, 599,1269,5377,1811,3735,5378,2700,3111, 759,1060, 489,1806,3388,3318, # 3088
    -1358,5379,5380,2391,1387,1215,2639,2256, 490,5381,5382,4317,1759,2392,2348,5383, # 3104
    -4662,3878,1908,4074,2640,1807,3241,4663,3500,3319,2770,2349, 874,5384,5385,3501, # 3120
    -3736,1859,  91,2928,3737,3062,3879,4664,5386,3170,4075,2669,5387,3502,1202,1403, # 3136
    -3880,2969,2536,1517,2510,4665,3503,2511,5388,4666,5389,2701,1886,1495,1731,4076, # 3152
    -2370,4667,5390,2030,5391,5392,4077,2702,1216, 237,2589,4318,2324,4078,3881,4668, # 3168
    -4669,2703,3615,3504, 445,4670,5393,5394,5395,5396,2771,  61,4079,3738,1823,4080, # 3184
    -5397, 687,2046, 935, 925, 405,2670, 703,1096,1860,2734,4671,4081,1877,1367,2704, # 3200
    -3389, 918,2106,1782,2483, 334,3320,1611,1093,4672, 564,3171,3505,3739,3390, 945, # 3216
    -2641,2058,4673,5398,1926, 872,4319,5399,3506,2705,3112, 349,4320,3740,4082,4674, # 3232
    -3882,4321,3741,2156,4083,4675,4676,4322,4677,2408,2047, 782,4084, 400, 251,4323, # 3248
    -1624,5400,5401, 277,3742, 299,1265, 476,1191,3883,2122,4324,4325,1109, 205,5402, # 3264
    -2590,1000,2157,3616,1861,5403,5404,5405,4678,5406,4679,2573, 107,2484,2158,4085, # 3280
    -3507,3172,5407,1533, 541,1301, 158, 753,4326,2886,3617,5408,1696, 370,1088,4327, # 3296
    -4680,3618, 579, 327, 440, 162,2244, 269,1938,1374,3508, 968,3063,  56,1396,3113, # 3312
    -2107,3321,3391,5409,1927,2159,4681,3016,5410,3619,5411,5412,3743,4682,2485,5413, # 3328
    -2804,5414,1650,4683,5415,2613,5416,5417,4086,2671,3392,1149,3393,4087,3884,4088, # 3344
    -5418,1076,  49,5419, 951,3242,3322,3323, 450,2850, 920,5420,1812,2805,2371,4328, # 3360
    -1909,1138,2372,3885,3509,5421,3243,4684,1910,1147,1518,2428,4685,3886,5422,4686, # 3376
    -2393,2614, 260,1796,3244,5423,5424,3887,3324, 708,5425,3620,1704,5426,3621,1351, # 3392
    -1618,3394,3017,1887, 944,4329,3395,4330,3064,3396,4331,5427,3744, 422, 413,1714, # 3408
    -3325, 500,2059,2350,4332,2486,5428,1344,1911, 954,5429,1668,5430,5431,4089,2409, # 3424
    -4333,3622,3888,4334,5432,2307,1318,2512,3114, 133,3115,2887,4687, 629,  31,2851, # 3440
    -2706,3889,4688, 850, 949,4689,4090,2970,1732,2089,4335,1496,1853,5433,4091, 620, # 3456
    -3245, 981,1242,3745,3397,1619,3746,1643,3326,2140,2457,1971,1719,3510,2169,5434, # 3472
    -3246,5435,5436,3398,1829,5437,1277,4690,1565,2048,5438,1636,3623,3116,5439, 869, # 3488
    -2852, 655,3890,3891,3117,4092,3018,3892,1310,3624,4691,5440,5441,5442,1733, 558, # 3504
    -4692,3747, 335,1549,3065,1756,4336,3748,1946,3511,1830,1291,1192, 470,2735,2108, # 3520
    -2806, 913,1054,4093,5443,1027,5444,3066,4094,4693, 982,2672,3399,3173,3512,3247, # 3536
    -3248,1947,2807,5445, 571,4694,5446,1831,5447,3625,2591,1523,2429,5448,2090, 984, # 3552
    -4695,3749,1960,5449,3750, 852, 923,2808,3513,3751, 969,1519, 999,2049,2325,1705, # 3568
    -5450,3118, 615,1662, 151, 597,4095,2410,2326,1049, 275,4696,3752,4337, 568,3753, # 3584
    -3626,2487,4338,3754,5451,2430,2275, 409,3249,5452,1566,2888,3514,1002, 769,2853, # 3600
    - 194,2091,3174,3755,2226,3327,4339, 628,1505,5453,5454,1763,2180,3019,4096, 521, # 3616
    -1161,2592,1788,2206,2411,4697,4097,1625,4340,4341, 412,  42,3119, 464,5455,2642, # 3632
    -4698,3400,1760,1571,2889,3515,2537,1219,2207,3893,2643,2141,2373,4699,4700,3328, # 3648
    -1651,3401,3627,5456,5457,3628,2488,3516,5458,3756,5459,5460,2276,2092, 460,5461, # 3664
    -4701,5462,3020, 962, 588,3629, 289,3250,2644,1116,  52,5463,3067,1797,5464,5465, # 3680
    -5466,1467,5467,1598,1143,3757,4342,1985,1734,1067,4702,1280,3402, 465,4703,1572, # 3696
    - 510,5468,1928,2245,1813,1644,3630,5469,4704,3758,5470,5471,2673,1573,1534,5472, # 3712
    -5473, 536,1808,1761,3517,3894,3175,2645,5474,5475,5476,4705,3518,2929,1912,2809, # 3728
    -5477,3329,1122, 377,3251,5478, 360,5479,5480,4343,1529, 551,5481,2060,3759,1769, # 3744
    -2431,5482,2930,4344,3330,3120,2327,2109,2031,4706,1404, 136,1468,1479, 672,1171, # 3760
    -3252,2308, 271,3176,5483,2772,5484,2050, 678,2736, 865,1948,4707,5485,2014,4098, # 3776
    -2971,5486,2737,2227,1397,3068,3760,4708,4709,1735,2931,3403,3631,5487,3895, 509, # 3792
    -2854,2458,2890,3896,5488,5489,3177,3178,4710,4345,2538,4711,2309,1166,1010, 552, # 3808
    - 681,1888,5490,5491,2972,2973,4099,1287,1596,1862,3179, 358, 453, 736, 175, 478, # 3824
    -1117, 905,1167,1097,5492,1854,1530,5493,1706,5494,2181,3519,2292,3761,3520,3632, # 3840
    -4346,2093,4347,5495,3404,1193,2489,4348,1458,2193,2208,1863,1889,1421,3331,2932, # 3856
    -3069,2182,3521, 595,2123,5496,4100,5497,5498,4349,1707,2646, 223,3762,1359, 751, # 3872
    -3121, 183,3522,5499,2810,3021, 419,2374, 633, 704,3897,2394, 241,5500,5501,5502, # 3888
    - 838,3022,3763,2277,2773,2459,3898,1939,2051,4101,1309,3122,2246,1181,5503,1136, # 3904
    -2209,3899,2375,1446,4350,2310,4712,5504,5505,4351,1055,2615, 484,3764,5506,4102, # 3920
    - 625,4352,2278,3405,1499,4353,4103,5507,4104,4354,3253,2279,2280,3523,5508,5509, # 3936
    -2774, 808,2616,3765,3406,4105,4355,3123,2539, 526,3407,3900,4356, 955,5510,1620, # 3952
    -4357,2647,2432,5511,1429,3766,1669,1832, 994, 928,5512,3633,1260,5513,5514,5515, # 3968
    -1949,2293, 741,2933,1626,4358,2738,2460, 867,1184, 362,3408,1392,5516,5517,4106, # 3984
    -4359,1770,1736,3254,2934,4713,4714,1929,2707,1459,1158,5518,3070,3409,2891,1292, # 4000
    -1930,2513,2855,3767,1986,1187,2072,2015,2617,4360,5519,2574,2514,2170,3768,2490, # 4016
    -3332,5520,3769,4715,5521,5522, 666,1003,3023,1022,3634,4361,5523,4716,1814,2257, # 4032
    - 574,3901,1603, 295,1535, 705,3902,4362, 283, 858, 417,5524,5525,3255,4717,4718, # 4048
    -3071,1220,1890,1046,2281,2461,4107,1393,1599, 689,2575, 388,4363,5526,2491, 802, # 4064
    -5527,2811,3903,2061,1405,2258,5528,4719,3904,2110,1052,1345,3256,1585,5529, 809, # 4080
    -5530,5531,5532, 575,2739,3524, 956,1552,1469,1144,2328,5533,2329,1560,2462,3635, # 4096
    -3257,4108, 616,2210,4364,3180,2183,2294,5534,1833,5535,3525,4720,5536,1319,3770, # 4112
    -3771,1211,3636,1023,3258,1293,2812,5537,5538,5539,3905, 607,2311,3906, 762,2892, # 4128
    -1439,4365,1360,4721,1485,3072,5540,4722,1038,4366,1450,2062,2648,4367,1379,4723, # 4144
    -2593,5541,5542,4368,1352,1414,2330,2935,1172,5543,5544,3907,3908,4724,1798,1451, # 4160
    -5545,5546,5547,5548,2936,4109,4110,2492,2351, 411,4111,4112,3637,3333,3124,4725, # 4176
    -1561,2674,1452,4113,1375,5549,5550,  47,2974, 316,5551,1406,1591,2937,3181,5552, # 4192
    -1025,2142,3125,3182, 354,2740, 884,2228,4369,2412, 508,3772, 726,3638, 996,2433, # 4208
    -3639, 729,5553, 392,2194,1453,4114,4726,3773,5554,5555,2463,3640,2618,1675,2813, # 4224
    - 919,2352,2975,2353,1270,4727,4115,  73,5556,5557, 647,5558,3259,2856,2259,1550, # 4240
    -1346,3024,5559,1332, 883,3526,5560,5561,5562,5563,3334,2775,5564,1212, 831,1347, # 4256
    -4370,4728,2331,3909,1864,3073, 720,3910,4729,4730,3911,5565,4371,5566,5567,4731, # 4272
    -5568,5569,1799,4732,3774,2619,4733,3641,1645,2376,4734,5570,2938, 669,2211,2675, # 4288
    -2434,5571,2893,5572,5573,1028,3260,5574,4372,2413,5575,2260,1353,5576,5577,4735, # 4304
    -3183, 518,5578,4116,5579,4373,1961,5580,2143,4374,5581,5582,3025,2354,2355,3912, # 4320
    - 516,1834,1454,4117,2708,4375,4736,2229,2620,1972,1129,3642,5583,2776,5584,2976, # 4336
    -1422, 577,1470,3026,1524,3410,5585,5586, 432,4376,3074,3527,5587,2594,1455,2515, # 4352
    -2230,1973,1175,5588,1020,2741,4118,3528,4737,5589,2742,5590,1743,1361,3075,3529, # 4368
    -2649,4119,4377,4738,2295, 895, 924,4378,2171, 331,2247,3076, 166,1627,3077,1098, # 4384
    -5591,1232,2894,2231,3411,4739, 657, 403,1196,2377, 542,3775,3412,1600,4379,3530, # 4400
    -5592,4740,2777,3261, 576, 530,1362,4741,4742,2540,2676,3776,4120,5593, 842,3913, # 4416
    -5594,2814,2032,1014,4121, 213,2709,3413, 665, 621,4380,5595,3777,2939,2435,5596, # 4432
    -2436,3335,3643,3414,4743,4381,2541,4382,4744,3644,1682,4383,3531,1380,5597, 724, # 4448
    -2282, 600,1670,5598,1337,1233,4745,3126,2248,5599,1621,4746,5600, 651,4384,5601, # 4464
    -1612,4385,2621,5602,2857,5603,2743,2312,3078,5604, 716,2464,3079, 174,1255,2710, # 4480
    -4122,3645, 548,1320,1398, 728,4123,1574,5605,1891,1197,3080,4124,5606,3081,3082, # 4496
    -3778,3646,3779, 747,5607, 635,4386,4747,5608,5609,5610,4387,5611,5612,4748,5613, # 4512
    -3415,4749,2437, 451,5614,3780,2542,2073,4388,2744,4389,4125,5615,1764,4750,5616, # 4528
    -4390, 350,4751,2283,2395,2493,5617,4391,4126,2249,1434,4127, 488,4752, 458,4392, # 4544
    -4128,3781, 771,1330,2396,3914,2576,3184,2160,2414,1553,2677,3185,4393,5618,2494, # 4560
    -2895,2622,1720,2711,4394,3416,4753,5619,2543,4395,5620,3262,4396,2778,5621,2016, # 4576
    -2745,5622,1155,1017,3782,3915,5623,3336,2313, 201,1865,4397,1430,5624,4129,5625, # 4592
    -5626,5627,5628,5629,4398,1604,5630, 414,1866, 371,2595,4754,4755,3532,2017,3127, # 4608
    -4756,1708, 960,4399, 887, 389,2172,1536,1663,1721,5631,2232,4130,2356,2940,1580, # 4624
    -5632,5633,1744,4757,2544,4758,4759,5634,4760,5635,2074,5636,4761,3647,3417,2896, # 4640
    -4400,5637,4401,2650,3418,2815, 673,2712,2465, 709,3533,4131,3648,4402,5638,1148, # 4656
    - 502, 634,5639,5640,1204,4762,3649,1575,4763,2623,3783,5641,3784,3128, 948,3263, # 4672
    - 121,1745,3916,1110,5642,4403,3083,2516,3027,4132,3785,1151,1771,3917,1488,4133, # 4688
    -1987,5643,2438,3534,5644,5645,2094,5646,4404,3918,1213,1407,2816, 531,2746,2545, # 4704
    -3264,1011,1537,4764,2779,4405,3129,1061,5647,3786,3787,1867,2897,5648,2018, 120, # 4720
    -4406,4407,2063,3650,3265,2314,3919,2678,3419,1955,4765,4134,5649,3535,1047,2713, # 4736
    -1266,5650,1368,4766,2858, 649,3420,3920,2546,2747,1102,2859,2679,5651,5652,2000, # 4752
    -5653,1111,3651,2977,5654,2495,3921,3652,2817,1855,3421,3788,5655,5656,3422,2415, # 4768
    -2898,3337,3266,3653,5657,2577,5658,3654,2818,4135,1460, 856,5659,3655,5660,2899, # 4784
    -2978,5661,2900,3922,5662,4408, 632,2517, 875,3923,1697,3924,2296,5663,5664,4767, # 4800
    -3028,1239, 580,4768,4409,5665, 914, 936,2075,1190,4136,1039,2124,5666,5667,5668, # 4816
    -5669,3423,1473,5670,1354,4410,3925,4769,2173,3084,4137, 915,3338,4411,4412,3339, # 4832
    -1605,1835,5671,2748, 398,3656,4413,3926,4138, 328,1913,2860,4139,3927,1331,4414, # 4848
    -3029, 937,4415,5672,3657,4140,4141,3424,2161,4770,3425, 524, 742, 538,3085,1012, # 4864
    -5673,5674,3928,2466,5675, 658,1103, 225,3929,5676,5677,4771,5678,4772,5679,3267, # 4880
    -1243,5680,4142, 963,2250,4773,5681,2714,3658,3186,5682,5683,2596,2332,5684,4774, # 4896
    -5685,5686,5687,3536, 957,3426,2547,2033,1931,2941,2467, 870,2019,3659,1746,2780, # 4912
    -2781,2439,2468,5688,3930,5689,3789,3130,3790,3537,3427,3791,5690,1179,3086,5691, # 4928
    -3187,2378,4416,3792,2548,3188,3131,2749,4143,5692,3428,1556,2549,2297, 977,2901, # 4944
    -2034,4144,1205,3429,5693,1765,3430,3189,2125,1271, 714,1689,4775,3538,5694,2333, # 4960
    -3931, 533,4417,3660,2184, 617,5695,2469,3340,3539,2315,5696,5697,3190,5698,5699, # 4976
    -3932,1988, 618, 427,2651,3540,3431,5700,5701,1244,1690,5702,2819,4418,4776,5703, # 4992
    -3541,4777,5704,2284,1576, 473,3661,4419,3432, 972,5705,3662,5706,3087,5707,5708, # 5008
    -4778,4779,5709,3793,4145,4146,5710, 153,4780, 356,5711,1892,2902,4420,2144, 408, # 5024
    - 803,2357,5712,3933,5713,4421,1646,2578,2518,4781,4782,3934,5714,3935,4422,5715, # 5040
    -2416,3433, 752,5716,5717,1962,3341,2979,5718, 746,3030,2470,4783,4423,3794, 698, # 5056
    -4784,1893,4424,3663,2550,4785,3664,3936,5719,3191,3434,5720,1824,1302,4147,2715, # 5072
    -3937,1974,4425,5721,4426,3192, 823,1303,1288,1236,2861,3542,4148,3435, 774,3938, # 5088
    -5722,1581,4786,1304,2862,3939,4787,5723,2440,2162,1083,3268,4427,4149,4428, 344, # 5104
    -1173, 288,2316, 454,1683,5724,5725,1461,4788,4150,2597,5726,5727,4789, 985, 894, # 5120
    -5728,3436,3193,5729,1914,2942,3795,1989,5730,2111,1975,5731,4151,5732,2579,1194, # 5136
    - 425,5733,4790,3194,1245,3796,4429,5734,5735,2863,5736, 636,4791,1856,3940, 760, # 5152
    -1800,5737,4430,2212,1508,4792,4152,1894,1684,2298,5738,5739,4793,4431,4432,2213, # 5168
    - 479,5740,5741, 832,5742,4153,2496,5743,2980,2497,3797, 990,3132, 627,1815,2652, # 5184
    -4433,1582,4434,2126,2112,3543,4794,5744, 799,4435,3195,5745,4795,2113,1737,3031, # 5200
    -1018, 543, 754,4436,3342,1676,4796,4797,4154,4798,1489,5746,3544,5747,2624,2903, # 5216
    -4155,5748,5749,2981,5750,5751,5752,5753,3196,4799,4800,2185,1722,5754,3269,3270, # 5232
    -1843,3665,1715, 481, 365,1976,1857,5755,5756,1963,2498,4801,5757,2127,3666,3271, # 5248
    - 433,1895,2064,2076,5758, 602,2750,5759,5760,5761,5762,5763,3032,1628,3437,5764, # 5264
    -3197,4802,4156,2904,4803,2519,5765,2551,2782,5766,5767,5768,3343,4804,2905,5769, # 5280
    -4805,5770,2864,4806,4807,1221,2982,4157,2520,5771,5772,5773,1868,1990,5774,5775, # 5296
    -5776,1896,5777,5778,4808,1897,4158, 318,5779,2095,4159,4437,5780,5781, 485,5782, # 5312
    - 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, # 5328
    -3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, # 5344
    - 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, # 5360
    -2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, # 5376
    -)
    -
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/big5prober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/big5prober.py
    deleted file mode 100644
    index 98f9970..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/big5prober.py
    +++ /dev/null
    @@ -1,47 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .mbcharsetprober import MultiByteCharSetProber
    -from .codingstatemachine import CodingStateMachine
    -from .chardistribution import Big5DistributionAnalysis
    -from .mbcssm import BIG5_SM_MODEL
    -
    -
    -class Big5Prober(MultiByteCharSetProber):
    -    def __init__(self):
    -        super(Big5Prober, self).__init__()
    -        self.coding_sm = CodingStateMachine(BIG5_SM_MODEL)
    -        self.distribution_analyzer = Big5DistributionAnalysis()
    -        self.reset()
    -
    -    @property
    -    def charset_name(self):
    -        return "Big5"
    -
    -    @property
    -    def language(self):
    -        return "Chinese"
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/chardistribution.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/chardistribution.py
    deleted file mode 100644
    index c0395f4..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/chardistribution.py
    +++ /dev/null
    @@ -1,233 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .euctwfreq import (EUCTW_CHAR_TO_FREQ_ORDER, EUCTW_TABLE_SIZE,
    -                        EUCTW_TYPICAL_DISTRIBUTION_RATIO)
    -from .euckrfreq import (EUCKR_CHAR_TO_FREQ_ORDER, EUCKR_TABLE_SIZE,
    -                        EUCKR_TYPICAL_DISTRIBUTION_RATIO)
    -from .gb2312freq import (GB2312_CHAR_TO_FREQ_ORDER, GB2312_TABLE_SIZE,
    -                         GB2312_TYPICAL_DISTRIBUTION_RATIO)
    -from .big5freq import (BIG5_CHAR_TO_FREQ_ORDER, BIG5_TABLE_SIZE,
    -                       BIG5_TYPICAL_DISTRIBUTION_RATIO)
    -from .jisfreq import (JIS_CHAR_TO_FREQ_ORDER, JIS_TABLE_SIZE,
    -                      JIS_TYPICAL_DISTRIBUTION_RATIO)
    -
    -
    -class CharDistributionAnalysis(object):
    -    ENOUGH_DATA_THRESHOLD = 1024
    -    SURE_YES = 0.99
    -    SURE_NO = 0.01
    -    MINIMUM_DATA_THRESHOLD = 3
    -
    -    def __init__(self):
    -        # Mapping table to get frequency order from char order (get from
    -        # GetOrder())
    -        self._char_to_freq_order = None
    -        self._table_size = None  # Size of above table
    -        # This is a constant value which varies from language to language,
    -        # used in calculating confidence.  See
    -        # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html
    -        # for further detail.
    -        self.typical_distribution_ratio = None
    -        self._done = None
    -        self._total_chars = None
    -        self._freq_chars = None
    -        self.reset()
    -
    -    def reset(self):
    -        """reset analyser, clear any state"""
    -        # If this flag is set to True, detection is done and conclusion has
    -        # been made
    -        self._done = False
    -        self._total_chars = 0  # Total characters encountered
    -        # The number of characters whose frequency order is less than 512
    -        self._freq_chars = 0
    -
    -    def feed(self, char, char_len):
    -        """feed a character with known length"""
    -        if char_len == 2:
    -            # we only care about 2-bytes character in our distribution analysis
    -            order = self.get_order(char)
    -        else:
    -            order = -1
    -        if order >= 0:
    -            self._total_chars += 1
    -            # order is valid
    -            if order < self._table_size:
    -                if 512 > self._char_to_freq_order[order]:
    -                    self._freq_chars += 1
    -
    -    def get_confidence(self):
    -        """return confidence based on existing data"""
    -        # if we didn't receive any character in our consideration range,
    -        # return negative answer
    -        if self._total_chars <= 0 or self._freq_chars <= self.MINIMUM_DATA_THRESHOLD:
    -            return self.SURE_NO
    -
    -        if self._total_chars != self._freq_chars:
    -            r = (self._freq_chars / ((self._total_chars - self._freq_chars)
    -                 * self.typical_distribution_ratio))
    -            if r < self.SURE_YES:
    -                return r
    -
    -        # normalize confidence (we don't want to be 100% sure)
    -        return self.SURE_YES
    -
    -    def got_enough_data(self):
    -        # It is not necessary to receive all data to draw conclusion.
    -        # For charset detection, certain amount of data is enough
    -        return self._total_chars > self.ENOUGH_DATA_THRESHOLD
    -
    -    def get_order(self, byte_str):
    -        # We do not handle characters based on the original encoding string,
    -        # but convert this encoding string to a number, here called order.
    -        # This allows multiple encodings of a language to share one frequency
    -        # table.
    -        return -1
    -
    -
    -class EUCTWDistributionAnalysis(CharDistributionAnalysis):
    -    def __init__(self):
    -        super(EUCTWDistributionAnalysis, self).__init__()
    -        self._char_to_freq_order = EUCTW_CHAR_TO_FREQ_ORDER
    -        self._table_size = EUCTW_TABLE_SIZE
    -        self.typical_distribution_ratio = EUCTW_TYPICAL_DISTRIBUTION_RATIO
    -
    -    def get_order(self, byte_str):
    -        # for euc-TW encoding, we are interested
    -        #   first  byte range: 0xc4 -- 0xfe
    -        #   second byte range: 0xa1 -- 0xfe
    -        # no validation needed here. State machine has done that
    -        first_char = byte_str[0]
    -        if first_char >= 0xC4:
    -            return 94 * (first_char - 0xC4) + byte_str[1] - 0xA1
    -        else:
    -            return -1
    -
    -
    -class EUCKRDistributionAnalysis(CharDistributionAnalysis):
    -    def __init__(self):
    -        super(EUCKRDistributionAnalysis, self).__init__()
    -        self._char_to_freq_order = EUCKR_CHAR_TO_FREQ_ORDER
    -        self._table_size = EUCKR_TABLE_SIZE
    -        self.typical_distribution_ratio = EUCKR_TYPICAL_DISTRIBUTION_RATIO
    -
    -    def get_order(self, byte_str):
    -        # for euc-KR encoding, we are interested
    -        #   first  byte range: 0xb0 -- 0xfe
    -        #   second byte range: 0xa1 -- 0xfe
    -        # no validation needed here. State machine has done that
    -        first_char = byte_str[0]
    -        if first_char >= 0xB0:
    -            return 94 * (first_char - 0xB0) + byte_str[1] - 0xA1
    -        else:
    -            return -1
    -
    -
    -class GB2312DistributionAnalysis(CharDistributionAnalysis):
    -    def __init__(self):
    -        super(GB2312DistributionAnalysis, self).__init__()
    -        self._char_to_freq_order = GB2312_CHAR_TO_FREQ_ORDER
    -        self._table_size = GB2312_TABLE_SIZE
    -        self.typical_distribution_ratio = GB2312_TYPICAL_DISTRIBUTION_RATIO
    -
    -    def get_order(self, byte_str):
    -        # for GB2312 encoding, we are interested
    -        #  first  byte range: 0xb0 -- 0xfe
    -        #  second byte range: 0xa1 -- 0xfe
    -        # no validation needed here. State machine has done that
    -        first_char, second_char = byte_str[0], byte_str[1]
    -        if (first_char >= 0xB0) and (second_char >= 0xA1):
    -            return 94 * (first_char - 0xB0) + second_char - 0xA1
    -        else:
    -            return -1
    -
    -
    -class Big5DistributionAnalysis(CharDistributionAnalysis):
    -    def __init__(self):
    -        super(Big5DistributionAnalysis, self).__init__()
    -        self._char_to_freq_order = BIG5_CHAR_TO_FREQ_ORDER
    -        self._table_size = BIG5_TABLE_SIZE
    -        self.typical_distribution_ratio = BIG5_TYPICAL_DISTRIBUTION_RATIO
    -
    -    def get_order(self, byte_str):
    -        # for big5 encoding, we are interested
    -        #   first  byte range: 0xa4 -- 0xfe
    -        #   second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe
    -        # no validation needed here. State machine has done that
    -        first_char, second_char = byte_str[0], byte_str[1]
    -        if first_char >= 0xA4:
    -            if second_char >= 0xA1:
    -                return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63
    -            else:
    -                return 157 * (first_char - 0xA4) + second_char - 0x40
    -        else:
    -            return -1
    -
    -
    -class SJISDistributionAnalysis(CharDistributionAnalysis):
    -    def __init__(self):
    -        super(SJISDistributionAnalysis, self).__init__()
    -        self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER
    -        self._table_size = JIS_TABLE_SIZE
    -        self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO
    -
    -    def get_order(self, byte_str):
    -        # for sjis encoding, we are interested
    -        #   first  byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe
    -        #   second byte range: 0x40 -- 0x7e,  0x81 -- oxfe
    -        # no validation needed here. State machine has done that
    -        first_char, second_char = byte_str[0], byte_str[1]
    -        if (first_char >= 0x81) and (first_char <= 0x9F):
    -            order = 188 * (first_char - 0x81)
    -        elif (first_char >= 0xE0) and (first_char <= 0xEF):
    -            order = 188 * (first_char - 0xE0 + 31)
    -        else:
    -            return -1
    -        order = order + second_char - 0x40
    -        if second_char > 0x7F:
    -            order = -1
    -        return order
    -
    -
    -class EUCJPDistributionAnalysis(CharDistributionAnalysis):
    -    def __init__(self):
    -        super(EUCJPDistributionAnalysis, self).__init__()
    -        self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER
    -        self._table_size = JIS_TABLE_SIZE
    -        self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO
    -
    -    def get_order(self, byte_str):
    -        # for euc-JP encoding, we are interested
    -        #   first  byte range: 0xa0 -- 0xfe
    -        #   second byte range: 0xa1 -- 0xfe
    -        # no validation needed here. State machine has done that
    -        char = byte_str[0]
    -        if char >= 0xA0:
    -            return 94 * (char - 0xA1) + byte_str[1] - 0xa1
    -        else:
    -            return -1
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/charsetgroupprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/charsetgroupprober.py
    deleted file mode 100644
    index 8b3738e..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/charsetgroupprober.py
    +++ /dev/null
    @@ -1,106 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .enums import ProbingState
    -from .charsetprober import CharSetProber
    -
    -
    -class CharSetGroupProber(CharSetProber):
    -    def __init__(self, lang_filter=None):
    -        super(CharSetGroupProber, self).__init__(lang_filter=lang_filter)
    -        self._active_num = 0
    -        self.probers = []
    -        self._best_guess_prober = None
    -
    -    def reset(self):
    -        super(CharSetGroupProber, self).reset()
    -        self._active_num = 0
    -        for prober in self.probers:
    -            if prober:
    -                prober.reset()
    -                prober.active = True
    -                self._active_num += 1
    -        self._best_guess_prober = None
    -
    -    @property
    -    def charset_name(self):
    -        if not self._best_guess_prober:
    -            self.get_confidence()
    -            if not self._best_guess_prober:
    -                return None
    -        return self._best_guess_prober.charset_name
    -
    -    @property
    -    def language(self):
    -        if not self._best_guess_prober:
    -            self.get_confidence()
    -            if not self._best_guess_prober:
    -                return None
    -        return self._best_guess_prober.language
    -
    -    def feed(self, byte_str):
    -        for prober in self.probers:
    -            if not prober:
    -                continue
    -            if not prober.active:
    -                continue
    -            state = prober.feed(byte_str)
    -            if not state:
    -                continue
    -            if state == ProbingState.FOUND_IT:
    -                self._best_guess_prober = prober
    -                return self.state
    -            elif state == ProbingState.NOT_ME:
    -                prober.active = False
    -                self._active_num -= 1
    -                if self._active_num <= 0:
    -                    self._state = ProbingState.NOT_ME
    -                    return self.state
    -        return self.state
    -
    -    def get_confidence(self):
    -        state = self.state
    -        if state == ProbingState.FOUND_IT:
    -            return 0.99
    -        elif state == ProbingState.NOT_ME:
    -            return 0.01
    -        best_conf = 0.0
    -        self._best_guess_prober = None
    -        for prober in self.probers:
    -            if not prober:
    -                continue
    -            if not prober.active:
    -                self.logger.debug('%s not active', prober.charset_name)
    -                continue
    -            conf = prober.get_confidence()
    -            self.logger.debug('%s %s confidence = %s', prober.charset_name, prober.language, conf)
    -            if best_conf < conf:
    -                best_conf = conf
    -                self._best_guess_prober = prober
    -        if not self._best_guess_prober:
    -            return 0.0
    -        return best_conf
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/charsetprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/charsetprober.py
    deleted file mode 100644
    index eac4e59..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/charsetprober.py
    +++ /dev/null
    @@ -1,145 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Universal charset detector code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 2001
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#   Shy Shalom - original C code
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -import logging
    -import re
    -
    -from .enums import ProbingState
    -
    -
    -class CharSetProber(object):
    -
    -    SHORTCUT_THRESHOLD = 0.95
    -
    -    def __init__(self, lang_filter=None):
    -        self._state = None
    -        self.lang_filter = lang_filter
    -        self.logger = logging.getLogger(__name__)
    -
    -    def reset(self):
    -        self._state = ProbingState.DETECTING
    -
    -    @property
    -    def charset_name(self):
    -        return None
    -
    -    def feed(self, buf):
    -        pass
    -
    -    @property
    -    def state(self):
    -        return self._state
    -
    -    def get_confidence(self):
    -        return 0.0
    -
    -    @staticmethod
    -    def filter_high_byte_only(buf):
    -        buf = re.sub(b'([\x00-\x7F])+', b' ', buf)
    -        return buf
    -
    -    @staticmethod
    -    def filter_international_words(buf):
    -        """
    -        We define three types of bytes:
    -        alphabet: english alphabets [a-zA-Z]
    -        international: international characters [\x80-\xFF]
    -        marker: everything else [^a-zA-Z\x80-\xFF]
    -
    -        The input buffer can be thought to contain a series of words delimited
    -        by markers. This function works to filter all words that contain at
    -        least one international character. All contiguous sequences of markers
    -        are replaced by a single space ascii character.
    -
    -        This filter applies to all scripts which do not use English characters.
    -        """
    -        filtered = bytearray()
    -
    -        # This regex expression filters out only words that have at-least one
    -        # international character. The word may include one marker character at
    -        # the end.
    -        words = re.findall(b'[a-zA-Z]*[\x80-\xFF]+[a-zA-Z]*[^a-zA-Z\x80-\xFF]?',
    -                           buf)
    -
    -        for word in words:
    -            filtered.extend(word[:-1])
    -
    -            # If the last character in the word is a marker, replace it with a
    -            # space as markers shouldn't affect our analysis (they are used
    -            # similarly across all languages and may thus have similar
    -            # frequencies).
    -            last_char = word[-1:]
    -            if not last_char.isalpha() and last_char < b'\x80':
    -                last_char = b' '
    -            filtered.extend(last_char)
    -
    -        return filtered
    -
    -    @staticmethod
    -    def filter_with_english_letters(buf):
    -        """
    -        Returns a copy of ``buf`` that retains only the sequences of English
    -        alphabet and high byte characters that are not between <> characters.
    -        Also retains English alphabet and high byte characters immediately
    -        before occurrences of >.
    -
    -        This filter can be applied to all scripts which contain both English
    -        characters and extended ASCII characters, but is currently only used by
    -        ``Latin1Prober``.
    -        """
    -        filtered = bytearray()
    -        in_tag = False
    -        prev = 0
    -
    -        for curr in range(len(buf)):
    -            # Slice here to get bytes instead of an int with Python 3
    -            buf_char = buf[curr:curr + 1]
    -            # Check if we're coming out of or entering an HTML tag
    -            if buf_char == b'>':
    -                in_tag = False
    -            elif buf_char == b'<':
    -                in_tag = True
    -
    -            # If current character is not extended-ASCII and not alphabetic...
    -            if buf_char < b'\x80' and not buf_char.isalpha():
    -                # ...and we're not in a tag
    -                if curr > prev and not in_tag:
    -                    # Keep everything after last non-extended-ASCII,
    -                    # non-alphabetic character
    -                    filtered.extend(buf[prev:curr])
    -                    # Output a space to delimit stretch we kept
    -                    filtered.extend(b' ')
    -                prev = curr + 1
    -
    -        # If we're not in a tag...
    -        if not in_tag:
    -            # Keep everything after last non-extended-ASCII, non-alphabetic
    -            # character
    -            filtered.extend(buf[prev:])
    -
    -        return filtered
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cli/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cli/__init__.py
    deleted file mode 100644
    index 8b13789..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cli/__init__.py
    +++ /dev/null
    @@ -1 +0,0 @@
    -
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cli/chardetect.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cli/chardetect.py
    deleted file mode 100644
    index c61136b..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cli/chardetect.py
    +++ /dev/null
    @@ -1,85 +0,0 @@
    -#!/usr/bin/env python
    -"""
    -Script which takes one or more file paths and reports on their detected
    -encodings
    -
    -Example::
    -
    -    % chardetect somefile someotherfile
    -    somefile: windows-1252 with confidence 0.5
    -    someotherfile: ascii with confidence 1.0
    -
    -If no paths are provided, it takes its input from stdin.
    -
    -"""
    -
    -from __future__ import absolute_import, print_function, unicode_literals
    -
    -import argparse
    -import sys
    -
    -from pip._vendor.chardet import __version__
    -from pip._vendor.chardet.compat import PY2
    -from pip._vendor.chardet.universaldetector import UniversalDetector
    -
    -
    -def description_of(lines, name='stdin'):
    -    """
    -    Return a string describing the probable encoding of a file or
    -    list of strings.
    -
    -    :param lines: The lines to get the encoding of.
    -    :type lines: Iterable of bytes
    -    :param name: Name of file or collection of lines
    -    :type name: str
    -    """
    -    u = UniversalDetector()
    -    for line in lines:
    -        line = bytearray(line)
    -        u.feed(line)
    -        # shortcut out of the loop to save reading further - particularly useful if we read a BOM.
    -        if u.done:
    -            break
    -    u.close()
    -    result = u.result
    -    if PY2:
    -        name = name.decode(sys.getfilesystemencoding(), 'ignore')
    -    if result['encoding']:
    -        return '{0}: {1} with confidence {2}'.format(name, result['encoding'],
    -                                                     result['confidence'])
    -    else:
    -        return '{0}: no result'.format(name)
    -
    -
    -def main(argv=None):
    -    """
    -    Handles command line arguments and gets things started.
    -
    -    :param argv: List of arguments, as if specified on the command-line.
    -                 If None, ``sys.argv[1:]`` is used instead.
    -    :type argv: list of str
    -    """
    -    # Get command line arguments
    -    parser = argparse.ArgumentParser(
    -        description="Takes one or more file paths and reports their detected \
    -                     encodings")
    -    parser.add_argument('input',
    -                        help='File whose encoding we would like to determine. \
    -                              (default: stdin)',
    -                        type=argparse.FileType('rb'), nargs='*',
    -                        default=[sys.stdin if PY2 else sys.stdin.buffer])
    -    parser.add_argument('--version', action='version',
    -                        version='%(prog)s {0}'.format(__version__))
    -    args = parser.parse_args(argv)
    -
    -    for f in args.input:
    -        if f.isatty():
    -            print("You are running chardetect interactively. Press " +
    -                  "CTRL-D twice at the start of a blank line to signal the " +
    -                  "end of your input. If you want help, run chardetect " +
    -                  "--help\n", file=sys.stderr)
    -        print(description_of(f, f.name))
    -
    -
    -if __name__ == '__main__':
    -    main()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/codingstatemachine.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/codingstatemachine.py
    deleted file mode 100644
    index 68fba44..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/codingstatemachine.py
    +++ /dev/null
    @@ -1,88 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is mozilla.org code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -import logging
    -
    -from .enums import MachineState
    -
    -
    -class CodingStateMachine(object):
    -    """
    -    A state machine to verify a byte sequence for a particular encoding. For
    -    each byte the detector receives, it will feed that byte to every active
    -    state machine available, one byte at a time. The state machine changes its
    -    state based on its previous state and the byte it receives. There are 3
    -    states in a state machine that are of interest to an auto-detector:
    -
    -    START state: This is the state to start with, or a legal byte sequence
    -                 (i.e. a valid code point) for character has been identified.
    -
    -    ME state:  This indicates that the state machine identified a byte sequence
    -               that is specific to the charset it is designed for and that
    -               there is no other possible encoding which can contain this byte
    -               sequence. This will to lead to an immediate positive answer for
    -               the detector.
    -
    -    ERROR state: This indicates the state machine identified an illegal byte
    -                 sequence for that encoding. This will lead to an immediate
    -                 negative answer for this encoding. Detector will exclude this
    -                 encoding from consideration from here on.
    -    """
    -    def __init__(self, sm):
    -        self._model = sm
    -        self._curr_byte_pos = 0
    -        self._curr_char_len = 0
    -        self._curr_state = None
    -        self.logger = logging.getLogger(__name__)
    -        self.reset()
    -
    -    def reset(self):
    -        self._curr_state = MachineState.START
    -
    -    def next_state(self, c):
    -        # for each byte we get its class
    -        # if it is first byte, we also get byte length
    -        byte_class = self._model['class_table'][c]
    -        if self._curr_state == MachineState.START:
    -            self._curr_byte_pos = 0
    -            self._curr_char_len = self._model['char_len_table'][byte_class]
    -        # from byte's class and state_table, we get its next state
    -        curr_state = (self._curr_state * self._model['class_factor']
    -                      + byte_class)
    -        self._curr_state = self._model['state_table'][curr_state]
    -        self._curr_byte_pos += 1
    -        return self._curr_state
    -
    -    def get_current_charlen(self):
    -        return self._curr_char_len
    -
    -    def get_coding_state_machine(self):
    -        return self._model['name']
    -
    -    @property
    -    def language(self):
    -        return self._model['language']
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/compat.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/compat.py
    deleted file mode 100644
    index ddd7468..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/compat.py
    +++ /dev/null
    @@ -1,34 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# Contributor(s):
    -#   Dan Blanchard
    -#   Ian Cordasco
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -import sys
    -
    -
    -if sys.version_info < (3, 0):
    -    PY2 = True
    -    PY3 = False
    -    base_str = (str, unicode)
    -    text_type = unicode
    -else:
    -    PY2 = False
    -    PY3 = True
    -    base_str = (bytes, str)
    -    text_type = str
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cp949prober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cp949prober.py
    deleted file mode 100644
    index efd793a..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/cp949prober.py
    +++ /dev/null
    @@ -1,49 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is mozilla.org code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .chardistribution import EUCKRDistributionAnalysis
    -from .codingstatemachine import CodingStateMachine
    -from .mbcharsetprober import MultiByteCharSetProber
    -from .mbcssm import CP949_SM_MODEL
    -
    -
    -class CP949Prober(MultiByteCharSetProber):
    -    def __init__(self):
    -        super(CP949Prober, self).__init__()
    -        self.coding_sm = CodingStateMachine(CP949_SM_MODEL)
    -        # NOTE: CP949 is a superset of EUC-KR, so the distribution should be
    -        #       not different.
    -        self.distribution_analyzer = EUCKRDistributionAnalysis()
    -        self.reset()
    -
    -    @property
    -    def charset_name(self):
    -        return "CP949"
    -
    -    @property
    -    def language(self):
    -        return "Korean"
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/enums.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/enums.py
    deleted file mode 100644
    index 0451207..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/enums.py
    +++ /dev/null
    @@ -1,76 +0,0 @@
    -"""
    -All of the Enums that are used throughout the chardet package.
    -
    -:author: Dan Blanchard (dan.blanchard@gmail.com)
    -"""
    -
    -
    -class InputState(object):
    -    """
    -    This enum represents the different states a universal detector can be in.
    -    """
    -    PURE_ASCII = 0
    -    ESC_ASCII = 1
    -    HIGH_BYTE = 2
    -
    -
    -class LanguageFilter(object):
    -    """
    -    This enum represents the different language filters we can apply to a
    -    ``UniversalDetector``.
    -    """
    -    CHINESE_SIMPLIFIED = 0x01
    -    CHINESE_TRADITIONAL = 0x02
    -    JAPANESE = 0x04
    -    KOREAN = 0x08
    -    NON_CJK = 0x10
    -    ALL = 0x1F
    -    CHINESE = CHINESE_SIMPLIFIED | CHINESE_TRADITIONAL
    -    CJK = CHINESE | JAPANESE | KOREAN
    -
    -
    -class ProbingState(object):
    -    """
    -    This enum represents the different states a prober can be in.
    -    """
    -    DETECTING = 0
    -    FOUND_IT = 1
    -    NOT_ME = 2
    -
    -
    -class MachineState(object):
    -    """
    -    This enum represents the different states a state machine can be in.
    -    """
    -    START = 0
    -    ERROR = 1
    -    ITS_ME = 2
    -
    -
    -class SequenceLikelihood(object):
    -    """
    -    This enum represents the likelihood of a character following the previous one.
    -    """
    -    NEGATIVE = 0
    -    UNLIKELY = 1
    -    LIKELY = 2
    -    POSITIVE = 3
    -
    -    @classmethod
    -    def get_num_categories(cls):
    -        """:returns: The number of likelihood categories in the enum."""
    -        return 4
    -
    -
    -class CharacterCategory(object):
    -    """
    -    This enum represents the different categories language models for
    -    ``SingleByteCharsetProber`` put characters into.
    -
    -    Anything less than CONTROL is considered a letter.
    -    """
    -    UNDEFINED = 255
    -    LINE_BREAK = 254
    -    SYMBOL = 253
    -    DIGIT = 252
    -    CONTROL = 251
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/escprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/escprober.py
    deleted file mode 100644
    index c70493f..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/escprober.py
    +++ /dev/null
    @@ -1,101 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is mozilla.org code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .charsetprober import CharSetProber
    -from .codingstatemachine import CodingStateMachine
    -from .enums import LanguageFilter, ProbingState, MachineState
    -from .escsm import (HZ_SM_MODEL, ISO2022CN_SM_MODEL, ISO2022JP_SM_MODEL,
    -                    ISO2022KR_SM_MODEL)
    -
    -
    -class EscCharSetProber(CharSetProber):
    -    """
    -    This CharSetProber uses a "code scheme" approach for detecting encodings,
    -    whereby easily recognizable escape or shift sequences are relied on to
    -    identify these encodings.
    -    """
    -
    -    def __init__(self, lang_filter=None):
    -        super(EscCharSetProber, self).__init__(lang_filter=lang_filter)
    -        self.coding_sm = []
    -        if self.lang_filter & LanguageFilter.CHINESE_SIMPLIFIED:
    -            self.coding_sm.append(CodingStateMachine(HZ_SM_MODEL))
    -            self.coding_sm.append(CodingStateMachine(ISO2022CN_SM_MODEL))
    -        if self.lang_filter & LanguageFilter.JAPANESE:
    -            self.coding_sm.append(CodingStateMachine(ISO2022JP_SM_MODEL))
    -        if self.lang_filter & LanguageFilter.KOREAN:
    -            self.coding_sm.append(CodingStateMachine(ISO2022KR_SM_MODEL))
    -        self.active_sm_count = None
    -        self._detected_charset = None
    -        self._detected_language = None
    -        self._state = None
    -        self.reset()
    -
    -    def reset(self):
    -        super(EscCharSetProber, self).reset()
    -        for coding_sm in self.coding_sm:
    -            if not coding_sm:
    -                continue
    -            coding_sm.active = True
    -            coding_sm.reset()
    -        self.active_sm_count = len(self.coding_sm)
    -        self._detected_charset = None
    -        self._detected_language = None
    -
    -    @property
    -    def charset_name(self):
    -        return self._detected_charset
    -
    -    @property
    -    def language(self):
    -        return self._detected_language
    -
    -    def get_confidence(self):
    -        if self._detected_charset:
    -            return 0.99
    -        else:
    -            return 0.00
    -
    -    def feed(self, byte_str):
    -        for c in byte_str:
    -            for coding_sm in self.coding_sm:
    -                if not coding_sm or not coding_sm.active:
    -                    continue
    -                coding_state = coding_sm.next_state(c)
    -                if coding_state == MachineState.ERROR:
    -                    coding_sm.active = False
    -                    self.active_sm_count -= 1
    -                    if self.active_sm_count <= 0:
    -                        self._state = ProbingState.NOT_ME
    -                        return self.state
    -                elif coding_state == MachineState.ITS_ME:
    -                    self._state = ProbingState.FOUND_IT
    -                    self._detected_charset = coding_sm.get_coding_state_machine()
    -                    self._detected_language = coding_sm.language
    -                    return self.state
    -
    -        return self.state
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/escsm.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/escsm.py
    deleted file mode 100644
    index 0069523..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/escsm.py
    +++ /dev/null
    @@ -1,246 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is mozilla.org code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .enums import MachineState
    -
    -HZ_CLS = (
    -1,0,0,0,0,0,0,0,  # 00 - 07
    -0,0,0,0,0,0,0,0,  # 08 - 0f
    -0,0,0,0,0,0,0,0,  # 10 - 17
    -0,0,0,1,0,0,0,0,  # 18 - 1f
    -0,0,0,0,0,0,0,0,  # 20 - 27
    -0,0,0,0,0,0,0,0,  # 28 - 2f
    -0,0,0,0,0,0,0,0,  # 30 - 37
    -0,0,0,0,0,0,0,0,  # 38 - 3f
    -0,0,0,0,0,0,0,0,  # 40 - 47
    -0,0,0,0,0,0,0,0,  # 48 - 4f
    -0,0,0,0,0,0,0,0,  # 50 - 57
    -0,0,0,0,0,0,0,0,  # 58 - 5f
    -0,0,0,0,0,0,0,0,  # 60 - 67
    -0,0,0,0,0,0,0,0,  # 68 - 6f
    -0,0,0,0,0,0,0,0,  # 70 - 77
    -0,0,0,4,0,5,2,0,  # 78 - 7f
    -1,1,1,1,1,1,1,1,  # 80 - 87
    -1,1,1,1,1,1,1,1,  # 88 - 8f
    -1,1,1,1,1,1,1,1,  # 90 - 97
    -1,1,1,1,1,1,1,1,  # 98 - 9f
    -1,1,1,1,1,1,1,1,  # a0 - a7
    -1,1,1,1,1,1,1,1,  # a8 - af
    -1,1,1,1,1,1,1,1,  # b0 - b7
    -1,1,1,1,1,1,1,1,  # b8 - bf
    -1,1,1,1,1,1,1,1,  # c0 - c7
    -1,1,1,1,1,1,1,1,  # c8 - cf
    -1,1,1,1,1,1,1,1,  # d0 - d7
    -1,1,1,1,1,1,1,1,  # d8 - df
    -1,1,1,1,1,1,1,1,  # e0 - e7
    -1,1,1,1,1,1,1,1,  # e8 - ef
    -1,1,1,1,1,1,1,1,  # f0 - f7
    -1,1,1,1,1,1,1,1,  # f8 - ff
    -)
    -
    -HZ_ST = (
    -MachineState.START,MachineState.ERROR,     3,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f
    -MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,     4,MachineState.ERROR,# 10-17
    -     5,MachineState.ERROR,     6,MachineState.ERROR,     5,     5,     4,MachineState.ERROR,# 18-1f
    -     4,MachineState.ERROR,     4,     4,     4,MachineState.ERROR,     4,MachineState.ERROR,# 20-27
    -     4,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 28-2f
    -)
    -
    -HZ_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0)
    -
    -HZ_SM_MODEL = {'class_table': HZ_CLS,
    -               'class_factor': 6,
    -               'state_table': HZ_ST,
    -               'char_len_table': HZ_CHAR_LEN_TABLE,
    -               'name': "HZ-GB-2312",
    -               'language': 'Chinese'}
    -
    -ISO2022CN_CLS = (
    -2,0,0,0,0,0,0,0,  # 00 - 07
    -0,0,0,0,0,0,0,0,  # 08 - 0f
    -0,0,0,0,0,0,0,0,  # 10 - 17
    -0,0,0,1,0,0,0,0,  # 18 - 1f
    -0,0,0,0,0,0,0,0,  # 20 - 27
    -0,3,0,0,0,0,0,0,  # 28 - 2f
    -0,0,0,0,0,0,0,0,  # 30 - 37
    -0,0,0,0,0,0,0,0,  # 38 - 3f
    -0,0,0,4,0,0,0,0,  # 40 - 47
    -0,0,0,0,0,0,0,0,  # 48 - 4f
    -0,0,0,0,0,0,0,0,  # 50 - 57
    -0,0,0,0,0,0,0,0,  # 58 - 5f
    -0,0,0,0,0,0,0,0,  # 60 - 67
    -0,0,0,0,0,0,0,0,  # 68 - 6f
    -0,0,0,0,0,0,0,0,  # 70 - 77
    -0,0,0,0,0,0,0,0,  # 78 - 7f
    -2,2,2,2,2,2,2,2,  # 80 - 87
    -2,2,2,2,2,2,2,2,  # 88 - 8f
    -2,2,2,2,2,2,2,2,  # 90 - 97
    -2,2,2,2,2,2,2,2,  # 98 - 9f
    -2,2,2,2,2,2,2,2,  # a0 - a7
    -2,2,2,2,2,2,2,2,  # a8 - af
    -2,2,2,2,2,2,2,2,  # b0 - b7
    -2,2,2,2,2,2,2,2,  # b8 - bf
    -2,2,2,2,2,2,2,2,  # c0 - c7
    -2,2,2,2,2,2,2,2,  # c8 - cf
    -2,2,2,2,2,2,2,2,  # d0 - d7
    -2,2,2,2,2,2,2,2,  # d8 - df
    -2,2,2,2,2,2,2,2,  # e0 - e7
    -2,2,2,2,2,2,2,2,  # e8 - ef
    -2,2,2,2,2,2,2,2,  # f0 - f7
    -2,2,2,2,2,2,2,2,  # f8 - ff
    -)
    -
    -ISO2022CN_ST = (
    -MachineState.START,     3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07
    -MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f
    -MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17
    -MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,     4,MachineState.ERROR,# 18-1f
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 20-27
    -     5,     6,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 28-2f
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 30-37
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,# 38-3f
    -)
    -
    -ISO2022CN_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0)
    -
    -ISO2022CN_SM_MODEL = {'class_table': ISO2022CN_CLS,
    -                      'class_factor': 9,
    -                      'state_table': ISO2022CN_ST,
    -                      'char_len_table': ISO2022CN_CHAR_LEN_TABLE,
    -                      'name': "ISO-2022-CN",
    -                      'language': 'Chinese'}
    -
    -ISO2022JP_CLS = (
    -2,0,0,0,0,0,0,0,  # 00 - 07
    -0,0,0,0,0,0,2,2,  # 08 - 0f
    -0,0,0,0,0,0,0,0,  # 10 - 17
    -0,0,0,1,0,0,0,0,  # 18 - 1f
    -0,0,0,0,7,0,0,0,  # 20 - 27
    -3,0,0,0,0,0,0,0,  # 28 - 2f
    -0,0,0,0,0,0,0,0,  # 30 - 37
    -0,0,0,0,0,0,0,0,  # 38 - 3f
    -6,0,4,0,8,0,0,0,  # 40 - 47
    -0,9,5,0,0,0,0,0,  # 48 - 4f
    -0,0,0,0,0,0,0,0,  # 50 - 57
    -0,0,0,0,0,0,0,0,  # 58 - 5f
    -0,0,0,0,0,0,0,0,  # 60 - 67
    -0,0,0,0,0,0,0,0,  # 68 - 6f
    -0,0,0,0,0,0,0,0,  # 70 - 77
    -0,0,0,0,0,0,0,0,  # 78 - 7f
    -2,2,2,2,2,2,2,2,  # 80 - 87
    -2,2,2,2,2,2,2,2,  # 88 - 8f
    -2,2,2,2,2,2,2,2,  # 90 - 97
    -2,2,2,2,2,2,2,2,  # 98 - 9f
    -2,2,2,2,2,2,2,2,  # a0 - a7
    -2,2,2,2,2,2,2,2,  # a8 - af
    -2,2,2,2,2,2,2,2,  # b0 - b7
    -2,2,2,2,2,2,2,2,  # b8 - bf
    -2,2,2,2,2,2,2,2,  # c0 - c7
    -2,2,2,2,2,2,2,2,  # c8 - cf
    -2,2,2,2,2,2,2,2,  # d0 - d7
    -2,2,2,2,2,2,2,2,  # d8 - df
    -2,2,2,2,2,2,2,2,  # e0 - e7
    -2,2,2,2,2,2,2,2,  # e8 - ef
    -2,2,2,2,2,2,2,2,  # f0 - f7
    -2,2,2,2,2,2,2,2,  # f8 - ff
    -)
    -
    -ISO2022JP_ST = (
    -MachineState.START,     3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07
    -MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17
    -MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,# 18-1f
    -MachineState.ERROR,     5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,     4,MachineState.ERROR,MachineState.ERROR,# 20-27
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,     6,MachineState.ITS_ME,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,# 28-2f
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,# 30-37
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 38-3f
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.START,# 40-47
    -)
    -
    -ISO2022JP_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
    -
    -ISO2022JP_SM_MODEL = {'class_table': ISO2022JP_CLS,
    -                      'class_factor': 10,
    -                      'state_table': ISO2022JP_ST,
    -                      'char_len_table': ISO2022JP_CHAR_LEN_TABLE,
    -                      'name': "ISO-2022-JP",
    -                      'language': 'Japanese'}
    -
    -ISO2022KR_CLS = (
    -2,0,0,0,0,0,0,0,  # 00 - 07
    -0,0,0,0,0,0,0,0,  # 08 - 0f
    -0,0,0,0,0,0,0,0,  # 10 - 17
    -0,0,0,1,0,0,0,0,  # 18 - 1f
    -0,0,0,0,3,0,0,0,  # 20 - 27
    -0,4,0,0,0,0,0,0,  # 28 - 2f
    -0,0,0,0,0,0,0,0,  # 30 - 37
    -0,0,0,0,0,0,0,0,  # 38 - 3f
    -0,0,0,5,0,0,0,0,  # 40 - 47
    -0,0,0,0,0,0,0,0,  # 48 - 4f
    -0,0,0,0,0,0,0,0,  # 50 - 57
    -0,0,0,0,0,0,0,0,  # 58 - 5f
    -0,0,0,0,0,0,0,0,  # 60 - 67
    -0,0,0,0,0,0,0,0,  # 68 - 6f
    -0,0,0,0,0,0,0,0,  # 70 - 77
    -0,0,0,0,0,0,0,0,  # 78 - 7f
    -2,2,2,2,2,2,2,2,  # 80 - 87
    -2,2,2,2,2,2,2,2,  # 88 - 8f
    -2,2,2,2,2,2,2,2,  # 90 - 97
    -2,2,2,2,2,2,2,2,  # 98 - 9f
    -2,2,2,2,2,2,2,2,  # a0 - a7
    -2,2,2,2,2,2,2,2,  # a8 - af
    -2,2,2,2,2,2,2,2,  # b0 - b7
    -2,2,2,2,2,2,2,2,  # b8 - bf
    -2,2,2,2,2,2,2,2,  # c0 - c7
    -2,2,2,2,2,2,2,2,  # c8 - cf
    -2,2,2,2,2,2,2,2,  # d0 - d7
    -2,2,2,2,2,2,2,2,  # d8 - df
    -2,2,2,2,2,2,2,2,  # e0 - e7
    -2,2,2,2,2,2,2,2,  # e8 - ef
    -2,2,2,2,2,2,2,2,  # f0 - f7
    -2,2,2,2,2,2,2,2,  # f8 - ff
    -)
    -
    -ISO2022KR_ST = (
    -MachineState.START,     3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f
    -MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,     4,MachineState.ERROR,MachineState.ERROR,# 10-17
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,     5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 18-1f
    -MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 20-27
    -)
    -
    -ISO2022KR_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0)
    -
    -ISO2022KR_SM_MODEL = {'class_table': ISO2022KR_CLS,
    -                      'class_factor': 6,
    -                      'state_table': ISO2022KR_ST,
    -                      'char_len_table': ISO2022KR_CHAR_LEN_TABLE,
    -                      'name': "ISO-2022-KR",
    -                      'language': 'Korean'}
    -
    -
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/eucjpprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/eucjpprober.py
    deleted file mode 100644
    index 20ce8f7..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/eucjpprober.py
    +++ /dev/null
    @@ -1,92 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is mozilla.org code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .enums import ProbingState, MachineState
    -from .mbcharsetprober import MultiByteCharSetProber
    -from .codingstatemachine import CodingStateMachine
    -from .chardistribution import EUCJPDistributionAnalysis
    -from .jpcntx import EUCJPContextAnalysis
    -from .mbcssm import EUCJP_SM_MODEL
    -
    -
    -class EUCJPProber(MultiByteCharSetProber):
    -    def __init__(self):
    -        super(EUCJPProber, self).__init__()
    -        self.coding_sm = CodingStateMachine(EUCJP_SM_MODEL)
    -        self.distribution_analyzer = EUCJPDistributionAnalysis()
    -        self.context_analyzer = EUCJPContextAnalysis()
    -        self.reset()
    -
    -    def reset(self):
    -        super(EUCJPProber, self).reset()
    -        self.context_analyzer.reset()
    -
    -    @property
    -    def charset_name(self):
    -        return "EUC-JP"
    -
    -    @property
    -    def language(self):
    -        return "Japanese"
    -
    -    def feed(self, byte_str):
    -        for i in range(len(byte_str)):
    -            # PY3K: byte_str is a byte array, so byte_str[i] is an int, not a byte
    -            coding_state = self.coding_sm.next_state(byte_str[i])
    -            if coding_state == MachineState.ERROR:
    -                self.logger.debug('%s %s prober hit error at byte %s',
    -                                  self.charset_name, self.language, i)
    -                self._state = ProbingState.NOT_ME
    -                break
    -            elif coding_state == MachineState.ITS_ME:
    -                self._state = ProbingState.FOUND_IT
    -                break
    -            elif coding_state == MachineState.START:
    -                char_len = self.coding_sm.get_current_charlen()
    -                if i == 0:
    -                    self._last_char[1] = byte_str[0]
    -                    self.context_analyzer.feed(self._last_char, char_len)
    -                    self.distribution_analyzer.feed(self._last_char, char_len)
    -                else:
    -                    self.context_analyzer.feed(byte_str[i - 1:i + 1],
    -                                                char_len)
    -                    self.distribution_analyzer.feed(byte_str[i - 1:i + 1],
    -                                                     char_len)
    -
    -        self._last_char[0] = byte_str[-1]
    -
    -        if self.state == ProbingState.DETECTING:
    -            if (self.context_analyzer.got_enough_data() and
    -               (self.get_confidence() > self.SHORTCUT_THRESHOLD)):
    -                self._state = ProbingState.FOUND_IT
    -
    -        return self.state
    -
    -    def get_confidence(self):
    -        context_conf = self.context_analyzer.get_confidence()
    -        distrib_conf = self.distribution_analyzer.get_confidence()
    -        return max(context_conf, distrib_conf)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euckrfreq.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euckrfreq.py
    deleted file mode 100644
    index b68078c..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euckrfreq.py
    +++ /dev/null
    @@ -1,195 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# Sampling from about 20M text materials include literature and computer technology
    -
    -# 128  --> 0.79
    -# 256  --> 0.92
    -# 512  --> 0.986
    -# 1024 --> 0.99944
    -# 2048 --> 0.99999
    -#
    -# Idea Distribution Ratio = 0.98653 / (1-0.98653) = 73.24
    -# Random Distribution Ration = 512 / (2350-512) = 0.279.
    -#
    -# Typical Distribution Ratio
    -
    -EUCKR_TYPICAL_DISTRIBUTION_RATIO = 6.0
    -
    -EUCKR_TABLE_SIZE = 2352
    -
    -# Char to FreqOrder table ,
    -EUCKR_CHAR_TO_FREQ_ORDER = (
    -  13, 130, 120,1396, 481,1719,1720, 328, 609, 212,1721, 707, 400, 299,1722,  87,
    -1397,1723, 104, 536,1117,1203,1724,1267, 685,1268, 508,1725,1726,1727,1728,1398,
    -1399,1729,1730,1731, 141, 621, 326,1057, 368,1732, 267, 488,  20,1733,1269,1734,
    - 945,1400,1735,  47, 904,1270,1736,1737, 773, 248,1738, 409, 313, 786, 429,1739,
    - 116, 987, 813,1401, 683,  75,1204, 145,1740,1741,1742,1743,  16, 847, 667, 622,
    - 708,1744,1745,1746, 966, 787, 304, 129,1747,  60, 820, 123, 676,1748,1749,1750,
    -1751, 617,1752, 626,1753,1754,1755,1756, 653,1757,1758,1759,1760,1761,1762, 856,
    - 344,1763,1764,1765,1766,  89, 401, 418, 806, 905, 848,1767,1768,1769, 946,1205,
    - 709,1770,1118,1771, 241,1772,1773,1774,1271,1775, 569,1776, 999,1777,1778,1779,
    -1780, 337, 751,1058,  28, 628, 254,1781, 177, 906, 270, 349, 891,1079,1782,  19,
    -1783, 379,1784, 315,1785, 629, 754,1402, 559,1786, 636, 203,1206,1787, 710, 567,
    -1788, 935, 814,1789,1790,1207, 766, 528,1791,1792,1208,1793,1794,1795,1796,1797,
    -1403,1798,1799, 533,1059,1404,1405,1156,1406, 936, 884,1080,1800, 351,1801,1802,
    -1803,1804,1805, 801,1806,1807,1808,1119,1809,1157, 714, 474,1407,1810, 298, 899,
    - 885,1811,1120, 802,1158,1812, 892,1813,1814,1408, 659,1815,1816,1121,1817,1818,
    -1819,1820,1821,1822, 319,1823, 594, 545,1824, 815, 937,1209,1825,1826, 573,1409,
    -1022,1827,1210,1828,1829,1830,1831,1832,1833, 556, 722, 807,1122,1060,1834, 697,
    -1835, 900, 557, 715,1836,1410, 540,1411, 752,1159, 294, 597,1211, 976, 803, 770,
    -1412,1837,1838,  39, 794,1413, 358,1839, 371, 925,1840, 453, 661, 788, 531, 723,
    - 544,1023,1081, 869,  91,1841, 392, 430, 790, 602,1414, 677,1082, 457,1415,1416,
    -1842,1843, 475, 327,1024,1417, 795, 121,1844, 733, 403,1418,1845,1846,1847, 300,
    - 119, 711,1212, 627,1848,1272, 207,1849,1850, 796,1213, 382,1851, 519,1852,1083,
    - 893,1853,1854,1855, 367, 809, 487, 671,1856, 663,1857,1858, 956, 471, 306, 857,
    -1859,1860,1160,1084,1861,1862,1863,1864,1865,1061,1866,1867,1868,1869,1870,1871,
    - 282,  96, 574,1872, 502,1085,1873,1214,1874, 907,1875,1876, 827, 977,1419,1420,
    -1421, 268,1877,1422,1878,1879,1880, 308,1881,   2, 537,1882,1883,1215,1884,1885,
    - 127, 791,1886,1273,1423,1887,  34, 336, 404, 643,1888, 571, 654, 894, 840,1889,
    -   0, 886,1274, 122, 575, 260, 908, 938,1890,1275, 410, 316,1891,1892, 100,1893,
    -1894,1123,  48,1161,1124,1025,1895, 633, 901,1276,1896,1897, 115, 816,1898, 317,
    -1899, 694,1900, 909, 734,1424, 572, 866,1425, 691,  85, 524,1010, 543, 394, 841,
    -1901,1902,1903,1026,1904,1905,1906,1907,1908,1909,  30, 451, 651, 988, 310,1910,
    -1911,1426, 810,1216,  93,1912,1913,1277,1217,1914, 858, 759,  45,  58, 181, 610,
    - 269,1915,1916, 131,1062, 551, 443,1000, 821,1427, 957, 895,1086,1917,1918, 375,
    -1919, 359,1920, 687,1921, 822,1922, 293,1923,1924,  40, 662, 118, 692,  29, 939,
    - 887, 640, 482, 174,1925,  69,1162, 728,1428, 910,1926,1278,1218,1279, 386, 870,
    - 217, 854,1163, 823,1927,1928,1929,1930, 834,1931,  78,1932, 859,1933,1063,1934,
    -1935,1936,1937, 438,1164, 208, 595,1938,1939,1940,1941,1219,1125,1942, 280, 888,
    -1429,1430,1220,1431,1943,1944,1945,1946,1947,1280, 150, 510,1432,1948,1949,1950,
    -1951,1952,1953,1954,1011,1087,1955,1433,1043,1956, 881,1957, 614, 958,1064,1065,
    -1221,1958, 638,1001, 860, 967, 896,1434, 989, 492, 553,1281,1165,1959,1282,1002,
    -1283,1222,1960,1961,1962,1963,  36, 383, 228, 753, 247, 454,1964, 876, 678,1965,
    -1966,1284, 126, 464, 490, 835, 136, 672, 529, 940,1088,1435, 473,1967,1968, 467,
    -  50, 390, 227, 587, 279, 378, 598, 792, 968, 240, 151, 160, 849, 882,1126,1285,
    - 639,1044, 133, 140, 288, 360, 811, 563,1027, 561, 142, 523,1969,1970,1971,   7,
    - 103, 296, 439, 407, 506, 634, 990,1972,1973,1974,1975, 645,1976,1977,1978,1979,
    -1980,1981, 236,1982,1436,1983,1984,1089, 192, 828, 618, 518,1166, 333,1127,1985,
    - 818,1223,1986,1987,1988,1989,1990,1991,1992,1993, 342,1128,1286, 746, 842,1994,
    -1995, 560, 223,1287,  98,   8, 189, 650, 978,1288,1996,1437,1997,  17, 345, 250,
    - 423, 277, 234, 512, 226,  97, 289,  42, 167,1998, 201,1999,2000, 843, 836, 824,
    - 532, 338, 783,1090, 182, 576, 436,1438,1439, 527, 500,2001, 947, 889,2002,2003,
    -2004,2005, 262, 600, 314, 447,2006, 547,2007, 693, 738,1129,2008,  71,1440, 745,
    - 619, 688,2009, 829,2010,2011, 147,2012,  33, 948,2013,2014,  74, 224,2015,  61,
    - 191, 918, 399, 637,2016,1028,1130, 257, 902,2017,2018,2019,2020,2021,2022,2023,
    -2024,2025,2026, 837,2027,2028,2029,2030, 179, 874, 591,  52, 724, 246,2031,2032,
    -2033,2034,1167, 969,2035,1289, 630, 605, 911,1091,1168,2036,2037,2038,1441, 912,
    -2039, 623,2040,2041, 253,1169,1290,2042,1442, 146, 620, 611, 577, 433,2043,1224,
    - 719,1170, 959, 440, 437, 534,  84, 388, 480,1131, 159, 220, 198, 679,2044,1012,
    - 819,1066,1443, 113,1225, 194, 318,1003,1029,2045,2046,2047,2048,1067,2049,2050,
    -2051,2052,2053,  59, 913, 112,2054, 632,2055, 455, 144, 739,1291,2056, 273, 681,
    - 499,2057, 448,2058,2059, 760,2060,2061, 970, 384, 169, 245,1132,2062,2063, 414,
    -1444,2064,2065,  41, 235,2066, 157, 252, 877, 568, 919, 789, 580,2067, 725,2068,
    -2069,1292,2070,2071,1445,2072,1446,2073,2074,  55, 588,  66,1447, 271,1092,2075,
    -1226,2076, 960,1013, 372,2077,2078,2079,2080,2081,1293,2082,2083,2084,2085, 850,
    -2086,2087,2088,2089,2090, 186,2091,1068, 180,2092,2093,2094, 109,1227, 522, 606,
    -2095, 867,1448,1093, 991,1171, 926, 353,1133,2096, 581,2097,2098,2099,1294,1449,
    -1450,2100, 596,1172,1014,1228,2101,1451,1295,1173,1229,2102,2103,1296,1134,1452,
    - 949,1135,2104,2105,1094,1453,1454,1455,2106,1095,2107,2108,2109,2110,2111,2112,
    -2113,2114,2115,2116,2117, 804,2118,2119,1230,1231, 805,1456, 405,1136,2120,2121,
    -2122,2123,2124, 720, 701,1297, 992,1457, 927,1004,2125,2126,2127,2128,2129,2130,
    -  22, 417,2131, 303,2132, 385,2133, 971, 520, 513,2134,1174,  73,1096, 231, 274,
    - 962,1458, 673,2135,1459,2136, 152,1137,2137,2138,2139,2140,1005,1138,1460,1139,
    -2141,2142,2143,2144,  11, 374, 844,2145, 154,1232,  46,1461,2146, 838, 830, 721,
    -1233, 106,2147,  90, 428, 462, 578, 566,1175, 352,2148,2149, 538,1234, 124,1298,
    -2150,1462, 761, 565,2151, 686,2152, 649,2153,  72, 173,2154, 460, 415,2155,1463,
    -2156,1235, 305,2157,2158,2159,2160,2161,2162, 579,2163,2164,2165,2166,2167, 747,
    -2168,2169,2170,2171,1464, 669,2172,2173,2174,2175,2176,1465,2177,  23, 530, 285,
    -2178, 335, 729,2179, 397,2180,2181,2182,1030,2183,2184, 698,2185,2186, 325,2187,
    -2188, 369,2189, 799,1097,1015, 348,2190,1069, 680,2191, 851,1466,2192,2193,  10,
    -2194, 613, 424,2195, 979, 108, 449, 589,  27, 172,  81,1031,  80, 774, 281, 350,
    -1032, 525, 301, 582,1176,2196, 674,1045,2197,2198,1467, 730, 762,2199,2200,2201,
    -2202,1468,2203, 993,2204,2205, 266,1070, 963,1140,2206,2207,2208, 664,1098, 972,
    -2209,2210,2211,1177,1469,1470, 871,2212,2213,2214,2215,2216,1471,2217,2218,2219,
    -2220,2221,2222,2223,2224,2225,2226,2227,1472,1236,2228,2229,2230,2231,2232,2233,
    -2234,2235,1299,2236,2237, 200,2238, 477, 373,2239,2240, 731, 825, 777,2241,2242,
    -2243, 521, 486, 548,2244,2245,2246,1473,1300,  53, 549, 137, 875,  76, 158,2247,
    -1301,1474, 469, 396,1016, 278, 712,2248, 321, 442, 503, 767, 744, 941,1237,1178,
    -1475,2249,  82, 178,1141,1179, 973,2250,1302,2251, 297,2252,2253, 570,2254,2255,
    -2256,  18, 450, 206,2257, 290, 292,1142,2258, 511, 162,  99, 346, 164, 735,2259,
    -1476,1477,   4, 554, 343, 798,1099,2260,1100,2261,  43, 171,1303, 139, 215,2262,
    -2263, 717, 775,2264,1033, 322, 216,2265, 831,2266, 149,2267,1304,2268,2269, 702,
    -1238, 135, 845, 347, 309,2270, 484,2271, 878, 655, 238,1006,1478,2272,  67,2273,
    - 295,2274,2275, 461,2276, 478, 942, 412,2277,1034,2278,2279,2280, 265,2281, 541,
    -2282,2283,2284,2285,2286,  70, 852,1071,2287,2288,2289,2290,  21,  56, 509, 117,
    - 432,2291,2292, 331, 980, 552,1101, 148, 284, 105, 393,1180,1239, 755,2293, 187,
    -2294,1046,1479,2295, 340,2296,  63,1047, 230,2297,2298,1305, 763,1306, 101, 800,
    - 808, 494,2299,2300,2301, 903,2302,  37,1072,  14,   5,2303,  79, 675,2304, 312,
    -2305,2306,2307,2308,2309,1480,   6,1307,2310,2311,2312,   1, 470,  35,  24, 229,
    -2313, 695, 210,  86, 778,  15, 784, 592, 779,  32,  77, 855, 964,2314, 259,2315,
    - 501, 380,2316,2317,  83, 981, 153, 689,1308,1481,1482,1483,2318,2319, 716,1484,
    -2320,2321,2322,2323,2324,2325,1485,2326,2327, 128,  57,  68, 261,1048, 211, 170,
    -1240,  31,2328,  51, 435, 742,2329,2330,2331, 635,2332, 264, 456,2333,2334,2335,
    - 425,2336,1486, 143, 507, 263, 943,2337, 363, 920,1487, 256,1488,1102, 243, 601,
    -1489,2338,2339,2340,2341,2342,2343,2344, 861,2345,2346,2347,2348,2349,2350, 395,
    -2351,1490,1491,  62, 535, 166, 225,2352,2353, 668, 419,1241, 138, 604, 928,2354,
    -1181,2355,1492,1493,2356,2357,2358,1143,2359, 696,2360, 387, 307,1309, 682, 476,
    -2361,2362, 332,  12, 222, 156,2363, 232,2364, 641, 276, 656, 517,1494,1495,1035,
    - 416, 736,1496,2365,1017, 586,2366,2367,2368,1497,2369, 242,2370,2371,2372,1498,
    -2373, 965, 713,2374,2375,2376,2377, 740, 982,1499, 944,1500,1007,2378,2379,1310,
    -1501,2380,2381,2382, 785, 329,2383,2384,1502,2385,2386,2387, 932,2388,1503,2389,
    -2390,2391,2392,1242,2393,2394,2395,2396,2397, 994, 950,2398,2399,2400,2401,1504,
    -1311,2402,2403,2404,2405,1049, 749,2406,2407, 853, 718,1144,1312,2408,1182,1505,
    -2409,2410, 255, 516, 479, 564, 550, 214,1506,1507,1313, 413, 239, 444, 339,1145,
    -1036,1508,1509,1314,1037,1510,1315,2411,1511,2412,2413,2414, 176, 703, 497, 624,
    - 593, 921, 302,2415, 341, 165,1103,1512,2416,1513,2417,2418,2419, 376,2420, 700,
    -2421,2422,2423, 258, 768,1316,2424,1183,2425, 995, 608,2426,2427,2428,2429, 221,
    -2430,2431,2432,2433,2434,2435,2436,2437, 195, 323, 726, 188, 897, 983,1317, 377,
    - 644,1050, 879,2438, 452,2439,2440,2441,2442,2443,2444, 914,2445,2446,2447,2448,
    - 915, 489,2449,1514,1184,2450,2451, 515,  64, 427, 495,2452, 583,2453, 483, 485,
    -1038, 562, 213,1515, 748, 666,2454,2455,2456,2457, 334,2458, 780, 996,1008, 705,
    -1243,2459,2460,2461,2462,2463, 114,2464, 493,1146, 366, 163,1516, 961,1104,2465,
    - 291,2466,1318,1105,2467,1517, 365,2468, 355, 951,1244,2469,1319,2470, 631,2471,
    -2472, 218,1320, 364, 320, 756,1518,1519,1321,1520,1322,2473,2474,2475,2476, 997,
    -2477,2478,2479,2480, 665,1185,2481, 916,1521,2482,2483,2484, 584, 684,2485,2486,
    - 797,2487,1051,1186,2488,2489,2490,1522,2491,2492, 370,2493,1039,1187,  65,2494,
    - 434, 205, 463,1188,2495, 125, 812, 391, 402, 826, 699, 286, 398, 155, 781, 771,
    - 585,2496, 590, 505,1073,2497, 599, 244, 219, 917,1018, 952, 646,1523,2498,1323,
    -2499,2500,  49, 984, 354, 741,2501, 625,2502,1324,2503,1019, 190, 357, 757, 491,
    -  95, 782, 868,2504,2505,2506,2507,2508,2509, 134,1524,1074, 422,1525, 898,2510,
    - 161,2511,2512,2513,2514, 769,2515,1526,2516,2517, 411,1325,2518, 472,1527,2519,
    -2520,2521,2522,2523,2524, 985,2525,2526,2527,2528,2529,2530, 764,2531,1245,2532,
    -2533,  25, 204, 311,2534, 496,2535,1052,2536,2537,2538,2539,2540,2541,2542, 199,
    - 704, 504, 468, 758, 657,1528, 196,  44, 839,1246, 272, 750,2543, 765, 862,2544,
    -2545,1326,2546, 132, 615, 933,2547, 732,2548,2549,2550,1189,1529,2551, 283,1247,
    -1053, 607, 929,2552,2553,2554, 930, 183, 872, 616,1040,1147,2555,1148,1020, 441,
    - 249,1075,2556,2557,2558, 466, 743,2559,2560,2561,  92, 514, 426, 420, 526,2562,
    -2563,2564,2565,2566,2567,2568, 185,2569,2570,2571,2572, 776,1530, 658,2573, 362,
    -2574, 361, 922,1076, 793,2575,2576,2577,2578,2579,2580,1531, 251,2581,2582,2583,
    -2584,1532,  54, 612, 237,1327,2585,2586, 275, 408, 647, 111,2587,1533,1106, 465,
    -   3, 458,   9,  38,2588, 107, 110, 890, 209,  26, 737, 498,2589,1534,2590, 431,
    - 202,  88,1535, 356, 287,1107, 660,1149,2591, 381,1536, 986,1150, 445,1248,1151,
    - 974,2592,2593, 846,2594, 446, 953, 184,1249,1250, 727,2595, 923, 193, 883,2596,
    -2597,2598, 102, 324, 539, 817,2599, 421,1041,2600, 832,2601,  94, 175, 197, 406,
    -2602, 459,2603,2604,2605,2606,2607, 330, 555,2608,2609,2610, 706,1108, 389,2611,
    -2612,2613,2614, 233,2615, 833, 558, 931, 954,1251,2616,2617,1537, 546,2618,2619,
    -1009,2620,2621,2622,1538, 690,1328,2623, 955,2624,1539,2625,2626, 772,2627,2628,
    -2629,2630,2631, 924, 648, 863, 603,2632,2633, 934,1540, 864, 865,2634, 642,1042,
    - 670,1190,2635,2636,2637,2638, 168,2639, 652, 873, 542,1054,1541,2640,2641,2642,  # 512, 256
    -)
    -
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euckrprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euckrprober.py
    deleted file mode 100644
    index 345a060..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euckrprober.py
    +++ /dev/null
    @@ -1,47 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is mozilla.org code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .mbcharsetprober import MultiByteCharSetProber
    -from .codingstatemachine import CodingStateMachine
    -from .chardistribution import EUCKRDistributionAnalysis
    -from .mbcssm import EUCKR_SM_MODEL
    -
    -
    -class EUCKRProber(MultiByteCharSetProber):
    -    def __init__(self):
    -        super(EUCKRProber, self).__init__()
    -        self.coding_sm = CodingStateMachine(EUCKR_SM_MODEL)
    -        self.distribution_analyzer = EUCKRDistributionAnalysis()
    -        self.reset()
    -
    -    @property
    -    def charset_name(self):
    -        return "EUC-KR"
    -
    -    @property
    -    def language(self):
    -        return "Korean"
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euctwfreq.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euctwfreq.py
    deleted file mode 100644
    index ed7a995..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euctwfreq.py
    +++ /dev/null
    @@ -1,387 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# EUCTW frequency table
    -# Converted from big5 work
    -# by Taiwan's Mandarin Promotion Council
    -# 
    -
    -# 128  --> 0.42261
    -# 256  --> 0.57851
    -# 512  --> 0.74851
    -# 1024 --> 0.89384
    -# 2048 --> 0.97583
    -#
    -# Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98
    -# Random Distribution Ration = 512/(5401-512)=0.105
    -#
    -# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR
    -
    -EUCTW_TYPICAL_DISTRIBUTION_RATIO = 0.75
    -
    -# Char to FreqOrder table ,
    -EUCTW_TABLE_SIZE = 5376
    -
    -EUCTW_CHAR_TO_FREQ_ORDER = (
    -   1,1800,1506, 255,1431, 198,   9,  82,   6,7310, 177, 202,3615,1256,2808, 110,  # 2742
    -3735,  33,3241, 261,  76,  44,2113,  16,2931,2184,1176, 659,3868,  26,3404,2643,  # 2758
    -1198,3869,3313,4060, 410,2211, 302, 590, 361,1963,   8, 204,  58,4296,7311,1931,  # 2774
    -  63,7312,7313, 317,1614,  75, 222, 159,4061,2412,1480,7314,3500,3068, 224,2809,  # 2790
    -3616,   3,  10,3870,1471,  29,2774,1135,2852,1939, 873, 130,3242,1123, 312,7315,  # 2806
    -4297,2051, 507, 252, 682,7316, 142,1914, 124, 206,2932,  34,3501,3173,  64, 604,  # 2822
    -7317,2494,1976,1977, 155,1990, 645, 641,1606,7318,3405, 337,  72, 406,7319,  80,  # 2838
    - 630, 238,3174,1509, 263, 939,1092,2644, 756,1440,1094,3406, 449,  69,2969, 591,  # 2854
    - 179,2095, 471, 115,2034,1843,  60,  50,2970, 134, 806,1868, 734,2035,3407, 180,  # 2870
    - 995,1607, 156, 537,2893, 688,7320, 319,1305, 779,2144, 514,2374, 298,4298, 359,  # 2886
    -2495,  90,2707,1338, 663,  11, 906,1099,2545,  20,2436, 182, 532,1716,7321, 732,  # 2902
    -1376,4062,1311,1420,3175,  25,2312,1056, 113, 399, 382,1949, 242,3408,2467, 529,  # 2918
    -3243, 475,1447,3617,7322, 117,  21, 656, 810,1297,2295,2329,3502,7323, 126,4063,  # 2934
    - 706, 456, 150, 613,4299,  71,1118,2036,4064, 145,3069,  85, 835, 486,2114,1246,  # 2950
    -1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,7324,2127,2354, 347,3736, 221,  # 2966
    -3503,3110,7325,1955,1153,4065,  83, 296,1199,3070, 192, 624,  93,7326, 822,1897,  # 2982
    -2810,3111, 795,2064, 991,1554,1542,1592,  27,  43,2853, 859, 139,1456, 860,4300,  # 2998
    - 437, 712,3871, 164,2392,3112, 695, 211,3017,2096, 195,3872,1608,3504,3505,3618,  # 3014
    -3873, 234, 811,2971,2097,3874,2229,1441,3506,1615,2375, 668,2076,1638, 305, 228,  # 3030
    -1664,4301, 467, 415,7327, 262,2098,1593, 239, 108, 300, 200,1033, 512,1247,2077,  # 3046
    -7328,7329,2173,3176,3619,2673, 593, 845,1062,3244,  88,1723,2037,3875,1950, 212,  # 3062
    - 266, 152, 149, 468,1898,4066,4302,  77, 187,7330,3018,  37,   5,2972,7331,3876,  # 3078
    -7332,7333,  39,2517,4303,2894,3177,2078,  55, 148,  74,4304, 545, 483,1474,1029,  # 3094
    -1665, 217,1869,1531,3113,1104,2645,4067,  24, 172,3507, 900,3877,3508,3509,4305,  # 3110
    -  32,1408,2811,1312, 329, 487,2355,2247,2708, 784,2674,   4,3019,3314,1427,1788,  # 3126
    - 188, 109, 499,7334,3620,1717,1789, 888,1217,3020,4306,7335,3510,7336,3315,1520,  # 3142
    -3621,3878, 196,1034, 775,7337,7338, 929,1815, 249, 439,  38,7339,1063,7340, 794,  # 3158
    -3879,1435,2296,  46, 178,3245,2065,7341,2376,7342, 214,1709,4307, 804,  35, 707,  # 3174
    - 324,3622,1601,2546, 140, 459,4068,7343,7344,1365, 839, 272, 978,2257,2572,3409,  # 3190
    -2128,1363,3623,1423, 697, 100,3071,  48,  70,1231, 495,3114,2193,7345,1294,7346,  # 3206
    -2079, 462, 586,1042,3246, 853, 256, 988, 185,2377,3410,1698, 434,1084,7347,3411,  # 3222
    - 314,2615,2775,4308,2330,2331, 569,2280, 637,1816,2518, 757,1162,1878,1616,3412,  # 3238
    - 287,1577,2115, 768,4309,1671,2854,3511,2519,1321,3737, 909,2413,7348,4069, 933,  # 3254
    -3738,7349,2052,2356,1222,4310, 765,2414,1322, 786,4311,7350,1919,1462,1677,2895,  # 3270
    -1699,7351,4312,1424,2437,3115,3624,2590,3316,1774,1940,3413,3880,4070, 309,1369,  # 3286
    -1130,2812, 364,2230,1653,1299,3881,3512,3882,3883,2646, 525,1085,3021, 902,2000,  # 3302
    -1475, 964,4313, 421,1844,1415,1057,2281, 940,1364,3116, 376,4314,4315,1381,   7,  # 3318
    -2520, 983,2378, 336,1710,2675,1845, 321,3414, 559,1131,3022,2742,1808,1132,1313,  # 3334
    - 265,1481,1857,7352, 352,1203,2813,3247, 167,1089, 420,2814, 776, 792,1724,3513,  # 3350
    -4071,2438,3248,7353,4072,7354, 446, 229, 333,2743, 901,3739,1200,1557,4316,2647,  # 3366
    -1920, 395,2744,2676,3740,4073,1835, 125, 916,3178,2616,4317,7355,7356,3741,7357,  # 3382
    -7358,7359,4318,3117,3625,1133,2547,1757,3415,1510,2313,1409,3514,7360,2145, 438,  # 3398
    -2591,2896,2379,3317,1068, 958,3023, 461, 311,2855,2677,4074,1915,3179,4075,1978,  # 3414
    - 383, 750,2745,2617,4076, 274, 539, 385,1278,1442,7361,1154,1964, 384, 561, 210,  # 3430
    -  98,1295,2548,3515,7362,1711,2415,1482,3416,3884,2897,1257, 129,7363,3742, 642,  # 3446
    - 523,2776,2777,2648,7364, 141,2231,1333,  68, 176, 441, 876, 907,4077, 603,2592,  # 3462
    - 710, 171,3417, 404, 549,  18,3118,2393,1410,3626,1666,7365,3516,4319,2898,4320,  # 3478
    -7366,2973, 368,7367, 146, 366,  99, 871,3627,1543, 748, 807,1586,1185,  22,2258,  # 3494
    - 379,3743,3180,7368,3181, 505,1941,2618,1991,1382,2314,7369, 380,2357, 218, 702,  # 3510
    -1817,1248,3418,3024,3517,3318,3249,7370,2974,3628, 930,3250,3744,7371,  59,7372,  # 3526
    - 585, 601,4078, 497,3419,1112,1314,4321,1801,7373,1223,1472,2174,7374, 749,1836,  # 3542
    - 690,1899,3745,1772,3885,1476, 429,1043,1790,2232,2116, 917,4079, 447,1086,1629,  # 3558
    -7375, 556,7376,7377,2020,1654, 844,1090, 105, 550, 966,1758,2815,1008,1782, 686,  # 3574
    -1095,7378,2282, 793,1602,7379,3518,2593,4322,4080,2933,2297,4323,3746, 980,2496,  # 3590
    - 544, 353, 527,4324, 908,2678,2899,7380, 381,2619,1942,1348,7381,1341,1252, 560,  # 3606
    -3072,7382,3420,2856,7383,2053, 973, 886,2080, 143,4325,7384,7385, 157,3886, 496,  # 3622
    -4081,  57, 840, 540,2038,4326,4327,3421,2117,1445, 970,2259,1748,1965,2081,4082,  # 3638
    -3119,1234,1775,3251,2816,3629, 773,1206,2129,1066,2039,1326,3887,1738,1725,4083,  # 3654
    - 279,3120,  51,1544,2594, 423,1578,2130,2066, 173,4328,1879,7386,7387,1583, 264,  # 3670
    - 610,3630,4329,2439, 280, 154,7388,7389,7390,1739, 338,1282,3073, 693,2857,1411,  # 3686
    -1074,3747,2440,7391,4330,7392,7393,1240, 952,2394,7394,2900,1538,2679, 685,1483,  # 3702
    -4084,2468,1436, 953,4085,2054,4331, 671,2395,  79,4086,2441,3252, 608, 567,2680,  # 3718
    -3422,4087,4088,1691, 393,1261,1791,2396,7395,4332,7396,7397,7398,7399,1383,1672,  # 3734
    -3748,3182,1464, 522,1119, 661,1150, 216, 675,4333,3888,1432,3519, 609,4334,2681,  # 3750
    -2397,7400,7401,7402,4089,3025,   0,7403,2469, 315, 231,2442, 301,3319,4335,2380,  # 3766
    -7404, 233,4090,3631,1818,4336,4337,7405,  96,1776,1315,2082,7406, 257,7407,1809,  # 3782
    -3632,2709,1139,1819,4091,2021,1124,2163,2778,1777,2649,7408,3074, 363,1655,3183,  # 3798
    -7409,2975,7410,7411,7412,3889,1567,3890, 718, 103,3184, 849,1443, 341,3320,2934,  # 3814
    -1484,7413,1712, 127,  67, 339,4092,2398, 679,1412, 821,7414,7415, 834, 738, 351,  # 3830
    -2976,2146, 846, 235,1497,1880, 418,1992,3749,2710, 186,1100,2147,2746,3520,1545,  # 3846
    -1355,2935,2858,1377, 583,3891,4093,2573,2977,7416,1298,3633,1078,2549,3634,2358,  # 3862
    -  78,3750,3751, 267,1289,2099,2001,1594,4094, 348, 369,1274,2194,2175,1837,4338,  # 3878
    -1820,2817,3635,2747,2283,2002,4339,2936,2748, 144,3321, 882,4340,3892,2749,3423,  # 3894
    -4341,2901,7417,4095,1726, 320,7418,3893,3026, 788,2978,7419,2818,1773,1327,2859,  # 3910
    -3894,2819,7420,1306,4342,2003,1700,3752,3521,2359,2650, 787,2022, 506, 824,3636,  # 3926
    - 534, 323,4343,1044,3322,2023,1900, 946,3424,7421,1778,1500,1678,7422,1881,4344,  # 3942
    - 165, 243,4345,3637,2521, 123, 683,4096, 764,4346,  36,3895,1792, 589,2902, 816,  # 3958
    - 626,1667,3027,2233,1639,1555,1622,3753,3896,7423,3897,2860,1370,1228,1932, 891,  # 3974
    -2083,2903, 304,4097,7424, 292,2979,2711,3522, 691,2100,4098,1115,4347, 118, 662,  # 3990
    -7425, 611,1156, 854,2381,1316,2861,   2, 386, 515,2904,7426,7427,3253, 868,2234,  # 4006
    -1486, 855,2651, 785,2212,3028,7428,1040,3185,3523,7429,3121, 448,7430,1525,7431,  # 4022
    -2164,4348,7432,3754,7433,4099,2820,3524,3122, 503, 818,3898,3123,1568, 814, 676,  # 4038
    -1444, 306,1749,7434,3755,1416,1030, 197,1428, 805,2821,1501,4349,7435,7436,7437,  # 4054
    -1993,7438,4350,7439,7440,2195,  13,2779,3638,2980,3124,1229,1916,7441,3756,2131,  # 4070
    -7442,4100,4351,2399,3525,7443,2213,1511,1727,1120,7444,7445, 646,3757,2443, 307,  # 4086
    -7446,7447,1595,3186,7448,7449,7450,3639,1113,1356,3899,1465,2522,2523,7451, 519,  # 4102
    -7452, 128,2132,  92,2284,1979,7453,3900,1512, 342,3125,2196,7454,2780,2214,1980,  # 4118
    -3323,7455, 290,1656,1317, 789, 827,2360,7456,3758,4352, 562, 581,3901,7457, 401,  # 4134
    -4353,2248,  94,4354,1399,2781,7458,1463,2024,4355,3187,1943,7459, 828,1105,4101,  # 4150
    -1262,1394,7460,4102, 605,4356,7461,1783,2862,7462,2822, 819,2101, 578,2197,2937,  # 4166
    -7463,1502, 436,3254,4103,3255,2823,3902,2905,3425,3426,7464,2712,2315,7465,7466,  # 4182
    -2332,2067,  23,4357, 193, 826,3759,2102, 699,1630,4104,3075, 390,1793,1064,3526,  # 4198
    -7467,1579,3076,3077,1400,7468,4105,1838,1640,2863,7469,4358,4359, 137,4106, 598,  # 4214
    -3078,1966, 780, 104, 974,2938,7470, 278, 899, 253, 402, 572, 504, 493,1339,7471,  # 4230
    -3903,1275,4360,2574,2550,7472,3640,3029,3079,2249, 565,1334,2713, 863,  41,7473,  # 4246
    -7474,4361,7475,1657,2333,  19, 463,2750,4107, 606,7476,2981,3256,1087,2084,1323,  # 4262
    -2652,2982,7477,1631,1623,1750,4108,2682,7478,2864, 791,2714,2653,2334, 232,2416,  # 4278
    -7479,2983,1498,7480,2654,2620, 755,1366,3641,3257,3126,2025,1609, 119,1917,3427,  # 4294
    - 862,1026,4109,7481,3904,3760,4362,3905,4363,2260,1951,2470,7482,1125, 817,4110,  # 4310
    -4111,3906,1513,1766,2040,1487,4112,3030,3258,2824,3761,3127,7483,7484,1507,7485,  # 4326
    -2683, 733,  40,1632,1106,2865, 345,4113, 841,2524, 230,4364,2984,1846,3259,3428,  # 4342
    -7486,1263, 986,3429,7487, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562,3907,  # 4358
    -3908,2939, 967,2751,2655,1349, 592,2133,1692,3324,2985,1994,4114,1679,3909,1901,  # 4374
    -2185,7488, 739,3642,2715,1296,1290,7489,4115,2198,2199,1921,1563,2595,2551,1870,  # 4390
    -2752,2986,7490, 435,7491, 343,1108, 596,  17,1751,4365,2235,3430,3643,7492,4366,  # 4406
    - 294,3527,2940,1693, 477, 979, 281,2041,3528, 643,2042,3644,2621,2782,2261,1031,  # 4422
    -2335,2134,2298,3529,4367, 367,1249,2552,7493,3530,7494,4368,1283,3325,2004, 240,  # 4438
    -1762,3326,4369,4370, 836,1069,3128, 474,7495,2148,2525, 268,3531,7496,3188,1521,  # 4454
    -1284,7497,1658,1546,4116,7498,3532,3533,7499,4117,3327,2684,1685,4118, 961,1673,  # 4470
    -2622, 190,2005,2200,3762,4371,4372,7500, 570,2497,3645,1490,7501,4373,2623,3260,  # 4486
    -1956,4374, 584,1514, 396,1045,1944,7502,4375,1967,2444,7503,7504,4376,3910, 619,  # 4502
    -7505,3129,3261, 215,2006,2783,2553,3189,4377,3190,4378, 763,4119,3763,4379,7506,  # 4518
    -7507,1957,1767,2941,3328,3646,1174, 452,1477,4380,3329,3130,7508,2825,1253,2382,  # 4534
    -2186,1091,2285,4120, 492,7509, 638,1169,1824,2135,1752,3911, 648, 926,1021,1324,  # 4550
    -4381, 520,4382, 997, 847,1007, 892,4383,3764,2262,1871,3647,7510,2400,1784,4384,  # 4566
    -1952,2942,3080,3191,1728,4121,2043,3648,4385,2007,1701,3131,1551,  30,2263,4122,  # 4582
    -7511,2026,4386,3534,7512, 501,7513,4123, 594,3431,2165,1821,3535,3432,3536,3192,  # 4598
    - 829,2826,4124,7514,1680,3132,1225,4125,7515,3262,4387,4126,3133,2336,7516,4388,  # 4614
    -4127,7517,3912,3913,7518,1847,2383,2596,3330,7519,4389, 374,3914, 652,4128,4129,  # 4630
    - 375,1140, 798,7520,7521,7522,2361,4390,2264, 546,1659, 138,3031,2445,4391,7523,  # 4646
    -2250, 612,1848, 910, 796,3765,1740,1371, 825,3766,3767,7524,2906,2554,7525, 692,  # 4662
    - 444,3032,2624, 801,4392,4130,7526,1491, 244,1053,3033,4131,4132, 340,7527,3915,  # 4678
    -1041,2987, 293,1168,  87,1357,7528,1539, 959,7529,2236, 721, 694,4133,3768, 219,  # 4694
    -1478, 644,1417,3331,2656,1413,1401,1335,1389,3916,7530,7531,2988,2362,3134,1825,  # 4710
    - 730,1515, 184,2827,  66,4393,7532,1660,2943, 246,3332, 378,1457, 226,3433, 975,  # 4726
    -3917,2944,1264,3537, 674, 696,7533, 163,7534,1141,2417,2166, 713,3538,3333,4394,  # 4742
    -3918,7535,7536,1186,  15,7537,1079,1070,7538,1522,3193,3539, 276,1050,2716, 758,  # 4758
    -1126, 653,2945,3263,7539,2337, 889,3540,3919,3081,2989, 903,1250,4395,3920,3434,  # 4774
    -3541,1342,1681,1718, 766,3264, 286,  89,2946,3649,7540,1713,7541,2597,3334,2990,  # 4790
    -7542,2947,2215,3194,2866,7543,4396,2498,2526, 181, 387,1075,3921, 731,2187,3335,  # 4806
    -7544,3265, 310, 313,3435,2299, 770,4134,  54,3034, 189,4397,3082,3769,3922,7545,  # 4822
    -1230,1617,1849, 355,3542,4135,4398,3336, 111,4136,3650,1350,3135,3436,3035,4137,  # 4838
    -2149,3266,3543,7546,2784,3923,3924,2991, 722,2008,7547,1071, 247,1207,2338,2471,  # 4854
    -1378,4399,2009, 864,1437,1214,4400, 373,3770,1142,2216, 667,4401, 442,2753,2555,  # 4870
    -3771,3925,1968,4138,3267,1839, 837, 170,1107, 934,1336,1882,7548,7549,2118,4139,  # 4886
    -2828, 743,1569,7550,4402,4140, 582,2384,1418,3437,7551,1802,7552, 357,1395,1729,  # 4902
    -3651,3268,2418,1564,2237,7553,3083,3772,1633,4403,1114,2085,4141,1532,7554, 482,  # 4918
    -2446,4404,7555,7556,1492, 833,1466,7557,2717,3544,1641,2829,7558,1526,1272,3652,  # 4934
    -4142,1686,1794, 416,2556,1902,1953,1803,7559,3773,2785,3774,1159,2316,7560,2867,  # 4950
    -4405,1610,1584,3036,2419,2754, 443,3269,1163,3136,7561,7562,3926,7563,4143,2499,  # 4966
    -3037,4406,3927,3137,2103,1647,3545,2010,1872,4144,7564,4145, 431,3438,7565, 250,  # 4982
    -  97,  81,4146,7566,1648,1850,1558, 160, 848,7567, 866, 740,1694,7568,2201,2830,  # 4998
    -3195,4147,4407,3653,1687, 950,2472, 426, 469,3196,3654,3655,3928,7569,7570,1188,  # 5014
    - 424,1995, 861,3546,4148,3775,2202,2685, 168,1235,3547,4149,7571,2086,1674,4408,  # 5030
    -3337,3270, 220,2557,1009,7572,3776, 670,2992, 332,1208, 717,7573,7574,3548,2447,  # 5046
    -3929,3338,7575, 513,7576,1209,2868,3339,3138,4409,1080,7577,7578,7579,7580,2527,  # 5062
    -3656,3549, 815,1587,3930,3931,7581,3550,3439,3777,1254,4410,1328,3038,1390,3932,  # 5078
    -1741,3933,3778,3934,7582, 236,3779,2448,3271,7583,7584,3657,3780,1273,3781,4411,  # 5094
    -7585, 308,7586,4412, 245,4413,1851,2473,1307,2575, 430, 715,2136,2449,7587, 270,  # 5110
    - 199,2869,3935,7588,3551,2718,1753, 761,1754, 725,1661,1840,4414,3440,3658,7589,  # 5126
    -7590, 587,  14,3272, 227,2598, 326, 480,2265, 943,2755,3552, 291, 650,1883,7591,  # 5142
    -1702,1226, 102,1547,  62,3441, 904,4415,3442,1164,4150,7592,7593,1224,1548,2756,  # 5158
    - 391, 498,1493,7594,1386,1419,7595,2055,1177,4416, 813, 880,1081,2363, 566,1145,  # 5174
    -4417,2286,1001,1035,2558,2599,2238, 394,1286,7596,7597,2068,7598,  86,1494,1730,  # 5190
    -3936, 491,1588, 745, 897,2948, 843,3340,3937,2757,2870,3273,1768, 998,2217,2069,  # 5206
    - 397,1826,1195,1969,3659,2993,3341, 284,7599,3782,2500,2137,2119,1903,7600,3938,  # 5222
    -2150,3939,4151,1036,3443,1904, 114,2559,4152, 209,1527,7601,7602,2949,2831,2625,  # 5238
    -2385,2719,3139, 812,2560,7603,3274,7604,1559, 737,1884,3660,1210, 885,  28,2686,  # 5254
    -3553,3783,7605,4153,1004,1779,4418,7606, 346,1981,2218,2687,4419,3784,1742, 797,  # 5270
    -1642,3940,1933,1072,1384,2151, 896,3941,3275,3661,3197,2871,3554,7607,2561,1958,  # 5286
    -4420,2450,1785,7608,7609,7610,3942,4154,1005,1308,3662,4155,2720,4421,4422,1528,  # 5302
    -2600, 161,1178,4156,1982, 987,4423,1101,4157, 631,3943,1157,3198,2420,1343,1241,  # 5318
    -1016,2239,2562, 372, 877,2339,2501,1160, 555,1934, 911,3944,7611, 466,1170, 169,  # 5334
    -1051,2907,2688,3663,2474,2994,1182,2011,2563,1251,2626,7612, 992,2340,3444,1540,  # 5350
    -2721,1201,2070,2401,1996,2475,7613,4424, 528,1922,2188,1503,1873,1570,2364,3342,  # 5366
    -3276,7614, 557,1073,7615,1827,3445,2087,2266,3140,3039,3084, 767,3085,2786,4425,  # 5382
    -1006,4158,4426,2341,1267,2176,3664,3199, 778,3945,3200,2722,1597,2657,7616,4427,  # 5398
    -7617,3446,7618,7619,7620,3277,2689,1433,3278, 131,  95,1504,3946, 723,4159,3141,  # 5414
    -1841,3555,2758,2189,3947,2027,2104,3665,7621,2995,3948,1218,7622,3343,3201,3949,  # 5430
    -4160,2576, 248,1634,3785, 912,7623,2832,3666,3040,3786, 654,  53,7624,2996,7625,  # 5446
    -1688,4428, 777,3447,1032,3950,1425,7626, 191, 820,2120,2833, 971,4429, 931,3202,  # 5462
    - 135, 664, 783,3787,1997, 772,2908,1935,3951,3788,4430,2909,3203, 282,2723, 640,  # 5478
    -1372,3448,1127, 922, 325,3344,7627,7628, 711,2044,7629,7630,3952,2219,2787,1936,  # 5494
    -3953,3345,2220,2251,3789,2300,7631,4431,3790,1258,3279,3954,3204,2138,2950,3955,  # 5510
    -3956,7632,2221, 258,3205,4432, 101,1227,7633,3280,1755,7634,1391,3281,7635,2910,  # 5526
    -2056, 893,7636,7637,7638,1402,4161,2342,7639,7640,3206,3556,7641,7642, 878,1325,  # 5542
    -1780,2788,4433, 259,1385,2577, 744,1183,2267,4434,7643,3957,2502,7644, 684,1024,  # 5558
    -4162,7645, 472,3557,3449,1165,3282,3958,3959, 322,2152, 881, 455,1695,1152,1340,  # 5574
    - 660, 554,2153,4435,1058,4436,4163, 830,1065,3346,3960,4437,1923,7646,1703,1918,  # 5590
    -7647, 932,2268, 122,7648,4438, 947, 677,7649,3791,2627, 297,1905,1924,2269,4439,  # 5606
    -2317,3283,7650,7651,4164,7652,4165,  84,4166, 112, 989,7653, 547,1059,3961, 701,  # 5622
    -3558,1019,7654,4167,7655,3450, 942, 639, 457,2301,2451, 993,2951, 407, 851, 494,  # 5638
    -4440,3347, 927,7656,1237,7657,2421,3348, 573,4168, 680, 921,2911,1279,1874, 285,  # 5654
    - 790,1448,1983, 719,2167,7658,7659,4441,3962,3963,1649,7660,1541, 563,7661,1077,  # 5670
    -7662,3349,3041,3451, 511,2997,3964,3965,3667,3966,1268,2564,3350,3207,4442,4443,  # 5686
    -7663, 535,1048,1276,1189,2912,2028,3142,1438,1373,2834,2952,1134,2012,7664,4169,  # 5702
    -1238,2578,3086,1259,7665, 700,7666,2953,3143,3668,4170,7667,4171,1146,1875,1906,  # 5718
    -4444,2601,3967, 781,2422, 132,1589, 203, 147, 273,2789,2402, 898,1786,2154,3968,  # 5734
    -3969,7668,3792,2790,7669,7670,4445,4446,7671,3208,7672,1635,3793, 965,7673,1804,  # 5750
    -2690,1516,3559,1121,1082,1329,3284,3970,1449,3794,  65,1128,2835,2913,2759,1590,  # 5766
    -3795,7674,7675,  12,2658,  45, 976,2579,3144,4447, 517,2528,1013,1037,3209,7676,  # 5782
    -3796,2836,7677,3797,7678,3452,7679,2602, 614,1998,2318,3798,3087,2724,2628,7680,  # 5798
    -2580,4172, 599,1269,7681,1810,3669,7682,2691,3088, 759,1060, 489,1805,3351,3285,  # 5814
    -1358,7683,7684,2386,1387,1215,2629,2252, 490,7685,7686,4173,1759,2387,2343,7687,  # 5830
    -4448,3799,1907,3971,2630,1806,3210,4449,3453,3286,2760,2344, 874,7688,7689,3454,  # 5846
    -3670,1858,  91,2914,3671,3042,3800,4450,7690,3145,3972,2659,7691,3455,1202,1403,  # 5862
    -3801,2954,2529,1517,2503,4451,3456,2504,7692,4452,7693,2692,1885,1495,1731,3973,  # 5878
    -2365,4453,7694,2029,7695,7696,3974,2693,1216, 237,2581,4174,2319,3975,3802,4454,  # 5894
    -4455,2694,3560,3457, 445,4456,7697,7698,7699,7700,2761,  61,3976,3672,1822,3977,  # 5910
    -7701, 687,2045, 935, 925, 405,2660, 703,1096,1859,2725,4457,3978,1876,1367,2695,  # 5926
    -3352, 918,2105,1781,2476, 334,3287,1611,1093,4458, 564,3146,3458,3673,3353, 945,  # 5942
    -2631,2057,4459,7702,1925, 872,4175,7703,3459,2696,3089, 349,4176,3674,3979,4460,  # 5958
    -3803,4177,3675,2155,3980,4461,4462,4178,4463,2403,2046, 782,3981, 400, 251,4179,  # 5974
    -1624,7704,7705, 277,3676, 299,1265, 476,1191,3804,2121,4180,4181,1109, 205,7706,  # 5990
    -2582,1000,2156,3561,1860,7707,7708,7709,4464,7710,4465,2565, 107,2477,2157,3982,  # 6006
    -3460,3147,7711,1533, 541,1301, 158, 753,4182,2872,3562,7712,1696, 370,1088,4183,  # 6022
    -4466,3563, 579, 327, 440, 162,2240, 269,1937,1374,3461, 968,3043,  56,1396,3090,  # 6038
    -2106,3288,3354,7713,1926,2158,4467,2998,7714,3564,7715,7716,3677,4468,2478,7717,  # 6054
    -2791,7718,1650,4469,7719,2603,7720,7721,3983,2661,3355,1149,3356,3984,3805,3985,  # 6070
    -7722,1076,  49,7723, 951,3211,3289,3290, 450,2837, 920,7724,1811,2792,2366,4184,  # 6086
    -1908,1138,2367,3806,3462,7725,3212,4470,1909,1147,1518,2423,4471,3807,7726,4472,  # 6102
    -2388,2604, 260,1795,3213,7727,7728,3808,3291, 708,7729,3565,1704,7730,3566,1351,  # 6118
    -1618,3357,2999,1886, 944,4185,3358,4186,3044,3359,4187,7731,3678, 422, 413,1714,  # 6134
    -3292, 500,2058,2345,4188,2479,7732,1344,1910, 954,7733,1668,7734,7735,3986,2404,  # 6150
    -4189,3567,3809,4190,7736,2302,1318,2505,3091, 133,3092,2873,4473, 629,  31,2838,  # 6166
    -2697,3810,4474, 850, 949,4475,3987,2955,1732,2088,4191,1496,1852,7737,3988, 620,  # 6182
    -3214, 981,1242,3679,3360,1619,3680,1643,3293,2139,2452,1970,1719,3463,2168,7738,  # 6198
    -3215,7739,7740,3361,1828,7741,1277,4476,1565,2047,7742,1636,3568,3093,7743, 869,  # 6214
    -2839, 655,3811,3812,3094,3989,3000,3813,1310,3569,4477,7744,7745,7746,1733, 558,  # 6230
    -4478,3681, 335,1549,3045,1756,4192,3682,1945,3464,1829,1291,1192, 470,2726,2107,  # 6246
    -2793, 913,1054,3990,7747,1027,7748,3046,3991,4479, 982,2662,3362,3148,3465,3216,  # 6262
    -3217,1946,2794,7749, 571,4480,7750,1830,7751,3570,2583,1523,2424,7752,2089, 984,  # 6278
    -4481,3683,1959,7753,3684, 852, 923,2795,3466,3685, 969,1519, 999,2048,2320,1705,  # 6294
    -7754,3095, 615,1662, 151, 597,3992,2405,2321,1049, 275,4482,3686,4193, 568,3687,  # 6310
    -3571,2480,4194,3688,7755,2425,2270, 409,3218,7756,1566,2874,3467,1002, 769,2840,  # 6326
    - 194,2090,3149,3689,2222,3294,4195, 628,1505,7757,7758,1763,2177,3001,3993, 521,  # 6342
    -1161,2584,1787,2203,2406,4483,3994,1625,4196,4197, 412,  42,3096, 464,7759,2632,  # 6358
    -4484,3363,1760,1571,2875,3468,2530,1219,2204,3814,2633,2140,2368,4485,4486,3295,  # 6374
    -1651,3364,3572,7760,7761,3573,2481,3469,7762,3690,7763,7764,2271,2091, 460,7765,  # 6390
    -4487,7766,3002, 962, 588,3574, 289,3219,2634,1116,  52,7767,3047,1796,7768,7769,  # 6406
    -7770,1467,7771,1598,1143,3691,4198,1984,1734,1067,4488,1280,3365, 465,4489,1572,  # 6422
    - 510,7772,1927,2241,1812,1644,3575,7773,4490,3692,7774,7775,2663,1573,1534,7776,  # 6438
    -7777,4199, 536,1807,1761,3470,3815,3150,2635,7778,7779,7780,4491,3471,2915,1911,  # 6454
    -2796,7781,3296,1122, 377,3220,7782, 360,7783,7784,4200,1529, 551,7785,2059,3693,  # 6470
    -1769,2426,7786,2916,4201,3297,3097,2322,2108,2030,4492,1404, 136,1468,1479, 672,  # 6486
    -1171,3221,2303, 271,3151,7787,2762,7788,2049, 678,2727, 865,1947,4493,7789,2013,  # 6502
    -3995,2956,7790,2728,2223,1397,3048,3694,4494,4495,1735,2917,3366,3576,7791,3816,  # 6518
    - 509,2841,2453,2876,3817,7792,7793,3152,3153,4496,4202,2531,4497,2304,1166,1010,  # 6534
    - 552, 681,1887,7794,7795,2957,2958,3996,1287,1596,1861,3154, 358, 453, 736, 175,  # 6550
    - 478,1117, 905,1167,1097,7796,1853,1530,7797,1706,7798,2178,3472,2287,3695,3473,  # 6566
    -3577,4203,2092,4204,7799,3367,1193,2482,4205,1458,2190,2205,1862,1888,1421,3298,  # 6582
    -2918,3049,2179,3474, 595,2122,7800,3997,7801,7802,4206,1707,2636, 223,3696,1359,  # 6598
    - 751,3098, 183,3475,7803,2797,3003, 419,2369, 633, 704,3818,2389, 241,7804,7805,  # 6614
    -7806, 838,3004,3697,2272,2763,2454,3819,1938,2050,3998,1309,3099,2242,1181,7807,  # 6630
    -1136,2206,3820,2370,1446,4207,2305,4498,7808,7809,4208,1055,2605, 484,3698,7810,  # 6646
    -3999, 625,4209,2273,3368,1499,4210,4000,7811,4001,4211,3222,2274,2275,3476,7812,  # 6662
    -7813,2764, 808,2606,3699,3369,4002,4212,3100,2532, 526,3370,3821,4213, 955,7814,  # 6678
    -1620,4214,2637,2427,7815,1429,3700,1669,1831, 994, 928,7816,3578,1260,7817,7818,  # 6694
    -7819,1948,2288, 741,2919,1626,4215,2729,2455, 867,1184, 362,3371,1392,7820,7821,  # 6710
    -4003,4216,1770,1736,3223,2920,4499,4500,1928,2698,1459,1158,7822,3050,3372,2877,  # 6726
    -1292,1929,2506,2842,3701,1985,1187,2071,2014,2607,4217,7823,2566,2507,2169,3702,  # 6742
    -2483,3299,7824,3703,4501,7825,7826, 666,1003,3005,1022,3579,4218,7827,4502,1813,  # 6758
    -2253, 574,3822,1603, 295,1535, 705,3823,4219, 283, 858, 417,7828,7829,3224,4503,  # 6774
    -4504,3051,1220,1889,1046,2276,2456,4004,1393,1599, 689,2567, 388,4220,7830,2484,  # 6790
    - 802,7831,2798,3824,2060,1405,2254,7832,4505,3825,2109,1052,1345,3225,1585,7833,  # 6806
    - 809,7834,7835,7836, 575,2730,3477, 956,1552,1469,1144,2323,7837,2324,1560,2457,  # 6822
    -3580,3226,4005, 616,2207,3155,2180,2289,7838,1832,7839,3478,4506,7840,1319,3704,  # 6838
    -3705,1211,3581,1023,3227,1293,2799,7841,7842,7843,3826, 607,2306,3827, 762,2878,  # 6854
    -1439,4221,1360,7844,1485,3052,7845,4507,1038,4222,1450,2061,2638,4223,1379,4508,  # 6870
    -2585,7846,7847,4224,1352,1414,2325,2921,1172,7848,7849,3828,3829,7850,1797,1451,  # 6886
    -7851,7852,7853,7854,2922,4006,4007,2485,2346, 411,4008,4009,3582,3300,3101,4509,  # 6902
    -1561,2664,1452,4010,1375,7855,7856,  47,2959, 316,7857,1406,1591,2923,3156,7858,  # 6918
    -1025,2141,3102,3157, 354,2731, 884,2224,4225,2407, 508,3706, 726,3583, 996,2428,  # 6934
    -3584, 729,7859, 392,2191,1453,4011,4510,3707,7860,7861,2458,3585,2608,1675,2800,  # 6950
    - 919,2347,2960,2348,1270,4511,4012,  73,7862,7863, 647,7864,3228,2843,2255,1550,  # 6966
    -1346,3006,7865,1332, 883,3479,7866,7867,7868,7869,3301,2765,7870,1212, 831,1347,  # 6982
    -4226,4512,2326,3830,1863,3053, 720,3831,4513,4514,3832,7871,4227,7872,7873,4515,  # 6998
    -7874,7875,1798,4516,3708,2609,4517,3586,1645,2371,7876,7877,2924, 669,2208,2665,  # 7014
    -2429,7878,2879,7879,7880,1028,3229,7881,4228,2408,7882,2256,1353,7883,7884,4518,  # 7030
    -3158, 518,7885,4013,7886,4229,1960,7887,2142,4230,7888,7889,3007,2349,2350,3833,  # 7046
    - 516,1833,1454,4014,2699,4231,4519,2225,2610,1971,1129,3587,7890,2766,7891,2961,  # 7062
    -1422, 577,1470,3008,1524,3373,7892,7893, 432,4232,3054,3480,7894,2586,1455,2508,  # 7078
    -2226,1972,1175,7895,1020,2732,4015,3481,4520,7896,2733,7897,1743,1361,3055,3482,  # 7094
    -2639,4016,4233,4521,2290, 895, 924,4234,2170, 331,2243,3056, 166,1627,3057,1098,  # 7110
    -7898,1232,2880,2227,3374,4522, 657, 403,1196,2372, 542,3709,3375,1600,4235,3483,  # 7126
    -7899,4523,2767,3230, 576, 530,1362,7900,4524,2533,2666,3710,4017,7901, 842,3834,  # 7142
    -7902,2801,2031,1014,4018, 213,2700,3376, 665, 621,4236,7903,3711,2925,2430,7904,  # 7158
    -2431,3302,3588,3377,7905,4237,2534,4238,4525,3589,1682,4239,3484,1380,7906, 724,  # 7174
    -2277, 600,1670,7907,1337,1233,4526,3103,2244,7908,1621,4527,7909, 651,4240,7910,  # 7190
    -1612,4241,2611,7911,2844,7912,2734,2307,3058,7913, 716,2459,3059, 174,1255,2701,  # 7206
    -4019,3590, 548,1320,1398, 728,4020,1574,7914,1890,1197,3060,4021,7915,3061,3062,  # 7222
    -3712,3591,3713, 747,7916, 635,4242,4528,7917,7918,7919,4243,7920,7921,4529,7922,  # 7238
    -3378,4530,2432, 451,7923,3714,2535,2072,4244,2735,4245,4022,7924,1764,4531,7925,  # 7254
    -4246, 350,7926,2278,2390,2486,7927,4247,4023,2245,1434,4024, 488,4532, 458,4248,  # 7270
    -4025,3715, 771,1330,2391,3835,2568,3159,2159,2409,1553,2667,3160,4249,7928,2487,  # 7286
    -2881,2612,1720,2702,4250,3379,4533,7929,2536,4251,7930,3231,4252,2768,7931,2015,  # 7302
    -2736,7932,1155,1017,3716,3836,7933,3303,2308, 201,1864,4253,1430,7934,4026,7935,  # 7318
    -7936,7937,7938,7939,4254,1604,7940, 414,1865, 371,2587,4534,4535,3485,2016,3104,  # 7334
    -4536,1708, 960,4255, 887, 389,2171,1536,1663,1721,7941,2228,4027,2351,2926,1580,  # 7350
    -7942,7943,7944,1744,7945,2537,4537,4538,7946,4539,7947,2073,7948,7949,3592,3380,  # 7366
    -2882,4256,7950,4257,2640,3381,2802, 673,2703,2460, 709,3486,4028,3593,4258,7951,  # 7382
    -1148, 502, 634,7952,7953,1204,4540,3594,1575,4541,2613,3717,7954,3718,3105, 948,  # 7398
    -3232, 121,1745,3837,1110,7955,4259,3063,2509,3009,4029,3719,1151,1771,3838,1488,  # 7414
    -4030,1986,7956,2433,3487,7957,7958,2093,7959,4260,3839,1213,1407,2803, 531,2737,  # 7430
    -2538,3233,1011,1537,7960,2769,4261,3106,1061,7961,3720,3721,1866,2883,7962,2017,  # 7446
    - 120,4262,4263,2062,3595,3234,2309,3840,2668,3382,1954,4542,7963,7964,3488,1047,  # 7462
    -2704,1266,7965,1368,4543,2845, 649,3383,3841,2539,2738,1102,2846,2669,7966,7967,  # 7478
    -1999,7968,1111,3596,2962,7969,2488,3842,3597,2804,1854,3384,3722,7970,7971,3385,  # 7494
    -2410,2884,3304,3235,3598,7972,2569,7973,3599,2805,4031,1460, 856,7974,3600,7975,  # 7510
    -2885,2963,7976,2886,3843,7977,4264, 632,2510, 875,3844,1697,3845,2291,7978,7979,  # 7526
    -4544,3010,1239, 580,4545,4265,7980, 914, 936,2074,1190,4032,1039,2123,7981,7982,  # 7542
    -7983,3386,1473,7984,1354,4266,3846,7985,2172,3064,4033, 915,3305,4267,4268,3306,  # 7558
    -1605,1834,7986,2739, 398,3601,4269,3847,4034, 328,1912,2847,4035,3848,1331,4270,  # 7574
    -3011, 937,4271,7987,3602,4036,4037,3387,2160,4546,3388, 524, 742, 538,3065,1012,  # 7590
    -7988,7989,3849,2461,7990, 658,1103, 225,3850,7991,7992,4547,7993,4548,7994,3236,  # 7606
    -1243,7995,4038, 963,2246,4549,7996,2705,3603,3161,7997,7998,2588,2327,7999,4550,  # 7622
    -8000,8001,8002,3489,3307, 957,3389,2540,2032,1930,2927,2462, 870,2018,3604,1746,  # 7638
    -2770,2771,2434,2463,8003,3851,8004,3723,3107,3724,3490,3390,3725,8005,1179,3066,  # 7654
    -8006,3162,2373,4272,3726,2541,3163,3108,2740,4039,8007,3391,1556,2542,2292, 977,  # 7670
    -2887,2033,4040,1205,3392,8008,1765,3393,3164,2124,1271,1689, 714,4551,3491,8009,  # 7686
    -2328,3852, 533,4273,3605,2181, 617,8010,2464,3308,3492,2310,8011,8012,3165,8013,  # 7702
    -8014,3853,1987, 618, 427,2641,3493,3394,8015,8016,1244,1690,8017,2806,4274,4552,  # 7718
    -8018,3494,8019,8020,2279,1576, 473,3606,4275,3395, 972,8021,3607,8022,3067,8023,  # 7734
    -8024,4553,4554,8025,3727,4041,4042,8026, 153,4555, 356,8027,1891,2888,4276,2143,  # 7750
    - 408, 803,2352,8028,3854,8029,4277,1646,2570,2511,4556,4557,3855,8030,3856,4278,  # 7766
    -8031,2411,3396, 752,8032,8033,1961,2964,8034, 746,3012,2465,8035,4279,3728, 698,  # 7782
    -4558,1892,4280,3608,2543,4559,3609,3857,8036,3166,3397,8037,1823,1302,4043,2706,  # 7798
    -3858,1973,4281,8038,4282,3167, 823,1303,1288,1236,2848,3495,4044,3398, 774,3859,  # 7814
    -8039,1581,4560,1304,2849,3860,4561,8040,2435,2161,1083,3237,4283,4045,4284, 344,  # 7830
    -1173, 288,2311, 454,1683,8041,8042,1461,4562,4046,2589,8043,8044,4563, 985, 894,  # 7846
    -8045,3399,3168,8046,1913,2928,3729,1988,8047,2110,1974,8048,4047,8049,2571,1194,  # 7862
    - 425,8050,4564,3169,1245,3730,4285,8051,8052,2850,8053, 636,4565,1855,3861, 760,  # 7878
    -1799,8054,4286,2209,1508,4566,4048,1893,1684,2293,8055,8056,8057,4287,4288,2210,  # 7894
    - 479,8058,8059, 832,8060,4049,2489,8061,2965,2490,3731, 990,3109, 627,1814,2642,  # 7910
    -4289,1582,4290,2125,2111,3496,4567,8062, 799,4291,3170,8063,4568,2112,1737,3013,  # 7926
    -1018, 543, 754,4292,3309,1676,4569,4570,4050,8064,1489,8065,3497,8066,2614,2889,  # 7942
    -4051,8067,8068,2966,8069,8070,8071,8072,3171,4571,4572,2182,1722,8073,3238,3239,  # 7958
    -1842,3610,1715, 481, 365,1975,1856,8074,8075,1962,2491,4573,8076,2126,3611,3240,  # 7974
    - 433,1894,2063,2075,8077, 602,2741,8078,8079,8080,8081,8082,3014,1628,3400,8083,  # 7990
    -3172,4574,4052,2890,4575,2512,8084,2544,2772,8085,8086,8087,3310,4576,2891,8088,  # 8006
    -4577,8089,2851,4578,4579,1221,2967,4053,2513,8090,8091,8092,1867,1989,8093,8094,  # 8022
    -8095,1895,8096,8097,4580,1896,4054, 318,8098,2094,4055,4293,8099,8100, 485,8101,  # 8038
    - 938,3862, 553,2670, 116,8102,3863,3612,8103,3498,2671,2773,3401,3311,2807,8104,  # 8054
    -3613,2929,4056,1747,2930,2968,8105,8106, 207,8107,8108,2672,4581,2514,8109,3015,  # 8070
    - 890,3614,3864,8110,1877,3732,3402,8111,2183,2353,3403,1652,8112,8113,8114, 941,  # 8086
    -2294, 208,3499,4057,2019, 330,4294,3865,2892,2492,3733,4295,8115,8116,8117,8118,  # 8102
    -)
    -
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euctwprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euctwprober.py
    deleted file mode 100644
    index 35669cc..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/euctwprober.py
    +++ /dev/null
    @@ -1,46 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is mozilla.org code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .mbcharsetprober import MultiByteCharSetProber
    -from .codingstatemachine import CodingStateMachine
    -from .chardistribution import EUCTWDistributionAnalysis
    -from .mbcssm import EUCTW_SM_MODEL
    -
    -class EUCTWProber(MultiByteCharSetProber):
    -    def __init__(self):
    -        super(EUCTWProber, self).__init__()
    -        self.coding_sm = CodingStateMachine(EUCTW_SM_MODEL)
    -        self.distribution_analyzer = EUCTWDistributionAnalysis()
    -        self.reset()
    -
    -    @property
    -    def charset_name(self):
    -        return "EUC-TW"
    -
    -    @property
    -    def language(self):
    -        return "Taiwan"
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/gb2312freq.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/gb2312freq.py
    deleted file mode 100644
    index 697837b..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/gb2312freq.py
    +++ /dev/null
    @@ -1,283 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# GB2312 most frequently used character table
    -#
    -# Char to FreqOrder table , from hz6763
    -
    -# 512  --> 0.79  -- 0.79
    -# 1024 --> 0.92  -- 0.13
    -# 2048 --> 0.98  -- 0.06
    -# 6768 --> 1.00  -- 0.02
    -#
    -# Ideal Distribution Ratio = 0.79135/(1-0.79135) = 3.79
    -# Random Distribution Ration = 512 / (3755 - 512) = 0.157
    -#
    -# Typical Distribution Ratio about 25% of Ideal one, still much higher that RDR
    -
    -GB2312_TYPICAL_DISTRIBUTION_RATIO = 0.9
    -
    -GB2312_TABLE_SIZE = 3760
    -
    -GB2312_CHAR_TO_FREQ_ORDER = (
    -1671, 749,1443,2364,3924,3807,2330,3921,1704,3463,2691,1511,1515, 572,3191,2205,
    -2361, 224,2558, 479,1711, 963,3162, 440,4060,1905,2966,2947,3580,2647,3961,3842,
    -2204, 869,4207, 970,2678,5626,2944,2956,1479,4048, 514,3595, 588,1346,2820,3409,
    - 249,4088,1746,1873,2047,1774, 581,1813, 358,1174,3590,1014,1561,4844,2245, 670,
    -1636,3112, 889,1286, 953, 556,2327,3060,1290,3141, 613, 185,3477,1367, 850,3820,
    -1715,2428,2642,2303,2732,3041,2562,2648,3566,3946,1349, 388,3098,2091,1360,3585,
    - 152,1687,1539, 738,1559,  59,1232,2925,2267,1388,1249,1741,1679,2960, 151,1566,
    -1125,1352,4271, 924,4296, 385,3166,4459, 310,1245,2850,  70,3285,2729,3534,3575,
    -2398,3298,3466,1960,2265, 217,3647, 864,1909,2084,4401,2773,1010,3269,5152, 853,
    -3051,3121,1244,4251,1895, 364,1499,1540,2313,1180,3655,2268, 562, 715,2417,3061,
    - 544, 336,3768,2380,1752,4075, 950, 280,2425,4382, 183,2759,3272, 333,4297,2155,
    -1688,2356,1444,1039,4540, 736,1177,3349,2443,2368,2144,2225, 565, 196,1482,3406,
    - 927,1335,4147, 692, 878,1311,1653,3911,3622,1378,4200,1840,2969,3149,2126,1816,
    -2534,1546,2393,2760, 737,2494,  13, 447, 245,2747,  38,2765,2129,2589,1079, 606,
    - 360, 471,3755,2890, 404, 848, 699,1785,1236, 370,2221,1023,3746,2074,2026,2023,
    -2388,1581,2119, 812,1141,3091,2536,1519, 804,2053, 406,1596,1090, 784, 548,4414,
    -1806,2264,2936,1100, 343,4114,5096, 622,3358, 743,3668,1510,1626,5020,3567,2513,
    -3195,4115,5627,2489,2991,  24,2065,2697,1087,2719,  48,1634, 315,  68, 985,2052,
    - 198,2239,1347,1107,1439, 597,2366,2172, 871,3307, 919,2487,2790,1867, 236,2570,
    -1413,3794, 906,3365,3381,1701,1982,1818,1524,2924,1205, 616,2586,2072,2004, 575,
    - 253,3099,  32,1365,1182, 197,1714,2454,1201, 554,3388,3224,2748, 756,2587, 250,
    -2567,1507,1517,3529,1922,2761,2337,3416,1961,1677,2452,2238,3153, 615, 911,1506,
    -1474,2495,1265,1906,2749,3756,3280,2161, 898,2714,1759,3450,2243,2444, 563,  26,
    -3286,2266,3769,3344,2707,3677, 611,1402, 531,1028,2871,4548,1375, 261,2948, 835,
    -1190,4134, 353, 840,2684,1900,3082,1435,2109,1207,1674, 329,1872,2781,4055,2686,
    -2104, 608,3318,2423,2957,2768,1108,3739,3512,3271,3985,2203,1771,3520,1418,2054,
    -1681,1153, 225,1627,2929, 162,2050,2511,3687,1954, 124,1859,2431,1684,3032,2894,
    - 585,4805,3969,2869,2704,2088,2032,2095,3656,2635,4362,2209, 256, 518,2042,2105,
    -3777,3657, 643,2298,1148,1779, 190, 989,3544, 414,  11,2135,2063,2979,1471, 403,
    -3678, 126, 770,1563, 671,2499,3216,2877, 600,1179, 307,2805,4937,1268,1297,2694,
    - 252,4032,1448,1494,1331,1394, 127,2256, 222,1647,1035,1481,3056,1915,1048, 873,
    -3651, 210,  33,1608,2516, 200,1520, 415, 102,   0,3389,1287, 817,  91,3299,2940,
    - 836,1814, 549,2197,1396,1669,2987,3582,2297,2848,4528,1070, 687,  20,1819, 121,
    -1552,1364,1461,1968,2617,3540,2824,2083, 177, 948,4938,2291, 110,4549,2066, 648,
    -3359,1755,2110,2114,4642,4845,1693,3937,3308,1257,1869,2123, 208,1804,3159,2992,
    -2531,2549,3361,2418,1350,2347,2800,2568,1291,2036,2680,  72, 842,1990, 212,1233,
    -1154,1586,  75,2027,3410,4900,1823,1337,2710,2676, 728,2810,1522,3026,4995, 157,
    - 755,1050,4022, 710, 785,1936,2194,2085,1406,2777,2400, 150,1250,4049,1206, 807,
    -1910, 534, 529,3309,1721,1660, 274,  39,2827, 661,2670,1578, 925,3248,3815,1094,
    -4278,4901,4252,  41,1150,3747,2572,2227,4501,3658,4902,3813,3357,3617,2884,2258,
    - 887, 538,4187,3199,1294,2439,3042,2329,2343,2497,1255, 107, 543,1527, 521,3478,
    -3568, 194,5062,  15, 961,3870,1241,1192,2664,  66,5215,3260,2111,1295,1127,2152,
    -3805,4135, 901,1164,1976, 398,1278, 530,1460, 748, 904,1054,1966,1426,  53,2909,
    - 509, 523,2279,1534, 536,1019, 239,1685, 460,2353, 673,1065,2401,3600,4298,2272,
    -1272,2363, 284,1753,3679,4064,1695,  81, 815,2677,2757,2731,1386, 859, 500,4221,
    -2190,2566, 757,1006,2519,2068,1166,1455, 337,2654,3203,1863,1682,1914,3025,1252,
    -1409,1366, 847, 714,2834,2038,3209, 964,2970,1901, 885,2553,1078,1756,3049, 301,
    -1572,3326, 688,2130,1996,2429,1805,1648,2930,3421,2750,3652,3088, 262,1158,1254,
    - 389,1641,1812, 526,1719, 923,2073,1073,1902, 468, 489,4625,1140, 857,2375,3070,
    -3319,2863, 380, 116,1328,2693,1161,2244, 273,1212,1884,2769,3011,1775,1142, 461,
    -3066,1200,2147,2212, 790, 702,2695,4222,1601,1058, 434,2338,5153,3640,  67,2360,
    -4099,2502, 618,3472,1329, 416,1132, 830,2782,1807,2653,3211,3510,1662, 192,2124,
    - 296,3979,1739,1611,3684,  23, 118, 324, 446,1239,1225, 293,2520,3814,3795,2535,
    -3116,  17,1074, 467,2692,2201, 387,2922,  45,1326,3055,1645,3659,2817, 958, 243,
    -1903,2320,1339,2825,1784,3289, 356, 576, 865,2315,2381,3377,3916,1088,3122,1713,
    -1655, 935, 628,4689,1034,1327, 441, 800, 720, 894,1979,2183,1528,5289,2702,1071,
    -4046,3572,2399,1571,3281,  79, 761,1103, 327, 134, 758,1899,1371,1615, 879, 442,
    - 215,2605,2579, 173,2048,2485,1057,2975,3317,1097,2253,3801,4263,1403,1650,2946,
    - 814,4968,3487,1548,2644,1567,1285,   2, 295,2636,  97, 946,3576, 832, 141,4257,
    -3273, 760,3821,3521,3156,2607, 949,1024,1733,1516,1803,1920,2125,2283,2665,3180,
    -1501,2064,3560,2171,1592, 803,3518,1416, 732,3897,4258,1363,1362,2458, 119,1427,
    - 602,1525,2608,1605,1639,3175, 694,3064,  10, 465,  76,2000,4846,4208, 444,3781,
    -1619,3353,2206,1273,3796, 740,2483, 320,1723,2377,3660,2619,1359,1137,1762,1724,
    -2345,2842,1850,1862, 912, 821,1866, 612,2625,1735,2573,3369,1093, 844,  89, 937,
    - 930,1424,3564,2413,2972,1004,3046,3019,2011, 711,3171,1452,4178, 428, 801,1943,
    - 432, 445,2811, 206,4136,1472, 730, 349,  73, 397,2802,2547, 998,1637,1167, 789,
    - 396,3217, 154,1218, 716,1120,1780,2819,4826,1931,3334,3762,2139,1215,2627, 552,
    -3664,3628,3232,1405,2383,3111,1356,2652,3577,3320,3101,1703, 640,1045,1370,1246,
    -4996, 371,1575,2436,1621,2210, 984,4033,1734,2638,  16,4529, 663,2755,3255,1451,
    -3917,2257,1253,1955,2234,1263,2951, 214,1229, 617, 485, 359,1831,1969, 473,2310,
    - 750,2058, 165,  80,2864,2419, 361,4344,2416,2479,1134, 796,3726,1266,2943, 860,
    -2715, 938, 390,2734,1313,1384, 248, 202, 877,1064,2854, 522,3907, 279,1602, 297,
    -2357, 395,3740, 137,2075, 944,4089,2584,1267,3802,  62,1533,2285, 178, 176, 780,
    -2440, 201,3707, 590, 478,1560,4354,2117,1075,  30,  74,4643,4004,1635,1441,2745,
    - 776,2596, 238,1077,1692,1912,2844, 605, 499,1742,3947, 241,3053, 980,1749, 936,
    -2640,4511,2582, 515,1543,2162,5322,2892,2993, 890,2148,1924, 665,1827,3581,1032,
    - 968,3163, 339,1044,1896, 270, 583,1791,1720,4367,1194,3488,3669,  43,2523,1657,
    - 163,2167, 290,1209,1622,3378, 550, 634,2508,2510, 695,2634,2384,2512,1476,1414,
    - 220,1469,2341,2138,2852,3183,2900,4939,2865,3502,1211,3680, 854,3227,1299,2976,
    -3172, 186,2998,1459, 443,1067,3251,1495, 321,1932,3054, 909, 753,1410,1828, 436,
    -2441,1119,1587,3164,2186,1258, 227, 231,1425,1890,3200,3942, 247, 959, 725,5254,
    -2741, 577,2158,2079, 929, 120, 174, 838,2813, 591,1115, 417,2024,  40,3240,1536,
    -1037, 291,4151,2354, 632,1298,2406,2500,3535,1825,1846,3451, 205,1171, 345,4238,
    -  18,1163, 811, 685,2208,1217, 425,1312,1508,1175,4308,2552,1033, 587,1381,3059,
    -2984,3482, 340,1316,4023,3972, 792,3176, 519, 777,4690, 918, 933,4130,2981,3741,
    -  90,3360,2911,2200,5184,4550, 609,3079,2030, 272,3379,2736, 363,3881,1130,1447,
    - 286, 779, 357,1169,3350,3137,1630,1220,2687,2391, 747,1277,3688,2618,2682,2601,
    -1156,3196,5290,4034,3102,1689,3596,3128, 874, 219,2783, 798, 508,1843,2461, 269,
    -1658,1776,1392,1913,2983,3287,2866,2159,2372, 829,4076,  46,4253,2873,1889,1894,
    - 915,1834,1631,2181,2318, 298, 664,2818,3555,2735, 954,3228,3117, 527,3511,2173,
    - 681,2712,3033,2247,2346,3467,1652, 155,2164,3382, 113,1994, 450, 899, 494, 994,
    -1237,2958,1875,2336,1926,3727, 545,1577,1550, 633,3473, 204,1305,3072,2410,1956,
    -2471, 707,2134, 841,2195,2196,2663,3843,1026,4940, 990,3252,4997, 368,1092, 437,
    -3212,3258,1933,1829, 675,2977,2893, 412, 943,3723,4644,3294,3283,2230,2373,5154,
    -2389,2241,2661,2323,1404,2524, 593, 787, 677,3008,1275,2059, 438,2709,2609,2240,
    -2269,2246,1446,  36,1568,1373,3892,1574,2301,1456,3962, 693,2276,5216,2035,1143,
    -2720,1919,1797,1811,2763,4137,2597,1830,1699,1488,1198,2090, 424,1694, 312,3634,
    -3390,4179,3335,2252,1214, 561,1059,3243,2295,2561, 975,5155,2321,2751,3772, 472,
    -1537,3282,3398,1047,2077,2348,2878,1323,3340,3076, 690,2906,  51, 369, 170,3541,
    -1060,2187,2688,3670,2541,1083,1683, 928,3918, 459, 109,4427, 599,3744,4286, 143,
    -2101,2730,2490,  82,1588,3036,2121, 281,1860, 477,4035,1238,2812,3020,2716,3312,
    -1530,2188,2055,1317, 843, 636,1808,1173,3495, 649, 181,1002, 147,3641,1159,2414,
    -3750,2289,2795, 813,3123,2610,1136,4368,   5,3391,4541,2174, 420, 429,1728, 754,
    -1228,2115,2219, 347,2223,2733, 735,1518,3003,2355,3134,1764,3948,3329,1888,2424,
    -1001,1234,1972,3321,3363,1672,1021,1450,1584, 226, 765, 655,2526,3404,3244,2302,
    -3665, 731, 594,2184, 319,1576, 621, 658,2656,4299,2099,3864,1279,2071,2598,2739,
    - 795,3086,3699,3908,1707,2352,2402,1382,3136,2475,1465,4847,3496,3865,1085,3004,
    -2591,1084, 213,2287,1963,3565,2250, 822, 793,4574,3187,1772,1789,3050, 595,1484,
    -1959,2770,1080,2650, 456, 422,2996, 940,3322,4328,4345,3092,2742, 965,2784, 739,
    -4124, 952,1358,2498,2949,2565, 332,2698,2378, 660,2260,2473,4194,3856,2919, 535,
    -1260,2651,1208,1428,1300,1949,1303,2942, 433,2455,2450,1251,1946, 614,1269, 641,
    -1306,1810,2737,3078,2912, 564,2365,1419,1415,1497,4460,2367,2185,1379,3005,1307,
    -3218,2175,1897,3063, 682,1157,4040,4005,1712,1160,1941,1399, 394, 402,2952,1573,
    -1151,2986,2404, 862, 299,2033,1489,3006, 346, 171,2886,3401,1726,2932, 168,2533,
    -  47,2507,1030,3735,1145,3370,1395,1318,1579,3609,4560,2857,4116,1457,2529,1965,
    - 504,1036,2690,2988,2405, 745,5871, 849,2397,2056,3081, 863,2359,3857,2096,  99,
    -1397,1769,2300,4428,1643,3455,1978,1757,3718,1440,  35,4879,3742,1296,4228,2280,
    - 160,5063,1599,2013, 166, 520,3479,1646,3345,3012, 490,1937,1545,1264,2182,2505,
    -1096,1188,1369,1436,2421,1667,2792,2460,1270,2122, 727,3167,2143, 806,1706,1012,
    -1800,3037, 960,2218,1882, 805, 139,2456,1139,1521, 851,1052,3093,3089, 342,2039,
    - 744,5097,1468,1502,1585,2087, 223, 939, 326,2140,2577, 892,2481,1623,4077, 982,
    -3708, 135,2131,  87,2503,3114,2326,1106, 876,1616, 547,2997,2831,2093,3441,4530,
    -4314,   9,3256,4229,4148, 659,1462,1986,1710,2046,2913,2231,4090,4880,5255,3392,
    -3274,1368,3689,4645,1477, 705,3384,3635,1068,1529,2941,1458,3782,1509, 100,1656,
    -2548, 718,2339, 408,1590,2780,3548,1838,4117,3719,1345,3530, 717,3442,2778,3220,
    -2898,1892,4590,3614,3371,2043,1998,1224,3483, 891, 635, 584,2559,3355, 733,1766,
    -1729,1172,3789,1891,2307, 781,2982,2271,1957,1580,5773,2633,2005,4195,3097,1535,
    -3213,1189,1934,5693,3262, 586,3118,1324,1598, 517,1564,2217,1868,1893,4445,3728,
    -2703,3139,1526,1787,1992,3882,2875,1549,1199,1056,2224,1904,2711,5098,4287, 338,
    -1993,3129,3489,2689,1809,2815,1997, 957,1855,3898,2550,3275,3057,1105,1319, 627,
    -1505,1911,1883,3526, 698,3629,3456,1833,1431, 746,  77,1261,2017,2296,1977,1885,
    - 125,1334,1600, 525,1798,1109,2222,1470,1945, 559,2236,1186,3443,2476,1929,1411,
    -2411,3135,1777,3372,2621,1841,1613,3229, 668,1430,1839,2643,2916, 195,1989,2671,
    -2358,1387, 629,3205,2293,5256,4439, 123,1310, 888,1879,4300,3021,3605,1003,1162,
    -3192,2910,2010, 140,2395,2859,  55,1082,2012,2901, 662, 419,2081,1438, 680,2774,
    -4654,3912,1620,1731,1625,5035,4065,2328, 512,1344, 802,5443,2163,2311,2537, 524,
    -3399,  98,1155,2103,1918,2606,3925,2816,1393,2465,1504,3773,2177,3963,1478,4346,
    - 180,1113,4655,3461,2028,1698, 833,2696,1235,1322,1594,4408,3623,3013,3225,2040,
    -3022, 541,2881, 607,3632,2029,1665,1219, 639,1385,1686,1099,2803,3231,1938,3188,
    -2858, 427, 676,2772,1168,2025, 454,3253,2486,3556, 230,1950, 580, 791,1991,1280,
    -1086,1974,2034, 630, 257,3338,2788,4903,1017,  86,4790, 966,2789,1995,1696,1131,
    - 259,3095,4188,1308, 179,1463,5257, 289,4107,1248,  42,3413,1725,2288, 896,1947,
    - 774,4474,4254, 604,3430,4264, 392,2514,2588, 452, 237,1408,3018, 988,4531,1970,
    -3034,3310, 540,2370,1562,1288,2990, 502,4765,1147,   4,1853,2708, 207, 294,2814,
    -4078,2902,2509, 684,  34,3105,3532,2551, 644, 709,2801,2344, 573,1727,3573,3557,
    -2021,1081,3100,4315,2100,3681, 199,2263,1837,2385, 146,3484,1195,2776,3949, 997,
    -1939,3973,1008,1091,1202,1962,1847,1149,4209,5444,1076, 493, 117,5400,2521, 972,
    -1490,2934,1796,4542,2374,1512,2933,2657, 413,2888,1135,2762,2314,2156,1355,2369,
    - 766,2007,2527,2170,3124,2491,2593,2632,4757,2437, 234,3125,3591,1898,1750,1376,
    -1942,3468,3138, 570,2127,2145,3276,4131, 962, 132,1445,4196,  19, 941,3624,3480,
    -3366,1973,1374,4461,3431,2629, 283,2415,2275, 808,2887,3620,2112,2563,1353,3610,
    - 955,1089,3103,1053,  96,  88,4097, 823,3808,1583, 399, 292,4091,3313, 421,1128,
    - 642,4006, 903,2539,1877,2082, 596,  29,4066,1790, 722,2157, 130, 995,1569, 769,
    -1485, 464, 513,2213, 288,1923,1101,2453,4316, 133, 486,2445,  50, 625, 487,2207,
    -  57, 423, 481,2962, 159,3729,1558, 491, 303, 482, 501, 240,2837, 112,3648,2392,
    -1783, 362,   8,3433,3422, 610,2793,3277,1390,1284,1654,  21,3823, 734, 367, 623,
    - 193, 287, 374,1009,1483, 816, 476, 313,2255,2340,1262,2150,2899,1146,2581, 782,
    -2116,1659,2018,1880, 255,3586,3314,1110,2867,2137,2564, 986,2767,5185,2006, 650,
    - 158, 926, 762, 881,3157,2717,2362,3587, 306,3690,3245,1542,3077,2427,1691,2478,
    -2118,2985,3490,2438, 539,2305, 983, 129,1754, 355,4201,2386, 827,2923, 104,1773,
    -2838,2771, 411,2905,3919, 376, 767, 122,1114, 828,2422,1817,3506, 266,3460,1007,
    -1609,4998, 945,2612,4429,2274, 726,1247,1964,2914,2199,2070,4002,4108, 657,3323,
    -1422, 579, 455,2764,4737,1222,2895,1670, 824,1223,1487,2525, 558, 861,3080, 598,
    -2659,2515,1967, 752,2583,2376,2214,4180, 977, 704,2464,4999,2622,4109,1210,2961,
    - 819,1541, 142,2284,  44, 418, 457,1126,3730,4347,4626,1644,1876,3671,1864, 302,
    -1063,5694, 624, 723,1984,3745,1314,1676,2488,1610,1449,3558,3569,2166,2098, 409,
    -1011,2325,3704,2306, 818,1732,1383,1824,1844,3757, 999,2705,3497,1216,1423,2683,
    -2426,2954,2501,2726,2229,1475,2554,5064,1971,1794,1666,2014,1343, 783, 724, 191,
    -2434,1354,2220,5065,1763,2752,2472,4152, 131, 175,2885,3434,  92,1466,4920,2616,
    -3871,3872,3866, 128,1551,1632, 669,1854,3682,4691,4125,1230, 188,2973,3290,1302,
    -1213, 560,3266, 917, 763,3909,3249,1760, 868,1958, 764,1782,2097, 145,2277,3774,
    -4462,  64,1491,3062, 971,2132,3606,2442, 221,1226,1617, 218, 323,1185,3207,3147,
    - 571, 619,1473,1005,1744,2281, 449,1887,2396,3685, 275, 375,3816,1743,3844,3731,
    - 845,1983,2350,4210,1377, 773, 967,3499,3052,3743,2725,4007,1697,1022,3943,1464,
    -3264,2855,2722,1952,1029,2839,2467,  84,4383,2215, 820,1391,2015,2448,3672, 377,
    -1948,2168, 797,2545,3536,2578,2645,  94,2874,1678, 405,1259,3071, 771, 546,1315,
    - 470,1243,3083, 895,2468, 981, 969,2037, 846,4181, 653,1276,2928,  14,2594, 557,
    -3007,2474, 156, 902,1338,1740,2574, 537,2518, 973,2282,2216,2433,1928, 138,2903,
    -1293,2631,1612, 646,3457, 839,2935, 111, 496,2191,2847, 589,3186, 149,3994,2060,
    -4031,2641,4067,3145,1870,  37,3597,2136,1025,2051,3009,3383,3549,1121,1016,3261,
    -1301, 251,2446,2599,2153, 872,3246, 637, 334,3705, 831, 884, 921,3065,3140,4092,
    -2198,1944, 246,2964, 108,2045,1152,1921,2308,1031, 203,3173,4170,1907,3890, 810,
    -1401,2003,1690, 506, 647,1242,2828,1761,1649,3208,2249,1589,3709,2931,5156,1708,
    - 498, 666,2613, 834,3817,1231, 184,2851,1124, 883,3197,2261,3710,1765,1553,2658,
    -1178,2639,2351,  93,1193, 942,2538,2141,4402, 235,1821, 870,1591,2192,1709,1871,
    -3341,1618,4126,2595,2334, 603, 651,  69, 701, 268,2662,3411,2555,1380,1606, 503,
    - 448, 254,2371,2646, 574,1187,2309,1770, 322,2235,1292,1801, 305, 566,1133, 229,
    -2067,2057, 706, 167, 483,2002,2672,3295,1820,3561,3067, 316, 378,2746,3452,1112,
    - 136,1981, 507,1651,2917,1117, 285,4591, 182,2580,3522,1304, 335,3303,1835,2504,
    -1795,1792,2248, 674,1018,2106,2449,1857,2292,2845, 976,3047,1781,2600,2727,1389,
    -1281,  52,3152, 153, 265,3950, 672,3485,3951,4463, 430,1183, 365, 278,2169,  27,
    -1407,1336,2304, 209,1340,1730,2202,1852,2403,2883, 979,1737,1062, 631,2829,2542,
    -3876,2592, 825,2086,2226,3048,3625, 352,1417,3724, 542, 991, 431,1351,3938,1861,
    -2294, 826,1361,2927,3142,3503,1738, 463,2462,2723, 582,1916,1595,2808, 400,3845,
    -3891,2868,3621,2254,  58,2492,1123, 910,2160,2614,1372,1603,1196,1072,3385,1700,
    -3267,1980, 696, 480,2430, 920, 799,1570,2920,1951,2041,4047,2540,1321,4223,2469,
    -3562,2228,1271,2602, 401,2833,3351,2575,5157, 907,2312,1256, 410, 263,3507,1582,
    - 996, 678,1849,2316,1480, 908,3545,2237, 703,2322, 667,1826,2849,1531,2604,2999,
    -2407,3146,2151,2630,1786,3711, 469,3542, 497,3899,2409, 858, 837,4446,3393,1274,
    - 786, 620,1845,2001,3311, 484, 308,3367,1204,1815,3691,2332,1532,2557,1842,2020,
    -2724,1927,2333,4440, 567,  22,1673,2728,4475,1987,1858,1144,1597, 101,1832,3601,
    -  12, 974,3783,4391, 951,1412,   1,3720, 453,4608,4041, 528,1041,1027,3230,2628,
    -1129, 875,1051,3291,1203,2262,1069,2860,2799,2149,2615,3278, 144,1758,3040,  31,
    - 475,1680, 366,2685,3184, 311,1642,4008,2466,5036,1593,1493,2809, 216,1420,1668,
    - 233, 304,2128,3284, 232,1429,1768,1040,2008,3407,2740,2967,2543, 242,2133, 778,
    -1565,2022,2620, 505,2189,2756,1098,2273, 372,1614, 708, 553,2846,2094,2278, 169,
    -3626,2835,4161, 228,2674,3165, 809,1454,1309, 466,1705,1095, 900,3423, 880,2667,
    -3751,5258,2317,3109,2571,4317,2766,1503,1342, 866,4447,1118,  63,2076, 314,1881,
    -1348,1061, 172, 978,3515,1747, 532, 511,3970,   6, 601, 905,2699,3300,1751, 276,
    -1467,3725,2668,  65,4239,2544,2779,2556,1604, 578,2451,1802, 992,2331,2624,1320,
    -3446, 713,1513,1013, 103,2786,2447,1661, 886,1702, 916, 654,3574,2031,1556, 751,
    -2178,2821,2179,1498,1538,2176, 271, 914,2251,2080,1325, 638,1953,2937,3877,2432,
    -2754,  95,3265,1716, 260,1227,4083, 775, 106,1357,3254, 426,1607, 555,2480, 772,
    -1985, 244,2546, 474, 495,1046,2611,1851,2061,  71,2089,1675,2590, 742,3758,2843,
    -3222,1433, 267,2180,2576,2826,2233,2092,3913,2435, 956,1745,3075, 856,2113,1116,
    - 451,   3,1988,2896,1398, 993,2463,1878,2049,1341,2718,2721,2870,2108, 712,2904,
    -4363,2753,2324, 277,2872,2349,2649, 384, 987, 435, 691,3000, 922, 164,3939, 652,
    -1500,1184,4153,2482,3373,2165,4848,2335,3775,3508,3154,2806,2830,1554,2102,1664,
    -2530,1434,2408, 893,1547,2623,3447,2832,2242,2532,3169,2856,3223,2078,  49,3770,
    -3469, 462, 318, 656,2259,3250,3069, 679,1629,2758, 344,1138,1104,3120,1836,1283,
    -3115,2154,1437,4448, 934, 759,1999, 794,2862,1038, 533,2560,1722,2342, 855,2626,
    -1197,1663,4476,3127,  85,4240,2528,  25,1111,1181,3673, 407,3470,4561,2679,2713,
    - 768,1925,2841,3986,1544,1165, 932, 373,1240,2146,1930,2673, 721,4766, 354,4333,
    - 391,2963, 187,  61,3364,1442,1102, 330,1940,1767, 341,3809,4118, 393,2496,2062,
    -2211, 105, 331, 300, 439, 913,1332, 626, 379,3304,1557, 328, 689,3952, 309,1555,
    - 931, 317,2517,3027, 325, 569, 686,2107,3084,  60,1042,1333,2794, 264,3177,4014,
    -1628, 258,3712,   7,4464,1176,1043,1778, 683, 114,1975,  78,1492, 383,1886, 510,
    - 386, 645,5291,2891,2069,3305,4138,3867,2939,2603,2493,1935,1066,1848,3588,1015,
    -1282,1289,4609, 697,1453,3044,2666,3611,1856,2412,  54, 719,1330, 568,3778,2459,
    -1748, 788, 492, 551,1191,1000, 488,3394,3763, 282,1799, 348,2016,1523,3155,2390,
    -1049, 382,2019,1788,1170, 729,2968,3523, 897,3926,2785,2938,3292, 350,2319,3238,
    -1718,1717,2655,3453,3143,4465, 161,2889,2980,2009,1421,  56,1908,1640,2387,2232,
    -1917,1874,2477,4921, 148,  83,3438, 592,4245,2882,1822,1055, 741, 115,1496,1624,
    - 381,1638,4592,1020, 516,3214, 458, 947,4575,1432, 211,1514,2926,1865,2142, 189,
    - 852,1221,1400,1486, 882,2299,4036, 351,  28,1122, 700,6479,6480,6481,6482,6483,  #last 512
    -)
    -
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/gb2312prober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/gb2312prober.py
    deleted file mode 100644
    index 8446d2d..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/gb2312prober.py
    +++ /dev/null
    @@ -1,46 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is mozilla.org code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .mbcharsetprober import MultiByteCharSetProber
    -from .codingstatemachine import CodingStateMachine
    -from .chardistribution import GB2312DistributionAnalysis
    -from .mbcssm import GB2312_SM_MODEL
    -
    -class GB2312Prober(MultiByteCharSetProber):
    -    def __init__(self):
    -        super(GB2312Prober, self).__init__()
    -        self.coding_sm = CodingStateMachine(GB2312_SM_MODEL)
    -        self.distribution_analyzer = GB2312DistributionAnalysis()
    -        self.reset()
    -
    -    @property
    -    def charset_name(self):
    -        return "GB2312"
    -
    -    @property
    -    def language(self):
    -        return "Chinese"
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/hebrewprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/hebrewprober.py
    deleted file mode 100644
    index b0e1bf4..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/hebrewprober.py
    +++ /dev/null
    @@ -1,292 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Universal charset detector code.
    -#
    -# The Initial Developer of the Original Code is
    -#          Shy Shalom
    -# Portions created by the Initial Developer are Copyright (C) 2005
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .charsetprober import CharSetProber
    -from .enums import ProbingState
    -
    -# This prober doesn't actually recognize a language or a charset.
    -# It is a helper prober for the use of the Hebrew model probers
    -
    -### General ideas of the Hebrew charset recognition ###
    -#
    -# Four main charsets exist in Hebrew:
    -# "ISO-8859-8" - Visual Hebrew
    -# "windows-1255" - Logical Hebrew
    -# "ISO-8859-8-I" - Logical Hebrew
    -# "x-mac-hebrew" - ?? Logical Hebrew ??
    -#
    -# Both "ISO" charsets use a completely identical set of code points, whereas
    -# "windows-1255" and "x-mac-hebrew" are two different proper supersets of
    -# these code points. windows-1255 defines additional characters in the range
    -# 0x80-0x9F as some misc punctuation marks as well as some Hebrew-specific
    -# diacritics and additional 'Yiddish' ligature letters in the range 0xc0-0xd6.
    -# x-mac-hebrew defines similar additional code points but with a different
    -# mapping.
    -#
    -# As far as an average Hebrew text with no diacritics is concerned, all four
    -# charsets are identical with respect to code points. Meaning that for the
    -# main Hebrew alphabet, all four map the same values to all 27 Hebrew letters
    -# (including final letters).
    -#
    -# The dominant difference between these charsets is their directionality.
    -# "Visual" directionality means that the text is ordered as if the renderer is
    -# not aware of a BIDI rendering algorithm. The renderer sees the text and
    -# draws it from left to right. The text itself when ordered naturally is read
    -# backwards. A buffer of Visual Hebrew generally looks like so:
    -# "[last word of first line spelled backwards] [whole line ordered backwards
    -# and spelled backwards] [first word of first line spelled backwards]
    -# [end of line] [last word of second line] ... etc' "
    -# adding punctuation marks, numbers and English text to visual text is
    -# naturally also "visual" and from left to right.
    -#
    -# "Logical" directionality means the text is ordered "naturally" according to
    -# the order it is read. It is the responsibility of the renderer to display
    -# the text from right to left. A BIDI algorithm is used to place general
    -# punctuation marks, numbers and English text in the text.
    -#
    -# Texts in x-mac-hebrew are almost impossible to find on the Internet. From
    -# what little evidence I could find, it seems that its general directionality
    -# is Logical.
    -#
    -# To sum up all of the above, the Hebrew probing mechanism knows about two
    -# charsets:
    -# Visual Hebrew - "ISO-8859-8" - backwards text - Words and sentences are
    -#    backwards while line order is natural. For charset recognition purposes
    -#    the line order is unimportant (In fact, for this implementation, even
    -#    word order is unimportant).
    -# Logical Hebrew - "windows-1255" - normal, naturally ordered text.
    -#
    -# "ISO-8859-8-I" is a subset of windows-1255 and doesn't need to be
    -#    specifically identified.
    -# "x-mac-hebrew" is also identified as windows-1255. A text in x-mac-hebrew
    -#    that contain special punctuation marks or diacritics is displayed with
    -#    some unconverted characters showing as question marks. This problem might
    -#    be corrected using another model prober for x-mac-hebrew. Due to the fact
    -#    that x-mac-hebrew texts are so rare, writing another model prober isn't
    -#    worth the effort and performance hit.
    -#
    -#### The Prober ####
    -#
    -# The prober is divided between two SBCharSetProbers and a HebrewProber,
    -# all of which are managed, created, fed data, inquired and deleted by the
    -# SBCSGroupProber. The two SBCharSetProbers identify that the text is in
    -# fact some kind of Hebrew, Logical or Visual. The final decision about which
    -# one is it is made by the HebrewProber by combining final-letter scores
    -# with the scores of the two SBCharSetProbers to produce a final answer.
    -#
    -# The SBCSGroupProber is responsible for stripping the original text of HTML
    -# tags, English characters, numbers, low-ASCII punctuation characters, spaces
    -# and new lines. It reduces any sequence of such characters to a single space.
    -# The buffer fed to each prober in the SBCS group prober is pure text in
    -# high-ASCII.
    -# The two SBCharSetProbers (model probers) share the same language model:
    -# Win1255Model.
    -# The first SBCharSetProber uses the model normally as any other
    -# SBCharSetProber does, to recognize windows-1255, upon which this model was
    -# built. The second SBCharSetProber is told to make the pair-of-letter
    -# lookup in the language model backwards. This in practice exactly simulates
    -# a visual Hebrew model using the windows-1255 logical Hebrew model.
    -#
    -# The HebrewProber is not using any language model. All it does is look for
    -# final-letter evidence suggesting the text is either logical Hebrew or visual
    -# Hebrew. Disjointed from the model probers, the results of the HebrewProber
    -# alone are meaningless. HebrewProber always returns 0.00 as confidence
    -# since it never identifies a charset by itself. Instead, the pointer to the
    -# HebrewProber is passed to the model probers as a helper "Name Prober".
    -# When the Group prober receives a positive identification from any prober,
    -# it asks for the name of the charset identified. If the prober queried is a
    -# Hebrew model prober, the model prober forwards the call to the
    -# HebrewProber to make the final decision. In the HebrewProber, the
    -# decision is made according to the final-letters scores maintained and Both
    -# model probers scores. The answer is returned in the form of the name of the
    -# charset identified, either "windows-1255" or "ISO-8859-8".
    -
    -class HebrewProber(CharSetProber):
    -    # windows-1255 / ISO-8859-8 code points of interest
    -    FINAL_KAF = 0xea
    -    NORMAL_KAF = 0xeb
    -    FINAL_MEM = 0xed
    -    NORMAL_MEM = 0xee
    -    FINAL_NUN = 0xef
    -    NORMAL_NUN = 0xf0
    -    FINAL_PE = 0xf3
    -    NORMAL_PE = 0xf4
    -    FINAL_TSADI = 0xf5
    -    NORMAL_TSADI = 0xf6
    -
    -    # Minimum Visual vs Logical final letter score difference.
    -    # If the difference is below this, don't rely solely on the final letter score
    -    # distance.
    -    MIN_FINAL_CHAR_DISTANCE = 5
    -
    -    # Minimum Visual vs Logical model score difference.
    -    # If the difference is below this, don't rely at all on the model score
    -    # distance.
    -    MIN_MODEL_DISTANCE = 0.01
    -
    -    VISUAL_HEBREW_NAME = "ISO-8859-8"
    -    LOGICAL_HEBREW_NAME = "windows-1255"
    -
    -    def __init__(self):
    -        super(HebrewProber, self).__init__()
    -        self._final_char_logical_score = None
    -        self._final_char_visual_score = None
    -        self._prev = None
    -        self._before_prev = None
    -        self._logical_prober = None
    -        self._visual_prober = None
    -        self.reset()
    -
    -    def reset(self):
    -        self._final_char_logical_score = 0
    -        self._final_char_visual_score = 0
    -        # The two last characters seen in the previous buffer,
    -        # mPrev and mBeforePrev are initialized to space in order to simulate
    -        # a word delimiter at the beginning of the data
    -        self._prev = ' '
    -        self._before_prev = ' '
    -        # These probers are owned by the group prober.
    -
    -    def set_model_probers(self, logicalProber, visualProber):
    -        self._logical_prober = logicalProber
    -        self._visual_prober = visualProber
    -
    -    def is_final(self, c):
    -        return c in [self.FINAL_KAF, self.FINAL_MEM, self.FINAL_NUN,
    -                     self.FINAL_PE, self.FINAL_TSADI]
    -
    -    def is_non_final(self, c):
    -        # The normal Tsadi is not a good Non-Final letter due to words like
    -        # 'lechotet' (to chat) containing an apostrophe after the tsadi. This
    -        # apostrophe is converted to a space in FilterWithoutEnglishLetters
    -        # causing the Non-Final tsadi to appear at an end of a word even
    -        # though this is not the case in the original text.
    -        # The letters Pe and Kaf rarely display a related behavior of not being
    -        # a good Non-Final letter. Words like 'Pop', 'Winamp' and 'Mubarak'
    -        # for example legally end with a Non-Final Pe or Kaf. However, the
    -        # benefit of these letters as Non-Final letters outweighs the damage
    -        # since these words are quite rare.
    -        return c in [self.NORMAL_KAF, self.NORMAL_MEM,
    -                     self.NORMAL_NUN, self.NORMAL_PE]
    -
    -    def feed(self, byte_str):
    -        # Final letter analysis for logical-visual decision.
    -        # Look for evidence that the received buffer is either logical Hebrew
    -        # or visual Hebrew.
    -        # The following cases are checked:
    -        # 1) A word longer than 1 letter, ending with a final letter. This is
    -        #    an indication that the text is laid out "naturally" since the
    -        #    final letter really appears at the end. +1 for logical score.
    -        # 2) A word longer than 1 letter, ending with a Non-Final letter. In
    -        #    normal Hebrew, words ending with Kaf, Mem, Nun, Pe or Tsadi,
    -        #    should not end with the Non-Final form of that letter. Exceptions
    -        #    to this rule are mentioned above in isNonFinal(). This is an
    -        #    indication that the text is laid out backwards. +1 for visual
    -        #    score
    -        # 3) A word longer than 1 letter, starting with a final letter. Final
    -        #    letters should not appear at the beginning of a word. This is an
    -        #    indication that the text is laid out backwards. +1 for visual
    -        #    score.
    -        #
    -        # The visual score and logical score are accumulated throughout the
    -        # text and are finally checked against each other in GetCharSetName().
    -        # No checking for final letters in the middle of words is done since
    -        # that case is not an indication for either Logical or Visual text.
    -        #
    -        # We automatically filter out all 7-bit characters (replace them with
    -        # spaces) so the word boundary detection works properly. [MAP]
    -
    -        if self.state == ProbingState.NOT_ME:
    -            # Both model probers say it's not them. No reason to continue.
    -            return ProbingState.NOT_ME
    -
    -        byte_str = self.filter_high_byte_only(byte_str)
    -
    -        for cur in byte_str:
    -            if cur == ' ':
    -                # We stand on a space - a word just ended
    -                if self._before_prev != ' ':
    -                    # next-to-last char was not a space so self._prev is not a
    -                    # 1 letter word
    -                    if self.is_final(self._prev):
    -                        # case (1) [-2:not space][-1:final letter][cur:space]
    -                        self._final_char_logical_score += 1
    -                    elif self.is_non_final(self._prev):
    -                        # case (2) [-2:not space][-1:Non-Final letter][
    -                        #  cur:space]
    -                        self._final_char_visual_score += 1
    -            else:
    -                # Not standing on a space
    -                if ((self._before_prev == ' ') and
    -                        (self.is_final(self._prev)) and (cur != ' ')):
    -                    # case (3) [-2:space][-1:final letter][cur:not space]
    -                    self._final_char_visual_score += 1
    -            self._before_prev = self._prev
    -            self._prev = cur
    -
    -        # Forever detecting, till the end or until both model probers return
    -        # ProbingState.NOT_ME (handled above)
    -        return ProbingState.DETECTING
    -
    -    @property
    -    def charset_name(self):
    -        # Make the decision: is it Logical or Visual?
    -        # If the final letter score distance is dominant enough, rely on it.
    -        finalsub = self._final_char_logical_score - self._final_char_visual_score
    -        if finalsub >= self.MIN_FINAL_CHAR_DISTANCE:
    -            return self.LOGICAL_HEBREW_NAME
    -        if finalsub <= -self.MIN_FINAL_CHAR_DISTANCE:
    -            return self.VISUAL_HEBREW_NAME
    -
    -        # It's not dominant enough, try to rely on the model scores instead.
    -        modelsub = (self._logical_prober.get_confidence()
    -                    - self._visual_prober.get_confidence())
    -        if modelsub > self.MIN_MODEL_DISTANCE:
    -            return self.LOGICAL_HEBREW_NAME
    -        if modelsub < -self.MIN_MODEL_DISTANCE:
    -            return self.VISUAL_HEBREW_NAME
    -
    -        # Still no good, back to final letter distance, maybe it'll save the
    -        # day.
    -        if finalsub < 0.0:
    -            return self.VISUAL_HEBREW_NAME
    -
    -        # (finalsub > 0 - Logical) or (don't know what to do) default to
    -        # Logical.
    -        return self.LOGICAL_HEBREW_NAME
    -
    -    @property
    -    def language(self):
    -        return 'Hebrew'
    -
    -    @property
    -    def state(self):
    -        # Remain active as long as any of the model probers are active.
    -        if (self._logical_prober.state == ProbingState.NOT_ME) and \
    -           (self._visual_prober.state == ProbingState.NOT_ME):
    -            return ProbingState.NOT_ME
    -        return ProbingState.DETECTING
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/jisfreq.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/jisfreq.py
    deleted file mode 100644
    index 83fc082..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/jisfreq.py
    +++ /dev/null
    @@ -1,325 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# Sampling from about 20M text materials include literature and computer technology
    -#
    -# Japanese frequency table, applied to both S-JIS and EUC-JP
    -# They are sorted in order.
    -
    -# 128  --> 0.77094
    -# 256  --> 0.85710
    -# 512  --> 0.92635
    -# 1024 --> 0.97130
    -# 2048 --> 0.99431
    -#
    -# Ideal Distribution Ratio = 0.92635 / (1-0.92635) = 12.58
    -# Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191
    -#
    -# Typical Distribution Ratio, 25% of IDR
    -
    -JIS_TYPICAL_DISTRIBUTION_RATIO = 3.0
    -
    -# Char to FreqOrder table ,
    -JIS_TABLE_SIZE = 4368
    -
    -JIS_CHAR_TO_FREQ_ORDER = (
    -  40,   1,   6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, #   16
    -3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247,  18, 179,5071, 856,1661, #   32
    -1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, #   48
    -2042,1061,1062,  48,  49,  44,  45, 433, 434,1040,1041, 996, 787,2997,1255,4305, #   64
    -2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, #   80
    -5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, #   96
    -1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, #  112
    -5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, #  128
    -5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, #  144
    -5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, #  160
    -5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, #  176
    -5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, #  192
    -5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, #  208
    -1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, #  224
    -1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, #  240
    -1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, #  256
    -2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, #  272
    -3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161,  26,3377,   2,3929,  20, #  288
    -3691,  47,4100,  50,  17,  16,  35, 268,  27, 243,  42, 155,  24, 154,  29, 184, #  304
    -   4,  91,  14,  92,  53, 396,  33, 289,   9,  37,  64, 620,  21,  39, 321,   5, #  320
    -  12,  11,  52,  13,   3, 208, 138,   0,   7,  60, 526, 141, 151,1069, 181, 275, #  336
    -1591,  83, 132,1475, 126, 331, 829,  15,  69, 160,  59,  22, 157,  55,1079, 312, #  352
    - 109,  38,  23,  25,  10,  19,  79,5195,  61, 382,1124,   8,  30,5196,5197,5198, #  368
    -5199,5200,5201,5202,5203,5204,5205,5206,  89,  62,  74,  34,2416, 112, 139, 196, #  384
    - 271, 149,  84, 607, 131, 765,  46,  88, 153, 683,  76, 874, 101, 258,  57,  80, #  400
    -  32, 364, 121,1508, 169,1547,  68, 235, 145,2999,  41, 360,3027,  70,  63,  31, #  416
    -  43, 259, 262,1383,  99, 533, 194,  66,  93, 846, 217, 192,  56, 106,  58, 565, #  432
    - 280, 272, 311, 256, 146,  82, 308,  71, 100, 128, 214, 655, 110, 261, 104,1140, #  448
    -  54,  51,  36,  87,  67,3070, 185,2618,2936,2020,  28,1066,2390,2059,5207,5208, #  464
    -5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, #  480
    -5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, #  496
    -5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, #  512
    -4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, #  528
    -5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, #  544
    -5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, #  560
    -5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, #  576
    -5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, #  592
    -5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, #  608
    -5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, #  624
    -5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, #  640
    -5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, #  656
    -5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, #  672
    -3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, #  688
    -5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, #  704
    -5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, #  720
    -5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, #  736
    -5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, #  752
    -5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, #  768
    -5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, #  784
    -5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, #  800
    -5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, #  816
    -5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, #  832
    -5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, #  848
    -5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, #  864
    -5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, #  880
    -5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, #  896
    -5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, #  912
    -5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, #  928
    -5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, #  944
    -5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, #  960
    -5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, #  976
    -5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, #  992
    -5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, # 1008
    -5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, # 1024
    -5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, # 1040
    -5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, # 1056
    -5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, # 1072
    -5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, # 1088
    -5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, # 1104
    -5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, # 1120
    -5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, # 1136
    -5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, # 1152
    -5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, # 1168
    -5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, # 1184
    -5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, # 1200
    -5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, # 1216
    -5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, # 1232
    -5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, # 1248
    -5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, # 1264
    -5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, # 1280
    -5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, # 1296
    -6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, # 1312
    -6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, # 1328
    -6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, # 1344
    -6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, # 1360
    -6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, # 1376
    -6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, # 1392
    -6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, # 1408
    -6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, # 1424
    -4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, # 1440
    - 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, # 1456
    - 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, # 1472
    -1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619,  65,3302,2045, # 1488
    -1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, # 1504
    - 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, # 1520
    -3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, # 1536
    -3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, # 1552
    - 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, # 1568
    -3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, # 1584
    -3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, # 1600
    - 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, # 1616
    -2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, # 1632
    - 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, # 1648
    -3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, # 1664
    -1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, # 1680
    - 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, # 1696
    -1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, # 1712
    - 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, # 1728
    -2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, # 1744
    -2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, # 1760
    -2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, # 1776
    -2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, # 1792
    -1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, # 1808
    -1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, # 1824
    -1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, # 1840
    -1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, # 1856
    -2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, # 1872
    -1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, # 1888
    -2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, # 1904
    -1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, # 1920
    -1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, # 1936
    -1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, # 1952
    -1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, # 1968
    -1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, # 1984
    -1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, # 2000
    - 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, # 2016
    - 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, # 2032
    -1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, # 2048
    -2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, # 2064
    -2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, # 2080
    -2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, # 2096
    -3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, # 2112
    -3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, # 2128
    - 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, # 2144
    -3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, # 2160
    -1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876,  78,2287,1482,1277, # 2176
    - 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, # 2192
    -2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, # 2208
    -1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, # 2224
    - 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, # 2240
    -3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, # 2256
    -4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, # 2272
    -2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, # 2288
    -1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, # 2304
    -2601,1919,1078,  75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, # 2320
    -1075, 292,3818,1756,2602, 317,  98,3173,3605,3525,1844,2218,3819,2502, 814, 567, # 2336
    - 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, # 2352
    - 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, # 2368
    -1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, # 2384
    -2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, # 2400
    -2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, # 2416
    -2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, # 2432
    -3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, # 2448
    -1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, # 2464
    -2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, # 2480
    - 359,2291,1676,  73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, # 2496
    - 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, # 2512
    - 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, # 2528
    -1209,  96, 587,2166,1032, 260,1072,2153, 173,  94, 226,3244, 819,2006,4642,4114, # 2544
    -2203, 231,1744, 782,  97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, # 2560
    - 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, # 2576
    -1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, # 2592
    -1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, # 2608
    - 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, # 2624
    -1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, # 2640
    -1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, # 2656
    -1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, # 2672
    - 764,2861,1853, 688,2429,1920,1462,  77, 595, 415,2002,3034, 798,1192,4115,6144, # 2688
    -2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, # 2704
    - 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, # 2720
    -2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, # 2736
    -3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, # 2752
    -2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, # 2768
    -1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, # 2784
    -6147, 441, 762,1771,3447,3607,3608,1904, 840,3037,  86, 939,1385, 572,1370,2445, # 2800
    -1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, # 2816
    -2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, # 2832
    -1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, # 2848
    - 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, # 2864
    -  72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, # 2880
    -3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, # 2896
    -3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, # 2912
    -1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, # 2928
    -1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, # 2944
    -1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, # 2960
    -1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, # 2976
    - 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, # 2992
    - 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, # 3008
    -2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, # 3024
    - 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, # 3040
    -3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, # 3056
    -2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, # 3072
    - 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, # 3088
    -1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, # 3104
    -2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, # 3120
    - 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, # 3136
    -1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, # 3152
    - 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, # 3168
    -4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, # 3184
    -2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, # 3200
    -1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, # 3216
    - 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, # 3232
    -1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, # 3248
    -2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, # 3264
    - 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, # 3280
    -6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, # 3296
    -1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, # 3312
    -1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, # 3328
    -2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, # 3344
    -3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, # 3360
    - 914,2550,2587,  81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, # 3376
    -3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, # 3392
    -1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, # 3408
    - 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, # 3424
    -1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, # 3440
    - 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, # 3456
    -3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, # 3472
    - 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, # 3488
    -2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, # 3504
    - 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, # 3520
    -4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, # 3536
    -2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, # 3552
    -1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, # 3568
    -1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, # 3584
    -1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, # 3600
    - 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, # 3616
    -1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, # 3632
    -3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, # 3648
    -1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, # 3664
    -3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, # 3680
    - 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, # 3696
    - 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, # 3712
    - 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, # 3728
    -2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, # 3744
    -1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, # 3760
    - 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, # 3776
    -1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, # 3792
    - 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, # 3808
    -1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, # 3824
    - 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, # 3840
    - 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, # 3856
    - 480,2083,1774,3458, 923,2279,1350, 221,3086,  85,2233,2234,3835,1585,3010,2147, # 3872
    -1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, # 3888
    -1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, # 3904
    -2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, # 3920
    -4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, # 3936
    - 227,1351,1645,2453,2193,1421,2887, 812,2121, 634,  95,2435, 201,2312,4665,1646, # 3952
    -1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, # 3968
    - 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, # 3984
    -1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, # 4000
    -3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, # 4016
    -1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, # 4032
    -2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, # 4048
    -2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, # 4064
    -1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, # 4080
    -1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, # 4096
    -2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, # 4112
    - 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, # 4128
    -2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, # 4144
    -1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, # 4160
    -1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, # 4176
    -1279,2136,1697,2335, 204, 721,2097,3838,  90,6186,2085,2505, 191,3967, 124,2148, # 4192
    -1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, # 4208
    -3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, # 4224
    -2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, # 4240
    -2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, # 4256
    - 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, # 4272
    -3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, # 4288
    -3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, # 4304
    -1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, # 4320
    -2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, # 4336
    -1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, # 4352
    -2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, # 4368  #last 512
    -)
    -
    -
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/jpcntx.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/jpcntx.py
    deleted file mode 100644
    index 20044e4..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/jpcntx.py
    +++ /dev/null
    @@ -1,233 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -
    -# This is hiragana 2-char sequence table, the number in each cell represents its frequency category
    -jp2CharContext = (
    -(0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1),
    -(2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4),
    -(0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2),
    -(0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4),
    -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
    -(0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4),
    -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
    -(0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3),
    -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
    -(0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4),
    -(1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4),
    -(0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3),
    -(0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3),
    -(0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3),
    -(0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4),
    -(0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3),
    -(2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4),
    -(0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3),
    -(0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5),
    -(0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3),
    -(2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5),
    -(0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4),
    -(1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4),
    -(0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3),
    -(0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3),
    -(0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3),
    -(0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5),
    -(0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4),
    -(0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5),
    -(0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3),
    -(0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4),
    -(0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4),
    -(0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4),
    -(0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1),
    -(0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0),
    -(1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3),
    -(0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0),
    -(0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3),
    -(0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3),
    -(0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5),
    -(0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4),
    -(2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5),
    -(0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3),
    -(0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3),
    -(0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3),
    -(0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3),
    -(0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4),
    -(0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4),
    -(0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2),
    -(0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3),
    -(0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3),
    -(0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3),
    -(0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3),
    -(0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4),
    -(0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3),
    -(0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4),
    -(0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3),
    -(0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3),
    -(0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4),
    -(0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4),
    -(0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3),
    -(2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4),
    -(0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4),
    -(0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3),
    -(0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4),
    -(0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4),
    -(1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4),
    -(0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3),
    -(0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2),
    -(0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2),
    -(0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3),
    -(0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3),
    -(0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5),
    -(0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3),
    -(0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4),
    -(1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4),
    -(0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4),
    -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
    -(0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3),
    -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1),
    -(0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2),
    -(0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3),
    -(0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1),
    -)
    -
    -class JapaneseContextAnalysis(object):
    -    NUM_OF_CATEGORY = 6
    -    DONT_KNOW = -1
    -    ENOUGH_REL_THRESHOLD = 100
    -    MAX_REL_THRESHOLD = 1000
    -    MINIMUM_DATA_THRESHOLD = 4
    -
    -    def __init__(self):
    -        self._total_rel = None
    -        self._rel_sample = None
    -        self._need_to_skip_char_num = None
    -        self._last_char_order = None
    -        self._done = None
    -        self.reset()
    -
    -    def reset(self):
    -        self._total_rel = 0  # total sequence received
    -        # category counters, each integer counts sequence in its category
    -        self._rel_sample = [0] * self.NUM_OF_CATEGORY
    -        # if last byte in current buffer is not the last byte of a character,
    -        # we need to know how many bytes to skip in next buffer
    -        self._need_to_skip_char_num = 0
    -        self._last_char_order = -1  # The order of previous char
    -        # If this flag is set to True, detection is done and conclusion has
    -        # been made
    -        self._done = False
    -
    -    def feed(self, byte_str, num_bytes):
    -        if self._done:
    -            return
    -
    -        # The buffer we got is byte oriented, and a character may span in more than one
    -        # buffers. In case the last one or two byte in last buffer is not
    -        # complete, we record how many byte needed to complete that character
    -        # and skip these bytes here.  We can choose to record those bytes as
    -        # well and analyse the character once it is complete, but since a
    -        # character will not make much difference, by simply skipping
    -        # this character will simply our logic and improve performance.
    -        i = self._need_to_skip_char_num
    -        while i < num_bytes:
    -            order, char_len = self.get_order(byte_str[i:i + 2])
    -            i += char_len
    -            if i > num_bytes:
    -                self._need_to_skip_char_num = i - num_bytes
    -                self._last_char_order = -1
    -            else:
    -                if (order != -1) and (self._last_char_order != -1):
    -                    self._total_rel += 1
    -                    if self._total_rel > self.MAX_REL_THRESHOLD:
    -                        self._done = True
    -                        break
    -                    self._rel_sample[jp2CharContext[self._last_char_order][order]] += 1
    -                self._last_char_order = order
    -
    -    def got_enough_data(self):
    -        return self._total_rel > self.ENOUGH_REL_THRESHOLD
    -
    -    def get_confidence(self):
    -        # This is just one way to calculate confidence. It works well for me.
    -        if self._total_rel > self.MINIMUM_DATA_THRESHOLD:
    -            return (self._total_rel - self._rel_sample[0]) / self._total_rel
    -        else:
    -            return self.DONT_KNOW
    -
    -    def get_order(self, byte_str):
    -        return -1, 1
    -
    -class SJISContextAnalysis(JapaneseContextAnalysis):
    -    def __init__(self):
    -        super(SJISContextAnalysis, self).__init__()
    -        self._charset_name = "SHIFT_JIS"
    -
    -    @property
    -    def charset_name(self):
    -        return self._charset_name
    -
    -    def get_order(self, byte_str):
    -        if not byte_str:
    -            return -1, 1
    -        # find out current char's byte length
    -        first_char = byte_str[0]
    -        if (0x81 <= first_char <= 0x9F) or (0xE0 <= first_char <= 0xFC):
    -            char_len = 2
    -            if (first_char == 0x87) or (0xFA <= first_char <= 0xFC):
    -                self._charset_name = "CP932"
    -        else:
    -            char_len = 1
    -
    -        # return its order if it is hiragana
    -        if len(byte_str) > 1:
    -            second_char = byte_str[1]
    -            if (first_char == 202) and (0x9F <= second_char <= 0xF1):
    -                return second_char - 0x9F, char_len
    -
    -        return -1, char_len
    -
    -class EUCJPContextAnalysis(JapaneseContextAnalysis):
    -    def get_order(self, byte_str):
    -        if not byte_str:
    -            return -1, 1
    -        # find out current char's byte length
    -        first_char = byte_str[0]
    -        if (first_char == 0x8E) or (0xA1 <= first_char <= 0xFE):
    -            char_len = 2
    -        elif first_char == 0x8F:
    -            char_len = 3
    -        else:
    -            char_len = 1
    -
    -        # return its order if it is hiragana
    -        if len(byte_str) > 1:
    -            second_char = byte_str[1]
    -            if (first_char == 0xA4) and (0xA1 <= second_char <= 0xF3):
    -                return second_char - 0xA1, char_len
    -
    -        return -1, char_len
    -
    -
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langbulgarianmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langbulgarianmodel.py
    deleted file mode 100644
    index 2aa4fb2..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langbulgarianmodel.py
    +++ /dev/null
    @@ -1,228 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# 255: Control characters that usually does not exist in any text
    -# 254: Carriage/Return
    -# 253: symbol (punctuation) that does not belong to word
    -# 252: 0 - 9
    -
    -# Character Mapping Table:
    -# this table is modified base on win1251BulgarianCharToOrderMap, so
    -# only number <64 is sure valid
    -
    -Latin5_BulgarianCharToOrderMap = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82,  # 40
    -110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253,  # 50
    -253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71,  # 60
    -116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253,  # 70
    -194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,  # 80
    -210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,  # 90
    - 81,226,227,228,229,230,105,231,232,233,234,235,236, 45,237,238,  # a0
    - 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30,  # b0
    - 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,239, 67,240, 60, 56,  # c0
    -  1, 18,  9, 20, 11,  3, 23, 15,  2, 26, 12, 10, 14,  6,  4, 13,  # d0
    -  7,  8,  5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,241, 42, 16,  # e0
    - 62,242,243,244, 58,245, 98,246,247,248,249,250,251, 91,252,253,  # f0
    -)
    -
    -win1251BulgarianCharToOrderMap = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82,  # 40
    -110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253,  # 50
    -253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71,  # 60
    -116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253,  # 70
    -206,207,208,209,210,211,212,213,120,214,215,216,217,218,219,220,  # 80
    -221, 78, 64, 83,121, 98,117,105,222,223,224,225,226,227,228,229,  # 90
    - 88,230,231,232,233,122, 89,106,234,235,236,237,238, 45,239,240,  # a0
    - 73, 80,118,114,241,242,243,244,245, 62, 58,246,247,248,249,250,  # b0
    - 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30,  # c0
    - 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,251, 67,252, 60, 56,  # d0
    -  1, 18,  9, 20, 11,  3, 23, 15,  2, 26, 12, 10, 14,  6,  4, 13,  # e0
    -  7,  8,  5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,253, 42, 16,  # f0
    -)
    -
    -# Model Table:
    -# total sequences: 100%
    -# first 512 sequences: 96.9392%
    -# first 1024 sequences:3.0618%
    -# rest  sequences:     0.2992%
    -# negative sequences:  0.0020%
    -BulgarianLangModel = (
    -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,3,3,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,2,2,1,2,2,
    -3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,0,1,
    -0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,0,3,1,0,
    -0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,1,3,3,3,3,2,2,2,1,1,2,0,1,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,3,3,2,3,2,2,3,3,1,1,2,3,3,2,3,3,3,3,2,1,2,0,2,0,3,0,0,
    -0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,3,3,1,3,3,3,3,3,2,3,2,3,3,3,3,3,2,3,3,1,3,0,3,0,2,0,0,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,1,3,3,2,3,2,2,2,0,0,2,0,2,0,2,0,0,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,3,3,1,2,2,3,2,1,1,2,0,2,0,0,0,0,
    -1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,3,3,2,3,3,1,2,3,2,2,2,3,3,3,3,3,2,2,3,1,2,0,2,1,2,0,0,
    -0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,1,3,3,3,3,3,2,3,3,3,2,3,3,2,3,2,2,2,3,1,2,0,1,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,3,3,3,3,3,3,1,1,1,2,2,1,3,1,3,2,2,3,0,0,1,0,1,0,1,0,0,
    -0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,2,2,3,2,2,3,1,2,1,1,1,2,3,1,3,1,2,2,0,1,1,1,1,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,1,3,2,2,3,3,1,2,3,1,1,3,3,3,3,1,2,2,1,1,1,0,2,0,2,0,1,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,3,3,3,2,2,1,1,2,0,2,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,
    -3,0,1,2,1,3,3,2,3,3,3,3,3,2,3,2,1,0,3,1,2,1,2,1,2,3,2,1,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,1,3,3,2,3,3,2,2,2,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,3,3,3,3,0,3,3,3,3,3,2,1,1,2,1,3,3,0,3,1,1,1,1,3,2,0,1,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,1,1,3,1,3,3,2,3,2,2,2,3,0,2,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,2,3,3,2,2,3,2,1,1,1,1,1,3,1,3,1,1,0,0,0,1,0,0,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,2,3,2,0,3,2,0,3,0,2,0,0,2,1,3,1,0,0,1,0,0,0,1,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,2,1,1,1,1,2,1,1,2,1,1,1,2,2,1,2,1,1,1,0,1,1,0,1,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,2,1,3,1,1,2,1,3,2,1,1,0,1,2,3,2,1,1,1,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,3,3,3,3,2,2,1,0,1,0,0,1,0,0,0,2,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,2,3,2,3,3,1,3,2,1,1,1,2,1,1,2,1,3,0,1,0,0,0,1,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,1,1,2,2,3,3,2,3,2,2,2,3,1,2,2,1,1,2,1,1,2,2,0,1,1,0,1,0,2,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,2,1,3,1,0,2,2,1,3,2,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,3,1,2,0,2,3,1,2,3,2,0,1,3,1,2,1,1,1,0,0,1,0,0,2,2,2,3,
    -2,2,2,2,1,2,1,1,2,2,1,1,2,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,
    -3,3,3,3,3,2,1,2,2,1,2,0,2,0,1,0,1,2,1,2,1,1,0,0,0,1,0,1,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,
    -3,3,2,3,3,1,1,3,1,0,3,2,1,0,0,0,1,2,0,2,0,1,0,0,0,1,0,1,2,1,2,2,
    -1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,0,1,2,1,1,1,0,0,0,0,0,1,1,0,0,
    -3,1,0,1,0,2,3,2,2,2,3,2,2,2,2,2,1,0,2,1,2,1,1,1,0,1,2,1,2,2,2,1,
    -1,1,2,2,2,2,1,2,1,1,0,1,2,1,2,2,2,1,1,1,0,1,1,1,1,2,0,1,0,0,0,0,
    -2,3,2,3,3,0,0,2,1,0,2,1,0,0,0,0,2,3,0,2,0,0,0,0,0,1,0,0,2,0,1,2,
    -2,1,2,1,2,2,1,1,1,2,1,1,1,0,1,2,2,1,1,1,1,1,0,1,1,1,0,0,1,2,0,0,
    -3,3,2,2,3,0,2,3,1,1,2,0,0,0,1,0,0,2,0,2,0,0,0,1,0,1,0,1,2,0,2,2,
    -1,1,1,1,2,1,0,1,2,2,2,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0,
    -2,3,2,3,3,0,0,3,0,1,1,0,1,0,0,0,2,2,1,2,0,0,0,0,0,0,0,0,2,0,1,2,
    -2,2,1,1,1,1,1,2,2,2,1,0,2,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0,
    -3,3,3,3,2,2,2,2,2,0,2,1,1,1,1,2,1,2,1,1,0,2,0,1,0,1,0,0,2,0,1,2,
    -1,1,1,1,1,1,1,2,2,1,1,0,2,0,1,0,2,0,0,1,1,1,0,0,2,0,0,0,1,1,0,0,
    -2,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,0,0,0,1,2,0,1,2,
    -2,2,2,1,1,2,1,1,2,2,2,1,2,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,0,
    -2,3,3,3,3,0,2,2,0,2,1,0,0,0,1,1,1,2,0,2,0,0,0,3,0,0,0,0,2,0,2,2,
    -1,1,1,2,1,2,1,1,2,2,2,1,2,0,1,1,1,0,1,1,1,1,0,2,1,0,0,0,1,1,0,0,
    -2,3,3,3,3,0,2,1,0,0,2,0,0,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,2,0,1,2,
    -1,1,1,2,1,1,1,1,2,2,2,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0,
    -3,3,2,2,3,0,1,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,0,0,0,0,1,0,2,2,
    -1,1,1,1,1,2,1,1,2,2,1,2,2,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0,
    -3,1,0,1,0,2,2,2,2,3,2,1,1,1,2,3,0,0,1,0,2,1,1,0,1,1,1,1,2,1,1,1,
    -1,2,2,1,2,1,2,2,1,1,0,1,2,1,2,2,1,1,1,0,0,1,1,1,2,1,0,1,0,0,0,0,
    -2,1,0,1,0,3,1,2,2,2,2,1,2,2,1,1,1,0,2,1,2,2,1,1,2,1,1,0,2,1,1,1,
    -1,2,2,2,2,2,2,2,1,2,0,1,1,0,2,1,1,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0,
    -2,1,1,1,1,2,2,2,2,1,2,2,2,1,2,2,1,1,2,1,2,3,2,2,1,1,1,1,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,2,2,3,2,0,1,2,0,1,2,1,1,0,1,0,1,2,1,2,0,0,0,1,1,0,0,0,1,0,0,2,
    -1,1,0,0,1,1,0,1,1,1,1,0,2,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,
    -2,0,0,0,0,1,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1,
    -1,2,2,2,2,1,1,2,1,2,1,1,1,0,2,1,2,1,1,1,0,2,1,1,1,1,0,1,0,0,0,0,
    -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,
    -1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,2,2,3,2,0,0,0,0,1,0,0,0,0,0,0,1,1,0,2,0,0,0,0,0,0,0,0,1,0,1,2,
    -1,1,1,1,1,1,0,0,2,2,2,2,2,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1,
    -2,3,1,2,1,0,1,1,0,2,2,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,2,
    -1,1,1,1,2,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,
    -2,2,2,2,2,0,0,2,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,0,2,2,
    -1,1,1,1,1,0,0,1,2,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,
    -1,2,2,2,2,0,0,2,0,1,1,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,1,
    -0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
    -1,2,2,3,2,0,0,1,0,0,1,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0,0,2,
    -1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,
    -2,1,2,2,2,1,2,1,2,2,1,1,2,1,1,1,0,1,1,1,1,2,0,1,0,1,1,1,1,0,1,1,
    -1,1,2,1,1,1,1,1,1,0,0,1,2,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,
    -1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,2,2,2,1,0,0,1,0,2,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,2,0,0,1,
    -0,2,0,1,0,0,1,1,2,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,2,2,2,2,0,1,1,0,2,1,0,1,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,1,
    -0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,
    -2,2,2,2,2,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,
    -0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,
    -2,0,1,0,0,1,2,1,1,1,1,1,1,2,2,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0,
    -1,1,2,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,2,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,
    -0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
    -0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,2,0,0,2,0,1,0,0,1,0,0,1,
    -1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,
    -1,1,1,1,1,1,1,2,0,0,0,0,0,0,2,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -)
    -
    -Latin5BulgarianModel = {
    -  'char_to_order_map': Latin5_BulgarianCharToOrderMap,
    -  'precedence_matrix': BulgarianLangModel,
    -  'typical_positive_ratio': 0.969392,
    -  'keep_english_letter': False,
    -  'charset_name': "ISO-8859-5",
    -  'language': 'Bulgairan',
    -}
    -
    -Win1251BulgarianModel = {
    -  'char_to_order_map': win1251BulgarianCharToOrderMap,
    -  'precedence_matrix': BulgarianLangModel,
    -  'typical_positive_ratio': 0.969392,
    -  'keep_english_letter': False,
    -  'charset_name': "windows-1251",
    -  'language': 'Bulgarian',
    -}
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langcyrillicmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langcyrillicmodel.py
    deleted file mode 100644
    index e5f9a1f..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langcyrillicmodel.py
    +++ /dev/null
    @@ -1,333 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# KOI8-R language model
    -# Character Mapping Table:
    -KOI8R_char_to_order_map = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40
    -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50
    -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60
    - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70
    -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,  # 80
    -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,  # 90
    -223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237,  # a0
    -238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,  # b0
    - 27,  3, 21, 28, 13,  2, 39, 19, 26,  4, 23, 11,  8, 12,  5,  1,  # c0
    - 15, 16,  9,  7,  6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54,  # d0
    - 59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34,  # e0
    - 35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70,  # f0
    -)
    -
    -win1251_char_to_order_map = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40
    -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50
    -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60
    - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70
    -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,
    -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,
    -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,
    -239,240,241,242,243,244,245,246, 68,247,248,249,250,251,252,253,
    - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,
    - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,
    -  3, 21, 10, 19, 13,  2, 24, 20,  4, 23, 11,  8, 12,  5,  1, 15,
    -  9,  7,  6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16,
    -)
    -
    -latin5_char_to_order_map = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40
    -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50
    -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60
    - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70
    -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,
    -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,
    -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,
    - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,
    - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,
    -  3, 21, 10, 19, 13,  2, 24, 20,  4, 23, 11,  8, 12,  5,  1, 15,
    -  9,  7,  6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16,
    -239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255,
    -)
    -
    -macCyrillic_char_to_order_map = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40
    -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50
    -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60
    - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70
    - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,
    - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,
    -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,
    -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,
    -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,
    -239,240,241,242,243,244,245,246,247,248,249,250,251,252, 68, 16,
    -  3, 21, 10, 19, 13,  2, 24, 20,  4, 23, 11,  8, 12,  5,  1, 15,
    -  9,  7,  6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255,
    -)
    -
    -IBM855_char_to_order_map = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40
    -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50
    -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60
    - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70
    -191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205,
    -206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70,
    -  3, 37, 21, 44, 28, 58, 13, 41,  2, 48, 39, 53, 19, 46,218,219,
    -220,221,222,223,224, 26, 55,  4, 42,225,226,227,228, 23, 60,229,
    -230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243,
    -  8, 49, 12, 38,  5, 31,  1, 34, 15,244,245,246,247, 35, 16,248,
    - 43,  9, 45,  7, 32,  6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249,
    -250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255,
    -)
    -
    -IBM866_char_to_order_map = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40
    -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50
    -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60
    - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70
    - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,
    - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,
    -  3, 21, 10, 19, 13,  2, 24, 20,  4, 23, 11,  8, 12,  5,  1, 15,
    -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,
    -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,
    -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,
    -  9,  7,  6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16,
    -239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255,
    -)
    -
    -# Model Table:
    -# total sequences: 100%
    -# first 512 sequences: 97.6601%
    -# first 1024 sequences: 2.3389%
    -# rest  sequences:      0.1237%
    -# negative sequences:   0.0009%
    -RussianLangModel = (
    -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2,
    -3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1,
    -0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1,
    -0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0,
    -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0,
    -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0,
    -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,
    -3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0,
    -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0,
    -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0,
    -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0,
    -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,
    -2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0,
    -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0,
    -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0,
    -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,
    -3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0,
    -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1,
    -1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,
    -2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1,
    -1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0,
    -2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1,
    -1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0,
    -3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1,
    -1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0,
    -2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2,
    -1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1,
    -1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1,
    -1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,
    -2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1,
    -1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,
    -3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2,
    -1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1,
    -2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1,
    -1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0,
    -2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0,
    -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1,
    -1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0,
    -1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1,
    -1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0,
    -3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1,
    -2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1,
    -3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1,
    -1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,
    -1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1,
    -0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,
    -2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1,
    -1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0,
    -1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1,
    -0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1,
    -1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
    -2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2,
    -2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1,
    -1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0,
    -1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0,
    -2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,
    -1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,
    -0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,
    -2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1,
    -1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1,
    -1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,
    -0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
    -0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1,
    -0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,
    -1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,
    -0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,
    -0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,
    -1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,
    -0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,
    -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0,
    -0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,
    -)
    -
    -Koi8rModel = {
    -  'char_to_order_map': KOI8R_char_to_order_map,
    -  'precedence_matrix': RussianLangModel,
    -  'typical_positive_ratio': 0.976601,
    -  'keep_english_letter': False,
    -  'charset_name': "KOI8-R",
    -  'language': 'Russian',
    -}
    -
    -Win1251CyrillicModel = {
    -  'char_to_order_map': win1251_char_to_order_map,
    -  'precedence_matrix': RussianLangModel,
    -  'typical_positive_ratio': 0.976601,
    -  'keep_english_letter': False,
    -  'charset_name': "windows-1251",
    -  'language': 'Russian',
    -}
    -
    -Latin5CyrillicModel = {
    -  'char_to_order_map': latin5_char_to_order_map,
    -  'precedence_matrix': RussianLangModel,
    -  'typical_positive_ratio': 0.976601,
    -  'keep_english_letter': False,
    -  'charset_name': "ISO-8859-5",
    -  'language': 'Russian',
    -}
    -
    -MacCyrillicModel = {
    -  'char_to_order_map': macCyrillic_char_to_order_map,
    -  'precedence_matrix': RussianLangModel,
    -  'typical_positive_ratio': 0.976601,
    -  'keep_english_letter': False,
    -  'charset_name': "MacCyrillic",
    -  'language': 'Russian',
    -}
    -
    -Ibm866Model = {
    -  'char_to_order_map': IBM866_char_to_order_map,
    -  'precedence_matrix': RussianLangModel,
    -  'typical_positive_ratio': 0.976601,
    -  'keep_english_letter': False,
    -  'charset_name': "IBM866",
    -  'language': 'Russian',
    -}
    -
    -Ibm855Model = {
    -  'char_to_order_map': IBM855_char_to_order_map,
    -  'precedence_matrix': RussianLangModel,
    -  'typical_positive_ratio': 0.976601,
    -  'keep_english_letter': False,
    -  'charset_name': "IBM855",
    -  'language': 'Russian',
    -}
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langgreekmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langgreekmodel.py
    deleted file mode 100644
    index 5332221..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langgreekmodel.py
    +++ /dev/null
    @@ -1,225 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# 255: Control characters that usually does not exist in any text
    -# 254: Carriage/Return
    -# 253: symbol (punctuation) that does not belong to word
    -# 252: 0 - 9
    -
    -# Character Mapping Table:
    -Latin7_char_to_order_map = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85,  # 40
    - 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253,  # 50
    -253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55,  # 60
    - 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253,  # 70
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 80
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 90
    -253,233, 90,253,253,253,253,253,253,253,253,253,253, 74,253,253,  # a0
    -253,253,253,253,247,248, 61, 36, 46, 71, 73,253, 54,253,108,123,  # b0
    -110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39,  # c0
    - 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15,  # d0
    -124,  1, 29, 20, 21,  3, 32, 13, 25,  5, 11, 16, 10,  6, 30,  4,  # e0
    -  9,  8, 14,  7,  2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253,  # f0
    -)
    -
    -win1253_char_to_order_map = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85,  # 40
    - 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253,  # 50
    -253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55,  # 60
    - 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253,  # 70
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 80
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 90
    -253,233, 61,253,253,253,253,253,253,253,253,253,253, 74,253,253,  # a0
    -253,253,253,253,247,253,253, 36, 46, 71, 73,253, 54,253,108,123,  # b0
    -110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39,  # c0
    - 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15,  # d0
    -124,  1, 29, 20, 21,  3, 32, 13, 25,  5, 11, 16, 10,  6, 30,  4,  # e0
    -  9,  8, 14,  7,  2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253,  # f0
    -)
    -
    -# Model Table:
    -# total sequences: 100%
    -# first 512 sequences: 98.2851%
    -# first 1024 sequences:1.7001%
    -# rest  sequences:     0.0359%
    -# negative sequences:  0.0148%
    -GreekLangModel = (
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,3,2,2,3,3,3,3,3,3,3,3,1,3,3,3,0,2,2,3,3,0,3,0,3,2,0,3,3,3,0,
    -3,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,3,0,3,3,0,3,2,3,3,0,3,2,3,3,3,0,0,3,0,3,0,3,3,2,0,0,0,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,
    -0,2,3,2,2,3,3,3,3,3,3,3,3,0,3,3,3,3,0,2,3,3,0,3,3,3,3,2,3,3,3,0,
    -2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,2,1,3,3,3,3,2,3,3,2,3,3,2,0,
    -0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,2,3,3,0,
    -2,0,1,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,3,2,3,0,0,0,0,3,3,0,3,1,3,3,3,0,3,3,0,3,3,3,3,0,0,0,0,
    -2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,3,0,3,0,3,3,3,3,3,0,3,2,2,2,3,0,2,3,3,3,3,3,2,3,3,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,3,3,2,2,2,3,3,3,3,0,3,1,3,3,3,3,2,3,3,3,3,3,3,3,2,2,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,3,2,0,3,0,0,0,3,3,2,3,3,3,3,3,0,0,3,2,3,0,2,3,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,0,3,3,3,3,0,0,3,3,0,2,3,0,3,0,3,3,3,0,0,3,0,3,0,2,2,3,3,0,0,
    -0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,3,2,0,3,2,3,3,3,3,0,3,3,3,3,3,0,3,3,2,3,2,3,3,2,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,2,3,2,3,3,3,3,3,3,0,2,3,2,3,2,2,2,3,2,3,3,2,3,0,2,2,2,3,0,
    -2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,3,0,0,0,3,3,3,2,3,3,0,0,3,0,3,0,0,0,3,2,0,3,0,3,0,0,2,0,2,0,
    -0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,0,0,0,3,3,0,3,3,3,0,0,1,2,3,0,
    -3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,3,2,0,0,3,2,2,3,3,0,3,3,3,3,3,2,1,3,0,3,2,3,3,2,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,3,3,0,2,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,3,0,3,2,3,0,0,3,3,3,0,
    -3,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,0,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,2,0,3,2,3,0,0,3,2,3,0,
    -2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,3,1,2,2,3,3,3,3,3,3,0,2,3,0,3,0,0,0,3,3,0,3,0,2,0,0,2,3,1,0,
    -2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,0,3,3,3,3,0,3,0,3,3,2,3,0,3,3,3,3,3,3,0,3,3,3,0,2,3,0,0,3,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,0,3,3,3,0,0,3,0,0,0,3,3,0,3,0,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,3,0,0,0,3,3,3,3,3,3,0,0,3,0,2,0,0,0,3,3,0,3,0,3,0,0,2,0,2,0,
    -0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,3,3,0,3,0,2,0,3,2,0,3,2,3,2,3,0,0,3,2,3,2,3,3,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,3,0,0,2,3,3,3,3,3,0,0,0,3,0,2,1,0,0,3,2,2,2,0,3,0,0,2,2,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,0,3,3,3,2,0,3,0,3,0,3,3,0,2,1,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,2,3,3,3,0,3,3,3,3,3,3,0,2,3,0,3,0,0,0,2,1,0,2,2,3,0,0,2,2,2,0,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,3,0,0,2,3,3,3,2,3,0,0,1,3,0,2,0,0,0,0,3,0,1,0,2,0,0,1,1,1,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,3,1,0,3,0,0,0,3,2,0,3,2,3,3,3,0,0,3,0,3,2,2,2,1,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,0,3,3,3,0,0,3,0,0,0,0,2,0,2,3,3,2,2,2,2,3,0,2,0,2,2,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,3,3,3,2,0,0,0,0,0,0,2,3,0,2,0,2,3,2,0,0,3,0,3,0,3,1,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,3,2,3,3,2,2,3,0,2,0,3,0,0,0,2,0,0,0,0,1,2,0,2,0,2,0,
    -0,2,0,2,0,2,2,0,0,1,0,2,2,2,0,2,2,2,0,2,2,2,0,0,2,0,0,1,0,0,0,0,
    -0,2,0,3,3,2,0,0,0,0,0,0,1,3,0,2,0,2,2,2,0,0,2,0,3,0,0,2,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,0,2,3,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,0,0,0,0,0,0,2,3,0,0,0,2,
    -0,1,2,0,0,0,0,2,2,0,0,0,2,1,0,2,2,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,
    -0,0,2,1,0,2,3,2,2,3,2,3,2,0,0,3,3,3,0,0,3,2,0,0,0,1,1,0,2,0,2,2,
    -0,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,2,2,0,0,2,0,0,0,2,0,1,0,0,0,0,
    -0,3,0,3,3,2,2,0,3,0,0,0,2,2,0,2,2,2,1,2,0,0,1,2,2,0,0,3,0,0,0,2,
    -0,1,2,0,0,0,1,2,0,0,0,0,0,0,0,2,2,0,1,0,0,2,0,0,0,2,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,2,3,3,2,2,0,0,0,2,0,2,3,3,0,2,0,0,0,0,0,0,2,2,2,0,2,2,0,2,0,2,
    -0,2,2,0,0,2,2,2,2,1,0,0,2,2,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,
    -0,2,0,3,2,3,0,0,0,3,0,0,2,2,0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,0,2,
    -0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,2,0,0,3,2,0,2,2,2,2,2,0,0,0,2,0,0,0,0,2,0,1,0,0,2,0,1,0,0,0,
    -0,2,2,2,0,2,2,0,1,2,0,2,2,2,0,2,2,2,2,1,2,2,0,0,2,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
    -0,2,0,2,0,2,2,0,0,0,0,1,2,1,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,3,2,3,0,0,2,0,0,0,2,2,0,2,0,0,0,1,0,0,2,0,2,0,2,2,0,0,0,0,
    -0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,
    -0,2,2,3,2,2,0,0,0,0,0,0,1,3,0,2,0,2,2,0,0,0,1,0,2,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,2,0,2,0,3,2,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -0,0,2,0,0,0,0,1,1,0,0,2,1,2,0,2,2,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0,
    -0,3,0,2,2,2,0,0,2,0,0,0,2,0,0,0,2,3,0,2,0,0,0,0,0,0,2,2,0,0,0,2,
    -0,1,2,0,0,0,1,2,2,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,2,1,2,0,2,2,0,2,0,0,2,0,0,0,0,1,2,1,0,2,1,0,0,0,0,0,0,0,0,0,0,
    -0,0,2,0,0,0,3,1,2,2,0,2,0,0,0,0,2,0,0,0,2,0,0,3,0,0,0,0,2,2,2,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,2,1,0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,2,
    -0,2,2,0,0,2,2,2,2,2,0,1,2,0,0,0,2,2,0,1,0,2,0,0,2,2,0,0,0,0,0,0,
    -0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,2,
    -0,1,2,0,0,0,0,2,2,1,0,1,0,1,0,2,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,
    -0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,1,0,0,0,0,0,0,2,
    -0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,
    -0,2,2,2,2,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,1,
    -0,0,2,0,0,0,0,1,2,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,
    -0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2,
    -0,0,1,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,
    -0,3,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2,
    -0,0,2,0,0,0,0,2,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,2,0,2,2,1,0,0,0,0,0,0,2,0,0,2,0,2,2,2,0,0,0,0,0,0,2,0,0,0,0,2,
    -0,0,2,0,0,2,0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,
    -0,0,3,0,0,0,2,2,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,
    -0,2,2,2,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,
    -0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
    -0,2,0,0,0,2,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,2,0,0,0,
    -0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,2,0,2,0,0,0,
    -0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -)
    -
    -Latin7GreekModel = {
    -  'char_to_order_map': Latin7_char_to_order_map,
    -  'precedence_matrix': GreekLangModel,
    -  'typical_positive_ratio': 0.982851,
    -  'keep_english_letter': False,
    -  'charset_name': "ISO-8859-7",
    -  'language': 'Greek',
    -}
    -
    -Win1253GreekModel = {
    -  'char_to_order_map': win1253_char_to_order_map,
    -  'precedence_matrix': GreekLangModel,
    -  'typical_positive_ratio': 0.982851,
    -  'keep_english_letter': False,
    -  'charset_name': "windows-1253",
    -  'language': 'Greek',
    -}
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langhebrewmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langhebrewmodel.py
    deleted file mode 100644
    index 58f4c87..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langhebrewmodel.py
    +++ /dev/null
    @@ -1,200 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Universal charset detector code.
    -#
    -# The Initial Developer of the Original Code is
    -#          Simon Montagu
    -# Portions created by the Initial Developer are Copyright (C) 2005
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#   Shy Shalom - original C code
    -#   Shoshannah Forbes - original C code (?)
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# 255: Control characters that usually does not exist in any text
    -# 254: Carriage/Return
    -# 253: symbol (punctuation) that does not belong to word
    -# 252: 0 - 9
    -
    -# Windows-1255 language model
    -# Character Mapping Table:
    -WIN1255_CHAR_TO_ORDER_MAP = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85,  # 40
    - 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253,  # 50
    -253, 50, 74, 60, 61, 42, 76, 70, 64, 53,105, 93, 56, 65, 54, 49,  # 60
    - 66,110, 51, 43, 44, 63, 81, 77, 98, 75,108,253,253,253,253,253,  # 70
    -124,202,203,204,205, 40, 58,206,207,208,209,210,211,212,213,214,
    -215, 83, 52, 47, 46, 72, 32, 94,216,113,217,109,218,219,220,221,
    - 34,116,222,118,100,223,224,117,119,104,125,225,226, 87, 99,227,
    -106,122,123,228, 55,229,230,101,231,232,120,233, 48, 39, 57,234,
    - 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237,
    -238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250,
    -  9,  8, 20, 16,  3,  2, 24, 14, 22,  1, 25, 15,  4, 11,  6, 23,
    - 12, 19, 13, 26, 18, 27, 21, 17,  7, 10,  5,251,252,128, 96,253,
    -)
    -
    -# Model Table:
    -# total sequences: 100%
    -# first 512 sequences: 98.4004%
    -# first 1024 sequences: 1.5981%
    -# rest  sequences:      0.087%
    -# negative sequences:   0.0015%
    -HEBREW_LANG_MODEL = (
    -0,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,1,2,0,1,0,0,
    -3,0,3,1,0,0,1,3,2,0,1,1,2,0,2,2,2,1,1,1,1,2,1,1,1,2,0,0,2,2,0,1,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,
    -1,2,1,2,1,2,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,
    -1,2,1,3,1,1,0,0,2,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,1,2,2,1,3,
    -1,2,1,1,2,2,0,0,2,2,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,2,2,3,2,
    -1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,2,2,2,1,2,2,2,2,
    -1,2,1,1,2,2,0,1,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,2,2,2,2,2,
    -0,2,0,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,2,2,2,
    -0,2,1,2,2,2,0,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,2,3,2,2,2,
    -1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0,
    -3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,2,0,2,
    -0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,2,3,2,1,2,1,1,1,
    -0,1,1,1,1,1,3,0,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
    -3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0,
    -0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,
    -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,2,3,3,3,2,1,2,3,3,2,3,3,3,3,2,3,2,1,2,0,2,1,2,
    -0,2,0,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,2,3,2,3,2,2,3,1,2,2,0,2,2,2,
    -0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,2,2,3,3,3,3,1,3,2,2,2,
    -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,3,2,2,2,1,2,2,0,2,2,2,2,
    -0,2,0,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,1,3,2,3,3,2,3,3,2,2,1,2,2,2,2,2,2,
    -0,2,1,2,1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,2,2,2,2,2,2,2,1,
    -0,2,0,1,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,2,1,2,3,3,3,3,3,3,3,2,3,2,3,2,1,2,3,0,2,1,2,2,
    -0,2,1,1,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0,
    -3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,1,3,1,2,2,2,1,2,3,3,1,2,1,2,2,2,2,
    -0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,1,3,3,3,1,2,2,2,2,1,1,2,2,2,2,2,2,
    -0,2,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,2,1,2,3,2,3,2,2,2,2,1,2,1,1,1,2,2,
    -0,2,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
    -3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0,
    -1,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,2,3,3,2,3,1,2,2,2,2,3,2,3,1,1,2,2,1,2,2,1,1,0,2,2,2,2,
    -0,1,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,
    -3,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,
    -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
    -3,2,2,1,2,2,2,2,2,2,2,1,2,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,0,3,3,3,
    -0,3,0,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
    -2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,1,1,2,0,1,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,0,2,2,0,0,0,0,0,0,
    -0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,2,1,0,
    -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,
    -0,3,1,1,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,1,0,1,1,1,1,0,
    -0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,2,1,1,1,1,2,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,
    -0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0,
    -2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,1,1,1,0,0,0,0,
    -0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,1,1,1,2,1,2,1,2,0,1,0,1,
    -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,3,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,1,2,1,1,0,1,0,1,
    -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,
    -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
    -3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,2,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,
    -0,1,1,1,2,1,2,2,2,0,2,0,2,0,1,1,2,1,1,1,1,2,1,0,1,1,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,1,0,0,0,0,0,1,0,1,2,2,0,1,0,0,1,1,2,2,1,2,0,2,0,0,0,1,2,0,1,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,2,0,2,1,2,0,2,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,1,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,1,2,2,0,0,1,0,0,0,1,0,0,1,
    -1,1,2,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,2,1,
    -0,2,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,1,1,0,1,
    -2,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,2,1,1,2,0,1,0,0,0,1,1,0,1,
    -1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,0,0,2,1,1,2,0,2,0,0,0,1,1,0,1,
    -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,2,2,1,2,1,1,0,1,0,0,0,1,1,0,1,
    -2,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1,
    -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,2,1,1,1,0,2,1,1,0,0,0,2,1,0,1,
    -1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,0,2,1,1,0,1,0,0,0,1,1,0,1,
    -2,2,1,1,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,0,1,2,1,0,2,0,0,0,1,1,0,1,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,
    -0,1,0,0,2,0,2,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,1,0,0,1,
    -1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,2,1,1,1,1,1,0,1,0,0,0,0,1,0,1,
    -0,1,1,1,2,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0,
    -)
    -
    -Win1255HebrewModel = {
    -  'char_to_order_map': WIN1255_CHAR_TO_ORDER_MAP,
    -  'precedence_matrix': HEBREW_LANG_MODEL,
    -  'typical_positive_ratio': 0.984004,
    -  'keep_english_letter': False,
    -  'charset_name': "windows-1255",
    -  'language': 'Hebrew',
    -}
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langhungarianmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langhungarianmodel.py
    deleted file mode 100644
    index bb7c095..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langhungarianmodel.py
    +++ /dev/null
    @@ -1,225 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# 255: Control characters that usually does not exist in any text
    -# 254: Carriage/Return
    -# 253: symbol (punctuation) that does not belong to word
    -# 252: 0 - 9
    -
    -# Character Mapping Table:
    -Latin2_HungarianCharToOrderMap = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47,
    - 46, 71, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253,
    -253,  2, 18, 26, 17,  1, 27, 12, 20,  9, 22,  7,  6, 13,  4,  8,
    - 23, 67, 10,  5,  3, 21, 19, 65, 62, 16, 11,253,253,253,253,253,
    -159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,
    -175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,
    -191,192,193,194,195,196,197, 75,198,199,200,201,202,203,204,205,
    - 79,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,
    -221, 51, 81,222, 78,223,224,225,226, 44,227,228,229, 61,230,231,
    -232,233,234, 58,235, 66, 59,236,237,238, 60, 69, 63,239,240,241,
    - 82, 14, 74,242, 70, 80,243, 72,244, 15, 83, 77, 84, 30, 76, 85,
    -245,246,247, 25, 73, 42, 24,248,249,250, 31, 56, 29,251,252,253,
    -)
    -
    -win1250HungarianCharToOrderMap = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47,
    - 46, 72, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253,
    -253,  2, 18, 26, 17,  1, 27, 12, 20,  9, 22,  7,  6, 13,  4,  8,
    - 23, 67, 10,  5,  3, 21, 19, 65, 62, 16, 11,253,253,253,253,253,
    -161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
    -177,178,179,180, 78,181, 69,182,183,184,185,186,187,188,189,190,
    -191,192,193,194,195,196,197, 76,198,199,200,201,202,203,204,205,
    - 81,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,
    -221, 51, 83,222, 80,223,224,225,226, 44,227,228,229, 61,230,231,
    -232,233,234, 58,235, 66, 59,236,237,238, 60, 70, 63,239,240,241,
    - 84, 14, 75,242, 71, 82,243, 73,244, 15, 85, 79, 86, 30, 77, 87,
    -245,246,247, 25, 74, 42, 24,248,249,250, 31, 56, 29,251,252,253,
    -)
    -
    -# Model Table:
    -# total sequences: 100%
    -# first 512 sequences: 94.7368%
    -# first 1024 sequences:5.2623%
    -# rest  sequences:     0.8894%
    -# negative sequences:  0.0009%
    -HungarianLangModel = (
    -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
    -3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,3,3,1,1,2,2,2,2,2,1,2,
    -3,2,2,3,3,3,3,3,2,3,3,3,3,3,3,1,2,3,3,3,3,2,3,3,1,1,3,3,0,1,1,1,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,
    -3,2,1,3,3,3,3,3,2,3,3,3,3,3,1,1,2,3,3,3,3,3,3,3,1,1,3,2,0,1,1,1,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,1,1,2,3,3,3,1,3,3,3,3,3,1,3,3,2,2,0,3,2,3,
    -0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,3,3,2,3,3,2,2,3,2,3,2,0,3,2,2,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,2,3,3,3,3,3,2,3,3,3,1,2,3,2,2,3,1,2,3,3,2,2,0,3,3,3,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,3,3,3,3,2,3,3,3,3,0,2,3,2,
    -0,0,0,1,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,3,1,1,1,3,3,2,1,3,2,2,3,2,1,3,2,2,1,0,3,3,1,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -3,2,2,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,3,2,2,3,1,1,3,2,0,1,1,1,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,1,3,3,3,3,3,2,2,1,3,3,3,0,1,1,2,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,2,0,3,2,3,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,
    -3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,1,3,2,2,2,3,1,1,3,3,1,1,0,3,3,2,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,1,2,3,2,2,0,2,2,2,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -3,3,3,2,2,2,3,1,3,3,2,2,1,3,3,3,1,1,3,1,2,3,2,3,2,2,2,1,0,2,2,2,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,
    -3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,2,2,3,2,1,0,3,2,0,1,1,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,1,0,3,3,3,3,0,2,3,0,0,2,1,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,2,2,3,3,2,2,2,2,3,3,0,1,2,3,2,3,2,2,3,2,1,2,0,2,2,2,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,1,2,3,3,3,2,1,2,3,3,2,2,2,3,2,3,3,1,3,3,1,1,0,2,3,2,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -3,3,3,1,2,2,2,2,3,3,3,1,1,1,3,3,1,1,3,1,1,3,2,1,2,3,1,1,0,2,2,2,
    -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -3,3,3,2,1,2,1,1,3,3,1,1,1,1,3,3,1,1,2,2,1,2,1,1,2,2,1,1,0,2,2,1,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -3,3,3,1,1,2,1,1,3,3,1,0,1,1,3,3,2,0,1,1,2,3,1,0,2,2,1,0,0,1,3,2,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -3,2,1,3,3,3,3,3,1,2,3,2,3,3,2,1,1,3,2,3,2,1,2,2,0,1,2,1,0,0,1,1,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
    -3,3,3,3,2,2,2,2,3,1,2,2,1,1,3,3,0,3,2,1,2,3,2,1,3,3,1,1,0,2,1,3,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -3,3,3,2,2,2,3,2,3,3,3,2,1,1,3,3,1,1,1,2,2,3,2,3,2,2,2,1,0,2,2,1,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -1,0,0,3,3,3,3,3,0,0,3,3,2,3,0,0,0,2,3,3,1,0,1,2,0,0,1,1,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,1,2,3,3,3,3,3,1,2,3,3,2,2,1,1,0,3,3,2,2,1,2,2,1,0,2,2,0,1,1,1,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,2,2,1,3,1,2,3,3,2,2,1,1,2,2,1,1,1,1,3,2,1,1,1,1,2,1,0,1,2,1,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,
    -2,3,3,1,1,1,1,1,3,3,3,0,1,1,3,3,1,1,1,1,1,2,2,0,3,1,1,2,0,2,1,1,
    -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
    -3,1,0,1,2,1,2,2,0,1,2,3,1,2,0,0,0,2,1,1,1,1,1,2,0,0,1,1,0,0,0,0,
    -1,2,1,2,2,2,1,2,1,2,0,2,0,2,2,1,1,2,1,1,2,1,1,1,0,1,0,0,0,1,1,0,
    -1,1,1,2,3,2,3,3,0,1,2,2,3,1,0,1,0,2,1,2,2,0,1,1,0,0,1,1,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,0,3,3,2,2,1,0,0,3,2,3,2,0,0,0,1,1,3,0,0,1,1,0,0,2,1,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,1,1,2,2,3,3,1,0,1,3,2,3,1,1,1,0,1,1,1,1,1,3,1,0,0,2,2,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,1,1,1,2,2,2,1,0,1,2,3,3,2,0,0,0,2,1,1,1,2,1,1,1,0,1,1,1,0,0,0,
    -1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,0,0,1,1,
    -3,2,2,1,0,0,1,1,2,2,0,3,0,1,2,1,1,0,0,1,1,1,0,1,1,1,1,0,2,1,1,1,
    -2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,0,1,
    -2,3,3,0,1,0,0,0,3,3,1,0,0,1,2,2,1,0,0,0,0,2,0,0,1,1,1,0,2,1,1,1,
    -2,1,1,1,1,1,1,2,1,1,0,1,1,0,1,1,1,0,1,2,1,1,0,1,1,1,1,1,1,1,0,1,
    -2,3,3,0,1,0,0,0,2,2,0,0,0,0,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,1,0,
    -2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1,
    -3,2,2,0,1,0,1,0,2,3,2,0,0,1,2,2,1,0,0,1,1,1,0,0,2,1,0,1,2,2,1,1,
    -2,1,1,1,1,1,1,2,1,1,1,1,1,1,0,2,1,0,1,1,0,1,1,1,0,1,1,2,1,1,0,1,
    -2,2,2,0,0,1,0,0,2,2,1,1,0,0,2,1,1,0,0,0,1,2,0,0,2,1,0,0,2,1,1,1,
    -2,1,1,1,1,2,1,2,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,
    -1,2,3,0,0,0,1,0,3,2,1,0,0,1,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,2,1,
    -1,1,0,0,0,1,0,1,1,1,1,1,2,0,0,1,0,0,0,2,0,0,1,1,1,1,1,1,1,1,0,1,
    -3,0,0,2,1,2,2,1,0,0,2,1,2,2,0,0,0,2,1,1,1,0,1,1,0,0,1,1,2,0,0,0,
    -1,2,1,2,2,1,1,2,1,2,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,0,0,1,
    -1,3,2,0,0,0,1,0,2,2,2,0,0,0,2,2,1,0,0,0,0,3,1,1,1,1,0,0,2,1,1,1,
    -2,1,0,1,1,1,0,1,1,1,1,1,1,1,0,2,1,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1,
    -2,3,2,0,0,0,1,0,2,2,0,0,0,0,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,1,0,
    -2,1,1,1,1,2,1,2,1,2,0,1,1,1,0,2,1,1,1,2,1,1,1,1,0,1,1,1,1,1,0,1,
    -3,1,1,2,2,2,3,2,1,1,2,2,1,1,0,1,0,2,2,1,1,1,1,1,0,0,1,1,0,1,1,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,2,2,0,0,0,0,0,2,2,0,0,0,0,2,2,1,0,0,0,1,1,0,0,1,2,0,0,2,1,1,1,
    -2,2,1,1,1,2,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,1,1,0,1,2,1,1,1,0,1,
    -1,0,0,1,2,3,2,1,0,0,2,0,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,0,0,0,0,0,
    -1,2,1,2,1,2,1,1,1,2,0,2,1,1,1,0,1,2,0,0,1,1,1,0,0,0,0,0,0,0,0,0,
    -2,3,2,0,0,0,0,0,1,1,2,1,0,0,1,1,1,0,0,0,0,2,0,0,1,1,0,0,2,1,1,1,
    -2,1,1,1,1,1,1,2,1,0,1,1,1,1,0,2,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1,
    -1,2,2,0,1,1,1,0,2,2,2,0,0,0,3,2,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0,
    -1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,0,0,1,1,1,0,1,0,1,
    -2,1,0,2,1,1,2,2,1,1,2,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,0,0,
    -1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,0,
    -1,2,3,0,0,0,1,0,2,2,0,0,0,0,2,2,0,0,0,0,0,1,0,0,1,0,0,0,2,0,1,0,
    -2,1,1,1,1,1,0,2,0,0,0,1,2,1,1,1,1,0,1,2,0,1,0,1,0,1,1,1,0,1,0,1,
    -2,2,2,0,0,0,1,0,2,1,2,0,0,0,1,1,2,0,0,0,0,1,0,0,1,1,0,0,2,1,0,1,
    -2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1,
    -1,2,2,0,0,0,1,0,2,2,2,0,0,0,1,1,0,0,0,0,0,1,1,0,2,0,0,1,1,1,0,1,
    -1,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1,
    -1,0,0,1,0,1,2,1,0,0,1,1,1,2,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0,
    -0,2,1,2,1,1,1,1,1,2,0,2,0,1,1,0,1,2,1,0,1,1,1,0,0,0,0,0,0,1,0,0,
    -2,1,1,0,1,2,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,2,1,0,1,
    -2,2,1,1,1,1,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,0,1,0,1,1,1,1,1,0,1,
    -1,2,2,0,0,0,0,0,1,1,0,0,0,0,2,1,0,0,0,0,0,2,0,0,2,2,0,0,2,0,0,1,
    -2,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,
    -1,1,2,0,0,3,1,0,2,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0,
    -1,2,1,0,1,1,1,2,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0,
    -2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,2,0,0,0,
    -2,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,1,0,1,
    -2,1,1,1,2,1,1,1,0,1,1,2,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,1,0,1,1,1,1,1,0,0,1,1,2,1,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0,
    -1,2,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,
    -2,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,2,0,0,1,0,0,1,0,1,0,0,0,
    -0,1,1,1,1,1,1,1,1,2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,
    -1,0,0,1,1,1,1,1,0,0,2,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,
    -0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,
    -1,0,0,1,1,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,
    -0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,
    -0,0,0,1,0,0,0,0,0,0,1,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,
    -2,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,1,1,0,0,1,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,
    -)
    -
    -Latin2HungarianModel = {
    -  'char_to_order_map': Latin2_HungarianCharToOrderMap,
    -  'precedence_matrix': HungarianLangModel,
    -  'typical_positive_ratio': 0.947368,
    -  'keep_english_letter': True,
    -  'charset_name': "ISO-8859-2",
    -  'language': 'Hungarian',
    -}
    -
    -Win1250HungarianModel = {
    -  'char_to_order_map': win1250HungarianCharToOrderMap,
    -  'precedence_matrix': HungarianLangModel,
    -  'typical_positive_ratio': 0.947368,
    -  'keep_english_letter': True,
    -  'charset_name': "windows-1250",
    -  'language': 'Hungarian',
    -}
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langthaimodel.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langthaimodel.py
    deleted file mode 100644
    index 15f94c2..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langthaimodel.py
    +++ /dev/null
    @@ -1,199 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# 255: Control characters that usually does not exist in any text
    -# 254: Carriage/Return
    -# 253: symbol (punctuation) that does not belong to word
    -# 252: 0 - 9
    -
    -# The following result for thai was collected from a limited sample (1M).
    -
    -# Character Mapping Table:
    -TIS620CharToOrderMap = (
    -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10
    -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20
    -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30
    -253,182,106,107,100,183,184,185,101, 94,186,187,108,109,110,111,  # 40
    -188,189,190, 89, 95,112,113,191,192,193,194,253,253,253,253,253,  # 50
    -253, 64, 72, 73,114, 74,115,116,102, 81,201,117, 90,103, 78, 82,  # 60
    - 96,202, 91, 79, 84,104,105, 97, 98, 92,203,253,253,253,253,253,  # 70
    -209,210,211,212,213, 88,214,215,216,217,218,219,220,118,221,222,
    -223,224, 99, 85, 83,225,226,227,228,229,230,231,232,233,234,235,
    -236,  5, 30,237, 24,238, 75,  8, 26, 52, 34, 51,119, 47, 58, 57,
    - 49, 53, 55, 43, 20, 19, 44, 14, 48,  3, 17, 25, 39, 62, 31, 54,
    - 45,  9, 16,  2, 61, 15,239, 12, 42, 46, 18, 21, 76,  4, 66, 63,
    - 22, 10,  1, 36, 23, 13, 40, 27, 32, 35, 86,240,241,242,243,244,
    - 11, 28, 41, 29, 33,245, 50, 37,  6,  7, 67, 77, 38, 93,246,247,
    - 68, 56, 59, 65, 69, 60, 70, 80, 71, 87,248,249,250,251,252,253,
    -)
    -
    -# Model Table:
    -# total sequences: 100%
    -# first 512 sequences: 92.6386%
    -# first 1024 sequences:7.3177%
    -# rest  sequences:     1.0230%
    -# negative sequences:  0.0436%
    -ThaiLangModel = (
    -0,1,3,3,3,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,0,0,3,3,3,0,3,3,3,3,
    -0,3,3,0,0,0,1,3,0,3,3,2,3,3,0,1,2,3,3,3,3,0,2,0,2,0,0,3,2,1,2,2,
    -3,0,3,3,2,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,0,3,2,3,0,2,2,2,3,
    -0,2,3,0,0,0,0,1,0,1,2,3,1,1,3,2,2,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1,
    -3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,2,3,2,3,3,2,2,2,
    -3,1,2,3,0,3,3,2,2,1,2,3,3,1,2,0,1,3,0,1,0,0,1,0,0,0,0,0,0,0,1,1,
    -3,3,2,2,3,3,3,3,1,2,3,3,3,3,3,2,2,2,2,3,3,2,2,3,3,2,2,3,2,3,2,2,
    -3,3,1,2,3,1,2,2,3,3,1,0,2,1,0,0,3,1,2,1,0,0,1,0,0,0,0,0,0,1,0,1,
    -3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,2,3,3,2,2,3,2,2,2,2,1,1,3,1,2,1,1,
    -3,2,1,0,2,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,
    -3,3,3,2,3,2,3,3,2,2,3,2,3,3,2,3,1,1,2,3,2,2,2,3,2,2,2,2,2,1,2,1,
    -2,2,1,1,3,3,2,1,0,1,2,2,0,1,3,0,0,0,1,1,0,0,0,0,0,2,3,0,0,2,1,1,
    -3,3,2,3,3,2,0,0,3,3,0,3,3,0,2,2,3,1,2,2,1,1,1,0,2,2,2,0,2,2,1,1,
    -0,2,1,0,2,0,0,2,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,
    -3,3,2,3,3,2,0,0,3,3,0,2,3,0,2,1,2,2,2,2,1,2,0,0,2,2,2,0,2,2,1,1,
    -0,2,1,0,2,0,0,2,0,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,
    -3,3,2,3,2,3,2,0,2,2,1,3,2,1,3,2,1,2,3,2,2,3,0,2,3,2,2,1,2,2,2,2,
    -1,2,2,0,0,0,0,2,0,1,2,0,1,1,1,0,1,0,3,1,1,0,0,0,0,0,0,0,0,0,1,0,
    -3,3,2,3,3,2,3,2,2,2,3,2,2,3,2,2,1,2,3,2,2,3,1,3,2,2,2,3,2,2,2,3,
    -3,2,1,3,0,1,1,1,0,2,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,2,0,0,
    -1,0,0,3,0,3,3,3,3,3,0,0,3,0,2,2,3,3,3,3,3,0,0,0,1,1,3,0,0,0,0,2,
    -0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,
    -2,0,3,3,3,3,0,0,2,3,0,0,3,0,3,3,2,3,3,3,3,3,0,0,3,3,3,0,0,0,3,3,
    -0,0,3,0,0,0,0,2,0,0,2,1,1,3,0,0,1,0,0,2,3,0,1,0,0,0,0,0,0,0,1,0,
    -3,3,3,3,2,3,3,3,3,3,3,3,1,2,1,3,3,2,2,1,2,2,2,3,1,1,2,0,2,1,2,1,
    -2,2,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,
    -3,0,2,1,2,3,3,3,0,2,0,2,2,0,2,1,3,2,2,1,2,1,0,0,2,2,1,0,2,1,2,2,
    -0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,2,1,3,3,1,1,3,0,2,3,1,1,3,2,1,1,2,0,2,2,3,2,1,1,1,1,1,2,
    -3,0,0,1,3,1,2,1,2,0,3,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,
    -3,3,1,1,3,2,3,3,3,1,3,2,1,3,2,1,3,2,2,2,2,1,3,3,1,2,1,3,1,2,3,0,
    -2,1,1,3,2,2,2,1,2,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
    -3,3,2,3,2,3,3,2,3,2,3,2,3,3,2,1,0,3,2,2,2,1,2,2,2,1,2,2,1,2,1,1,
    -2,2,2,3,0,1,3,1,1,1,1,0,1,1,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,2,3,2,2,1,1,3,2,3,2,3,2,0,3,2,2,1,2,0,2,2,2,1,2,2,2,2,1,
    -3,2,1,2,2,1,0,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1,
    -3,3,3,3,3,2,3,1,2,3,3,2,2,3,0,1,1,2,0,3,3,2,2,3,0,1,1,3,0,0,0,0,
    -3,1,0,3,3,0,2,0,2,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,2,3,2,3,3,0,1,3,1,1,2,1,2,1,1,3,1,1,0,2,3,1,1,1,1,1,1,1,1,
    -3,1,1,2,2,2,2,1,1,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -3,2,2,1,1,2,1,3,3,2,3,2,2,3,2,2,3,1,2,2,1,2,0,3,2,1,2,2,2,2,2,1,
    -3,2,1,2,2,2,1,1,1,1,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,1,3,3,0,2,1,0,3,2,0,0,3,1,0,1,1,0,1,0,0,0,0,0,1,
    -1,0,0,1,0,3,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,0,2,2,2,3,0,0,1,3,0,3,2,0,3,2,2,3,3,3,3,3,1,0,2,2,2,0,2,2,1,2,
    -0,2,3,0,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -3,0,2,3,1,3,3,2,3,3,0,3,3,0,3,2,2,3,2,3,3,3,0,0,2,2,3,0,1,1,1,3,
    -0,0,3,0,0,0,2,2,0,1,3,0,1,2,2,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,
    -3,2,3,3,2,0,3,3,2,2,3,1,3,2,1,3,2,0,1,2,2,0,2,3,2,1,0,3,0,0,0,0,
    -3,0,0,2,3,1,3,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,1,3,2,2,2,1,2,0,1,3,1,1,3,1,3,0,0,2,1,1,1,1,2,1,1,1,0,2,1,0,1,
    -1,2,0,0,0,3,1,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,3,1,0,0,0,1,0,
    -3,3,3,3,2,2,2,2,2,1,3,1,1,1,2,0,1,1,2,1,2,1,3,2,0,0,3,1,1,1,1,1,
    -3,1,0,2,3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,2,3,0,3,3,0,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,2,3,1,3,0,0,1,2,0,0,2,0,3,3,2,3,3,3,2,3,0,0,2,2,2,0,0,0,2,2,
    -0,0,1,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,
    -0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,2,3,1,3,3,0,0,1,0,3,0,0,0,0,0,
    -0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,1,2,3,1,2,3,1,0,3,0,2,2,1,0,2,1,1,2,0,1,0,0,1,1,1,1,0,1,0,0,
    -1,0,0,0,0,1,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,2,1,0,1,1,1,3,1,2,2,2,2,2,2,1,1,1,1,0,3,1,0,1,3,1,1,1,1,
    -1,1,0,2,0,1,3,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,
    -3,0,2,2,1,3,3,2,3,3,0,1,1,0,2,2,1,2,1,3,3,1,0,0,3,2,0,0,0,0,2,1,
    -0,1,0,0,0,0,1,2,0,1,1,3,1,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
    -0,0,3,0,0,1,0,0,0,3,0,0,3,0,3,1,0,1,1,1,3,2,0,0,0,3,0,0,0,0,2,0,
    -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,
    -3,3,1,3,2,1,3,3,1,2,2,0,1,2,1,0,1,2,0,0,0,0,0,3,0,0,0,3,0,0,0,0,
    -3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,0,1,2,0,3,3,3,2,2,0,1,1,0,1,3,0,0,0,2,2,0,0,0,0,3,1,0,1,0,0,0,
    -0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,0,2,3,1,2,0,0,2,1,0,3,1,0,1,2,0,1,1,1,1,3,0,0,3,1,1,0,2,2,1,1,
    -0,2,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,0,0,3,1,2,0,0,2,2,0,1,2,0,1,0,1,3,1,2,1,0,0,0,2,0,3,0,0,0,1,0,
    -0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,0,1,1,2,2,0,0,0,2,0,2,1,0,1,1,0,1,1,1,2,1,0,0,1,1,1,0,2,1,1,1,
    -0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,
    -0,0,0,2,0,1,3,1,1,1,1,0,0,0,0,3,2,0,1,0,0,0,1,2,0,0,0,1,0,0,0,0,
    -0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,0,2,3,2,2,0,0,0,1,0,0,0,0,2,3,2,1,2,2,3,0,0,0,2,3,1,0,0,0,1,1,
    -0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,
    -3,3,2,2,0,1,0,0,0,0,2,0,2,0,1,0,0,0,1,1,0,0,0,2,1,0,1,0,1,1,0,0,
    -0,1,0,2,0,0,1,0,3,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,1,0,0,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,0,1,3,1,0,0,0,0,1,1,0,0,
    -0,1,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,
    -3,3,1,1,1,1,2,3,0,0,2,1,1,1,1,1,0,2,1,1,0,0,0,2,1,0,1,2,1,1,0,1,
    -2,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,3,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,
    -0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,2,0,0,0,0,0,0,1,2,1,0,1,1,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,2,0,0,0,1,3,0,1,0,0,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0,
    -3,3,0,0,1,1,2,0,0,1,2,1,0,1,1,1,0,1,1,0,0,2,1,1,0,1,0,0,1,1,1,0,
    -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,2,2,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,
    -2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,3,0,0,1,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -1,1,0,1,2,0,1,2,0,0,1,1,0,2,0,1,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0,
    -1,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,2,1,3,0,0,0,0,1,1,0,0,0,0,0,0,0,3,
    -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,0,1,0,1,0,0,2,0,0,2,0,0,1,1,2,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0,
    -1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,
    -1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,
    -1,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,1,1,0,0,2,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -)
    -
    -TIS620ThaiModel = {
    -  'char_to_order_map': TIS620CharToOrderMap,
    -  'precedence_matrix': ThaiLangModel,
    -  'typical_positive_ratio': 0.926386,
    -  'keep_english_letter': False,
    -  'charset_name': "TIS-620",
    -  'language': 'Thai',
    -}
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langturkishmodel.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langturkishmodel.py
    deleted file mode 100644
    index a427a45..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/langturkishmodel.py
    +++ /dev/null
    @@ -1,193 +0,0 @@
    -# -*- coding: utf-8 -*-
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Communicator client code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#   Özgür Baskın - Turkish Language Model
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -# 255: Control characters that usually does not exist in any text
    -# 254: Carriage/Return
    -# 253: symbol (punctuation) that does not belong to word
    -# 252: 0 - 9
    -
    -# Character Mapping Table:
    -Latin5_TurkishCharToOrderMap = (
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
    -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
    -255, 23, 37, 47, 39, 29, 52, 36, 45, 53, 60, 16, 49, 20, 46, 42,
    - 48, 69, 44, 35, 31, 51, 38, 62, 65, 43, 56,255,255,255,255,255,
    -255,  1, 21, 28, 12,  2, 18, 27, 25,  3, 24, 10,  5, 13,  4, 15,
    - 26, 64,  7,  8,  9, 14, 32, 57, 58, 11, 22,255,255,255,255,255,
    -180,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165,
    -164,163,162,161,160,159,101,158,157,156,155,154,153,152,151,106,
    -150,149,148,147,146,145,144,100,143,142,141,140,139,138,137,136,
    - 94, 80, 93,135,105,134,133, 63,132,131,130,129,128,127,126,125,
    -124,104, 73, 99, 79, 85,123, 54,122, 98, 92,121,120, 91,103,119,
    - 68,118,117, 97,116,115, 50, 90,114,113,112,111, 55, 41, 40, 86,
    - 89, 70, 59, 78, 71, 82, 88, 33, 77, 66, 84, 83,110, 75, 61, 96,
    - 30, 67,109, 74, 87,102, 34, 95, 81,108, 76, 72, 17,  6, 19,107,
    -)
    -
    -TurkishLangModel = (
    -3,2,3,3,3,1,3,3,3,3,3,3,3,3,2,1,1,3,3,1,3,3,0,3,3,3,3,3,0,3,1,3,
    -3,2,1,0,0,1,1,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1,
    -3,2,2,3,3,0,3,3,3,3,3,3,3,2,3,1,0,3,3,1,3,3,0,3,3,3,3,3,0,3,0,3,
    -3,1,1,0,1,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,0,1,0,1,
    -3,3,2,3,3,0,3,3,3,3,3,3,3,2,3,1,1,3,3,0,3,3,1,2,3,3,3,3,0,3,0,3,
    -3,1,1,0,0,0,1,0,0,0,0,1,1,0,1,2,1,0,0,0,1,0,0,0,0,2,0,0,0,0,0,1,
    -3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,1,3,3,2,0,3,2,1,2,2,1,3,3,0,0,0,2,
    -2,2,0,1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1,
    -3,3,3,2,3,3,1,2,3,3,3,3,3,3,3,1,3,2,1,0,3,2,0,1,2,3,3,2,1,0,0,2,
    -2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,
    -1,0,1,3,3,1,3,3,3,3,3,3,3,1,2,0,0,2,3,0,2,3,0,0,2,2,2,3,0,3,0,1,
    -2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,0,3,2,0,2,3,2,3,3,1,0,0,2,
    -3,2,0,0,1,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,2,0,0,1,
    -3,3,3,2,3,3,2,3,3,3,3,2,3,3,3,0,3,3,0,0,2,1,0,0,2,3,2,2,0,0,0,2,
    -2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,1,0,2,0,0,1,
    -3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,0,1,3,2,1,1,3,2,3,2,1,0,0,2,
    -2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,
    -3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,2,0,2,3,0,0,2,2,2,2,0,0,0,2,
    -3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0,
    -3,3,3,3,3,3,3,2,2,2,2,3,2,3,3,0,3,3,1,1,2,2,0,0,2,2,3,2,0,0,1,3,
    -0,3,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,
    -3,3,3,2,3,3,3,2,1,2,2,3,2,3,3,0,3,2,0,0,1,1,0,1,1,2,1,2,0,0,0,1,
    -0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,
    -3,3,3,2,3,3,2,3,2,2,2,3,3,3,3,1,3,1,1,0,3,2,1,1,3,3,2,3,1,0,0,1,
    -1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,1,
    -3,2,2,3,3,0,3,3,3,3,3,3,3,2,2,1,0,3,3,1,3,3,0,1,3,3,2,3,0,3,0,3,
    -2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
    -2,2,2,3,3,0,3,3,3,3,3,3,3,3,3,0,0,3,2,0,3,3,0,3,2,3,3,3,0,3,1,3,
    -2,0,0,0,0,0,0,0,0,0,0,1,0,1,2,0,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1,
    -3,3,3,1,2,3,3,1,0,0,1,0,0,3,3,2,3,0,0,2,0,0,2,0,2,0,0,0,2,0,2,0,
    -0,3,1,0,1,0,0,0,2,2,1,0,1,1,2,1,2,2,2,0,2,1,1,0,0,0,2,0,0,0,0,0,
    -1,2,1,3,3,0,3,3,3,3,3,2,3,0,0,0,0,2,3,0,2,3,1,0,2,3,1,3,0,3,0,2,
    -3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,1,3,3,2,2,3,2,2,0,1,2,3,0,1,2,1,0,1,0,0,0,1,0,2,2,0,0,0,1,
    -1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,
    -3,3,3,1,3,3,1,1,3,3,1,1,3,3,1,0,2,1,2,0,2,1,0,0,1,1,2,1,0,0,0,2,
    -2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,1,0,2,1,3,0,0,2,0,0,3,3,0,3,0,0,1,0,1,2,0,0,1,1,2,2,0,1,0,
    -0,1,2,1,1,0,1,0,1,1,1,1,1,0,1,1,1,2,2,1,2,0,1,0,0,0,0,0,0,1,0,0,
    -3,3,3,2,3,2,3,3,0,2,2,2,3,3,3,0,3,0,0,0,2,2,0,1,2,1,1,1,0,0,0,1,
    -0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
    -3,3,3,3,3,3,2,1,2,2,3,3,3,3,2,0,2,0,0,0,2,2,0,0,2,1,3,3,0,0,1,1,
    -1,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,
    -1,1,2,3,3,0,3,3,3,3,3,3,2,2,0,2,0,2,3,2,3,2,2,2,2,2,2,2,1,3,2,3,
    -2,0,2,1,2,2,2,2,1,1,2,2,1,2,2,1,2,0,0,2,1,1,0,2,1,0,0,1,0,0,0,1,
    -2,3,3,1,1,1,0,1,1,1,2,3,2,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,
    -0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,2,2,2,3,2,3,2,2,1,3,3,3,0,2,1,2,0,2,1,0,0,1,1,1,1,1,0,0,1,
    -2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0,
    -3,3,3,2,3,3,3,3,3,2,3,1,2,3,3,1,2,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0,
    -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
    -3,3,3,2,2,3,3,2,1,1,1,1,1,3,3,0,3,1,0,0,1,1,0,0,3,1,2,1,0,0,0,0,
    -0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,
    -3,3,3,2,2,3,2,2,2,3,2,1,1,3,3,0,3,0,0,0,0,1,0,0,3,1,1,2,0,0,0,1,
    -1,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
    -1,1,1,3,3,0,3,3,3,3,3,2,2,2,1,2,0,2,1,2,2,1,1,0,1,2,2,2,2,2,2,2,
    -0,0,2,1,2,1,2,1,0,1,1,3,1,2,1,1,2,0,0,2,0,1,0,1,0,1,0,0,0,1,0,1,
    -3,3,3,1,3,3,3,0,1,1,0,2,2,3,1,0,3,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,
    -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,2,0,0,2,2,1,0,0,1,0,0,3,3,1,3,0,0,1,1,0,2,0,3,0,0,0,2,0,1,1,
    -0,1,2,0,1,2,2,0,2,2,2,2,1,0,2,1,1,0,2,0,2,1,2,0,0,0,0,0,0,0,0,0,
    -3,3,3,1,3,2,3,2,0,2,2,2,1,3,2,0,2,1,2,0,1,2,0,0,1,0,2,2,0,0,0,2,
    -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,
    -3,3,3,0,3,3,1,1,2,3,1,0,3,2,3,0,3,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,
    -1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,3,3,0,3,3,2,3,3,2,2,0,0,0,0,1,2,0,1,3,0,0,0,3,1,1,0,3,0,2,
    -2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,1,2,2,1,0,3,1,1,1,1,3,3,2,3,0,0,1,0,1,2,0,2,2,0,2,2,0,2,1,
    -0,2,2,1,1,1,1,0,2,1,1,0,1,1,1,1,2,1,2,1,2,0,1,0,1,0,0,0,0,0,0,0,
    -3,3,3,0,1,1,3,0,0,1,1,0,0,2,2,0,3,0,0,1,1,0,1,0,0,0,0,0,2,0,0,0,
    -0,3,1,0,1,0,1,0,2,0,0,1,0,1,0,1,1,1,2,1,1,0,2,0,0,0,0,0,0,0,0,0,
    -3,3,3,0,2,0,2,0,1,1,1,0,0,3,3,0,2,0,0,1,0,0,2,1,1,0,1,0,1,0,1,0,
    -0,2,0,1,2,0,2,0,2,1,1,0,1,0,2,1,1,0,2,1,1,0,1,0,0,0,1,1,0,0,0,0,
    -3,2,3,0,1,0,0,0,0,0,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,0,2,0,0,0,
    -0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,2,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,0,0,2,3,0,0,1,0,1,0,2,3,2,3,0,0,1,3,0,2,1,0,0,0,0,2,0,1,0,
    -0,2,1,0,0,1,1,0,2,1,0,0,1,0,0,1,1,0,1,1,2,0,1,0,0,0,0,1,0,0,0,0,
    -3,2,2,0,0,1,1,0,0,0,0,0,0,3,1,1,1,0,0,0,0,0,1,0,0,0,0,0,2,0,1,0,
    -0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,
    -0,0,0,3,3,0,2,3,2,2,1,2,2,1,1,2,0,1,3,2,2,2,0,0,2,2,0,0,0,1,2,1,
    -3,0,2,1,1,0,1,1,1,0,1,2,2,2,1,1,2,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,
    -0,1,1,2,3,0,3,3,3,2,2,2,2,1,0,1,0,1,0,1,2,2,0,0,2,2,1,3,1,1,2,1,
    -0,0,1,1,2,0,1,1,0,0,1,2,0,2,1,1,2,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0,
    -3,3,2,0,0,3,1,0,0,0,0,0,0,3,2,1,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0,
    -0,2,1,1,0,0,1,0,1,2,0,0,1,1,0,0,2,1,1,1,1,0,2,0,0,0,0,0,0,0,0,0,
    -3,3,2,0,0,1,0,0,0,0,1,0,0,3,3,2,2,0,0,1,0,0,2,0,1,0,0,0,2,0,1,0,
    -0,0,1,1,0,0,2,0,2,1,0,0,1,1,2,1,2,0,2,1,2,1,1,1,0,0,1,1,0,0,0,0,
    -3,3,2,0,0,2,2,0,0,0,1,1,0,2,2,1,3,1,0,1,0,1,2,0,0,0,0,0,1,0,1,0,
    -0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,2,0,0,0,1,0,0,1,0,0,2,3,1,2,0,0,1,0,0,2,0,0,0,1,0,2,0,2,0,
    -0,1,1,2,2,1,2,0,2,1,1,0,0,1,1,0,1,1,1,1,2,1,1,0,0,0,0,0,0,0,0,0,
    -3,3,3,0,2,1,2,1,0,0,1,1,0,3,3,1,2,0,0,1,0,0,2,0,2,0,1,1,2,0,0,0,
    -0,0,1,1,1,1,2,0,1,1,0,1,1,1,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,
    -3,3,3,0,2,2,3,2,0,0,1,0,0,2,3,1,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0,
    -0,1,1,0,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,
    -3,2,3,0,0,0,0,0,0,0,1,0,0,2,2,2,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0,
    -0,0,2,1,1,0,1,0,2,1,1,0,0,1,1,2,1,0,2,0,2,0,1,0,0,0,2,0,0,0,0,0,
    -0,0,0,2,2,0,2,1,1,1,1,2,2,0,0,1,0,1,0,0,1,3,0,0,0,0,1,0,0,2,1,0,
    -0,0,1,0,1,0,0,0,0,0,2,1,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,
    -2,0,0,2,3,0,2,3,1,2,2,0,2,0,0,2,0,2,1,1,1,2,1,0,0,1,2,1,1,2,1,0,
    -1,0,2,0,1,0,1,1,0,0,2,2,1,2,1,1,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
    -3,3,3,0,2,1,2,0,0,0,1,0,0,3,2,0,1,0,0,1,0,0,2,0,0,0,1,2,1,0,1,0,
    -0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,
    -0,0,0,2,2,0,2,2,1,1,0,1,1,1,1,1,0,0,1,2,1,1,1,0,1,0,0,0,1,1,1,1,
    -0,0,2,1,0,1,1,1,0,1,1,2,1,2,1,1,2,0,1,1,2,1,0,2,0,0,0,0,0,0,0,0,
    -3,2,2,0,0,2,0,0,0,0,0,0,0,2,2,0,2,0,0,1,0,0,2,0,0,0,0,0,2,0,0,0,
    -0,2,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,
    -0,0,0,3,2,0,2,2,0,1,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,
    -2,0,1,0,1,0,1,1,0,0,1,2,0,1,0,1,1,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0,
    -2,2,2,0,1,1,0,0,0,1,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,1,2,0,1,0,
    -0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,
    -2,2,2,2,1,0,1,1,1,0,0,0,0,1,2,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,
    -1,1,2,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,
    -0,0,1,2,2,0,2,1,2,1,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,0,0,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
    -2,2,2,0,0,0,1,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -2,2,2,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,1,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    -)
    -
    -Latin5TurkishModel = {
    -  'char_to_order_map': Latin5_TurkishCharToOrderMap,
    -  'precedence_matrix': TurkishLangModel,
    -  'typical_positive_ratio': 0.970290,
    -  'keep_english_letter': True,
    -  'charset_name': "ISO-8859-9",
    -  'language': 'Turkish',
    -}
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/latin1prober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/latin1prober.py
    deleted file mode 100644
    index 7d1e8c2..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/latin1prober.py
    +++ /dev/null
    @@ -1,145 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Universal charset detector code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 2001
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#   Shy Shalom - original C code
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .charsetprober import CharSetProber
    -from .enums import ProbingState
    -
    -FREQ_CAT_NUM = 4
    -
    -UDF = 0  # undefined
    -OTH = 1  # other
    -ASC = 2  # ascii capital letter
    -ASS = 3  # ascii small letter
    -ACV = 4  # accent capital vowel
    -ACO = 5  # accent capital other
    -ASV = 6  # accent small vowel
    -ASO = 7  # accent small other
    -CLASS_NUM = 8  # total classes
    -
    -Latin1_CharToClass = (
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # 00 - 07
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # 08 - 0F
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # 10 - 17
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # 18 - 1F
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # 20 - 27
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # 28 - 2F
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # 30 - 37
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # 38 - 3F
    -    OTH, ASC, ASC, ASC, ASC, ASC, ASC, ASC,   # 40 - 47
    -    ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC,   # 48 - 4F
    -    ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC,   # 50 - 57
    -    ASC, ASC, ASC, OTH, OTH, OTH, OTH, OTH,   # 58 - 5F
    -    OTH, ASS, ASS, ASS, ASS, ASS, ASS, ASS,   # 60 - 67
    -    ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS,   # 68 - 6F
    -    ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS,   # 70 - 77
    -    ASS, ASS, ASS, OTH, OTH, OTH, OTH, OTH,   # 78 - 7F
    -    OTH, UDF, OTH, ASO, OTH, OTH, OTH, OTH,   # 80 - 87
    -    OTH, OTH, ACO, OTH, ACO, UDF, ACO, UDF,   # 88 - 8F
    -    UDF, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # 90 - 97
    -    OTH, OTH, ASO, OTH, ASO, UDF, ASO, ACO,   # 98 - 9F
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # A0 - A7
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # A8 - AF
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # B0 - B7
    -    OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH,   # B8 - BF
    -    ACV, ACV, ACV, ACV, ACV, ACV, ACO, ACO,   # C0 - C7
    -    ACV, ACV, ACV, ACV, ACV, ACV, ACV, ACV,   # C8 - CF
    -    ACO, ACO, ACV, ACV, ACV, ACV, ACV, OTH,   # D0 - D7
    -    ACV, ACV, ACV, ACV, ACV, ACO, ACO, ACO,   # D8 - DF
    -    ASV, ASV, ASV, ASV, ASV, ASV, ASO, ASO,   # E0 - E7
    -    ASV, ASV, ASV, ASV, ASV, ASV, ASV, ASV,   # E8 - EF
    -    ASO, ASO, ASV, ASV, ASV, ASV, ASV, OTH,   # F0 - F7
    -    ASV, ASV, ASV, ASV, ASV, ASO, ASO, ASO,   # F8 - FF
    -)
    -
    -# 0 : illegal
    -# 1 : very unlikely
    -# 2 : normal
    -# 3 : very likely
    -Latin1ClassModel = (
    -# UDF OTH ASC ASS ACV ACO ASV ASO
    -    0,  0,  0,  0,  0,  0,  0,  0,  # UDF
    -    0,  3,  3,  3,  3,  3,  3,  3,  # OTH
    -    0,  3,  3,  3,  3,  3,  3,  3,  # ASC
    -    0,  3,  3,  3,  1,  1,  3,  3,  # ASS
    -    0,  3,  3,  3,  1,  2,  1,  2,  # ACV
    -    0,  3,  3,  3,  3,  3,  3,  3,  # ACO
    -    0,  3,  1,  3,  1,  1,  1,  3,  # ASV
    -    0,  3,  1,  3,  1,  1,  3,  3,  # ASO
    -)
    -
    -
    -class Latin1Prober(CharSetProber):
    -    def __init__(self):
    -        super(Latin1Prober, self).__init__()
    -        self._last_char_class = None
    -        self._freq_counter = None
    -        self.reset()
    -
    -    def reset(self):
    -        self._last_char_class = OTH
    -        self._freq_counter = [0] * FREQ_CAT_NUM
    -        CharSetProber.reset(self)
    -
    -    @property
    -    def charset_name(self):
    -        return "ISO-8859-1"
    -
    -    @property
    -    def language(self):
    -        return ""
    -
    -    def feed(self, byte_str):
    -        byte_str = self.filter_with_english_letters(byte_str)
    -        for c in byte_str:
    -            char_class = Latin1_CharToClass[c]
    -            freq = Latin1ClassModel[(self._last_char_class * CLASS_NUM)
    -                                    + char_class]
    -            if freq == 0:
    -                self._state = ProbingState.NOT_ME
    -                break
    -            self._freq_counter[freq] += 1
    -            self._last_char_class = char_class
    -
    -        return self.state
    -
    -    def get_confidence(self):
    -        if self.state == ProbingState.NOT_ME:
    -            return 0.01
    -
    -        total = sum(self._freq_counter)
    -        if total < 0.01:
    -            confidence = 0.0
    -        else:
    -            confidence = ((self._freq_counter[3] - self._freq_counter[1] * 20.0)
    -                          / total)
    -        if confidence < 0.0:
    -            confidence = 0.0
    -        # lower the confidence of latin1 so that other more accurate
    -        # detector can take priority.
    -        confidence = confidence * 0.73
    -        return confidence
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcharsetprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcharsetprober.py
    deleted file mode 100644
    index 6256ecf..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcharsetprober.py
    +++ /dev/null
    @@ -1,91 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Universal charset detector code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 2001
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#   Shy Shalom - original C code
    -#   Proofpoint, Inc.
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .charsetprober import CharSetProber
    -from .enums import ProbingState, MachineState
    -
    -
    -class MultiByteCharSetProber(CharSetProber):
    -    """
    -    MultiByteCharSetProber
    -    """
    -
    -    def __init__(self, lang_filter=None):
    -        super(MultiByteCharSetProber, self).__init__(lang_filter=lang_filter)
    -        self.distribution_analyzer = None
    -        self.coding_sm = None
    -        self._last_char = [0, 0]
    -
    -    def reset(self):
    -        super(MultiByteCharSetProber, self).reset()
    -        if self.coding_sm:
    -            self.coding_sm.reset()
    -        if self.distribution_analyzer:
    -            self.distribution_analyzer.reset()
    -        self._last_char = [0, 0]
    -
    -    @property
    -    def charset_name(self):
    -        raise NotImplementedError
    -
    -    @property
    -    def language(self):
    -        raise NotImplementedError
    -
    -    def feed(self, byte_str):
    -        for i in range(len(byte_str)):
    -            coding_state = self.coding_sm.next_state(byte_str[i])
    -            if coding_state == MachineState.ERROR:
    -                self.logger.debug('%s %s prober hit error at byte %s',
    -                                  self.charset_name, self.language, i)
    -                self._state = ProbingState.NOT_ME
    -                break
    -            elif coding_state == MachineState.ITS_ME:
    -                self._state = ProbingState.FOUND_IT
    -                break
    -            elif coding_state == MachineState.START:
    -                char_len = self.coding_sm.get_current_charlen()
    -                if i == 0:
    -                    self._last_char[1] = byte_str[0]
    -                    self.distribution_analyzer.feed(self._last_char, char_len)
    -                else:
    -                    self.distribution_analyzer.feed(byte_str[i - 1:i + 1],
    -                                                    char_len)
    -
    -        self._last_char[0] = byte_str[-1]
    -
    -        if self.state == ProbingState.DETECTING:
    -            if (self.distribution_analyzer.got_enough_data() and
    -                    (self.get_confidence() > self.SHORTCUT_THRESHOLD)):
    -                self._state = ProbingState.FOUND_IT
    -
    -        return self.state
    -
    -    def get_confidence(self):
    -        return self.distribution_analyzer.get_confidence()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcsgroupprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcsgroupprober.py
    deleted file mode 100644
    index 530abe7..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcsgroupprober.py
    +++ /dev/null
    @@ -1,54 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Universal charset detector code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 2001
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#   Shy Shalom - original C code
    -#   Proofpoint, Inc.
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .charsetgroupprober import CharSetGroupProber
    -from .utf8prober import UTF8Prober
    -from .sjisprober import SJISProber
    -from .eucjpprober import EUCJPProber
    -from .gb2312prober import GB2312Prober
    -from .euckrprober import EUCKRProber
    -from .cp949prober import CP949Prober
    -from .big5prober import Big5Prober
    -from .euctwprober import EUCTWProber
    -
    -
    -class MBCSGroupProber(CharSetGroupProber):
    -    def __init__(self, lang_filter=None):
    -        super(MBCSGroupProber, self).__init__(lang_filter=lang_filter)
    -        self.probers = [
    -            UTF8Prober(),
    -            SJISProber(),
    -            EUCJPProber(),
    -            GB2312Prober(),
    -            EUCKRProber(),
    -            CP949Prober(),
    -            Big5Prober(),
    -            EUCTWProber()
    -        ]
    -        self.reset()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcssm.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcssm.py
    deleted file mode 100644
    index 8360d0f..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/mbcssm.py
    +++ /dev/null
    @@ -1,572 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is mozilla.org code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .enums import MachineState
    -
    -# BIG5
    -
    -BIG5_CLS = (
    -    1,1,1,1,1,1,1,1,  # 00 - 07    #allow 0x00 as legal value
    -    1,1,1,1,1,1,0,0,  # 08 - 0f
    -    1,1,1,1,1,1,1,1,  # 10 - 17
    -    1,1,1,0,1,1,1,1,  # 18 - 1f
    -    1,1,1,1,1,1,1,1,  # 20 - 27
    -    1,1,1,1,1,1,1,1,  # 28 - 2f
    -    1,1,1,1,1,1,1,1,  # 30 - 37
    -    1,1,1,1,1,1,1,1,  # 38 - 3f
    -    2,2,2,2,2,2,2,2,  # 40 - 47
    -    2,2,2,2,2,2,2,2,  # 48 - 4f
    -    2,2,2,2,2,2,2,2,  # 50 - 57
    -    2,2,2,2,2,2,2,2,  # 58 - 5f
    -    2,2,2,2,2,2,2,2,  # 60 - 67
    -    2,2,2,2,2,2,2,2,  # 68 - 6f
    -    2,2,2,2,2,2,2,2,  # 70 - 77
    -    2,2,2,2,2,2,2,1,  # 78 - 7f
    -    4,4,4,4,4,4,4,4,  # 80 - 87
    -    4,4,4,4,4,4,4,4,  # 88 - 8f
    -    4,4,4,4,4,4,4,4,  # 90 - 97
    -    4,4,4,4,4,4,4,4,  # 98 - 9f
    -    4,3,3,3,3,3,3,3,  # a0 - a7
    -    3,3,3,3,3,3,3,3,  # a8 - af
    -    3,3,3,3,3,3,3,3,  # b0 - b7
    -    3,3,3,3,3,3,3,3,  # b8 - bf
    -    3,3,3,3,3,3,3,3,  # c0 - c7
    -    3,3,3,3,3,3,3,3,  # c8 - cf
    -    3,3,3,3,3,3,3,3,  # d0 - d7
    -    3,3,3,3,3,3,3,3,  # d8 - df
    -    3,3,3,3,3,3,3,3,  # e0 - e7
    -    3,3,3,3,3,3,3,3,  # e8 - ef
    -    3,3,3,3,3,3,3,3,  # f0 - f7
    -    3,3,3,3,3,3,3,0  # f8 - ff
    -)
    -
    -BIG5_ST = (
    -    MachineState.ERROR,MachineState.START,MachineState.START,     3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,#08-0f
    -    MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START#10-17
    -)
    -
    -BIG5_CHAR_LEN_TABLE = (0, 1, 1, 2, 0)
    -
    -BIG5_SM_MODEL = {'class_table': BIG5_CLS,
    -                 'class_factor': 5,
    -                 'state_table': BIG5_ST,
    -                 'char_len_table': BIG5_CHAR_LEN_TABLE,
    -                 'name': 'Big5'}
    -
    -# CP949
    -
    -CP949_CLS  = (
    -    1,1,1,1,1,1,1,1, 1,1,1,1,1,1,0,0,  # 00 - 0f
    -    1,1,1,1,1,1,1,1, 1,1,1,0,1,1,1,1,  # 10 - 1f
    -    1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,  # 20 - 2f
    -    1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,  # 30 - 3f
    -    1,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,  # 40 - 4f
    -    4,4,5,5,5,5,5,5, 5,5,5,1,1,1,1,1,  # 50 - 5f
    -    1,5,5,5,5,5,5,5, 5,5,5,5,5,5,5,5,  # 60 - 6f
    -    5,5,5,5,5,5,5,5, 5,5,5,1,1,1,1,1,  # 70 - 7f
    -    0,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,  # 80 - 8f
    -    6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,  # 90 - 9f
    -    6,7,7,7,7,7,7,7, 7,7,7,7,7,8,8,8,  # a0 - af
    -    7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,  # b0 - bf
    -    7,7,7,7,7,7,9,2, 2,3,2,2,2,2,2,2,  # c0 - cf
    -    2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,  # d0 - df
    -    2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,  # e0 - ef
    -    2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,0,  # f0 - ff
    -)
    -
    -CP949_ST = (
    -#cls=    0      1      2      3      4      5      6      7      8      9  # previous state =
    -    MachineState.ERROR,MachineState.START,     3,MachineState.ERROR,MachineState.START,MachineState.START,     4,     5,MachineState.ERROR,     6, # MachineState.START
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, # MachineState.ERROR
    -    MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME, # MachineState.ITS_ME
    -    MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 3
    -    MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 4
    -    MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 5
    -    MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 6
    -)
    -
    -CP949_CHAR_LEN_TABLE = (0, 1, 2, 0, 1, 1, 2, 2, 0, 2)
    -
    -CP949_SM_MODEL = {'class_table': CP949_CLS,
    -                  'class_factor': 10,
    -                  'state_table': CP949_ST,
    -                  'char_len_table': CP949_CHAR_LEN_TABLE,
    -                  'name': 'CP949'}
    -
    -# EUC-JP
    -
    -EUCJP_CLS = (
    -    4,4,4,4,4,4,4,4,  # 00 - 07
    -    4,4,4,4,4,4,5,5,  # 08 - 0f
    -    4,4,4,4,4,4,4,4,  # 10 - 17
    -    4,4,4,5,4,4,4,4,  # 18 - 1f
    -    4,4,4,4,4,4,4,4,  # 20 - 27
    -    4,4,4,4,4,4,4,4,  # 28 - 2f
    -    4,4,4,4,4,4,4,4,  # 30 - 37
    -    4,4,4,4,4,4,4,4,  # 38 - 3f
    -    4,4,4,4,4,4,4,4,  # 40 - 47
    -    4,4,4,4,4,4,4,4,  # 48 - 4f
    -    4,4,4,4,4,4,4,4,  # 50 - 57
    -    4,4,4,4,4,4,4,4,  # 58 - 5f
    -    4,4,4,4,4,4,4,4,  # 60 - 67
    -    4,4,4,4,4,4,4,4,  # 68 - 6f
    -    4,4,4,4,4,4,4,4,  # 70 - 77
    -    4,4,4,4,4,4,4,4,  # 78 - 7f
    -    5,5,5,5,5,5,5,5,  # 80 - 87
    -    5,5,5,5,5,5,1,3,  # 88 - 8f
    -    5,5,5,5,5,5,5,5,  # 90 - 97
    -    5,5,5,5,5,5,5,5,  # 98 - 9f
    -    5,2,2,2,2,2,2,2,  # a0 - a7
    -    2,2,2,2,2,2,2,2,  # a8 - af
    -    2,2,2,2,2,2,2,2,  # b0 - b7
    -    2,2,2,2,2,2,2,2,  # b8 - bf
    -    2,2,2,2,2,2,2,2,  # c0 - c7
    -    2,2,2,2,2,2,2,2,  # c8 - cf
    -    2,2,2,2,2,2,2,2,  # d0 - d7
    -    2,2,2,2,2,2,2,2,  # d8 - df
    -    0,0,0,0,0,0,0,0,  # e0 - e7
    -    0,0,0,0,0,0,0,0,  # e8 - ef
    -    0,0,0,0,0,0,0,0,  # f0 - f7
    -    0,0,0,0,0,0,0,5  # f8 - ff
    -)
    -
    -EUCJP_ST = (
    -          3,     4,     3,     5,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07
    -     MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f
    -     MachineState.ITS_ME,MachineState.ITS_ME,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17
    -     MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,     3,MachineState.ERROR,#18-1f
    -          3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START#20-27
    -)
    -
    -EUCJP_CHAR_LEN_TABLE = (2, 2, 2, 3, 1, 0)
    -
    -EUCJP_SM_MODEL = {'class_table': EUCJP_CLS,
    -                  'class_factor': 6,
    -                  'state_table': EUCJP_ST,
    -                  'char_len_table': EUCJP_CHAR_LEN_TABLE,
    -                  'name': 'EUC-JP'}
    -
    -# EUC-KR
    -
    -EUCKR_CLS  = (
    -    1,1,1,1,1,1,1,1,  # 00 - 07
    -    1,1,1,1,1,1,0,0,  # 08 - 0f
    -    1,1,1,1,1,1,1,1,  # 10 - 17
    -    1,1,1,0,1,1,1,1,  # 18 - 1f
    -    1,1,1,1,1,1,1,1,  # 20 - 27
    -    1,1,1,1,1,1,1,1,  # 28 - 2f
    -    1,1,1,1,1,1,1,1,  # 30 - 37
    -    1,1,1,1,1,1,1,1,  # 38 - 3f
    -    1,1,1,1,1,1,1,1,  # 40 - 47
    -    1,1,1,1,1,1,1,1,  # 48 - 4f
    -    1,1,1,1,1,1,1,1,  # 50 - 57
    -    1,1,1,1,1,1,1,1,  # 58 - 5f
    -    1,1,1,1,1,1,1,1,  # 60 - 67
    -    1,1,1,1,1,1,1,1,  # 68 - 6f
    -    1,1,1,1,1,1,1,1,  # 70 - 77
    -    1,1,1,1,1,1,1,1,  # 78 - 7f
    -    0,0,0,0,0,0,0,0,  # 80 - 87
    -    0,0,0,0,0,0,0,0,  # 88 - 8f
    -    0,0,0,0,0,0,0,0,  # 90 - 97
    -    0,0,0,0,0,0,0,0,  # 98 - 9f
    -    0,2,2,2,2,2,2,2,  # a0 - a7
    -    2,2,2,2,2,3,3,3,  # a8 - af
    -    2,2,2,2,2,2,2,2,  # b0 - b7
    -    2,2,2,2,2,2,2,2,  # b8 - bf
    -    2,2,2,2,2,2,2,2,  # c0 - c7
    -    2,3,2,2,2,2,2,2,  # c8 - cf
    -    2,2,2,2,2,2,2,2,  # d0 - d7
    -    2,2,2,2,2,2,2,2,  # d8 - df
    -    2,2,2,2,2,2,2,2,  # e0 - e7
    -    2,2,2,2,2,2,2,2,  # e8 - ef
    -    2,2,2,2,2,2,2,2,  # f0 - f7
    -    2,2,2,2,2,2,2,0   # f8 - ff
    -)
    -
    -EUCKR_ST = (
    -    MachineState.ERROR,MachineState.START,     3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07
    -    MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #08-0f
    -)
    -
    -EUCKR_CHAR_LEN_TABLE = (0, 1, 2, 0)
    -
    -EUCKR_SM_MODEL = {'class_table': EUCKR_CLS,
    -                'class_factor': 4,
    -                'state_table': EUCKR_ST,
    -                'char_len_table': EUCKR_CHAR_LEN_TABLE,
    -                'name': 'EUC-KR'}
    -
    -# EUC-TW
    -
    -EUCTW_CLS = (
    -    2,2,2,2,2,2,2,2,  # 00 - 07
    -    2,2,2,2,2,2,0,0,  # 08 - 0f
    -    2,2,2,2,2,2,2,2,  # 10 - 17
    -    2,2,2,0,2,2,2,2,  # 18 - 1f
    -    2,2,2,2,2,2,2,2,  # 20 - 27
    -    2,2,2,2,2,2,2,2,  # 28 - 2f
    -    2,2,2,2,2,2,2,2,  # 30 - 37
    -    2,2,2,2,2,2,2,2,  # 38 - 3f
    -    2,2,2,2,2,2,2,2,  # 40 - 47
    -    2,2,2,2,2,2,2,2,  # 48 - 4f
    -    2,2,2,2,2,2,2,2,  # 50 - 57
    -    2,2,2,2,2,2,2,2,  # 58 - 5f
    -    2,2,2,2,2,2,2,2,  # 60 - 67
    -    2,2,2,2,2,2,2,2,  # 68 - 6f
    -    2,2,2,2,2,2,2,2,  # 70 - 77
    -    2,2,2,2,2,2,2,2,  # 78 - 7f
    -    0,0,0,0,0,0,0,0,  # 80 - 87
    -    0,0,0,0,0,0,6,0,  # 88 - 8f
    -    0,0,0,0,0,0,0,0,  # 90 - 97
    -    0,0,0,0,0,0,0,0,  # 98 - 9f
    -    0,3,4,4,4,4,4,4,  # a0 - a7
    -    5,5,1,1,1,1,1,1,  # a8 - af
    -    1,1,1,1,1,1,1,1,  # b0 - b7
    -    1,1,1,1,1,1,1,1,  # b8 - bf
    -    1,1,3,1,3,3,3,3,  # c0 - c7
    -    3,3,3,3,3,3,3,3,  # c8 - cf
    -    3,3,3,3,3,3,3,3,  # d0 - d7
    -    3,3,3,3,3,3,3,3,  # d8 - df
    -    3,3,3,3,3,3,3,3,  # e0 - e7
    -    3,3,3,3,3,3,3,3,  # e8 - ef
    -    3,3,3,3,3,3,3,3,  # f0 - f7
    -    3,3,3,3,3,3,3,0   # f8 - ff
    -)
    -
    -EUCTW_ST = (
    -    MachineState.ERROR,MachineState.ERROR,MachineState.START,     3,     3,     3,     4,MachineState.ERROR,#00-07
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f
    -    MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.ERROR,#10-17
    -    MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f
    -         5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,#20-27
    -    MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f
    -)
    -
    -EUCTW_CHAR_LEN_TABLE = (0, 0, 1, 2, 2, 2, 3)
    -
    -EUCTW_SM_MODEL = {'class_table': EUCTW_CLS,
    -                'class_factor': 7,
    -                'state_table': EUCTW_ST,
    -                'char_len_table': EUCTW_CHAR_LEN_TABLE,
    -                'name': 'x-euc-tw'}
    -
    -# GB2312
    -
    -GB2312_CLS = (
    -    1,1,1,1,1,1,1,1,  # 00 - 07
    -    1,1,1,1,1,1,0,0,  # 08 - 0f
    -    1,1,1,1,1,1,1,1,  # 10 - 17
    -    1,1,1,0,1,1,1,1,  # 18 - 1f
    -    1,1,1,1,1,1,1,1,  # 20 - 27
    -    1,1,1,1,1,1,1,1,  # 28 - 2f
    -    3,3,3,3,3,3,3,3,  # 30 - 37
    -    3,3,1,1,1,1,1,1,  # 38 - 3f
    -    2,2,2,2,2,2,2,2,  # 40 - 47
    -    2,2,2,2,2,2,2,2,  # 48 - 4f
    -    2,2,2,2,2,2,2,2,  # 50 - 57
    -    2,2,2,2,2,2,2,2,  # 58 - 5f
    -    2,2,2,2,2,2,2,2,  # 60 - 67
    -    2,2,2,2,2,2,2,2,  # 68 - 6f
    -    2,2,2,2,2,2,2,2,  # 70 - 77
    -    2,2,2,2,2,2,2,4,  # 78 - 7f
    -    5,6,6,6,6,6,6,6,  # 80 - 87
    -    6,6,6,6,6,6,6,6,  # 88 - 8f
    -    6,6,6,6,6,6,6,6,  # 90 - 97
    -    6,6,6,6,6,6,6,6,  # 98 - 9f
    -    6,6,6,6,6,6,6,6,  # a0 - a7
    -    6,6,6,6,6,6,6,6,  # a8 - af
    -    6,6,6,6,6,6,6,6,  # b0 - b7
    -    6,6,6,6,6,6,6,6,  # b8 - bf
    -    6,6,6,6,6,6,6,6,  # c0 - c7
    -    6,6,6,6,6,6,6,6,  # c8 - cf
    -    6,6,6,6,6,6,6,6,  # d0 - d7
    -    6,6,6,6,6,6,6,6,  # d8 - df
    -    6,6,6,6,6,6,6,6,  # e0 - e7
    -    6,6,6,6,6,6,6,6,  # e8 - ef
    -    6,6,6,6,6,6,6,6,  # f0 - f7
    -    6,6,6,6,6,6,6,0   # f8 - ff
    -)
    -
    -GB2312_ST = (
    -    MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,     3,MachineState.ERROR,#00-07
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f
    -    MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,#10-17
    -         4,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f
    -    MachineState.ERROR,MachineState.ERROR,     5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#20-27
    -    MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f
    -)
    -
    -# To be accurate, the length of class 6 can be either 2 or 4.
    -# But it is not necessary to discriminate between the two since
    -# it is used for frequency analysis only, and we are validating
    -# each code range there as well. So it is safe to set it to be
    -# 2 here.
    -GB2312_CHAR_LEN_TABLE = (0, 1, 1, 1, 1, 1, 2)
    -
    -GB2312_SM_MODEL = {'class_table': GB2312_CLS,
    -                   'class_factor': 7,
    -                   'state_table': GB2312_ST,
    -                   'char_len_table': GB2312_CHAR_LEN_TABLE,
    -                   'name': 'GB2312'}
    -
    -# Shift_JIS
    -
    -SJIS_CLS = (
    -    1,1,1,1,1,1,1,1,  # 00 - 07
    -    1,1,1,1,1,1,0,0,  # 08 - 0f
    -    1,1,1,1,1,1,1,1,  # 10 - 17
    -    1,1,1,0,1,1,1,1,  # 18 - 1f
    -    1,1,1,1,1,1,1,1,  # 20 - 27
    -    1,1,1,1,1,1,1,1,  # 28 - 2f
    -    1,1,1,1,1,1,1,1,  # 30 - 37
    -    1,1,1,1,1,1,1,1,  # 38 - 3f
    -    2,2,2,2,2,2,2,2,  # 40 - 47
    -    2,2,2,2,2,2,2,2,  # 48 - 4f
    -    2,2,2,2,2,2,2,2,  # 50 - 57
    -    2,2,2,2,2,2,2,2,  # 58 - 5f
    -    2,2,2,2,2,2,2,2,  # 60 - 67
    -    2,2,2,2,2,2,2,2,  # 68 - 6f
    -    2,2,2,2,2,2,2,2,  # 70 - 77
    -    2,2,2,2,2,2,2,1,  # 78 - 7f
    -    3,3,3,3,3,2,2,3,  # 80 - 87
    -    3,3,3,3,3,3,3,3,  # 88 - 8f
    -    3,3,3,3,3,3,3,3,  # 90 - 97
    -    3,3,3,3,3,3,3,3,  # 98 - 9f
    -    #0xa0 is illegal in sjis encoding, but some pages does
    -    #contain such byte. We need to be more error forgiven.
    -    2,2,2,2,2,2,2,2,  # a0 - a7
    -    2,2,2,2,2,2,2,2,  # a8 - af
    -    2,2,2,2,2,2,2,2,  # b0 - b7
    -    2,2,2,2,2,2,2,2,  # b8 - bf
    -    2,2,2,2,2,2,2,2,  # c0 - c7
    -    2,2,2,2,2,2,2,2,  # c8 - cf
    -    2,2,2,2,2,2,2,2,  # d0 - d7
    -    2,2,2,2,2,2,2,2,  # d8 - df
    -    3,3,3,3,3,3,3,3,  # e0 - e7
    -    3,3,3,3,3,4,4,4,  # e8 - ef
    -    3,3,3,3,3,3,3,3,  # f0 - f7
    -    3,3,3,3,3,0,0,0)  # f8 - ff
    -
    -
    -SJIS_ST = (
    -    MachineState.ERROR,MachineState.START,MachineState.START,     3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f
    -    MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START #10-17
    -)
    -
    -SJIS_CHAR_LEN_TABLE = (0, 1, 1, 2, 0, 0)
    -
    -SJIS_SM_MODEL = {'class_table': SJIS_CLS,
    -               'class_factor': 6,
    -               'state_table': SJIS_ST,
    -               'char_len_table': SJIS_CHAR_LEN_TABLE,
    -               'name': 'Shift_JIS'}
    -
    -# UCS2-BE
    -
    -UCS2BE_CLS = (
    -    0,0,0,0,0,0,0,0,  # 00 - 07
    -    0,0,1,0,0,2,0,0,  # 08 - 0f
    -    0,0,0,0,0,0,0,0,  # 10 - 17
    -    0,0,0,3,0,0,0,0,  # 18 - 1f
    -    0,0,0,0,0,0,0,0,  # 20 - 27
    -    0,3,3,3,3,3,0,0,  # 28 - 2f
    -    0,0,0,0,0,0,0,0,  # 30 - 37
    -    0,0,0,0,0,0,0,0,  # 38 - 3f
    -    0,0,0,0,0,0,0,0,  # 40 - 47
    -    0,0,0,0,0,0,0,0,  # 48 - 4f
    -    0,0,0,0,0,0,0,0,  # 50 - 57
    -    0,0,0,0,0,0,0,0,  # 58 - 5f
    -    0,0,0,0,0,0,0,0,  # 60 - 67
    -    0,0,0,0,0,0,0,0,  # 68 - 6f
    -    0,0,0,0,0,0,0,0,  # 70 - 77
    -    0,0,0,0,0,0,0,0,  # 78 - 7f
    -    0,0,0,0,0,0,0,0,  # 80 - 87
    -    0,0,0,0,0,0,0,0,  # 88 - 8f
    -    0,0,0,0,0,0,0,0,  # 90 - 97
    -    0,0,0,0,0,0,0,0,  # 98 - 9f
    -    0,0,0,0,0,0,0,0,  # a0 - a7
    -    0,0,0,0,0,0,0,0,  # a8 - af
    -    0,0,0,0,0,0,0,0,  # b0 - b7
    -    0,0,0,0,0,0,0,0,  # b8 - bf
    -    0,0,0,0,0,0,0,0,  # c0 - c7
    -    0,0,0,0,0,0,0,0,  # c8 - cf
    -    0,0,0,0,0,0,0,0,  # d0 - d7
    -    0,0,0,0,0,0,0,0,  # d8 - df
    -    0,0,0,0,0,0,0,0,  # e0 - e7
    -    0,0,0,0,0,0,0,0,  # e8 - ef
    -    0,0,0,0,0,0,0,0,  # f0 - f7
    -    0,0,0,0,0,0,4,5   # f8 - ff
    -)
    -
    -UCS2BE_ST  = (
    -          5,     7,     7,MachineState.ERROR,     4,     3,MachineState.ERROR,MachineState.ERROR,#00-07
    -     MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f
    -     MachineState.ITS_ME,MachineState.ITS_ME,     6,     6,     6,     6,MachineState.ERROR,MachineState.ERROR,#10-17
    -          6,     6,     6,     6,     6,MachineState.ITS_ME,     6,     6,#18-1f
    -          6,     6,     6,     6,     5,     7,     7,MachineState.ERROR,#20-27
    -          5,     8,     6,     6,MachineState.ERROR,     6,     6,     6,#28-2f
    -          6,     6,     6,     6,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #30-37
    -)
    -
    -UCS2BE_CHAR_LEN_TABLE = (2, 2, 2, 0, 2, 2)
    -
    -UCS2BE_SM_MODEL = {'class_table': UCS2BE_CLS,
    -                   'class_factor': 6,
    -                   'state_table': UCS2BE_ST,
    -                   'char_len_table': UCS2BE_CHAR_LEN_TABLE,
    -                   'name': 'UTF-16BE'}
    -
    -# UCS2-LE
    -
    -UCS2LE_CLS = (
    -    0,0,0,0,0,0,0,0,  # 00 - 07
    -    0,0,1,0,0,2,0,0,  # 08 - 0f
    -    0,0,0,0,0,0,0,0,  # 10 - 17
    -    0,0,0,3,0,0,0,0,  # 18 - 1f
    -    0,0,0,0,0,0,0,0,  # 20 - 27
    -    0,3,3,3,3,3,0,0,  # 28 - 2f
    -    0,0,0,0,0,0,0,0,  # 30 - 37
    -    0,0,0,0,0,0,0,0,  # 38 - 3f
    -    0,0,0,0,0,0,0,0,  # 40 - 47
    -    0,0,0,0,0,0,0,0,  # 48 - 4f
    -    0,0,0,0,0,0,0,0,  # 50 - 57
    -    0,0,0,0,0,0,0,0,  # 58 - 5f
    -    0,0,0,0,0,0,0,0,  # 60 - 67
    -    0,0,0,0,0,0,0,0,  # 68 - 6f
    -    0,0,0,0,0,0,0,0,  # 70 - 77
    -    0,0,0,0,0,0,0,0,  # 78 - 7f
    -    0,0,0,0,0,0,0,0,  # 80 - 87
    -    0,0,0,0,0,0,0,0,  # 88 - 8f
    -    0,0,0,0,0,0,0,0,  # 90 - 97
    -    0,0,0,0,0,0,0,0,  # 98 - 9f
    -    0,0,0,0,0,0,0,0,  # a0 - a7
    -    0,0,0,0,0,0,0,0,  # a8 - af
    -    0,0,0,0,0,0,0,0,  # b0 - b7
    -    0,0,0,0,0,0,0,0,  # b8 - bf
    -    0,0,0,0,0,0,0,0,  # c0 - c7
    -    0,0,0,0,0,0,0,0,  # c8 - cf
    -    0,0,0,0,0,0,0,0,  # d0 - d7
    -    0,0,0,0,0,0,0,0,  # d8 - df
    -    0,0,0,0,0,0,0,0,  # e0 - e7
    -    0,0,0,0,0,0,0,0,  # e8 - ef
    -    0,0,0,0,0,0,0,0,  # f0 - f7
    -    0,0,0,0,0,0,4,5   # f8 - ff
    -)
    -
    -UCS2LE_ST = (
    -          6,     6,     7,     6,     4,     3,MachineState.ERROR,MachineState.ERROR,#00-07
    -     MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f
    -     MachineState.ITS_ME,MachineState.ITS_ME,     5,     5,     5,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#10-17
    -          5,     5,     5,MachineState.ERROR,     5,MachineState.ERROR,     6,     6,#18-1f
    -          7,     6,     8,     8,     5,     5,     5,MachineState.ERROR,#20-27
    -          5,     5,     5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,     5,     5,#28-2f
    -          5,     5,     5,MachineState.ERROR,     5,MachineState.ERROR,MachineState.START,MachineState.START #30-37
    -)
    -
    -UCS2LE_CHAR_LEN_TABLE = (2, 2, 2, 2, 2, 2)
    -
    -UCS2LE_SM_MODEL = {'class_table': UCS2LE_CLS,
    -                 'class_factor': 6,
    -                 'state_table': UCS2LE_ST,
    -                 'char_len_table': UCS2LE_CHAR_LEN_TABLE,
    -                 'name': 'UTF-16LE'}
    -
    -# UTF-8
    -
    -UTF8_CLS = (
    -    1,1,1,1,1,1,1,1,  # 00 - 07  #allow 0x00 as a legal value
    -    1,1,1,1,1,1,0,0,  # 08 - 0f
    -    1,1,1,1,1,1,1,1,  # 10 - 17
    -    1,1,1,0,1,1,1,1,  # 18 - 1f
    -    1,1,1,1,1,1,1,1,  # 20 - 27
    -    1,1,1,1,1,1,1,1,  # 28 - 2f
    -    1,1,1,1,1,1,1,1,  # 30 - 37
    -    1,1,1,1,1,1,1,1,  # 38 - 3f
    -    1,1,1,1,1,1,1,1,  # 40 - 47
    -    1,1,1,1,1,1,1,1,  # 48 - 4f
    -    1,1,1,1,1,1,1,1,  # 50 - 57
    -    1,1,1,1,1,1,1,1,  # 58 - 5f
    -    1,1,1,1,1,1,1,1,  # 60 - 67
    -    1,1,1,1,1,1,1,1,  # 68 - 6f
    -    1,1,1,1,1,1,1,1,  # 70 - 77
    -    1,1,1,1,1,1,1,1,  # 78 - 7f
    -    2,2,2,2,3,3,3,3,  # 80 - 87
    -    4,4,4,4,4,4,4,4,  # 88 - 8f
    -    4,4,4,4,4,4,4,4,  # 90 - 97
    -    4,4,4,4,4,4,4,4,  # 98 - 9f
    -    5,5,5,5,5,5,5,5,  # a0 - a7
    -    5,5,5,5,5,5,5,5,  # a8 - af
    -    5,5,5,5,5,5,5,5,  # b0 - b7
    -    5,5,5,5,5,5,5,5,  # b8 - bf
    -    0,0,6,6,6,6,6,6,  # c0 - c7
    -    6,6,6,6,6,6,6,6,  # c8 - cf
    -    6,6,6,6,6,6,6,6,  # d0 - d7
    -    6,6,6,6,6,6,6,6,  # d8 - df
    -    7,8,8,8,8,8,8,8,  # e0 - e7
    -    8,8,8,8,8,9,8,8,  # e8 - ef
    -    10,11,11,11,11,11,11,11,  # f0 - f7
    -    12,13,13,13,14,15,0,0    # f8 - ff
    -)
    -
    -UTF8_ST = (
    -    MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,     12,   10,#00-07
    -         9,     11,     8,     7,     6,     5,     4,    3,#08-0f
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f
    -    MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#20-27
    -    MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#28-2f
    -    MachineState.ERROR,MachineState.ERROR,     5,     5,     5,     5,MachineState.ERROR,MachineState.ERROR,#30-37
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#38-3f
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,     5,     5,     5,MachineState.ERROR,MachineState.ERROR,#40-47
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#48-4f
    -    MachineState.ERROR,MachineState.ERROR,     7,     7,     7,     7,MachineState.ERROR,MachineState.ERROR,#50-57
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#58-5f
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,     7,     7,MachineState.ERROR,MachineState.ERROR,#60-67
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#68-6f
    -    MachineState.ERROR,MachineState.ERROR,     9,     9,     9,     9,MachineState.ERROR,MachineState.ERROR,#70-77
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#78-7f
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,     9,MachineState.ERROR,MachineState.ERROR,#80-87
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#88-8f
    -    MachineState.ERROR,MachineState.ERROR,    12,    12,    12,    12,MachineState.ERROR,MachineState.ERROR,#90-97
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#98-9f
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,    12,MachineState.ERROR,MachineState.ERROR,#a0-a7
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#a8-af
    -    MachineState.ERROR,MachineState.ERROR,    12,    12,    12,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b0-b7
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b8-bf
    -    MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,#c0-c7
    -    MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR #c8-cf
    -)
    -
    -UTF8_CHAR_LEN_TABLE = (0, 1, 0, 0, 0, 0, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6)
    -
    -UTF8_SM_MODEL = {'class_table': UTF8_CLS,
    -                 'class_factor': 16,
    -                 'state_table': UTF8_ST,
    -                 'char_len_table': UTF8_CHAR_LEN_TABLE,
    -                 'name': 'UTF-8'}
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sbcharsetprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sbcharsetprober.py
    deleted file mode 100644
    index 0adb51d..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sbcharsetprober.py
    +++ /dev/null
    @@ -1,132 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Universal charset detector code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 2001
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#   Shy Shalom - original C code
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .charsetprober import CharSetProber
    -from .enums import CharacterCategory, ProbingState, SequenceLikelihood
    -
    -
    -class SingleByteCharSetProber(CharSetProber):
    -    SAMPLE_SIZE = 64
    -    SB_ENOUGH_REL_THRESHOLD = 1024  #  0.25 * SAMPLE_SIZE^2
    -    POSITIVE_SHORTCUT_THRESHOLD = 0.95
    -    NEGATIVE_SHORTCUT_THRESHOLD = 0.05
    -
    -    def __init__(self, model, reversed=False, name_prober=None):
    -        super(SingleByteCharSetProber, self).__init__()
    -        self._model = model
    -        # TRUE if we need to reverse every pair in the model lookup
    -        self._reversed = reversed
    -        # Optional auxiliary prober for name decision
    -        self._name_prober = name_prober
    -        self._last_order = None
    -        self._seq_counters = None
    -        self._total_seqs = None
    -        self._total_char = None
    -        self._freq_char = None
    -        self.reset()
    -
    -    def reset(self):
    -        super(SingleByteCharSetProber, self).reset()
    -        # char order of last character
    -        self._last_order = 255
    -        self._seq_counters = [0] * SequenceLikelihood.get_num_categories()
    -        self._total_seqs = 0
    -        self._total_char = 0
    -        # characters that fall in our sampling range
    -        self._freq_char = 0
    -
    -    @property
    -    def charset_name(self):
    -        if self._name_prober:
    -            return self._name_prober.charset_name
    -        else:
    -            return self._model['charset_name']
    -
    -    @property
    -    def language(self):
    -        if self._name_prober:
    -            return self._name_prober.language
    -        else:
    -            return self._model.get('language')
    -
    -    def feed(self, byte_str):
    -        if not self._model['keep_english_letter']:
    -            byte_str = self.filter_international_words(byte_str)
    -        if not byte_str:
    -            return self.state
    -        char_to_order_map = self._model['char_to_order_map']
    -        for i, c in enumerate(byte_str):
    -            # XXX: Order is in range 1-64, so one would think we want 0-63 here,
    -            #      but that leads to 27 more test failures than before.
    -            order = char_to_order_map[c]
    -            # XXX: This was SYMBOL_CAT_ORDER before, with a value of 250, but
    -            #      CharacterCategory.SYMBOL is actually 253, so we use CONTROL
    -            #      to make it closer to the original intent. The only difference
    -            #      is whether or not we count digits and control characters for
    -            #      _total_char purposes.
    -            if order < CharacterCategory.CONTROL:
    -                self._total_char += 1
    -            if order < self.SAMPLE_SIZE:
    -                self._freq_char += 1
    -                if self._last_order < self.SAMPLE_SIZE:
    -                    self._total_seqs += 1
    -                    if not self._reversed:
    -                        i = (self._last_order * self.SAMPLE_SIZE) + order
    -                        model = self._model['precedence_matrix'][i]
    -                    else:  # reverse the order of the letters in the lookup
    -                        i = (order * self.SAMPLE_SIZE) + self._last_order
    -                        model = self._model['precedence_matrix'][i]
    -                    self._seq_counters[model] += 1
    -            self._last_order = order
    -
    -        charset_name = self._model['charset_name']
    -        if self.state == ProbingState.DETECTING:
    -            if self._total_seqs > self.SB_ENOUGH_REL_THRESHOLD:
    -                confidence = self.get_confidence()
    -                if confidence > self.POSITIVE_SHORTCUT_THRESHOLD:
    -                    self.logger.debug('%s confidence = %s, we have a winner',
    -                                      charset_name, confidence)
    -                    self._state = ProbingState.FOUND_IT
    -                elif confidence < self.NEGATIVE_SHORTCUT_THRESHOLD:
    -                    self.logger.debug('%s confidence = %s, below negative '
    -                                      'shortcut threshhold %s', charset_name,
    -                                      confidence,
    -                                      self.NEGATIVE_SHORTCUT_THRESHOLD)
    -                    self._state = ProbingState.NOT_ME
    -
    -        return self.state
    -
    -    def get_confidence(self):
    -        r = 0.01
    -        if self._total_seqs > 0:
    -            r = ((1.0 * self._seq_counters[SequenceLikelihood.POSITIVE]) /
    -                 self._total_seqs / self._model['typical_positive_ratio'])
    -            r = r * self._freq_char / self._total_char
    -            if r >= 1.0:
    -                r = 0.99
    -        return r
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sbcsgroupprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sbcsgroupprober.py
    deleted file mode 100644
    index 98e95dc..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sbcsgroupprober.py
    +++ /dev/null
    @@ -1,73 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Universal charset detector code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 2001
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#   Shy Shalom - original C code
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .charsetgroupprober import CharSetGroupProber
    -from .sbcharsetprober import SingleByteCharSetProber
    -from .langcyrillicmodel import (Win1251CyrillicModel, Koi8rModel,
    -                                Latin5CyrillicModel, MacCyrillicModel,
    -                                Ibm866Model, Ibm855Model)
    -from .langgreekmodel import Latin7GreekModel, Win1253GreekModel
    -from .langbulgarianmodel import Latin5BulgarianModel, Win1251BulgarianModel
    -# from .langhungarianmodel import Latin2HungarianModel, Win1250HungarianModel
    -from .langthaimodel import TIS620ThaiModel
    -from .langhebrewmodel import Win1255HebrewModel
    -from .hebrewprober import HebrewProber
    -from .langturkishmodel import Latin5TurkishModel
    -
    -
    -class SBCSGroupProber(CharSetGroupProber):
    -    def __init__(self):
    -        super(SBCSGroupProber, self).__init__()
    -        self.probers = [
    -            SingleByteCharSetProber(Win1251CyrillicModel),
    -            SingleByteCharSetProber(Koi8rModel),
    -            SingleByteCharSetProber(Latin5CyrillicModel),
    -            SingleByteCharSetProber(MacCyrillicModel),
    -            SingleByteCharSetProber(Ibm866Model),
    -            SingleByteCharSetProber(Ibm855Model),
    -            SingleByteCharSetProber(Latin7GreekModel),
    -            SingleByteCharSetProber(Win1253GreekModel),
    -            SingleByteCharSetProber(Latin5BulgarianModel),
    -            SingleByteCharSetProber(Win1251BulgarianModel),
    -            # TODO: Restore Hungarian encodings (iso-8859-2 and windows-1250)
    -            #       after we retrain model.
    -            # SingleByteCharSetProber(Latin2HungarianModel),
    -            # SingleByteCharSetProber(Win1250HungarianModel),
    -            SingleByteCharSetProber(TIS620ThaiModel),
    -            SingleByteCharSetProber(Latin5TurkishModel),
    -        ]
    -        hebrew_prober = HebrewProber()
    -        logical_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel,
    -                                                        False, hebrew_prober)
    -        visual_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, True,
    -                                                       hebrew_prober)
    -        hebrew_prober.set_model_probers(logical_hebrew_prober, visual_hebrew_prober)
    -        self.probers.extend([hebrew_prober, logical_hebrew_prober,
    -                             visual_hebrew_prober])
    -
    -        self.reset()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sjisprober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sjisprober.py
    deleted file mode 100644
    index 9e29623..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/sjisprober.py
    +++ /dev/null
    @@ -1,92 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is mozilla.org code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .mbcharsetprober import MultiByteCharSetProber
    -from .codingstatemachine import CodingStateMachine
    -from .chardistribution import SJISDistributionAnalysis
    -from .jpcntx import SJISContextAnalysis
    -from .mbcssm import SJIS_SM_MODEL
    -from .enums import ProbingState, MachineState
    -
    -
    -class SJISProber(MultiByteCharSetProber):
    -    def __init__(self):
    -        super(SJISProber, self).__init__()
    -        self.coding_sm = CodingStateMachine(SJIS_SM_MODEL)
    -        self.distribution_analyzer = SJISDistributionAnalysis()
    -        self.context_analyzer = SJISContextAnalysis()
    -        self.reset()
    -
    -    def reset(self):
    -        super(SJISProber, self).reset()
    -        self.context_analyzer.reset()
    -
    -    @property
    -    def charset_name(self):
    -        return self.context_analyzer.charset_name
    -
    -    @property
    -    def language(self):
    -        return "Japanese"
    -
    -    def feed(self, byte_str):
    -        for i in range(len(byte_str)):
    -            coding_state = self.coding_sm.next_state(byte_str[i])
    -            if coding_state == MachineState.ERROR:
    -                self.logger.debug('%s %s prober hit error at byte %s',
    -                                  self.charset_name, self.language, i)
    -                self._state = ProbingState.NOT_ME
    -                break
    -            elif coding_state == MachineState.ITS_ME:
    -                self._state = ProbingState.FOUND_IT
    -                break
    -            elif coding_state == MachineState.START:
    -                char_len = self.coding_sm.get_current_charlen()
    -                if i == 0:
    -                    self._last_char[1] = byte_str[0]
    -                    self.context_analyzer.feed(self._last_char[2 - char_len:],
    -                                               char_len)
    -                    self.distribution_analyzer.feed(self._last_char, char_len)
    -                else:
    -                    self.context_analyzer.feed(byte_str[i + 1 - char_len:i + 3
    -                                                        - char_len], char_len)
    -                    self.distribution_analyzer.feed(byte_str[i - 1:i + 1],
    -                                                    char_len)
    -
    -        self._last_char[0] = byte_str[-1]
    -
    -        if self.state == ProbingState.DETECTING:
    -            if (self.context_analyzer.got_enough_data() and
    -               (self.get_confidence() > self.SHORTCUT_THRESHOLD)):
    -                self._state = ProbingState.FOUND_IT
    -
    -        return self.state
    -
    -    def get_confidence(self):
    -        context_conf = self.context_analyzer.get_confidence()
    -        distrib_conf = self.distribution_analyzer.get_confidence()
    -        return max(context_conf, distrib_conf)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/universaldetector.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/universaldetector.py
    deleted file mode 100644
    index 7b4e92d..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/universaldetector.py
    +++ /dev/null
    @@ -1,286 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is Mozilla Universal charset detector code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 2001
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#   Shy Shalom - original C code
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -"""
    -Module containing the UniversalDetector detector class, which is the primary
    -class a user of ``chardet`` should use.
    -
    -:author: Mark Pilgrim (initial port to Python)
    -:author: Shy Shalom (original C code)
    -:author: Dan Blanchard (major refactoring for 3.0)
    -:author: Ian Cordasco
    -"""
    -
    -
    -import codecs
    -import logging
    -import re
    -
    -from .charsetgroupprober import CharSetGroupProber
    -from .enums import InputState, LanguageFilter, ProbingState
    -from .escprober import EscCharSetProber
    -from .latin1prober import Latin1Prober
    -from .mbcsgroupprober import MBCSGroupProber
    -from .sbcsgroupprober import SBCSGroupProber
    -
    -
    -class UniversalDetector(object):
    -    """
    -    The ``UniversalDetector`` class underlies the ``chardet.detect`` function
    -    and coordinates all of the different charset probers.
    -
    -    To get a ``dict`` containing an encoding and its confidence, you can simply
    -    run:
    -
    -    .. code::
    -
    -            u = UniversalDetector()
    -            u.feed(some_bytes)
    -            u.close()
    -            detected = u.result
    -
    -    """
    -
    -    MINIMUM_THRESHOLD = 0.20
    -    HIGH_BYTE_DETECTOR = re.compile(b'[\x80-\xFF]')
    -    ESC_DETECTOR = re.compile(b'(\033|~{)')
    -    WIN_BYTE_DETECTOR = re.compile(b'[\x80-\x9F]')
    -    ISO_WIN_MAP = {'iso-8859-1': 'Windows-1252',
    -                   'iso-8859-2': 'Windows-1250',
    -                   'iso-8859-5': 'Windows-1251',
    -                   'iso-8859-6': 'Windows-1256',
    -                   'iso-8859-7': 'Windows-1253',
    -                   'iso-8859-8': 'Windows-1255',
    -                   'iso-8859-9': 'Windows-1254',
    -                   'iso-8859-13': 'Windows-1257'}
    -
    -    def __init__(self, lang_filter=LanguageFilter.ALL):
    -        self._esc_charset_prober = None
    -        self._charset_probers = []
    -        self.result = None
    -        self.done = None
    -        self._got_data = None
    -        self._input_state = None
    -        self._last_char = None
    -        self.lang_filter = lang_filter
    -        self.logger = logging.getLogger(__name__)
    -        self._has_win_bytes = None
    -        self.reset()
    -
    -    def reset(self):
    -        """
    -        Reset the UniversalDetector and all of its probers back to their
    -        initial states.  This is called by ``__init__``, so you only need to
    -        call this directly in between analyses of different documents.
    -        """
    -        self.result = {'encoding': None, 'confidence': 0.0, 'language': None}
    -        self.done = False
    -        self._got_data = False
    -        self._has_win_bytes = False
    -        self._input_state = InputState.PURE_ASCII
    -        self._last_char = b''
    -        if self._esc_charset_prober:
    -            self._esc_charset_prober.reset()
    -        for prober in self._charset_probers:
    -            prober.reset()
    -
    -    def feed(self, byte_str):
    -        """
    -        Takes a chunk of a document and feeds it through all of the relevant
    -        charset probers.
    -
    -        After calling ``feed``, you can check the value of the ``done``
    -        attribute to see if you need to continue feeding the
    -        ``UniversalDetector`` more data, or if it has made a prediction
    -        (in the ``result`` attribute).
    -
    -        .. note::
    -           You should always call ``close`` when you're done feeding in your
    -           document if ``done`` is not already ``True``.
    -        """
    -        if self.done:
    -            return
    -
    -        if not len(byte_str):
    -            return
    -
    -        if not isinstance(byte_str, bytearray):
    -            byte_str = bytearray(byte_str)
    -
    -        # First check for known BOMs, since these are guaranteed to be correct
    -        if not self._got_data:
    -            # If the data starts with BOM, we know it is UTF
    -            if byte_str.startswith(codecs.BOM_UTF8):
    -                # EF BB BF  UTF-8 with BOM
    -                self.result = {'encoding': "UTF-8-SIG",
    -                               'confidence': 1.0,
    -                               'language': ''}
    -            elif byte_str.startswith((codecs.BOM_UTF32_LE,
    -                                      codecs.BOM_UTF32_BE)):
    -                # FF FE 00 00  UTF-32, little-endian BOM
    -                # 00 00 FE FF  UTF-32, big-endian BOM
    -                self.result = {'encoding': "UTF-32",
    -                               'confidence': 1.0,
    -                               'language': ''}
    -            elif byte_str.startswith(b'\xFE\xFF\x00\x00'):
    -                # FE FF 00 00  UCS-4, unusual octet order BOM (3412)
    -                self.result = {'encoding': "X-ISO-10646-UCS-4-3412",
    -                               'confidence': 1.0,
    -                               'language': ''}
    -            elif byte_str.startswith(b'\x00\x00\xFF\xFE'):
    -                # 00 00 FF FE  UCS-4, unusual octet order BOM (2143)
    -                self.result = {'encoding': "X-ISO-10646-UCS-4-2143",
    -                               'confidence': 1.0,
    -                               'language': ''}
    -            elif byte_str.startswith((codecs.BOM_LE, codecs.BOM_BE)):
    -                # FF FE  UTF-16, little endian BOM
    -                # FE FF  UTF-16, big endian BOM
    -                self.result = {'encoding': "UTF-16",
    -                               'confidence': 1.0,
    -                               'language': ''}
    -
    -            self._got_data = True
    -            if self.result['encoding'] is not None:
    -                self.done = True
    -                return
    -
    -        # If none of those matched and we've only see ASCII so far, check
    -        # for high bytes and escape sequences
    -        if self._input_state == InputState.PURE_ASCII:
    -            if self.HIGH_BYTE_DETECTOR.search(byte_str):
    -                self._input_state = InputState.HIGH_BYTE
    -            elif self._input_state == InputState.PURE_ASCII and \
    -                    self.ESC_DETECTOR.search(self._last_char + byte_str):
    -                self._input_state = InputState.ESC_ASCII
    -
    -        self._last_char = byte_str[-1:]
    -
    -        # If we've seen escape sequences, use the EscCharSetProber, which
    -        # uses a simple state machine to check for known escape sequences in
    -        # HZ and ISO-2022 encodings, since those are the only encodings that
    -        # use such sequences.
    -        if self._input_state == InputState.ESC_ASCII:
    -            if not self._esc_charset_prober:
    -                self._esc_charset_prober = EscCharSetProber(self.lang_filter)
    -            if self._esc_charset_prober.feed(byte_str) == ProbingState.FOUND_IT:
    -                self.result = {'encoding':
    -                               self._esc_charset_prober.charset_name,
    -                               'confidence':
    -                               self._esc_charset_prober.get_confidence(),
    -                               'language':
    -                               self._esc_charset_prober.language}
    -                self.done = True
    -        # If we've seen high bytes (i.e., those with values greater than 127),
    -        # we need to do more complicated checks using all our multi-byte and
    -        # single-byte probers that are left.  The single-byte probers
    -        # use character bigram distributions to determine the encoding, whereas
    -        # the multi-byte probers use a combination of character unigram and
    -        # bigram distributions.
    -        elif self._input_state == InputState.HIGH_BYTE:
    -            if not self._charset_probers:
    -                self._charset_probers = [MBCSGroupProber(self.lang_filter)]
    -                # If we're checking non-CJK encodings, use single-byte prober
    -                if self.lang_filter & LanguageFilter.NON_CJK:
    -                    self._charset_probers.append(SBCSGroupProber())
    -                self._charset_probers.append(Latin1Prober())
    -            for prober in self._charset_probers:
    -                if prober.feed(byte_str) == ProbingState.FOUND_IT:
    -                    self.result = {'encoding': prober.charset_name,
    -                                   'confidence': prober.get_confidence(),
    -                                   'language': prober.language}
    -                    self.done = True
    -                    break
    -            if self.WIN_BYTE_DETECTOR.search(byte_str):
    -                self._has_win_bytes = True
    -
    -    def close(self):
    -        """
    -        Stop analyzing the current document and come up with a final
    -        prediction.
    -
    -        :returns:  The ``result`` attribute, a ``dict`` with the keys
    -                   `encoding`, `confidence`, and `language`.
    -        """
    -        # Don't bother with checks if we're already done
    -        if self.done:
    -            return self.result
    -        self.done = True
    -
    -        if not self._got_data:
    -            self.logger.debug('no data received!')
    -
    -        # Default to ASCII if it is all we've seen so far
    -        elif self._input_state == InputState.PURE_ASCII:
    -            self.result = {'encoding': 'ascii',
    -                           'confidence': 1.0,
    -                           'language': ''}
    -
    -        # If we have seen non-ASCII, return the best that met MINIMUM_THRESHOLD
    -        elif self._input_state == InputState.HIGH_BYTE:
    -            prober_confidence = None
    -            max_prober_confidence = 0.0
    -            max_prober = None
    -            for prober in self._charset_probers:
    -                if not prober:
    -                    continue
    -                prober_confidence = prober.get_confidence()
    -                if prober_confidence > max_prober_confidence:
    -                    max_prober_confidence = prober_confidence
    -                    max_prober = prober
    -            if max_prober and (max_prober_confidence > self.MINIMUM_THRESHOLD):
    -                charset_name = max_prober.charset_name
    -                lower_charset_name = max_prober.charset_name.lower()
    -                confidence = max_prober.get_confidence()
    -                # Use Windows encoding name instead of ISO-8859 if we saw any
    -                # extra Windows-specific bytes
    -                if lower_charset_name.startswith('iso-8859'):
    -                    if self._has_win_bytes:
    -                        charset_name = self.ISO_WIN_MAP.get(lower_charset_name,
    -                                                            charset_name)
    -                self.result = {'encoding': charset_name,
    -                               'confidence': confidence,
    -                               'language': max_prober.language}
    -
    -        # Log all prober confidences if none met MINIMUM_THRESHOLD
    -        if self.logger.getEffectiveLevel() == logging.DEBUG:
    -            if self.result['encoding'] is None:
    -                self.logger.debug('no probers hit minimum threshold')
    -                for group_prober in self._charset_probers:
    -                    if not group_prober:
    -                        continue
    -                    if isinstance(group_prober, CharSetGroupProber):
    -                        for prober in group_prober.probers:
    -                            self.logger.debug('%s %s confidence = %s',
    -                                              prober.charset_name,
    -                                              prober.language,
    -                                              prober.get_confidence())
    -                    else:
    -                        self.logger.debug('%s %s confidence = %s',
    -                                          prober.charset_name,
    -                                          prober.language,
    -                                          prober.get_confidence())
    -        return self.result
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/utf8prober.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/utf8prober.py
    deleted file mode 100644
    index 6c3196c..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/utf8prober.py
    +++ /dev/null
    @@ -1,82 +0,0 @@
    -######################## BEGIN LICENSE BLOCK ########################
    -# The Original Code is mozilla.org code.
    -#
    -# The Initial Developer of the Original Code is
    -# Netscape Communications Corporation.
    -# Portions created by the Initial Developer are Copyright (C) 1998
    -# the Initial Developer. All Rights Reserved.
    -#
    -# Contributor(s):
    -#   Mark Pilgrim - port to Python
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -# 02110-1301  USA
    -######################### END LICENSE BLOCK #########################
    -
    -from .charsetprober import CharSetProber
    -from .enums import ProbingState, MachineState
    -from .codingstatemachine import CodingStateMachine
    -from .mbcssm import UTF8_SM_MODEL
    -
    -
    -
    -class UTF8Prober(CharSetProber):
    -    ONE_CHAR_PROB = 0.5
    -
    -    def __init__(self):
    -        super(UTF8Prober, self).__init__()
    -        self.coding_sm = CodingStateMachine(UTF8_SM_MODEL)
    -        self._num_mb_chars = None
    -        self.reset()
    -
    -    def reset(self):
    -        super(UTF8Prober, self).reset()
    -        self.coding_sm.reset()
    -        self._num_mb_chars = 0
    -
    -    @property
    -    def charset_name(self):
    -        return "utf-8"
    -
    -    @property
    -    def language(self):
    -        return ""
    -
    -    def feed(self, byte_str):
    -        for c in byte_str:
    -            coding_state = self.coding_sm.next_state(c)
    -            if coding_state == MachineState.ERROR:
    -                self._state = ProbingState.NOT_ME
    -                break
    -            elif coding_state == MachineState.ITS_ME:
    -                self._state = ProbingState.FOUND_IT
    -                break
    -            elif coding_state == MachineState.START:
    -                if self.coding_sm.get_current_charlen() >= 2:
    -                    self._num_mb_chars += 1
    -
    -        if self.state == ProbingState.DETECTING:
    -            if self.get_confidence() > self.SHORTCUT_THRESHOLD:
    -                self._state = ProbingState.FOUND_IT
    -
    -        return self.state
    -
    -    def get_confidence(self):
    -        unlike = 0.99
    -        if self._num_mb_chars < 6:
    -            unlike *= self.ONE_CHAR_PROB ** self._num_mb_chars
    -            return 1.0 - unlike
    -        else:
    -            return unlike
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/version.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/version.py
    deleted file mode 100644
    index bb2a34a..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/chardet/version.py
    +++ /dev/null
    @@ -1,9 +0,0 @@
    -"""
    -This module exists only to simplify retrieving the version number of chardet
    -from within setup.py and from chardet subpackages.
    -
    -:author: Dan Blanchard (dan.blanchard@gmail.com)
    -"""
    -
    -__version__ = "3.0.4"
    -VERSION = __version__.split('.')
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/__init__.py
    deleted file mode 100644
    index 2a3bf47..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/__init__.py
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.
    -from .initialise import init, deinit, reinit, colorama_text
    -from .ansi import Fore, Back, Style, Cursor
    -from .ansitowin32 import AnsiToWin32
    -
    -__version__ = '0.4.1'
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/ansi.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/ansi.py
    deleted file mode 100644
    index 7877658..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/ansi.py
    +++ /dev/null
    @@ -1,102 +0,0 @@
    -# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.
    -'''
    -This module generates ANSI character codes to printing colors to terminals.
    -See: http://en.wikipedia.org/wiki/ANSI_escape_code
    -'''
    -
    -CSI = '\033['
    -OSC = '\033]'
    -BEL = '\007'
    -
    -
    -def code_to_chars(code):
    -    return CSI + str(code) + 'm'
    -
    -def set_title(title):
    -    return OSC + '2;' + title + BEL
    -
    -def clear_screen(mode=2):
    -    return CSI + str(mode) + 'J'
    -
    -def clear_line(mode=2):
    -    return CSI + str(mode) + 'K'
    -
    -
    -class AnsiCodes(object):
    -    def __init__(self):
    -        # the subclasses declare class attributes which are numbers.
    -        # Upon instantiation we define instance attributes, which are the same
    -        # as the class attributes but wrapped with the ANSI escape sequence
    -        for name in dir(self):
    -            if not name.startswith('_'):
    -                value = getattr(self, name)
    -                setattr(self, name, code_to_chars(value))
    -
    -
    -class AnsiCursor(object):
    -    def UP(self, n=1):
    -        return CSI + str(n) + 'A'
    -    def DOWN(self, n=1):
    -        return CSI + str(n) + 'B'
    -    def FORWARD(self, n=1):
    -        return CSI + str(n) + 'C'
    -    def BACK(self, n=1):
    -        return CSI + str(n) + 'D'
    -    def POS(self, x=1, y=1):
    -        return CSI + str(y) + ';' + str(x) + 'H'
    -
    -
    -class AnsiFore(AnsiCodes):
    -    BLACK           = 30
    -    RED             = 31
    -    GREEN           = 32
    -    YELLOW          = 33
    -    BLUE            = 34
    -    MAGENTA         = 35
    -    CYAN            = 36
    -    WHITE           = 37
    -    RESET           = 39
    -
    -    # These are fairly well supported, but not part of the standard.
    -    LIGHTBLACK_EX   = 90
    -    LIGHTRED_EX     = 91
    -    LIGHTGREEN_EX   = 92
    -    LIGHTYELLOW_EX  = 93
    -    LIGHTBLUE_EX    = 94
    -    LIGHTMAGENTA_EX = 95
    -    LIGHTCYAN_EX    = 96
    -    LIGHTWHITE_EX   = 97
    -
    -
    -class AnsiBack(AnsiCodes):
    -    BLACK           = 40
    -    RED             = 41
    -    GREEN           = 42
    -    YELLOW          = 43
    -    BLUE            = 44
    -    MAGENTA         = 45
    -    CYAN            = 46
    -    WHITE           = 47
    -    RESET           = 49
    -
    -    # These are fairly well supported, but not part of the standard.
    -    LIGHTBLACK_EX   = 100
    -    LIGHTRED_EX     = 101
    -    LIGHTGREEN_EX   = 102
    -    LIGHTYELLOW_EX  = 103
    -    LIGHTBLUE_EX    = 104
    -    LIGHTMAGENTA_EX = 105
    -    LIGHTCYAN_EX    = 106
    -    LIGHTWHITE_EX   = 107
    -
    -
    -class AnsiStyle(AnsiCodes):
    -    BRIGHT    = 1
    -    DIM       = 2
    -    NORMAL    = 22
    -    RESET_ALL = 0
    -
    -Fore   = AnsiFore()
    -Back   = AnsiBack()
    -Style  = AnsiStyle()
    -Cursor = AnsiCursor()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/ansitowin32.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/ansitowin32.py
    deleted file mode 100644
    index 359c92b..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/ansitowin32.py
    +++ /dev/null
    @@ -1,257 +0,0 @@
    -# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.
    -import re
    -import sys
    -import os
    -
    -from .ansi import AnsiFore, AnsiBack, AnsiStyle, Style
    -from .winterm import WinTerm, WinColor, WinStyle
    -from .win32 import windll, winapi_test
    -
    -
    -winterm = None
    -if windll is not None:
    -    winterm = WinTerm()
    -
    -
    -class StreamWrapper(object):
    -    '''
    -    Wraps a stream (such as stdout), acting as a transparent proxy for all
    -    attribute access apart from method 'write()', which is delegated to our
    -    Converter instance.
    -    '''
    -    def __init__(self, wrapped, converter):
    -        # double-underscore everything to prevent clashes with names of
    -        # attributes on the wrapped stream object.
    -        self.__wrapped = wrapped
    -        self.__convertor = converter
    -
    -    def __getattr__(self, name):
    -        return getattr(self.__wrapped, name)
    -
    -    def __enter__(self, *args, **kwargs):
    -        # special method lookup bypasses __getattr__/__getattribute__, see
    -        # https://stackoverflow.com/questions/12632894/why-doesnt-getattr-work-with-exit
    -        # thus, contextlib magic methods are not proxied via __getattr__
    -        return self.__wrapped.__enter__(*args, **kwargs)
    -
    -    def __exit__(self, *args, **kwargs):
    -        return self.__wrapped.__exit__(*args, **kwargs)
    -
    -    def write(self, text):
    -        self.__convertor.write(text)
    -
    -    def isatty(self):
    -        stream = self.__wrapped
    -        if 'PYCHARM_HOSTED' in os.environ:
    -            if stream is not None and (stream is sys.__stdout__ or stream is sys.__stderr__):
    -                return True
    -        try:
    -            stream_isatty = stream.isatty
    -        except AttributeError:
    -            return False
    -        else:
    -            return stream_isatty()
    -
    -    @property
    -    def closed(self):
    -        stream = self.__wrapped
    -        try:
    -            return stream.closed
    -        except AttributeError:
    -            return True
    -
    -
    -class AnsiToWin32(object):
    -    '''
    -    Implements a 'write()' method which, on Windows, will strip ANSI character
    -    sequences from the text, and if outputting to a tty, will convert them into
    -    win32 function calls.
    -    '''
    -    ANSI_CSI_RE = re.compile('\001?\033\\[((?:\\d|;)*)([a-zA-Z])\002?')   # Control Sequence Introducer
    -    ANSI_OSC_RE = re.compile('\001?\033\\]((?:.|;)*?)(\x07)\002?')        # Operating System Command
    -
    -    def __init__(self, wrapped, convert=None, strip=None, autoreset=False):
    -        # The wrapped stream (normally sys.stdout or sys.stderr)
    -        self.wrapped = wrapped
    -
    -        # should we reset colors to defaults after every .write()
    -        self.autoreset = autoreset
    -
    -        # create the proxy wrapping our output stream
    -        self.stream = StreamWrapper(wrapped, self)
    -
    -        on_windows = os.name == 'nt'
    -        # We test if the WinAPI works, because even if we are on Windows
    -        # we may be using a terminal that doesn't support the WinAPI
    -        # (e.g. Cygwin Terminal). In this case it's up to the terminal
    -        # to support the ANSI codes.
    -        conversion_supported = on_windows and winapi_test()
    -
    -        # should we strip ANSI sequences from our output?
    -        if strip is None:
    -            strip = conversion_supported or (not self.stream.closed and not self.stream.isatty())
    -        self.strip = strip
    -
    -        # should we should convert ANSI sequences into win32 calls?
    -        if convert is None:
    -            convert = conversion_supported and not self.stream.closed and self.stream.isatty()
    -        self.convert = convert
    -
    -        # dict of ansi codes to win32 functions and parameters
    -        self.win32_calls = self.get_win32_calls()
    -
    -        # are we wrapping stderr?
    -        self.on_stderr = self.wrapped is sys.stderr
    -
    -    def should_wrap(self):
    -        '''
    -        True if this class is actually needed. If false, then the output
    -        stream will not be affected, nor will win32 calls be issued, so
    -        wrapping stdout is not actually required. This will generally be
    -        False on non-Windows platforms, unless optional functionality like
    -        autoreset has been requested using kwargs to init()
    -        '''
    -        return self.convert or self.strip or self.autoreset
    -
    -    def get_win32_calls(self):
    -        if self.convert and winterm:
    -            return {
    -                AnsiStyle.RESET_ALL: (winterm.reset_all, ),
    -                AnsiStyle.BRIGHT: (winterm.style, WinStyle.BRIGHT),
    -                AnsiStyle.DIM: (winterm.style, WinStyle.NORMAL),
    -                AnsiStyle.NORMAL: (winterm.style, WinStyle.NORMAL),
    -                AnsiFore.BLACK: (winterm.fore, WinColor.BLACK),
    -                AnsiFore.RED: (winterm.fore, WinColor.RED),
    -                AnsiFore.GREEN: (winterm.fore, WinColor.GREEN),
    -                AnsiFore.YELLOW: (winterm.fore, WinColor.YELLOW),
    -                AnsiFore.BLUE: (winterm.fore, WinColor.BLUE),
    -                AnsiFore.MAGENTA: (winterm.fore, WinColor.MAGENTA),
    -                AnsiFore.CYAN: (winterm.fore, WinColor.CYAN),
    -                AnsiFore.WHITE: (winterm.fore, WinColor.GREY),
    -                AnsiFore.RESET: (winterm.fore, ),
    -                AnsiFore.LIGHTBLACK_EX: (winterm.fore, WinColor.BLACK, True),
    -                AnsiFore.LIGHTRED_EX: (winterm.fore, WinColor.RED, True),
    -                AnsiFore.LIGHTGREEN_EX: (winterm.fore, WinColor.GREEN, True),
    -                AnsiFore.LIGHTYELLOW_EX: (winterm.fore, WinColor.YELLOW, True),
    -                AnsiFore.LIGHTBLUE_EX: (winterm.fore, WinColor.BLUE, True),
    -                AnsiFore.LIGHTMAGENTA_EX: (winterm.fore, WinColor.MAGENTA, True),
    -                AnsiFore.LIGHTCYAN_EX: (winterm.fore, WinColor.CYAN, True),
    -                AnsiFore.LIGHTWHITE_EX: (winterm.fore, WinColor.GREY, True),
    -                AnsiBack.BLACK: (winterm.back, WinColor.BLACK),
    -                AnsiBack.RED: (winterm.back, WinColor.RED),
    -                AnsiBack.GREEN: (winterm.back, WinColor.GREEN),
    -                AnsiBack.YELLOW: (winterm.back, WinColor.YELLOW),
    -                AnsiBack.BLUE: (winterm.back, WinColor.BLUE),
    -                AnsiBack.MAGENTA: (winterm.back, WinColor.MAGENTA),
    -                AnsiBack.CYAN: (winterm.back, WinColor.CYAN),
    -                AnsiBack.WHITE: (winterm.back, WinColor.GREY),
    -                AnsiBack.RESET: (winterm.back, ),
    -                AnsiBack.LIGHTBLACK_EX: (winterm.back, WinColor.BLACK, True),
    -                AnsiBack.LIGHTRED_EX: (winterm.back, WinColor.RED, True),
    -                AnsiBack.LIGHTGREEN_EX: (winterm.back, WinColor.GREEN, True),
    -                AnsiBack.LIGHTYELLOW_EX: (winterm.back, WinColor.YELLOW, True),
    -                AnsiBack.LIGHTBLUE_EX: (winterm.back, WinColor.BLUE, True),
    -                AnsiBack.LIGHTMAGENTA_EX: (winterm.back, WinColor.MAGENTA, True),
    -                AnsiBack.LIGHTCYAN_EX: (winterm.back, WinColor.CYAN, True),
    -                AnsiBack.LIGHTWHITE_EX: (winterm.back, WinColor.GREY, True),
    -            }
    -        return dict()
    -
    -    def write(self, text):
    -        if self.strip or self.convert:
    -            self.write_and_convert(text)
    -        else:
    -            self.wrapped.write(text)
    -            self.wrapped.flush()
    -        if self.autoreset:
    -            self.reset_all()
    -
    -
    -    def reset_all(self):
    -        if self.convert:
    -            self.call_win32('m', (0,))
    -        elif not self.strip and not self.stream.closed:
    -            self.wrapped.write(Style.RESET_ALL)
    -
    -
    -    def write_and_convert(self, text):
    -        '''
    -        Write the given text to our wrapped stream, stripping any ANSI
    -        sequences from the text, and optionally converting them into win32
    -        calls.
    -        '''
    -        cursor = 0
    -        text = self.convert_osc(text)
    -        for match in self.ANSI_CSI_RE.finditer(text):
    -            start, end = match.span()
    -            self.write_plain_text(text, cursor, start)
    -            self.convert_ansi(*match.groups())
    -            cursor = end
    -        self.write_plain_text(text, cursor, len(text))
    -
    -
    -    def write_plain_text(self, text, start, end):
    -        if start < end:
    -            self.wrapped.write(text[start:end])
    -            self.wrapped.flush()
    -
    -
    -    def convert_ansi(self, paramstring, command):
    -        if self.convert:
    -            params = self.extract_params(command, paramstring)
    -            self.call_win32(command, params)
    -
    -
    -    def extract_params(self, command, paramstring):
    -        if command in 'Hf':
    -            params = tuple(int(p) if len(p) != 0 else 1 for p in paramstring.split(';'))
    -            while len(params) < 2:
    -                # defaults:
    -                params = params + (1,)
    -        else:
    -            params = tuple(int(p) for p in paramstring.split(';') if len(p) != 0)
    -            if len(params) == 0:
    -                # defaults:
    -                if command in 'JKm':
    -                    params = (0,)
    -                elif command in 'ABCD':
    -                    params = (1,)
    -
    -        return params
    -
    -
    -    def call_win32(self, command, params):
    -        if command == 'm':
    -            for param in params:
    -                if param in self.win32_calls:
    -                    func_args = self.win32_calls[param]
    -                    func = func_args[0]
    -                    args = func_args[1:]
    -                    kwargs = dict(on_stderr=self.on_stderr)
    -                    func(*args, **kwargs)
    -        elif command in 'J':
    -            winterm.erase_screen(params[0], on_stderr=self.on_stderr)
    -        elif command in 'K':
    -            winterm.erase_line(params[0], on_stderr=self.on_stderr)
    -        elif command in 'Hf':     # cursor position - absolute
    -            winterm.set_cursor_position(params, on_stderr=self.on_stderr)
    -        elif command in 'ABCD':   # cursor position - relative
    -            n = params[0]
    -            # A - up, B - down, C - forward, D - back
    -            x, y = {'A': (0, -n), 'B': (0, n), 'C': (n, 0), 'D': (-n, 0)}[command]
    -            winterm.cursor_adjust(x, y, on_stderr=self.on_stderr)
    -
    -
    -    def convert_osc(self, text):
    -        for match in self.ANSI_OSC_RE.finditer(text):
    -            start, end = match.span()
    -            text = text[:start] + text[end:]
    -            paramstring, command = match.groups()
    -            if command in '\x07':       # \x07 = BEL
    -                params = paramstring.split(";")
    -                # 0 - change title and icon (we will only change title)
    -                # 1 - change icon (we don't support this)
    -                # 2 - change title
    -                if params[0] in '02':
    -                    winterm.set_title(params[1])
    -        return text
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/initialise.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/initialise.py
    deleted file mode 100644
    index 430d066..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/initialise.py
    +++ /dev/null
    @@ -1,80 +0,0 @@
    -# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.
    -import atexit
    -import contextlib
    -import sys
    -
    -from .ansitowin32 import AnsiToWin32
    -
    -
    -orig_stdout = None
    -orig_stderr = None
    -
    -wrapped_stdout = None
    -wrapped_stderr = None
    -
    -atexit_done = False
    -
    -
    -def reset_all():
    -    if AnsiToWin32 is not None:    # Issue #74: objects might become None at exit
    -        AnsiToWin32(orig_stdout).reset_all()
    -
    -
    -def init(autoreset=False, convert=None, strip=None, wrap=True):
    -
    -    if not wrap and any([autoreset, convert, strip]):
    -        raise ValueError('wrap=False conflicts with any other arg=True')
    -
    -    global wrapped_stdout, wrapped_stderr
    -    global orig_stdout, orig_stderr
    -
    -    orig_stdout = sys.stdout
    -    orig_stderr = sys.stderr
    -
    -    if sys.stdout is None:
    -        wrapped_stdout = None
    -    else:
    -        sys.stdout = wrapped_stdout = \
    -            wrap_stream(orig_stdout, convert, strip, autoreset, wrap)
    -    if sys.stderr is None:
    -        wrapped_stderr = None
    -    else:
    -        sys.stderr = wrapped_stderr = \
    -            wrap_stream(orig_stderr, convert, strip, autoreset, wrap)
    -
    -    global atexit_done
    -    if not atexit_done:
    -        atexit.register(reset_all)
    -        atexit_done = True
    -
    -
    -def deinit():
    -    if orig_stdout is not None:
    -        sys.stdout = orig_stdout
    -    if orig_stderr is not None:
    -        sys.stderr = orig_stderr
    -
    -
    -@contextlib.contextmanager
    -def colorama_text(*args, **kwargs):
    -    init(*args, **kwargs)
    -    try:
    -        yield
    -    finally:
    -        deinit()
    -
    -
    -def reinit():
    -    if wrapped_stdout is not None:
    -        sys.stdout = wrapped_stdout
    -    if wrapped_stderr is not None:
    -        sys.stderr = wrapped_stderr
    -
    -
    -def wrap_stream(stream, convert, strip, autoreset, wrap):
    -    if wrap:
    -        wrapper = AnsiToWin32(stream,
    -            convert=convert, strip=strip, autoreset=autoreset)
    -        if wrapper.should_wrap():
    -            stream = wrapper.stream
    -    return stream
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/win32.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/win32.py
    deleted file mode 100644
    index c2d8360..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/win32.py
    +++ /dev/null
    @@ -1,152 +0,0 @@
    -# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.
    -
    -# from winbase.h
    -STDOUT = -11
    -STDERR = -12
    -
    -try:
    -    import ctypes
    -    from ctypes import LibraryLoader
    -    windll = LibraryLoader(ctypes.WinDLL)
    -    from ctypes import wintypes
    -except (AttributeError, ImportError):
    -    windll = None
    -    SetConsoleTextAttribute = lambda *_: None
    -    winapi_test = lambda *_: None
    -else:
    -    from ctypes import byref, Structure, c_char, POINTER
    -
    -    COORD = wintypes._COORD
    -
    -    class CONSOLE_SCREEN_BUFFER_INFO(Structure):
    -        """struct in wincon.h."""
    -        _fields_ = [
    -            ("dwSize", COORD),
    -            ("dwCursorPosition", COORD),
    -            ("wAttributes", wintypes.WORD),
    -            ("srWindow", wintypes.SMALL_RECT),
    -            ("dwMaximumWindowSize", COORD),
    -        ]
    -        def __str__(self):
    -            return '(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)' % (
    -                self.dwSize.Y, self.dwSize.X
    -                , self.dwCursorPosition.Y, self.dwCursorPosition.X
    -                , self.wAttributes
    -                , self.srWindow.Top, self.srWindow.Left, self.srWindow.Bottom, self.srWindow.Right
    -                , self.dwMaximumWindowSize.Y, self.dwMaximumWindowSize.X
    -            )
    -
    -    _GetStdHandle = windll.kernel32.GetStdHandle
    -    _GetStdHandle.argtypes = [
    -        wintypes.DWORD,
    -    ]
    -    _GetStdHandle.restype = wintypes.HANDLE
    -
    -    _GetConsoleScreenBufferInfo = windll.kernel32.GetConsoleScreenBufferInfo
    -    _GetConsoleScreenBufferInfo.argtypes = [
    -        wintypes.HANDLE,
    -        POINTER(CONSOLE_SCREEN_BUFFER_INFO),
    -    ]
    -    _GetConsoleScreenBufferInfo.restype = wintypes.BOOL
    -
    -    _SetConsoleTextAttribute = windll.kernel32.SetConsoleTextAttribute
    -    _SetConsoleTextAttribute.argtypes = [
    -        wintypes.HANDLE,
    -        wintypes.WORD,
    -    ]
    -    _SetConsoleTextAttribute.restype = wintypes.BOOL
    -
    -    _SetConsoleCursorPosition = windll.kernel32.SetConsoleCursorPosition
    -    _SetConsoleCursorPosition.argtypes = [
    -        wintypes.HANDLE,
    -        COORD,
    -    ]
    -    _SetConsoleCursorPosition.restype = wintypes.BOOL
    -
    -    _FillConsoleOutputCharacterA = windll.kernel32.FillConsoleOutputCharacterA
    -    _FillConsoleOutputCharacterA.argtypes = [
    -        wintypes.HANDLE,
    -        c_char,
    -        wintypes.DWORD,
    -        COORD,
    -        POINTER(wintypes.DWORD),
    -    ]
    -    _FillConsoleOutputCharacterA.restype = wintypes.BOOL
    -
    -    _FillConsoleOutputAttribute = windll.kernel32.FillConsoleOutputAttribute
    -    _FillConsoleOutputAttribute.argtypes = [
    -        wintypes.HANDLE,
    -        wintypes.WORD,
    -        wintypes.DWORD,
    -        COORD,
    -        POINTER(wintypes.DWORD),
    -    ]
    -    _FillConsoleOutputAttribute.restype = wintypes.BOOL
    -
    -    _SetConsoleTitleW = windll.kernel32.SetConsoleTitleW
    -    _SetConsoleTitleW.argtypes = [
    -        wintypes.LPCWSTR
    -    ]
    -    _SetConsoleTitleW.restype = wintypes.BOOL
    -
    -    def _winapi_test(handle):
    -        csbi = CONSOLE_SCREEN_BUFFER_INFO()
    -        success = _GetConsoleScreenBufferInfo(
    -            handle, byref(csbi))
    -        return bool(success)
    -
    -    def winapi_test():
    -        return any(_winapi_test(h) for h in
    -                   (_GetStdHandle(STDOUT), _GetStdHandle(STDERR)))
    -
    -    def GetConsoleScreenBufferInfo(stream_id=STDOUT):
    -        handle = _GetStdHandle(stream_id)
    -        csbi = CONSOLE_SCREEN_BUFFER_INFO()
    -        success = _GetConsoleScreenBufferInfo(
    -            handle, byref(csbi))
    -        return csbi
    -
    -    def SetConsoleTextAttribute(stream_id, attrs):
    -        handle = _GetStdHandle(stream_id)
    -        return _SetConsoleTextAttribute(handle, attrs)
    -
    -    def SetConsoleCursorPosition(stream_id, position, adjust=True):
    -        position = COORD(*position)
    -        # If the position is out of range, do nothing.
    -        if position.Y <= 0 or position.X <= 0:
    -            return
    -        # Adjust for Windows' SetConsoleCursorPosition:
    -        #    1. being 0-based, while ANSI is 1-based.
    -        #    2. expecting (x,y), while ANSI uses (y,x).
    -        adjusted_position = COORD(position.Y - 1, position.X - 1)
    -        if adjust:
    -            # Adjust for viewport's scroll position
    -            sr = GetConsoleScreenBufferInfo(STDOUT).srWindow
    -            adjusted_position.Y += sr.Top
    -            adjusted_position.X += sr.Left
    -        # Resume normal processing
    -        handle = _GetStdHandle(stream_id)
    -        return _SetConsoleCursorPosition(handle, adjusted_position)
    -
    -    def FillConsoleOutputCharacter(stream_id, char, length, start):
    -        handle = _GetStdHandle(stream_id)
    -        char = c_char(char.encode())
    -        length = wintypes.DWORD(length)
    -        num_written = wintypes.DWORD(0)
    -        # Note that this is hard-coded for ANSI (vs wide) bytes.
    -        success = _FillConsoleOutputCharacterA(
    -            handle, char, length, start, byref(num_written))
    -        return num_written.value
    -
    -    def FillConsoleOutputAttribute(stream_id, attr, length, start):
    -        ''' FillConsoleOutputAttribute( hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten )'''
    -        handle = _GetStdHandle(stream_id)
    -        attribute = wintypes.WORD(attr)
    -        length = wintypes.DWORD(length)
    -        num_written = wintypes.DWORD(0)
    -        # Note that this is hard-coded for ANSI (vs wide) bytes.
    -        return _FillConsoleOutputAttribute(
    -            handle, attribute, length, start, byref(num_written))
    -
    -    def SetConsoleTitle(title):
    -        return _SetConsoleTitleW(title)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/winterm.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/winterm.py
    deleted file mode 100644
    index 0fdb4ec..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/colorama/winterm.py
    +++ /dev/null
    @@ -1,169 +0,0 @@
    -# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.
    -from . import win32
    -
    -
    -# from wincon.h
    -class WinColor(object):
    -    BLACK   = 0
    -    BLUE    = 1
    -    GREEN   = 2
    -    CYAN    = 3
    -    RED     = 4
    -    MAGENTA = 5
    -    YELLOW  = 6
    -    GREY    = 7
    -
    -# from wincon.h
    -class WinStyle(object):
    -    NORMAL              = 0x00 # dim text, dim background
    -    BRIGHT              = 0x08 # bright text, dim background
    -    BRIGHT_BACKGROUND   = 0x80 # dim text, bright background
    -
    -class WinTerm(object):
    -
    -    def __init__(self):
    -        self._default = win32.GetConsoleScreenBufferInfo(win32.STDOUT).wAttributes
    -        self.set_attrs(self._default)
    -        self._default_fore = self._fore
    -        self._default_back = self._back
    -        self._default_style = self._style
    -        # In order to emulate LIGHT_EX in windows, we borrow the BRIGHT style.
    -        # So that LIGHT_EX colors and BRIGHT style do not clobber each other,
    -        # we track them separately, since LIGHT_EX is overwritten by Fore/Back
    -        # and BRIGHT is overwritten by Style codes.
    -        self._light = 0
    -
    -    def get_attrs(self):
    -        return self._fore + self._back * 16 + (self._style | self._light)
    -
    -    def set_attrs(self, value):
    -        self._fore = value & 7
    -        self._back = (value >> 4) & 7
    -        self._style = value & (WinStyle.BRIGHT | WinStyle.BRIGHT_BACKGROUND)
    -
    -    def reset_all(self, on_stderr=None):
    -        self.set_attrs(self._default)
    -        self.set_console(attrs=self._default)
    -        self._light = 0
    -
    -    def fore(self, fore=None, light=False, on_stderr=False):
    -        if fore is None:
    -            fore = self._default_fore
    -        self._fore = fore
    -        # Emulate LIGHT_EX with BRIGHT Style
    -        if light:
    -            self._light |= WinStyle.BRIGHT
    -        else:
    -            self._light &= ~WinStyle.BRIGHT
    -        self.set_console(on_stderr=on_stderr)
    -
    -    def back(self, back=None, light=False, on_stderr=False):
    -        if back is None:
    -            back = self._default_back
    -        self._back = back
    -        # Emulate LIGHT_EX with BRIGHT_BACKGROUND Style
    -        if light:
    -            self._light |= WinStyle.BRIGHT_BACKGROUND
    -        else:
    -            self._light &= ~WinStyle.BRIGHT_BACKGROUND
    -        self.set_console(on_stderr=on_stderr)
    -
    -    def style(self, style=None, on_stderr=False):
    -        if style is None:
    -            style = self._default_style
    -        self._style = style
    -        self.set_console(on_stderr=on_stderr)
    -
    -    def set_console(self, attrs=None, on_stderr=False):
    -        if attrs is None:
    -            attrs = self.get_attrs()
    -        handle = win32.STDOUT
    -        if on_stderr:
    -            handle = win32.STDERR
    -        win32.SetConsoleTextAttribute(handle, attrs)
    -
    -    def get_position(self, handle):
    -        position = win32.GetConsoleScreenBufferInfo(handle).dwCursorPosition
    -        # Because Windows coordinates are 0-based,
    -        # and win32.SetConsoleCursorPosition expects 1-based.
    -        position.X += 1
    -        position.Y += 1
    -        return position
    -
    -    def set_cursor_position(self, position=None, on_stderr=False):
    -        if position is None:
    -            # I'm not currently tracking the position, so there is no default.
    -            # position = self.get_position()
    -            return
    -        handle = win32.STDOUT
    -        if on_stderr:
    -            handle = win32.STDERR
    -        win32.SetConsoleCursorPosition(handle, position)
    -
    -    def cursor_adjust(self, x, y, on_stderr=False):
    -        handle = win32.STDOUT
    -        if on_stderr:
    -            handle = win32.STDERR
    -        position = self.get_position(handle)
    -        adjusted_position = (position.Y + y, position.X + x)
    -        win32.SetConsoleCursorPosition(handle, adjusted_position, adjust=False)
    -
    -    def erase_screen(self, mode=0, on_stderr=False):
    -        # 0 should clear from the cursor to the end of the screen.
    -        # 1 should clear from the cursor to the beginning of the screen.
    -        # 2 should clear the entire screen, and move cursor to (1,1)
    -        handle = win32.STDOUT
    -        if on_stderr:
    -            handle = win32.STDERR
    -        csbi = win32.GetConsoleScreenBufferInfo(handle)
    -        # get the number of character cells in the current buffer
    -        cells_in_screen = csbi.dwSize.X * csbi.dwSize.Y
    -        # get number of character cells before current cursor position
    -        cells_before_cursor = csbi.dwSize.X * csbi.dwCursorPosition.Y + csbi.dwCursorPosition.X
    -        if mode == 0:
    -            from_coord = csbi.dwCursorPosition
    -            cells_to_erase = cells_in_screen - cells_before_cursor
    -        elif mode == 1:
    -            from_coord = win32.COORD(0, 0)
    -            cells_to_erase = cells_before_cursor
    -        elif mode == 2:
    -            from_coord = win32.COORD(0, 0)
    -            cells_to_erase = cells_in_screen
    -        else:
    -            # invalid mode
    -            return
    -        # fill the entire screen with blanks
    -        win32.FillConsoleOutputCharacter(handle, ' ', cells_to_erase, from_coord)
    -        # now set the buffer's attributes accordingly
    -        win32.FillConsoleOutputAttribute(handle, self.get_attrs(), cells_to_erase, from_coord)
    -        if mode == 2:
    -            # put the cursor where needed
    -            win32.SetConsoleCursorPosition(handle, (1, 1))
    -
    -    def erase_line(self, mode=0, on_stderr=False):
    -        # 0 should clear from the cursor to the end of the line.
    -        # 1 should clear from the cursor to the beginning of the line.
    -        # 2 should clear the entire line.
    -        handle = win32.STDOUT
    -        if on_stderr:
    -            handle = win32.STDERR
    -        csbi = win32.GetConsoleScreenBufferInfo(handle)
    -        if mode == 0:
    -            from_coord = csbi.dwCursorPosition
    -            cells_to_erase = csbi.dwSize.X - csbi.dwCursorPosition.X
    -        elif mode == 1:
    -            from_coord = win32.COORD(0, csbi.dwCursorPosition.Y)
    -            cells_to_erase = csbi.dwCursorPosition.X
    -        elif mode == 2:
    -            from_coord = win32.COORD(0, csbi.dwCursorPosition.Y)
    -            cells_to_erase = csbi.dwSize.X
    -        else:
    -            # invalid mode
    -            return
    -        # fill the entire screen with blanks
    -        win32.FillConsoleOutputCharacter(handle, ' ', cells_to_erase, from_coord)
    -        # now set the buffer's attributes accordingly
    -        win32.FillConsoleOutputAttribute(handle, self.get_attrs(), cells_to_erase, from_coord)
    -
    -    def set_title(self, title):
    -        win32.SetConsoleTitle(title)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/contextlib2.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/contextlib2.py
    deleted file mode 100644
    index 3aae8f4..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/contextlib2.py
    +++ /dev/null
    @@ -1,518 +0,0 @@
    -"""contextlib2 - backports and enhancements to the contextlib module"""
    -
    -import abc
    -import sys
    -import warnings
    -from collections import deque
    -from functools import wraps
    -
    -__all__ = ["contextmanager", "closing", "nullcontext",
    -           "AbstractContextManager",
    -           "ContextDecorator", "ExitStack",
    -           "redirect_stdout", "redirect_stderr", "suppress"]
    -
    -# Backwards compatibility
    -__all__ += ["ContextStack"]
    -
    -
    -# Backport abc.ABC
    -if sys.version_info[:2] >= (3, 4):
    -    _abc_ABC = abc.ABC
    -else:
    -    _abc_ABC = abc.ABCMeta('ABC', (object,), {'__slots__': ()})
    -
    -
    -# Backport classic class MRO
    -def _classic_mro(C, result):
    -    if C in result:
    -        return
    -    result.append(C)
    -    for B in C.__bases__:
    -        _classic_mro(B, result)
    -    return result
    -
    -
    -# Backport _collections_abc._check_methods
    -def _check_methods(C, *methods):
    -    try:
    -        mro = C.__mro__
    -    except AttributeError:
    -        mro = tuple(_classic_mro(C, []))
    -
    -    for method in methods:
    -        for B in mro:
    -            if method in B.__dict__:
    -                if B.__dict__[method] is None:
    -                    return NotImplemented
    -                break
    -        else:
    -            return NotImplemented
    -    return True
    -
    -
    -class AbstractContextManager(_abc_ABC):
    -    """An abstract base class for context managers."""
    -
    -    def __enter__(self):
    -        """Return `self` upon entering the runtime context."""
    -        return self
    -
    -    @abc.abstractmethod
    -    def __exit__(self, exc_type, exc_value, traceback):
    -        """Raise any exception triggered within the runtime context."""
    -        return None
    -
    -    @classmethod
    -    def __subclasshook__(cls, C):
    -        """Check whether subclass is considered a subclass of this ABC."""
    -        if cls is AbstractContextManager:
    -            return _check_methods(C, "__enter__", "__exit__")
    -        return NotImplemented
    -
    -
    -class ContextDecorator(object):
    -    """A base class or mixin that enables context managers to work as decorators."""
    -
    -    def refresh_cm(self):
    -        """Returns the context manager used to actually wrap the call to the
    -        decorated function.
    -
    -        The default implementation just returns *self*.
    -
    -        Overriding this method allows otherwise one-shot context managers
    -        like _GeneratorContextManager to support use as decorators via
    -        implicit recreation.
    -
    -        DEPRECATED: refresh_cm was never added to the standard library's
    -                    ContextDecorator API
    -        """
    -        warnings.warn("refresh_cm was never added to the standard library",
    -                      DeprecationWarning)
    -        return self._recreate_cm()
    -
    -    def _recreate_cm(self):
    -        """Return a recreated instance of self.
    -
    -        Allows an otherwise one-shot context manager like
    -        _GeneratorContextManager to support use as
    -        a decorator via implicit recreation.
    -
    -        This is a private interface just for _GeneratorContextManager.
    -        See issue #11647 for details.
    -        """
    -        return self
    -
    -    def __call__(self, func):
    -        @wraps(func)
    -        def inner(*args, **kwds):
    -            with self._recreate_cm():
    -                return func(*args, **kwds)
    -        return inner
    -
    -
    -class _GeneratorContextManager(ContextDecorator):
    -    """Helper for @contextmanager decorator."""
    -
    -    def __init__(self, func, args, kwds):
    -        self.gen = func(*args, **kwds)
    -        self.func, self.args, self.kwds = func, args, kwds
    -        # Issue 19330: ensure context manager instances have good docstrings
    -        doc = getattr(func, "__doc__", None)
    -        if doc is None:
    -            doc = type(self).__doc__
    -        self.__doc__ = doc
    -        # Unfortunately, this still doesn't provide good help output when
    -        # inspecting the created context manager instances, since pydoc
    -        # currently bypasses the instance docstring and shows the docstring
    -        # for the class instead.
    -        # See http://bugs.python.org/issue19404 for more details.
    -
    -    def _recreate_cm(self):
    -        # _GCM instances are one-shot context managers, so the
    -        # CM must be recreated each time a decorated function is
    -        # called
    -        return self.__class__(self.func, self.args, self.kwds)
    -
    -    def __enter__(self):
    -        try:
    -            return next(self.gen)
    -        except StopIteration:
    -            raise RuntimeError("generator didn't yield")
    -
    -    def __exit__(self, type, value, traceback):
    -        if type is None:
    -            try:
    -                next(self.gen)
    -            except StopIteration:
    -                return
    -            else:
    -                raise RuntimeError("generator didn't stop")
    -        else:
    -            if value is None:
    -                # Need to force instantiation so we can reliably
    -                # tell if we get the same exception back
    -                value = type()
    -            try:
    -                self.gen.throw(type, value, traceback)
    -                raise RuntimeError("generator didn't stop after throw()")
    -            except StopIteration as exc:
    -                # Suppress StopIteration *unless* it's the same exception that
    -                # was passed to throw().  This prevents a StopIteration
    -                # raised inside the "with" statement from being suppressed.
    -                return exc is not value
    -            except RuntimeError as exc:
    -                # Don't re-raise the passed in exception
    -                if exc is value:
    -                    return False
    -                # Likewise, avoid suppressing if a StopIteration exception
    -                # was passed to throw() and later wrapped into a RuntimeError
    -                # (see PEP 479).
    -                if _HAVE_EXCEPTION_CHAINING and exc.__cause__ is value:
    -                    return False
    -                raise
    -            except:
    -                # only re-raise if it's *not* the exception that was
    -                # passed to throw(), because __exit__() must not raise
    -                # an exception unless __exit__() itself failed.  But throw()
    -                # has to raise the exception to signal propagation, so this
    -                # fixes the impedance mismatch between the throw() protocol
    -                # and the __exit__() protocol.
    -                #
    -                if sys.exc_info()[1] is not value:
    -                    raise
    -
    -
    -def contextmanager(func):
    -    """@contextmanager decorator.
    -
    -    Typical usage:
    -
    -        @contextmanager
    -        def some_generator():
    -            
    -            try:
    -                yield 
    -            finally:
    -                
    -
    -    This makes this:
    -
    -        with some_generator() as :
    -            
    -
    -    equivalent to this:
    -
    -        
    -        try:
    -             = 
    -            
    -        finally:
    -            
    -
    -    """
    -    @wraps(func)
    -    def helper(*args, **kwds):
    -        return _GeneratorContextManager(func, args, kwds)
    -    return helper
    -
    -
    -class closing(object):
    -    """Context to automatically close something at the end of a block.
    -
    -    Code like this:
    -
    -        with closing(.open()) as f:
    -            
    -
    -    is equivalent to this:
    -
    -        f = .open()
    -        try:
    -            
    -        finally:
    -            f.close()
    -
    -    """
    -    def __init__(self, thing):
    -        self.thing = thing
    -
    -    def __enter__(self):
    -        return self.thing
    -
    -    def __exit__(self, *exc_info):
    -        self.thing.close()
    -
    -
    -class _RedirectStream(object):
    -
    -    _stream = None
    -
    -    def __init__(self, new_target):
    -        self._new_target = new_target
    -        # We use a list of old targets to make this CM re-entrant
    -        self._old_targets = []
    -
    -    def __enter__(self):
    -        self._old_targets.append(getattr(sys, self._stream))
    -        setattr(sys, self._stream, self._new_target)
    -        return self._new_target
    -
    -    def __exit__(self, exctype, excinst, exctb):
    -        setattr(sys, self._stream, self._old_targets.pop())
    -
    -
    -class redirect_stdout(_RedirectStream):
    -    """Context manager for temporarily redirecting stdout to another file.
    -
    -        # How to send help() to stderr
    -        with redirect_stdout(sys.stderr):
    -            help(dir)
    -
    -        # How to write help() to a file
    -        with open('help.txt', 'w') as f:
    -            with redirect_stdout(f):
    -                help(pow)
    -    """
    -
    -    _stream = "stdout"
    -
    -
    -class redirect_stderr(_RedirectStream):
    -    """Context manager for temporarily redirecting stderr to another file."""
    -
    -    _stream = "stderr"
    -
    -
    -class suppress(object):
    -    """Context manager to suppress specified exceptions
    -
    -    After the exception is suppressed, execution proceeds with the next
    -    statement following the with statement.
    -
    -         with suppress(FileNotFoundError):
    -             os.remove(somefile)
    -         # Execution still resumes here if the file was already removed
    -    """
    -
    -    def __init__(self, *exceptions):
    -        self._exceptions = exceptions
    -
    -    def __enter__(self):
    -        pass
    -
    -    def __exit__(self, exctype, excinst, exctb):
    -        # Unlike isinstance and issubclass, CPython exception handling
    -        # currently only looks at the concrete type hierarchy (ignoring
    -        # the instance and subclass checking hooks). While Guido considers
    -        # that a bug rather than a feature, it's a fairly hard one to fix
    -        # due to various internal implementation details. suppress provides
    -        # the simpler issubclass based semantics, rather than trying to
    -        # exactly reproduce the limitations of the CPython interpreter.
    -        #
    -        # See http://bugs.python.org/issue12029 for more details
    -        return exctype is not None and issubclass(exctype, self._exceptions)
    -
    -
    -# Context manipulation is Python 3 only
    -_HAVE_EXCEPTION_CHAINING = sys.version_info[0] >= 3
    -if _HAVE_EXCEPTION_CHAINING:
    -    def _make_context_fixer(frame_exc):
    -        def _fix_exception_context(new_exc, old_exc):
    -            # Context may not be correct, so find the end of the chain
    -            while 1:
    -                exc_context = new_exc.__context__
    -                if exc_context is old_exc:
    -                    # Context is already set correctly (see issue 20317)
    -                    return
    -                if exc_context is None or exc_context is frame_exc:
    -                    break
    -                new_exc = exc_context
    -            # Change the end of the chain to point to the exception
    -            # we expect it to reference
    -            new_exc.__context__ = old_exc
    -        return _fix_exception_context
    -
    -    def _reraise_with_existing_context(exc_details):
    -        try:
    -            # bare "raise exc_details[1]" replaces our carefully
    -            # set-up context
    -            fixed_ctx = exc_details[1].__context__
    -            raise exc_details[1]
    -        except BaseException:
    -            exc_details[1].__context__ = fixed_ctx
    -            raise
    -else:
    -    # No exception context in Python 2
    -    def _make_context_fixer(frame_exc):
    -        return lambda new_exc, old_exc: None
    -
    -    # Use 3 argument raise in Python 2,
    -    # but use exec to avoid SyntaxError in Python 3
    -    def _reraise_with_existing_context(exc_details):
    -        exc_type, exc_value, exc_tb = exc_details
    -        exec("raise exc_type, exc_value, exc_tb")
    -
    -# Handle old-style classes if they exist
    -try:
    -    from types import InstanceType
    -except ImportError:
    -    # Python 3 doesn't have old-style classes
    -    _get_type = type
    -else:
    -    # Need to handle old-style context managers on Python 2
    -    def _get_type(obj):
    -        obj_type = type(obj)
    -        if obj_type is InstanceType:
    -            return obj.__class__  # Old-style class
    -        return obj_type  # New-style class
    -
    -
    -# Inspired by discussions on http://bugs.python.org/issue13585
    -class ExitStack(object):
    -    """Context manager for dynamic management of a stack of exit callbacks
    -
    -    For example:
    -
    -        with ExitStack() as stack:
    -            files = [stack.enter_context(open(fname)) for fname in filenames]
    -            # All opened files will automatically be closed at the end of
    -            # the with statement, even if attempts to open files later
    -            # in the list raise an exception
    -
    -    """
    -    def __init__(self):
    -        self._exit_callbacks = deque()
    -
    -    def pop_all(self):
    -        """Preserve the context stack by transferring it to a new instance"""
    -        new_stack = type(self)()
    -        new_stack._exit_callbacks = self._exit_callbacks
    -        self._exit_callbacks = deque()
    -        return new_stack
    -
    -    def _push_cm_exit(self, cm, cm_exit):
    -        """Helper to correctly register callbacks to __exit__ methods"""
    -        def _exit_wrapper(*exc_details):
    -            return cm_exit(cm, *exc_details)
    -        _exit_wrapper.__self__ = cm
    -        self.push(_exit_wrapper)
    -
    -    def push(self, exit):
    -        """Registers a callback with the standard __exit__ method signature
    -
    -        Can suppress exceptions the same way __exit__ methods can.
    -
    -        Also accepts any object with an __exit__ method (registering a call
    -        to the method instead of the object itself)
    -        """
    -        # We use an unbound method rather than a bound method to follow
    -        # the standard lookup behaviour for special methods
    -        _cb_type = _get_type(exit)
    -        try:
    -            exit_method = _cb_type.__exit__
    -        except AttributeError:
    -            # Not a context manager, so assume its a callable
    -            self._exit_callbacks.append(exit)
    -        else:
    -            self._push_cm_exit(exit, exit_method)
    -        return exit # Allow use as a decorator
    -
    -    def callback(self, callback, *args, **kwds):
    -        """Registers an arbitrary callback and arguments.
    -
    -        Cannot suppress exceptions.
    -        """
    -        def _exit_wrapper(exc_type, exc, tb):
    -            callback(*args, **kwds)
    -        # We changed the signature, so using @wraps is not appropriate, but
    -        # setting __wrapped__ may still help with introspection
    -        _exit_wrapper.__wrapped__ = callback
    -        self.push(_exit_wrapper)
    -        return callback # Allow use as a decorator
    -
    -    def enter_context(self, cm):
    -        """Enters the supplied context manager
    -
    -        If successful, also pushes its __exit__ method as a callback and
    -        returns the result of the __enter__ method.
    -        """
    -        # We look up the special methods on the type to match the with statement
    -        _cm_type = _get_type(cm)
    -        _exit = _cm_type.__exit__
    -        result = _cm_type.__enter__(cm)
    -        self._push_cm_exit(cm, _exit)
    -        return result
    -
    -    def close(self):
    -        """Immediately unwind the context stack"""
    -        self.__exit__(None, None, None)
    -
    -    def __enter__(self):
    -        return self
    -
    -    def __exit__(self, *exc_details):
    -        received_exc = exc_details[0] is not None
    -
    -        # We manipulate the exception state so it behaves as though
    -        # we were actually nesting multiple with statements
    -        frame_exc = sys.exc_info()[1]
    -        _fix_exception_context = _make_context_fixer(frame_exc)
    -
    -        # Callbacks are invoked in LIFO order to match the behaviour of
    -        # nested context managers
    -        suppressed_exc = False
    -        pending_raise = False
    -        while self._exit_callbacks:
    -            cb = self._exit_callbacks.pop()
    -            try:
    -                if cb(*exc_details):
    -                    suppressed_exc = True
    -                    pending_raise = False
    -                    exc_details = (None, None, None)
    -            except:
    -                new_exc_details = sys.exc_info()
    -                # simulate the stack of exceptions by setting the context
    -                _fix_exception_context(new_exc_details[1], exc_details[1])
    -                pending_raise = True
    -                exc_details = new_exc_details
    -        if pending_raise:
    -            _reraise_with_existing_context(exc_details)
    -        return received_exc and suppressed_exc
    -
    -
    -# Preserve backwards compatibility
    -class ContextStack(ExitStack):
    -    """Backwards compatibility alias for ExitStack"""
    -
    -    def __init__(self):
    -        warnings.warn("ContextStack has been renamed to ExitStack",
    -                      DeprecationWarning)
    -        super(ContextStack, self).__init__()
    -
    -    def register_exit(self, callback):
    -        return self.push(callback)
    -
    -    def register(self, callback, *args, **kwds):
    -        return self.callback(callback, *args, **kwds)
    -
    -    def preserve(self):
    -        return self.pop_all()
    -
    -
    -class nullcontext(AbstractContextManager):
    -    """Context manager that does no additional processing.
    -    Used as a stand-in for a normal context manager, when a particular
    -    block of code is only sometimes used with a normal context manager:
    -    cm = optional_cm if condition else nullcontext()
    -    with cm:
    -        # Perform operation, using optional_cm if condition is True
    -    """
    -
    -    def __init__(self, enter_result=None):
    -        self.enter_result = enter_result
    -
    -    def __enter__(self):
    -        return self.enter_result
    -
    -    def __exit__(self, *excinfo):
    -        pass
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/__init__.py
    deleted file mode 100644
    index a2d70d4..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/__init__.py
    +++ /dev/null
    @@ -1,23 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2012-2019 Vinay Sajip.
    -# Licensed to the Python Software Foundation under a contributor agreement.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -import logging
    -
    -__version__ = '0.2.9.post0'
    -
    -class DistlibException(Exception):
    -    pass
    -
    -try:
    -    from logging import NullHandler
    -except ImportError: # pragma: no cover
    -    class NullHandler(logging.Handler):
    -        def handle(self, record): pass
    -        def emit(self, record): pass
    -        def createLock(self): self.lock = None
    -
    -logger = logging.getLogger(__name__)
    -logger.addHandler(NullHandler())
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/__init__.py
    deleted file mode 100644
    index f7dbf4c..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/__init__.py
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -"""Modules copied from Python 3 standard libraries, for internal use only.
    -
    -Individual classes and functions are found in d2._backport.misc.  Intended
    -usage is to always import things missing from 3.1 from that module: the
    -built-in/stdlib objects will be used if found.
    -"""
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/misc.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/misc.py
    deleted file mode 100644
    index cfb318d..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/misc.py
    +++ /dev/null
    @@ -1,41 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2012 The Python Software Foundation.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -"""Backports for individual classes and functions."""
    -
    -import os
    -import sys
    -
    -__all__ = ['cache_from_source', 'callable', 'fsencode']
    -
    -
    -try:
    -    from imp import cache_from_source
    -except ImportError:
    -    def cache_from_source(py_file, debug=__debug__):
    -        ext = debug and 'c' or 'o'
    -        return py_file + ext
    -
    -
    -try:
    -    callable = callable
    -except NameError:
    -    from collections import Callable
    -
    -    def callable(obj):
    -        return isinstance(obj, Callable)
    -
    -
    -try:
    -    fsencode = os.fsencode
    -except AttributeError:
    -    def fsencode(filename):
    -        if isinstance(filename, bytes):
    -            return filename
    -        elif isinstance(filename, str):
    -            return filename.encode(sys.getfilesystemencoding())
    -        else:
    -            raise TypeError("expect bytes or str, not %s" %
    -                            type(filename).__name__)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/shutil.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/shutil.py
    deleted file mode 100644
    index 159e49e..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/shutil.py
    +++ /dev/null
    @@ -1,761 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2012 The Python Software Foundation.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -"""Utility functions for copying and archiving files and directory trees.
    -
    -XXX The functions here don't copy the resource fork or other metadata on Mac.
    -
    -"""
    -
    -import os
    -import sys
    -import stat
    -from os.path import abspath
    -import fnmatch
    -import collections
    -import errno
    -from . import tarfile
    -
    -try:
    -    import bz2
    -    _BZ2_SUPPORTED = True
    -except ImportError:
    -    _BZ2_SUPPORTED = False
    -
    -try:
    -    from pwd import getpwnam
    -except ImportError:
    -    getpwnam = None
    -
    -try:
    -    from grp import getgrnam
    -except ImportError:
    -    getgrnam = None
    -
    -__all__ = ["copyfileobj", "copyfile", "copymode", "copystat", "copy", "copy2",
    -           "copytree", "move", "rmtree", "Error", "SpecialFileError",
    -           "ExecError", "make_archive", "get_archive_formats",
    -           "register_archive_format", "unregister_archive_format",
    -           "get_unpack_formats", "register_unpack_format",
    -           "unregister_unpack_format", "unpack_archive", "ignore_patterns"]
    -
    -class Error(EnvironmentError):
    -    pass
    -
    -class SpecialFileError(EnvironmentError):
    -    """Raised when trying to do a kind of operation (e.g. copying) which is
    -    not supported on a special file (e.g. a named pipe)"""
    -
    -class ExecError(EnvironmentError):
    -    """Raised when a command could not be executed"""
    -
    -class ReadError(EnvironmentError):
    -    """Raised when an archive cannot be read"""
    -
    -class RegistryError(Exception):
    -    """Raised when a registry operation with the archiving
    -    and unpacking registries fails"""
    -
    -
    -try:
    -    WindowsError
    -except NameError:
    -    WindowsError = None
    -
    -def copyfileobj(fsrc, fdst, length=16*1024):
    -    """copy data from file-like object fsrc to file-like object fdst"""
    -    while 1:
    -        buf = fsrc.read(length)
    -        if not buf:
    -            break
    -        fdst.write(buf)
    -
    -def _samefile(src, dst):
    -    # Macintosh, Unix.
    -    if hasattr(os.path, 'samefile'):
    -        try:
    -            return os.path.samefile(src, dst)
    -        except OSError:
    -            return False
    -
    -    # All other platforms: check for same pathname.
    -    return (os.path.normcase(os.path.abspath(src)) ==
    -            os.path.normcase(os.path.abspath(dst)))
    -
    -def copyfile(src, dst):
    -    """Copy data from src to dst"""
    -    if _samefile(src, dst):
    -        raise Error("`%s` and `%s` are the same file" % (src, dst))
    -
    -    for fn in [src, dst]:
    -        try:
    -            st = os.stat(fn)
    -        except OSError:
    -            # File most likely does not exist
    -            pass
    -        else:
    -            # XXX What about other special files? (sockets, devices...)
    -            if stat.S_ISFIFO(st.st_mode):
    -                raise SpecialFileError("`%s` is a named pipe" % fn)
    -
    -    with open(src, 'rb') as fsrc:
    -        with open(dst, 'wb') as fdst:
    -            copyfileobj(fsrc, fdst)
    -
    -def copymode(src, dst):
    -    """Copy mode bits from src to dst"""
    -    if hasattr(os, 'chmod'):
    -        st = os.stat(src)
    -        mode = stat.S_IMODE(st.st_mode)
    -        os.chmod(dst, mode)
    -
    -def copystat(src, dst):
    -    """Copy all stat info (mode bits, atime, mtime, flags) from src to dst"""
    -    st = os.stat(src)
    -    mode = stat.S_IMODE(st.st_mode)
    -    if hasattr(os, 'utime'):
    -        os.utime(dst, (st.st_atime, st.st_mtime))
    -    if hasattr(os, 'chmod'):
    -        os.chmod(dst, mode)
    -    if hasattr(os, 'chflags') and hasattr(st, 'st_flags'):
    -        try:
    -            os.chflags(dst, st.st_flags)
    -        except OSError as why:
    -            if (not hasattr(errno, 'EOPNOTSUPP') or
    -                why.errno != errno.EOPNOTSUPP):
    -                raise
    -
    -def copy(src, dst):
    -    """Copy data and mode bits ("cp src dst").
    -
    -    The destination may be a directory.
    -
    -    """
    -    if os.path.isdir(dst):
    -        dst = os.path.join(dst, os.path.basename(src))
    -    copyfile(src, dst)
    -    copymode(src, dst)
    -
    -def copy2(src, dst):
    -    """Copy data and all stat info ("cp -p src dst").
    -
    -    The destination may be a directory.
    -
    -    """
    -    if os.path.isdir(dst):
    -        dst = os.path.join(dst, os.path.basename(src))
    -    copyfile(src, dst)
    -    copystat(src, dst)
    -
    -def ignore_patterns(*patterns):
    -    """Function that can be used as copytree() ignore parameter.
    -
    -    Patterns is a sequence of glob-style patterns
    -    that are used to exclude files"""
    -    def _ignore_patterns(path, names):
    -        ignored_names = []
    -        for pattern in patterns:
    -            ignored_names.extend(fnmatch.filter(names, pattern))
    -        return set(ignored_names)
    -    return _ignore_patterns
    -
    -def copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2,
    -             ignore_dangling_symlinks=False):
    -    """Recursively copy a directory tree.
    -
    -    The destination directory must not already exist.
    -    If exception(s) occur, an Error is raised with a list of reasons.
    -
    -    If the optional symlinks flag is true, symbolic links in the
    -    source tree result in symbolic links in the destination tree; if
    -    it is false, the contents of the files pointed to by symbolic
    -    links are copied. If the file pointed by the symlink doesn't
    -    exist, an exception will be added in the list of errors raised in
    -    an Error exception at the end of the copy process.
    -
    -    You can set the optional ignore_dangling_symlinks flag to true if you
    -    want to silence this exception. Notice that this has no effect on
    -    platforms that don't support os.symlink.
    -
    -    The optional ignore argument is a callable. If given, it
    -    is called with the `src` parameter, which is the directory
    -    being visited by copytree(), and `names` which is the list of
    -    `src` contents, as returned by os.listdir():
    -
    -        callable(src, names) -> ignored_names
    -
    -    Since copytree() is called recursively, the callable will be
    -    called once for each directory that is copied. It returns a
    -    list of names relative to the `src` directory that should
    -    not be copied.
    -
    -    The optional copy_function argument is a callable that will be used
    -    to copy each file. It will be called with the source path and the
    -    destination path as arguments. By default, copy2() is used, but any
    -    function that supports the same signature (like copy()) can be used.
    -
    -    """
    -    names = os.listdir(src)
    -    if ignore is not None:
    -        ignored_names = ignore(src, names)
    -    else:
    -        ignored_names = set()
    -
    -    os.makedirs(dst)
    -    errors = []
    -    for name in names:
    -        if name in ignored_names:
    -            continue
    -        srcname = os.path.join(src, name)
    -        dstname = os.path.join(dst, name)
    -        try:
    -            if os.path.islink(srcname):
    -                linkto = os.readlink(srcname)
    -                if symlinks:
    -                    os.symlink(linkto, dstname)
    -                else:
    -                    # ignore dangling symlink if the flag is on
    -                    if not os.path.exists(linkto) and ignore_dangling_symlinks:
    -                        continue
    -                    # otherwise let the copy occurs. copy2 will raise an error
    -                    copy_function(srcname, dstname)
    -            elif os.path.isdir(srcname):
    -                copytree(srcname, dstname, symlinks, ignore, copy_function)
    -            else:
    -                # Will raise a SpecialFileError for unsupported file types
    -                copy_function(srcname, dstname)
    -        # catch the Error from the recursive copytree so that we can
    -        # continue with other files
    -        except Error as err:
    -            errors.extend(err.args[0])
    -        except EnvironmentError as why:
    -            errors.append((srcname, dstname, str(why)))
    -    try:
    -        copystat(src, dst)
    -    except OSError as why:
    -        if WindowsError is not None and isinstance(why, WindowsError):
    -            # Copying file access times may fail on Windows
    -            pass
    -        else:
    -            errors.extend((src, dst, str(why)))
    -    if errors:
    -        raise Error(errors)
    -
    -def rmtree(path, ignore_errors=False, onerror=None):
    -    """Recursively delete a directory tree.
    -
    -    If ignore_errors is set, errors are ignored; otherwise, if onerror
    -    is set, it is called to handle the error with arguments (func,
    -    path, exc_info) where func is os.listdir, os.remove, or os.rmdir;
    -    path is the argument to that function that caused it to fail; and
    -    exc_info is a tuple returned by sys.exc_info().  If ignore_errors
    -    is false and onerror is None, an exception is raised.
    -
    -    """
    -    if ignore_errors:
    -        def onerror(*args):
    -            pass
    -    elif onerror is None:
    -        def onerror(*args):
    -            raise
    -    try:
    -        if os.path.islink(path):
    -            # symlinks to directories are forbidden, see bug #1669
    -            raise OSError("Cannot call rmtree on a symbolic link")
    -    except OSError:
    -        onerror(os.path.islink, path, sys.exc_info())
    -        # can't continue even if onerror hook returns
    -        return
    -    names = []
    -    try:
    -        names = os.listdir(path)
    -    except os.error:
    -        onerror(os.listdir, path, sys.exc_info())
    -    for name in names:
    -        fullname = os.path.join(path, name)
    -        try:
    -            mode = os.lstat(fullname).st_mode
    -        except os.error:
    -            mode = 0
    -        if stat.S_ISDIR(mode):
    -            rmtree(fullname, ignore_errors, onerror)
    -        else:
    -            try:
    -                os.remove(fullname)
    -            except os.error:
    -                onerror(os.remove, fullname, sys.exc_info())
    -    try:
    -        os.rmdir(path)
    -    except os.error:
    -        onerror(os.rmdir, path, sys.exc_info())
    -
    -
    -def _basename(path):
    -    # A basename() variant which first strips the trailing slash, if present.
    -    # Thus we always get the last component of the path, even for directories.
    -    return os.path.basename(path.rstrip(os.path.sep))
    -
    -def move(src, dst):
    -    """Recursively move a file or directory to another location. This is
    -    similar to the Unix "mv" command.
    -
    -    If the destination is a directory or a symlink to a directory, the source
    -    is moved inside the directory. The destination path must not already
    -    exist.
    -
    -    If the destination already exists but is not a directory, it may be
    -    overwritten depending on os.rename() semantics.
    -
    -    If the destination is on our current filesystem, then rename() is used.
    -    Otherwise, src is copied to the destination and then removed.
    -    A lot more could be done here...  A look at a mv.c shows a lot of
    -    the issues this implementation glosses over.
    -
    -    """
    -    real_dst = dst
    -    if os.path.isdir(dst):
    -        if _samefile(src, dst):
    -            # We might be on a case insensitive filesystem,
    -            # perform the rename anyway.
    -            os.rename(src, dst)
    -            return
    -
    -        real_dst = os.path.join(dst, _basename(src))
    -        if os.path.exists(real_dst):
    -            raise Error("Destination path '%s' already exists" % real_dst)
    -    try:
    -        os.rename(src, real_dst)
    -    except OSError:
    -        if os.path.isdir(src):
    -            if _destinsrc(src, dst):
    -                raise Error("Cannot move a directory '%s' into itself '%s'." % (src, dst))
    -            copytree(src, real_dst, symlinks=True)
    -            rmtree(src)
    -        else:
    -            copy2(src, real_dst)
    -            os.unlink(src)
    -
    -def _destinsrc(src, dst):
    -    src = abspath(src)
    -    dst = abspath(dst)
    -    if not src.endswith(os.path.sep):
    -        src += os.path.sep
    -    if not dst.endswith(os.path.sep):
    -        dst += os.path.sep
    -    return dst.startswith(src)
    -
    -def _get_gid(name):
    -    """Returns a gid, given a group name."""
    -    if getgrnam is None or name is None:
    -        return None
    -    try:
    -        result = getgrnam(name)
    -    except KeyError:
    -        result = None
    -    if result is not None:
    -        return result[2]
    -    return None
    -
    -def _get_uid(name):
    -    """Returns an uid, given a user name."""
    -    if getpwnam is None or name is None:
    -        return None
    -    try:
    -        result = getpwnam(name)
    -    except KeyError:
    -        result = None
    -    if result is not None:
    -        return result[2]
    -    return None
    -
    -def _make_tarball(base_name, base_dir, compress="gzip", verbose=0, dry_run=0,
    -                  owner=None, group=None, logger=None):
    -    """Create a (possibly compressed) tar file from all the files under
    -    'base_dir'.
    -
    -    'compress' must be "gzip" (the default), "bzip2", or None.
    -
    -    'owner' and 'group' can be used to define an owner and a group for the
    -    archive that is being built. If not provided, the current owner and group
    -    will be used.
    -
    -    The output tar file will be named 'base_name' +  ".tar", possibly plus
    -    the appropriate compression extension (".gz", or ".bz2").
    -
    -    Returns the output filename.
    -    """
    -    tar_compression = {'gzip': 'gz', None: ''}
    -    compress_ext = {'gzip': '.gz'}
    -
    -    if _BZ2_SUPPORTED:
    -        tar_compression['bzip2'] = 'bz2'
    -        compress_ext['bzip2'] = '.bz2'
    -
    -    # flags for compression program, each element of list will be an argument
    -    if compress is not None and compress not in compress_ext:
    -        raise ValueError("bad value for 'compress', or compression format not "
    -                         "supported : {0}".format(compress))
    -
    -    archive_name = base_name + '.tar' + compress_ext.get(compress, '')
    -    archive_dir = os.path.dirname(archive_name)
    -
    -    if not os.path.exists(archive_dir):
    -        if logger is not None:
    -            logger.info("creating %s", archive_dir)
    -        if not dry_run:
    -            os.makedirs(archive_dir)
    -
    -    # creating the tarball
    -    if logger is not None:
    -        logger.info('Creating tar archive')
    -
    -    uid = _get_uid(owner)
    -    gid = _get_gid(group)
    -
    -    def _set_uid_gid(tarinfo):
    -        if gid is not None:
    -            tarinfo.gid = gid
    -            tarinfo.gname = group
    -        if uid is not None:
    -            tarinfo.uid = uid
    -            tarinfo.uname = owner
    -        return tarinfo
    -
    -    if not dry_run:
    -        tar = tarfile.open(archive_name, 'w|%s' % tar_compression[compress])
    -        try:
    -            tar.add(base_dir, filter=_set_uid_gid)
    -        finally:
    -            tar.close()
    -
    -    return archive_name
    -
    -def _call_external_zip(base_dir, zip_filename, verbose=False, dry_run=False):
    -    # XXX see if we want to keep an external call here
    -    if verbose:
    -        zipoptions = "-r"
    -    else:
    -        zipoptions = "-rq"
    -    from distutils.errors import DistutilsExecError
    -    from distutils.spawn import spawn
    -    try:
    -        spawn(["zip", zipoptions, zip_filename, base_dir], dry_run=dry_run)
    -    except DistutilsExecError:
    -        # XXX really should distinguish between "couldn't find
    -        # external 'zip' command" and "zip failed".
    -        raise ExecError("unable to create zip file '%s': "
    -            "could neither import the 'zipfile' module nor "
    -            "find a standalone zip utility") % zip_filename
    -
    -def _make_zipfile(base_name, base_dir, verbose=0, dry_run=0, logger=None):
    -    """Create a zip file from all the files under 'base_dir'.
    -
    -    The output zip file will be named 'base_name' + ".zip".  Uses either the
    -    "zipfile" Python module (if available) or the InfoZIP "zip" utility
    -    (if installed and found on the default search path).  If neither tool is
    -    available, raises ExecError.  Returns the name of the output zip
    -    file.
    -    """
    -    zip_filename = base_name + ".zip"
    -    archive_dir = os.path.dirname(base_name)
    -
    -    if not os.path.exists(archive_dir):
    -        if logger is not None:
    -            logger.info("creating %s", archive_dir)
    -        if not dry_run:
    -            os.makedirs(archive_dir)
    -
    -    # If zipfile module is not available, try spawning an external 'zip'
    -    # command.
    -    try:
    -        import zipfile
    -    except ImportError:
    -        zipfile = None
    -
    -    if zipfile is None:
    -        _call_external_zip(base_dir, zip_filename, verbose, dry_run)
    -    else:
    -        if logger is not None:
    -            logger.info("creating '%s' and adding '%s' to it",
    -                        zip_filename, base_dir)
    -
    -        if not dry_run:
    -            zip = zipfile.ZipFile(zip_filename, "w",
    -                                  compression=zipfile.ZIP_DEFLATED)
    -
    -            for dirpath, dirnames, filenames in os.walk(base_dir):
    -                for name in filenames:
    -                    path = os.path.normpath(os.path.join(dirpath, name))
    -                    if os.path.isfile(path):
    -                        zip.write(path, path)
    -                        if logger is not None:
    -                            logger.info("adding '%s'", path)
    -            zip.close()
    -
    -    return zip_filename
    -
    -_ARCHIVE_FORMATS = {
    -    'gztar': (_make_tarball, [('compress', 'gzip')], "gzip'ed tar-file"),
    -    'bztar': (_make_tarball, [('compress', 'bzip2')], "bzip2'ed tar-file"),
    -    'tar':   (_make_tarball, [('compress', None)], "uncompressed tar file"),
    -    'zip':   (_make_zipfile, [], "ZIP file"),
    -    }
    -
    -if _BZ2_SUPPORTED:
    -    _ARCHIVE_FORMATS['bztar'] = (_make_tarball, [('compress', 'bzip2')],
    -                                "bzip2'ed tar-file")
    -
    -def get_archive_formats():
    -    """Returns a list of supported formats for archiving and unarchiving.
    -
    -    Each element of the returned sequence is a tuple (name, description)
    -    """
    -    formats = [(name, registry[2]) for name, registry in
    -               _ARCHIVE_FORMATS.items()]
    -    formats.sort()
    -    return formats
    -
    -def register_archive_format(name, function, extra_args=None, description=''):
    -    """Registers an archive format.
    -
    -    name is the name of the format. function is the callable that will be
    -    used to create archives. If provided, extra_args is a sequence of
    -    (name, value) tuples that will be passed as arguments to the callable.
    -    description can be provided to describe the format, and will be returned
    -    by the get_archive_formats() function.
    -    """
    -    if extra_args is None:
    -        extra_args = []
    -    if not isinstance(function, collections.Callable):
    -        raise TypeError('The %s object is not callable' % function)
    -    if not isinstance(extra_args, (tuple, list)):
    -        raise TypeError('extra_args needs to be a sequence')
    -    for element in extra_args:
    -        if not isinstance(element, (tuple, list)) or len(element) !=2:
    -            raise TypeError('extra_args elements are : (arg_name, value)')
    -
    -    _ARCHIVE_FORMATS[name] = (function, extra_args, description)
    -
    -def unregister_archive_format(name):
    -    del _ARCHIVE_FORMATS[name]
    -
    -def make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,
    -                 dry_run=0, owner=None, group=None, logger=None):
    -    """Create an archive file (eg. zip or tar).
    -
    -    'base_name' is the name of the file to create, minus any format-specific
    -    extension; 'format' is the archive format: one of "zip", "tar", "bztar"
    -    or "gztar".
    -
    -    'root_dir' is a directory that will be the root directory of the
    -    archive; ie. we typically chdir into 'root_dir' before creating the
    -    archive.  'base_dir' is the directory where we start archiving from;
    -    ie. 'base_dir' will be the common prefix of all files and
    -    directories in the archive.  'root_dir' and 'base_dir' both default
    -    to the current directory.  Returns the name of the archive file.
    -
    -    'owner' and 'group' are used when creating a tar archive. By default,
    -    uses the current owner and group.
    -    """
    -    save_cwd = os.getcwd()
    -    if root_dir is not None:
    -        if logger is not None:
    -            logger.debug("changing into '%s'", root_dir)
    -        base_name = os.path.abspath(base_name)
    -        if not dry_run:
    -            os.chdir(root_dir)
    -
    -    if base_dir is None:
    -        base_dir = os.curdir
    -
    -    kwargs = {'dry_run': dry_run, 'logger': logger}
    -
    -    try:
    -        format_info = _ARCHIVE_FORMATS[format]
    -    except KeyError:
    -        raise ValueError("unknown archive format '%s'" % format)
    -
    -    func = format_info[0]
    -    for arg, val in format_info[1]:
    -        kwargs[arg] = val
    -
    -    if format != 'zip':
    -        kwargs['owner'] = owner
    -        kwargs['group'] = group
    -
    -    try:
    -        filename = func(base_name, base_dir, **kwargs)
    -    finally:
    -        if root_dir is not None:
    -            if logger is not None:
    -                logger.debug("changing back to '%s'", save_cwd)
    -            os.chdir(save_cwd)
    -
    -    return filename
    -
    -
    -def get_unpack_formats():
    -    """Returns a list of supported formats for unpacking.
    -
    -    Each element of the returned sequence is a tuple
    -    (name, extensions, description)
    -    """
    -    formats = [(name, info[0], info[3]) for name, info in
    -               _UNPACK_FORMATS.items()]
    -    formats.sort()
    -    return formats
    -
    -def _check_unpack_options(extensions, function, extra_args):
    -    """Checks what gets registered as an unpacker."""
    -    # first make sure no other unpacker is registered for this extension
    -    existing_extensions = {}
    -    for name, info in _UNPACK_FORMATS.items():
    -        for ext in info[0]:
    -            existing_extensions[ext] = name
    -
    -    for extension in extensions:
    -        if extension in existing_extensions:
    -            msg = '%s is already registered for "%s"'
    -            raise RegistryError(msg % (extension,
    -                                       existing_extensions[extension]))
    -
    -    if not isinstance(function, collections.Callable):
    -        raise TypeError('The registered function must be a callable')
    -
    -
    -def register_unpack_format(name, extensions, function, extra_args=None,
    -                           description=''):
    -    """Registers an unpack format.
    -
    -    `name` is the name of the format. `extensions` is a list of extensions
    -    corresponding to the format.
    -
    -    `function` is the callable that will be
    -    used to unpack archives. The callable will receive archives to unpack.
    -    If it's unable to handle an archive, it needs to raise a ReadError
    -    exception.
    -
    -    If provided, `extra_args` is a sequence of
    -    (name, value) tuples that will be passed as arguments to the callable.
    -    description can be provided to describe the format, and will be returned
    -    by the get_unpack_formats() function.
    -    """
    -    if extra_args is None:
    -        extra_args = []
    -    _check_unpack_options(extensions, function, extra_args)
    -    _UNPACK_FORMATS[name] = extensions, function, extra_args, description
    -
    -def unregister_unpack_format(name):
    -    """Removes the pack format from the registry."""
    -    del _UNPACK_FORMATS[name]
    -
    -def _ensure_directory(path):
    -    """Ensure that the parent directory of `path` exists"""
    -    dirname = os.path.dirname(path)
    -    if not os.path.isdir(dirname):
    -        os.makedirs(dirname)
    -
    -def _unpack_zipfile(filename, extract_dir):
    -    """Unpack zip `filename` to `extract_dir`
    -    """
    -    try:
    -        import zipfile
    -    except ImportError:
    -        raise ReadError('zlib not supported, cannot unpack this archive.')
    -
    -    if not zipfile.is_zipfile(filename):
    -        raise ReadError("%s is not a zip file" % filename)
    -
    -    zip = zipfile.ZipFile(filename)
    -    try:
    -        for info in zip.infolist():
    -            name = info.filename
    -
    -            # don't extract absolute paths or ones with .. in them
    -            if name.startswith('/') or '..' in name:
    -                continue
    -
    -            target = os.path.join(extract_dir, *name.split('/'))
    -            if not target:
    -                continue
    -
    -            _ensure_directory(target)
    -            if not name.endswith('/'):
    -                # file
    -                data = zip.read(info.filename)
    -                f = open(target, 'wb')
    -                try:
    -                    f.write(data)
    -                finally:
    -                    f.close()
    -                    del data
    -    finally:
    -        zip.close()
    -
    -def _unpack_tarfile(filename, extract_dir):
    -    """Unpack tar/tar.gz/tar.bz2 `filename` to `extract_dir`
    -    """
    -    try:
    -        tarobj = tarfile.open(filename)
    -    except tarfile.TarError:
    -        raise ReadError(
    -            "%s is not a compressed or uncompressed tar file" % filename)
    -    try:
    -        tarobj.extractall(extract_dir)
    -    finally:
    -        tarobj.close()
    -
    -_UNPACK_FORMATS = {
    -    'gztar': (['.tar.gz', '.tgz'], _unpack_tarfile, [], "gzip'ed tar-file"),
    -    'tar':   (['.tar'], _unpack_tarfile, [], "uncompressed tar file"),
    -    'zip':   (['.zip'], _unpack_zipfile, [], "ZIP file")
    -    }
    -
    -if _BZ2_SUPPORTED:
    -    _UNPACK_FORMATS['bztar'] = (['.bz2'], _unpack_tarfile, [],
    -                                "bzip2'ed tar-file")
    -
    -def _find_unpack_format(filename):
    -    for name, info in _UNPACK_FORMATS.items():
    -        for extension in info[0]:
    -            if filename.endswith(extension):
    -                return name
    -    return None
    -
    -def unpack_archive(filename, extract_dir=None, format=None):
    -    """Unpack an archive.
    -
    -    `filename` is the name of the archive.
    -
    -    `extract_dir` is the name of the target directory, where the archive
    -    is unpacked. If not provided, the current working directory is used.
    -
    -    `format` is the archive format: one of "zip", "tar", or "gztar". Or any
    -    other registered format. If not provided, unpack_archive will use the
    -    filename extension and see if an unpacker was registered for that
    -    extension.
    -
    -    In case none is found, a ValueError is raised.
    -    """
    -    if extract_dir is None:
    -        extract_dir = os.getcwd()
    -
    -    if format is not None:
    -        try:
    -            format_info = _UNPACK_FORMATS[format]
    -        except KeyError:
    -            raise ValueError("Unknown unpack format '{0}'".format(format))
    -
    -        func = format_info[1]
    -        func(filename, extract_dir, **dict(format_info[2]))
    -    else:
    -        # we need to look at the registered unpackers supported extensions
    -        format = _find_unpack_format(filename)
    -        if format is None:
    -            raise ReadError("Unknown archive format '{0}'".format(filename))
    -
    -        func = _UNPACK_FORMATS[format][1]
    -        kwargs = dict(_UNPACK_FORMATS[format][2])
    -        func(filename, extract_dir, **kwargs)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg
    deleted file mode 100644
    index 1746bd0..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg
    +++ /dev/null
    @@ -1,84 +0,0 @@
    -[posix_prefix]
    -# Configuration directories.  Some of these come straight out of the
    -# configure script.  They are for implementing the other variables, not to
    -# be used directly in [resource_locations].
    -confdir = /etc
    -datadir = /usr/share
    -libdir = /usr/lib
    -statedir = /var
    -# User resource directory
    -local = ~/.local/{distribution.name}
    -
    -stdlib = {base}/lib/python{py_version_short}
    -platstdlib = {platbase}/lib/python{py_version_short}
    -purelib = {base}/lib/python{py_version_short}/site-packages
    -platlib = {platbase}/lib/python{py_version_short}/site-packages
    -include = {base}/include/python{py_version_short}{abiflags}
    -platinclude = {platbase}/include/python{py_version_short}{abiflags}
    -data = {base}
    -
    -[posix_home]
    -stdlib = {base}/lib/python
    -platstdlib = {base}/lib/python
    -purelib = {base}/lib/python
    -platlib = {base}/lib/python
    -include = {base}/include/python
    -platinclude = {base}/include/python
    -scripts = {base}/bin
    -data = {base}
    -
    -[nt]
    -stdlib = {base}/Lib
    -platstdlib = {base}/Lib
    -purelib = {base}/Lib/site-packages
    -platlib = {base}/Lib/site-packages
    -include = {base}/Include
    -platinclude = {base}/Include
    -scripts = {base}/Scripts
    -data = {base}
    -
    -[os2]
    -stdlib = {base}/Lib
    -platstdlib = {base}/Lib
    -purelib = {base}/Lib/site-packages
    -platlib = {base}/Lib/site-packages
    -include = {base}/Include
    -platinclude = {base}/Include
    -scripts = {base}/Scripts
    -data = {base}
    -
    -[os2_home]
    -stdlib = {userbase}/lib/python{py_version_short}
    -platstdlib = {userbase}/lib/python{py_version_short}
    -purelib = {userbase}/lib/python{py_version_short}/site-packages
    -platlib = {userbase}/lib/python{py_version_short}/site-packages
    -include = {userbase}/include/python{py_version_short}
    -scripts = {userbase}/bin
    -data = {userbase}
    -
    -[nt_user]
    -stdlib = {userbase}/Python{py_version_nodot}
    -platstdlib = {userbase}/Python{py_version_nodot}
    -purelib = {userbase}/Python{py_version_nodot}/site-packages
    -platlib = {userbase}/Python{py_version_nodot}/site-packages
    -include = {userbase}/Python{py_version_nodot}/Include
    -scripts = {userbase}/Scripts
    -data = {userbase}
    -
    -[posix_user]
    -stdlib = {userbase}/lib/python{py_version_short}
    -platstdlib = {userbase}/lib/python{py_version_short}
    -purelib = {userbase}/lib/python{py_version_short}/site-packages
    -platlib = {userbase}/lib/python{py_version_short}/site-packages
    -include = {userbase}/include/python{py_version_short}
    -scripts = {userbase}/bin
    -data = {userbase}
    -
    -[osx_framework_user]
    -stdlib = {userbase}/lib/python
    -platstdlib = {userbase}/lib/python
    -purelib = {userbase}/lib/python/site-packages
    -platlib = {userbase}/lib/python/site-packages
    -include = {userbase}/include
    -scripts = {userbase}/bin
    -data = {userbase}
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/sysconfig.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/sysconfig.py
    deleted file mode 100644
    index 1df3aba..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/sysconfig.py
    +++ /dev/null
    @@ -1,788 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2012 The Python Software Foundation.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -"""Access to Python's configuration information."""
    -
    -import codecs
    -import os
    -import re
    -import sys
    -from os.path import pardir, realpath
    -try:
    -    import configparser
    -except ImportError:
    -    import ConfigParser as configparser
    -
    -
    -__all__ = [
    -    'get_config_h_filename',
    -    'get_config_var',
    -    'get_config_vars',
    -    'get_makefile_filename',
    -    'get_path',
    -    'get_path_names',
    -    'get_paths',
    -    'get_platform',
    -    'get_python_version',
    -    'get_scheme_names',
    -    'parse_config_h',
    -]
    -
    -
    -def _safe_realpath(path):
    -    try:
    -        return realpath(path)
    -    except OSError:
    -        return path
    -
    -
    -if sys.executable:
    -    _PROJECT_BASE = os.path.dirname(_safe_realpath(sys.executable))
    -else:
    -    # sys.executable can be empty if argv[0] has been changed and Python is
    -    # unable to retrieve the real program name
    -    _PROJECT_BASE = _safe_realpath(os.getcwd())
    -
    -if os.name == "nt" and "pcbuild" in _PROJECT_BASE[-8:].lower():
    -    _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir))
    -# PC/VS7.1
    -if os.name == "nt" and "\\pc\\v" in _PROJECT_BASE[-10:].lower():
    -    _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir))
    -# PC/AMD64
    -if os.name == "nt" and "\\pcbuild\\amd64" in _PROJECT_BASE[-14:].lower():
    -    _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir))
    -
    -
    -def is_python_build():
    -    for fn in ("Setup.dist", "Setup.local"):
    -        if os.path.isfile(os.path.join(_PROJECT_BASE, "Modules", fn)):
    -            return True
    -    return False
    -
    -_PYTHON_BUILD = is_python_build()
    -
    -_cfg_read = False
    -
    -def _ensure_cfg_read():
    -    global _cfg_read
    -    if not _cfg_read:
    -        from ..resources import finder
    -        backport_package = __name__.rsplit('.', 1)[0]
    -        _finder = finder(backport_package)
    -        _cfgfile = _finder.find('sysconfig.cfg')
    -        assert _cfgfile, 'sysconfig.cfg exists'
    -        with _cfgfile.as_stream() as s:
    -            _SCHEMES.readfp(s)
    -        if _PYTHON_BUILD:
    -            for scheme in ('posix_prefix', 'posix_home'):
    -                _SCHEMES.set(scheme, 'include', '{srcdir}/Include')
    -                _SCHEMES.set(scheme, 'platinclude', '{projectbase}/.')
    -
    -        _cfg_read = True
    -
    -
    -_SCHEMES = configparser.RawConfigParser()
    -_VAR_REPL = re.compile(r'\{([^{]*?)\}')
    -
    -def _expand_globals(config):
    -    _ensure_cfg_read()
    -    if config.has_section('globals'):
    -        globals = config.items('globals')
    -    else:
    -        globals = tuple()
    -
    -    sections = config.sections()
    -    for section in sections:
    -        if section == 'globals':
    -            continue
    -        for option, value in globals:
    -            if config.has_option(section, option):
    -                continue
    -            config.set(section, option, value)
    -    config.remove_section('globals')
    -
    -    # now expanding local variables defined in the cfg file
    -    #
    -    for section in config.sections():
    -        variables = dict(config.items(section))
    -
    -        def _replacer(matchobj):
    -            name = matchobj.group(1)
    -            if name in variables:
    -                return variables[name]
    -            return matchobj.group(0)
    -
    -        for option, value in config.items(section):
    -            config.set(section, option, _VAR_REPL.sub(_replacer, value))
    -
    -#_expand_globals(_SCHEMES)
    -
    - # FIXME don't rely on sys.version here, its format is an implementation detail
    - # of CPython, use sys.version_info or sys.hexversion
    -_PY_VERSION = sys.version.split()[0]
    -_PY_VERSION_SHORT = sys.version[:3]
    -_PY_VERSION_SHORT_NO_DOT = _PY_VERSION[0] + _PY_VERSION[2]
    -_PREFIX = os.path.normpath(sys.prefix)
    -_EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
    -_CONFIG_VARS = None
    -_USER_BASE = None
    -
    -
    -def _subst_vars(path, local_vars):
    -    """In the string `path`, replace tokens like {some.thing} with the
    -    corresponding value from the map `local_vars`.
    -
    -    If there is no corresponding value, leave the token unchanged.
    -    """
    -    def _replacer(matchobj):
    -        name = matchobj.group(1)
    -        if name in local_vars:
    -            return local_vars[name]
    -        elif name in os.environ:
    -            return os.environ[name]
    -        return matchobj.group(0)
    -    return _VAR_REPL.sub(_replacer, path)
    -
    -
    -def _extend_dict(target_dict, other_dict):
    -    target_keys = target_dict.keys()
    -    for key, value in other_dict.items():
    -        if key in target_keys:
    -            continue
    -        target_dict[key] = value
    -
    -
    -def _expand_vars(scheme, vars):
    -    res = {}
    -    if vars is None:
    -        vars = {}
    -    _extend_dict(vars, get_config_vars())
    -
    -    for key, value in _SCHEMES.items(scheme):
    -        if os.name in ('posix', 'nt'):
    -            value = os.path.expanduser(value)
    -        res[key] = os.path.normpath(_subst_vars(value, vars))
    -    return res
    -
    -
    -def format_value(value, vars):
    -    def _replacer(matchobj):
    -        name = matchobj.group(1)
    -        if name in vars:
    -            return vars[name]
    -        return matchobj.group(0)
    -    return _VAR_REPL.sub(_replacer, value)
    -
    -
    -def _get_default_scheme():
    -    if os.name == 'posix':
    -        # the default scheme for posix is posix_prefix
    -        return 'posix_prefix'
    -    return os.name
    -
    -
    -def _getuserbase():
    -    env_base = os.environ.get("PYTHONUSERBASE", None)
    -
    -    def joinuser(*args):
    -        return os.path.expanduser(os.path.join(*args))
    -
    -    # what about 'os2emx', 'riscos' ?
    -    if os.name == "nt":
    -        base = os.environ.get("APPDATA") or "~"
    -        if env_base:
    -            return env_base
    -        else:
    -            return joinuser(base, "Python")
    -
    -    if sys.platform == "darwin":
    -        framework = get_config_var("PYTHONFRAMEWORK")
    -        if framework:
    -            if env_base:
    -                return env_base
    -            else:
    -                return joinuser("~", "Library", framework, "%d.%d" %
    -                                sys.version_info[:2])
    -
    -    if env_base:
    -        return env_base
    -    else:
    -        return joinuser("~", ".local")
    -
    -
    -def _parse_makefile(filename, vars=None):
    -    """Parse a Makefile-style file.
    -
    -    A dictionary containing name/value pairs is returned.  If an
    -    optional dictionary is passed in as the second argument, it is
    -    used instead of a new dictionary.
    -    """
    -    # Regexes needed for parsing Makefile (and similar syntaxes,
    -    # like old-style Setup files).
    -    _variable_rx = re.compile(r"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)")
    -    _findvar1_rx = re.compile(r"\$\(([A-Za-z][A-Za-z0-9_]*)\)")
    -    _findvar2_rx = re.compile(r"\${([A-Za-z][A-Za-z0-9_]*)}")
    -
    -    if vars is None:
    -        vars = {}
    -    done = {}
    -    notdone = {}
    -
    -    with codecs.open(filename, encoding='utf-8', errors="surrogateescape") as f:
    -        lines = f.readlines()
    -
    -    for line in lines:
    -        if line.startswith('#') or line.strip() == '':
    -            continue
    -        m = _variable_rx.match(line)
    -        if m:
    -            n, v = m.group(1, 2)
    -            v = v.strip()
    -            # `$$' is a literal `$' in make
    -            tmpv = v.replace('$$', '')
    -
    -            if "$" in tmpv:
    -                notdone[n] = v
    -            else:
    -                try:
    -                    v = int(v)
    -                except ValueError:
    -                    # insert literal `$'
    -                    done[n] = v.replace('$$', '$')
    -                else:
    -                    done[n] = v
    -
    -    # do variable interpolation here
    -    variables = list(notdone.keys())
    -
    -    # Variables with a 'PY_' prefix in the makefile. These need to
    -    # be made available without that prefix through sysconfig.
    -    # Special care is needed to ensure that variable expansion works, even
    -    # if the expansion uses the name without a prefix.
    -    renamed_variables = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS')
    -
    -    while len(variables) > 0:
    -        for name in tuple(variables):
    -            value = notdone[name]
    -            m = _findvar1_rx.search(value) or _findvar2_rx.search(value)
    -            if m is not None:
    -                n = m.group(1)
    -                found = True
    -                if n in done:
    -                    item = str(done[n])
    -                elif n in notdone:
    -                    # get it on a subsequent round
    -                    found = False
    -                elif n in os.environ:
    -                    # do it like make: fall back to environment
    -                    item = os.environ[n]
    -
    -                elif n in renamed_variables:
    -                    if (name.startswith('PY_') and
    -                        name[3:] in renamed_variables):
    -                        item = ""
    -
    -                    elif 'PY_' + n in notdone:
    -                        found = False
    -
    -                    else:
    -                        item = str(done['PY_' + n])
    -
    -                else:
    -                    done[n] = item = ""
    -
    -                if found:
    -                    after = value[m.end():]
    -                    value = value[:m.start()] + item + after
    -                    if "$" in after:
    -                        notdone[name] = value
    -                    else:
    -                        try:
    -                            value = int(value)
    -                        except ValueError:
    -                            done[name] = value.strip()
    -                        else:
    -                            done[name] = value
    -                        variables.remove(name)
    -
    -                        if (name.startswith('PY_') and
    -                            name[3:] in renamed_variables):
    -
    -                            name = name[3:]
    -                            if name not in done:
    -                                done[name] = value
    -
    -            else:
    -                # bogus variable reference (e.g. "prefix=$/opt/python");
    -                # just drop it since we can't deal
    -                done[name] = value
    -                variables.remove(name)
    -
    -    # strip spurious spaces
    -    for k, v in done.items():
    -        if isinstance(v, str):
    -            done[k] = v.strip()
    -
    -    # save the results in the global dictionary
    -    vars.update(done)
    -    return vars
    -
    -
    -def get_makefile_filename():
    -    """Return the path of the Makefile."""
    -    if _PYTHON_BUILD:
    -        return os.path.join(_PROJECT_BASE, "Makefile")
    -    if hasattr(sys, 'abiflags'):
    -        config_dir_name = 'config-%s%s' % (_PY_VERSION_SHORT, sys.abiflags)
    -    else:
    -        config_dir_name = 'config'
    -    return os.path.join(get_path('stdlib'), config_dir_name, 'Makefile')
    -
    -
    -def _init_posix(vars):
    -    """Initialize the module as appropriate for POSIX systems."""
    -    # load the installed Makefile:
    -    makefile = get_makefile_filename()
    -    try:
    -        _parse_makefile(makefile, vars)
    -    except IOError as e:
    -        msg = "invalid Python installation: unable to open %s" % makefile
    -        if hasattr(e, "strerror"):
    -            msg = msg + " (%s)" % e.strerror
    -        raise IOError(msg)
    -    # load the installed pyconfig.h:
    -    config_h = get_config_h_filename()
    -    try:
    -        with open(config_h) as f:
    -            parse_config_h(f, vars)
    -    except IOError as e:
    -        msg = "invalid Python installation: unable to open %s" % config_h
    -        if hasattr(e, "strerror"):
    -            msg = msg + " (%s)" % e.strerror
    -        raise IOError(msg)
    -    # On AIX, there are wrong paths to the linker scripts in the Makefile
    -    # -- these paths are relative to the Python source, but when installed
    -    # the scripts are in another directory.
    -    if _PYTHON_BUILD:
    -        vars['LDSHARED'] = vars['BLDSHARED']
    -
    -
    -def _init_non_posix(vars):
    -    """Initialize the module as appropriate for NT"""
    -    # set basic install directories
    -    vars['LIBDEST'] = get_path('stdlib')
    -    vars['BINLIBDEST'] = get_path('platstdlib')
    -    vars['INCLUDEPY'] = get_path('include')
    -    vars['SO'] = '.pyd'
    -    vars['EXE'] = '.exe'
    -    vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT
    -    vars['BINDIR'] = os.path.dirname(_safe_realpath(sys.executable))
    -
    -#
    -# public APIs
    -#
    -
    -
    -def parse_config_h(fp, vars=None):
    -    """Parse a config.h-style file.
    -
    -    A dictionary containing name/value pairs is returned.  If an
    -    optional dictionary is passed in as the second argument, it is
    -    used instead of a new dictionary.
    -    """
    -    if vars is None:
    -        vars = {}
    -    define_rx = re.compile("#define ([A-Z][A-Za-z0-9_]+) (.*)\n")
    -    undef_rx = re.compile("/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/\n")
    -
    -    while True:
    -        line = fp.readline()
    -        if not line:
    -            break
    -        m = define_rx.match(line)
    -        if m:
    -            n, v = m.group(1, 2)
    -            try:
    -                v = int(v)
    -            except ValueError:
    -                pass
    -            vars[n] = v
    -        else:
    -            m = undef_rx.match(line)
    -            if m:
    -                vars[m.group(1)] = 0
    -    return vars
    -
    -
    -def get_config_h_filename():
    -    """Return the path of pyconfig.h."""
    -    if _PYTHON_BUILD:
    -        if os.name == "nt":
    -            inc_dir = os.path.join(_PROJECT_BASE, "PC")
    -        else:
    -            inc_dir = _PROJECT_BASE
    -    else:
    -        inc_dir = get_path('platinclude')
    -    return os.path.join(inc_dir, 'pyconfig.h')
    -
    -
    -def get_scheme_names():
    -    """Return a tuple containing the schemes names."""
    -    return tuple(sorted(_SCHEMES.sections()))
    -
    -
    -def get_path_names():
    -    """Return a tuple containing the paths names."""
    -    # xxx see if we want a static list
    -    return _SCHEMES.options('posix_prefix')
    -
    -
    -def get_paths(scheme=_get_default_scheme(), vars=None, expand=True):
    -    """Return a mapping containing an install scheme.
    -
    -    ``scheme`` is the install scheme name. If not provided, it will
    -    return the default scheme for the current platform.
    -    """
    -    _ensure_cfg_read()
    -    if expand:
    -        return _expand_vars(scheme, vars)
    -    else:
    -        return dict(_SCHEMES.items(scheme))
    -
    -
    -def get_path(name, scheme=_get_default_scheme(), vars=None, expand=True):
    -    """Return a path corresponding to the scheme.
    -
    -    ``scheme`` is the install scheme name.
    -    """
    -    return get_paths(scheme, vars, expand)[name]
    -
    -
    -def get_config_vars(*args):
    -    """With no arguments, return a dictionary of all configuration
    -    variables relevant for the current platform.
    -
    -    On Unix, this means every variable defined in Python's installed Makefile;
    -    On Windows and Mac OS it's a much smaller set.
    -
    -    With arguments, return a list of values that result from looking up
    -    each argument in the configuration variable dictionary.
    -    """
    -    global _CONFIG_VARS
    -    if _CONFIG_VARS is None:
    -        _CONFIG_VARS = {}
    -        # Normalized versions of prefix and exec_prefix are handy to have;
    -        # in fact, these are the standard versions used most places in the
    -        # distutils2 module.
    -        _CONFIG_VARS['prefix'] = _PREFIX
    -        _CONFIG_VARS['exec_prefix'] = _EXEC_PREFIX
    -        _CONFIG_VARS['py_version'] = _PY_VERSION
    -        _CONFIG_VARS['py_version_short'] = _PY_VERSION_SHORT
    -        _CONFIG_VARS['py_version_nodot'] = _PY_VERSION[0] + _PY_VERSION[2]
    -        _CONFIG_VARS['base'] = _PREFIX
    -        _CONFIG_VARS['platbase'] = _EXEC_PREFIX
    -        _CONFIG_VARS['projectbase'] = _PROJECT_BASE
    -        try:
    -            _CONFIG_VARS['abiflags'] = sys.abiflags
    -        except AttributeError:
    -            # sys.abiflags may not be defined on all platforms.
    -            _CONFIG_VARS['abiflags'] = ''
    -
    -        if os.name in ('nt', 'os2'):
    -            _init_non_posix(_CONFIG_VARS)
    -        if os.name == 'posix':
    -            _init_posix(_CONFIG_VARS)
    -        # Setting 'userbase' is done below the call to the
    -        # init function to enable using 'get_config_var' in
    -        # the init-function.
    -        if sys.version >= '2.6':
    -            _CONFIG_VARS['userbase'] = _getuserbase()
    -
    -        if 'srcdir' not in _CONFIG_VARS:
    -            _CONFIG_VARS['srcdir'] = _PROJECT_BASE
    -        else:
    -            _CONFIG_VARS['srcdir'] = _safe_realpath(_CONFIG_VARS['srcdir'])
    -
    -        # Convert srcdir into an absolute path if it appears necessary.
    -        # Normally it is relative to the build directory.  However, during
    -        # testing, for example, we might be running a non-installed python
    -        # from a different directory.
    -        if _PYTHON_BUILD and os.name == "posix":
    -            base = _PROJECT_BASE
    -            try:
    -                cwd = os.getcwd()
    -            except OSError:
    -                cwd = None
    -            if (not os.path.isabs(_CONFIG_VARS['srcdir']) and
    -                base != cwd):
    -                # srcdir is relative and we are not in the same directory
    -                # as the executable. Assume executable is in the build
    -                # directory and make srcdir absolute.
    -                srcdir = os.path.join(base, _CONFIG_VARS['srcdir'])
    -                _CONFIG_VARS['srcdir'] = os.path.normpath(srcdir)
    -
    -        if sys.platform == 'darwin':
    -            kernel_version = os.uname()[2]  # Kernel version (8.4.3)
    -            major_version = int(kernel_version.split('.')[0])
    -
    -            if major_version < 8:
    -                # On Mac OS X before 10.4, check if -arch and -isysroot
    -                # are in CFLAGS or LDFLAGS and remove them if they are.
    -                # This is needed when building extensions on a 10.3 system
    -                # using a universal build of python.
    -                for key in ('LDFLAGS', 'BASECFLAGS',
    -                        # a number of derived variables. These need to be
    -                        # patched up as well.
    -                        'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'):
    -                    flags = _CONFIG_VARS[key]
    -                    flags = re.sub(r'-arch\s+\w+\s', ' ', flags)
    -                    flags = re.sub('-isysroot [^ \t]*', ' ', flags)
    -                    _CONFIG_VARS[key] = flags
    -            else:
    -                # Allow the user to override the architecture flags using
    -                # an environment variable.
    -                # NOTE: This name was introduced by Apple in OSX 10.5 and
    -                # is used by several scripting languages distributed with
    -                # that OS release.
    -                if 'ARCHFLAGS' in os.environ:
    -                    arch = os.environ['ARCHFLAGS']
    -                    for key in ('LDFLAGS', 'BASECFLAGS',
    -                        # a number of derived variables. These need to be
    -                        # patched up as well.
    -                        'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'):
    -
    -                        flags = _CONFIG_VARS[key]
    -                        flags = re.sub(r'-arch\s+\w+\s', ' ', flags)
    -                        flags = flags + ' ' + arch
    -                        _CONFIG_VARS[key] = flags
    -
    -                # If we're on OSX 10.5 or later and the user tries to
    -                # compiles an extension using an SDK that is not present
    -                # on the current machine it is better to not use an SDK
    -                # than to fail.
    -                #
    -                # The major usecase for this is users using a Python.org
    -                # binary installer  on OSX 10.6: that installer uses
    -                # the 10.4u SDK, but that SDK is not installed by default
    -                # when you install Xcode.
    -                #
    -                CFLAGS = _CONFIG_VARS.get('CFLAGS', '')
    -                m = re.search(r'-isysroot\s+(\S+)', CFLAGS)
    -                if m is not None:
    -                    sdk = m.group(1)
    -                    if not os.path.exists(sdk):
    -                        for key in ('LDFLAGS', 'BASECFLAGS',
    -                             # a number of derived variables. These need to be
    -                             # patched up as well.
    -                            'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'):
    -
    -                            flags = _CONFIG_VARS[key]
    -                            flags = re.sub(r'-isysroot\s+\S+(\s|$)', ' ', flags)
    -                            _CONFIG_VARS[key] = flags
    -
    -    if args:
    -        vals = []
    -        for name in args:
    -            vals.append(_CONFIG_VARS.get(name))
    -        return vals
    -    else:
    -        return _CONFIG_VARS
    -
    -
    -def get_config_var(name):
    -    """Return the value of a single variable using the dictionary returned by
    -    'get_config_vars()'.
    -
    -    Equivalent to get_config_vars().get(name)
    -    """
    -    return get_config_vars().get(name)
    -
    -
    -def get_platform():
    -    """Return a string that identifies the current platform.
    -
    -    This is used mainly to distinguish platform-specific build directories and
    -    platform-specific built distributions.  Typically includes the OS name
    -    and version and the architecture (as supplied by 'os.uname()'),
    -    although the exact information included depends on the OS; eg. for IRIX
    -    the architecture isn't particularly important (IRIX only runs on SGI
    -    hardware), but for Linux the kernel version isn't particularly
    -    important.
    -
    -    Examples of returned values:
    -       linux-i586
    -       linux-alpha (?)
    -       solaris-2.6-sun4u
    -       irix-5.3
    -       irix64-6.2
    -
    -    Windows will return one of:
    -       win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
    -       win-ia64 (64bit Windows on Itanium)
    -       win32 (all others - specifically, sys.platform is returned)
    -
    -    For other non-POSIX platforms, currently just returns 'sys.platform'.
    -    """
    -    if os.name == 'nt':
    -        # sniff sys.version for architecture.
    -        prefix = " bit ("
    -        i = sys.version.find(prefix)
    -        if i == -1:
    -            return sys.platform
    -        j = sys.version.find(")", i)
    -        look = sys.version[i+len(prefix):j].lower()
    -        if look == 'amd64':
    -            return 'win-amd64'
    -        if look == 'itanium':
    -            return 'win-ia64'
    -        return sys.platform
    -
    -    if os.name != "posix" or not hasattr(os, 'uname'):
    -        # XXX what about the architecture? NT is Intel or Alpha,
    -        # Mac OS is M68k or PPC, etc.
    -        return sys.platform
    -
    -    # Try to distinguish various flavours of Unix
    -    osname, host, release, version, machine = os.uname()
    -
    -    # Convert the OS name to lowercase, remove '/' characters
    -    # (to accommodate BSD/OS), and translate spaces (for "Power Macintosh")
    -    osname = osname.lower().replace('/', '')
    -    machine = machine.replace(' ', '_')
    -    machine = machine.replace('/', '-')
    -
    -    if osname[:5] == "linux":
    -        # At least on Linux/Intel, 'machine' is the processor --
    -        # i386, etc.
    -        # XXX what about Alpha, SPARC, etc?
    -        return  "%s-%s" % (osname, machine)
    -    elif osname[:5] == "sunos":
    -        if release[0] >= "5":           # SunOS 5 == Solaris 2
    -            osname = "solaris"
    -            release = "%d.%s" % (int(release[0]) - 3, release[2:])
    -        # fall through to standard osname-release-machine representation
    -    elif osname[:4] == "irix":              # could be "irix64"!
    -        return "%s-%s" % (osname, release)
    -    elif osname[:3] == "aix":
    -        return "%s-%s.%s" % (osname, version, release)
    -    elif osname[:6] == "cygwin":
    -        osname = "cygwin"
    -        rel_re = re.compile(r'[\d.]+')
    -        m = rel_re.match(release)
    -        if m:
    -            release = m.group()
    -    elif osname[:6] == "darwin":
    -        #
    -        # For our purposes, we'll assume that the system version from
    -        # distutils' perspective is what MACOSX_DEPLOYMENT_TARGET is set
    -        # to. This makes the compatibility story a bit more sane because the
    -        # machine is going to compile and link as if it were
    -        # MACOSX_DEPLOYMENT_TARGET.
    -        cfgvars = get_config_vars()
    -        macver = cfgvars.get('MACOSX_DEPLOYMENT_TARGET')
    -
    -        if True:
    -            # Always calculate the release of the running machine,
    -            # needed to determine if we can build fat binaries or not.
    -
    -            macrelease = macver
    -            # Get the system version. Reading this plist is a documented
    -            # way to get the system version (see the documentation for
    -            # the Gestalt Manager)
    -            try:
    -                f = open('/System/Library/CoreServices/SystemVersion.plist')
    -            except IOError:
    -                # We're on a plain darwin box, fall back to the default
    -                # behaviour.
    -                pass
    -            else:
    -                try:
    -                    m = re.search(r'ProductUserVisibleVersion\s*'
    -                                  r'(.*?)', f.read())
    -                finally:
    -                    f.close()
    -                if m is not None:
    -                    macrelease = '.'.join(m.group(1).split('.')[:2])
    -                # else: fall back to the default behaviour
    -
    -        if not macver:
    -            macver = macrelease
    -
    -        if macver:
    -            release = macver
    -            osname = "macosx"
    -
    -            if ((macrelease + '.') >= '10.4.' and
    -                '-arch' in get_config_vars().get('CFLAGS', '').strip()):
    -                # The universal build will build fat binaries, but not on
    -                # systems before 10.4
    -                #
    -                # Try to detect 4-way universal builds, those have machine-type
    -                # 'universal' instead of 'fat'.
    -
    -                machine = 'fat'
    -                cflags = get_config_vars().get('CFLAGS')
    -
    -                archs = re.findall(r'-arch\s+(\S+)', cflags)
    -                archs = tuple(sorted(set(archs)))
    -
    -                if len(archs) == 1:
    -                    machine = archs[0]
    -                elif archs == ('i386', 'ppc'):
    -                    machine = 'fat'
    -                elif archs == ('i386', 'x86_64'):
    -                    machine = 'intel'
    -                elif archs == ('i386', 'ppc', 'x86_64'):
    -                    machine = 'fat3'
    -                elif archs == ('ppc64', 'x86_64'):
    -                    machine = 'fat64'
    -                elif archs == ('i386', 'ppc', 'ppc64', 'x86_64'):
    -                    machine = 'universal'
    -                else:
    -                    raise ValueError(
    -                       "Don't know machine value for archs=%r" % (archs,))
    -
    -            elif machine == 'i386':
    -                # On OSX the machine type returned by uname is always the
    -                # 32-bit variant, even if the executable architecture is
    -                # the 64-bit variant
    -                if sys.maxsize >= 2**32:
    -                    machine = 'x86_64'
    -
    -            elif machine in ('PowerPC', 'Power_Macintosh'):
    -                # Pick a sane name for the PPC architecture.
    -                # See 'i386' case
    -                if sys.maxsize >= 2**32:
    -                    machine = 'ppc64'
    -                else:
    -                    machine = 'ppc'
    -
    -    return "%s-%s-%s" % (osname, release, machine)
    -
    -
    -def get_python_version():
    -    return _PY_VERSION_SHORT
    -
    -
    -def _print_dict(title, data):
    -    for index, (key, value) in enumerate(sorted(data.items())):
    -        if index == 0:
    -            print('%s: ' % (title))
    -        print('\t%s = "%s"' % (key, value))
    -
    -
    -def _main():
    -    """Display all information sysconfig detains."""
    -    print('Platform: "%s"' % get_platform())
    -    print('Python version: "%s"' % get_python_version())
    -    print('Current installation scheme: "%s"' % _get_default_scheme())
    -    print()
    -    _print_dict('Paths', get_paths())
    -    print()
    -    _print_dict('Variables', get_config_vars())
    -
    -
    -if __name__ == '__main__':
    -    _main()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/tarfile.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/tarfile.py
    deleted file mode 100644
    index d66d856..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/_backport/tarfile.py
    +++ /dev/null
    @@ -1,2607 +0,0 @@
    -#-------------------------------------------------------------------
    -# tarfile.py
    -#-------------------------------------------------------------------
    -# Copyright (C) 2002 Lars Gustaebel 
    -# All rights reserved.
    -#
    -# 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
    -
    -"""Read from and write to tar format archives.
    -"""
    -
    -__version__ = "$Revision$"
    -
    -version     = "0.9.0"
    -__author__  = "Lars Gust\u00e4bel (lars@gustaebel.de)"
    -__date__    = "$Date: 2011-02-25 17:42:01 +0200 (Fri, 25 Feb 2011) $"
    -__cvsid__   = "$Id: tarfile.py 88586 2011-02-25 15:42:01Z marc-andre.lemburg $"
    -__credits__ = "Gustavo Niemeyer, Niels Gust\u00e4bel, Richard Townsend."
    -
    -#---------
    -# Imports
    -#---------
    -import sys
    -import os
    -import stat
    -import errno
    -import time
    -import struct
    -import copy
    -import re
    -
    -try:
    -    import grp, pwd
    -except ImportError:
    -    grp = pwd = None
    -
    -# os.symlink on Windows prior to 6.0 raises NotImplementedError
    -symlink_exception = (AttributeError, NotImplementedError)
    -try:
    -    # WindowsError (1314) will be raised if the caller does not hold the
    -    # SeCreateSymbolicLinkPrivilege privilege
    -    symlink_exception += (WindowsError,)
    -except NameError:
    -    pass
    -
    -# from tarfile import *
    -__all__ = ["TarFile", "TarInfo", "is_tarfile", "TarError"]
    -
    -if sys.version_info[0] < 3:
    -    import __builtin__ as builtins
    -else:
    -    import builtins
    -
    -_open = builtins.open   # Since 'open' is TarFile.open
    -
    -#---------------------------------------------------------
    -# tar constants
    -#---------------------------------------------------------
    -NUL = b"\0"                     # the null character
    -BLOCKSIZE = 512                 # length of processing blocks
    -RECORDSIZE = BLOCKSIZE * 20     # length of records
    -GNU_MAGIC = b"ustar  \0"        # magic gnu tar string
    -POSIX_MAGIC = b"ustar\x0000"    # magic posix tar string
    -
    -LENGTH_NAME = 100               # maximum length of a filename
    -LENGTH_LINK = 100               # maximum length of a linkname
    -LENGTH_PREFIX = 155             # maximum length of the prefix field
    -
    -REGTYPE = b"0"                  # regular file
    -AREGTYPE = b"\0"                # regular file
    -LNKTYPE = b"1"                  # link (inside tarfile)
    -SYMTYPE = b"2"                  # symbolic link
    -CHRTYPE = b"3"                  # character special device
    -BLKTYPE = b"4"                  # block special device
    -DIRTYPE = b"5"                  # directory
    -FIFOTYPE = b"6"                 # fifo special device
    -CONTTYPE = b"7"                 # contiguous file
    -
    -GNUTYPE_LONGNAME = b"L"         # GNU tar longname
    -GNUTYPE_LONGLINK = b"K"         # GNU tar longlink
    -GNUTYPE_SPARSE = b"S"           # GNU tar sparse file
    -
    -XHDTYPE = b"x"                  # POSIX.1-2001 extended header
    -XGLTYPE = b"g"                  # POSIX.1-2001 global header
    -SOLARIS_XHDTYPE = b"X"          # Solaris extended header
    -
    -USTAR_FORMAT = 0                # POSIX.1-1988 (ustar) format
    -GNU_FORMAT = 1                  # GNU tar format
    -PAX_FORMAT = 2                  # POSIX.1-2001 (pax) format
    -DEFAULT_FORMAT = GNU_FORMAT
    -
    -#---------------------------------------------------------
    -# tarfile constants
    -#---------------------------------------------------------
    -# File types that tarfile supports:
    -SUPPORTED_TYPES = (REGTYPE, AREGTYPE, LNKTYPE,
    -                   SYMTYPE, DIRTYPE, FIFOTYPE,
    -                   CONTTYPE, CHRTYPE, BLKTYPE,
    -                   GNUTYPE_LONGNAME, GNUTYPE_LONGLINK,
    -                   GNUTYPE_SPARSE)
    -
    -# File types that will be treated as a regular file.
    -REGULAR_TYPES = (REGTYPE, AREGTYPE,
    -                 CONTTYPE, GNUTYPE_SPARSE)
    -
    -# File types that are part of the GNU tar format.
    -GNU_TYPES = (GNUTYPE_LONGNAME, GNUTYPE_LONGLINK,
    -             GNUTYPE_SPARSE)
    -
    -# Fields from a pax header that override a TarInfo attribute.
    -PAX_FIELDS = ("path", "linkpath", "size", "mtime",
    -              "uid", "gid", "uname", "gname")
    -
    -# Fields from a pax header that are affected by hdrcharset.
    -PAX_NAME_FIELDS = set(("path", "linkpath", "uname", "gname"))
    -
    -# Fields in a pax header that are numbers, all other fields
    -# are treated as strings.
    -PAX_NUMBER_FIELDS = {
    -    "atime": float,
    -    "ctime": float,
    -    "mtime": float,
    -    "uid": int,
    -    "gid": int,
    -    "size": int
    -}
    -
    -#---------------------------------------------------------
    -# Bits used in the mode field, values in octal.
    -#---------------------------------------------------------
    -S_IFLNK = 0o120000        # symbolic link
    -S_IFREG = 0o100000        # regular file
    -S_IFBLK = 0o060000        # block device
    -S_IFDIR = 0o040000        # directory
    -S_IFCHR = 0o020000        # character device
    -S_IFIFO = 0o010000        # fifo
    -
    -TSUID   = 0o4000          # set UID on execution
    -TSGID   = 0o2000          # set GID on execution
    -TSVTX   = 0o1000          # reserved
    -
    -TUREAD  = 0o400           # read by owner
    -TUWRITE = 0o200           # write by owner
    -TUEXEC  = 0o100           # execute/search by owner
    -TGREAD  = 0o040           # read by group
    -TGWRITE = 0o020           # write by group
    -TGEXEC  = 0o010           # execute/search by group
    -TOREAD  = 0o004           # read by other
    -TOWRITE = 0o002           # write by other
    -TOEXEC  = 0o001           # execute/search by other
    -
    -#---------------------------------------------------------
    -# initialization
    -#---------------------------------------------------------
    -if os.name in ("nt", "ce"):
    -    ENCODING = "utf-8"
    -else:
    -    ENCODING = sys.getfilesystemencoding()
    -
    -#---------------------------------------------------------
    -# Some useful functions
    -#---------------------------------------------------------
    -
    -def stn(s, length, encoding, errors):
    -    """Convert a string to a null-terminated bytes object.
    -    """
    -    s = s.encode(encoding, errors)
    -    return s[:length] + (length - len(s)) * NUL
    -
    -def nts(s, encoding, errors):
    -    """Convert a null-terminated bytes object to a string.
    -    """
    -    p = s.find(b"\0")
    -    if p != -1:
    -        s = s[:p]
    -    return s.decode(encoding, errors)
    -
    -def nti(s):
    -    """Convert a number field to a python number.
    -    """
    -    # There are two possible encodings for a number field, see
    -    # itn() below.
    -    if s[0] != chr(0o200):
    -        try:
    -            n = int(nts(s, "ascii", "strict") or "0", 8)
    -        except ValueError:
    -            raise InvalidHeaderError("invalid header")
    -    else:
    -        n = 0
    -        for i in range(len(s) - 1):
    -            n <<= 8
    -            n += ord(s[i + 1])
    -    return n
    -
    -def itn(n, digits=8, format=DEFAULT_FORMAT):
    -    """Convert a python number to a number field.
    -    """
    -    # POSIX 1003.1-1988 requires numbers to be encoded as a string of
    -    # octal digits followed by a null-byte, this allows values up to
    -    # (8**(digits-1))-1. GNU tar allows storing numbers greater than
    -    # that if necessary. A leading 0o200 byte indicates this particular
    -    # encoding, the following digits-1 bytes are a big-endian
    -    # representation. This allows values up to (256**(digits-1))-1.
    -    if 0 <= n < 8 ** (digits - 1):
    -        s = ("%0*o" % (digits - 1, n)).encode("ascii") + NUL
    -    else:
    -        if format != GNU_FORMAT or n >= 256 ** (digits - 1):
    -            raise ValueError("overflow in number field")
    -
    -        if n < 0:
    -            # XXX We mimic GNU tar's behaviour with negative numbers,
    -            # this could raise OverflowError.
    -            n = struct.unpack("L", struct.pack("l", n))[0]
    -
    -        s = bytearray()
    -        for i in range(digits - 1):
    -            s.insert(0, n & 0o377)
    -            n >>= 8
    -        s.insert(0, 0o200)
    -    return s
    -
    -def calc_chksums(buf):
    -    """Calculate the checksum for a member's header by summing up all
    -       characters except for the chksum field which is treated as if
    -       it was filled with spaces. According to the GNU tar sources,
    -       some tars (Sun and NeXT) calculate chksum with signed char,
    -       which will be different if there are chars in the buffer with
    -       the high bit set. So we calculate two checksums, unsigned and
    -       signed.
    -    """
    -    unsigned_chksum = 256 + sum(struct.unpack("148B", buf[:148]) + struct.unpack("356B", buf[156:512]))
    -    signed_chksum = 256 + sum(struct.unpack("148b", buf[:148]) + struct.unpack("356b", buf[156:512]))
    -    return unsigned_chksum, signed_chksum
    -
    -def copyfileobj(src, dst, length=None):
    -    """Copy length bytes from fileobj src to fileobj dst.
    -       If length is None, copy the entire content.
    -    """
    -    if length == 0:
    -        return
    -    if length is None:
    -        while True:
    -            buf = src.read(16*1024)
    -            if not buf:
    -                break
    -            dst.write(buf)
    -        return
    -
    -    BUFSIZE = 16 * 1024
    -    blocks, remainder = divmod(length, BUFSIZE)
    -    for b in range(blocks):
    -        buf = src.read(BUFSIZE)
    -        if len(buf) < BUFSIZE:
    -            raise IOError("end of file reached")
    -        dst.write(buf)
    -
    -    if remainder != 0:
    -        buf = src.read(remainder)
    -        if len(buf) < remainder:
    -            raise IOError("end of file reached")
    -        dst.write(buf)
    -    return
    -
    -filemode_table = (
    -    ((S_IFLNK,      "l"),
    -     (S_IFREG,      "-"),
    -     (S_IFBLK,      "b"),
    -     (S_IFDIR,      "d"),
    -     (S_IFCHR,      "c"),
    -     (S_IFIFO,      "p")),
    -
    -    ((TUREAD,       "r"),),
    -    ((TUWRITE,      "w"),),
    -    ((TUEXEC|TSUID, "s"),
    -     (TSUID,        "S"),
    -     (TUEXEC,       "x")),
    -
    -    ((TGREAD,       "r"),),
    -    ((TGWRITE,      "w"),),
    -    ((TGEXEC|TSGID, "s"),
    -     (TSGID,        "S"),
    -     (TGEXEC,       "x")),
    -
    -    ((TOREAD,       "r"),),
    -    ((TOWRITE,      "w"),),
    -    ((TOEXEC|TSVTX, "t"),
    -     (TSVTX,        "T"),
    -     (TOEXEC,       "x"))
    -)
    -
    -def filemode(mode):
    -    """Convert a file's mode to a string of the form
    -       -rwxrwxrwx.
    -       Used by TarFile.list()
    -    """
    -    perm = []
    -    for table in filemode_table:
    -        for bit, char in table:
    -            if mode & bit == bit:
    -                perm.append(char)
    -                break
    -        else:
    -            perm.append("-")
    -    return "".join(perm)
    -
    -class TarError(Exception):
    -    """Base exception."""
    -    pass
    -class ExtractError(TarError):
    -    """General exception for extract errors."""
    -    pass
    -class ReadError(TarError):
    -    """Exception for unreadable tar archives."""
    -    pass
    -class CompressionError(TarError):
    -    """Exception for unavailable compression methods."""
    -    pass
    -class StreamError(TarError):
    -    """Exception for unsupported operations on stream-like TarFiles."""
    -    pass
    -class HeaderError(TarError):
    -    """Base exception for header errors."""
    -    pass
    -class EmptyHeaderError(HeaderError):
    -    """Exception for empty headers."""
    -    pass
    -class TruncatedHeaderError(HeaderError):
    -    """Exception for truncated headers."""
    -    pass
    -class EOFHeaderError(HeaderError):
    -    """Exception for end of file headers."""
    -    pass
    -class InvalidHeaderError(HeaderError):
    -    """Exception for invalid headers."""
    -    pass
    -class SubsequentHeaderError(HeaderError):
    -    """Exception for missing and invalid extended headers."""
    -    pass
    -
    -#---------------------------
    -# internal stream interface
    -#---------------------------
    -class _LowLevelFile(object):
    -    """Low-level file object. Supports reading and writing.
    -       It is used instead of a regular file object for streaming
    -       access.
    -    """
    -
    -    def __init__(self, name, mode):
    -        mode = {
    -            "r": os.O_RDONLY,
    -            "w": os.O_WRONLY | os.O_CREAT | os.O_TRUNC,
    -        }[mode]
    -        if hasattr(os, "O_BINARY"):
    -            mode |= os.O_BINARY
    -        self.fd = os.open(name, mode, 0o666)
    -
    -    def close(self):
    -        os.close(self.fd)
    -
    -    def read(self, size):
    -        return os.read(self.fd, size)
    -
    -    def write(self, s):
    -        os.write(self.fd, s)
    -
    -class _Stream(object):
    -    """Class that serves as an adapter between TarFile and
    -       a stream-like object.  The stream-like object only
    -       needs to have a read() or write() method and is accessed
    -       blockwise.  Use of gzip or bzip2 compression is possible.
    -       A stream-like object could be for example: sys.stdin,
    -       sys.stdout, a socket, a tape device etc.
    -
    -       _Stream is intended to be used only internally.
    -    """
    -
    -    def __init__(self, name, mode, comptype, fileobj, bufsize):
    -        """Construct a _Stream object.
    -        """
    -        self._extfileobj = True
    -        if fileobj is None:
    -            fileobj = _LowLevelFile(name, mode)
    -            self._extfileobj = False
    -
    -        if comptype == '*':
    -            # Enable transparent compression detection for the
    -            # stream interface
    -            fileobj = _StreamProxy(fileobj)
    -            comptype = fileobj.getcomptype()
    -
    -        self.name     = name or ""
    -        self.mode     = mode
    -        self.comptype = comptype
    -        self.fileobj  = fileobj
    -        self.bufsize  = bufsize
    -        self.buf      = b""
    -        self.pos      = 0
    -        self.closed   = False
    -
    -        try:
    -            if comptype == "gz":
    -                try:
    -                    import zlib
    -                except ImportError:
    -                    raise CompressionError("zlib module is not available")
    -                self.zlib = zlib
    -                self.crc = zlib.crc32(b"")
    -                if mode == "r":
    -                    self._init_read_gz()
    -                else:
    -                    self._init_write_gz()
    -
    -            if comptype == "bz2":
    -                try:
    -                    import bz2
    -                except ImportError:
    -                    raise CompressionError("bz2 module is not available")
    -                if mode == "r":
    -                    self.dbuf = b""
    -                    self.cmp = bz2.BZ2Decompressor()
    -                else:
    -                    self.cmp = bz2.BZ2Compressor()
    -        except:
    -            if not self._extfileobj:
    -                self.fileobj.close()
    -            self.closed = True
    -            raise
    -
    -    def __del__(self):
    -        if hasattr(self, "closed") and not self.closed:
    -            self.close()
    -
    -    def _init_write_gz(self):
    -        """Initialize for writing with gzip compression.
    -        """
    -        self.cmp = self.zlib.compressobj(9, self.zlib.DEFLATED,
    -                                            -self.zlib.MAX_WBITS,
    -                                            self.zlib.DEF_MEM_LEVEL,
    -                                            0)
    -        timestamp = struct.pack(" self.bufsize:
    -            self.fileobj.write(self.buf[:self.bufsize])
    -            self.buf = self.buf[self.bufsize:]
    -
    -    def close(self):
    -        """Close the _Stream object. No operation should be
    -           done on it afterwards.
    -        """
    -        if self.closed:
    -            return
    -
    -        if self.mode == "w" and self.comptype != "tar":
    -            self.buf += self.cmp.flush()
    -
    -        if self.mode == "w" and self.buf:
    -            self.fileobj.write(self.buf)
    -            self.buf = b""
    -            if self.comptype == "gz":
    -                # The native zlib crc is an unsigned 32-bit integer, but
    -                # the Python wrapper implicitly casts that to a signed C
    -                # long.  So, on a 32-bit box self.crc may "look negative",
    -                # while the same crc on a 64-bit box may "look positive".
    -                # To avoid irksome warnings from the `struct` module, force
    -                # it to look positive on all boxes.
    -                self.fileobj.write(struct.pack("= 0:
    -            blocks, remainder = divmod(pos - self.pos, self.bufsize)
    -            for i in range(blocks):
    -                self.read(self.bufsize)
    -            self.read(remainder)
    -        else:
    -            raise StreamError("seeking backwards is not allowed")
    -        return self.pos
    -
    -    def read(self, size=None):
    -        """Return the next size number of bytes from the stream.
    -           If size is not defined, return all bytes of the stream
    -           up to EOF.
    -        """
    -        if size is None:
    -            t = []
    -            while True:
    -                buf = self._read(self.bufsize)
    -                if not buf:
    -                    break
    -                t.append(buf)
    -            buf = "".join(t)
    -        else:
    -            buf = self._read(size)
    -        self.pos += len(buf)
    -        return buf
    -
    -    def _read(self, size):
    -        """Return size bytes from the stream.
    -        """
    -        if self.comptype == "tar":
    -            return self.__read(size)
    -
    -        c = len(self.dbuf)
    -        while c < size:
    -            buf = self.__read(self.bufsize)
    -            if not buf:
    -                break
    -            try:
    -                buf = self.cmp.decompress(buf)
    -            except IOError:
    -                raise ReadError("invalid compressed data")
    -            self.dbuf += buf
    -            c += len(buf)
    -        buf = self.dbuf[:size]
    -        self.dbuf = self.dbuf[size:]
    -        return buf
    -
    -    def __read(self, size):
    -        """Return size bytes from stream. If internal buffer is empty,
    -           read another block from the stream.
    -        """
    -        c = len(self.buf)
    -        while c < size:
    -            buf = self.fileobj.read(self.bufsize)
    -            if not buf:
    -                break
    -            self.buf += buf
    -            c += len(buf)
    -        buf = self.buf[:size]
    -        self.buf = self.buf[size:]
    -        return buf
    -# class _Stream
    -
    -class _StreamProxy(object):
    -    """Small proxy class that enables transparent compression
    -       detection for the Stream interface (mode 'r|*').
    -    """
    -
    -    def __init__(self, fileobj):
    -        self.fileobj = fileobj
    -        self.buf = self.fileobj.read(BLOCKSIZE)
    -
    -    def read(self, size):
    -        self.read = self.fileobj.read
    -        return self.buf
    -
    -    def getcomptype(self):
    -        if self.buf.startswith(b"\037\213\010"):
    -            return "gz"
    -        if self.buf.startswith(b"BZh91"):
    -            return "bz2"
    -        return "tar"
    -
    -    def close(self):
    -        self.fileobj.close()
    -# class StreamProxy
    -
    -class _BZ2Proxy(object):
    -    """Small proxy class that enables external file object
    -       support for "r:bz2" and "w:bz2" modes. This is actually
    -       a workaround for a limitation in bz2 module's BZ2File
    -       class which (unlike gzip.GzipFile) has no support for
    -       a file object argument.
    -    """
    -
    -    blocksize = 16 * 1024
    -
    -    def __init__(self, fileobj, mode):
    -        self.fileobj = fileobj
    -        self.mode = mode
    -        self.name = getattr(self.fileobj, "name", None)
    -        self.init()
    -
    -    def init(self):
    -        import bz2
    -        self.pos = 0
    -        if self.mode == "r":
    -            self.bz2obj = bz2.BZ2Decompressor()
    -            self.fileobj.seek(0)
    -            self.buf = b""
    -        else:
    -            self.bz2obj = bz2.BZ2Compressor()
    -
    -    def read(self, size):
    -        x = len(self.buf)
    -        while x < size:
    -            raw = self.fileobj.read(self.blocksize)
    -            if not raw:
    -                break
    -            data = self.bz2obj.decompress(raw)
    -            self.buf += data
    -            x += len(data)
    -
    -        buf = self.buf[:size]
    -        self.buf = self.buf[size:]
    -        self.pos += len(buf)
    -        return buf
    -
    -    def seek(self, pos):
    -        if pos < self.pos:
    -            self.init()
    -        self.read(pos - self.pos)
    -
    -    def tell(self):
    -        return self.pos
    -
    -    def write(self, data):
    -        self.pos += len(data)
    -        raw = self.bz2obj.compress(data)
    -        self.fileobj.write(raw)
    -
    -    def close(self):
    -        if self.mode == "w":
    -            raw = self.bz2obj.flush()
    -            self.fileobj.write(raw)
    -# class _BZ2Proxy
    -
    -#------------------------
    -# Extraction file object
    -#------------------------
    -class _FileInFile(object):
    -    """A thin wrapper around an existing file object that
    -       provides a part of its data as an individual file
    -       object.
    -    """
    -
    -    def __init__(self, fileobj, offset, size, blockinfo=None):
    -        self.fileobj = fileobj
    -        self.offset = offset
    -        self.size = size
    -        self.position = 0
    -
    -        if blockinfo is None:
    -            blockinfo = [(0, size)]
    -
    -        # Construct a map with data and zero blocks.
    -        self.map_index = 0
    -        self.map = []
    -        lastpos = 0
    -        realpos = self.offset
    -        for offset, size in blockinfo:
    -            if offset > lastpos:
    -                self.map.append((False, lastpos, offset, None))
    -            self.map.append((True, offset, offset + size, realpos))
    -            realpos += size
    -            lastpos = offset + size
    -        if lastpos < self.size:
    -            self.map.append((False, lastpos, self.size, None))
    -
    -    def seekable(self):
    -        if not hasattr(self.fileobj, "seekable"):
    -            # XXX gzip.GzipFile and bz2.BZ2File
    -            return True
    -        return self.fileobj.seekable()
    -
    -    def tell(self):
    -        """Return the current file position.
    -        """
    -        return self.position
    -
    -    def seek(self, position):
    -        """Seek to a position in the file.
    -        """
    -        self.position = position
    -
    -    def read(self, size=None):
    -        """Read data from the file.
    -        """
    -        if size is None:
    -            size = self.size - self.position
    -        else:
    -            size = min(size, self.size - self.position)
    -
    -        buf = b""
    -        while size > 0:
    -            while True:
    -                data, start, stop, offset = self.map[self.map_index]
    -                if start <= self.position < stop:
    -                    break
    -                else:
    -                    self.map_index += 1
    -                    if self.map_index == len(self.map):
    -                        self.map_index = 0
    -            length = min(size, stop - self.position)
    -            if data:
    -                self.fileobj.seek(offset + (self.position - start))
    -                buf += self.fileobj.read(length)
    -            else:
    -                buf += NUL * length
    -            size -= length
    -            self.position += length
    -        return buf
    -#class _FileInFile
    -
    -
    -class ExFileObject(object):
    -    """File-like object for reading an archive member.
    -       Is returned by TarFile.extractfile().
    -    """
    -    blocksize = 1024
    -
    -    def __init__(self, tarfile, tarinfo):
    -        self.fileobj = _FileInFile(tarfile.fileobj,
    -                                   tarinfo.offset_data,
    -                                   tarinfo.size,
    -                                   tarinfo.sparse)
    -        self.name = tarinfo.name
    -        self.mode = "r"
    -        self.closed = False
    -        self.size = tarinfo.size
    -
    -        self.position = 0
    -        self.buffer = b""
    -
    -    def readable(self):
    -        return True
    -
    -    def writable(self):
    -        return False
    -
    -    def seekable(self):
    -        return self.fileobj.seekable()
    -
    -    def read(self, size=None):
    -        """Read at most size bytes from the file. If size is not
    -           present or None, read all data until EOF is reached.
    -        """
    -        if self.closed:
    -            raise ValueError("I/O operation on closed file")
    -
    -        buf = b""
    -        if self.buffer:
    -            if size is None:
    -                buf = self.buffer
    -                self.buffer = b""
    -            else:
    -                buf = self.buffer[:size]
    -                self.buffer = self.buffer[size:]
    -
    -        if size is None:
    -            buf += self.fileobj.read()
    -        else:
    -            buf += self.fileobj.read(size - len(buf))
    -
    -        self.position += len(buf)
    -        return buf
    -
    -    # XXX TextIOWrapper uses the read1() method.
    -    read1 = read
    -
    -    def readline(self, size=-1):
    -        """Read one entire line from the file. If size is present
    -           and non-negative, return a string with at most that
    -           size, which may be an incomplete line.
    -        """
    -        if self.closed:
    -            raise ValueError("I/O operation on closed file")
    -
    -        pos = self.buffer.find(b"\n") + 1
    -        if pos == 0:
    -            # no newline found.
    -            while True:
    -                buf = self.fileobj.read(self.blocksize)
    -                self.buffer += buf
    -                if not buf or b"\n" in buf:
    -                    pos = self.buffer.find(b"\n") + 1
    -                    if pos == 0:
    -                        # no newline found.
    -                        pos = len(self.buffer)
    -                    break
    -
    -        if size != -1:
    -            pos = min(size, pos)
    -
    -        buf = self.buffer[:pos]
    -        self.buffer = self.buffer[pos:]
    -        self.position += len(buf)
    -        return buf
    -
    -    def readlines(self):
    -        """Return a list with all remaining lines.
    -        """
    -        result = []
    -        while True:
    -            line = self.readline()
    -            if not line: break
    -            result.append(line)
    -        return result
    -
    -    def tell(self):
    -        """Return the current file position.
    -        """
    -        if self.closed:
    -            raise ValueError("I/O operation on closed file")
    -
    -        return self.position
    -
    -    def seek(self, pos, whence=os.SEEK_SET):
    -        """Seek to a position in the file.
    -        """
    -        if self.closed:
    -            raise ValueError("I/O operation on closed file")
    -
    -        if whence == os.SEEK_SET:
    -            self.position = min(max(pos, 0), self.size)
    -        elif whence == os.SEEK_CUR:
    -            if pos < 0:
    -                self.position = max(self.position + pos, 0)
    -            else:
    -                self.position = min(self.position + pos, self.size)
    -        elif whence == os.SEEK_END:
    -            self.position = max(min(self.size + pos, self.size), 0)
    -        else:
    -            raise ValueError("Invalid argument")
    -
    -        self.buffer = b""
    -        self.fileobj.seek(self.position)
    -
    -    def close(self):
    -        """Close the file object.
    -        """
    -        self.closed = True
    -
    -    def __iter__(self):
    -        """Get an iterator over the file's lines.
    -        """
    -        while True:
    -            line = self.readline()
    -            if not line:
    -                break
    -            yield line
    -#class ExFileObject
    -
    -#------------------
    -# Exported Classes
    -#------------------
    -class TarInfo(object):
    -    """Informational class which holds the details about an
    -       archive member given by a tar header block.
    -       TarInfo objects are returned by TarFile.getmember(),
    -       TarFile.getmembers() and TarFile.gettarinfo() and are
    -       usually created internally.
    -    """
    -
    -    __slots__ = ("name", "mode", "uid", "gid", "size", "mtime",
    -                 "chksum", "type", "linkname", "uname", "gname",
    -                 "devmajor", "devminor",
    -                 "offset", "offset_data", "pax_headers", "sparse",
    -                 "tarfile", "_sparse_structs", "_link_target")
    -
    -    def __init__(self, name=""):
    -        """Construct a TarInfo object. name is the optional name
    -           of the member.
    -        """
    -        self.name = name        # member name
    -        self.mode = 0o644       # file permissions
    -        self.uid = 0            # user id
    -        self.gid = 0            # group id
    -        self.size = 0           # file size
    -        self.mtime = 0          # modification time
    -        self.chksum = 0         # header checksum
    -        self.type = REGTYPE     # member type
    -        self.linkname = ""      # link name
    -        self.uname = ""         # user name
    -        self.gname = ""         # group name
    -        self.devmajor = 0       # device major number
    -        self.devminor = 0       # device minor number
    -
    -        self.offset = 0         # the tar header starts here
    -        self.offset_data = 0    # the file's data starts here
    -
    -        self.sparse = None      # sparse member information
    -        self.pax_headers = {}   # pax header information
    -
    -    # In pax headers the "name" and "linkname" field are called
    -    # "path" and "linkpath".
    -    def _getpath(self):
    -        return self.name
    -    def _setpath(self, name):
    -        self.name = name
    -    path = property(_getpath, _setpath)
    -
    -    def _getlinkpath(self):
    -        return self.linkname
    -    def _setlinkpath(self, linkname):
    -        self.linkname = linkname
    -    linkpath = property(_getlinkpath, _setlinkpath)
    -
    -    def __repr__(self):
    -        return "<%s %r at %#x>" % (self.__class__.__name__,self.name,id(self))
    -
    -    def get_info(self):
    -        """Return the TarInfo's attributes as a dictionary.
    -        """
    -        info = {
    -            "name":     self.name,
    -            "mode":     self.mode & 0o7777,
    -            "uid":      self.uid,
    -            "gid":      self.gid,
    -            "size":     self.size,
    -            "mtime":    self.mtime,
    -            "chksum":   self.chksum,
    -            "type":     self.type,
    -            "linkname": self.linkname,
    -            "uname":    self.uname,
    -            "gname":    self.gname,
    -            "devmajor": self.devmajor,
    -            "devminor": self.devminor
    -        }
    -
    -        if info["type"] == DIRTYPE and not info["name"].endswith("/"):
    -            info["name"] += "/"
    -
    -        return info
    -
    -    def tobuf(self, format=DEFAULT_FORMAT, encoding=ENCODING, errors="surrogateescape"):
    -        """Return a tar header as a string of 512 byte blocks.
    -        """
    -        info = self.get_info()
    -
    -        if format == USTAR_FORMAT:
    -            return self.create_ustar_header(info, encoding, errors)
    -        elif format == GNU_FORMAT:
    -            return self.create_gnu_header(info, encoding, errors)
    -        elif format == PAX_FORMAT:
    -            return self.create_pax_header(info, encoding)
    -        else:
    -            raise ValueError("invalid format")
    -
    -    def create_ustar_header(self, info, encoding, errors):
    -        """Return the object as a ustar header block.
    -        """
    -        info["magic"] = POSIX_MAGIC
    -
    -        if len(info["linkname"]) > LENGTH_LINK:
    -            raise ValueError("linkname is too long")
    -
    -        if len(info["name"]) > LENGTH_NAME:
    -            info["prefix"], info["name"] = self._posix_split_name(info["name"])
    -
    -        return self._create_header(info, USTAR_FORMAT, encoding, errors)
    -
    -    def create_gnu_header(self, info, encoding, errors):
    -        """Return the object as a GNU header block sequence.
    -        """
    -        info["magic"] = GNU_MAGIC
    -
    -        buf = b""
    -        if len(info["linkname"]) > LENGTH_LINK:
    -            buf += self._create_gnu_long_header(info["linkname"], GNUTYPE_LONGLINK, encoding, errors)
    -
    -        if len(info["name"]) > LENGTH_NAME:
    -            buf += self._create_gnu_long_header(info["name"], GNUTYPE_LONGNAME, encoding, errors)
    -
    -        return buf + self._create_header(info, GNU_FORMAT, encoding, errors)
    -
    -    def create_pax_header(self, info, encoding):
    -        """Return the object as a ustar header block. If it cannot be
    -           represented this way, prepend a pax extended header sequence
    -           with supplement information.
    -        """
    -        info["magic"] = POSIX_MAGIC
    -        pax_headers = self.pax_headers.copy()
    -
    -        # Test string fields for values that exceed the field length or cannot
    -        # be represented in ASCII encoding.
    -        for name, hname, length in (
    -                ("name", "path", LENGTH_NAME), ("linkname", "linkpath", LENGTH_LINK),
    -                ("uname", "uname", 32), ("gname", "gname", 32)):
    -
    -            if hname in pax_headers:
    -                # The pax header has priority.
    -                continue
    -
    -            # Try to encode the string as ASCII.
    -            try:
    -                info[name].encode("ascii", "strict")
    -            except UnicodeEncodeError:
    -                pax_headers[hname] = info[name]
    -                continue
    -
    -            if len(info[name]) > length:
    -                pax_headers[hname] = info[name]
    -
    -        # Test number fields for values that exceed the field limit or values
    -        # that like to be stored as float.
    -        for name, digits in (("uid", 8), ("gid", 8), ("size", 12), ("mtime", 12)):
    -            if name in pax_headers:
    -                # The pax header has priority. Avoid overflow.
    -                info[name] = 0
    -                continue
    -
    -            val = info[name]
    -            if not 0 <= val < 8 ** (digits - 1) or isinstance(val, float):
    -                pax_headers[name] = str(val)
    -                info[name] = 0
    -
    -        # Create a pax extended header if necessary.
    -        if pax_headers:
    -            buf = self._create_pax_generic_header(pax_headers, XHDTYPE, encoding)
    -        else:
    -            buf = b""
    -
    -        return buf + self._create_header(info, USTAR_FORMAT, "ascii", "replace")
    -
    -    @classmethod
    -    def create_pax_global_header(cls, pax_headers):
    -        """Return the object as a pax global header block sequence.
    -        """
    -        return cls._create_pax_generic_header(pax_headers, XGLTYPE, "utf8")
    -
    -    def _posix_split_name(self, name):
    -        """Split a name longer than 100 chars into a prefix
    -           and a name part.
    -        """
    -        prefix = name[:LENGTH_PREFIX + 1]
    -        while prefix and prefix[-1] != "/":
    -            prefix = prefix[:-1]
    -
    -        name = name[len(prefix):]
    -        prefix = prefix[:-1]
    -
    -        if not prefix or len(name) > LENGTH_NAME:
    -            raise ValueError("name is too long")
    -        return prefix, name
    -
    -    @staticmethod
    -    def _create_header(info, format, encoding, errors):
    -        """Return a header block. info is a dictionary with file
    -           information, format must be one of the *_FORMAT constants.
    -        """
    -        parts = [
    -            stn(info.get("name", ""), 100, encoding, errors),
    -            itn(info.get("mode", 0) & 0o7777, 8, format),
    -            itn(info.get("uid", 0), 8, format),
    -            itn(info.get("gid", 0), 8, format),
    -            itn(info.get("size", 0), 12, format),
    -            itn(info.get("mtime", 0), 12, format),
    -            b"        ", # checksum field
    -            info.get("type", REGTYPE),
    -            stn(info.get("linkname", ""), 100, encoding, errors),
    -            info.get("magic", POSIX_MAGIC),
    -            stn(info.get("uname", ""), 32, encoding, errors),
    -            stn(info.get("gname", ""), 32, encoding, errors),
    -            itn(info.get("devmajor", 0), 8, format),
    -            itn(info.get("devminor", 0), 8, format),
    -            stn(info.get("prefix", ""), 155, encoding, errors)
    -        ]
    -
    -        buf = struct.pack("%ds" % BLOCKSIZE, b"".join(parts))
    -        chksum = calc_chksums(buf[-BLOCKSIZE:])[0]
    -        buf = buf[:-364] + ("%06o\0" % chksum).encode("ascii") + buf[-357:]
    -        return buf
    -
    -    @staticmethod
    -    def _create_payload(payload):
    -        """Return the string payload filled with zero bytes
    -           up to the next 512 byte border.
    -        """
    -        blocks, remainder = divmod(len(payload), BLOCKSIZE)
    -        if remainder > 0:
    -            payload += (BLOCKSIZE - remainder) * NUL
    -        return payload
    -
    -    @classmethod
    -    def _create_gnu_long_header(cls, name, type, encoding, errors):
    -        """Return a GNUTYPE_LONGNAME or GNUTYPE_LONGLINK sequence
    -           for name.
    -        """
    -        name = name.encode(encoding, errors) + NUL
    -
    -        info = {}
    -        info["name"] = "././@LongLink"
    -        info["type"] = type
    -        info["size"] = len(name)
    -        info["magic"] = GNU_MAGIC
    -
    -        # create extended header + name blocks.
    -        return cls._create_header(info, USTAR_FORMAT, encoding, errors) + \
    -                cls._create_payload(name)
    -
    -    @classmethod
    -    def _create_pax_generic_header(cls, pax_headers, type, encoding):
    -        """Return a POSIX.1-2008 extended or global header sequence
    -           that contains a list of keyword, value pairs. The values
    -           must be strings.
    -        """
    -        # Check if one of the fields contains surrogate characters and thereby
    -        # forces hdrcharset=BINARY, see _proc_pax() for more information.
    -        binary = False
    -        for keyword, value in pax_headers.items():
    -            try:
    -                value.encode("utf8", "strict")
    -            except UnicodeEncodeError:
    -                binary = True
    -                break
    -
    -        records = b""
    -        if binary:
    -            # Put the hdrcharset field at the beginning of the header.
    -            records += b"21 hdrcharset=BINARY\n"
    -
    -        for keyword, value in pax_headers.items():
    -            keyword = keyword.encode("utf8")
    -            if binary:
    -                # Try to restore the original byte representation of `value'.
    -                # Needless to say, that the encoding must match the string.
    -                value = value.encode(encoding, "surrogateescape")
    -            else:
    -                value = value.encode("utf8")
    -
    -            l = len(keyword) + len(value) + 3   # ' ' + '=' + '\n'
    -            n = p = 0
    -            while True:
    -                n = l + len(str(p))
    -                if n == p:
    -                    break
    -                p = n
    -            records += bytes(str(p), "ascii") + b" " + keyword + b"=" + value + b"\n"
    -
    -        # We use a hardcoded "././@PaxHeader" name like star does
    -        # instead of the one that POSIX recommends.
    -        info = {}
    -        info["name"] = "././@PaxHeader"
    -        info["type"] = type
    -        info["size"] = len(records)
    -        info["magic"] = POSIX_MAGIC
    -
    -        # Create pax header + record blocks.
    -        return cls._create_header(info, USTAR_FORMAT, "ascii", "replace") + \
    -                cls._create_payload(records)
    -
    -    @classmethod
    -    def frombuf(cls, buf, encoding, errors):
    -        """Construct a TarInfo object from a 512 byte bytes object.
    -        """
    -        if len(buf) == 0:
    -            raise EmptyHeaderError("empty header")
    -        if len(buf) != BLOCKSIZE:
    -            raise TruncatedHeaderError("truncated header")
    -        if buf.count(NUL) == BLOCKSIZE:
    -            raise EOFHeaderError("end of file header")
    -
    -        chksum = nti(buf[148:156])
    -        if chksum not in calc_chksums(buf):
    -            raise InvalidHeaderError("bad checksum")
    -
    -        obj = cls()
    -        obj.name = nts(buf[0:100], encoding, errors)
    -        obj.mode = nti(buf[100:108])
    -        obj.uid = nti(buf[108:116])
    -        obj.gid = nti(buf[116:124])
    -        obj.size = nti(buf[124:136])
    -        obj.mtime = nti(buf[136:148])
    -        obj.chksum = chksum
    -        obj.type = buf[156:157]
    -        obj.linkname = nts(buf[157:257], encoding, errors)
    -        obj.uname = nts(buf[265:297], encoding, errors)
    -        obj.gname = nts(buf[297:329], encoding, errors)
    -        obj.devmajor = nti(buf[329:337])
    -        obj.devminor = nti(buf[337:345])
    -        prefix = nts(buf[345:500], encoding, errors)
    -
    -        # Old V7 tar format represents a directory as a regular
    -        # file with a trailing slash.
    -        if obj.type == AREGTYPE and obj.name.endswith("/"):
    -            obj.type = DIRTYPE
    -
    -        # The old GNU sparse format occupies some of the unused
    -        # space in the buffer for up to 4 sparse structures.
    -        # Save the them for later processing in _proc_sparse().
    -        if obj.type == GNUTYPE_SPARSE:
    -            pos = 386
    -            structs = []
    -            for i in range(4):
    -                try:
    -                    offset = nti(buf[pos:pos + 12])
    -                    numbytes = nti(buf[pos + 12:pos + 24])
    -                except ValueError:
    -                    break
    -                structs.append((offset, numbytes))
    -                pos += 24
    -            isextended = bool(buf[482])
    -            origsize = nti(buf[483:495])
    -            obj._sparse_structs = (structs, isextended, origsize)
    -
    -        # Remove redundant slashes from directories.
    -        if obj.isdir():
    -            obj.name = obj.name.rstrip("/")
    -
    -        # Reconstruct a ustar longname.
    -        if prefix and obj.type not in GNU_TYPES:
    -            obj.name = prefix + "/" + obj.name
    -        return obj
    -
    -    @classmethod
    -    def fromtarfile(cls, tarfile):
    -        """Return the next TarInfo object from TarFile object
    -           tarfile.
    -        """
    -        buf = tarfile.fileobj.read(BLOCKSIZE)
    -        obj = cls.frombuf(buf, tarfile.encoding, tarfile.errors)
    -        obj.offset = tarfile.fileobj.tell() - BLOCKSIZE
    -        return obj._proc_member(tarfile)
    -
    -    #--------------------------------------------------------------------------
    -    # The following are methods that are called depending on the type of a
    -    # member. The entry point is _proc_member() which can be overridden in a
    -    # subclass to add custom _proc_*() methods. A _proc_*() method MUST
    -    # implement the following
    -    # operations:
    -    # 1. Set self.offset_data to the position where the data blocks begin,
    -    #    if there is data that follows.
    -    # 2. Set tarfile.offset to the position where the next member's header will
    -    #    begin.
    -    # 3. Return self or another valid TarInfo object.
    -    def _proc_member(self, tarfile):
    -        """Choose the right processing method depending on
    -           the type and call it.
    -        """
    -        if self.type in (GNUTYPE_LONGNAME, GNUTYPE_LONGLINK):
    -            return self._proc_gnulong(tarfile)
    -        elif self.type == GNUTYPE_SPARSE:
    -            return self._proc_sparse(tarfile)
    -        elif self.type in (XHDTYPE, XGLTYPE, SOLARIS_XHDTYPE):
    -            return self._proc_pax(tarfile)
    -        else:
    -            return self._proc_builtin(tarfile)
    -
    -    def _proc_builtin(self, tarfile):
    -        """Process a builtin type or an unknown type which
    -           will be treated as a regular file.
    -        """
    -        self.offset_data = tarfile.fileobj.tell()
    -        offset = self.offset_data
    -        if self.isreg() or self.type not in SUPPORTED_TYPES:
    -            # Skip the following data blocks.
    -            offset += self._block(self.size)
    -        tarfile.offset = offset
    -
    -        # Patch the TarInfo object with saved global
    -        # header information.
    -        self._apply_pax_info(tarfile.pax_headers, tarfile.encoding, tarfile.errors)
    -
    -        return self
    -
    -    def _proc_gnulong(self, tarfile):
    -        """Process the blocks that hold a GNU longname
    -           or longlink member.
    -        """
    -        buf = tarfile.fileobj.read(self._block(self.size))
    -
    -        # Fetch the next header and process it.
    -        try:
    -            next = self.fromtarfile(tarfile)
    -        except HeaderError:
    -            raise SubsequentHeaderError("missing or bad subsequent header")
    -
    -        # Patch the TarInfo object from the next header with
    -        # the longname information.
    -        next.offset = self.offset
    -        if self.type == GNUTYPE_LONGNAME:
    -            next.name = nts(buf, tarfile.encoding, tarfile.errors)
    -        elif self.type == GNUTYPE_LONGLINK:
    -            next.linkname = nts(buf, tarfile.encoding, tarfile.errors)
    -
    -        return next
    -
    -    def _proc_sparse(self, tarfile):
    -        """Process a GNU sparse header plus extra headers.
    -        """
    -        # We already collected some sparse structures in frombuf().
    -        structs, isextended, origsize = self._sparse_structs
    -        del self._sparse_structs
    -
    -        # Collect sparse structures from extended header blocks.
    -        while isextended:
    -            buf = tarfile.fileobj.read(BLOCKSIZE)
    -            pos = 0
    -            for i in range(21):
    -                try:
    -                    offset = nti(buf[pos:pos + 12])
    -                    numbytes = nti(buf[pos + 12:pos + 24])
    -                except ValueError:
    -                    break
    -                if offset and numbytes:
    -                    structs.append((offset, numbytes))
    -                pos += 24
    -            isextended = bool(buf[504])
    -        self.sparse = structs
    -
    -        self.offset_data = tarfile.fileobj.tell()
    -        tarfile.offset = self.offset_data + self._block(self.size)
    -        self.size = origsize
    -        return self
    -
    -    def _proc_pax(self, tarfile):
    -        """Process an extended or global header as described in
    -           POSIX.1-2008.
    -        """
    -        # Read the header information.
    -        buf = tarfile.fileobj.read(self._block(self.size))
    -
    -        # A pax header stores supplemental information for either
    -        # the following file (extended) or all following files
    -        # (global).
    -        if self.type == XGLTYPE:
    -            pax_headers = tarfile.pax_headers
    -        else:
    -            pax_headers = tarfile.pax_headers.copy()
    -
    -        # Check if the pax header contains a hdrcharset field. This tells us
    -        # the encoding of the path, linkpath, uname and gname fields. Normally,
    -        # these fields are UTF-8 encoded but since POSIX.1-2008 tar
    -        # implementations are allowed to store them as raw binary strings if
    -        # the translation to UTF-8 fails.
    -        match = re.search(br"\d+ hdrcharset=([^\n]+)\n", buf)
    -        if match is not None:
    -            pax_headers["hdrcharset"] = match.group(1).decode("utf8")
    -
    -        # For the time being, we don't care about anything other than "BINARY".
    -        # The only other value that is currently allowed by the standard is
    -        # "ISO-IR 10646 2000 UTF-8" in other words UTF-8.
    -        hdrcharset = pax_headers.get("hdrcharset")
    -        if hdrcharset == "BINARY":
    -            encoding = tarfile.encoding
    -        else:
    -            encoding = "utf8"
    -
    -        # Parse pax header information. A record looks like that:
    -        # "%d %s=%s\n" % (length, keyword, value). length is the size
    -        # of the complete record including the length field itself and
    -        # the newline. keyword and value are both UTF-8 encoded strings.
    -        regex = re.compile(br"(\d+) ([^=]+)=")
    -        pos = 0
    -        while True:
    -            match = regex.match(buf, pos)
    -            if not match:
    -                break
    -
    -            length, keyword = match.groups()
    -            length = int(length)
    -            value = buf[match.end(2) + 1:match.start(1) + length - 1]
    -
    -            # Normally, we could just use "utf8" as the encoding and "strict"
    -            # as the error handler, but we better not take the risk. For
    -            # example, GNU tar <= 1.23 is known to store filenames it cannot
    -            # translate to UTF-8 as raw strings (unfortunately without a
    -            # hdrcharset=BINARY header).
    -            # We first try the strict standard encoding, and if that fails we
    -            # fall back on the user's encoding and error handler.
    -            keyword = self._decode_pax_field(keyword, "utf8", "utf8",
    -                    tarfile.errors)
    -            if keyword in PAX_NAME_FIELDS:
    -                value = self._decode_pax_field(value, encoding, tarfile.encoding,
    -                        tarfile.errors)
    -            else:
    -                value = self._decode_pax_field(value, "utf8", "utf8",
    -                        tarfile.errors)
    -
    -            pax_headers[keyword] = value
    -            pos += length
    -
    -        # Fetch the next header.
    -        try:
    -            next = self.fromtarfile(tarfile)
    -        except HeaderError:
    -            raise SubsequentHeaderError("missing or bad subsequent header")
    -
    -        # Process GNU sparse information.
    -        if "GNU.sparse.map" in pax_headers:
    -            # GNU extended sparse format version 0.1.
    -            self._proc_gnusparse_01(next, pax_headers)
    -
    -        elif "GNU.sparse.size" in pax_headers:
    -            # GNU extended sparse format version 0.0.
    -            self._proc_gnusparse_00(next, pax_headers, buf)
    -
    -        elif pax_headers.get("GNU.sparse.major") == "1" and pax_headers.get("GNU.sparse.minor") == "0":
    -            # GNU extended sparse format version 1.0.
    -            self._proc_gnusparse_10(next, pax_headers, tarfile)
    -
    -        if self.type in (XHDTYPE, SOLARIS_XHDTYPE):
    -            # Patch the TarInfo object with the extended header info.
    -            next._apply_pax_info(pax_headers, tarfile.encoding, tarfile.errors)
    -            next.offset = self.offset
    -
    -            if "size" in pax_headers:
    -                # If the extended header replaces the size field,
    -                # we need to recalculate the offset where the next
    -                # header starts.
    -                offset = next.offset_data
    -                if next.isreg() or next.type not in SUPPORTED_TYPES:
    -                    offset += next._block(next.size)
    -                tarfile.offset = offset
    -
    -        return next
    -
    -    def _proc_gnusparse_00(self, next, pax_headers, buf):
    -        """Process a GNU tar extended sparse header, version 0.0.
    -        """
    -        offsets = []
    -        for match in re.finditer(br"\d+ GNU.sparse.offset=(\d+)\n", buf):
    -            offsets.append(int(match.group(1)))
    -        numbytes = []
    -        for match in re.finditer(br"\d+ GNU.sparse.numbytes=(\d+)\n", buf):
    -            numbytes.append(int(match.group(1)))
    -        next.sparse = list(zip(offsets, numbytes))
    -
    -    def _proc_gnusparse_01(self, next, pax_headers):
    -        """Process a GNU tar extended sparse header, version 0.1.
    -        """
    -        sparse = [int(x) for x in pax_headers["GNU.sparse.map"].split(",")]
    -        next.sparse = list(zip(sparse[::2], sparse[1::2]))
    -
    -    def _proc_gnusparse_10(self, next, pax_headers, tarfile):
    -        """Process a GNU tar extended sparse header, version 1.0.
    -        """
    -        fields = None
    -        sparse = []
    -        buf = tarfile.fileobj.read(BLOCKSIZE)
    -        fields, buf = buf.split(b"\n", 1)
    -        fields = int(fields)
    -        while len(sparse) < fields * 2:
    -            if b"\n" not in buf:
    -                buf += tarfile.fileobj.read(BLOCKSIZE)
    -            number, buf = buf.split(b"\n", 1)
    -            sparse.append(int(number))
    -        next.offset_data = tarfile.fileobj.tell()
    -        next.sparse = list(zip(sparse[::2], sparse[1::2]))
    -
    -    def _apply_pax_info(self, pax_headers, encoding, errors):
    -        """Replace fields with supplemental information from a previous
    -           pax extended or global header.
    -        """
    -        for keyword, value in pax_headers.items():
    -            if keyword == "GNU.sparse.name":
    -                setattr(self, "path", value)
    -            elif keyword == "GNU.sparse.size":
    -                setattr(self, "size", int(value))
    -            elif keyword == "GNU.sparse.realsize":
    -                setattr(self, "size", int(value))
    -            elif keyword in PAX_FIELDS:
    -                if keyword in PAX_NUMBER_FIELDS:
    -                    try:
    -                        value = PAX_NUMBER_FIELDS[keyword](value)
    -                    except ValueError:
    -                        value = 0
    -                if keyword == "path":
    -                    value = value.rstrip("/")
    -                setattr(self, keyword, value)
    -
    -        self.pax_headers = pax_headers.copy()
    -
    -    def _decode_pax_field(self, value, encoding, fallback_encoding, fallback_errors):
    -        """Decode a single field from a pax record.
    -        """
    -        try:
    -            return value.decode(encoding, "strict")
    -        except UnicodeDecodeError:
    -            return value.decode(fallback_encoding, fallback_errors)
    -
    -    def _block(self, count):
    -        """Round up a byte count by BLOCKSIZE and return it,
    -           e.g. _block(834) => 1024.
    -        """
    -        blocks, remainder = divmod(count, BLOCKSIZE)
    -        if remainder:
    -            blocks += 1
    -        return blocks * BLOCKSIZE
    -
    -    def isreg(self):
    -        return self.type in REGULAR_TYPES
    -    def isfile(self):
    -        return self.isreg()
    -    def isdir(self):
    -        return self.type == DIRTYPE
    -    def issym(self):
    -        return self.type == SYMTYPE
    -    def islnk(self):
    -        return self.type == LNKTYPE
    -    def ischr(self):
    -        return self.type == CHRTYPE
    -    def isblk(self):
    -        return self.type == BLKTYPE
    -    def isfifo(self):
    -        return self.type == FIFOTYPE
    -    def issparse(self):
    -        return self.sparse is not None
    -    def isdev(self):
    -        return self.type in (CHRTYPE, BLKTYPE, FIFOTYPE)
    -# class TarInfo
    -
    -class TarFile(object):
    -    """The TarFile Class provides an interface to tar archives.
    -    """
    -
    -    debug = 0                   # May be set from 0 (no msgs) to 3 (all msgs)
    -
    -    dereference = False         # If true, add content of linked file to the
    -                                # tar file, else the link.
    -
    -    ignore_zeros = False        # If true, skips empty or invalid blocks and
    -                                # continues processing.
    -
    -    errorlevel = 1              # If 0, fatal errors only appear in debug
    -                                # messages (if debug >= 0). If > 0, errors
    -                                # are passed to the caller as exceptions.
    -
    -    format = DEFAULT_FORMAT     # The format to use when creating an archive.
    -
    -    encoding = ENCODING         # Encoding for 8-bit character strings.
    -
    -    errors = None               # Error handler for unicode conversion.
    -
    -    tarinfo = TarInfo           # The default TarInfo class to use.
    -
    -    fileobject = ExFileObject   # The default ExFileObject class to use.
    -
    -    def __init__(self, name=None, mode="r", fileobj=None, format=None,
    -            tarinfo=None, dereference=None, ignore_zeros=None, encoding=None,
    -            errors="surrogateescape", pax_headers=None, debug=None, errorlevel=None):
    -        """Open an (uncompressed) tar archive `name'. `mode' is either 'r' to
    -           read from an existing archive, 'a' to append data to an existing
    -           file or 'w' to create a new file overwriting an existing one. `mode'
    -           defaults to 'r'.
    -           If `fileobj' is given, it is used for reading or writing data. If it
    -           can be determined, `mode' is overridden by `fileobj's mode.
    -           `fileobj' is not closed, when TarFile is closed.
    -        """
    -        if len(mode) > 1 or mode not in "raw":
    -            raise ValueError("mode must be 'r', 'a' or 'w'")
    -        self.mode = mode
    -        self._mode = {"r": "rb", "a": "r+b", "w": "wb"}[mode]
    -
    -        if not fileobj:
    -            if self.mode == "a" and not os.path.exists(name):
    -                # Create nonexistent files in append mode.
    -                self.mode = "w"
    -                self._mode = "wb"
    -            fileobj = bltn_open(name, self._mode)
    -            self._extfileobj = False
    -        else:
    -            if name is None and hasattr(fileobj, "name"):
    -                name = fileobj.name
    -            if hasattr(fileobj, "mode"):
    -                self._mode = fileobj.mode
    -            self._extfileobj = True
    -        self.name = os.path.abspath(name) if name else None
    -        self.fileobj = fileobj
    -
    -        # Init attributes.
    -        if format is not None:
    -            self.format = format
    -        if tarinfo is not None:
    -            self.tarinfo = tarinfo
    -        if dereference is not None:
    -            self.dereference = dereference
    -        if ignore_zeros is not None:
    -            self.ignore_zeros = ignore_zeros
    -        if encoding is not None:
    -            self.encoding = encoding
    -        self.errors = errors
    -
    -        if pax_headers is not None and self.format == PAX_FORMAT:
    -            self.pax_headers = pax_headers
    -        else:
    -            self.pax_headers = {}
    -
    -        if debug is not None:
    -            self.debug = debug
    -        if errorlevel is not None:
    -            self.errorlevel = errorlevel
    -
    -        # Init datastructures.
    -        self.closed = False
    -        self.members = []       # list of members as TarInfo objects
    -        self._loaded = False    # flag if all members have been read
    -        self.offset = self.fileobj.tell()
    -                                # current position in the archive file
    -        self.inodes = {}        # dictionary caching the inodes of
    -                                # archive members already added
    -
    -        try:
    -            if self.mode == "r":
    -                self.firstmember = None
    -                self.firstmember = self.next()
    -
    -            if self.mode == "a":
    -                # Move to the end of the archive,
    -                # before the first empty block.
    -                while True:
    -                    self.fileobj.seek(self.offset)
    -                    try:
    -                        tarinfo = self.tarinfo.fromtarfile(self)
    -                        self.members.append(tarinfo)
    -                    except EOFHeaderError:
    -                        self.fileobj.seek(self.offset)
    -                        break
    -                    except HeaderError as e:
    -                        raise ReadError(str(e))
    -
    -            if self.mode in "aw":
    -                self._loaded = True
    -
    -                if self.pax_headers:
    -                    buf = self.tarinfo.create_pax_global_header(self.pax_headers.copy())
    -                    self.fileobj.write(buf)
    -                    self.offset += len(buf)
    -        except:
    -            if not self._extfileobj:
    -                self.fileobj.close()
    -            self.closed = True
    -            raise
    -
    -    #--------------------------------------------------------------------------
    -    # Below are the classmethods which act as alternate constructors to the
    -    # TarFile class. The open() method is the only one that is needed for
    -    # public use; it is the "super"-constructor and is able to select an
    -    # adequate "sub"-constructor for a particular compression using the mapping
    -    # from OPEN_METH.
    -    #
    -    # This concept allows one to subclass TarFile without losing the comfort of
    -    # the super-constructor. A sub-constructor is registered and made available
    -    # by adding it to the mapping in OPEN_METH.
    -
    -    @classmethod
    -    def open(cls, name=None, mode="r", fileobj=None, bufsize=RECORDSIZE, **kwargs):
    -        """Open a tar archive for reading, writing or appending. Return
    -           an appropriate TarFile class.
    -
    -           mode:
    -           'r' or 'r:*' open for reading with transparent compression
    -           'r:'         open for reading exclusively uncompressed
    -           'r:gz'       open for reading with gzip compression
    -           'r:bz2'      open for reading with bzip2 compression
    -           'a' or 'a:'  open for appending, creating the file if necessary
    -           'w' or 'w:'  open for writing without compression
    -           'w:gz'       open for writing with gzip compression
    -           'w:bz2'      open for writing with bzip2 compression
    -
    -           'r|*'        open a stream of tar blocks with transparent compression
    -           'r|'         open an uncompressed stream of tar blocks for reading
    -           'r|gz'       open a gzip compressed stream of tar blocks
    -           'r|bz2'      open a bzip2 compressed stream of tar blocks
    -           'w|'         open an uncompressed stream for writing
    -           'w|gz'       open a gzip compressed stream for writing
    -           'w|bz2'      open a bzip2 compressed stream for writing
    -        """
    -
    -        if not name and not fileobj:
    -            raise ValueError("nothing to open")
    -
    -        if mode in ("r", "r:*"):
    -            # Find out which *open() is appropriate for opening the file.
    -            for comptype in cls.OPEN_METH:
    -                func = getattr(cls, cls.OPEN_METH[comptype])
    -                if fileobj is not None:
    -                    saved_pos = fileobj.tell()
    -                try:
    -                    return func(name, "r", fileobj, **kwargs)
    -                except (ReadError, CompressionError) as e:
    -                    if fileobj is not None:
    -                        fileobj.seek(saved_pos)
    -                    continue
    -            raise ReadError("file could not be opened successfully")
    -
    -        elif ":" in mode:
    -            filemode, comptype = mode.split(":", 1)
    -            filemode = filemode or "r"
    -            comptype = comptype or "tar"
    -
    -            # Select the *open() function according to
    -            # given compression.
    -            if comptype in cls.OPEN_METH:
    -                func = getattr(cls, cls.OPEN_METH[comptype])
    -            else:
    -                raise CompressionError("unknown compression type %r" % comptype)
    -            return func(name, filemode, fileobj, **kwargs)
    -
    -        elif "|" in mode:
    -            filemode, comptype = mode.split("|", 1)
    -            filemode = filemode or "r"
    -            comptype = comptype or "tar"
    -
    -            if filemode not in "rw":
    -                raise ValueError("mode must be 'r' or 'w'")
    -
    -            stream = _Stream(name, filemode, comptype, fileobj, bufsize)
    -            try:
    -                t = cls(name, filemode, stream, **kwargs)
    -            except:
    -                stream.close()
    -                raise
    -            t._extfileobj = False
    -            return t
    -
    -        elif mode in "aw":
    -            return cls.taropen(name, mode, fileobj, **kwargs)
    -
    -        raise ValueError("undiscernible mode")
    -
    -    @classmethod
    -    def taropen(cls, name, mode="r", fileobj=None, **kwargs):
    -        """Open uncompressed tar archive name for reading or writing.
    -        """
    -        if len(mode) > 1 or mode not in "raw":
    -            raise ValueError("mode must be 'r', 'a' or 'w'")
    -        return cls(name, mode, fileobj, **kwargs)
    -
    -    @classmethod
    -    def gzopen(cls, name, mode="r", fileobj=None, compresslevel=9, **kwargs):
    -        """Open gzip compressed tar archive name for reading or writing.
    -           Appending is not allowed.
    -        """
    -        if len(mode) > 1 or mode not in "rw":
    -            raise ValueError("mode must be 'r' or 'w'")
    -
    -        try:
    -            import gzip
    -            gzip.GzipFile
    -        except (ImportError, AttributeError):
    -            raise CompressionError("gzip module is not available")
    -
    -        extfileobj = fileobj is not None
    -        try:
    -            fileobj = gzip.GzipFile(name, mode + "b", compresslevel, fileobj)
    -            t = cls.taropen(name, mode, fileobj, **kwargs)
    -        except IOError:
    -            if not extfileobj and fileobj is not None:
    -                fileobj.close()
    -            if fileobj is None:
    -                raise
    -            raise ReadError("not a gzip file")
    -        except:
    -            if not extfileobj and fileobj is not None:
    -                fileobj.close()
    -            raise
    -        t._extfileobj = extfileobj
    -        return t
    -
    -    @classmethod
    -    def bz2open(cls, name, mode="r", fileobj=None, compresslevel=9, **kwargs):
    -        """Open bzip2 compressed tar archive name for reading or writing.
    -           Appending is not allowed.
    -        """
    -        if len(mode) > 1 or mode not in "rw":
    -            raise ValueError("mode must be 'r' or 'w'.")
    -
    -        try:
    -            import bz2
    -        except ImportError:
    -            raise CompressionError("bz2 module is not available")
    -
    -        if fileobj is not None:
    -            fileobj = _BZ2Proxy(fileobj, mode)
    -        else:
    -            fileobj = bz2.BZ2File(name, mode, compresslevel=compresslevel)
    -
    -        try:
    -            t = cls.taropen(name, mode, fileobj, **kwargs)
    -        except (IOError, EOFError):
    -            fileobj.close()
    -            raise ReadError("not a bzip2 file")
    -        t._extfileobj = False
    -        return t
    -
    -    # All *open() methods are registered here.
    -    OPEN_METH = {
    -        "tar": "taropen",   # uncompressed tar
    -        "gz":  "gzopen",    # gzip compressed tar
    -        "bz2": "bz2open"    # bzip2 compressed tar
    -    }
    -
    -    #--------------------------------------------------------------------------
    -    # The public methods which TarFile provides:
    -
    -    def close(self):
    -        """Close the TarFile. In write-mode, two finishing zero blocks are
    -           appended to the archive.
    -        """
    -        if self.closed:
    -            return
    -
    -        if self.mode in "aw":
    -            self.fileobj.write(NUL * (BLOCKSIZE * 2))
    -            self.offset += (BLOCKSIZE * 2)
    -            # fill up the end with zero-blocks
    -            # (like option -b20 for tar does)
    -            blocks, remainder = divmod(self.offset, RECORDSIZE)
    -            if remainder > 0:
    -                self.fileobj.write(NUL * (RECORDSIZE - remainder))
    -
    -        if not self._extfileobj:
    -            self.fileobj.close()
    -        self.closed = True
    -
    -    def getmember(self, name):
    -        """Return a TarInfo object for member `name'. If `name' can not be
    -           found in the archive, KeyError is raised. If a member occurs more
    -           than once in the archive, its last occurrence is assumed to be the
    -           most up-to-date version.
    -        """
    -        tarinfo = self._getmember(name)
    -        if tarinfo is None:
    -            raise KeyError("filename %r not found" % name)
    -        return tarinfo
    -
    -    def getmembers(self):
    -        """Return the members of the archive as a list of TarInfo objects. The
    -           list has the same order as the members in the archive.
    -        """
    -        self._check()
    -        if not self._loaded:    # if we want to obtain a list of
    -            self._load()        # all members, we first have to
    -                                # scan the whole archive.
    -        return self.members
    -
    -    def getnames(self):
    -        """Return the members of the archive as a list of their names. It has
    -           the same order as the list returned by getmembers().
    -        """
    -        return [tarinfo.name for tarinfo in self.getmembers()]
    -
    -    def gettarinfo(self, name=None, arcname=None, fileobj=None):
    -        """Create a TarInfo object for either the file `name' or the file
    -           object `fileobj' (using os.fstat on its file descriptor). You can
    -           modify some of the TarInfo's attributes before you add it using
    -           addfile(). If given, `arcname' specifies an alternative name for the
    -           file in the archive.
    -        """
    -        self._check("aw")
    -
    -        # When fileobj is given, replace name by
    -        # fileobj's real name.
    -        if fileobj is not None:
    -            name = fileobj.name
    -
    -        # Building the name of the member in the archive.
    -        # Backward slashes are converted to forward slashes,
    -        # Absolute paths are turned to relative paths.
    -        if arcname is None:
    -            arcname = name
    -        drv, arcname = os.path.splitdrive(arcname)
    -        arcname = arcname.replace(os.sep, "/")
    -        arcname = arcname.lstrip("/")
    -
    -        # Now, fill the TarInfo object with
    -        # information specific for the file.
    -        tarinfo = self.tarinfo()
    -        tarinfo.tarfile = self
    -
    -        # Use os.stat or os.lstat, depending on platform
    -        # and if symlinks shall be resolved.
    -        if fileobj is None:
    -            if hasattr(os, "lstat") and not self.dereference:
    -                statres = os.lstat(name)
    -            else:
    -                statres = os.stat(name)
    -        else:
    -            statres = os.fstat(fileobj.fileno())
    -        linkname = ""
    -
    -        stmd = statres.st_mode
    -        if stat.S_ISREG(stmd):
    -            inode = (statres.st_ino, statres.st_dev)
    -            if not self.dereference and statres.st_nlink > 1 and \
    -                    inode in self.inodes and arcname != self.inodes[inode]:
    -                # Is it a hardlink to an already
    -                # archived file?
    -                type = LNKTYPE
    -                linkname = self.inodes[inode]
    -            else:
    -                # The inode is added only if its valid.
    -                # For win32 it is always 0.
    -                type = REGTYPE
    -                if inode[0]:
    -                    self.inodes[inode] = arcname
    -        elif stat.S_ISDIR(stmd):
    -            type = DIRTYPE
    -        elif stat.S_ISFIFO(stmd):
    -            type = FIFOTYPE
    -        elif stat.S_ISLNK(stmd):
    -            type = SYMTYPE
    -            linkname = os.readlink(name)
    -        elif stat.S_ISCHR(stmd):
    -            type = CHRTYPE
    -        elif stat.S_ISBLK(stmd):
    -            type = BLKTYPE
    -        else:
    -            return None
    -
    -        # Fill the TarInfo object with all
    -        # information we can get.
    -        tarinfo.name = arcname
    -        tarinfo.mode = stmd
    -        tarinfo.uid = statres.st_uid
    -        tarinfo.gid = statres.st_gid
    -        if type == REGTYPE:
    -            tarinfo.size = statres.st_size
    -        else:
    -            tarinfo.size = 0
    -        tarinfo.mtime = statres.st_mtime
    -        tarinfo.type = type
    -        tarinfo.linkname = linkname
    -        if pwd:
    -            try:
    -                tarinfo.uname = pwd.getpwuid(tarinfo.uid)[0]
    -            except KeyError:
    -                pass
    -        if grp:
    -            try:
    -                tarinfo.gname = grp.getgrgid(tarinfo.gid)[0]
    -            except KeyError:
    -                pass
    -
    -        if type in (CHRTYPE, BLKTYPE):
    -            if hasattr(os, "major") and hasattr(os, "minor"):
    -                tarinfo.devmajor = os.major(statres.st_rdev)
    -                tarinfo.devminor = os.minor(statres.st_rdev)
    -        return tarinfo
    -
    -    def list(self, verbose=True):
    -        """Print a table of contents to sys.stdout. If `verbose' is False, only
    -           the names of the members are printed. If it is True, an `ls -l'-like
    -           output is produced.
    -        """
    -        self._check()
    -
    -        for tarinfo in self:
    -            if verbose:
    -                print(filemode(tarinfo.mode), end=' ')
    -                print("%s/%s" % (tarinfo.uname or tarinfo.uid,
    -                                 tarinfo.gname or tarinfo.gid), end=' ')
    -                if tarinfo.ischr() or tarinfo.isblk():
    -                    print("%10s" % ("%d,%d" \
    -                                    % (tarinfo.devmajor, tarinfo.devminor)), end=' ')
    -                else:
    -                    print("%10d" % tarinfo.size, end=' ')
    -                print("%d-%02d-%02d %02d:%02d:%02d" \
    -                      % time.localtime(tarinfo.mtime)[:6], end=' ')
    -
    -            print(tarinfo.name + ("/" if tarinfo.isdir() else ""), end=' ')
    -
    -            if verbose:
    -                if tarinfo.issym():
    -                    print("->", tarinfo.linkname, end=' ')
    -                if tarinfo.islnk():
    -                    print("link to", tarinfo.linkname, end=' ')
    -            print()
    -
    -    def add(self, name, arcname=None, recursive=True, exclude=None, filter=None):
    -        """Add the file `name' to the archive. `name' may be any type of file
    -           (directory, fifo, symbolic link, etc.). If given, `arcname'
    -           specifies an alternative name for the file in the archive.
    -           Directories are added recursively by default. This can be avoided by
    -           setting `recursive' to False. `exclude' is a function that should
    -           return True for each filename to be excluded. `filter' is a function
    -           that expects a TarInfo object argument and returns the changed
    -           TarInfo object, if it returns None the TarInfo object will be
    -           excluded from the archive.
    -        """
    -        self._check("aw")
    -
    -        if arcname is None:
    -            arcname = name
    -
    -        # Exclude pathnames.
    -        if exclude is not None:
    -            import warnings
    -            warnings.warn("use the filter argument instead",
    -                    DeprecationWarning, 2)
    -            if exclude(name):
    -                self._dbg(2, "tarfile: Excluded %r" % name)
    -                return
    -
    -        # Skip if somebody tries to archive the archive...
    -        if self.name is not None and os.path.abspath(name) == self.name:
    -            self._dbg(2, "tarfile: Skipped %r" % name)
    -            return
    -
    -        self._dbg(1, name)
    -
    -        # Create a TarInfo object from the file.
    -        tarinfo = self.gettarinfo(name, arcname)
    -
    -        if tarinfo is None:
    -            self._dbg(1, "tarfile: Unsupported type %r" % name)
    -            return
    -
    -        # Change or exclude the TarInfo object.
    -        if filter is not None:
    -            tarinfo = filter(tarinfo)
    -            if tarinfo is None:
    -                self._dbg(2, "tarfile: Excluded %r" % name)
    -                return
    -
    -        # Append the tar header and data to the archive.
    -        if tarinfo.isreg():
    -            f = bltn_open(name, "rb")
    -            self.addfile(tarinfo, f)
    -            f.close()
    -
    -        elif tarinfo.isdir():
    -            self.addfile(tarinfo)
    -            if recursive:
    -                for f in os.listdir(name):
    -                    self.add(os.path.join(name, f), os.path.join(arcname, f),
    -                            recursive, exclude, filter=filter)
    -
    -        else:
    -            self.addfile(tarinfo)
    -
    -    def addfile(self, tarinfo, fileobj=None):
    -        """Add the TarInfo object `tarinfo' to the archive. If `fileobj' is
    -           given, tarinfo.size bytes are read from it and added to the archive.
    -           You can create TarInfo objects using gettarinfo().
    -           On Windows platforms, `fileobj' should always be opened with mode
    -           'rb' to avoid irritation about the file size.
    -        """
    -        self._check("aw")
    -
    -        tarinfo = copy.copy(tarinfo)
    -
    -        buf = tarinfo.tobuf(self.format, self.encoding, self.errors)
    -        self.fileobj.write(buf)
    -        self.offset += len(buf)
    -
    -        # If there's data to follow, append it.
    -        if fileobj is not None:
    -            copyfileobj(fileobj, self.fileobj, tarinfo.size)
    -            blocks, remainder = divmod(tarinfo.size, BLOCKSIZE)
    -            if remainder > 0:
    -                self.fileobj.write(NUL * (BLOCKSIZE - remainder))
    -                blocks += 1
    -            self.offset += blocks * BLOCKSIZE
    -
    -        self.members.append(tarinfo)
    -
    -    def extractall(self, path=".", members=None):
    -        """Extract all members from the archive to the current working
    -           directory and set owner, modification time and permissions on
    -           directories afterwards. `path' specifies a different directory
    -           to extract to. `members' is optional and must be a subset of the
    -           list returned by getmembers().
    -        """
    -        directories = []
    -
    -        if members is None:
    -            members = self
    -
    -        for tarinfo in members:
    -            if tarinfo.isdir():
    -                # Extract directories with a safe mode.
    -                directories.append(tarinfo)
    -                tarinfo = copy.copy(tarinfo)
    -                tarinfo.mode = 0o700
    -            # Do not set_attrs directories, as we will do that further down
    -            self.extract(tarinfo, path, set_attrs=not tarinfo.isdir())
    -
    -        # Reverse sort directories.
    -        directories.sort(key=lambda a: a.name)
    -        directories.reverse()
    -
    -        # Set correct owner, mtime and filemode on directories.
    -        for tarinfo in directories:
    -            dirpath = os.path.join(path, tarinfo.name)
    -            try:
    -                self.chown(tarinfo, dirpath)
    -                self.utime(tarinfo, dirpath)
    -                self.chmod(tarinfo, dirpath)
    -            except ExtractError as e:
    -                if self.errorlevel > 1:
    -                    raise
    -                else:
    -                    self._dbg(1, "tarfile: %s" % e)
    -
    -    def extract(self, member, path="", set_attrs=True):
    -        """Extract a member from the archive to the current working directory,
    -           using its full name. Its file information is extracted as accurately
    -           as possible. `member' may be a filename or a TarInfo object. You can
    -           specify a different directory using `path'. File attributes (owner,
    -           mtime, mode) are set unless `set_attrs' is False.
    -        """
    -        self._check("r")
    -
    -        if isinstance(member, str):
    -            tarinfo = self.getmember(member)
    -        else:
    -            tarinfo = member
    -
    -        # Prepare the link target for makelink().
    -        if tarinfo.islnk():
    -            tarinfo._link_target = os.path.join(path, tarinfo.linkname)
    -
    -        try:
    -            self._extract_member(tarinfo, os.path.join(path, tarinfo.name),
    -                                 set_attrs=set_attrs)
    -        except EnvironmentError as e:
    -            if self.errorlevel > 0:
    -                raise
    -            else:
    -                if e.filename is None:
    -                    self._dbg(1, "tarfile: %s" % e.strerror)
    -                else:
    -                    self._dbg(1, "tarfile: %s %r" % (e.strerror, e.filename))
    -        except ExtractError as e:
    -            if self.errorlevel > 1:
    -                raise
    -            else:
    -                self._dbg(1, "tarfile: %s" % e)
    -
    -    def extractfile(self, member):
    -        """Extract a member from the archive as a file object. `member' may be
    -           a filename or a TarInfo object. If `member' is a regular file, a
    -           file-like object is returned. If `member' is a link, a file-like
    -           object is constructed from the link's target. If `member' is none of
    -           the above, None is returned.
    -           The file-like object is read-only and provides the following
    -           methods: read(), readline(), readlines(), seek() and tell()
    -        """
    -        self._check("r")
    -
    -        if isinstance(member, str):
    -            tarinfo = self.getmember(member)
    -        else:
    -            tarinfo = member
    -
    -        if tarinfo.isreg():
    -            return self.fileobject(self, tarinfo)
    -
    -        elif tarinfo.type not in SUPPORTED_TYPES:
    -            # If a member's type is unknown, it is treated as a
    -            # regular file.
    -            return self.fileobject(self, tarinfo)
    -
    -        elif tarinfo.islnk() or tarinfo.issym():
    -            if isinstance(self.fileobj, _Stream):
    -                # A small but ugly workaround for the case that someone tries
    -                # to extract a (sym)link as a file-object from a non-seekable
    -                # stream of tar blocks.
    -                raise StreamError("cannot extract (sym)link as file object")
    -            else:
    -                # A (sym)link's file object is its target's file object.
    -                return self.extractfile(self._find_link_target(tarinfo))
    -        else:
    -            # If there's no data associated with the member (directory, chrdev,
    -            # blkdev, etc.), return None instead of a file object.
    -            return None
    -
    -    def _extract_member(self, tarinfo, targetpath, set_attrs=True):
    -        """Extract the TarInfo object tarinfo to a physical
    -           file called targetpath.
    -        """
    -        # Fetch the TarInfo object for the given name
    -        # and build the destination pathname, replacing
    -        # forward slashes to platform specific separators.
    -        targetpath = targetpath.rstrip("/")
    -        targetpath = targetpath.replace("/", os.sep)
    -
    -        # Create all upper directories.
    -        upperdirs = os.path.dirname(targetpath)
    -        if upperdirs and not os.path.exists(upperdirs):
    -            # Create directories that are not part of the archive with
    -            # default permissions.
    -            os.makedirs(upperdirs)
    -
    -        if tarinfo.islnk() or tarinfo.issym():
    -            self._dbg(1, "%s -> %s" % (tarinfo.name, tarinfo.linkname))
    -        else:
    -            self._dbg(1, tarinfo.name)
    -
    -        if tarinfo.isreg():
    -            self.makefile(tarinfo, targetpath)
    -        elif tarinfo.isdir():
    -            self.makedir(tarinfo, targetpath)
    -        elif tarinfo.isfifo():
    -            self.makefifo(tarinfo, targetpath)
    -        elif tarinfo.ischr() or tarinfo.isblk():
    -            self.makedev(tarinfo, targetpath)
    -        elif tarinfo.islnk() or tarinfo.issym():
    -            self.makelink(tarinfo, targetpath)
    -        elif tarinfo.type not in SUPPORTED_TYPES:
    -            self.makeunknown(tarinfo, targetpath)
    -        else:
    -            self.makefile(tarinfo, targetpath)
    -
    -        if set_attrs:
    -            self.chown(tarinfo, targetpath)
    -            if not tarinfo.issym():
    -                self.chmod(tarinfo, targetpath)
    -                self.utime(tarinfo, targetpath)
    -
    -    #--------------------------------------------------------------------------
    -    # Below are the different file methods. They are called via
    -    # _extract_member() when extract() is called. They can be replaced in a
    -    # subclass to implement other functionality.
    -
    -    def makedir(self, tarinfo, targetpath):
    -        """Make a directory called targetpath.
    -        """
    -        try:
    -            # Use a safe mode for the directory, the real mode is set
    -            # later in _extract_member().
    -            os.mkdir(targetpath, 0o700)
    -        except EnvironmentError as e:
    -            if e.errno != errno.EEXIST:
    -                raise
    -
    -    def makefile(self, tarinfo, targetpath):
    -        """Make a file called targetpath.
    -        """
    -        source = self.fileobj
    -        source.seek(tarinfo.offset_data)
    -        target = bltn_open(targetpath, "wb")
    -        if tarinfo.sparse is not None:
    -            for offset, size in tarinfo.sparse:
    -                target.seek(offset)
    -                copyfileobj(source, target, size)
    -        else:
    -            copyfileobj(source, target, tarinfo.size)
    -        target.seek(tarinfo.size)
    -        target.truncate()
    -        target.close()
    -
    -    def makeunknown(self, tarinfo, targetpath):
    -        """Make a file from a TarInfo object with an unknown type
    -           at targetpath.
    -        """
    -        self.makefile(tarinfo, targetpath)
    -        self._dbg(1, "tarfile: Unknown file type %r, " \
    -                     "extracted as regular file." % tarinfo.type)
    -
    -    def makefifo(self, tarinfo, targetpath):
    -        """Make a fifo called targetpath.
    -        """
    -        if hasattr(os, "mkfifo"):
    -            os.mkfifo(targetpath)
    -        else:
    -            raise ExtractError("fifo not supported by system")
    -
    -    def makedev(self, tarinfo, targetpath):
    -        """Make a character or block device called targetpath.
    -        """
    -        if not hasattr(os, "mknod") or not hasattr(os, "makedev"):
    -            raise ExtractError("special devices not supported by system")
    -
    -        mode = tarinfo.mode
    -        if tarinfo.isblk():
    -            mode |= stat.S_IFBLK
    -        else:
    -            mode |= stat.S_IFCHR
    -
    -        os.mknod(targetpath, mode,
    -                 os.makedev(tarinfo.devmajor, tarinfo.devminor))
    -
    -    def makelink(self, tarinfo, targetpath):
    -        """Make a (symbolic) link called targetpath. If it cannot be created
    -          (platform limitation), we try to make a copy of the referenced file
    -          instead of a link.
    -        """
    -        try:
    -            # For systems that support symbolic and hard links.
    -            if tarinfo.issym():
    -                os.symlink(tarinfo.linkname, targetpath)
    -            else:
    -                # See extract().
    -                if os.path.exists(tarinfo._link_target):
    -                    os.link(tarinfo._link_target, targetpath)
    -                else:
    -                    self._extract_member(self._find_link_target(tarinfo),
    -                                         targetpath)
    -        except symlink_exception:
    -            if tarinfo.issym():
    -                linkpath = os.path.join(os.path.dirname(tarinfo.name),
    -                                        tarinfo.linkname)
    -            else:
    -                linkpath = tarinfo.linkname
    -        else:
    -            try:
    -                self._extract_member(self._find_link_target(tarinfo),
    -                                     targetpath)
    -            except KeyError:
    -                raise ExtractError("unable to resolve link inside archive")
    -
    -    def chown(self, tarinfo, targetpath):
    -        """Set owner of targetpath according to tarinfo.
    -        """
    -        if pwd and hasattr(os, "geteuid") and os.geteuid() == 0:
    -            # We have to be root to do so.
    -            try:
    -                g = grp.getgrnam(tarinfo.gname)[2]
    -            except KeyError:
    -                g = tarinfo.gid
    -            try:
    -                u = pwd.getpwnam(tarinfo.uname)[2]
    -            except KeyError:
    -                u = tarinfo.uid
    -            try:
    -                if tarinfo.issym() and hasattr(os, "lchown"):
    -                    os.lchown(targetpath, u, g)
    -                else:
    -                    if sys.platform != "os2emx":
    -                        os.chown(targetpath, u, g)
    -            except EnvironmentError as e:
    -                raise ExtractError("could not change owner")
    -
    -    def chmod(self, tarinfo, targetpath):
    -        """Set file permissions of targetpath according to tarinfo.
    -        """
    -        if hasattr(os, 'chmod'):
    -            try:
    -                os.chmod(targetpath, tarinfo.mode)
    -            except EnvironmentError as e:
    -                raise ExtractError("could not change mode")
    -
    -    def utime(self, tarinfo, targetpath):
    -        """Set modification time of targetpath according to tarinfo.
    -        """
    -        if not hasattr(os, 'utime'):
    -            return
    -        try:
    -            os.utime(targetpath, (tarinfo.mtime, tarinfo.mtime))
    -        except EnvironmentError as e:
    -            raise ExtractError("could not change modification time")
    -
    -    #--------------------------------------------------------------------------
    -    def next(self):
    -        """Return the next member of the archive as a TarInfo object, when
    -           TarFile is opened for reading. Return None if there is no more
    -           available.
    -        """
    -        self._check("ra")
    -        if self.firstmember is not None:
    -            m = self.firstmember
    -            self.firstmember = None
    -            return m
    -
    -        # Read the next block.
    -        self.fileobj.seek(self.offset)
    -        tarinfo = None
    -        while True:
    -            try:
    -                tarinfo = self.tarinfo.fromtarfile(self)
    -            except EOFHeaderError as e:
    -                if self.ignore_zeros:
    -                    self._dbg(2, "0x%X: %s" % (self.offset, e))
    -                    self.offset += BLOCKSIZE
    -                    continue
    -            except InvalidHeaderError as e:
    -                if self.ignore_zeros:
    -                    self._dbg(2, "0x%X: %s" % (self.offset, e))
    -                    self.offset += BLOCKSIZE
    -                    continue
    -                elif self.offset == 0:
    -                    raise ReadError(str(e))
    -            except EmptyHeaderError:
    -                if self.offset == 0:
    -                    raise ReadError("empty file")
    -            except TruncatedHeaderError as e:
    -                if self.offset == 0:
    -                    raise ReadError(str(e))
    -            except SubsequentHeaderError as e:
    -                raise ReadError(str(e))
    -            break
    -
    -        if tarinfo is not None:
    -            self.members.append(tarinfo)
    -        else:
    -            self._loaded = True
    -
    -        return tarinfo
    -
    -    #--------------------------------------------------------------------------
    -    # Little helper methods:
    -
    -    def _getmember(self, name, tarinfo=None, normalize=False):
    -        """Find an archive member by name from bottom to top.
    -           If tarinfo is given, it is used as the starting point.
    -        """
    -        # Ensure that all members have been loaded.
    -        members = self.getmembers()
    -
    -        # Limit the member search list up to tarinfo.
    -        if tarinfo is not None:
    -            members = members[:members.index(tarinfo)]
    -
    -        if normalize:
    -            name = os.path.normpath(name)
    -
    -        for member in reversed(members):
    -            if normalize:
    -                member_name = os.path.normpath(member.name)
    -            else:
    -                member_name = member.name
    -
    -            if name == member_name:
    -                return member
    -
    -    def _load(self):
    -        """Read through the entire archive file and look for readable
    -           members.
    -        """
    -        while True:
    -            tarinfo = self.next()
    -            if tarinfo is None:
    -                break
    -        self._loaded = True
    -
    -    def _check(self, mode=None):
    -        """Check if TarFile is still open, and if the operation's mode
    -           corresponds to TarFile's mode.
    -        """
    -        if self.closed:
    -            raise IOError("%s is closed" % self.__class__.__name__)
    -        if mode is not None and self.mode not in mode:
    -            raise IOError("bad operation for mode %r" % self.mode)
    -
    -    def _find_link_target(self, tarinfo):
    -        """Find the target member of a symlink or hardlink member in the
    -           archive.
    -        """
    -        if tarinfo.issym():
    -            # Always search the entire archive.
    -            linkname = os.path.dirname(tarinfo.name) + "/" + tarinfo.linkname
    -            limit = None
    -        else:
    -            # Search the archive before the link, because a hard link is
    -            # just a reference to an already archived file.
    -            linkname = tarinfo.linkname
    -            limit = tarinfo
    -
    -        member = self._getmember(linkname, tarinfo=limit, normalize=True)
    -        if member is None:
    -            raise KeyError("linkname %r not found" % linkname)
    -        return member
    -
    -    def __iter__(self):
    -        """Provide an iterator object.
    -        """
    -        if self._loaded:
    -            return iter(self.members)
    -        else:
    -            return TarIter(self)
    -
    -    def _dbg(self, level, msg):
    -        """Write debugging output to sys.stderr.
    -        """
    -        if level <= self.debug:
    -            print(msg, file=sys.stderr)
    -
    -    def __enter__(self):
    -        self._check()
    -        return self
    -
    -    def __exit__(self, type, value, traceback):
    -        if type is None:
    -            self.close()
    -        else:
    -            # An exception occurred. We must not call close() because
    -            # it would try to write end-of-archive blocks and padding.
    -            if not self._extfileobj:
    -                self.fileobj.close()
    -            self.closed = True
    -# class TarFile
    -
    -class TarIter(object):
    -    """Iterator Class.
    -
    -       for tarinfo in TarFile(...):
    -           suite...
    -    """
    -
    -    def __init__(self, tarfile):
    -        """Construct a TarIter object.
    -        """
    -        self.tarfile = tarfile
    -        self.index = 0
    -    def __iter__(self):
    -        """Return iterator object.
    -        """
    -        return self
    -
    -    def __next__(self):
    -        """Return the next item using TarFile's next() method.
    -           When all members have been read, set TarFile as _loaded.
    -        """
    -        # Fix for SF #1100429: Under rare circumstances it can
    -        # happen that getmembers() is called during iteration,
    -        # which will cause TarIter to stop prematurely.
    -        if not self.tarfile._loaded:
    -            tarinfo = self.tarfile.next()
    -            if not tarinfo:
    -                self.tarfile._loaded = True
    -                raise StopIteration
    -        else:
    -            try:
    -                tarinfo = self.tarfile.members[self.index]
    -            except IndexError:
    -                raise StopIteration
    -        self.index += 1
    -        return tarinfo
    -
    -    next = __next__ # for Python 2.x
    -
    -#--------------------
    -# exported functions
    -#--------------------
    -def is_tarfile(name):
    -    """Return True if name points to a tar archive that we
    -       are able to handle, else return False.
    -    """
    -    try:
    -        t = open(name)
    -        t.close()
    -        return True
    -    except TarError:
    -        return False
    -
    -bltn_open = open
    -open = TarFile.open
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/compat.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/compat.py
    deleted file mode 100644
    index ff328c8..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/compat.py
    +++ /dev/null
    @@ -1,1120 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2013-2017 Vinay Sajip.
    -# Licensed to the Python Software Foundation under a contributor agreement.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -from __future__ import absolute_import
    -
    -import os
    -import re
    -import sys
    -
    -try:
    -    import ssl
    -except ImportError:  # pragma: no cover
    -    ssl = None
    -
    -if sys.version_info[0] < 3:  # pragma: no cover
    -    from StringIO import StringIO
    -    string_types = basestring,
    -    text_type = unicode
    -    from types import FileType as file_type
    -    import __builtin__ as builtins
    -    import ConfigParser as configparser
    -    from ._backport import shutil
    -    from urlparse import urlparse, urlunparse, urljoin, urlsplit, urlunsplit
    -    from urllib import (urlretrieve, quote as _quote, unquote, url2pathname,
    -                        pathname2url, ContentTooShortError, splittype)
    -
    -    def quote(s):
    -        if isinstance(s, unicode):
    -            s = s.encode('utf-8')
    -        return _quote(s)
    -
    -    import urllib2
    -    from urllib2 import (Request, urlopen, URLError, HTTPError,
    -                         HTTPBasicAuthHandler, HTTPPasswordMgr,
    -                         HTTPHandler, HTTPRedirectHandler,
    -                         build_opener)
    -    if ssl:
    -        from urllib2 import HTTPSHandler
    -    import httplib
    -    import xmlrpclib
    -    import Queue as queue
    -    from HTMLParser import HTMLParser
    -    import htmlentitydefs
    -    raw_input = raw_input
    -    from itertools import ifilter as filter
    -    from itertools import ifilterfalse as filterfalse
    -
    -    _userprog = None
    -    def splituser(host):
    -        """splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'."""
    -        global _userprog
    -        if _userprog is None:
    -            import re
    -            _userprog = re.compile('^(.*)@(.*)$')
    -
    -        match = _userprog.match(host)
    -        if match: return match.group(1, 2)
    -        return None, host
    -
    -else:  # pragma: no cover
    -    from io import StringIO
    -    string_types = str,
    -    text_type = str
    -    from io import TextIOWrapper as file_type
    -    import builtins
    -    import configparser
    -    import shutil
    -    from urllib.parse import (urlparse, urlunparse, urljoin, splituser, quote,
    -                              unquote, urlsplit, urlunsplit, splittype)
    -    from urllib.request import (urlopen, urlretrieve, Request, url2pathname,
    -                                pathname2url,
    -                                HTTPBasicAuthHandler, HTTPPasswordMgr,
    -                                HTTPHandler, HTTPRedirectHandler,
    -                                build_opener)
    -    if ssl:
    -        from urllib.request import HTTPSHandler
    -    from urllib.error import HTTPError, URLError, ContentTooShortError
    -    import http.client as httplib
    -    import urllib.request as urllib2
    -    import xmlrpc.client as xmlrpclib
    -    import queue
    -    from html.parser import HTMLParser
    -    import html.entities as htmlentitydefs
    -    raw_input = input
    -    from itertools import filterfalse
    -    filter = filter
    -
    -try:
    -    from ssl import match_hostname, CertificateError
    -except ImportError: # pragma: no cover
    -    class CertificateError(ValueError):
    -        pass
    -
    -
    -    def _dnsname_match(dn, hostname, max_wildcards=1):
    -        """Matching according to RFC 6125, section 6.4.3
    -
    -        http://tools.ietf.org/html/rfc6125#section-6.4.3
    -        """
    -        pats = []
    -        if not dn:
    -            return False
    -
    -        parts = dn.split('.')
    -        leftmost, remainder = parts[0], parts[1:]
    -
    -        wildcards = leftmost.count('*')
    -        if wildcards > max_wildcards:
    -            # Issue #17980: avoid denials of service by refusing more
    -            # than one wildcard per fragment.  A survey of established
    -            # policy among SSL implementations showed it to be a
    -            # reasonable choice.
    -            raise CertificateError(
    -                "too many wildcards in certificate DNS name: " + repr(dn))
    -
    -        # speed up common case w/o wildcards
    -        if not wildcards:
    -            return dn.lower() == hostname.lower()
    -
    -        # RFC 6125, section 6.4.3, subitem 1.
    -        # The client SHOULD NOT attempt to match a presented identifier in which
    -        # the wildcard character comprises a label other than the left-most label.
    -        if leftmost == '*':
    -            # When '*' is a fragment by itself, it matches a non-empty dotless
    -            # fragment.
    -            pats.append('[^.]+')
    -        elif leftmost.startswith('xn--') or hostname.startswith('xn--'):
    -            # RFC 6125, section 6.4.3, subitem 3.
    -            # The client SHOULD NOT attempt to match a presented identifier
    -            # where the wildcard character is embedded within an A-label or
    -            # U-label of an internationalized domain name.
    -            pats.append(re.escape(leftmost))
    -        else:
    -            # Otherwise, '*' matches any dotless string, e.g. www*
    -            pats.append(re.escape(leftmost).replace(r'\*', '[^.]*'))
    -
    -        # add the remaining fragments, ignore any wildcards
    -        for frag in remainder:
    -            pats.append(re.escape(frag))
    -
    -        pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE)
    -        return pat.match(hostname)
    -
    -
    -    def match_hostname(cert, hostname):
    -        """Verify that *cert* (in decoded format as returned by
    -        SSLSocket.getpeercert()) matches the *hostname*.  RFC 2818 and RFC 6125
    -        rules are followed, but IP addresses are not accepted for *hostname*.
    -
    -        CertificateError is raised on failure. On success, the function
    -        returns nothing.
    -        """
    -        if not cert:
    -            raise ValueError("empty or no certificate, match_hostname needs a "
    -                             "SSL socket or SSL context with either "
    -                             "CERT_OPTIONAL or CERT_REQUIRED")
    -        dnsnames = []
    -        san = cert.get('subjectAltName', ())
    -        for key, value in san:
    -            if key == 'DNS':
    -                if _dnsname_match(value, hostname):
    -                    return
    -                dnsnames.append(value)
    -        if not dnsnames:
    -            # The subject is only checked when there is no dNSName entry
    -            # in subjectAltName
    -            for sub in cert.get('subject', ()):
    -                for key, value in sub:
    -                    # XXX according to RFC 2818, the most specific Common Name
    -                    # must be used.
    -                    if key == 'commonName':
    -                        if _dnsname_match(value, hostname):
    -                            return
    -                        dnsnames.append(value)
    -        if len(dnsnames) > 1:
    -            raise CertificateError("hostname %r "
    -                "doesn't match either of %s"
    -                % (hostname, ', '.join(map(repr, dnsnames))))
    -        elif len(dnsnames) == 1:
    -            raise CertificateError("hostname %r "
    -                "doesn't match %r"
    -                % (hostname, dnsnames[0]))
    -        else:
    -            raise CertificateError("no appropriate commonName or "
    -                "subjectAltName fields were found")
    -
    -
    -try:
    -    from types import SimpleNamespace as Container
    -except ImportError:  # pragma: no cover
    -    class Container(object):
    -        """
    -        A generic container for when multiple values need to be returned
    -        """
    -        def __init__(self, **kwargs):
    -            self.__dict__.update(kwargs)
    -
    -
    -try:
    -    from shutil import which
    -except ImportError:  # pragma: no cover
    -    # Implementation from Python 3.3
    -    def which(cmd, mode=os.F_OK | os.X_OK, path=None):
    -        """Given a command, mode, and a PATH string, return the path which
    -        conforms to the given mode on the PATH, or None if there is no such
    -        file.
    -
    -        `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result
    -        of os.environ.get("PATH"), or can be overridden with a custom search
    -        path.
    -
    -        """
    -        # Check that a given file can be accessed with the correct mode.
    -        # Additionally check that `file` is not a directory, as on Windows
    -        # directories pass the os.access check.
    -        def _access_check(fn, mode):
    -            return (os.path.exists(fn) and os.access(fn, mode)
    -                    and not os.path.isdir(fn))
    -
    -        # If we're given a path with a directory part, look it up directly rather
    -        # than referring to PATH directories. This includes checking relative to the
    -        # current directory, e.g. ./script
    -        if os.path.dirname(cmd):
    -            if _access_check(cmd, mode):
    -                return cmd
    -            return None
    -
    -        if path is None:
    -            path = os.environ.get("PATH", os.defpath)
    -        if not path:
    -            return None
    -        path = path.split(os.pathsep)
    -
    -        if sys.platform == "win32":
    -            # The current directory takes precedence on Windows.
    -            if not os.curdir in path:
    -                path.insert(0, os.curdir)
    -
    -            # PATHEXT is necessary to check on Windows.
    -            pathext = os.environ.get("PATHEXT", "").split(os.pathsep)
    -            # See if the given file matches any of the expected path extensions.
    -            # This will allow us to short circuit when given "python.exe".
    -            # If it does match, only test that one, otherwise we have to try
    -            # others.
    -            if any(cmd.lower().endswith(ext.lower()) for ext in pathext):
    -                files = [cmd]
    -            else:
    -                files = [cmd + ext for ext in pathext]
    -        else:
    -            # On other platforms you don't have things like PATHEXT to tell you
    -            # what file suffixes are executable, so just pass on cmd as-is.
    -            files = [cmd]
    -
    -        seen = set()
    -        for dir in path:
    -            normdir = os.path.normcase(dir)
    -            if not normdir in seen:
    -                seen.add(normdir)
    -                for thefile in files:
    -                    name = os.path.join(dir, thefile)
    -                    if _access_check(name, mode):
    -                        return name
    -        return None
    -
    -
    -# ZipFile is a context manager in 2.7, but not in 2.6
    -
    -from zipfile import ZipFile as BaseZipFile
    -
    -if hasattr(BaseZipFile, '__enter__'):  # pragma: no cover
    -    ZipFile = BaseZipFile
    -else:  # pragma: no cover
    -    from zipfile import ZipExtFile as BaseZipExtFile
    -
    -    class ZipExtFile(BaseZipExtFile):
    -        def __init__(self, base):
    -            self.__dict__.update(base.__dict__)
    -
    -        def __enter__(self):
    -            return self
    -
    -        def __exit__(self, *exc_info):
    -            self.close()
    -            # return None, so if an exception occurred, it will propagate
    -
    -    class ZipFile(BaseZipFile):
    -        def __enter__(self):
    -            return self
    -
    -        def __exit__(self, *exc_info):
    -            self.close()
    -            # return None, so if an exception occurred, it will propagate
    -
    -        def open(self, *args, **kwargs):
    -            base = BaseZipFile.open(self, *args, **kwargs)
    -            return ZipExtFile(base)
    -
    -try:
    -    from platform import python_implementation
    -except ImportError: # pragma: no cover
    -    def python_implementation():
    -        """Return a string identifying the Python implementation."""
    -        if 'PyPy' in sys.version:
    -            return 'PyPy'
    -        if os.name == 'java':
    -            return 'Jython'
    -        if sys.version.startswith('IronPython'):
    -            return 'IronPython'
    -        return 'CPython'
    -
    -try:
    -    import sysconfig
    -except ImportError: # pragma: no cover
    -    from ._backport import sysconfig
    -
    -try:
    -    callable = callable
    -except NameError:   # pragma: no cover
    -    from collections import Callable
    -
    -    def callable(obj):
    -        return isinstance(obj, Callable)
    -
    -
    -try:
    -    fsencode = os.fsencode
    -    fsdecode = os.fsdecode
    -except AttributeError:  # pragma: no cover
    -    # Issue #99: on some systems (e.g. containerised),
    -    # sys.getfilesystemencoding() returns None, and we need a real value,
    -    # so fall back to utf-8. From the CPython 2.7 docs relating to Unix and
    -    # sys.getfilesystemencoding(): the return value is "the user’s preference
    -    # according to the result of nl_langinfo(CODESET), or None if the
    -    # nl_langinfo(CODESET) failed."
    -    _fsencoding = sys.getfilesystemencoding() or 'utf-8'
    -    if _fsencoding == 'mbcs':
    -        _fserrors = 'strict'
    -    else:
    -        _fserrors = 'surrogateescape'
    -
    -    def fsencode(filename):
    -        if isinstance(filename, bytes):
    -            return filename
    -        elif isinstance(filename, text_type):
    -            return filename.encode(_fsencoding, _fserrors)
    -        else:
    -            raise TypeError("expect bytes or str, not %s" %
    -                            type(filename).__name__)
    -
    -    def fsdecode(filename):
    -        if isinstance(filename, text_type):
    -            return filename
    -        elif isinstance(filename, bytes):
    -            return filename.decode(_fsencoding, _fserrors)
    -        else:
    -            raise TypeError("expect bytes or str, not %s" %
    -                            type(filename).__name__)
    -
    -try:
    -    from tokenize import detect_encoding
    -except ImportError: # pragma: no cover
    -    from codecs import BOM_UTF8, lookup
    -    import re
    -
    -    cookie_re = re.compile(r"coding[:=]\s*([-\w.]+)")
    -
    -    def _get_normal_name(orig_enc):
    -        """Imitates get_normal_name in tokenizer.c."""
    -        # Only care about the first 12 characters.
    -        enc = orig_enc[:12].lower().replace("_", "-")
    -        if enc == "utf-8" or enc.startswith("utf-8-"):
    -            return "utf-8"
    -        if enc in ("latin-1", "iso-8859-1", "iso-latin-1") or \
    -           enc.startswith(("latin-1-", "iso-8859-1-", "iso-latin-1-")):
    -            return "iso-8859-1"
    -        return orig_enc
    -
    -    def detect_encoding(readline):
    -        """
    -        The detect_encoding() function is used to detect the encoding that should
    -        be used to decode a Python source file.  It requires one argument, readline,
    -        in the same way as the tokenize() generator.
    -
    -        It will call readline a maximum of twice, and return the encoding used
    -        (as a string) and a list of any lines (left as bytes) it has read in.
    -
    -        It detects the encoding from the presence of a utf-8 bom or an encoding
    -        cookie as specified in pep-0263.  If both a bom and a cookie are present,
    -        but disagree, a SyntaxError will be raised.  If the encoding cookie is an
    -        invalid charset, raise a SyntaxError.  Note that if a utf-8 bom is found,
    -        'utf-8-sig' is returned.
    -
    -        If no encoding is specified, then the default of 'utf-8' will be returned.
    -        """
    -        try:
    -            filename = readline.__self__.name
    -        except AttributeError:
    -            filename = None
    -        bom_found = False
    -        encoding = None
    -        default = 'utf-8'
    -        def read_or_stop():
    -            try:
    -                return readline()
    -            except StopIteration:
    -                return b''
    -
    -        def find_cookie(line):
    -            try:
    -                # Decode as UTF-8. Either the line is an encoding declaration,
    -                # in which case it should be pure ASCII, or it must be UTF-8
    -                # per default encoding.
    -                line_string = line.decode('utf-8')
    -            except UnicodeDecodeError:
    -                msg = "invalid or missing encoding declaration"
    -                if filename is not None:
    -                    msg = '{} for {!r}'.format(msg, filename)
    -                raise SyntaxError(msg)
    -
    -            matches = cookie_re.findall(line_string)
    -            if not matches:
    -                return None
    -            encoding = _get_normal_name(matches[0])
    -            try:
    -                codec = lookup(encoding)
    -            except LookupError:
    -                # This behaviour mimics the Python interpreter
    -                if filename is None:
    -                    msg = "unknown encoding: " + encoding
    -                else:
    -                    msg = "unknown encoding for {!r}: {}".format(filename,
    -                            encoding)
    -                raise SyntaxError(msg)
    -
    -            if bom_found:
    -                if codec.name != 'utf-8':
    -                    # This behaviour mimics the Python interpreter
    -                    if filename is None:
    -                        msg = 'encoding problem: utf-8'
    -                    else:
    -                        msg = 'encoding problem for {!r}: utf-8'.format(filename)
    -                    raise SyntaxError(msg)
    -                encoding += '-sig'
    -            return encoding
    -
    -        first = read_or_stop()
    -        if first.startswith(BOM_UTF8):
    -            bom_found = True
    -            first = first[3:]
    -            default = 'utf-8-sig'
    -        if not first:
    -            return default, []
    -
    -        encoding = find_cookie(first)
    -        if encoding:
    -            return encoding, [first]
    -
    -        second = read_or_stop()
    -        if not second:
    -            return default, [first]
    -
    -        encoding = find_cookie(second)
    -        if encoding:
    -            return encoding, [first, second]
    -
    -        return default, [first, second]
    -
    -# For converting & <-> & etc.
    -try:
    -    from html import escape
    -except ImportError:
    -    from cgi import escape
    -if sys.version_info[:2] < (3, 4):
    -    unescape = HTMLParser().unescape
    -else:
    -    from html import unescape
    -
    -try:
    -    from collections import ChainMap
    -except ImportError: # pragma: no cover
    -    from collections import MutableMapping
    -
    -    try:
    -        from reprlib import recursive_repr as _recursive_repr
    -    except ImportError:
    -        def _recursive_repr(fillvalue='...'):
    -            '''
    -            Decorator to make a repr function return fillvalue for a recursive
    -            call
    -            '''
    -
    -            def decorating_function(user_function):
    -                repr_running = set()
    -
    -                def wrapper(self):
    -                    key = id(self), get_ident()
    -                    if key in repr_running:
    -                        return fillvalue
    -                    repr_running.add(key)
    -                    try:
    -                        result = user_function(self)
    -                    finally:
    -                        repr_running.discard(key)
    -                    return result
    -
    -                # Can't use functools.wraps() here because of bootstrap issues
    -                wrapper.__module__ = getattr(user_function, '__module__')
    -                wrapper.__doc__ = getattr(user_function, '__doc__')
    -                wrapper.__name__ = getattr(user_function, '__name__')
    -                wrapper.__annotations__ = getattr(user_function, '__annotations__', {})
    -                return wrapper
    -
    -            return decorating_function
    -
    -    class ChainMap(MutableMapping):
    -        ''' A ChainMap groups multiple dicts (or other mappings) together
    -        to create a single, updateable view.
    -
    -        The underlying mappings are stored in a list.  That list is public and can
    -        accessed or updated using the *maps* attribute.  There is no other state.
    -
    -        Lookups search the underlying mappings successively until a key is found.
    -        In contrast, writes, updates, and deletions only operate on the first
    -        mapping.
    -
    -        '''
    -
    -        def __init__(self, *maps):
    -            '''Initialize a ChainMap by setting *maps* to the given mappings.
    -            If no mappings are provided, a single empty dictionary is used.
    -
    -            '''
    -            self.maps = list(maps) or [{}]          # always at least one map
    -
    -        def __missing__(self, key):
    -            raise KeyError(key)
    -
    -        def __getitem__(self, key):
    -            for mapping in self.maps:
    -                try:
    -                    return mapping[key]             # can't use 'key in mapping' with defaultdict
    -                except KeyError:
    -                    pass
    -            return self.__missing__(key)            # support subclasses that define __missing__
    -
    -        def get(self, key, default=None):
    -            return self[key] if key in self else default
    -
    -        def __len__(self):
    -            return len(set().union(*self.maps))     # reuses stored hash values if possible
    -
    -        def __iter__(self):
    -            return iter(set().union(*self.maps))
    -
    -        def __contains__(self, key):
    -            return any(key in m for m in self.maps)
    -
    -        def __bool__(self):
    -            return any(self.maps)
    -
    -        @_recursive_repr()
    -        def __repr__(self):
    -            return '{0.__class__.__name__}({1})'.format(
    -                self, ', '.join(map(repr, self.maps)))
    -
    -        @classmethod
    -        def fromkeys(cls, iterable, *args):
    -            'Create a ChainMap with a single dict created from the iterable.'
    -            return cls(dict.fromkeys(iterable, *args))
    -
    -        def copy(self):
    -            'New ChainMap or subclass with a new copy of maps[0] and refs to maps[1:]'
    -            return self.__class__(self.maps[0].copy(), *self.maps[1:])
    -
    -        __copy__ = copy
    -
    -        def new_child(self):                        # like Django's Context.push()
    -            'New ChainMap with a new dict followed by all previous maps.'
    -            return self.__class__({}, *self.maps)
    -
    -        @property
    -        def parents(self):                          # like Django's Context.pop()
    -            'New ChainMap from maps[1:].'
    -            return self.__class__(*self.maps[1:])
    -
    -        def __setitem__(self, key, value):
    -            self.maps[0][key] = value
    -
    -        def __delitem__(self, key):
    -            try:
    -                del self.maps[0][key]
    -            except KeyError:
    -                raise KeyError('Key not found in the first mapping: {!r}'.format(key))
    -
    -        def popitem(self):
    -            'Remove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.'
    -            try:
    -                return self.maps[0].popitem()
    -            except KeyError:
    -                raise KeyError('No keys found in the first mapping.')
    -
    -        def pop(self, key, *args):
    -            'Remove *key* from maps[0] and return its value. Raise KeyError if *key* not in maps[0].'
    -            try:
    -                return self.maps[0].pop(key, *args)
    -            except KeyError:
    -                raise KeyError('Key not found in the first mapping: {!r}'.format(key))
    -
    -        def clear(self):
    -            'Clear maps[0], leaving maps[1:] intact.'
    -            self.maps[0].clear()
    -
    -try:
    -    from importlib.util import cache_from_source  # Python >= 3.4
    -except ImportError:  # pragma: no cover
    -    try:
    -        from imp import cache_from_source
    -    except ImportError:  # pragma: no cover
    -        def cache_from_source(path, debug_override=None):
    -            assert path.endswith('.py')
    -            if debug_override is None:
    -                debug_override = __debug__
    -            if debug_override:
    -                suffix = 'c'
    -            else:
    -                suffix = 'o'
    -            return path + suffix
    -
    -try:
    -    from collections import OrderedDict
    -except ImportError: # pragma: no cover
    -## {{{ http://code.activestate.com/recipes/576693/ (r9)
    -# Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy.
    -# Passes Python2.7's test suite and incorporates all the latest updates.
    -    try:
    -        from thread import get_ident as _get_ident
    -    except ImportError:
    -        from dummy_thread import get_ident as _get_ident
    -
    -    try:
    -        from _abcoll import KeysView, ValuesView, ItemsView
    -    except ImportError:
    -        pass
    -
    -
    -    class OrderedDict(dict):
    -        'Dictionary that remembers insertion order'
    -        # An inherited dict maps keys to values.
    -        # The inherited dict provides __getitem__, __len__, __contains__, and get.
    -        # The remaining methods are order-aware.
    -        # Big-O running times for all methods are the same as for regular dictionaries.
    -
    -        # The internal self.__map dictionary maps keys to links in a doubly linked list.
    -        # The circular doubly linked list starts and ends with a sentinel element.
    -        # The sentinel element never gets deleted (this simplifies the algorithm).
    -        # Each link is stored as a list of length three:  [PREV, NEXT, KEY].
    -
    -        def __init__(self, *args, **kwds):
    -            '''Initialize an ordered dictionary.  Signature is the same as for
    -            regular dictionaries, but keyword arguments are not recommended
    -            because their insertion order is arbitrary.
    -
    -            '''
    -            if len(args) > 1:
    -                raise TypeError('expected at most 1 arguments, got %d' % len(args))
    -            try:
    -                self.__root
    -            except AttributeError:
    -                self.__root = root = []                     # sentinel node
    -                root[:] = [root, root, None]
    -                self.__map = {}
    -            self.__update(*args, **kwds)
    -
    -        def __setitem__(self, key, value, dict_setitem=dict.__setitem__):
    -            'od.__setitem__(i, y) <==> od[i]=y'
    -            # Setting a new item creates a new link which goes at the end of the linked
    -            # list, and the inherited dictionary is updated with the new key/value pair.
    -            if key not in self:
    -                root = self.__root
    -                last = root[0]
    -                last[1] = root[0] = self.__map[key] = [last, root, key]
    -            dict_setitem(self, key, value)
    -
    -        def __delitem__(self, key, dict_delitem=dict.__delitem__):
    -            'od.__delitem__(y) <==> del od[y]'
    -            # Deleting an existing item uses self.__map to find the link which is
    -            # then removed by updating the links in the predecessor and successor nodes.
    -            dict_delitem(self, key)
    -            link_prev, link_next, key = self.__map.pop(key)
    -            link_prev[1] = link_next
    -            link_next[0] = link_prev
    -
    -        def __iter__(self):
    -            'od.__iter__() <==> iter(od)'
    -            root = self.__root
    -            curr = root[1]
    -            while curr is not root:
    -                yield curr[2]
    -                curr = curr[1]
    -
    -        def __reversed__(self):
    -            'od.__reversed__() <==> reversed(od)'
    -            root = self.__root
    -            curr = root[0]
    -            while curr is not root:
    -                yield curr[2]
    -                curr = curr[0]
    -
    -        def clear(self):
    -            'od.clear() -> None.  Remove all items from od.'
    -            try:
    -                for node in self.__map.itervalues():
    -                    del node[:]
    -                root = self.__root
    -                root[:] = [root, root, None]
    -                self.__map.clear()
    -            except AttributeError:
    -                pass
    -            dict.clear(self)
    -
    -        def popitem(self, last=True):
    -            '''od.popitem() -> (k, v), return and remove a (key, value) pair.
    -            Pairs are returned in LIFO order if last is true or FIFO order if false.
    -
    -            '''
    -            if not self:
    -                raise KeyError('dictionary is empty')
    -            root = self.__root
    -            if last:
    -                link = root[0]
    -                link_prev = link[0]
    -                link_prev[1] = root
    -                root[0] = link_prev
    -            else:
    -                link = root[1]
    -                link_next = link[1]
    -                root[1] = link_next
    -                link_next[0] = root
    -            key = link[2]
    -            del self.__map[key]
    -            value = dict.pop(self, key)
    -            return key, value
    -
    -        # -- the following methods do not depend on the internal structure --
    -
    -        def keys(self):
    -            'od.keys() -> list of keys in od'
    -            return list(self)
    -
    -        def values(self):
    -            'od.values() -> list of values in od'
    -            return [self[key] for key in self]
    -
    -        def items(self):
    -            'od.items() -> list of (key, value) pairs in od'
    -            return [(key, self[key]) for key in self]
    -
    -        def iterkeys(self):
    -            'od.iterkeys() -> an iterator over the keys in od'
    -            return iter(self)
    -
    -        def itervalues(self):
    -            'od.itervalues -> an iterator over the values in od'
    -            for k in self:
    -                yield self[k]
    -
    -        def iteritems(self):
    -            'od.iteritems -> an iterator over the (key, value) items in od'
    -            for k in self:
    -                yield (k, self[k])
    -
    -        def update(*args, **kwds):
    -            '''od.update(E, **F) -> None.  Update od from dict/iterable E and F.
    -
    -            If E is a dict instance, does:           for k in E: od[k] = E[k]
    -            If E has a .keys() method, does:         for k in E.keys(): od[k] = E[k]
    -            Or if E is an iterable of items, does:   for k, v in E: od[k] = v
    -            In either case, this is followed by:     for k, v in F.items(): od[k] = v
    -
    -            '''
    -            if len(args) > 2:
    -                raise TypeError('update() takes at most 2 positional '
    -                                'arguments (%d given)' % (len(args),))
    -            elif not args:
    -                raise TypeError('update() takes at least 1 argument (0 given)')
    -            self = args[0]
    -            # Make progressively weaker assumptions about "other"
    -            other = ()
    -            if len(args) == 2:
    -                other = args[1]
    -            if isinstance(other, dict):
    -                for key in other:
    -                    self[key] = other[key]
    -            elif hasattr(other, 'keys'):
    -                for key in other.keys():
    -                    self[key] = other[key]
    -            else:
    -                for key, value in other:
    -                    self[key] = value
    -            for key, value in kwds.items():
    -                self[key] = value
    -
    -        __update = update  # let subclasses override update without breaking __init__
    -
    -        __marker = object()
    -
    -        def pop(self, key, default=__marker):
    -            '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value.
    -            If key is not found, d is returned if given, otherwise KeyError is raised.
    -
    -            '''
    -            if key in self:
    -                result = self[key]
    -                del self[key]
    -                return result
    -            if default is self.__marker:
    -                raise KeyError(key)
    -            return default
    -
    -        def setdefault(self, key, default=None):
    -            'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od'
    -            if key in self:
    -                return self[key]
    -            self[key] = default
    -            return default
    -
    -        def __repr__(self, _repr_running=None):
    -            'od.__repr__() <==> repr(od)'
    -            if not _repr_running: _repr_running = {}
    -            call_key = id(self), _get_ident()
    -            if call_key in _repr_running:
    -                return '...'
    -            _repr_running[call_key] = 1
    -            try:
    -                if not self:
    -                    return '%s()' % (self.__class__.__name__,)
    -                return '%s(%r)' % (self.__class__.__name__, self.items())
    -            finally:
    -                del _repr_running[call_key]
    -
    -        def __reduce__(self):
    -            'Return state information for pickling'
    -            items = [[k, self[k]] for k in self]
    -            inst_dict = vars(self).copy()
    -            for k in vars(OrderedDict()):
    -                inst_dict.pop(k, None)
    -            if inst_dict:
    -                return (self.__class__, (items,), inst_dict)
    -            return self.__class__, (items,)
    -
    -        def copy(self):
    -            'od.copy() -> a shallow copy of od'
    -            return self.__class__(self)
    -
    -        @classmethod
    -        def fromkeys(cls, iterable, value=None):
    -            '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S
    -            and values equal to v (which defaults to None).
    -
    -            '''
    -            d = cls()
    -            for key in iterable:
    -                d[key] = value
    -            return d
    -
    -        def __eq__(self, other):
    -            '''od.__eq__(y) <==> od==y.  Comparison to another OD is order-sensitive
    -            while comparison to a regular mapping is order-insensitive.
    -
    -            '''
    -            if isinstance(other, OrderedDict):
    -                return len(self)==len(other) and self.items() == other.items()
    -            return dict.__eq__(self, other)
    -
    -        def __ne__(self, other):
    -            return not self == other
    -
    -        # -- the following methods are only used in Python 2.7 --
    -
    -        def viewkeys(self):
    -            "od.viewkeys() -> a set-like object providing a view on od's keys"
    -            return KeysView(self)
    -
    -        def viewvalues(self):
    -            "od.viewvalues() -> an object providing a view on od's values"
    -            return ValuesView(self)
    -
    -        def viewitems(self):
    -            "od.viewitems() -> a set-like object providing a view on od's items"
    -            return ItemsView(self)
    -
    -try:
    -    from logging.config import BaseConfigurator, valid_ident
    -except ImportError: # pragma: no cover
    -    IDENTIFIER = re.compile('^[a-z_][a-z0-9_]*$', re.I)
    -
    -
    -    def valid_ident(s):
    -        m = IDENTIFIER.match(s)
    -        if not m:
    -            raise ValueError('Not a valid Python identifier: %r' % s)
    -        return True
    -
    -
    -    # The ConvertingXXX classes are wrappers around standard Python containers,
    -    # and they serve to convert any suitable values in the container. The
    -    # conversion converts base dicts, lists and tuples to their wrapped
    -    # equivalents, whereas strings which match a conversion format are converted
    -    # appropriately.
    -    #
    -    # Each wrapper should have a configurator attribute holding the actual
    -    # configurator to use for conversion.
    -
    -    class ConvertingDict(dict):
    -        """A converting dictionary wrapper."""
    -
    -        def __getitem__(self, key):
    -            value = dict.__getitem__(self, key)
    -            result = self.configurator.convert(value)
    -            #If the converted value is different, save for next time
    -            if value is not result:
    -                self[key] = result
    -                if type(result) in (ConvertingDict, ConvertingList,
    -                                    ConvertingTuple):
    -                    result.parent = self
    -                    result.key = key
    -            return result
    -
    -        def get(self, key, default=None):
    -            value = dict.get(self, key, default)
    -            result = self.configurator.convert(value)
    -            #If the converted value is different, save for next time
    -            if value is not result:
    -                self[key] = result
    -                if type(result) in (ConvertingDict, ConvertingList,
    -                                    ConvertingTuple):
    -                    result.parent = self
    -                    result.key = key
    -            return result
    -
    -    def pop(self, key, default=None):
    -        value = dict.pop(self, key, default)
    -        result = self.configurator.convert(value)
    -        if value is not result:
    -            if type(result) in (ConvertingDict, ConvertingList,
    -                                ConvertingTuple):
    -                result.parent = self
    -                result.key = key
    -        return result
    -
    -    class ConvertingList(list):
    -        """A converting list wrapper."""
    -        def __getitem__(self, key):
    -            value = list.__getitem__(self, key)
    -            result = self.configurator.convert(value)
    -            #If the converted value is different, save for next time
    -            if value is not result:
    -                self[key] = result
    -                if type(result) in (ConvertingDict, ConvertingList,
    -                                    ConvertingTuple):
    -                    result.parent = self
    -                    result.key = key
    -            return result
    -
    -        def pop(self, idx=-1):
    -            value = list.pop(self, idx)
    -            result = self.configurator.convert(value)
    -            if value is not result:
    -                if type(result) in (ConvertingDict, ConvertingList,
    -                                    ConvertingTuple):
    -                    result.parent = self
    -            return result
    -
    -    class ConvertingTuple(tuple):
    -        """A converting tuple wrapper."""
    -        def __getitem__(self, key):
    -            value = tuple.__getitem__(self, key)
    -            result = self.configurator.convert(value)
    -            if value is not result:
    -                if type(result) in (ConvertingDict, ConvertingList,
    -                                    ConvertingTuple):
    -                    result.parent = self
    -                    result.key = key
    -            return result
    -
    -    class BaseConfigurator(object):
    -        """
    -        The configurator base class which defines some useful defaults.
    -        """
    -
    -        CONVERT_PATTERN = re.compile(r'^(?P[a-z]+)://(?P.*)$')
    -
    -        WORD_PATTERN = re.compile(r'^\s*(\w+)\s*')
    -        DOT_PATTERN = re.compile(r'^\.\s*(\w+)\s*')
    -        INDEX_PATTERN = re.compile(r'^\[\s*(\w+)\s*\]\s*')
    -        DIGIT_PATTERN = re.compile(r'^\d+$')
    -
    -        value_converters = {
    -            'ext' : 'ext_convert',
    -            'cfg' : 'cfg_convert',
    -        }
    -
    -        # We might want to use a different one, e.g. importlib
    -        importer = staticmethod(__import__)
    -
    -        def __init__(self, config):
    -            self.config = ConvertingDict(config)
    -            self.config.configurator = self
    -
    -        def resolve(self, s):
    -            """
    -            Resolve strings to objects using standard import and attribute
    -            syntax.
    -            """
    -            name = s.split('.')
    -            used = name.pop(0)
    -            try:
    -                found = self.importer(used)
    -                for frag in name:
    -                    used += '.' + frag
    -                    try:
    -                        found = getattr(found, frag)
    -                    except AttributeError:
    -                        self.importer(used)
    -                        found = getattr(found, frag)
    -                return found
    -            except ImportError:
    -                e, tb = sys.exc_info()[1:]
    -                v = ValueError('Cannot resolve %r: %s' % (s, e))
    -                v.__cause__, v.__traceback__ = e, tb
    -                raise v
    -
    -        def ext_convert(self, value):
    -            """Default converter for the ext:// protocol."""
    -            return self.resolve(value)
    -
    -        def cfg_convert(self, value):
    -            """Default converter for the cfg:// protocol."""
    -            rest = value
    -            m = self.WORD_PATTERN.match(rest)
    -            if m is None:
    -                raise ValueError("Unable to convert %r" % value)
    -            else:
    -                rest = rest[m.end():]
    -                d = self.config[m.groups()[0]]
    -                #print d, rest
    -                while rest:
    -                    m = self.DOT_PATTERN.match(rest)
    -                    if m:
    -                        d = d[m.groups()[0]]
    -                    else:
    -                        m = self.INDEX_PATTERN.match(rest)
    -                        if m:
    -                            idx = m.groups()[0]
    -                            if not self.DIGIT_PATTERN.match(idx):
    -                                d = d[idx]
    -                            else:
    -                                try:
    -                                    n = int(idx) # try as number first (most likely)
    -                                    d = d[n]
    -                                except TypeError:
    -                                    d = d[idx]
    -                    if m:
    -                        rest = rest[m.end():]
    -                    else:
    -                        raise ValueError('Unable to convert '
    -                                         '%r at %r' % (value, rest))
    -            #rest should be empty
    -            return d
    -
    -        def convert(self, value):
    -            """
    -            Convert values to an appropriate type. dicts, lists and tuples are
    -            replaced by their converting alternatives. Strings are checked to
    -            see if they have a conversion format and are converted if they do.
    -            """
    -            if not isinstance(value, ConvertingDict) and isinstance(value, dict):
    -                value = ConvertingDict(value)
    -                value.configurator = self
    -            elif not isinstance(value, ConvertingList) and isinstance(value, list):
    -                value = ConvertingList(value)
    -                value.configurator = self
    -            elif not isinstance(value, ConvertingTuple) and\
    -                     isinstance(value, tuple):
    -                value = ConvertingTuple(value)
    -                value.configurator = self
    -            elif isinstance(value, string_types):
    -                m = self.CONVERT_PATTERN.match(value)
    -                if m:
    -                    d = m.groupdict()
    -                    prefix = d['prefix']
    -                    converter = self.value_converters.get(prefix, None)
    -                    if converter:
    -                        suffix = d['suffix']
    -                        converter = getattr(self, converter)
    -                        value = converter(suffix)
    -            return value
    -
    -        def configure_custom(self, config):
    -            """Configure an object with a user-supplied factory."""
    -            c = config.pop('()')
    -            if not callable(c):
    -                c = self.resolve(c)
    -            props = config.pop('.', None)
    -            # Check for valid identifiers
    -            kwargs = dict([(k, config[k]) for k in config if valid_ident(k)])
    -            result = c(**kwargs)
    -            if props:
    -                for name, value in props.items():
    -                    setattr(result, name, value)
    -            return result
    -
    -        def as_tuple(self, value):
    -            """Utility function which converts lists to tuples."""
    -            if isinstance(value, list):
    -                value = tuple(value)
    -            return value
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/database.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/database.py
    deleted file mode 100644
    index b13cdac..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/database.py
    +++ /dev/null
    @@ -1,1339 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2012-2017 The Python Software Foundation.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -"""PEP 376 implementation."""
    -
    -from __future__ import unicode_literals
    -
    -import base64
    -import codecs
    -import contextlib
    -import hashlib
    -import logging
    -import os
    -import posixpath
    -import sys
    -import zipimport
    -
    -from . import DistlibException, resources
    -from .compat import StringIO
    -from .version import get_scheme, UnsupportedVersionError
    -from .metadata import (Metadata, METADATA_FILENAME, WHEEL_METADATA_FILENAME,
    -                       LEGACY_METADATA_FILENAME)
    -from .util import (parse_requirement, cached_property, parse_name_and_version,
    -                   read_exports, write_exports, CSVReader, CSVWriter)
    -
    -
    -__all__ = ['Distribution', 'BaseInstalledDistribution',
    -           'InstalledDistribution', 'EggInfoDistribution',
    -           'DistributionPath']
    -
    -
    -logger = logging.getLogger(__name__)
    -
    -EXPORTS_FILENAME = 'pydist-exports.json'
    -COMMANDS_FILENAME = 'pydist-commands.json'
    -
    -DIST_FILES = ('INSTALLER', METADATA_FILENAME, 'RECORD', 'REQUESTED',
    -              'RESOURCES', EXPORTS_FILENAME, 'SHARED')
    -
    -DISTINFO_EXT = '.dist-info'
    -
    -
    -class _Cache(object):
    -    """
    -    A simple cache mapping names and .dist-info paths to distributions
    -    """
    -    def __init__(self):
    -        """
    -        Initialise an instance. There is normally one for each DistributionPath.
    -        """
    -        self.name = {}
    -        self.path = {}
    -        self.generated = False
    -
    -    def clear(self):
    -        """
    -        Clear the cache, setting it to its initial state.
    -        """
    -        self.name.clear()
    -        self.path.clear()
    -        self.generated = False
    -
    -    def add(self, dist):
    -        """
    -        Add a distribution to the cache.
    -        :param dist: The distribution to add.
    -        """
    -        if dist.path not in self.path:
    -            self.path[dist.path] = dist
    -            self.name.setdefault(dist.key, []).append(dist)
    -
    -
    -class DistributionPath(object):
    -    """
    -    Represents a set of distributions installed on a path (typically sys.path).
    -    """
    -    def __init__(self, path=None, include_egg=False):
    -        """
    -        Create an instance from a path, optionally including legacy (distutils/
    -        setuptools/distribute) distributions.
    -        :param path: The path to use, as a list of directories. If not specified,
    -                     sys.path is used.
    -        :param include_egg: If True, this instance will look for and return legacy
    -                            distributions as well as those based on PEP 376.
    -        """
    -        if path is None:
    -            path = sys.path
    -        self.path = path
    -        self._include_dist = True
    -        self._include_egg = include_egg
    -
    -        self._cache = _Cache()
    -        self._cache_egg = _Cache()
    -        self._cache_enabled = True
    -        self._scheme = get_scheme('default')
    -
    -    def _get_cache_enabled(self):
    -        return self._cache_enabled
    -
    -    def _set_cache_enabled(self, value):
    -        self._cache_enabled = value
    -
    -    cache_enabled = property(_get_cache_enabled, _set_cache_enabled)
    -
    -    def clear_cache(self):
    -        """
    -        Clears the internal cache.
    -        """
    -        self._cache.clear()
    -        self._cache_egg.clear()
    -
    -
    -    def _yield_distributions(self):
    -        """
    -        Yield .dist-info and/or .egg(-info) distributions.
    -        """
    -        # We need to check if we've seen some resources already, because on
    -        # some Linux systems (e.g. some Debian/Ubuntu variants) there are
    -        # symlinks which alias other files in the environment.
    -        seen = set()
    -        for path in self.path:
    -            finder = resources.finder_for_path(path)
    -            if finder is None:
    -                continue
    -            r = finder.find('')
    -            if not r or not r.is_container:
    -                continue
    -            rset = sorted(r.resources)
    -            for entry in rset:
    -                r = finder.find(entry)
    -                if not r or r.path in seen:
    -                    continue
    -                if self._include_dist and entry.endswith(DISTINFO_EXT):
    -                    possible_filenames = [METADATA_FILENAME,
    -                                          WHEEL_METADATA_FILENAME,
    -                                          LEGACY_METADATA_FILENAME]
    -                    for metadata_filename in possible_filenames:
    -                        metadata_path = posixpath.join(entry, metadata_filename)
    -                        pydist = finder.find(metadata_path)
    -                        if pydist:
    -                            break
    -                    else:
    -                        continue
    -
    -                    with contextlib.closing(pydist.as_stream()) as stream:
    -                        metadata = Metadata(fileobj=stream, scheme='legacy')
    -                    logger.debug('Found %s', r.path)
    -                    seen.add(r.path)
    -                    yield new_dist_class(r.path, metadata=metadata,
    -                                         env=self)
    -                elif self._include_egg and entry.endswith(('.egg-info',
    -                                                          '.egg')):
    -                    logger.debug('Found %s', r.path)
    -                    seen.add(r.path)
    -                    yield old_dist_class(r.path, self)
    -
    -    def _generate_cache(self):
    -        """
    -        Scan the path for distributions and populate the cache with
    -        those that are found.
    -        """
    -        gen_dist = not self._cache.generated
    -        gen_egg = self._include_egg and not self._cache_egg.generated
    -        if gen_dist or gen_egg:
    -            for dist in self._yield_distributions():
    -                if isinstance(dist, InstalledDistribution):
    -                    self._cache.add(dist)
    -                else:
    -                    self._cache_egg.add(dist)
    -
    -            if gen_dist:
    -                self._cache.generated = True
    -            if gen_egg:
    -                self._cache_egg.generated = True
    -
    -    @classmethod
    -    def distinfo_dirname(cls, name, version):
    -        """
    -        The *name* and *version* parameters are converted into their
    -        filename-escaped form, i.e. any ``'-'`` characters are replaced
    -        with ``'_'`` other than the one in ``'dist-info'`` and the one
    -        separating the name from the version number.
    -
    -        :parameter name: is converted to a standard distribution name by replacing
    -                         any runs of non- alphanumeric characters with a single
    -                         ``'-'``.
    -        :type name: string
    -        :parameter version: is converted to a standard version string. Spaces
    -                            become dots, and all other non-alphanumeric characters
    -                            (except dots) become dashes, with runs of multiple
    -                            dashes condensed to a single dash.
    -        :type version: string
    -        :returns: directory name
    -        :rtype: string"""
    -        name = name.replace('-', '_')
    -        return '-'.join([name, version]) + DISTINFO_EXT
    -
    -    def get_distributions(self):
    -        """
    -        Provides an iterator that looks for distributions and returns
    -        :class:`InstalledDistribution` or
    -        :class:`EggInfoDistribution` instances for each one of them.
    -
    -        :rtype: iterator of :class:`InstalledDistribution` and
    -                :class:`EggInfoDistribution` instances
    -        """
    -        if not self._cache_enabled:
    -            for dist in self._yield_distributions():
    -                yield dist
    -        else:
    -            self._generate_cache()
    -
    -            for dist in self._cache.path.values():
    -                yield dist
    -
    -            if self._include_egg:
    -                for dist in self._cache_egg.path.values():
    -                    yield dist
    -
    -    def get_distribution(self, name):
    -        """
    -        Looks for a named distribution on the path.
    -
    -        This function only returns the first result found, as no more than one
    -        value is expected. If nothing is found, ``None`` is returned.
    -
    -        :rtype: :class:`InstalledDistribution`, :class:`EggInfoDistribution`
    -                or ``None``
    -        """
    -        result = None
    -        name = name.lower()
    -        if not self._cache_enabled:
    -            for dist in self._yield_distributions():
    -                if dist.key == name:
    -                    result = dist
    -                    break
    -        else:
    -            self._generate_cache()
    -
    -            if name in self._cache.name:
    -                result = self._cache.name[name][0]
    -            elif self._include_egg and name in self._cache_egg.name:
    -                result = self._cache_egg.name[name][0]
    -        return result
    -
    -    def provides_distribution(self, name, version=None):
    -        """
    -        Iterates over all distributions to find which distributions provide *name*.
    -        If a *version* is provided, it will be used to filter the results.
    -
    -        This function only returns the first result found, since no more than
    -        one values are expected. If the directory is not found, returns ``None``.
    -
    -        :parameter version: a version specifier that indicates the version
    -                            required, conforming to the format in ``PEP-345``
    -
    -        :type name: string
    -        :type version: string
    -        """
    -        matcher = None
    -        if version is not None:
    -            try:
    -                matcher = self._scheme.matcher('%s (%s)' % (name, version))
    -            except ValueError:
    -                raise DistlibException('invalid name or version: %r, %r' %
    -                                      (name, version))
    -
    -        for dist in self.get_distributions():
    -            # We hit a problem on Travis where enum34 was installed and doesn't
    -            # have a provides attribute ...
    -            if not hasattr(dist, 'provides'):
    -                logger.debug('No "provides": %s', dist)
    -            else:
    -                provided = dist.provides
    -
    -                for p in provided:
    -                    p_name, p_ver = parse_name_and_version(p)
    -                    if matcher is None:
    -                        if p_name == name:
    -                            yield dist
    -                            break
    -                    else:
    -                        if p_name == name and matcher.match(p_ver):
    -                            yield dist
    -                            break
    -
    -    def get_file_path(self, name, relative_path):
    -        """
    -        Return the path to a resource file.
    -        """
    -        dist = self.get_distribution(name)
    -        if dist is None:
    -            raise LookupError('no distribution named %r found' % name)
    -        return dist.get_resource_path(relative_path)
    -
    -    def get_exported_entries(self, category, name=None):
    -        """
    -        Return all of the exported entries in a particular category.
    -
    -        :param category: The category to search for entries.
    -        :param name: If specified, only entries with that name are returned.
    -        """
    -        for dist in self.get_distributions():
    -            r = dist.exports
    -            if category in r:
    -                d = r[category]
    -                if name is not None:
    -                    if name in d:
    -                        yield d[name]
    -                else:
    -                    for v in d.values():
    -                        yield v
    -
    -
    -class Distribution(object):
    -    """
    -    A base class for distributions, whether installed or from indexes.
    -    Either way, it must have some metadata, so that's all that's needed
    -    for construction.
    -    """
    -
    -    build_time_dependency = False
    -    """
    -    Set to True if it's known to be only a build-time dependency (i.e.
    -    not needed after installation).
    -    """
    -
    -    requested = False
    -    """A boolean that indicates whether the ``REQUESTED`` metadata file is
    -    present (in other words, whether the package was installed by user
    -    request or it was installed as a dependency)."""
    -
    -    def __init__(self, metadata):
    -        """
    -        Initialise an instance.
    -        :param metadata: The instance of :class:`Metadata` describing this
    -        distribution.
    -        """
    -        self.metadata = metadata
    -        self.name = metadata.name
    -        self.key = self.name.lower()    # for case-insensitive comparisons
    -        self.version = metadata.version
    -        self.locator = None
    -        self.digest = None
    -        self.extras = None      # additional features requested
    -        self.context = None     # environment marker overrides
    -        self.download_urls = set()
    -        self.digests = {}
    -
    -    @property
    -    def source_url(self):
    -        """
    -        The source archive download URL for this distribution.
    -        """
    -        return self.metadata.source_url
    -
    -    download_url = source_url   # Backward compatibility
    -
    -    @property
    -    def name_and_version(self):
    -        """
    -        A utility property which displays the name and version in parentheses.
    -        """
    -        return '%s (%s)' % (self.name, self.version)
    -
    -    @property
    -    def provides(self):
    -        """
    -        A set of distribution names and versions provided by this distribution.
    -        :return: A set of "name (version)" strings.
    -        """
    -        plist = self.metadata.provides
    -        s = '%s (%s)' % (self.name, self.version)
    -        if s not in plist:
    -            plist.append(s)
    -        return plist
    -
    -    def _get_requirements(self, req_attr):
    -        md = self.metadata
    -        logger.debug('Getting requirements from metadata %r', md.todict())
    -        reqts = getattr(md, req_attr)
    -        return set(md.get_requirements(reqts, extras=self.extras,
    -                                       env=self.context))
    -
    -    @property
    -    def run_requires(self):
    -        return self._get_requirements('run_requires')
    -
    -    @property
    -    def meta_requires(self):
    -        return self._get_requirements('meta_requires')
    -
    -    @property
    -    def build_requires(self):
    -        return self._get_requirements('build_requires')
    -
    -    @property
    -    def test_requires(self):
    -        return self._get_requirements('test_requires')
    -
    -    @property
    -    def dev_requires(self):
    -        return self._get_requirements('dev_requires')
    -
    -    def matches_requirement(self, req):
    -        """
    -        Say if this instance matches (fulfills) a requirement.
    -        :param req: The requirement to match.
    -        :rtype req: str
    -        :return: True if it matches, else False.
    -        """
    -        # Requirement may contain extras - parse to lose those
    -        # from what's passed to the matcher
    -        r = parse_requirement(req)
    -        scheme = get_scheme(self.metadata.scheme)
    -        try:
    -            matcher = scheme.matcher(r.requirement)
    -        except UnsupportedVersionError:
    -            # XXX compat-mode if cannot read the version
    -            logger.warning('could not read version %r - using name only',
    -                           req)
    -            name = req.split()[0]
    -            matcher = scheme.matcher(name)
    -
    -        name = matcher.key   # case-insensitive
    -
    -        result = False
    -        for p in self.provides:
    -            p_name, p_ver = parse_name_and_version(p)
    -            if p_name != name:
    -                continue
    -            try:
    -                result = matcher.match(p_ver)
    -                break
    -            except UnsupportedVersionError:
    -                pass
    -        return result
    -
    -    def __repr__(self):
    -        """
    -        Return a textual representation of this instance,
    -        """
    -        if self.source_url:
    -            suffix = ' [%s]' % self.source_url
    -        else:
    -            suffix = ''
    -        return '' % (self.name, self.version, suffix)
    -
    -    def __eq__(self, other):
    -        """
    -        See if this distribution is the same as another.
    -        :param other: The distribution to compare with. To be equal to one
    -                      another. distributions must have the same type, name,
    -                      version and source_url.
    -        :return: True if it is the same, else False.
    -        """
    -        if type(other) is not type(self):
    -            result = False
    -        else:
    -            result = (self.name == other.name and
    -                      self.version == other.version and
    -                      self.source_url == other.source_url)
    -        return result
    -
    -    def __hash__(self):
    -        """
    -        Compute hash in a way which matches the equality test.
    -        """
    -        return hash(self.name) + hash(self.version) + hash(self.source_url)
    -
    -
    -class BaseInstalledDistribution(Distribution):
    -    """
    -    This is the base class for installed distributions (whether PEP 376 or
    -    legacy).
    -    """
    -
    -    hasher = None
    -
    -    def __init__(self, metadata, path, env=None):
    -        """
    -        Initialise an instance.
    -        :param metadata: An instance of :class:`Metadata` which describes the
    -                         distribution. This will normally have been initialised
    -                         from a metadata file in the ``path``.
    -        :param path:     The path of the ``.dist-info`` or ``.egg-info``
    -                         directory for the distribution.
    -        :param env:      This is normally the :class:`DistributionPath`
    -                         instance where this distribution was found.
    -        """
    -        super(BaseInstalledDistribution, self).__init__(metadata)
    -        self.path = path
    -        self.dist_path = env
    -
    -    def get_hash(self, data, hasher=None):
    -        """
    -        Get the hash of some data, using a particular hash algorithm, if
    -        specified.
    -
    -        :param data: The data to be hashed.
    -        :type data: bytes
    -        :param hasher: The name of a hash implementation, supported by hashlib,
    -                       or ``None``. Examples of valid values are ``'sha1'``,
    -                       ``'sha224'``, ``'sha384'``, '``sha256'``, ``'md5'`` and
    -                       ``'sha512'``. If no hasher is specified, the ``hasher``
    -                       attribute of the :class:`InstalledDistribution` instance
    -                       is used. If the hasher is determined to be ``None``, MD5
    -                       is used as the hashing algorithm.
    -        :returns: The hash of the data. If a hasher was explicitly specified,
    -                  the returned hash will be prefixed with the specified hasher
    -                  followed by '='.
    -        :rtype: str
    -        """
    -        if hasher is None:
    -            hasher = self.hasher
    -        if hasher is None:
    -            hasher = hashlib.md5
    -            prefix = ''
    -        else:
    -            hasher = getattr(hashlib, hasher)
    -            prefix = '%s=' % self.hasher
    -        digest = hasher(data).digest()
    -        digest = base64.urlsafe_b64encode(digest).rstrip(b'=').decode('ascii')
    -        return '%s%s' % (prefix, digest)
    -
    -
    -class InstalledDistribution(BaseInstalledDistribution):
    -    """
    -    Created with the *path* of the ``.dist-info`` directory provided to the
    -    constructor. It reads the metadata contained in ``pydist.json`` when it is
    -    instantiated., or uses a passed in Metadata instance (useful for when
    -    dry-run mode is being used).
    -    """
    -
    -    hasher = 'sha256'
    -
    -    def __init__(self, path, metadata=None, env=None):
    -        self.modules = []
    -        self.finder = finder = resources.finder_for_path(path)
    -        if finder is None:
    -            raise ValueError('finder unavailable for %s' % path)
    -        if env and env._cache_enabled and path in env._cache.path:
    -            metadata = env._cache.path[path].metadata
    -        elif metadata is None:
    -            r = finder.find(METADATA_FILENAME)
    -            # Temporary - for Wheel 0.23 support
    -            if r is None:
    -                r = finder.find(WHEEL_METADATA_FILENAME)
    -            # Temporary - for legacy support
    -            if r is None:
    -                r = finder.find('METADATA')
    -            if r is None:
    -                raise ValueError('no %s found in %s' % (METADATA_FILENAME,
    -                                                        path))
    -            with contextlib.closing(r.as_stream()) as stream:
    -                metadata = Metadata(fileobj=stream, scheme='legacy')
    -
    -        super(InstalledDistribution, self).__init__(metadata, path, env)
    -
    -        if env and env._cache_enabled:
    -            env._cache.add(self)
    -
    -        r = finder.find('REQUESTED')
    -        self.requested = r is not None
    -        p  = os.path.join(path, 'top_level.txt')
    -        if os.path.exists(p):
    -            with open(p, 'rb') as f:
    -                data = f.read()
    -            self.modules = data.splitlines()
    -
    -    def __repr__(self):
    -        return '' % (
    -            self.name, self.version, self.path)
    -
    -    def __str__(self):
    -        return "%s %s" % (self.name, self.version)
    -
    -    def _get_records(self):
    -        """
    -        Get the list of installed files for the distribution
    -        :return: A list of tuples of path, hash and size. Note that hash and
    -                 size might be ``None`` for some entries. The path is exactly
    -                 as stored in the file (which is as in PEP 376).
    -        """
    -        results = []
    -        r = self.get_distinfo_resource('RECORD')
    -        with contextlib.closing(r.as_stream()) as stream:
    -            with CSVReader(stream=stream) as record_reader:
    -                # Base location is parent dir of .dist-info dir
    -                #base_location = os.path.dirname(self.path)
    -                #base_location = os.path.abspath(base_location)
    -                for row in record_reader:
    -                    missing = [None for i in range(len(row), 3)]
    -                    path, checksum, size = row + missing
    -                    #if not os.path.isabs(path):
    -                    #    path = path.replace('/', os.sep)
    -                    #    path = os.path.join(base_location, path)
    -                    results.append((path, checksum, size))
    -        return results
    -
    -    @cached_property
    -    def exports(self):
    -        """
    -        Return the information exported by this distribution.
    -        :return: A dictionary of exports, mapping an export category to a dict
    -                 of :class:`ExportEntry` instances describing the individual
    -                 export entries, and keyed by name.
    -        """
    -        result = {}
    -        r = self.get_distinfo_resource(EXPORTS_FILENAME)
    -        if r:
    -            result = self.read_exports()
    -        return result
    -
    -    def read_exports(self):
    -        """
    -        Read exports data from a file in .ini format.
    -
    -        :return: A dictionary of exports, mapping an export category to a list
    -                 of :class:`ExportEntry` instances describing the individual
    -                 export entries.
    -        """
    -        result = {}
    -        r = self.get_distinfo_resource(EXPORTS_FILENAME)
    -        if r:
    -            with contextlib.closing(r.as_stream()) as stream:
    -                result = read_exports(stream)
    -        return result
    -
    -    def write_exports(self, exports):
    -        """
    -        Write a dictionary of exports to a file in .ini format.
    -        :param exports: A dictionary of exports, mapping an export category to
    -                        a list of :class:`ExportEntry` instances describing the
    -                        individual export entries.
    -        """
    -        rf = self.get_distinfo_file(EXPORTS_FILENAME)
    -        with open(rf, 'w') as f:
    -            write_exports(exports, f)
    -
    -    def get_resource_path(self, relative_path):
    -        """
    -        NOTE: This API may change in the future.
    -
    -        Return the absolute path to a resource file with the given relative
    -        path.
    -
    -        :param relative_path: The path, relative to .dist-info, of the resource
    -                              of interest.
    -        :return: The absolute path where the resource is to be found.
    -        """
    -        r = self.get_distinfo_resource('RESOURCES')
    -        with contextlib.closing(r.as_stream()) as stream:
    -            with CSVReader(stream=stream) as resources_reader:
    -                for relative, destination in resources_reader:
    -                    if relative == relative_path:
    -                        return destination
    -        raise KeyError('no resource file with relative path %r '
    -                       'is installed' % relative_path)
    -
    -    def list_installed_files(self):
    -        """
    -        Iterates over the ``RECORD`` entries and returns a tuple
    -        ``(path, hash, size)`` for each line.
    -
    -        :returns: iterator of (path, hash, size)
    -        """
    -        for result in self._get_records():
    -            yield result
    -
    -    def write_installed_files(self, paths, prefix, dry_run=False):
    -        """
    -        Writes the ``RECORD`` file, using the ``paths`` iterable passed in. Any
    -        existing ``RECORD`` file is silently overwritten.
    -
    -        prefix is used to determine when to write absolute paths.
    -        """
    -        prefix = os.path.join(prefix, '')
    -        base = os.path.dirname(self.path)
    -        base_under_prefix = base.startswith(prefix)
    -        base = os.path.join(base, '')
    -        record_path = self.get_distinfo_file('RECORD')
    -        logger.info('creating %s', record_path)
    -        if dry_run:
    -            return None
    -        with CSVWriter(record_path) as writer:
    -            for path in paths:
    -                if os.path.isdir(path) or path.endswith(('.pyc', '.pyo')):
    -                    # do not put size and hash, as in PEP-376
    -                    hash_value = size = ''
    -                else:
    -                    size = '%d' % os.path.getsize(path)
    -                    with open(path, 'rb') as fp:
    -                        hash_value = self.get_hash(fp.read())
    -                if path.startswith(base) or (base_under_prefix and
    -                                             path.startswith(prefix)):
    -                    path = os.path.relpath(path, base)
    -                writer.writerow((path, hash_value, size))
    -
    -            # add the RECORD file itself
    -            if record_path.startswith(base):
    -                record_path = os.path.relpath(record_path, base)
    -            writer.writerow((record_path, '', ''))
    -        return record_path
    -
    -    def check_installed_files(self):
    -        """
    -        Checks that the hashes and sizes of the files in ``RECORD`` are
    -        matched by the files themselves. Returns a (possibly empty) list of
    -        mismatches. Each entry in the mismatch list will be a tuple consisting
    -        of the path, 'exists', 'size' or 'hash' according to what didn't match
    -        (existence is checked first, then size, then hash), the expected
    -        value and the actual value.
    -        """
    -        mismatches = []
    -        base = os.path.dirname(self.path)
    -        record_path = self.get_distinfo_file('RECORD')
    -        for path, hash_value, size in self.list_installed_files():
    -            if not os.path.isabs(path):
    -                path = os.path.join(base, path)
    -            if path == record_path:
    -                continue
    -            if not os.path.exists(path):
    -                mismatches.append((path, 'exists', True, False))
    -            elif os.path.isfile(path):
    -                actual_size = str(os.path.getsize(path))
    -                if size and actual_size != size:
    -                    mismatches.append((path, 'size', size, actual_size))
    -                elif hash_value:
    -                    if '=' in hash_value:
    -                        hasher = hash_value.split('=', 1)[0]
    -                    else:
    -                        hasher = None
    -
    -                    with open(path, 'rb') as f:
    -                        actual_hash = self.get_hash(f.read(), hasher)
    -                        if actual_hash != hash_value:
    -                            mismatches.append((path, 'hash', hash_value, actual_hash))
    -        return mismatches
    -
    -    @cached_property
    -    def shared_locations(self):
    -        """
    -        A dictionary of shared locations whose keys are in the set 'prefix',
    -        'purelib', 'platlib', 'scripts', 'headers', 'data' and 'namespace'.
    -        The corresponding value is the absolute path of that category for
    -        this distribution, and takes into account any paths selected by the
    -        user at installation time (e.g. via command-line arguments). In the
    -        case of the 'namespace' key, this would be a list of absolute paths
    -        for the roots of namespace packages in this distribution.
    -
    -        The first time this property is accessed, the relevant information is
    -        read from the SHARED file in the .dist-info directory.
    -        """
    -        result = {}
    -        shared_path = os.path.join(self.path, 'SHARED')
    -        if os.path.isfile(shared_path):
    -            with codecs.open(shared_path, 'r', encoding='utf-8') as f:
    -                lines = f.read().splitlines()
    -            for line in lines:
    -                key, value = line.split('=', 1)
    -                if key == 'namespace':
    -                    result.setdefault(key, []).append(value)
    -                else:
    -                    result[key] = value
    -        return result
    -
    -    def write_shared_locations(self, paths, dry_run=False):
    -        """
    -        Write shared location information to the SHARED file in .dist-info.
    -        :param paths: A dictionary as described in the documentation for
    -        :meth:`shared_locations`.
    -        :param dry_run: If True, the action is logged but no file is actually
    -                        written.
    -        :return: The path of the file written to.
    -        """
    -        shared_path = os.path.join(self.path, 'SHARED')
    -        logger.info('creating %s', shared_path)
    -        if dry_run:
    -            return None
    -        lines = []
    -        for key in ('prefix', 'lib', 'headers', 'scripts', 'data'):
    -            path = paths[key]
    -            if os.path.isdir(paths[key]):
    -                lines.append('%s=%s' % (key,  path))
    -        for ns in paths.get('namespace', ()):
    -            lines.append('namespace=%s' % ns)
    -
    -        with codecs.open(shared_path, 'w', encoding='utf-8') as f:
    -            f.write('\n'.join(lines))
    -        return shared_path
    -
    -    def get_distinfo_resource(self, path):
    -        if path not in DIST_FILES:
    -            raise DistlibException('invalid path for a dist-info file: '
    -                                   '%r at %r' % (path, self.path))
    -        finder = resources.finder_for_path(self.path)
    -        if finder is None:
    -            raise DistlibException('Unable to get a finder for %s' % self.path)
    -        return finder.find(path)
    -
    -    def get_distinfo_file(self, path):
    -        """
    -        Returns a path located under the ``.dist-info`` directory. Returns a
    -        string representing the path.
    -
    -        :parameter path: a ``'/'``-separated path relative to the
    -                         ``.dist-info`` directory or an absolute path;
    -                         If *path* is an absolute path and doesn't start
    -                         with the ``.dist-info`` directory path,
    -                         a :class:`DistlibException` is raised
    -        :type path: str
    -        :rtype: str
    -        """
    -        # Check if it is an absolute path  # XXX use relpath, add tests
    -        if path.find(os.sep) >= 0:
    -            # it's an absolute path?
    -            distinfo_dirname, path = path.split(os.sep)[-2:]
    -            if distinfo_dirname != self.path.split(os.sep)[-1]:
    -                raise DistlibException(
    -                    'dist-info file %r does not belong to the %r %s '
    -                    'distribution' % (path, self.name, self.version))
    -
    -        # The file must be relative
    -        if path not in DIST_FILES:
    -            raise DistlibException('invalid path for a dist-info file: '
    -                                   '%r at %r' % (path, self.path))
    -
    -        return os.path.join(self.path, path)
    -
    -    def list_distinfo_files(self):
    -        """
    -        Iterates over the ``RECORD`` entries and returns paths for each line if
    -        the path is pointing to a file located in the ``.dist-info`` directory
    -        or one of its subdirectories.
    -
    -        :returns: iterator of paths
    -        """
    -        base = os.path.dirname(self.path)
    -        for path, checksum, size in self._get_records():
    -            # XXX add separator or use real relpath algo
    -            if not os.path.isabs(path):
    -                path = os.path.join(base, path)
    -            if path.startswith(self.path):
    -                yield path
    -
    -    def __eq__(self, other):
    -        return (isinstance(other, InstalledDistribution) and
    -                self.path == other.path)
    -
    -    # See http://docs.python.org/reference/datamodel#object.__hash__
    -    __hash__ = object.__hash__
    -
    -
    -class EggInfoDistribution(BaseInstalledDistribution):
    -    """Created with the *path* of the ``.egg-info`` directory or file provided
    -    to the constructor. It reads the metadata contained in the file itself, or
    -    if the given path happens to be a directory, the metadata is read from the
    -    file ``PKG-INFO`` under that directory."""
    -
    -    requested = True    # as we have no way of knowing, assume it was
    -    shared_locations = {}
    -
    -    def __init__(self, path, env=None):
    -        def set_name_and_version(s, n, v):
    -            s.name = n
    -            s.key = n.lower()   # for case-insensitive comparisons
    -            s.version = v
    -
    -        self.path = path
    -        self.dist_path = env
    -        if env and env._cache_enabled and path in env._cache_egg.path:
    -            metadata = env._cache_egg.path[path].metadata
    -            set_name_and_version(self, metadata.name, metadata.version)
    -        else:
    -            metadata = self._get_metadata(path)
    -
    -            # Need to be set before caching
    -            set_name_and_version(self, metadata.name, metadata.version)
    -
    -            if env and env._cache_enabled:
    -                env._cache_egg.add(self)
    -        super(EggInfoDistribution, self).__init__(metadata, path, env)
    -
    -    def _get_metadata(self, path):
    -        requires = None
    -
    -        def parse_requires_data(data):
    -            """Create a list of dependencies from a requires.txt file.
    -
    -            *data*: the contents of a setuptools-produced requires.txt file.
    -            """
    -            reqs = []
    -            lines = data.splitlines()
    -            for line in lines:
    -                line = line.strip()
    -                if line.startswith('['):
    -                    logger.warning('Unexpected line: quitting requirement scan: %r',
    -                                   line)
    -                    break
    -                r = parse_requirement(line)
    -                if not r:
    -                    logger.warning('Not recognised as a requirement: %r', line)
    -                    continue
    -                if r.extras:
    -                    logger.warning('extra requirements in requires.txt are '
    -                                   'not supported')
    -                if not r.constraints:
    -                    reqs.append(r.name)
    -                else:
    -                    cons = ', '.join('%s%s' % c for c in r.constraints)
    -                    reqs.append('%s (%s)' % (r.name, cons))
    -            return reqs
    -
    -        def parse_requires_path(req_path):
    -            """Create a list of dependencies from a requires.txt file.
    -
    -            *req_path*: the path to a setuptools-produced requires.txt file.
    -            """
    -
    -            reqs = []
    -            try:
    -                with codecs.open(req_path, 'r', 'utf-8') as fp:
    -                    reqs = parse_requires_data(fp.read())
    -            except IOError:
    -                pass
    -            return reqs
    -
    -        tl_path = tl_data = None
    -        if path.endswith('.egg'):
    -            if os.path.isdir(path):
    -                p = os.path.join(path, 'EGG-INFO')
    -                meta_path = os.path.join(p, 'PKG-INFO')
    -                metadata = Metadata(path=meta_path, scheme='legacy')
    -                req_path = os.path.join(p, 'requires.txt')
    -                tl_path = os.path.join(p, 'top_level.txt')
    -                requires = parse_requires_path(req_path)
    -            else:
    -                # FIXME handle the case where zipfile is not available
    -                zipf = zipimport.zipimporter(path)
    -                fileobj = StringIO(
    -                    zipf.get_data('EGG-INFO/PKG-INFO').decode('utf8'))
    -                metadata = Metadata(fileobj=fileobj, scheme='legacy')
    -                try:
    -                    data = zipf.get_data('EGG-INFO/requires.txt')
    -                    tl_data = zipf.get_data('EGG-INFO/top_level.txt').decode('utf-8')
    -                    requires = parse_requires_data(data.decode('utf-8'))
    -                except IOError:
    -                    requires = None
    -        elif path.endswith('.egg-info'):
    -            if os.path.isdir(path):
    -                req_path = os.path.join(path, 'requires.txt')
    -                requires = parse_requires_path(req_path)
    -                path = os.path.join(path, 'PKG-INFO')
    -                tl_path = os.path.join(path, 'top_level.txt')
    -            metadata = Metadata(path=path, scheme='legacy')
    -        else:
    -            raise DistlibException('path must end with .egg-info or .egg, '
    -                                   'got %r' % path)
    -
    -        if requires:
    -            metadata.add_requirements(requires)
    -        # look for top-level modules in top_level.txt, if present
    -        if tl_data is None:
    -            if tl_path is not None and os.path.exists(tl_path):
    -                with open(tl_path, 'rb') as f:
    -                    tl_data = f.read().decode('utf-8')
    -        if not tl_data:
    -            tl_data = []
    -        else:
    -            tl_data = tl_data.splitlines()
    -        self.modules = tl_data
    -        return metadata
    -
    -    def __repr__(self):
    -        return '' % (
    -            self.name, self.version, self.path)
    -
    -    def __str__(self):
    -        return "%s %s" % (self.name, self.version)
    -
    -    def check_installed_files(self):
    -        """
    -        Checks that the hashes and sizes of the files in ``RECORD`` are
    -        matched by the files themselves. Returns a (possibly empty) list of
    -        mismatches. Each entry in the mismatch list will be a tuple consisting
    -        of the path, 'exists', 'size' or 'hash' according to what didn't match
    -        (existence is checked first, then size, then hash), the expected
    -        value and the actual value.
    -        """
    -        mismatches = []
    -        record_path = os.path.join(self.path, 'installed-files.txt')
    -        if os.path.exists(record_path):
    -            for path, _, _ in self.list_installed_files():
    -                if path == record_path:
    -                    continue
    -                if not os.path.exists(path):
    -                    mismatches.append((path, 'exists', True, False))
    -        return mismatches
    -
    -    def list_installed_files(self):
    -        """
    -        Iterates over the ``installed-files.txt`` entries and returns a tuple
    -        ``(path, hash, size)`` for each line.
    -
    -        :returns: a list of (path, hash, size)
    -        """
    -
    -        def _md5(path):
    -            f = open(path, 'rb')
    -            try:
    -                content = f.read()
    -            finally:
    -                f.close()
    -            return hashlib.md5(content).hexdigest()
    -
    -        def _size(path):
    -            return os.stat(path).st_size
    -
    -        record_path = os.path.join(self.path, 'installed-files.txt')
    -        result = []
    -        if os.path.exists(record_path):
    -            with codecs.open(record_path, 'r', encoding='utf-8') as f:
    -                for line in f:
    -                    line = line.strip()
    -                    p = os.path.normpath(os.path.join(self.path, line))
    -                    # "./" is present as a marker between installed files
    -                    # and installation metadata files
    -                    if not os.path.exists(p):
    -                        logger.warning('Non-existent file: %s', p)
    -                        if p.endswith(('.pyc', '.pyo')):
    -                            continue
    -                        #otherwise fall through and fail
    -                    if not os.path.isdir(p):
    -                        result.append((p, _md5(p), _size(p)))
    -            result.append((record_path, None, None))
    -        return result
    -
    -    def list_distinfo_files(self, absolute=False):
    -        """
    -        Iterates over the ``installed-files.txt`` entries and returns paths for
    -        each line if the path is pointing to a file located in the
    -        ``.egg-info`` directory or one of its subdirectories.
    -
    -        :parameter absolute: If *absolute* is ``True``, each returned path is
    -                          transformed into a local absolute path. Otherwise the
    -                          raw value from ``installed-files.txt`` is returned.
    -        :type absolute: boolean
    -        :returns: iterator of paths
    -        """
    -        record_path = os.path.join(self.path, 'installed-files.txt')
    -        if os.path.exists(record_path):
    -            skip = True
    -            with codecs.open(record_path, 'r', encoding='utf-8') as f:
    -                for line in f:
    -                    line = line.strip()
    -                    if line == './':
    -                        skip = False
    -                        continue
    -                    if not skip:
    -                        p = os.path.normpath(os.path.join(self.path, line))
    -                        if p.startswith(self.path):
    -                            if absolute:
    -                                yield p
    -                            else:
    -                                yield line
    -
    -    def __eq__(self, other):
    -        return (isinstance(other, EggInfoDistribution) and
    -                self.path == other.path)
    -
    -    # See http://docs.python.org/reference/datamodel#object.__hash__
    -    __hash__ = object.__hash__
    -
    -new_dist_class = InstalledDistribution
    -old_dist_class = EggInfoDistribution
    -
    -
    -class DependencyGraph(object):
    -    """
    -    Represents a dependency graph between distributions.
    -
    -    The dependency relationships are stored in an ``adjacency_list`` that maps
    -    distributions to a list of ``(other, label)`` tuples where  ``other``
    -    is a distribution and the edge is labeled with ``label`` (i.e. the version
    -    specifier, if such was provided). Also, for more efficient traversal, for
    -    every distribution ``x``, a list of predecessors is kept in
    -    ``reverse_list[x]``. An edge from distribution ``a`` to
    -    distribution ``b`` means that ``a`` depends on ``b``. If any missing
    -    dependencies are found, they are stored in ``missing``, which is a
    -    dictionary that maps distributions to a list of requirements that were not
    -    provided by any other distributions.
    -    """
    -
    -    def __init__(self):
    -        self.adjacency_list = {}
    -        self.reverse_list = {}
    -        self.missing = {}
    -
    -    def add_distribution(self, distribution):
    -        """Add the *distribution* to the graph.
    -
    -        :type distribution: :class:`distutils2.database.InstalledDistribution`
    -                            or :class:`distutils2.database.EggInfoDistribution`
    -        """
    -        self.adjacency_list[distribution] = []
    -        self.reverse_list[distribution] = []
    -        #self.missing[distribution] = []
    -
    -    def add_edge(self, x, y, label=None):
    -        """Add an edge from distribution *x* to distribution *y* with the given
    -        *label*.
    -
    -        :type x: :class:`distutils2.database.InstalledDistribution` or
    -                 :class:`distutils2.database.EggInfoDistribution`
    -        :type y: :class:`distutils2.database.InstalledDistribution` or
    -                 :class:`distutils2.database.EggInfoDistribution`
    -        :type label: ``str`` or ``None``
    -        """
    -        self.adjacency_list[x].append((y, label))
    -        # multiple edges are allowed, so be careful
    -        if x not in self.reverse_list[y]:
    -            self.reverse_list[y].append(x)
    -
    -    def add_missing(self, distribution, requirement):
    -        """
    -        Add a missing *requirement* for the given *distribution*.
    -
    -        :type distribution: :class:`distutils2.database.InstalledDistribution`
    -                            or :class:`distutils2.database.EggInfoDistribution`
    -        :type requirement: ``str``
    -        """
    -        logger.debug('%s missing %r', distribution, requirement)
    -        self.missing.setdefault(distribution, []).append(requirement)
    -
    -    def _repr_dist(self, dist):
    -        return '%s %s' % (dist.name, dist.version)
    -
    -    def repr_node(self, dist, level=1):
    -        """Prints only a subgraph"""
    -        output = [self._repr_dist(dist)]
    -        for other, label in self.adjacency_list[dist]:
    -            dist = self._repr_dist(other)
    -            if label is not None:
    -                dist = '%s [%s]' % (dist, label)
    -            output.append('    ' * level + str(dist))
    -            suboutput = self.repr_node(other, level + 1)
    -            subs = suboutput.split('\n')
    -            output.extend(subs[1:])
    -        return '\n'.join(output)
    -
    -    def to_dot(self, f, skip_disconnected=True):
    -        """Writes a DOT output for the graph to the provided file *f*.
    -
    -        If *skip_disconnected* is set to ``True``, then all distributions
    -        that are not dependent on any other distribution are skipped.
    -
    -        :type f: has to support ``file``-like operations
    -        :type skip_disconnected: ``bool``
    -        """
    -        disconnected = []
    -
    -        f.write("digraph dependencies {\n")
    -        for dist, adjs in self.adjacency_list.items():
    -            if len(adjs) == 0 and not skip_disconnected:
    -                disconnected.append(dist)
    -            for other, label in adjs:
    -                if not label is None:
    -                    f.write('"%s" -> "%s" [label="%s"]\n' %
    -                            (dist.name, other.name, label))
    -                else:
    -                    f.write('"%s" -> "%s"\n' % (dist.name, other.name))
    -        if not skip_disconnected and len(disconnected) > 0:
    -            f.write('subgraph disconnected {\n')
    -            f.write('label = "Disconnected"\n')
    -            f.write('bgcolor = red\n')
    -
    -            for dist in disconnected:
    -                f.write('"%s"' % dist.name)
    -                f.write('\n')
    -            f.write('}\n')
    -        f.write('}\n')
    -
    -    def topological_sort(self):
    -        """
    -        Perform a topological sort of the graph.
    -        :return: A tuple, the first element of which is a topologically sorted
    -                 list of distributions, and the second element of which is a
    -                 list of distributions that cannot be sorted because they have
    -                 circular dependencies and so form a cycle.
    -        """
    -        result = []
    -        # Make a shallow copy of the adjacency list
    -        alist = {}
    -        for k, v in self.adjacency_list.items():
    -            alist[k] = v[:]
    -        while True:
    -            # See what we can remove in this run
    -            to_remove = []
    -            for k, v in list(alist.items())[:]:
    -                if not v:
    -                    to_remove.append(k)
    -                    del alist[k]
    -            if not to_remove:
    -                # What's left in alist (if anything) is a cycle.
    -                break
    -            # Remove from the adjacency list of others
    -            for k, v in alist.items():
    -                alist[k] = [(d, r) for d, r in v if d not in to_remove]
    -            logger.debug('Moving to result: %s',
    -                         ['%s (%s)' % (d.name, d.version) for d in to_remove])
    -            result.extend(to_remove)
    -        return result, list(alist.keys())
    -
    -    def __repr__(self):
    -        """Representation of the graph"""
    -        output = []
    -        for dist, adjs in self.adjacency_list.items():
    -            output.append(self.repr_node(dist))
    -        return '\n'.join(output)
    -
    -
    -def make_graph(dists, scheme='default'):
    -    """Makes a dependency graph from the given distributions.
    -
    -    :parameter dists: a list of distributions
    -    :type dists: list of :class:`distutils2.database.InstalledDistribution` and
    -                 :class:`distutils2.database.EggInfoDistribution` instances
    -    :rtype: a :class:`DependencyGraph` instance
    -    """
    -    scheme = get_scheme(scheme)
    -    graph = DependencyGraph()
    -    provided = {}  # maps names to lists of (version, dist) tuples
    -
    -    # first, build the graph and find out what's provided
    -    for dist in dists:
    -        graph.add_distribution(dist)
    -
    -        for p in dist.provides:
    -            name, version = parse_name_and_version(p)
    -            logger.debug('Add to provided: %s, %s, %s', name, version, dist)
    -            provided.setdefault(name, []).append((version, dist))
    -
    -    # now make the edges
    -    for dist in dists:
    -        requires = (dist.run_requires | dist.meta_requires |
    -                    dist.build_requires | dist.dev_requires)
    -        for req in requires:
    -            try:
    -                matcher = scheme.matcher(req)
    -            except UnsupportedVersionError:
    -                # XXX compat-mode if cannot read the version
    -                logger.warning('could not read version %r - using name only',
    -                               req)
    -                name = req.split()[0]
    -                matcher = scheme.matcher(name)
    -
    -            name = matcher.key   # case-insensitive
    -
    -            matched = False
    -            if name in provided:
    -                for version, provider in provided[name]:
    -                    try:
    -                        match = matcher.match(version)
    -                    except UnsupportedVersionError:
    -                        match = False
    -
    -                    if match:
    -                        graph.add_edge(dist, provider, req)
    -                        matched = True
    -                        break
    -            if not matched:
    -                graph.add_missing(dist, req)
    -    return graph
    -
    -
    -def get_dependent_dists(dists, dist):
    -    """Recursively generate a list of distributions from *dists* that are
    -    dependent on *dist*.
    -
    -    :param dists: a list of distributions
    -    :param dist: a distribution, member of *dists* for which we are interested
    -    """
    -    if dist not in dists:
    -        raise DistlibException('given distribution %r is not a member '
    -                               'of the list' % dist.name)
    -    graph = make_graph(dists)
    -
    -    dep = [dist]  # dependent distributions
    -    todo = graph.reverse_list[dist]  # list of nodes we should inspect
    -
    -    while todo:
    -        d = todo.pop()
    -        dep.append(d)
    -        for succ in graph.reverse_list[d]:
    -            if succ not in dep:
    -                todo.append(succ)
    -
    -    dep.pop(0)  # remove dist from dep, was there to prevent infinite loops
    -    return dep
    -
    -
    -def get_required_dists(dists, dist):
    -    """Recursively generate a list of distributions from *dists* that are
    -    required by *dist*.
    -
    -    :param dists: a list of distributions
    -    :param dist: a distribution, member of *dists* for which we are interested
    -    """
    -    if dist not in dists:
    -        raise DistlibException('given distribution %r is not a member '
    -                               'of the list' % dist.name)
    -    graph = make_graph(dists)
    -
    -    req = []  # required distributions
    -    todo = graph.adjacency_list[dist]  # list of nodes we should inspect
    -
    -    while todo:
    -        d = todo.pop()[0]
    -        req.append(d)
    -        for pred in graph.adjacency_list[d]:
    -            if pred not in req:
    -                todo.append(pred)
    -
    -    return req
    -
    -
    -def make_dist(name, version, **kwargs):
    -    """
    -    A convenience method for making a dist given just a name and version.
    -    """
    -    summary = kwargs.pop('summary', 'Placeholder for summary')
    -    md = Metadata(**kwargs)
    -    md.name = name
    -    md.version = version
    -    md.summary = summary or 'Placeholder for summary'
    -    return Distribution(md)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/index.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/index.py
    deleted file mode 100644
    index 7a87cdc..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/index.py
    +++ /dev/null
    @@ -1,516 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2013 Vinay Sajip.
    -# Licensed to the Python Software Foundation under a contributor agreement.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -import hashlib
    -import logging
    -import os
    -import shutil
    -import subprocess
    -import tempfile
    -try:
    -    from threading import Thread
    -except ImportError:
    -    from dummy_threading import Thread
    -
    -from . import DistlibException
    -from .compat import (HTTPBasicAuthHandler, Request, HTTPPasswordMgr,
    -                     urlparse, build_opener, string_types)
    -from .util import cached_property, zip_dir, ServerProxy
    -
    -logger = logging.getLogger(__name__)
    -
    -DEFAULT_INDEX = 'https://pypi.org/pypi'
    -DEFAULT_REALM = 'pypi'
    -
    -class PackageIndex(object):
    -    """
    -    This class represents a package index compatible with PyPI, the Python
    -    Package Index.
    -    """
    -
    -    boundary = b'----------ThIs_Is_tHe_distlib_index_bouNdaRY_$'
    -
    -    def __init__(self, url=None):
    -        """
    -        Initialise an instance.
    -
    -        :param url: The URL of the index. If not specified, the URL for PyPI is
    -                    used.
    -        """
    -        self.url = url or DEFAULT_INDEX
    -        self.read_configuration()
    -        scheme, netloc, path, params, query, frag = urlparse(self.url)
    -        if params or query or frag or scheme not in ('http', 'https'):
    -            raise DistlibException('invalid repository: %s' % self.url)
    -        self.password_handler = None
    -        self.ssl_verifier = None
    -        self.gpg = None
    -        self.gpg_home = None
    -        with open(os.devnull, 'w') as sink:
    -            # Use gpg by default rather than gpg2, as gpg2 insists on
    -            # prompting for passwords
    -            for s in ('gpg', 'gpg2'):
    -                try:
    -                    rc = subprocess.check_call([s, '--version'], stdout=sink,
    -                                               stderr=sink)
    -                    if rc == 0:
    -                        self.gpg = s
    -                        break
    -                except OSError:
    -                    pass
    -
    -    def _get_pypirc_command(self):
    -        """
    -        Get the distutils command for interacting with PyPI configurations.
    -        :return: the command.
    -        """
    -        from distutils.core import Distribution
    -        from distutils.config import PyPIRCCommand
    -        d = Distribution()
    -        return PyPIRCCommand(d)
    -
    -    def read_configuration(self):
    -        """
    -        Read the PyPI access configuration as supported by distutils, getting
    -        PyPI to do the actual work. This populates ``username``, ``password``,
    -        ``realm`` and ``url`` attributes from the configuration.
    -        """
    -        # get distutils to do the work
    -        c = self._get_pypirc_command()
    -        c.repository = self.url
    -        cfg = c._read_pypirc()
    -        self.username = cfg.get('username')
    -        self.password = cfg.get('password')
    -        self.realm = cfg.get('realm', 'pypi')
    -        self.url = cfg.get('repository', self.url)
    -
    -    def save_configuration(self):
    -        """
    -        Save the PyPI access configuration. You must have set ``username`` and
    -        ``password`` attributes before calling this method.
    -
    -        Again, distutils is used to do the actual work.
    -        """
    -        self.check_credentials()
    -        # get distutils to do the work
    -        c = self._get_pypirc_command()
    -        c._store_pypirc(self.username, self.password)
    -
    -    def check_credentials(self):
    -        """
    -        Check that ``username`` and ``password`` have been set, and raise an
    -        exception if not.
    -        """
    -        if self.username is None or self.password is None:
    -            raise DistlibException('username and password must be set')
    -        pm = HTTPPasswordMgr()
    -        _, netloc, _, _, _, _ = urlparse(self.url)
    -        pm.add_password(self.realm, netloc, self.username, self.password)
    -        self.password_handler = HTTPBasicAuthHandler(pm)
    -
    -    def register(self, metadata):
    -        """
    -        Register a distribution on PyPI, using the provided metadata.
    -
    -        :param metadata: A :class:`Metadata` instance defining at least a name
    -                         and version number for the distribution to be
    -                         registered.
    -        :return: The HTTP response received from PyPI upon submission of the
    -                request.
    -        """
    -        self.check_credentials()
    -        metadata.validate()
    -        d = metadata.todict()
    -        d[':action'] = 'verify'
    -        request = self.encode_request(d.items(), [])
    -        response = self.send_request(request)
    -        d[':action'] = 'submit'
    -        request = self.encode_request(d.items(), [])
    -        return self.send_request(request)
    -
    -    def _reader(self, name, stream, outbuf):
    -        """
    -        Thread runner for reading lines of from a subprocess into a buffer.
    -
    -        :param name: The logical name of the stream (used for logging only).
    -        :param stream: The stream to read from. This will typically a pipe
    -                       connected to the output stream of a subprocess.
    -        :param outbuf: The list to append the read lines to.
    -        """
    -        while True:
    -            s = stream.readline()
    -            if not s:
    -                break
    -            s = s.decode('utf-8').rstrip()
    -            outbuf.append(s)
    -            logger.debug('%s: %s' % (name, s))
    -        stream.close()
    -
    -    def get_sign_command(self, filename, signer, sign_password,
    -                         keystore=None):
    -        """
    -        Return a suitable command for signing a file.
    -
    -        :param filename: The pathname to the file to be signed.
    -        :param signer: The identifier of the signer of the file.
    -        :param sign_password: The passphrase for the signer's
    -                              private key used for signing.
    -        :param keystore: The path to a directory which contains the keys
    -                         used in verification. If not specified, the
    -                         instance's ``gpg_home`` attribute is used instead.
    -        :return: The signing command as a list suitable to be
    -                 passed to :class:`subprocess.Popen`.
    -        """
    -        cmd = [self.gpg, '--status-fd', '2', '--no-tty']
    -        if keystore is None:
    -            keystore = self.gpg_home
    -        if keystore:
    -            cmd.extend(['--homedir', keystore])
    -        if sign_password is not None:
    -            cmd.extend(['--batch', '--passphrase-fd', '0'])
    -        td = tempfile.mkdtemp()
    -        sf = os.path.join(td, os.path.basename(filename) + '.asc')
    -        cmd.extend(['--detach-sign', '--armor', '--local-user',
    -                    signer, '--output', sf, filename])
    -        logger.debug('invoking: %s', ' '.join(cmd))
    -        return cmd, sf
    -
    -    def run_command(self, cmd, input_data=None):
    -        """
    -        Run a command in a child process , passing it any input data specified.
    -
    -        :param cmd: The command to run.
    -        :param input_data: If specified, this must be a byte string containing
    -                           data to be sent to the child process.
    -        :return: A tuple consisting of the subprocess' exit code, a list of
    -                 lines read from the subprocess' ``stdout``, and a list of
    -                 lines read from the subprocess' ``stderr``.
    -        """
    -        kwargs = {
    -            'stdout': subprocess.PIPE,
    -            'stderr': subprocess.PIPE,
    -        }
    -        if input_data is not None:
    -            kwargs['stdin'] = subprocess.PIPE
    -        stdout = []
    -        stderr = []
    -        p = subprocess.Popen(cmd, **kwargs)
    -        # We don't use communicate() here because we may need to
    -        # get clever with interacting with the command
    -        t1 = Thread(target=self._reader, args=('stdout', p.stdout, stdout))
    -        t1.start()
    -        t2 = Thread(target=self._reader, args=('stderr', p.stderr, stderr))
    -        t2.start()
    -        if input_data is not None:
    -            p.stdin.write(input_data)
    -            p.stdin.close()
    -
    -        p.wait()
    -        t1.join()
    -        t2.join()
    -        return p.returncode, stdout, stderr
    -
    -    def sign_file(self, filename, signer, sign_password, keystore=None):
    -        """
    -        Sign a file.
    -
    -        :param filename: The pathname to the file to be signed.
    -        :param signer: The identifier of the signer of the file.
    -        :param sign_password: The passphrase for the signer's
    -                              private key used for signing.
    -        :param keystore: The path to a directory which contains the keys
    -                         used in signing. If not specified, the instance's
    -                         ``gpg_home`` attribute is used instead.
    -        :return: The absolute pathname of the file where the signature is
    -                 stored.
    -        """
    -        cmd, sig_file = self.get_sign_command(filename, signer, sign_password,
    -                                              keystore)
    -        rc, stdout, stderr = self.run_command(cmd,
    -                                              sign_password.encode('utf-8'))
    -        if rc != 0:
    -            raise DistlibException('sign command failed with error '
    -                                   'code %s' % rc)
    -        return sig_file
    -
    -    def upload_file(self, metadata, filename, signer=None, sign_password=None,
    -                    filetype='sdist', pyversion='source', keystore=None):
    -        """
    -        Upload a release file to the index.
    -
    -        :param metadata: A :class:`Metadata` instance defining at least a name
    -                         and version number for the file to be uploaded.
    -        :param filename: The pathname of the file to be uploaded.
    -        :param signer: The identifier of the signer of the file.
    -        :param sign_password: The passphrase for the signer's
    -                              private key used for signing.
    -        :param filetype: The type of the file being uploaded. This is the
    -                        distutils command which produced that file, e.g.
    -                        ``sdist`` or ``bdist_wheel``.
    -        :param pyversion: The version of Python which the release relates
    -                          to. For code compatible with any Python, this would
    -                          be ``source``, otherwise it would be e.g. ``3.2``.
    -        :param keystore: The path to a directory which contains the keys
    -                         used in signing. If not specified, the instance's
    -                         ``gpg_home`` attribute is used instead.
    -        :return: The HTTP response received from PyPI upon submission of the
    -                request.
    -        """
    -        self.check_credentials()
    -        if not os.path.exists(filename):
    -            raise DistlibException('not found: %s' % filename)
    -        metadata.validate()
    -        d = metadata.todict()
    -        sig_file = None
    -        if signer:
    -            if not self.gpg:
    -                logger.warning('no signing program available - not signed')
    -            else:
    -                sig_file = self.sign_file(filename, signer, sign_password,
    -                                          keystore)
    -        with open(filename, 'rb') as f:
    -            file_data = f.read()
    -        md5_digest = hashlib.md5(file_data).hexdigest()
    -        sha256_digest = hashlib.sha256(file_data).hexdigest()
    -        d.update({
    -            ':action': 'file_upload',
    -            'protocol_version': '1',
    -            'filetype': filetype,
    -            'pyversion': pyversion,
    -            'md5_digest': md5_digest,
    -            'sha256_digest': sha256_digest,
    -        })
    -        files = [('content', os.path.basename(filename), file_data)]
    -        if sig_file:
    -            with open(sig_file, 'rb') as f:
    -                sig_data = f.read()
    -            files.append(('gpg_signature', os.path.basename(sig_file),
    -                         sig_data))
    -            shutil.rmtree(os.path.dirname(sig_file))
    -        request = self.encode_request(d.items(), files)
    -        return self.send_request(request)
    -
    -    def upload_documentation(self, metadata, doc_dir):
    -        """
    -        Upload documentation to the index.
    -
    -        :param metadata: A :class:`Metadata` instance defining at least a name
    -                         and version number for the documentation to be
    -                         uploaded.
    -        :param doc_dir: The pathname of the directory which contains the
    -                        documentation. This should be the directory that
    -                        contains the ``index.html`` for the documentation.
    -        :return: The HTTP response received from PyPI upon submission of the
    -                request.
    -        """
    -        self.check_credentials()
    -        if not os.path.isdir(doc_dir):
    -            raise DistlibException('not a directory: %r' % doc_dir)
    -        fn = os.path.join(doc_dir, 'index.html')
    -        if not os.path.exists(fn):
    -            raise DistlibException('not found: %r' % fn)
    -        metadata.validate()
    -        name, version = metadata.name, metadata.version
    -        zip_data = zip_dir(doc_dir).getvalue()
    -        fields = [(':action', 'doc_upload'),
    -                  ('name', name), ('version', version)]
    -        files = [('content', name, zip_data)]
    -        request = self.encode_request(fields, files)
    -        return self.send_request(request)
    -
    -    def get_verify_command(self, signature_filename, data_filename,
    -                           keystore=None):
    -        """
    -        Return a suitable command for verifying a file.
    -
    -        :param signature_filename: The pathname to the file containing the
    -                                   signature.
    -        :param data_filename: The pathname to the file containing the
    -                              signed data.
    -        :param keystore: The path to a directory which contains the keys
    -                         used in verification. If not specified, the
    -                         instance's ``gpg_home`` attribute is used instead.
    -        :return: The verifying command as a list suitable to be
    -                 passed to :class:`subprocess.Popen`.
    -        """
    -        cmd = [self.gpg, '--status-fd', '2', '--no-tty']
    -        if keystore is None:
    -            keystore = self.gpg_home
    -        if keystore:
    -            cmd.extend(['--homedir', keystore])
    -        cmd.extend(['--verify', signature_filename, data_filename])
    -        logger.debug('invoking: %s', ' '.join(cmd))
    -        return cmd
    -
    -    def verify_signature(self, signature_filename, data_filename,
    -                         keystore=None):
    -        """
    -        Verify a signature for a file.
    -
    -        :param signature_filename: The pathname to the file containing the
    -                                   signature.
    -        :param data_filename: The pathname to the file containing the
    -                              signed data.
    -        :param keystore: The path to a directory which contains the keys
    -                         used in verification. If not specified, the
    -                         instance's ``gpg_home`` attribute is used instead.
    -        :return: True if the signature was verified, else False.
    -        """
    -        if not self.gpg:
    -            raise DistlibException('verification unavailable because gpg '
    -                                   'unavailable')
    -        cmd = self.get_verify_command(signature_filename, data_filename,
    -                                      keystore)
    -        rc, stdout, stderr = self.run_command(cmd)
    -        if rc not in (0, 1):
    -            raise DistlibException('verify command failed with error '
    -                             'code %s' % rc)
    -        return rc == 0
    -
    -    def download_file(self, url, destfile, digest=None, reporthook=None):
    -        """
    -        This is a convenience method for downloading a file from an URL.
    -        Normally, this will be a file from the index, though currently
    -        no check is made for this (i.e. a file can be downloaded from
    -        anywhere).
    -
    -        The method is just like the :func:`urlretrieve` function in the
    -        standard library, except that it allows digest computation to be
    -        done during download and checking that the downloaded data
    -        matched any expected value.
    -
    -        :param url: The URL of the file to be downloaded (assumed to be
    -                    available via an HTTP GET request).
    -        :param destfile: The pathname where the downloaded file is to be
    -                         saved.
    -        :param digest: If specified, this must be a (hasher, value)
    -                       tuple, where hasher is the algorithm used (e.g.
    -                       ``'md5'``) and ``value`` is the expected value.
    -        :param reporthook: The same as for :func:`urlretrieve` in the
    -                           standard library.
    -        """
    -        if digest is None:
    -            digester = None
    -            logger.debug('No digest specified')
    -        else:
    -            if isinstance(digest, (list, tuple)):
    -                hasher, digest = digest
    -            else:
    -                hasher = 'md5'
    -            digester = getattr(hashlib, hasher)()
    -            logger.debug('Digest specified: %s' % digest)
    -        # The following code is equivalent to urlretrieve.
    -        # We need to do it this way so that we can compute the
    -        # digest of the file as we go.
    -        with open(destfile, 'wb') as dfp:
    -            # addinfourl is not a context manager on 2.x
    -            # so we have to use try/finally
    -            sfp = self.send_request(Request(url))
    -            try:
    -                headers = sfp.info()
    -                blocksize = 8192
    -                size = -1
    -                read = 0
    -                blocknum = 0
    -                if "content-length" in headers:
    -                    size = int(headers["Content-Length"])
    -                if reporthook:
    -                    reporthook(blocknum, blocksize, size)
    -                while True:
    -                    block = sfp.read(blocksize)
    -                    if not block:
    -                        break
    -                    read += len(block)
    -                    dfp.write(block)
    -                    if digester:
    -                        digester.update(block)
    -                    blocknum += 1
    -                    if reporthook:
    -                        reporthook(blocknum, blocksize, size)
    -            finally:
    -                sfp.close()
    -
    -        # check that we got the whole file, if we can
    -        if size >= 0 and read < size:
    -            raise DistlibException(
    -                'retrieval incomplete: got only %d out of %d bytes'
    -                % (read, size))
    -        # if we have a digest, it must match.
    -        if digester:
    -            actual = digester.hexdigest()
    -            if digest != actual:
    -                raise DistlibException('%s digest mismatch for %s: expected '
    -                                       '%s, got %s' % (hasher, destfile,
    -                                                       digest, actual))
    -            logger.debug('Digest verified: %s', digest)
    -
    -    def send_request(self, req):
    -        """
    -        Send a standard library :class:`Request` to PyPI and return its
    -        response.
    -
    -        :param req: The request to send.
    -        :return: The HTTP response from PyPI (a standard library HTTPResponse).
    -        """
    -        handlers = []
    -        if self.password_handler:
    -            handlers.append(self.password_handler)
    -        if self.ssl_verifier:
    -            handlers.append(self.ssl_verifier)
    -        opener = build_opener(*handlers)
    -        return opener.open(req)
    -
    -    def encode_request(self, fields, files):
    -        """
    -        Encode fields and files for posting to an HTTP server.
    -
    -        :param fields: The fields to send as a list of (fieldname, value)
    -                       tuples.
    -        :param files: The files to send as a list of (fieldname, filename,
    -                      file_bytes) tuple.
    -        """
    -        # Adapted from packaging, which in turn was adapted from
    -        # http://code.activestate.com/recipes/146306
    -
    -        parts = []
    -        boundary = self.boundary
    -        for k, values in fields:
    -            if not isinstance(values, (list, tuple)):
    -                values = [values]
    -
    -            for v in values:
    -                parts.extend((
    -                    b'--' + boundary,
    -                    ('Content-Disposition: form-data; name="%s"' %
    -                     k).encode('utf-8'),
    -                    b'',
    -                    v.encode('utf-8')))
    -        for key, filename, value in files:
    -            parts.extend((
    -                b'--' + boundary,
    -                ('Content-Disposition: form-data; name="%s"; filename="%s"' %
    -                 (key, filename)).encode('utf-8'),
    -                b'',
    -                value))
    -
    -        parts.extend((b'--' + boundary + b'--', b''))
    -
    -        body = b'\r\n'.join(parts)
    -        ct = b'multipart/form-data; boundary=' + boundary
    -        headers = {
    -            'Content-type': ct,
    -            'Content-length': str(len(body))
    -        }
    -        return Request(self.url, body, headers)
    -
    -    def search(self, terms, operator=None):
    -        if isinstance(terms, string_types):
    -            terms = {'name': terms}
    -        rpc_proxy = ServerProxy(self.url, timeout=3.0)
    -        try:
    -            return rpc_proxy.search(terms, operator or 'and')
    -        finally:
    -            rpc_proxy('close')()
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/locators.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/locators.py
    deleted file mode 100644
    index a7ed946..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/locators.py
    +++ /dev/null
    @@ -1,1295 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2012-2015 Vinay Sajip.
    -# Licensed to the Python Software Foundation under a contributor agreement.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -
    -import gzip
    -from io import BytesIO
    -import json
    -import logging
    -import os
    -import posixpath
    -import re
    -try:
    -    import threading
    -except ImportError:  # pragma: no cover
    -    import dummy_threading as threading
    -import zlib
    -
    -from . import DistlibException
    -from .compat import (urljoin, urlparse, urlunparse, url2pathname, pathname2url,
    -                     queue, quote, unescape, string_types, build_opener,
    -                     HTTPRedirectHandler as BaseRedirectHandler, text_type,
    -                     Request, HTTPError, URLError)
    -from .database import Distribution, DistributionPath, make_dist
    -from .metadata import Metadata, MetadataInvalidError
    -from .util import (cached_property, parse_credentials, ensure_slash,
    -                   split_filename, get_project_data, parse_requirement,
    -                   parse_name_and_version, ServerProxy, normalize_name)
    -from .version import get_scheme, UnsupportedVersionError
    -from .wheel import Wheel, is_compatible
    -
    -logger = logging.getLogger(__name__)
    -
    -HASHER_HASH = re.compile(r'^(\w+)=([a-f0-9]+)')
    -CHARSET = re.compile(r';\s*charset\s*=\s*(.*)\s*$', re.I)
    -HTML_CONTENT_TYPE = re.compile('text/html|application/x(ht)?ml')
    -DEFAULT_INDEX = 'https://pypi.org/pypi'
    -
    -def get_all_distribution_names(url=None):
    -    """
    -    Return all distribution names known by an index.
    -    :param url: The URL of the index.
    -    :return: A list of all known distribution names.
    -    """
    -    if url is None:
    -        url = DEFAULT_INDEX
    -    client = ServerProxy(url, timeout=3.0)
    -    try:
    -        return client.list_packages()
    -    finally:
    -        client('close')()
    -
    -class RedirectHandler(BaseRedirectHandler):
    -    """
    -    A class to work around a bug in some Python 3.2.x releases.
    -    """
    -    # There's a bug in the base version for some 3.2.x
    -    # (e.g. 3.2.2 on Ubuntu Oneiric). If a Location header
    -    # returns e.g. /abc, it bails because it says the scheme ''
    -    # is bogus, when actually it should use the request's
    -    # URL for the scheme. See Python issue #13696.
    -    def http_error_302(self, req, fp, code, msg, headers):
    -        # Some servers (incorrectly) return multiple Location headers
    -        # (so probably same goes for URI).  Use first header.
    -        newurl = None
    -        for key in ('location', 'uri'):
    -            if key in headers:
    -                newurl = headers[key]
    -                break
    -        if newurl is None:  # pragma: no cover
    -            return
    -        urlparts = urlparse(newurl)
    -        if urlparts.scheme == '':
    -            newurl = urljoin(req.get_full_url(), newurl)
    -            if hasattr(headers, 'replace_header'):
    -                headers.replace_header(key, newurl)
    -            else:
    -                headers[key] = newurl
    -        return BaseRedirectHandler.http_error_302(self, req, fp, code, msg,
    -                                                  headers)
    -
    -    http_error_301 = http_error_303 = http_error_307 = http_error_302
    -
    -class Locator(object):
    -    """
    -    A base class for locators - things that locate distributions.
    -    """
    -    source_extensions = ('.tar.gz', '.tar.bz2', '.tar', '.zip', '.tgz', '.tbz')
    -    binary_extensions = ('.egg', '.exe', '.whl')
    -    excluded_extensions = ('.pdf',)
    -
    -    # A list of tags indicating which wheels you want to match. The default
    -    # value of None matches against the tags compatible with the running
    -    # Python. If you want to match other values, set wheel_tags on a locator
    -    # instance to a list of tuples (pyver, abi, arch) which you want to match.
    -    wheel_tags = None
    -
    -    downloadable_extensions = source_extensions + ('.whl',)
    -
    -    def __init__(self, scheme='default'):
    -        """
    -        Initialise an instance.
    -        :param scheme: Because locators look for most recent versions, they
    -                       need to know the version scheme to use. This specifies
    -                       the current PEP-recommended scheme - use ``'legacy'``
    -                       if you need to support existing distributions on PyPI.
    -        """
    -        self._cache = {}
    -        self.scheme = scheme
    -        # Because of bugs in some of the handlers on some of the platforms,
    -        # we use our own opener rather than just using urlopen.
    -        self.opener = build_opener(RedirectHandler())
    -        # If get_project() is called from locate(), the matcher instance
    -        # is set from the requirement passed to locate(). See issue #18 for
    -        # why this can be useful to know.
    -        self.matcher = None
    -        self.errors = queue.Queue()
    -
    -    def get_errors(self):
    -        """
    -        Return any errors which have occurred.
    -        """
    -        result = []
    -        while not self.errors.empty():  # pragma: no cover
    -            try:
    -                e = self.errors.get(False)
    -                result.append(e)
    -            except self.errors.Empty:
    -                continue
    -            self.errors.task_done()
    -        return result
    -
    -    def clear_errors(self):
    -        """
    -        Clear any errors which may have been logged.
    -        """
    -        # Just get the errors and throw them away
    -        self.get_errors()
    -
    -    def clear_cache(self):
    -        self._cache.clear()
    -
    -    def _get_scheme(self):
    -        return self._scheme
    -
    -    def _set_scheme(self, value):
    -        self._scheme = value
    -
    -    scheme = property(_get_scheme, _set_scheme)
    -
    -    def _get_project(self, name):
    -        """
    -        For a given project, get a dictionary mapping available versions to Distribution
    -        instances.
    -
    -        This should be implemented in subclasses.
    -
    -        If called from a locate() request, self.matcher will be set to a
    -        matcher for the requirement to satisfy, otherwise it will be None.
    -        """
    -        raise NotImplementedError('Please implement in the subclass')
    -
    -    def get_distribution_names(self):
    -        """
    -        Return all the distribution names known to this locator.
    -        """
    -        raise NotImplementedError('Please implement in the subclass')
    -
    -    def get_project(self, name):
    -        """
    -        For a given project, get a dictionary mapping available versions to Distribution
    -        instances.
    -
    -        This calls _get_project to do all the work, and just implements a caching layer on top.
    -        """
    -        if self._cache is None:  # pragma: no cover
    -            result = self._get_project(name)
    -        elif name in self._cache:
    -            result = self._cache[name]
    -        else:
    -            self.clear_errors()
    -            result = self._get_project(name)
    -            self._cache[name] = result
    -        return result
    -
    -    def score_url(self, url):
    -        """
    -        Give an url a score which can be used to choose preferred URLs
    -        for a given project release.
    -        """
    -        t = urlparse(url)
    -        basename = posixpath.basename(t.path)
    -        compatible = True
    -        is_wheel = basename.endswith('.whl')
    -        is_downloadable = basename.endswith(self.downloadable_extensions)
    -        if is_wheel:
    -            compatible = is_compatible(Wheel(basename), self.wheel_tags)
    -        return (t.scheme == 'https', 'pypi.org' in t.netloc,
    -                is_downloadable, is_wheel, compatible, basename)
    -
    -    def prefer_url(self, url1, url2):
    -        """
    -        Choose one of two URLs where both are candidates for distribution
    -        archives for the same version of a distribution (for example,
    -        .tar.gz vs. zip).
    -
    -        The current implementation favours https:// URLs over http://, archives
    -        from PyPI over those from other locations, wheel compatibility (if a
    -        wheel) and then the archive name.
    -        """
    -        result = url2
    -        if url1:
    -            s1 = self.score_url(url1)
    -            s2 = self.score_url(url2)
    -            if s1 > s2:
    -                result = url1
    -            if result != url2:
    -                logger.debug('Not replacing %r with %r', url1, url2)
    -            else:
    -                logger.debug('Replacing %r with %r', url1, url2)
    -        return result
    -
    -    def split_filename(self, filename, project_name):
    -        """
    -        Attempt to split a filename in project name, version and Python version.
    -        """
    -        return split_filename(filename, project_name)
    -
    -    def convert_url_to_download_info(self, url, project_name):
    -        """
    -        See if a URL is a candidate for a download URL for a project (the URL
    -        has typically been scraped from an HTML page).
    -
    -        If it is, a dictionary is returned with keys "name", "version",
    -        "filename" and "url"; otherwise, None is returned.
    -        """
    -        def same_project(name1, name2):
    -            return normalize_name(name1) == normalize_name(name2)
    -
    -        result = None
    -        scheme, netloc, path, params, query, frag = urlparse(url)
    -        if frag.lower().startswith('egg='):  # pragma: no cover
    -            logger.debug('%s: version hint in fragment: %r',
    -                         project_name, frag)
    -        m = HASHER_HASH.match(frag)
    -        if m:
    -            algo, digest = m.groups()
    -        else:
    -            algo, digest = None, None
    -        origpath = path
    -        if path and path[-1] == '/':  # pragma: no cover
    -            path = path[:-1]
    -        if path.endswith('.whl'):
    -            try:
    -                wheel = Wheel(path)
    -                if not is_compatible(wheel, self.wheel_tags):
    -                    logger.debug('Wheel not compatible: %s', path)
    -                else:
    -                    if project_name is None:
    -                        include = True
    -                    else:
    -                        include = same_project(wheel.name, project_name)
    -                    if include:
    -                        result = {
    -                            'name': wheel.name,
    -                            'version': wheel.version,
    -                            'filename': wheel.filename,
    -                            'url': urlunparse((scheme, netloc, origpath,
    -                                               params, query, '')),
    -                            'python-version': ', '.join(
    -                                ['.'.join(list(v[2:])) for v in wheel.pyver]),
    -                        }
    -            except Exception as e:  # pragma: no cover
    -                logger.warning('invalid path for wheel: %s', path)
    -        elif not path.endswith(self.downloadable_extensions):  # pragma: no cover
    -            logger.debug('Not downloadable: %s', path)
    -        else:  # downloadable extension
    -            path = filename = posixpath.basename(path)
    -            for ext in self.downloadable_extensions:
    -                if path.endswith(ext):
    -                    path = path[:-len(ext)]
    -                    t = self.split_filename(path, project_name)
    -                    if not t:  # pragma: no cover
    -                        logger.debug('No match for project/version: %s', path)
    -                    else:
    -                        name, version, pyver = t
    -                        if not project_name or same_project(project_name, name):
    -                            result = {
    -                                'name': name,
    -                                'version': version,
    -                                'filename': filename,
    -                                'url': urlunparse((scheme, netloc, origpath,
    -                                                   params, query, '')),
    -                                #'packagetype': 'sdist',
    -                            }
    -                            if pyver:  # pragma: no cover
    -                                result['python-version'] = pyver
    -                    break
    -        if result and algo:
    -            result['%s_digest' % algo] = digest
    -        return result
    -
    -    def _get_digest(self, info):
    -        """
    -        Get a digest from a dictionary by looking at keys of the form
    -        'algo_digest'.
    -
    -        Returns a 2-tuple (algo, digest) if found, else None. Currently
    -        looks only for SHA256, then MD5.
    -        """
    -        result = None
    -        for algo in ('sha256', 'md5'):
    -            key = '%s_digest' % algo
    -            if key in info:
    -                result = (algo, info[key])
    -                break
    -        return result
    -
    -    def _update_version_data(self, result, info):
    -        """
    -        Update a result dictionary (the final result from _get_project) with a
    -        dictionary for a specific version, which typically holds information
    -        gleaned from a filename or URL for an archive for the distribution.
    -        """
    -        name = info.pop('name')
    -        version = info.pop('version')
    -        if version in result:
    -            dist = result[version]
    -            md = dist.metadata
    -        else:
    -            dist = make_dist(name, version, scheme=self.scheme)
    -            md = dist.metadata
    -        dist.digest = digest = self._get_digest(info)
    -        url = info['url']
    -        result['digests'][url] = digest
    -        if md.source_url != info['url']:
    -            md.source_url = self.prefer_url(md.source_url, url)
    -            result['urls'].setdefault(version, set()).add(url)
    -        dist.locator = self
    -        result[version] = dist
    -
    -    def locate(self, requirement, prereleases=False):
    -        """
    -        Find the most recent distribution which matches the given
    -        requirement.
    -
    -        :param requirement: A requirement of the form 'foo (1.0)' or perhaps
    -                            'foo (>= 1.0, < 2.0, != 1.3)'
    -        :param prereleases: If ``True``, allow pre-release versions
    -                            to be located. Otherwise, pre-release versions
    -                            are not returned.
    -        :return: A :class:`Distribution` instance, or ``None`` if no such
    -                 distribution could be located.
    -        """
    -        result = None
    -        r = parse_requirement(requirement)
    -        if r is None:  # pragma: no cover
    -            raise DistlibException('Not a valid requirement: %r' % requirement)
    -        scheme = get_scheme(self.scheme)
    -        self.matcher = matcher = scheme.matcher(r.requirement)
    -        logger.debug('matcher: %s (%s)', matcher, type(matcher).__name__)
    -        versions = self.get_project(r.name)
    -        if len(versions) > 2:   # urls and digests keys are present
    -            # sometimes, versions are invalid
    -            slist = []
    -            vcls = matcher.version_class
    -            for k in versions:
    -                if k in ('urls', 'digests'):
    -                    continue
    -                try:
    -                    if not matcher.match(k):
    -                        logger.debug('%s did not match %r', matcher, k)
    -                    else:
    -                        if prereleases or not vcls(k).is_prerelease:
    -                            slist.append(k)
    -                        else:
    -                            logger.debug('skipping pre-release '
    -                                         'version %s of %s', k, matcher.name)
    -                except Exception:  # pragma: no cover
    -                    logger.warning('error matching %s with %r', matcher, k)
    -                    pass # slist.append(k)
    -            if len(slist) > 1:
    -                slist = sorted(slist, key=scheme.key)
    -            if slist:
    -                logger.debug('sorted list: %s', slist)
    -                version = slist[-1]
    -                result = versions[version]
    -        if result:
    -            if r.extras:
    -                result.extras = r.extras
    -            result.download_urls = versions.get('urls', {}).get(version, set())
    -            d = {}
    -            sd = versions.get('digests', {})
    -            for url in result.download_urls:
    -                if url in sd:  # pragma: no cover
    -                    d[url] = sd[url]
    -            result.digests = d
    -        self.matcher = None
    -        return result
    -
    -
    -class PyPIRPCLocator(Locator):
    -    """
    -    This locator uses XML-RPC to locate distributions. It therefore
    -    cannot be used with simple mirrors (that only mirror file content).
    -    """
    -    def __init__(self, url, **kwargs):
    -        """
    -        Initialise an instance.
    -
    -        :param url: The URL to use for XML-RPC.
    -        :param kwargs: Passed to the superclass constructor.
    -        """
    -        super(PyPIRPCLocator, self).__init__(**kwargs)
    -        self.base_url = url
    -        self.client = ServerProxy(url, timeout=3.0)
    -
    -    def get_distribution_names(self):
    -        """
    -        Return all the distribution names known to this locator.
    -        """
    -        return set(self.client.list_packages())
    -
    -    def _get_project(self, name):
    -        result = {'urls': {}, 'digests': {}}
    -        versions = self.client.package_releases(name, True)
    -        for v in versions:
    -            urls = self.client.release_urls(name, v)
    -            data = self.client.release_data(name, v)
    -            metadata = Metadata(scheme=self.scheme)
    -            metadata.name = data['name']
    -            metadata.version = data['version']
    -            metadata.license = data.get('license')
    -            metadata.keywords = data.get('keywords', [])
    -            metadata.summary = data.get('summary')
    -            dist = Distribution(metadata)
    -            if urls:
    -                info = urls[0]
    -                metadata.source_url = info['url']
    -                dist.digest = self._get_digest(info)
    -                dist.locator = self
    -                result[v] = dist
    -                for info in urls:
    -                    url = info['url']
    -                    digest = self._get_digest(info)
    -                    result['urls'].setdefault(v, set()).add(url)
    -                    result['digests'][url] = digest
    -        return result
    -
    -class PyPIJSONLocator(Locator):
    -    """
    -    This locator uses PyPI's JSON interface. It's very limited in functionality
    -    and probably not worth using.
    -    """
    -    def __init__(self, url, **kwargs):
    -        super(PyPIJSONLocator, self).__init__(**kwargs)
    -        self.base_url = ensure_slash(url)
    -
    -    def get_distribution_names(self):
    -        """
    -        Return all the distribution names known to this locator.
    -        """
    -        raise NotImplementedError('Not available from this locator')
    -
    -    def _get_project(self, name):
    -        result = {'urls': {}, 'digests': {}}
    -        url = urljoin(self.base_url, '%s/json' % quote(name))
    -        try:
    -            resp = self.opener.open(url)
    -            data = resp.read().decode() # for now
    -            d = json.loads(data)
    -            md = Metadata(scheme=self.scheme)
    -            data = d['info']
    -            md.name = data['name']
    -            md.version = data['version']
    -            md.license = data.get('license')
    -            md.keywords = data.get('keywords', [])
    -            md.summary = data.get('summary')
    -            dist = Distribution(md)
    -            dist.locator = self
    -            urls = d['urls']
    -            result[md.version] = dist
    -            for info in d['urls']:
    -                url = info['url']
    -                dist.download_urls.add(url)
    -                dist.digests[url] = self._get_digest(info)
    -                result['urls'].setdefault(md.version, set()).add(url)
    -                result['digests'][url] = self._get_digest(info)
    -            # Now get other releases
    -            for version, infos in d['releases'].items():
    -                if version == md.version:
    -                    continue    # already done
    -                omd = Metadata(scheme=self.scheme)
    -                omd.name = md.name
    -                omd.version = version
    -                odist = Distribution(omd)
    -                odist.locator = self
    -                result[version] = odist
    -                for info in infos:
    -                    url = info['url']
    -                    odist.download_urls.add(url)
    -                    odist.digests[url] = self._get_digest(info)
    -                    result['urls'].setdefault(version, set()).add(url)
    -                    result['digests'][url] = self._get_digest(info)
    -#            for info in urls:
    -#                md.source_url = info['url']
    -#                dist.digest = self._get_digest(info)
    -#                dist.locator = self
    -#                for info in urls:
    -#                    url = info['url']
    -#                    result['urls'].setdefault(md.version, set()).add(url)
    -#                    result['digests'][url] = self._get_digest(info)
    -        except Exception as e:
    -            self.errors.put(text_type(e))
    -            logger.exception('JSON fetch failed: %s', e)
    -        return result
    -
    -
    -class Page(object):
    -    """
    -    This class represents a scraped HTML page.
    -    """
    -    # The following slightly hairy-looking regex just looks for the contents of
    -    # an anchor link, which has an attribute "href" either immediately preceded
    -    # or immediately followed by a "rel" attribute. The attribute values can be
    -    # declared with double quotes, single quotes or no quotes - which leads to
    -    # the length of the expression.
    -    _href = re.compile("""
    -(rel\\s*=\\s*(?:"(?P[^"]*)"|'(?P[^']*)'|(?P[^>\\s\n]*))\\s+)?
    -href\\s*=\\s*(?:"(?P[^"]*)"|'(?P[^']*)'|(?P[^>\\s\n]*))
    -(\\s+rel\\s*=\\s*(?:"(?P[^"]*)"|'(?P[^']*)'|(?P[^>\\s\n]*)))?
    -""", re.I | re.S | re.X)
    -    _base = re.compile(r"""]+)""", re.I | re.S)
    -
    -    def __init__(self, data, url):
    -        """
    -        Initialise an instance with the Unicode page contents and the URL they
    -        came from.
    -        """
    -        self.data = data
    -        self.base_url = self.url = url
    -        m = self._base.search(self.data)
    -        if m:
    -            self.base_url = m.group(1)
    -
    -    _clean_re = re.compile(r'[^a-z0-9$&+,/:;=?@.#%_\\|-]', re.I)
    -
    -    @cached_property
    -    def links(self):
    -        """
    -        Return the URLs of all the links on a page together with information
    -        about their "rel" attribute, for determining which ones to treat as
    -        downloads and which ones to queue for further scraping.
    -        """
    -        def clean(url):
    -            "Tidy up an URL."
    -            scheme, netloc, path, params, query, frag = urlparse(url)
    -            return urlunparse((scheme, netloc, quote(path),
    -                               params, query, frag))
    -
    -        result = set()
    -        for match in self._href.finditer(self.data):
    -            d = match.groupdict('')
    -            rel = (d['rel1'] or d['rel2'] or d['rel3'] or
    -                   d['rel4'] or d['rel5'] or d['rel6'])
    -            url = d['url1'] or d['url2'] or d['url3']
    -            url = urljoin(self.base_url, url)
    -            url = unescape(url)
    -            url = self._clean_re.sub(lambda m: '%%%2x' % ord(m.group(0)), url)
    -            result.add((url, rel))
    -        # We sort the result, hoping to bring the most recent versions
    -        # to the front
    -        result = sorted(result, key=lambda t: t[0], reverse=True)
    -        return result
    -
    -
    -class SimpleScrapingLocator(Locator):
    -    """
    -    A locator which scrapes HTML pages to locate downloads for a distribution.
    -    This runs multiple threads to do the I/O; performance is at least as good
    -    as pip's PackageFinder, which works in an analogous fashion.
    -    """
    -
    -    # These are used to deal with various Content-Encoding schemes.
    -    decoders = {
    -        'deflate': zlib.decompress,
    -        'gzip': lambda b: gzip.GzipFile(fileobj=BytesIO(d)).read(),
    -        'none': lambda b: b,
    -    }
    -
    -    def __init__(self, url, timeout=None, num_workers=10, **kwargs):
    -        """
    -        Initialise an instance.
    -        :param url: The root URL to use for scraping.
    -        :param timeout: The timeout, in seconds, to be applied to requests.
    -                        This defaults to ``None`` (no timeout specified).
    -        :param num_workers: The number of worker threads you want to do I/O,
    -                            This defaults to 10.
    -        :param kwargs: Passed to the superclass.
    -        """
    -        super(SimpleScrapingLocator, self).__init__(**kwargs)
    -        self.base_url = ensure_slash(url)
    -        self.timeout = timeout
    -        self._page_cache = {}
    -        self._seen = set()
    -        self._to_fetch = queue.Queue()
    -        self._bad_hosts = set()
    -        self.skip_externals = False
    -        self.num_workers = num_workers
    -        self._lock = threading.RLock()
    -        # See issue #45: we need to be resilient when the locator is used
    -        # in a thread, e.g. with concurrent.futures. We can't use self._lock
    -        # as it is for coordinating our internal threads - the ones created
    -        # in _prepare_threads.
    -        self._gplock = threading.RLock()
    -        self.platform_check = False  # See issue #112
    -
    -    def _prepare_threads(self):
    -        """
    -        Threads are created only when get_project is called, and terminate
    -        before it returns. They are there primarily to parallelise I/O (i.e.
    -        fetching web pages).
    -        """
    -        self._threads = []
    -        for i in range(self.num_workers):
    -            t = threading.Thread(target=self._fetch)
    -            t.setDaemon(True)
    -            t.start()
    -            self._threads.append(t)
    -
    -    def _wait_threads(self):
    -        """
    -        Tell all the threads to terminate (by sending a sentinel value) and
    -        wait for them to do so.
    -        """
    -        # Note that you need two loops, since you can't say which
    -        # thread will get each sentinel
    -        for t in self._threads:
    -            self._to_fetch.put(None)    # sentinel
    -        for t in self._threads:
    -            t.join()
    -        self._threads = []
    -
    -    def _get_project(self, name):
    -        result = {'urls': {}, 'digests': {}}
    -        with self._gplock:
    -            self.result = result
    -            self.project_name = name
    -            url = urljoin(self.base_url, '%s/' % quote(name))
    -            self._seen.clear()
    -            self._page_cache.clear()
    -            self._prepare_threads()
    -            try:
    -                logger.debug('Queueing %s', url)
    -                self._to_fetch.put(url)
    -                self._to_fetch.join()
    -            finally:
    -                self._wait_threads()
    -            del self.result
    -        return result
    -
    -    platform_dependent = re.compile(r'\b(linux_(i\d86|x86_64|arm\w+)|'
    -                                    r'win(32|_amd64)|macosx_?\d+)\b', re.I)
    -
    -    def _is_platform_dependent(self, url):
    -        """
    -        Does an URL refer to a platform-specific download?
    -        """
    -        return self.platform_dependent.search(url)
    -
    -    def _process_download(self, url):
    -        """
    -        See if an URL is a suitable download for a project.
    -
    -        If it is, register information in the result dictionary (for
    -        _get_project) about the specific version it's for.
    -
    -        Note that the return value isn't actually used other than as a boolean
    -        value.
    -        """
    -        if self.platform_check and self._is_platform_dependent(url):
    -            info = None
    -        else:
    -            info = self.convert_url_to_download_info(url, self.project_name)
    -        logger.debug('process_download: %s -> %s', url, info)
    -        if info:
    -            with self._lock:    # needed because self.result is shared
    -                self._update_version_data(self.result, info)
    -        return info
    -
    -    def _should_queue(self, link, referrer, rel):
    -        """
    -        Determine whether a link URL from a referring page and with a
    -        particular "rel" attribute should be queued for scraping.
    -        """
    -        scheme, netloc, path, _, _, _ = urlparse(link)
    -        if path.endswith(self.source_extensions + self.binary_extensions +
    -                         self.excluded_extensions):
    -            result = False
    -        elif self.skip_externals and not link.startswith(self.base_url):
    -            result = False
    -        elif not referrer.startswith(self.base_url):
    -            result = False
    -        elif rel not in ('homepage', 'download'):
    -            result = False
    -        elif scheme not in ('http', 'https', 'ftp'):
    -            result = False
    -        elif self._is_platform_dependent(link):
    -            result = False
    -        else:
    -            host = netloc.split(':', 1)[0]
    -            if host.lower() == 'localhost':
    -                result = False
    -            else:
    -                result = True
    -        logger.debug('should_queue: %s (%s) from %s -> %s', link, rel,
    -                     referrer, result)
    -        return result
    -
    -    def _fetch(self):
    -        """
    -        Get a URL to fetch from the work queue, get the HTML page, examine its
    -        links for download candidates and candidates for further scraping.
    -
    -        This is a handy method to run in a thread.
    -        """
    -        while True:
    -            url = self._to_fetch.get()
    -            try:
    -                if url:
    -                    page = self.get_page(url)
    -                    if page is None:    # e.g. after an error
    -                        continue
    -                    for link, rel in page.links:
    -                        if link not in self._seen:
    -                            try:
    -                                self._seen.add(link)
    -                                if (not self._process_download(link) and
    -                                    self._should_queue(link, url, rel)):
    -                                    logger.debug('Queueing %s from %s', link, url)
    -                                    self._to_fetch.put(link)
    -                            except MetadataInvalidError:  # e.g. invalid versions
    -                                pass
    -            except Exception as e:  # pragma: no cover
    -                self.errors.put(text_type(e))
    -            finally:
    -                # always do this, to avoid hangs :-)
    -                self._to_fetch.task_done()
    -            if not url:
    -                #logger.debug('Sentinel seen, quitting.')
    -                break
    -
    -    def get_page(self, url):
    -        """
    -        Get the HTML for an URL, possibly from an in-memory cache.
    -
    -        XXX TODO Note: this cache is never actually cleared. It's assumed that
    -        the data won't get stale over the lifetime of a locator instance (not
    -        necessarily true for the default_locator).
    -        """
    -        # http://peak.telecommunity.com/DevCenter/EasyInstall#package-index-api
    -        scheme, netloc, path, _, _, _ = urlparse(url)
    -        if scheme == 'file' and os.path.isdir(url2pathname(path)):
    -            url = urljoin(ensure_slash(url), 'index.html')
    -
    -        if url in self._page_cache:
    -            result = self._page_cache[url]
    -            logger.debug('Returning %s from cache: %s', url, result)
    -        else:
    -            host = netloc.split(':', 1)[0]
    -            result = None
    -            if host in self._bad_hosts:
    -                logger.debug('Skipping %s due to bad host %s', url, host)
    -            else:
    -                req = Request(url, headers={'Accept-encoding': 'identity'})
    -                try:
    -                    logger.debug('Fetching %s', url)
    -                    resp = self.opener.open(req, timeout=self.timeout)
    -                    logger.debug('Fetched %s', url)
    -                    headers = resp.info()
    -                    content_type = headers.get('Content-Type', '')
    -                    if HTML_CONTENT_TYPE.match(content_type):
    -                        final_url = resp.geturl()
    -                        data = resp.read()
    -                        encoding = headers.get('Content-Encoding')
    -                        if encoding:
    -                            decoder = self.decoders[encoding]   # fail if not found
    -                            data = decoder(data)
    -                        encoding = 'utf-8'
    -                        m = CHARSET.search(content_type)
    -                        if m:
    -                            encoding = m.group(1)
    -                        try:
    -                            data = data.decode(encoding)
    -                        except UnicodeError:  # pragma: no cover
    -                            data = data.decode('latin-1')    # fallback
    -                        result = Page(data, final_url)
    -                        self._page_cache[final_url] = result
    -                except HTTPError as e:
    -                    if e.code != 404:
    -                        logger.exception('Fetch failed: %s: %s', url, e)
    -                except URLError as e:  # pragma: no cover
    -                    logger.exception('Fetch failed: %s: %s', url, e)
    -                    with self._lock:
    -                        self._bad_hosts.add(host)
    -                except Exception as e:  # pragma: no cover
    -                    logger.exception('Fetch failed: %s: %s', url, e)
    -                finally:
    -                    self._page_cache[url] = result   # even if None (failure)
    -        return result
    -
    -    _distname_re = re.compile(']*>([^<]+)<')
    -
    -    def get_distribution_names(self):
    -        """
    -        Return all the distribution names known to this locator.
    -        """
    -        result = set()
    -        page = self.get_page(self.base_url)
    -        if not page:
    -            raise DistlibException('Unable to get %s' % self.base_url)
    -        for match in self._distname_re.finditer(page.data):
    -            result.add(match.group(1))
    -        return result
    -
    -class DirectoryLocator(Locator):
    -    """
    -    This class locates distributions in a directory tree.
    -    """
    -
    -    def __init__(self, path, **kwargs):
    -        """
    -        Initialise an instance.
    -        :param path: The root of the directory tree to search.
    -        :param kwargs: Passed to the superclass constructor,
    -                       except for:
    -                       * recursive - if True (the default), subdirectories are
    -                         recursed into. If False, only the top-level directory
    -                         is searched,
    -        """
    -        self.recursive = kwargs.pop('recursive', True)
    -        super(DirectoryLocator, self).__init__(**kwargs)
    -        path = os.path.abspath(path)
    -        if not os.path.isdir(path):  # pragma: no cover
    -            raise DistlibException('Not a directory: %r' % path)
    -        self.base_dir = path
    -
    -    def should_include(self, filename, parent):
    -        """
    -        Should a filename be considered as a candidate for a distribution
    -        archive? As well as the filename, the directory which contains it
    -        is provided, though not used by the current implementation.
    -        """
    -        return filename.endswith(self.downloadable_extensions)
    -
    -    def _get_project(self, name):
    -        result = {'urls': {}, 'digests': {}}
    -        for root, dirs, files in os.walk(self.base_dir):
    -            for fn in files:
    -                if self.should_include(fn, root):
    -                    fn = os.path.join(root, fn)
    -                    url = urlunparse(('file', '',
    -                                      pathname2url(os.path.abspath(fn)),
    -                                      '', '', ''))
    -                    info = self.convert_url_to_download_info(url, name)
    -                    if info:
    -                        self._update_version_data(result, info)
    -            if not self.recursive:
    -                break
    -        return result
    -
    -    def get_distribution_names(self):
    -        """
    -        Return all the distribution names known to this locator.
    -        """
    -        result = set()
    -        for root, dirs, files in os.walk(self.base_dir):
    -            for fn in files:
    -                if self.should_include(fn, root):
    -                    fn = os.path.join(root, fn)
    -                    url = urlunparse(('file', '',
    -                                      pathname2url(os.path.abspath(fn)),
    -                                      '', '', ''))
    -                    info = self.convert_url_to_download_info(url, None)
    -                    if info:
    -                        result.add(info['name'])
    -            if not self.recursive:
    -                break
    -        return result
    -
    -class JSONLocator(Locator):
    -    """
    -    This locator uses special extended metadata (not available on PyPI) and is
    -    the basis of performant dependency resolution in distlib. Other locators
    -    require archive downloads before dependencies can be determined! As you
    -    might imagine, that can be slow.
    -    """
    -    def get_distribution_names(self):
    -        """
    -        Return all the distribution names known to this locator.
    -        """
    -        raise NotImplementedError('Not available from this locator')
    -
    -    def _get_project(self, name):
    -        result = {'urls': {}, 'digests': {}}
    -        data = get_project_data(name)
    -        if data:
    -            for info in data.get('files', []):
    -                if info['ptype'] != 'sdist' or info['pyversion'] != 'source':
    -                    continue
    -                # We don't store summary in project metadata as it makes
    -                # the data bigger for no benefit during dependency
    -                # resolution
    -                dist = make_dist(data['name'], info['version'],
    -                                 summary=data.get('summary',
    -                                                  'Placeholder for summary'),
    -                                 scheme=self.scheme)
    -                md = dist.metadata
    -                md.source_url = info['url']
    -                # TODO SHA256 digest
    -                if 'digest' in info and info['digest']:
    -                    dist.digest = ('md5', info['digest'])
    -                md.dependencies = info.get('requirements', {})
    -                dist.exports = info.get('exports', {})
    -                result[dist.version] = dist
    -                result['urls'].setdefault(dist.version, set()).add(info['url'])
    -        return result
    -
    -class DistPathLocator(Locator):
    -    """
    -    This locator finds installed distributions in a path. It can be useful for
    -    adding to an :class:`AggregatingLocator`.
    -    """
    -    def __init__(self, distpath, **kwargs):
    -        """
    -        Initialise an instance.
    -
    -        :param distpath: A :class:`DistributionPath` instance to search.
    -        """
    -        super(DistPathLocator, self).__init__(**kwargs)
    -        assert isinstance(distpath, DistributionPath)
    -        self.distpath = distpath
    -
    -    def _get_project(self, name):
    -        dist = self.distpath.get_distribution(name)
    -        if dist is None:
    -            result = {'urls': {}, 'digests': {}}
    -        else:
    -            result = {
    -                dist.version: dist,
    -                'urls': {dist.version: set([dist.source_url])},
    -                'digests': {dist.version: set([None])}
    -            }
    -        return result
    -
    -
    -class AggregatingLocator(Locator):
    -    """
    -    This class allows you to chain and/or merge a list of locators.
    -    """
    -    def __init__(self, *locators, **kwargs):
    -        """
    -        Initialise an instance.
    -
    -        :param locators: The list of locators to search.
    -        :param kwargs: Passed to the superclass constructor,
    -                       except for:
    -                       * merge - if False (the default), the first successful
    -                         search from any of the locators is returned. If True,
    -                         the results from all locators are merged (this can be
    -                         slow).
    -        """
    -        self.merge = kwargs.pop('merge', False)
    -        self.locators = locators
    -        super(AggregatingLocator, self).__init__(**kwargs)
    -
    -    def clear_cache(self):
    -        super(AggregatingLocator, self).clear_cache()
    -        for locator in self.locators:
    -            locator.clear_cache()
    -
    -    def _set_scheme(self, value):
    -        self._scheme = value
    -        for locator in self.locators:
    -            locator.scheme = value
    -
    -    scheme = property(Locator.scheme.fget, _set_scheme)
    -
    -    def _get_project(self, name):
    -        result = {}
    -        for locator in self.locators:
    -            d = locator.get_project(name)
    -            if d:
    -                if self.merge:
    -                    files = result.get('urls', {})
    -                    digests = result.get('digests', {})
    -                    # next line could overwrite result['urls'], result['digests']
    -                    result.update(d)
    -                    df = result.get('urls')
    -                    if files and df:
    -                        for k, v in files.items():
    -                            if k in df:
    -                                df[k] |= v
    -                            else:
    -                                df[k] = v
    -                    dd = result.get('digests')
    -                    if digests and dd:
    -                        dd.update(digests)
    -                else:
    -                    # See issue #18. If any dists are found and we're looking
    -                    # for specific constraints, we only return something if
    -                    # a match is found. For example, if a DirectoryLocator
    -                    # returns just foo (1.0) while we're looking for
    -                    # foo (>= 2.0), we'll pretend there was nothing there so
    -                    # that subsequent locators can be queried. Otherwise we
    -                    # would just return foo (1.0) which would then lead to a
    -                    # failure to find foo (>= 2.0), because other locators
    -                    # weren't searched. Note that this only matters when
    -                    # merge=False.
    -                    if self.matcher is None:
    -                        found = True
    -                    else:
    -                        found = False
    -                        for k in d:
    -                            if self.matcher.match(k):
    -                                found = True
    -                                break
    -                    if found:
    -                        result = d
    -                        break
    -        return result
    -
    -    def get_distribution_names(self):
    -        """
    -        Return all the distribution names known to this locator.
    -        """
    -        result = set()
    -        for locator in self.locators:
    -            try:
    -                result |= locator.get_distribution_names()
    -            except NotImplementedError:
    -                pass
    -        return result
    -
    -
    -# We use a legacy scheme simply because most of the dists on PyPI use legacy
    -# versions which don't conform to PEP 426 / PEP 440.
    -default_locator = AggregatingLocator(
    -                    JSONLocator(),
    -                    SimpleScrapingLocator('https://pypi.org/simple/',
    -                                          timeout=3.0),
    -                    scheme='legacy')
    -
    -locate = default_locator.locate
    -
    -NAME_VERSION_RE = re.compile(r'(?P[\w-]+)\s*'
    -                             r'\(\s*(==\s*)?(?P[^)]+)\)$')
    -
    -class DependencyFinder(object):
    -    """
    -    Locate dependencies for distributions.
    -    """
    -
    -    def __init__(self, locator=None):
    -        """
    -        Initialise an instance, using the specified locator
    -        to locate distributions.
    -        """
    -        self.locator = locator or default_locator
    -        self.scheme = get_scheme(self.locator.scheme)
    -
    -    def add_distribution(self, dist):
    -        """
    -        Add a distribution to the finder. This will update internal information
    -        about who provides what.
    -        :param dist: The distribution to add.
    -        """
    -        logger.debug('adding distribution %s', dist)
    -        name = dist.key
    -        self.dists_by_name[name] = dist
    -        self.dists[(name, dist.version)] = dist
    -        for p in dist.provides:
    -            name, version = parse_name_and_version(p)
    -            logger.debug('Add to provided: %s, %s, %s', name, version, dist)
    -            self.provided.setdefault(name, set()).add((version, dist))
    -
    -    def remove_distribution(self, dist):
    -        """
    -        Remove a distribution from the finder. This will update internal
    -        information about who provides what.
    -        :param dist: The distribution to remove.
    -        """
    -        logger.debug('removing distribution %s', dist)
    -        name = dist.key
    -        del self.dists_by_name[name]
    -        del self.dists[(name, dist.version)]
    -        for p in dist.provides:
    -            name, version = parse_name_and_version(p)
    -            logger.debug('Remove from provided: %s, %s, %s', name, version, dist)
    -            s = self.provided[name]
    -            s.remove((version, dist))
    -            if not s:
    -                del self.provided[name]
    -
    -    def get_matcher(self, reqt):
    -        """
    -        Get a version matcher for a requirement.
    -        :param reqt: The requirement
    -        :type reqt: str
    -        :return: A version matcher (an instance of
    -                 :class:`distlib.version.Matcher`).
    -        """
    -        try:
    -            matcher = self.scheme.matcher(reqt)
    -        except UnsupportedVersionError:  # pragma: no cover
    -            # XXX compat-mode if cannot read the version
    -            name = reqt.split()[0]
    -            matcher = self.scheme.matcher(name)
    -        return matcher
    -
    -    def find_providers(self, reqt):
    -        """
    -        Find the distributions which can fulfill a requirement.
    -
    -        :param reqt: The requirement.
    -         :type reqt: str
    -        :return: A set of distribution which can fulfill the requirement.
    -        """
    -        matcher = self.get_matcher(reqt)
    -        name = matcher.key   # case-insensitive
    -        result = set()
    -        provided = self.provided
    -        if name in provided:
    -            for version, provider in provided[name]:
    -                try:
    -                    match = matcher.match(version)
    -                except UnsupportedVersionError:
    -                    match = False
    -
    -                if match:
    -                    result.add(provider)
    -                    break
    -        return result
    -
    -    def try_to_replace(self, provider, other, problems):
    -        """
    -        Attempt to replace one provider with another. This is typically used
    -        when resolving dependencies from multiple sources, e.g. A requires
    -        (B >= 1.0) while C requires (B >= 1.1).
    -
    -        For successful replacement, ``provider`` must meet all the requirements
    -        which ``other`` fulfills.
    -
    -        :param provider: The provider we are trying to replace with.
    -        :param other: The provider we're trying to replace.
    -        :param problems: If False is returned, this will contain what
    -                         problems prevented replacement. This is currently
    -                         a tuple of the literal string 'cantreplace',
    -                         ``provider``, ``other``  and the set of requirements
    -                         that ``provider`` couldn't fulfill.
    -        :return: True if we can replace ``other`` with ``provider``, else
    -                 False.
    -        """
    -        rlist = self.reqts[other]
    -        unmatched = set()
    -        for s in rlist:
    -            matcher = self.get_matcher(s)
    -            if not matcher.match(provider.version):
    -                unmatched.add(s)
    -        if unmatched:
    -            # can't replace other with provider
    -            problems.add(('cantreplace', provider, other,
    -                          frozenset(unmatched)))
    -            result = False
    -        else:
    -            # can replace other with provider
    -            self.remove_distribution(other)
    -            del self.reqts[other]
    -            for s in rlist:
    -                self.reqts.setdefault(provider, set()).add(s)
    -            self.add_distribution(provider)
    -            result = True
    -        return result
    -
    -    def find(self, requirement, meta_extras=None, prereleases=False):
    -        """
    -        Find a distribution and all distributions it depends on.
    -
    -        :param requirement: The requirement specifying the distribution to
    -                            find, or a Distribution instance.
    -        :param meta_extras: A list of meta extras such as :test:, :build: and
    -                            so on.
    -        :param prereleases: If ``True``, allow pre-release versions to be
    -                            returned - otherwise, don't return prereleases
    -                            unless they're all that's available.
    -
    -        Return a set of :class:`Distribution` instances and a set of
    -        problems.
    -
    -        The distributions returned should be such that they have the
    -        :attr:`required` attribute set to ``True`` if they were
    -        from the ``requirement`` passed to ``find()``, and they have the
    -        :attr:`build_time_dependency` attribute set to ``True`` unless they
    -        are post-installation dependencies of the ``requirement``.
    -
    -        The problems should be a tuple consisting of the string
    -        ``'unsatisfied'`` and the requirement which couldn't be satisfied
    -        by any distribution known to the locator.
    -        """
    -
    -        self.provided = {}
    -        self.dists = {}
    -        self.dists_by_name = {}
    -        self.reqts = {}
    -
    -        meta_extras = set(meta_extras or [])
    -        if ':*:' in meta_extras:
    -            meta_extras.remove(':*:')
    -            # :meta: and :run: are implicitly included
    -            meta_extras |= set([':test:', ':build:', ':dev:'])
    -
    -        if isinstance(requirement, Distribution):
    -            dist = odist = requirement
    -            logger.debug('passed %s as requirement', odist)
    -        else:
    -            dist = odist = self.locator.locate(requirement,
    -                                               prereleases=prereleases)
    -            if dist is None:
    -                raise DistlibException('Unable to locate %r' % requirement)
    -            logger.debug('located %s', odist)
    -        dist.requested = True
    -        problems = set()
    -        todo = set([dist])
    -        install_dists = set([odist])
    -        while todo:
    -            dist = todo.pop()
    -            name = dist.key     # case-insensitive
    -            if name not in self.dists_by_name:
    -                self.add_distribution(dist)
    -            else:
    -                #import pdb; pdb.set_trace()
    -                other = self.dists_by_name[name]
    -                if other != dist:
    -                    self.try_to_replace(dist, other, problems)
    -
    -            ireqts = dist.run_requires | dist.meta_requires
    -            sreqts = dist.build_requires
    -            ereqts = set()
    -            if meta_extras and dist in install_dists:
    -                for key in ('test', 'build', 'dev'):
    -                    e = ':%s:' % key
    -                    if e in meta_extras:
    -                        ereqts |= getattr(dist, '%s_requires' % key)
    -            all_reqts = ireqts | sreqts | ereqts
    -            for r in all_reqts:
    -                providers = self.find_providers(r)
    -                if not providers:
    -                    logger.debug('No providers found for %r', r)
    -                    provider = self.locator.locate(r, prereleases=prereleases)
    -                    # If no provider is found and we didn't consider
    -                    # prereleases, consider them now.
    -                    if provider is None and not prereleases:
    -                        provider = self.locator.locate(r, prereleases=True)
    -                    if provider is None:
    -                        logger.debug('Cannot satisfy %r', r)
    -                        problems.add(('unsatisfied', r))
    -                    else:
    -                        n, v = provider.key, provider.version
    -                        if (n, v) not in self.dists:
    -                            todo.add(provider)
    -                        providers.add(provider)
    -                        if r in ireqts and dist in install_dists:
    -                            install_dists.add(provider)
    -                            logger.debug('Adding %s to install_dists',
    -                                         provider.name_and_version)
    -                for p in providers:
    -                    name = p.key
    -                    if name not in self.dists_by_name:
    -                        self.reqts.setdefault(p, set()).add(r)
    -                    else:
    -                        other = self.dists_by_name[name]
    -                        if other != p:
    -                            # see if other can be replaced by p
    -                            self.try_to_replace(p, other, problems)
    -
    -        dists = set(self.dists.values())
    -        for dist in dists:
    -            dist.build_time_dependency = dist not in install_dists
    -            if dist.build_time_dependency:
    -                logger.debug('%s is a build-time dependency only.',
    -                             dist.name_and_version)
    -        logger.debug('find done for %s', odist)
    -        return dists, problems
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/manifest.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/manifest.py
    deleted file mode 100644
    index ca0fe44..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/manifest.py
    +++ /dev/null
    @@ -1,393 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2012-2013 Python Software Foundation.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -"""
    -Class representing the list of files in a distribution.
    -
    -Equivalent to distutils.filelist, but fixes some problems.
    -"""
    -import fnmatch
    -import logging
    -import os
    -import re
    -import sys
    -
    -from . import DistlibException
    -from .compat import fsdecode
    -from .util import convert_path
    -
    -
    -__all__ = ['Manifest']
    -
    -logger = logging.getLogger(__name__)
    -
    -# a \ followed by some spaces + EOL
    -_COLLAPSE_PATTERN = re.compile('\\\\w*\n', re.M)
    -_COMMENTED_LINE = re.compile('#.*?(?=\n)|\n(?=$)', re.M | re.S)
    -
    -#
    -# Due to the different results returned by fnmatch.translate, we need
    -# to do slightly different processing for Python 2.7 and 3.2 ... this needed
    -# to be brought in for Python 3.6 onwards.
    -#
    -_PYTHON_VERSION = sys.version_info[:2]
    -
    -class Manifest(object):
    -    """A list of files built by on exploring the filesystem and filtered by
    -    applying various patterns to what we find there.
    -    """
    -
    -    def __init__(self, base=None):
    -        """
    -        Initialise an instance.
    -
    -        :param base: The base directory to explore under.
    -        """
    -        self.base = os.path.abspath(os.path.normpath(base or os.getcwd()))
    -        self.prefix = self.base + os.sep
    -        self.allfiles = None
    -        self.files = set()
    -
    -    #
    -    # Public API
    -    #
    -
    -    def findall(self):
    -        """Find all files under the base and set ``allfiles`` to the absolute
    -        pathnames of files found.
    -        """
    -        from stat import S_ISREG, S_ISDIR, S_ISLNK
    -
    -        self.allfiles = allfiles = []
    -        root = self.base
    -        stack = [root]
    -        pop = stack.pop
    -        push = stack.append
    -
    -        while stack:
    -            root = pop()
    -            names = os.listdir(root)
    -
    -            for name in names:
    -                fullname = os.path.join(root, name)
    -
    -                # Avoid excess stat calls -- just one will do, thank you!
    -                stat = os.stat(fullname)
    -                mode = stat.st_mode
    -                if S_ISREG(mode):
    -                    allfiles.append(fsdecode(fullname))
    -                elif S_ISDIR(mode) and not S_ISLNK(mode):
    -                    push(fullname)
    -
    -    def add(self, item):
    -        """
    -        Add a file to the manifest.
    -
    -        :param item: The pathname to add. This can be relative to the base.
    -        """
    -        if not item.startswith(self.prefix):
    -            item = os.path.join(self.base, item)
    -        self.files.add(os.path.normpath(item))
    -
    -    def add_many(self, items):
    -        """
    -        Add a list of files to the manifest.
    -
    -        :param items: The pathnames to add. These can be relative to the base.
    -        """
    -        for item in items:
    -            self.add(item)
    -
    -    def sorted(self, wantdirs=False):
    -        """
    -        Return sorted files in directory order
    -        """
    -
    -        def add_dir(dirs, d):
    -            dirs.add(d)
    -            logger.debug('add_dir added %s', d)
    -            if d != self.base:
    -                parent, _ = os.path.split(d)
    -                assert parent not in ('', '/')
    -                add_dir(dirs, parent)
    -
    -        result = set(self.files)    # make a copy!
    -        if wantdirs:
    -            dirs = set()
    -            for f in result:
    -                add_dir(dirs, os.path.dirname(f))
    -            result |= dirs
    -        return [os.path.join(*path_tuple) for path_tuple in
    -                sorted(os.path.split(path) for path in result)]
    -
    -    def clear(self):
    -        """Clear all collected files."""
    -        self.files = set()
    -        self.allfiles = []
    -
    -    def process_directive(self, directive):
    -        """
    -        Process a directive which either adds some files from ``allfiles`` to
    -        ``files``, or removes some files from ``files``.
    -
    -        :param directive: The directive to process. This should be in a format
    -                     compatible with distutils ``MANIFEST.in`` files:
    -
    -                     http://docs.python.org/distutils/sourcedist.html#commands
    -        """
    -        # Parse the line: split it up, make sure the right number of words
    -        # is there, and return the relevant words.  'action' is always
    -        # defined: it's the first word of the line.  Which of the other
    -        # three are defined depends on the action; it'll be either
    -        # patterns, (dir and patterns), or (dirpattern).
    -        action, patterns, thedir, dirpattern = self._parse_directive(directive)
    -
    -        # OK, now we know that the action is valid and we have the
    -        # right number of words on the line for that action -- so we
    -        # can proceed with minimal error-checking.
    -        if action == 'include':
    -            for pattern in patterns:
    -                if not self._include_pattern(pattern, anchor=True):
    -                    logger.warning('no files found matching %r', pattern)
    -
    -        elif action == 'exclude':
    -            for pattern in patterns:
    -                found = self._exclude_pattern(pattern, anchor=True)
    -                #if not found:
    -                #    logger.warning('no previously-included files '
    -                #                   'found matching %r', pattern)
    -
    -        elif action == 'global-include':
    -            for pattern in patterns:
    -                if not self._include_pattern(pattern, anchor=False):
    -                    logger.warning('no files found matching %r '
    -                                   'anywhere in distribution', pattern)
    -
    -        elif action == 'global-exclude':
    -            for pattern in patterns:
    -                found = self._exclude_pattern(pattern, anchor=False)
    -                #if not found:
    -                #    logger.warning('no previously-included files '
    -                #                   'matching %r found anywhere in '
    -                #                   'distribution', pattern)
    -
    -        elif action == 'recursive-include':
    -            for pattern in patterns:
    -                if not self._include_pattern(pattern, prefix=thedir):
    -                    logger.warning('no files found matching %r '
    -                                   'under directory %r', pattern, thedir)
    -
    -        elif action == 'recursive-exclude':
    -            for pattern in patterns:
    -                found = self._exclude_pattern(pattern, prefix=thedir)
    -                #if not found:
    -                #    logger.warning('no previously-included files '
    -                #                   'matching %r found under directory %r',
    -                #                   pattern, thedir)
    -
    -        elif action == 'graft':
    -            if not self._include_pattern(None, prefix=dirpattern):
    -                logger.warning('no directories found matching %r',
    -                               dirpattern)
    -
    -        elif action == 'prune':
    -            if not self._exclude_pattern(None, prefix=dirpattern):
    -                logger.warning('no previously-included directories found '
    -                               'matching %r', dirpattern)
    -        else:   # pragma: no cover
    -            # This should never happen, as it should be caught in
    -            # _parse_template_line
    -            raise DistlibException(
    -                'invalid action %r' % action)
    -
    -    #
    -    # Private API
    -    #
    -
    -    def _parse_directive(self, directive):
    -        """
    -        Validate a directive.
    -        :param directive: The directive to validate.
    -        :return: A tuple of action, patterns, thedir, dir_patterns
    -        """
    -        words = directive.split()
    -        if len(words) == 1 and words[0] not in ('include', 'exclude',
    -                                                'global-include',
    -                                                'global-exclude',
    -                                                'recursive-include',
    -                                                'recursive-exclude',
    -                                                'graft', 'prune'):
    -            # no action given, let's use the default 'include'
    -            words.insert(0, 'include')
    -
    -        action = words[0]
    -        patterns = thedir = dir_pattern = None
    -
    -        if action in ('include', 'exclude',
    -                      'global-include', 'global-exclude'):
    -            if len(words) < 2:
    -                raise DistlibException(
    -                    '%r expects   ...' % action)
    -
    -            patterns = [convert_path(word) for word in words[1:]]
    -
    -        elif action in ('recursive-include', 'recursive-exclude'):
    -            if len(words) < 3:
    -                raise DistlibException(
    -                    '%r expects    ...' % action)
    -
    -            thedir = convert_path(words[1])
    -            patterns = [convert_path(word) for word in words[2:]]
    -
    -        elif action in ('graft', 'prune'):
    -            if len(words) != 2:
    -                raise DistlibException(
    -                    '%r expects a single ' % action)
    -
    -            dir_pattern = convert_path(words[1])
    -
    -        else:
    -            raise DistlibException('unknown action %r' % action)
    -
    -        return action, patterns, thedir, dir_pattern
    -
    -    def _include_pattern(self, pattern, anchor=True, prefix=None,
    -                         is_regex=False):
    -        """Select strings (presumably filenames) from 'self.files' that
    -        match 'pattern', a Unix-style wildcard (glob) pattern.
    -
    -        Patterns are not quite the same as implemented by the 'fnmatch'
    -        module: '*' and '?'  match non-special characters, where "special"
    -        is platform-dependent: slash on Unix; colon, slash, and backslash on
    -        DOS/Windows; and colon on Mac OS.
    -
    -        If 'anchor' is true (the default), then the pattern match is more
    -        stringent: "*.py" will match "foo.py" but not "foo/bar.py".  If
    -        'anchor' is false, both of these will match.
    -
    -        If 'prefix' is supplied, then only filenames starting with 'prefix'
    -        (itself a pattern) and ending with 'pattern', with anything in between
    -        them, will match.  'anchor' is ignored in this case.
    -
    -        If 'is_regex' is true, 'anchor' and 'prefix' are ignored, and
    -        'pattern' is assumed to be either a string containing a regex or a
    -        regex object -- no translation is done, the regex is just compiled
    -        and used as-is.
    -
    -        Selected strings will be added to self.files.
    -
    -        Return True if files are found.
    -        """
    -        # XXX docstring lying about what the special chars are?
    -        found = False
    -        pattern_re = self._translate_pattern(pattern, anchor, prefix, is_regex)
    -
    -        # delayed loading of allfiles list
    -        if self.allfiles is None:
    -            self.findall()
    -
    -        for name in self.allfiles:
    -            if pattern_re.search(name):
    -                self.files.add(name)
    -                found = True
    -        return found
    -
    -    def _exclude_pattern(self, pattern, anchor=True, prefix=None,
    -                         is_regex=False):
    -        """Remove strings (presumably filenames) from 'files' that match
    -        'pattern'.
    -
    -        Other parameters are the same as for 'include_pattern()', above.
    -        The list 'self.files' is modified in place. Return True if files are
    -        found.
    -
    -        This API is public to allow e.g. exclusion of SCM subdirs, e.g. when
    -        packaging source distributions
    -        """
    -        found = False
    -        pattern_re = self._translate_pattern(pattern, anchor, prefix, is_regex)
    -        for f in list(self.files):
    -            if pattern_re.search(f):
    -                self.files.remove(f)
    -                found = True
    -        return found
    -
    -    def _translate_pattern(self, pattern, anchor=True, prefix=None,
    -                           is_regex=False):
    -        """Translate a shell-like wildcard pattern to a compiled regular
    -        expression.
    -
    -        Return the compiled regex.  If 'is_regex' true,
    -        then 'pattern' is directly compiled to a regex (if it's a string)
    -        or just returned as-is (assumes it's a regex object).
    -        """
    -        if is_regex:
    -            if isinstance(pattern, str):
    -                return re.compile(pattern)
    -            else:
    -                return pattern
    -
    -        if _PYTHON_VERSION > (3, 2):
    -            # ditch start and end characters
    -            start, _, end = self._glob_to_re('_').partition('_')
    -
    -        if pattern:
    -            pattern_re = self._glob_to_re(pattern)
    -            if _PYTHON_VERSION > (3, 2):
    -                assert pattern_re.startswith(start) and pattern_re.endswith(end)
    -        else:
    -            pattern_re = ''
    -
    -        base = re.escape(os.path.join(self.base, ''))
    -        if prefix is not None:
    -            # ditch end of pattern character
    -            if _PYTHON_VERSION <= (3, 2):
    -                empty_pattern = self._glob_to_re('')
    -                prefix_re = self._glob_to_re(prefix)[:-len(empty_pattern)]
    -            else:
    -                prefix_re = self._glob_to_re(prefix)
    -                assert prefix_re.startswith(start) and prefix_re.endswith(end)
    -                prefix_re = prefix_re[len(start): len(prefix_re) - len(end)]
    -            sep = os.sep
    -            if os.sep == '\\':
    -                sep = r'\\'
    -            if _PYTHON_VERSION <= (3, 2):
    -                pattern_re = '^' + base + sep.join((prefix_re,
    -                                                    '.*' + pattern_re))
    -            else:
    -                pattern_re = pattern_re[len(start): len(pattern_re) - len(end)]
    -                pattern_re = r'%s%s%s%s.*%s%s' % (start, base, prefix_re, sep,
    -                                                  pattern_re, end)
    -        else:  # no prefix -- respect anchor flag
    -            if anchor:
    -                if _PYTHON_VERSION <= (3, 2):
    -                    pattern_re = '^' + base + pattern_re
    -                else:
    -                    pattern_re = r'%s%s%s' % (start, base, pattern_re[len(start):])
    -
    -        return re.compile(pattern_re)
    -
    -    def _glob_to_re(self, pattern):
    -        """Translate a shell-like glob pattern to a regular expression.
    -
    -        Return a string containing the regex.  Differs from
    -        'fnmatch.translate()' in that '*' does not match "special characters"
    -        (which are platform-specific).
    -        """
    -        pattern_re = fnmatch.translate(pattern)
    -
    -        # '?' and '*' in the glob pattern become '.' and '.*' in the RE, which
    -        # IMHO is wrong -- '?' and '*' aren't supposed to match slash in Unix,
    -        # and by extension they shouldn't match such "special characters" under
    -        # any OS.  So change all non-escaped dots in the RE to match any
    -        # character except the special characters (currently: just os.sep).
    -        sep = os.sep
    -        if os.sep == '\\':
    -            # we're using a regex to manipulate a regex, so we need
    -            # to escape the backslash twice
    -            sep = r'\\\\'
    -        escaped = r'\1[^%s]' % sep
    -        pattern_re = re.sub(r'((? y,
    -        '!=': lambda x, y: x != y,
    -        '<':  lambda x, y: x < y,
    -        '<=':  lambda x, y: x == y or x < y,
    -        '>':  lambda x, y: x > y,
    -        '>=':  lambda x, y: x == y or x > y,
    -        'and': lambda x, y: x and y,
    -        'or': lambda x, y: x or y,
    -        'in': lambda x, y: x in y,
    -        'not in': lambda x, y: x not in y,
    -    }
    -
    -    def evaluate(self, expr, context):
    -        """
    -        Evaluate a marker expression returned by the :func:`parse_requirement`
    -        function in the specified context.
    -        """
    -        if isinstance(expr, string_types):
    -            if expr[0] in '\'"':
    -                result = expr[1:-1]
    -            else:
    -                if expr not in context:
    -                    raise SyntaxError('unknown variable: %s' % expr)
    -                result = context[expr]
    -        else:
    -            assert isinstance(expr, dict)
    -            op = expr['op']
    -            if op not in self.operations:
    -                raise NotImplementedError('op not implemented: %s' % op)
    -            elhs = expr['lhs']
    -            erhs = expr['rhs']
    -            if _is_literal(expr['lhs']) and _is_literal(expr['rhs']):
    -                raise SyntaxError('invalid comparison: %s %s %s' % (elhs, op, erhs))
    -
    -            lhs = self.evaluate(elhs, context)
    -            rhs = self.evaluate(erhs, context)
    -            result = self.operations[op](lhs, rhs)
    -        return result
    -
    -def default_context():
    -    def format_full_version(info):
    -        version = '%s.%s.%s' % (info.major, info.minor, info.micro)
    -        kind = info.releaselevel
    -        if kind != 'final':
    -            version += kind[0] + str(info.serial)
    -        return version
    -
    -    if hasattr(sys, 'implementation'):
    -        implementation_version = format_full_version(sys.implementation.version)
    -        implementation_name = sys.implementation.name
    -    else:
    -        implementation_version = '0'
    -        implementation_name = ''
    -
    -    result = {
    -        'implementation_name': implementation_name,
    -        'implementation_version': implementation_version,
    -        'os_name': os.name,
    -        'platform_machine': platform.machine(),
    -        'platform_python_implementation': platform.python_implementation(),
    -        'platform_release': platform.release(),
    -        'platform_system': platform.system(),
    -        'platform_version': platform.version(),
    -        'platform_in_venv': str(in_venv()),
    -        'python_full_version': platform.python_version(),
    -        'python_version': platform.python_version()[:3],
    -        'sys_platform': sys.platform,
    -    }
    -    return result
    -
    -DEFAULT_CONTEXT = default_context()
    -del default_context
    -
    -evaluator = Evaluator()
    -
    -def interpret(marker, execution_context=None):
    -    """
    -    Interpret a marker and return a result depending on environment.
    -
    -    :param marker: The marker to interpret.
    -    :type marker: str
    -    :param execution_context: The context used for name lookup.
    -    :type execution_context: mapping
    -    """
    -    try:
    -        expr, rest = parse_marker(marker)
    -    except Exception as e:
    -        raise SyntaxError('Unable to interpret marker syntax: %s: %s' % (marker, e))
    -    if rest and rest[0] != '#':
    -        raise SyntaxError('unexpected trailing data in marker: %s: %s' % (marker, rest))
    -    context = dict(DEFAULT_CONTEXT)
    -    if execution_context:
    -        context.update(execution_context)
    -    return evaluator.evaluate(expr, context)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/metadata.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/metadata.py
    deleted file mode 100644
    index 2d61378..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/metadata.py
    +++ /dev/null
    @@ -1,1096 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2012 The Python Software Foundation.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -"""Implementation of the Metadata for Python packages PEPs.
    -
    -Supports all metadata formats (1.0, 1.1, 1.2, and 2.0 experimental).
    -"""
    -from __future__ import unicode_literals
    -
    -import codecs
    -from email import message_from_file
    -import json
    -import logging
    -import re
    -
    -
    -from . import DistlibException, __version__
    -from .compat import StringIO, string_types, text_type
    -from .markers import interpret
    -from .util import extract_by_key, get_extras
    -from .version import get_scheme, PEP440_VERSION_RE
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -class MetadataMissingError(DistlibException):
    -    """A required metadata is missing"""
    -
    -
    -class MetadataConflictError(DistlibException):
    -    """Attempt to read or write metadata fields that are conflictual."""
    -
    -
    -class MetadataUnrecognizedVersionError(DistlibException):
    -    """Unknown metadata version number."""
    -
    -
    -class MetadataInvalidError(DistlibException):
    -    """A metadata value is invalid"""
    -
    -# public API of this module
    -__all__ = ['Metadata', 'PKG_INFO_ENCODING', 'PKG_INFO_PREFERRED_VERSION']
    -
    -# Encoding used for the PKG-INFO files
    -PKG_INFO_ENCODING = 'utf-8'
    -
    -# preferred version. Hopefully will be changed
    -# to 1.2 once PEP 345 is supported everywhere
    -PKG_INFO_PREFERRED_VERSION = '1.1'
    -
    -_LINE_PREFIX_1_2 = re.compile('\n       \\|')
    -_LINE_PREFIX_PRE_1_2 = re.compile('\n        ')
    -_241_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform',
    -               'Summary', 'Description',
    -               'Keywords', 'Home-page', 'Author', 'Author-email',
    -               'License')
    -
    -_314_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform',
    -               'Supported-Platform', 'Summary', 'Description',
    -               'Keywords', 'Home-page', 'Author', 'Author-email',
    -               'License', 'Classifier', 'Download-URL', 'Obsoletes',
    -               'Provides', 'Requires')
    -
    -_314_MARKERS = ('Obsoletes', 'Provides', 'Requires', 'Classifier',
    -                'Download-URL')
    -
    -_345_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform',
    -               'Supported-Platform', 'Summary', 'Description',
    -               'Keywords', 'Home-page', 'Author', 'Author-email',
    -               'Maintainer', 'Maintainer-email', 'License',
    -               'Classifier', 'Download-URL', 'Obsoletes-Dist',
    -               'Project-URL', 'Provides-Dist', 'Requires-Dist',
    -               'Requires-Python', 'Requires-External')
    -
    -_345_MARKERS = ('Provides-Dist', 'Requires-Dist', 'Requires-Python',
    -                'Obsoletes-Dist', 'Requires-External', 'Maintainer',
    -                'Maintainer-email', 'Project-URL')
    -
    -_426_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform',
    -               'Supported-Platform', 'Summary', 'Description',
    -               'Keywords', 'Home-page', 'Author', 'Author-email',
    -               'Maintainer', 'Maintainer-email', 'License',
    -               'Classifier', 'Download-URL', 'Obsoletes-Dist',
    -               'Project-URL', 'Provides-Dist', 'Requires-Dist',
    -               'Requires-Python', 'Requires-External', 'Private-Version',
    -               'Obsoleted-By', 'Setup-Requires-Dist', 'Extension',
    -               'Provides-Extra')
    -
    -_426_MARKERS = ('Private-Version', 'Provides-Extra', 'Obsoleted-By',
    -                'Setup-Requires-Dist', 'Extension')
    -
    -# See issue #106: Sometimes 'Requires' and 'Provides' occur wrongly in
    -# the metadata. Include them in the tuple literal below to allow them
    -# (for now).
    -_566_FIELDS = _426_FIELDS + ('Description-Content-Type',
    -                             'Requires', 'Provides')
    -
    -_566_MARKERS = ('Description-Content-Type',)
    -
    -_ALL_FIELDS = set()
    -_ALL_FIELDS.update(_241_FIELDS)
    -_ALL_FIELDS.update(_314_FIELDS)
    -_ALL_FIELDS.update(_345_FIELDS)
    -_ALL_FIELDS.update(_426_FIELDS)
    -_ALL_FIELDS.update(_566_FIELDS)
    -
    -EXTRA_RE = re.compile(r'''extra\s*==\s*("([^"]+)"|'([^']+)')''')
    -
    -
    -def _version2fieldlist(version):
    -    if version == '1.0':
    -        return _241_FIELDS
    -    elif version == '1.1':
    -        return _314_FIELDS
    -    elif version == '1.2':
    -        return _345_FIELDS
    -    elif version in ('1.3', '2.1'):
    -        return _345_FIELDS + _566_FIELDS
    -    elif version == '2.0':
    -        return _426_FIELDS
    -    raise MetadataUnrecognizedVersionError(version)
    -
    -
    -def _best_version(fields):
    -    """Detect the best version depending on the fields used."""
    -    def _has_marker(keys, markers):
    -        for marker in markers:
    -            if marker in keys:
    -                return True
    -        return False
    -
    -    keys = []
    -    for key, value in fields.items():
    -        if value in ([], 'UNKNOWN', None):
    -            continue
    -        keys.append(key)
    -
    -    possible_versions = ['1.0', '1.1', '1.2', '1.3', '2.0', '2.1']
    -
    -    # first let's try to see if a field is not part of one of the version
    -    for key in keys:
    -        if key not in _241_FIELDS and '1.0' in possible_versions:
    -            possible_versions.remove('1.0')
    -            logger.debug('Removed 1.0 due to %s', key)
    -        if key not in _314_FIELDS and '1.1' in possible_versions:
    -            possible_versions.remove('1.1')
    -            logger.debug('Removed 1.1 due to %s', key)
    -        if key not in _345_FIELDS and '1.2' in possible_versions:
    -            possible_versions.remove('1.2')
    -            logger.debug('Removed 1.2 due to %s', key)
    -        if key not in _566_FIELDS and '1.3' in possible_versions:
    -            possible_versions.remove('1.3')
    -            logger.debug('Removed 1.3 due to %s', key)
    -        if key not in _566_FIELDS and '2.1' in possible_versions:
    -            if key != 'Description':  # In 2.1, description allowed after headers
    -                possible_versions.remove('2.1')
    -                logger.debug('Removed 2.1 due to %s', key)
    -        if key not in _426_FIELDS and '2.0' in possible_versions:
    -            possible_versions.remove('2.0')
    -            logger.debug('Removed 2.0 due to %s', key)
    -
    -    # possible_version contains qualified versions
    -    if len(possible_versions) == 1:
    -        return possible_versions[0]   # found !
    -    elif len(possible_versions) == 0:
    -        logger.debug('Out of options - unknown metadata set: %s', fields)
    -        raise MetadataConflictError('Unknown metadata set')
    -
    -    # let's see if one unique marker is found
    -    is_1_1 = '1.1' in possible_versions and _has_marker(keys, _314_MARKERS)
    -    is_1_2 = '1.2' in possible_versions and _has_marker(keys, _345_MARKERS)
    -    is_2_1 = '2.1' in possible_versions and _has_marker(keys, _566_MARKERS)
    -    is_2_0 = '2.0' in possible_versions and _has_marker(keys, _426_MARKERS)
    -    if int(is_1_1) + int(is_1_2) + int(is_2_1) + int(is_2_0) > 1:
    -        raise MetadataConflictError('You used incompatible 1.1/1.2/2.0/2.1 fields')
    -
    -    # we have the choice, 1.0, or 1.2, or 2.0
    -    #   - 1.0 has a broken Summary field but works with all tools
    -    #   - 1.1 is to avoid
    -    #   - 1.2 fixes Summary but has little adoption
    -    #   - 2.0 adds more features and is very new
    -    if not is_1_1 and not is_1_2 and not is_2_1 and not is_2_0:
    -        # we couldn't find any specific marker
    -        if PKG_INFO_PREFERRED_VERSION in possible_versions:
    -            return PKG_INFO_PREFERRED_VERSION
    -    if is_1_1:
    -        return '1.1'
    -    if is_1_2:
    -        return '1.2'
    -    if is_2_1:
    -        return '2.1'
    -
    -    return '2.0'
    -
    -_ATTR2FIELD = {
    -    'metadata_version': 'Metadata-Version',
    -    'name': 'Name',
    -    'version': 'Version',
    -    'platform': 'Platform',
    -    'supported_platform': 'Supported-Platform',
    -    'summary': 'Summary',
    -    'description': 'Description',
    -    'keywords': 'Keywords',
    -    'home_page': 'Home-page',
    -    'author': 'Author',
    -    'author_email': 'Author-email',
    -    'maintainer': 'Maintainer',
    -    'maintainer_email': 'Maintainer-email',
    -    'license': 'License',
    -    'classifier': 'Classifier',
    -    'download_url': 'Download-URL',
    -    'obsoletes_dist': 'Obsoletes-Dist',
    -    'provides_dist': 'Provides-Dist',
    -    'requires_dist': 'Requires-Dist',
    -    'setup_requires_dist': 'Setup-Requires-Dist',
    -    'requires_python': 'Requires-Python',
    -    'requires_external': 'Requires-External',
    -    'requires': 'Requires',
    -    'provides': 'Provides',
    -    'obsoletes': 'Obsoletes',
    -    'project_url': 'Project-URL',
    -    'private_version': 'Private-Version',
    -    'obsoleted_by': 'Obsoleted-By',
    -    'extension': 'Extension',
    -    'provides_extra': 'Provides-Extra',
    -}
    -
    -_PREDICATE_FIELDS = ('Requires-Dist', 'Obsoletes-Dist', 'Provides-Dist')
    -_VERSIONS_FIELDS = ('Requires-Python',)
    -_VERSION_FIELDS = ('Version',)
    -_LISTFIELDS = ('Platform', 'Classifier', 'Obsoletes',
    -               'Requires', 'Provides', 'Obsoletes-Dist',
    -               'Provides-Dist', 'Requires-Dist', 'Requires-External',
    -               'Project-URL', 'Supported-Platform', 'Setup-Requires-Dist',
    -               'Provides-Extra', 'Extension')
    -_LISTTUPLEFIELDS = ('Project-URL',)
    -
    -_ELEMENTSFIELD = ('Keywords',)
    -
    -_UNICODEFIELDS = ('Author', 'Maintainer', 'Summary', 'Description')
    -
    -_MISSING = object()
    -
    -_FILESAFE = re.compile('[^A-Za-z0-9.]+')
    -
    -
    -def _get_name_and_version(name, version, for_filename=False):
    -    """Return the distribution name with version.
    -
    -    If for_filename is true, return a filename-escaped form."""
    -    if for_filename:
    -        # For both name and version any runs of non-alphanumeric or '.'
    -        # characters are replaced with a single '-'.  Additionally any
    -        # spaces in the version string become '.'
    -        name = _FILESAFE.sub('-', name)
    -        version = _FILESAFE.sub('-', version.replace(' ', '.'))
    -    return '%s-%s' % (name, version)
    -
    -
    -class LegacyMetadata(object):
    -    """The legacy metadata of a release.
    -
    -    Supports versions 1.0, 1.1 and 1.2 (auto-detected). You can
    -    instantiate the class with one of these arguments (or none):
    -    - *path*, the path to a metadata file
    -    - *fileobj* give a file-like object with metadata as content
    -    - *mapping* is a dict-like object
    -    - *scheme* is a version scheme name
    -    """
    -    # TODO document the mapping API and UNKNOWN default key
    -
    -    def __init__(self, path=None, fileobj=None, mapping=None,
    -                 scheme='default'):
    -        if [path, fileobj, mapping].count(None) < 2:
    -            raise TypeError('path, fileobj and mapping are exclusive')
    -        self._fields = {}
    -        self.requires_files = []
    -        self._dependencies = None
    -        self.scheme = scheme
    -        if path is not None:
    -            self.read(path)
    -        elif fileobj is not None:
    -            self.read_file(fileobj)
    -        elif mapping is not None:
    -            self.update(mapping)
    -            self.set_metadata_version()
    -
    -    def set_metadata_version(self):
    -        self._fields['Metadata-Version'] = _best_version(self._fields)
    -
    -    def _write_field(self, fileobj, name, value):
    -        fileobj.write('%s: %s\n' % (name, value))
    -
    -    def __getitem__(self, name):
    -        return self.get(name)
    -
    -    def __setitem__(self, name, value):
    -        return self.set(name, value)
    -
    -    def __delitem__(self, name):
    -        field_name = self._convert_name(name)
    -        try:
    -            del self._fields[field_name]
    -        except KeyError:
    -            raise KeyError(name)
    -
    -    def __contains__(self, name):
    -        return (name in self._fields or
    -                self._convert_name(name) in self._fields)
    -
    -    def _convert_name(self, name):
    -        if name in _ALL_FIELDS:
    -            return name
    -        name = name.replace('-', '_').lower()
    -        return _ATTR2FIELD.get(name, name)
    -
    -    def _default_value(self, name):
    -        if name in _LISTFIELDS or name in _ELEMENTSFIELD:
    -            return []
    -        return 'UNKNOWN'
    -
    -    def _remove_line_prefix(self, value):
    -        if self.metadata_version in ('1.0', '1.1'):
    -            return _LINE_PREFIX_PRE_1_2.sub('\n', value)
    -        else:
    -            return _LINE_PREFIX_1_2.sub('\n', value)
    -
    -    def __getattr__(self, name):
    -        if name in _ATTR2FIELD:
    -            return self[name]
    -        raise AttributeError(name)
    -
    -    #
    -    # Public API
    -    #
    -
    -#    dependencies = property(_get_dependencies, _set_dependencies)
    -
    -    def get_fullname(self, filesafe=False):
    -        """Return the distribution name with version.
    -
    -        If filesafe is true, return a filename-escaped form."""
    -        return _get_name_and_version(self['Name'], self['Version'], filesafe)
    -
    -    def is_field(self, name):
    -        """return True if name is a valid metadata key"""
    -        name = self._convert_name(name)
    -        return name in _ALL_FIELDS
    -
    -    def is_multi_field(self, name):
    -        name = self._convert_name(name)
    -        return name in _LISTFIELDS
    -
    -    def read(self, filepath):
    -        """Read the metadata values from a file path."""
    -        fp = codecs.open(filepath, 'r', encoding='utf-8')
    -        try:
    -            self.read_file(fp)
    -        finally:
    -            fp.close()
    -
    -    def read_file(self, fileob):
    -        """Read the metadata values from a file object."""
    -        msg = message_from_file(fileob)
    -        self._fields['Metadata-Version'] = msg['metadata-version']
    -
    -        # When reading, get all the fields we can
    -        for field in _ALL_FIELDS:
    -            if field not in msg:
    -                continue
    -            if field in _LISTFIELDS:
    -                # we can have multiple lines
    -                values = msg.get_all(field)
    -                if field in _LISTTUPLEFIELDS and values is not None:
    -                    values = [tuple(value.split(',')) for value in values]
    -                self.set(field, values)
    -            else:
    -                # single line
    -                value = msg[field]
    -                if value is not None and value != 'UNKNOWN':
    -                    self.set(field, value)
    -        # logger.debug('Attempting to set metadata for %s', self)
    -        # self.set_metadata_version()
    -
    -    def write(self, filepath, skip_unknown=False):
    -        """Write the metadata fields to filepath."""
    -        fp = codecs.open(filepath, 'w', encoding='utf-8')
    -        try:
    -            self.write_file(fp, skip_unknown)
    -        finally:
    -            fp.close()
    -
    -    def write_file(self, fileobject, skip_unknown=False):
    -        """Write the PKG-INFO format data to a file object."""
    -        self.set_metadata_version()
    -
    -        for field in _version2fieldlist(self['Metadata-Version']):
    -            values = self.get(field)
    -            if skip_unknown and values in ('UNKNOWN', [], ['UNKNOWN']):
    -                continue
    -            if field in _ELEMENTSFIELD:
    -                self._write_field(fileobject, field, ','.join(values))
    -                continue
    -            if field not in _LISTFIELDS:
    -                if field == 'Description':
    -                    if self.metadata_version in ('1.0', '1.1'):
    -                        values = values.replace('\n', '\n        ')
    -                    else:
    -                        values = values.replace('\n', '\n       |')
    -                values = [values]
    -
    -            if field in _LISTTUPLEFIELDS:
    -                values = [','.join(value) for value in values]
    -
    -            for value in values:
    -                self._write_field(fileobject, field, value)
    -
    -    def update(self, other=None, **kwargs):
    -        """Set metadata values from the given iterable `other` and kwargs.
    -
    -        Behavior is like `dict.update`: If `other` has a ``keys`` method,
    -        they are looped over and ``self[key]`` is assigned ``other[key]``.
    -        Else, ``other`` is an iterable of ``(key, value)`` iterables.
    -
    -        Keys that don't match a metadata field or that have an empty value are
    -        dropped.
    -        """
    -        def _set(key, value):
    -            if key in _ATTR2FIELD and value:
    -                self.set(self._convert_name(key), value)
    -
    -        if not other:
    -            # other is None or empty container
    -            pass
    -        elif hasattr(other, 'keys'):
    -            for k in other.keys():
    -                _set(k, other[k])
    -        else:
    -            for k, v in other:
    -                _set(k, v)
    -
    -        if kwargs:
    -            for k, v in kwargs.items():
    -                _set(k, v)
    -
    -    def set(self, name, value):
    -        """Control then set a metadata field."""
    -        name = self._convert_name(name)
    -
    -        if ((name in _ELEMENTSFIELD or name == 'Platform') and
    -            not isinstance(value, (list, tuple))):
    -            if isinstance(value, string_types):
    -                value = [v.strip() for v in value.split(',')]
    -            else:
    -                value = []
    -        elif (name in _LISTFIELDS and
    -              not isinstance(value, (list, tuple))):
    -            if isinstance(value, string_types):
    -                value = [value]
    -            else:
    -                value = []
    -
    -        if logger.isEnabledFor(logging.WARNING):
    -            project_name = self['Name']
    -
    -            scheme = get_scheme(self.scheme)
    -            if name in _PREDICATE_FIELDS and value is not None:
    -                for v in value:
    -                    # check that the values are valid
    -                    if not scheme.is_valid_matcher(v.split(';')[0]):
    -                        logger.warning(
    -                            "'%s': '%s' is not valid (field '%s')",
    -                            project_name, v, name)
    -            # FIXME this rejects UNKNOWN, is that right?
    -            elif name in _VERSIONS_FIELDS and value is not None:
    -                if not scheme.is_valid_constraint_list(value):
    -                    logger.warning("'%s': '%s' is not a valid version (field '%s')",
    -                                   project_name, value, name)
    -            elif name in _VERSION_FIELDS and value is not None:
    -                if not scheme.is_valid_version(value):
    -                    logger.warning("'%s': '%s' is not a valid version (field '%s')",
    -                                   project_name, value, name)
    -
    -        if name in _UNICODEFIELDS:
    -            if name == 'Description':
    -                value = self._remove_line_prefix(value)
    -
    -        self._fields[name] = value
    -
    -    def get(self, name, default=_MISSING):
    -        """Get a metadata field."""
    -        name = self._convert_name(name)
    -        if name not in self._fields:
    -            if default is _MISSING:
    -                default = self._default_value(name)
    -            return default
    -        if name in _UNICODEFIELDS:
    -            value = self._fields[name]
    -            return value
    -        elif name in _LISTFIELDS:
    -            value = self._fields[name]
    -            if value is None:
    -                return []
    -            res = []
    -            for val in value:
    -                if name not in _LISTTUPLEFIELDS:
    -                    res.append(val)
    -                else:
    -                    # That's for Project-URL
    -                    res.append((val[0], val[1]))
    -            return res
    -
    -        elif name in _ELEMENTSFIELD:
    -            value = self._fields[name]
    -            if isinstance(value, string_types):
    -                return value.split(',')
    -        return self._fields[name]
    -
    -    def check(self, strict=False):
    -        """Check if the metadata is compliant. If strict is True then raise if
    -        no Name or Version are provided"""
    -        self.set_metadata_version()
    -
    -        # XXX should check the versions (if the file was loaded)
    -        missing, warnings = [], []
    -
    -        for attr in ('Name', 'Version'):  # required by PEP 345
    -            if attr not in self:
    -                missing.append(attr)
    -
    -        if strict and missing != []:
    -            msg = 'missing required metadata: %s' % ', '.join(missing)
    -            raise MetadataMissingError(msg)
    -
    -        for attr in ('Home-page', 'Author'):
    -            if attr not in self:
    -                missing.append(attr)
    -
    -        # checking metadata 1.2 (XXX needs to check 1.1, 1.0)
    -        if self['Metadata-Version'] != '1.2':
    -            return missing, warnings
    -
    -        scheme = get_scheme(self.scheme)
    -
    -        def are_valid_constraints(value):
    -            for v in value:
    -                if not scheme.is_valid_matcher(v.split(';')[0]):
    -                    return False
    -            return True
    -
    -        for fields, controller in ((_PREDICATE_FIELDS, are_valid_constraints),
    -                                   (_VERSIONS_FIELDS,
    -                                    scheme.is_valid_constraint_list),
    -                                   (_VERSION_FIELDS,
    -                                    scheme.is_valid_version)):
    -            for field in fields:
    -                value = self.get(field, None)
    -                if value is not None and not controller(value):
    -                    warnings.append("Wrong value for '%s': %s" % (field, value))
    -
    -        return missing, warnings
    -
    -    def todict(self, skip_missing=False):
    -        """Return fields as a dict.
    -
    -        Field names will be converted to use the underscore-lowercase style
    -        instead of hyphen-mixed case (i.e. home_page instead of Home-page).
    -        """
    -        self.set_metadata_version()
    -
    -        mapping_1_0 = (
    -            ('metadata_version', 'Metadata-Version'),
    -            ('name', 'Name'),
    -            ('version', 'Version'),
    -            ('summary', 'Summary'),
    -            ('home_page', 'Home-page'),
    -            ('author', 'Author'),
    -            ('author_email', 'Author-email'),
    -            ('license', 'License'),
    -            ('description', 'Description'),
    -            ('keywords', 'Keywords'),
    -            ('platform', 'Platform'),
    -            ('classifiers', 'Classifier'),
    -            ('download_url', 'Download-URL'),
    -        )
    -
    -        data = {}
    -        for key, field_name in mapping_1_0:
    -            if not skip_missing or field_name in self._fields:
    -                data[key] = self[field_name]
    -
    -        if self['Metadata-Version'] == '1.2':
    -            mapping_1_2 = (
    -                ('requires_dist', 'Requires-Dist'),
    -                ('requires_python', 'Requires-Python'),
    -                ('requires_external', 'Requires-External'),
    -                ('provides_dist', 'Provides-Dist'),
    -                ('obsoletes_dist', 'Obsoletes-Dist'),
    -                ('project_url', 'Project-URL'),
    -                ('maintainer', 'Maintainer'),
    -                ('maintainer_email', 'Maintainer-email'),
    -            )
    -            for key, field_name in mapping_1_2:
    -                if not skip_missing or field_name in self._fields:
    -                    if key != 'project_url':
    -                        data[key] = self[field_name]
    -                    else:
    -                        data[key] = [','.join(u) for u in self[field_name]]
    -
    -        elif self['Metadata-Version'] == '1.1':
    -            mapping_1_1 = (
    -                ('provides', 'Provides'),
    -                ('requires', 'Requires'),
    -                ('obsoletes', 'Obsoletes'),
    -            )
    -            for key, field_name in mapping_1_1:
    -                if not skip_missing or field_name in self._fields:
    -                    data[key] = self[field_name]
    -
    -        return data
    -
    -    def add_requirements(self, requirements):
    -        if self['Metadata-Version'] == '1.1':
    -            # we can't have 1.1 metadata *and* Setuptools requires
    -            for field in ('Obsoletes', 'Requires', 'Provides'):
    -                if field in self:
    -                    del self[field]
    -        self['Requires-Dist'] += requirements
    -
    -    # Mapping API
    -    # TODO could add iter* variants
    -
    -    def keys(self):
    -        return list(_version2fieldlist(self['Metadata-Version']))
    -
    -    def __iter__(self):
    -        for key in self.keys():
    -            yield key
    -
    -    def values(self):
    -        return [self[key] for key in self.keys()]
    -
    -    def items(self):
    -        return [(key, self[key]) for key in self.keys()]
    -
    -    def __repr__(self):
    -        return '<%s %s %s>' % (self.__class__.__name__, self.name,
    -                               self.version)
    -
    -
    -METADATA_FILENAME = 'pydist.json'
    -WHEEL_METADATA_FILENAME = 'metadata.json'
    -LEGACY_METADATA_FILENAME = 'METADATA'
    -
    -
    -class Metadata(object):
    -    """
    -    The metadata of a release. This implementation uses 2.0 (JSON)
    -    metadata where possible. If not possible, it wraps a LegacyMetadata
    -    instance which handles the key-value metadata format.
    -    """
    -
    -    METADATA_VERSION_MATCHER = re.compile(r'^\d+(\.\d+)*$')
    -
    -    NAME_MATCHER = re.compile('^[0-9A-Z]([0-9A-Z_.-]*[0-9A-Z])?$', re.I)
    -
    -    VERSION_MATCHER = PEP440_VERSION_RE
    -
    -    SUMMARY_MATCHER = re.compile('.{1,2047}')
    -
    -    METADATA_VERSION = '2.0'
    -
    -    GENERATOR = 'distlib (%s)' % __version__
    -
    -    MANDATORY_KEYS = {
    -        'name': (),
    -        'version': (),
    -        'summary': ('legacy',),
    -    }
    -
    -    INDEX_KEYS = ('name version license summary description author '
    -                  'author_email keywords platform home_page classifiers '
    -                  'download_url')
    -
    -    DEPENDENCY_KEYS = ('extras run_requires test_requires build_requires '
    -                       'dev_requires provides meta_requires obsoleted_by '
    -                       'supports_environments')
    -
    -    SYNTAX_VALIDATORS = {
    -        'metadata_version': (METADATA_VERSION_MATCHER, ()),
    -        'name': (NAME_MATCHER, ('legacy',)),
    -        'version': (VERSION_MATCHER, ('legacy',)),
    -        'summary': (SUMMARY_MATCHER, ('legacy',)),
    -    }
    -
    -    __slots__ = ('_legacy', '_data', 'scheme')
    -
    -    def __init__(self, path=None, fileobj=None, mapping=None,
    -                 scheme='default'):
    -        if [path, fileobj, mapping].count(None) < 2:
    -            raise TypeError('path, fileobj and mapping are exclusive')
    -        self._legacy = None
    -        self._data = None
    -        self.scheme = scheme
    -        #import pdb; pdb.set_trace()
    -        if mapping is not None:
    -            try:
    -                self._validate_mapping(mapping, scheme)
    -                self._data = mapping
    -            except MetadataUnrecognizedVersionError:
    -                self._legacy = LegacyMetadata(mapping=mapping, scheme=scheme)
    -                self.validate()
    -        else:
    -            data = None
    -            if path:
    -                with open(path, 'rb') as f:
    -                    data = f.read()
    -            elif fileobj:
    -                data = fileobj.read()
    -            if data is None:
    -                # Initialised with no args - to be added
    -                self._data = {
    -                    'metadata_version': self.METADATA_VERSION,
    -                    'generator': self.GENERATOR,
    -                }
    -            else:
    -                if not isinstance(data, text_type):
    -                    data = data.decode('utf-8')
    -                try:
    -                    self._data = json.loads(data)
    -                    self._validate_mapping(self._data, scheme)
    -                except ValueError:
    -                    # Note: MetadataUnrecognizedVersionError does not
    -                    # inherit from ValueError (it's a DistlibException,
    -                    # which should not inherit from ValueError).
    -                    # The ValueError comes from the json.load - if that
    -                    # succeeds and we get a validation error, we want
    -                    # that to propagate
    -                    self._legacy = LegacyMetadata(fileobj=StringIO(data),
    -                                                  scheme=scheme)
    -                    self.validate()
    -
    -    common_keys = set(('name', 'version', 'license', 'keywords', 'summary'))
    -
    -    none_list = (None, list)
    -    none_dict = (None, dict)
    -
    -    mapped_keys = {
    -        'run_requires': ('Requires-Dist', list),
    -        'build_requires': ('Setup-Requires-Dist', list),
    -        'dev_requires': none_list,
    -        'test_requires': none_list,
    -        'meta_requires': none_list,
    -        'extras': ('Provides-Extra', list),
    -        'modules': none_list,
    -        'namespaces': none_list,
    -        'exports': none_dict,
    -        'commands': none_dict,
    -        'classifiers': ('Classifier', list),
    -        'source_url': ('Download-URL', None),
    -        'metadata_version': ('Metadata-Version', None),
    -    }
    -
    -    del none_list, none_dict
    -
    -    def __getattribute__(self, key):
    -        common = object.__getattribute__(self, 'common_keys')
    -        mapped = object.__getattribute__(self, 'mapped_keys')
    -        if key in mapped:
    -            lk, maker = mapped[key]
    -            if self._legacy:
    -                if lk is None:
    -                    result = None if maker is None else maker()
    -                else:
    -                    result = self._legacy.get(lk)
    -            else:
    -                value = None if maker is None else maker()
    -                if key not in ('commands', 'exports', 'modules', 'namespaces',
    -                               'classifiers'):
    -                    result = self._data.get(key, value)
    -                else:
    -                    # special cases for PEP 459
    -                    sentinel = object()
    -                    result = sentinel
    -                    d = self._data.get('extensions')
    -                    if d:
    -                        if key == 'commands':
    -                            result = d.get('python.commands', value)
    -                        elif key == 'classifiers':
    -                            d = d.get('python.details')
    -                            if d:
    -                                result = d.get(key, value)
    -                        else:
    -                            d = d.get('python.exports')
    -                            if not d:
    -                                d = self._data.get('python.exports')
    -                            if d:
    -                                result = d.get(key, value)
    -                    if result is sentinel:
    -                        result = value
    -        elif key not in common:
    -            result = object.__getattribute__(self, key)
    -        elif self._legacy:
    -            result = self._legacy.get(key)
    -        else:
    -            result = self._data.get(key)
    -        return result
    -
    -    def _validate_value(self, key, value, scheme=None):
    -        if key in self.SYNTAX_VALIDATORS:
    -            pattern, exclusions = self.SYNTAX_VALIDATORS[key]
    -            if (scheme or self.scheme) not in exclusions:
    -                m = pattern.match(value)
    -                if not m:
    -                    raise MetadataInvalidError("'%s' is an invalid value for "
    -                                               "the '%s' property" % (value,
    -                                                                    key))
    -
    -    def __setattr__(self, key, value):
    -        self._validate_value(key, value)
    -        common = object.__getattribute__(self, 'common_keys')
    -        mapped = object.__getattribute__(self, 'mapped_keys')
    -        if key in mapped:
    -            lk, _ = mapped[key]
    -            if self._legacy:
    -                if lk is None:
    -                    raise NotImplementedError
    -                self._legacy[lk] = value
    -            elif key not in ('commands', 'exports', 'modules', 'namespaces',
    -                             'classifiers'):
    -                self._data[key] = value
    -            else:
    -                # special cases for PEP 459
    -                d = self._data.setdefault('extensions', {})
    -                if key == 'commands':
    -                    d['python.commands'] = value
    -                elif key == 'classifiers':
    -                    d = d.setdefault('python.details', {})
    -                    d[key] = value
    -                else:
    -                    d = d.setdefault('python.exports', {})
    -                    d[key] = value
    -        elif key not in common:
    -            object.__setattr__(self, key, value)
    -        else:
    -            if key == 'keywords':
    -                if isinstance(value, string_types):
    -                    value = value.strip()
    -                    if value:
    -                        value = value.split()
    -                    else:
    -                        value = []
    -            if self._legacy:
    -                self._legacy[key] = value
    -            else:
    -                self._data[key] = value
    -
    -    @property
    -    def name_and_version(self):
    -        return _get_name_and_version(self.name, self.version, True)
    -
    -    @property
    -    def provides(self):
    -        if self._legacy:
    -            result = self._legacy['Provides-Dist']
    -        else:
    -            result = self._data.setdefault('provides', [])
    -        s = '%s (%s)' % (self.name, self.version)
    -        if s not in result:
    -            result.append(s)
    -        return result
    -
    -    @provides.setter
    -    def provides(self, value):
    -        if self._legacy:
    -            self._legacy['Provides-Dist'] = value
    -        else:
    -            self._data['provides'] = value
    -
    -    def get_requirements(self, reqts, extras=None, env=None):
    -        """
    -        Base method to get dependencies, given a set of extras
    -        to satisfy and an optional environment context.
    -        :param reqts: A list of sometimes-wanted dependencies,
    -                      perhaps dependent on extras and environment.
    -        :param extras: A list of optional components being requested.
    -        :param env: An optional environment for marker evaluation.
    -        """
    -        if self._legacy:
    -            result = reqts
    -        else:
    -            result = []
    -            extras = get_extras(extras or [], self.extras)
    -            for d in reqts:
    -                if 'extra' not in d and 'environment' not in d:
    -                    # unconditional
    -                    include = True
    -                else:
    -                    if 'extra' not in d:
    -                        # Not extra-dependent - only environment-dependent
    -                        include = True
    -                    else:
    -                        include = d.get('extra') in extras
    -                    if include:
    -                        # Not excluded because of extras, check environment
    -                        marker = d.get('environment')
    -                        if marker:
    -                            include = interpret(marker, env)
    -                if include:
    -                    result.extend(d['requires'])
    -            for key in ('build', 'dev', 'test'):
    -                e = ':%s:' % key
    -                if e in extras:
    -                    extras.remove(e)
    -                    # A recursive call, but it should terminate since 'test'
    -                    # has been removed from the extras
    -                    reqts = self._data.get('%s_requires' % key, [])
    -                    result.extend(self.get_requirements(reqts, extras=extras,
    -                                                        env=env))
    -        return result
    -
    -    @property
    -    def dictionary(self):
    -        if self._legacy:
    -            return self._from_legacy()
    -        return self._data
    -
    -    @property
    -    def dependencies(self):
    -        if self._legacy:
    -            raise NotImplementedError
    -        else:
    -            return extract_by_key(self._data, self.DEPENDENCY_KEYS)
    -
    -    @dependencies.setter
    -    def dependencies(self, value):
    -        if self._legacy:
    -            raise NotImplementedError
    -        else:
    -            self._data.update(value)
    -
    -    def _validate_mapping(self, mapping, scheme):
    -        if mapping.get('metadata_version') != self.METADATA_VERSION:
    -            raise MetadataUnrecognizedVersionError()
    -        missing = []
    -        for key, exclusions in self.MANDATORY_KEYS.items():
    -            if key not in mapping:
    -                if scheme not in exclusions:
    -                    missing.append(key)
    -        if missing:
    -            msg = 'Missing metadata items: %s' % ', '.join(missing)
    -            raise MetadataMissingError(msg)
    -        for k, v in mapping.items():
    -            self._validate_value(k, v, scheme)
    -
    -    def validate(self):
    -        if self._legacy:
    -            missing, warnings = self._legacy.check(True)
    -            if missing or warnings:
    -                logger.warning('Metadata: missing: %s, warnings: %s',
    -                               missing, warnings)
    -        else:
    -            self._validate_mapping(self._data, self.scheme)
    -
    -    def todict(self):
    -        if self._legacy:
    -            return self._legacy.todict(True)
    -        else:
    -            result = extract_by_key(self._data, self.INDEX_KEYS)
    -            return result
    -
    -    def _from_legacy(self):
    -        assert self._legacy and not self._data
    -        result = {
    -            'metadata_version': self.METADATA_VERSION,
    -            'generator': self.GENERATOR,
    -        }
    -        lmd = self._legacy.todict(True)     # skip missing ones
    -        for k in ('name', 'version', 'license', 'summary', 'description',
    -                  'classifier'):
    -            if k in lmd:
    -                if k == 'classifier':
    -                    nk = 'classifiers'
    -                else:
    -                    nk = k
    -                result[nk] = lmd[k]
    -        kw = lmd.get('Keywords', [])
    -        if kw == ['']:
    -            kw = []
    -        result['keywords'] = kw
    -        keys = (('requires_dist', 'run_requires'),
    -                ('setup_requires_dist', 'build_requires'))
    -        for ok, nk in keys:
    -            if ok in lmd and lmd[ok]:
    -                result[nk] = [{'requires': lmd[ok]}]
    -        result['provides'] = self.provides
    -        author = {}
    -        maintainer = {}
    -        return result
    -
    -    LEGACY_MAPPING = {
    -        'name': 'Name',
    -        'version': 'Version',
    -        'license': 'License',
    -        'summary': 'Summary',
    -        'description': 'Description',
    -        'classifiers': 'Classifier',
    -    }
    -
    -    def _to_legacy(self):
    -        def process_entries(entries):
    -            reqts = set()
    -            for e in entries:
    -                extra = e.get('extra')
    -                env = e.get('environment')
    -                rlist = e['requires']
    -                for r in rlist:
    -                    if not env and not extra:
    -                        reqts.add(r)
    -                    else:
    -                        marker = ''
    -                        if extra:
    -                            marker = 'extra == "%s"' % extra
    -                        if env:
    -                            if marker:
    -                                marker = '(%s) and %s' % (env, marker)
    -                            else:
    -                                marker = env
    -                        reqts.add(';'.join((r, marker)))
    -            return reqts
    -
    -        assert self._data and not self._legacy
    -        result = LegacyMetadata()
    -        nmd = self._data
    -        for nk, ok in self.LEGACY_MAPPING.items():
    -            if nk in nmd:
    -                result[ok] = nmd[nk]
    -        r1 = process_entries(self.run_requires + self.meta_requires)
    -        r2 = process_entries(self.build_requires + self.dev_requires)
    -        if self.extras:
    -            result['Provides-Extra'] = sorted(self.extras)
    -        result['Requires-Dist'] = sorted(r1)
    -        result['Setup-Requires-Dist'] = sorted(r2)
    -        # TODO: other fields such as contacts
    -        return result
    -
    -    def write(self, path=None, fileobj=None, legacy=False, skip_unknown=True):
    -        if [path, fileobj].count(None) != 1:
    -            raise ValueError('Exactly one of path and fileobj is needed')
    -        self.validate()
    -        if legacy:
    -            if self._legacy:
    -                legacy_md = self._legacy
    -            else:
    -                legacy_md = self._to_legacy()
    -            if path:
    -                legacy_md.write(path, skip_unknown=skip_unknown)
    -            else:
    -                legacy_md.write_file(fileobj, skip_unknown=skip_unknown)
    -        else:
    -            if self._legacy:
    -                d = self._from_legacy()
    -            else:
    -                d = self._data
    -            if fileobj:
    -                json.dump(d, fileobj, ensure_ascii=True, indent=2,
    -                          sort_keys=True)
    -            else:
    -                with codecs.open(path, 'w', 'utf-8') as f:
    -                    json.dump(d, f, ensure_ascii=True, indent=2,
    -                              sort_keys=True)
    -
    -    def add_requirements(self, requirements):
    -        if self._legacy:
    -            self._legacy.add_requirements(requirements)
    -        else:
    -            run_requires = self._data.setdefault('run_requires', [])
    -            always = None
    -            for entry in run_requires:
    -                if 'environment' not in entry and 'extra' not in entry:
    -                    always = entry
    -                    break
    -            if always is None:
    -                always = { 'requires': requirements }
    -                run_requires.insert(0, always)
    -            else:
    -                rset = set(always['requires']) | set(requirements)
    -                always['requires'] = sorted(rset)
    -
    -    def __repr__(self):
    -        name = self.name or '(no name)'
    -        version = self.version or 'no version'
    -        return '<%s %s %s (%s)>' % (self.__class__.__name__,
    -                                    self.metadata_version, name, version)
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/resources.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/resources.py
    deleted file mode 100644
    index 1884016..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/resources.py
    +++ /dev/null
    @@ -1,355 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2013-2017 Vinay Sajip.
    -# Licensed to the Python Software Foundation under a contributor agreement.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -from __future__ import unicode_literals
    -
    -import bisect
    -import io
    -import logging
    -import os
    -import pkgutil
    -import shutil
    -import sys
    -import types
    -import zipimport
    -
    -from . import DistlibException
    -from .util import cached_property, get_cache_base, path_to_cache_dir, Cache
    -
    -logger = logging.getLogger(__name__)
    -
    -
    -cache = None    # created when needed
    -
    -
    -class ResourceCache(Cache):
    -    def __init__(self, base=None):
    -        if base is None:
    -            # Use native string to avoid issues on 2.x: see Python #20140.
    -            base = os.path.join(get_cache_base(), str('resource-cache'))
    -        super(ResourceCache, self).__init__(base)
    -
    -    def is_stale(self, resource, path):
    -        """
    -        Is the cache stale for the given resource?
    -
    -        :param resource: The :class:`Resource` being cached.
    -        :param path: The path of the resource in the cache.
    -        :return: True if the cache is stale.
    -        """
    -        # Cache invalidation is a hard problem :-)
    -        return True
    -
    -    def get(self, resource):
    -        """
    -        Get a resource into the cache,
    -
    -        :param resource: A :class:`Resource` instance.
    -        :return: The pathname of the resource in the cache.
    -        """
    -        prefix, path = resource.finder.get_cache_info(resource)
    -        if prefix is None:
    -            result = path
    -        else:
    -            result = os.path.join(self.base, self.prefix_to_dir(prefix), path)
    -            dirname = os.path.dirname(result)
    -            if not os.path.isdir(dirname):
    -                os.makedirs(dirname)
    -            if not os.path.exists(result):
    -                stale = True
    -            else:
    -                stale = self.is_stale(resource, path)
    -            if stale:
    -                # write the bytes of the resource to the cache location
    -                with open(result, 'wb') as f:
    -                    f.write(resource.bytes)
    -        return result
    -
    -
    -class ResourceBase(object):
    -    def __init__(self, finder, name):
    -        self.finder = finder
    -        self.name = name
    -
    -
    -class Resource(ResourceBase):
    -    """
    -    A class representing an in-package resource, such as a data file. This is
    -    not normally instantiated by user code, but rather by a
    -    :class:`ResourceFinder` which manages the resource.
    -    """
    -    is_container = False        # Backwards compatibility
    -
    -    def as_stream(self):
    -        """
    -        Get the resource as a stream.
    -
    -        This is not a property to make it obvious that it returns a new stream
    -        each time.
    -        """
    -        return self.finder.get_stream(self)
    -
    -    @cached_property
    -    def file_path(self):
    -        global cache
    -        if cache is None:
    -            cache = ResourceCache()
    -        return cache.get(self)
    -
    -    @cached_property
    -    def bytes(self):
    -        return self.finder.get_bytes(self)
    -
    -    @cached_property
    -    def size(self):
    -        return self.finder.get_size(self)
    -
    -
    -class ResourceContainer(ResourceBase):
    -    is_container = True     # Backwards compatibility
    -
    -    @cached_property
    -    def resources(self):
    -        return self.finder.get_resources(self)
    -
    -
    -class ResourceFinder(object):
    -    """
    -    Resource finder for file system resources.
    -    """
    -
    -    if sys.platform.startswith('java'):
    -        skipped_extensions = ('.pyc', '.pyo', '.class')
    -    else:
    -        skipped_extensions = ('.pyc', '.pyo')
    -
    -    def __init__(self, module):
    -        self.module = module
    -        self.loader = getattr(module, '__loader__', None)
    -        self.base = os.path.dirname(getattr(module, '__file__', ''))
    -
    -    def _adjust_path(self, path):
    -        return os.path.realpath(path)
    -
    -    def _make_path(self, resource_name):
    -        # Issue #50: need to preserve type of path on Python 2.x
    -        # like os.path._get_sep
    -        if isinstance(resource_name, bytes):    # should only happen on 2.x
    -            sep = b'/'
    -        else:
    -            sep = '/'
    -        parts = resource_name.split(sep)
    -        parts.insert(0, self.base)
    -        result = os.path.join(*parts)
    -        return self._adjust_path(result)
    -
    -    def _find(self, path):
    -        return os.path.exists(path)
    -
    -    def get_cache_info(self, resource):
    -        return None, resource.path
    -
    -    def find(self, resource_name):
    -        path = self._make_path(resource_name)
    -        if not self._find(path):
    -            result = None
    -        else:
    -            if self._is_directory(path):
    -                result = ResourceContainer(self, resource_name)
    -            else:
    -                result = Resource(self, resource_name)
    -            result.path = path
    -        return result
    -
    -    def get_stream(self, resource):
    -        return open(resource.path, 'rb')
    -
    -    def get_bytes(self, resource):
    -        with open(resource.path, 'rb') as f:
    -            return f.read()
    -
    -    def get_size(self, resource):
    -        return os.path.getsize(resource.path)
    -
    -    def get_resources(self, resource):
    -        def allowed(f):
    -            return (f != '__pycache__' and not
    -                    f.endswith(self.skipped_extensions))
    -        return set([f for f in os.listdir(resource.path) if allowed(f)])
    -
    -    def is_container(self, resource):
    -        return self._is_directory(resource.path)
    -
    -    _is_directory = staticmethod(os.path.isdir)
    -
    -    def iterator(self, resource_name):
    -        resource = self.find(resource_name)
    -        if resource is not None:
    -            todo = [resource]
    -            while todo:
    -                resource = todo.pop(0)
    -                yield resource
    -                if resource.is_container:
    -                    rname = resource.name
    -                    for name in resource.resources:
    -                        if not rname:
    -                            new_name = name
    -                        else:
    -                            new_name = '/'.join([rname, name])
    -                        child = self.find(new_name)
    -                        if child.is_container:
    -                            todo.append(child)
    -                        else:
    -                            yield child
    -
    -
    -class ZipResourceFinder(ResourceFinder):
    -    """
    -    Resource finder for resources in .zip files.
    -    """
    -    def __init__(self, module):
    -        super(ZipResourceFinder, self).__init__(module)
    -        archive = self.loader.archive
    -        self.prefix_len = 1 + len(archive)
    -        # PyPy doesn't have a _files attr on zipimporter, and you can't set one
    -        if hasattr(self.loader, '_files'):
    -            self._files = self.loader._files
    -        else:
    -            self._files = zipimport._zip_directory_cache[archive]
    -        self.index = sorted(self._files)
    -
    -    def _adjust_path(self, path):
    -        return path
    -
    -    def _find(self, path):
    -        path = path[self.prefix_len:]
    -        if path in self._files:
    -            result = True
    -        else:
    -            if path and path[-1] != os.sep:
    -                path = path + os.sep
    -            i = bisect.bisect(self.index, path)
    -            try:
    -                result = self.index[i].startswith(path)
    -            except IndexError:
    -                result = False
    -        if not result:
    -            logger.debug('_find failed: %r %r', path, self.loader.prefix)
    -        else:
    -            logger.debug('_find worked: %r %r', path, self.loader.prefix)
    -        return result
    -
    -    def get_cache_info(self, resource):
    -        prefix = self.loader.archive
    -        path = resource.path[1 + len(prefix):]
    -        return prefix, path
    -
    -    def get_bytes(self, resource):
    -        return self.loader.get_data(resource.path)
    -
    -    def get_stream(self, resource):
    -        return io.BytesIO(self.get_bytes(resource))
    -
    -    def get_size(self, resource):
    -        path = resource.path[self.prefix_len:]
    -        return self._files[path][3]
    -
    -    def get_resources(self, resource):
    -        path = resource.path[self.prefix_len:]
    -        if path and path[-1] != os.sep:
    -            path += os.sep
    -        plen = len(path)
    -        result = set()
    -        i = bisect.bisect(self.index, path)
    -        while i < len(self.index):
    -            if not self.index[i].startswith(path):
    -                break
    -            s = self.index[i][plen:]
    -            result.add(s.split(os.sep, 1)[0])   # only immediate children
    -            i += 1
    -        return result
    -
    -    def _is_directory(self, path):
    -        path = path[self.prefix_len:]
    -        if path and path[-1] != os.sep:
    -            path += os.sep
    -        i = bisect.bisect(self.index, path)
    -        try:
    -            result = self.index[i].startswith(path)
    -        except IndexError:
    -            result = False
    -        return result
    -
    -_finder_registry = {
    -    type(None): ResourceFinder,
    -    zipimport.zipimporter: ZipResourceFinder
    -}
    -
    -try:
    -    # In Python 3.6, _frozen_importlib -> _frozen_importlib_external
    -    try:
    -        import _frozen_importlib_external as _fi
    -    except ImportError:
    -        import _frozen_importlib as _fi
    -    _finder_registry[_fi.SourceFileLoader] = ResourceFinder
    -    _finder_registry[_fi.FileFinder] = ResourceFinder
    -    del _fi
    -except (ImportError, AttributeError):
    -    pass
    -
    -
    -def register_finder(loader, finder_maker):
    -    _finder_registry[type(loader)] = finder_maker
    -
    -_finder_cache = {}
    -
    -
    -def finder(package):
    -    """
    -    Return a resource finder for a package.
    -    :param package: The name of the package.
    -    :return: A :class:`ResourceFinder` instance for the package.
    -    """
    -    if package in _finder_cache:
    -        result = _finder_cache[package]
    -    else:
    -        if package not in sys.modules:
    -            __import__(package)
    -        module = sys.modules[package]
    -        path = getattr(module, '__path__', None)
    -        if path is None:
    -            raise DistlibException('You cannot get a finder for a module, '
    -                                   'only for a package')
    -        loader = getattr(module, '__loader__', None)
    -        finder_maker = _finder_registry.get(type(loader))
    -        if finder_maker is None:
    -            raise DistlibException('Unable to locate finder for %r' % package)
    -        result = finder_maker(module)
    -        _finder_cache[package] = result
    -    return result
    -
    -
    -_dummy_module = types.ModuleType(str('__dummy__'))
    -
    -
    -def finder_for_path(path):
    -    """
    -    Return a resource finder for a path, which should represent a container.
    -
    -    :param path: The path.
    -    :return: A :class:`ResourceFinder` instance for the path.
    -    """
    -    result = None
    -    # calls any path hooks, gets importer into cache
    -    pkgutil.get_importer(path)
    -    loader = sys.path_importer_cache.get(path)
    -    finder = _finder_registry.get(type(loader))
    -    if finder:
    -        module = _dummy_module
    -        module.__file__ = os.path.join(path, '')
    -        module.__loader__ = loader
    -        result = finder(module)
    -    return result
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/scripts.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/scripts.py
    deleted file mode 100644
    index 5965e24..0000000
    --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/scripts.py
    +++ /dev/null
    @@ -1,403 +0,0 @@
    -# -*- coding: utf-8 -*-
    -#
    -# Copyright (C) 2013-2015 Vinay Sajip.
    -# Licensed to the Python Software Foundation under a contributor agreement.
    -# See LICENSE.txt and CONTRIBUTORS.txt.
    -#
    -from io import BytesIO
    -import logging
    -import os
    -import re
    -import struct
    -import sys
    -
    -from .compat import sysconfig, detect_encoding, ZipFile
    -from .resources import finder
    -from .util import (FileOperator, get_export_entry, convert_path,
    -                   get_executable, in_venv)
    -
    -logger = logging.getLogger(__name__)
    -
    -_DEFAULT_MANIFEST = '''
    -
    -
    - 
    -
    - 
    - 
    - 
    - 
    - 
    - 
    - 
    - 
    -'''.strip()
    -
    -# check if Python is called on the first line with this expression
    -FIRST_LINE_RE = re.compile(b'^#!.*pythonw?[0-9.]*([ \t].*)?$')
    -SCRIPT_TEMPLATE = r'''# -*- coding: utf-8 -*-
    -import re
    -import sys
    -from %(module)s import %(import_name)s
    -if __name__ == '__main__':
    -    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    -    sys.exit(%(func)s())
    -'''
    -
    -
    -def _enquote_executable(executable):
    -    if ' ' in executable:
    -        # make sure we quote only the executable in case of env
    -        # for example /usr/bin/env "/dir with spaces/bin/jython"
    -        # instead of "/usr/bin/env /dir with spaces/bin/jython"
    -        # otherwise whole
    -        if executable.startswith('/usr/bin/env '):
    -            env, _executable = executable.split(' ', 1)
    -            if ' ' in _executable and not _executable.startswith('"'):
    -                executable = '%s "%s"' % (env, _executable)
    -        else:
    -            if not executable.startswith('"'):
    -                executable = '"%s"' % executable
    -    return executable
    -
    -
    -class ScriptMaker(object):
    -    """
    -    A class to copy or create scripts from source scripts or callable
    -    specifications.
    -    """
    -    script_template = SCRIPT_TEMPLATE
    -
    -    executable = None  # for shebangs
    -
    -    def __init__(self, source_dir, target_dir, add_launchers=True,
    -                 dry_run=False, fileop=None):
    -        self.source_dir = source_dir
    -        self.target_dir = target_dir
    -        self.add_launchers = add_launchers
    -        self.force = False
    -        self.clobber = False
    -        # It only makes sense to set mode bits on POSIX.
    -        self.set_mode = (os.name == 'posix') or (os.name == 'java' and
    -                                                 os._name == 'posix')
    -        self.variants = set(('', 'X.Y'))
    -        self._fileop = fileop or FileOperator(dry_run)
    -
    -        self._is_nt = os.name == 'nt' or (
    -            os.name == 'java' and os._name == 'nt')
    -
    -    def _get_alternate_executable(self, executable, options):
    -        if options.get('gui', False) and self._is_nt:  # pragma: no cover
    -            dn, fn = os.path.split(executable)
    -            fn = fn.replace('python', 'pythonw')
    -            executable = os.path.join(dn, fn)
    -        return executable
    -
    -    if sys.platform.startswith('java'):  # pragma: no cover
    -        def _is_shell(self, executable):
    -            """
    -            Determine if the specified executable is a script
    -            (contains a #! line)
    -            """
    -            try:
    -                with open(executable) as fp:
    -                    return fp.read(2) == '#!'
    -            except (OSError, IOError):
    -                logger.warning('Failed to open %s', executable)
    -                return False
    -
    -        def _fix_jython_executable(self, executable):
    -            if self._is_shell(executable):
    -                # Workaround for Jython is not needed on Linux systems.
    -                import java
    -
    -                if java.lang.System.getProperty('os.name') == 'Linux':
    -                    return executable
    -            elif executable.lower().endswith('jython.exe'):
    -                # Use wrapper exe for Jython on Windows
    -                return executable
    -            return '/usr/bin/env %s' % executable
    -
    -    def _build_shebang(self, executable, post_interp):
    -        """
    -        Build a shebang line. In the simple case (on Windows, or a shebang line
    -        which is not too long or contains spaces) use a simple formulation for
    -        the shebang. Otherwise, use /bin/sh as the executable, with a contrived
    -        shebang which allows the script to run either under Python or sh, using
    -        suitable quoting. Thanks to Harald Nordgren for his input.
    -
    -        See also: http://www.in-ulm.de/~mascheck/various/shebang/#length
    -                  https://hg.mozilla.org/mozilla-central/file/tip/mach
    -        """
    -        if os.name != 'posix':
    -            simple_shebang = True
    -        else:
    -            # Add 3 for '#!' prefix and newline suffix.
    -            shebang_length = len(executable) + len(post_interp) + 3
    -            if sys.platform == 'darwin':
    -                max_shebang_length = 512
    -            else:
    -                max_shebang_length = 127
    -            simple_shebang = ((b' ' not in executable) and
    -                              (shebang_length <= max_shebang_length))
    -
    -        if simple_shebang:
    -            result = b'#!' + executable + post_interp + b'\n'
    -        else:
    -            result = b'#!/bin/sh\n'
    -            result += b"'''exec' " + executable + post_interp + b' "$0" "$@"\n'
    -            result += b"' '''"
    -        return result
    -
    -    def _get_shebang(self, encoding, post_interp=b'', options=None):
    -        enquote = True
    -        if self.executable:
    -            executable = self.executable
    -            enquote = False     # assume this will be taken care of
    -        elif not sysconfig.is_python_build():
    -            executable = get_executable()
    -        elif in_venv():  # pragma: no cover
    -            executable = os.path.join(sysconfig.get_path('scripts'),
    -                            'python%s' % sysconfig.get_config_var('EXE'))
    -        else:  # pragma: no cover
    -            executable = os.path.join(
    -                sysconfig.get_config_var('BINDIR'),
    -               'python%s%s' % (sysconfig.get_config_var('VERSION'),
    -                               sysconfig.get_config_var('EXE')))
    -        if options:
    -            executable = self._get_alternate_executable(executable, options)
    -
    -        if sys.platform.startswith('java'):  # pragma: no cover
    -            executable = self._fix_jython_executable(executable)
    -        # Normalise case for Windows
    -        executable = os.path.normcase(executable)
    -        # If the user didn't specify an executable, it may be necessary to
    -        # cater for executable paths with spaces (not uncommon on Windows)
    -        if enquote:
    -            executable = _enquote_executable(executable)
    -        # Issue #51: don't use fsencode, since we later try to
    -        # check that the shebang is decodable using utf-8.
    -        executable = executable.encode('utf-8')
    -        # in case of IronPython, play safe and enable frames support
    -        if (sys.platform == 'cli' and '-X:Frames' not in post_interp
    -            and '-X:FullFrames' not in post_interp):  # pragma: no cover
    -            post_interp += b' -X:Frames'
    -        shebang = self._build_shebang(executable, post_interp)
    -        # Python parser starts to read a script using UTF-8 until
    -        # it gets a #coding:xxx cookie. The shebang has to be the
    -        # first line of a file, the #coding:xxx cookie cannot be
    -        # written before. So the shebang has to be decodable from
    -        # UTF-8.
    -        try:
    -            shebang.decode('utf-8')
    -        except UnicodeDecodeError:  # pragma: no cover
    -            raise ValueError(
    -                'The shebang (%r) is not decodable from utf-8' % shebang)
    -        # If the script is encoded to a custom encoding (use a
    -        # #coding:xxx cookie), the shebang has to be decodable from
    -        # the script encoding too.
    -        if encoding != 'utf-8':
    -            try:
    -                shebang.decode(encoding)
    -            except UnicodeDecodeError:  # pragma: no cover
    -                raise ValueError(
    -                    'The shebang (%r) is not decodable '
    -                    'from the script encoding (%r)' % (shebang, encoding))
    -        return shebang
    -
    -    def _get_script_text(self, entry):
    -        return self.script_template % dict(module=entry.prefix,
    -                                           import_name=entry.suffix.split('.')[0],
    -                                           func=entry.suffix)
    -
    -    manifest = _DEFAULT_MANIFEST
    -
    -    def get_manifest(self, exename):
    -        base = os.path.basename(exename)
    -        return self.manifest % base
    -
    -    def _write_script(self, names, shebang, script_bytes, filenames, ext):
    -        use_launcher = self.add_launchers and self._is_nt
    -        linesep = os.linesep.encode('utf-8')
    -        if not shebang.endswith(linesep):
    -            shebang += linesep
    -        if not use_launcher:
    -            script_bytes = shebang + script_bytes
    -        else:  # pragma: no cover
    -            if ext == 'py':
    -                launcher = self._get_launcher('t')
    -            else:
    -                launcher = self._get_launcher('w')
    -            stream = BytesIO()
    -            with ZipFile(stream, 'w') as zf:
    -                zf.writestr('__main__.py', script_bytes)
    -            zip_data = stream.getvalue()
    -            script_bytes = launcher + shebang + zip_data
    -        for name in names:
    -            outname = os.path.join(self.target_dir, name)
    -            if use_launcher:  # pragma: no cover
    -                n, e = os.path.splitext(outname)
    -                if e.startswith('.py'):
    -                    outname = n
    -                outname = '%s.exe' % outname
    -                try:
    -                    self._fileop.write_binary_file(outname, script_bytes)
    -                except Exception:
    -                    # Failed writing an executable - it might be in use.
    -                    logger.warning('Failed to write executable - trying to '
    -                                   'use .deleteme logic')
    -                    dfname = '%s.deleteme' % outname
    -                    if os.path.exists(dfname):
    -                        os.remove(dfname)       # Not allowed to fail here
    -                    os.rename(outname, dfname)  # nor here
    -                    self._fileop.write_binary_file(outname, script_bytes)
    -                    logger.debug('Able to replace executable using '
    -                                 '.deleteme logic')
    -                    try:
    -                        os.remove(dfname)
    -                    except Exception:
    -                        pass    # still in use - ignore error
    -            else:
    -                if self._is_nt and not outname.endswith('.' + ext):  # pragma: no cover
    -                    outname = '%s.%s' % (outname, ext)
    -                if os.path.exists(outname) and not self.clobber:
    -                    logger.warning('Skipping existing file %s', outname)
    -                    continue
    -                self._fileop.write_binary_file(outname, script_bytes)
    -                if self.set_mode:
    -                    self._fileop.set_executable_mode([outname])
    -            filenames.append(outname)
    -
    -    def _make_script(self, entry, filenames, options=None):
    -        post_interp = b''
    -        if options:
    -            args = options.get('interpreter_args', [])
    -            if args:
    -                args = ' %s' % ' '.join(args)
    -                post_interp = args.encode('utf-8')
    -        shebang = self._get_shebang('utf-8', post_interp, options=options)
    -        script = self._get_script_text(entry).encode('utf-8')
    -        name = entry.name
    -        scriptnames = set()
    -        if '' in self.variants:
    -            scriptnames.add(name)
    -        if 'X' in self.variants:
    -            scriptnames.add('%s%s' % (name, sys.version[0]))
    -        if 'X.Y' in self.variants:
    -            scriptnames.add('%s-%s' % (name, sys.version[:3]))
    -        if options and options.get('gui', False):
    -            ext = 'pyw'
    -        else:
    -            ext = 'py'
    -        self._write_script(scriptnames, shebang, script, filenames, ext)
    -
    -    def _copy_script(self, script, filenames):
    -        adjust = False
    -        script = os.path.join(self.source_dir, convert_path(script))
    -        outname = os.path.join(self.target_dir, os.path.basename(script))
    -        if not self.force and not self._fileop.newer(script, outname):
    -            logger.debug('not copying %s (up-to-date)', script)
    -            return
    -
    -        # Always open the file, but ignore failures in dry-run mode --
    -        # that way, we'll get accurate feedback if we can read the
    -        # script.
    -        try:
    -            f = open(script, 'rb')
    -        except IOError:  # pragma: no cover
    -            if not self.dry_run:
    -                raise
    -            f = None
    -        else:
    -            first_line = f.readline()
    -            if not first_line:  # pragma: no cover
    -                logger.warning('%s: %s is an empty file (skipping)',
    -                               self.get_command_name(),  script)
    -                return
    -
    -            match = FIRST_LINE_RE.match(first_line.replace(b'\r\n', b'\n'))
    -            if match:
    -                adjust = True
    -                post_interp = match.group(1) or b''
    -
    -        if not adjust:
    -            if f:
    -                f.close()
    -            self._fileop.copy_file(script, outname)
    -            if self.set_mode:
    -                self._fileop.set_executable_mode([outname])
    -            filenames.append(outname)
    -        else:
    -            logger.info('copying and adjusting %s -> %s', script,
    -                        self.target_dir)
    -            if not self._fileop.dry_run:
    -                encoding, lines = detect_encoding(f.readline)
    -                f.seek(0)
    -                shebang = self._get_shebang(encoding, post_interp)
    -                if b'pythonw' in first_line:  # pragma: no cover
    -                    ext = 'pyw'
    -                else:
    -                    ext = 'py'
    -                n = os.path.basename(outname)
    -                self._write_script([n], shebang, f.read(), filenames, ext)
    -            if f:
    -                f.close()
    -
    -    @property
    -    def dry_run(self):
    -        return self._fileop.dry_run
    -
    -    @dry_run.setter
    -    def dry_run(self, value):
    -        self._fileop.dry_run = value
    -
    -    if os.name == 'nt' or (os.name == 'java' and os._name == 'nt'):  # pragma: no cover
    -        # Executable launcher support.
    -        # Launchers are from https://bitbucket.org/vinay.sajip/simple_launcher/
    -
    -        def _get_launcher(self, kind):
    -            if struct.calcsize('P') == 8:   # 64-bit
    -                bits = '64'
    -            else:
    -                bits = '32'
    -            name = '%s%s.exe' % (kind, bits)
    -            # Issue 31: don't hardcode an absolute package name, but
    -            # determine it relative to the current package
    -            distlib_package = __name__.rsplit('.', 1)[0]
    -            result = finder(distlib_package).find(name).bytes
    -            return result
    -
    -    # Public API follows
    -
    -    def make(self, specification, options=None):
    -        """
    -        Make a script.
    -
    -        :param specification: The specification, which is either a valid export
    -                              entry specification (to make a script from a
    -                              callable) or a filename (to make a script by
    -                              copying from a source location).
    -        :param options: A dictionary of options controlling script generation.
    -        :return: A list of all absolute pathnames written to.
    -        """
    -        filenames = []
    -        entry = get_export_entry(specification)
    -        if entry is None:
    -            self._copy_script(specification, filenames)
    -        else:
    -            self._make_script(entry, filenames, options=options)
    -        return filenames
    -
    -    def make_multiple(self, specifications, options=None):
    -        """
    -        Take a list of specifications and make scripts from them,
    -        :param specifications: A list of specifications.
    -        :return: A list of all absolute pathnames written to,
    -        """
    -        filenames = []
    -        for specification in specifications:
    -            filenames.extend(self.make(specification, options))
    -        return filenames
    diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/t32.exe b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/t32.exe
    deleted file mode 100644
    index 5d5bce1f4a65f0bea9636a5a825646c520903df4..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 92672
    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 bEwa>S$L3eF2AVa{tbt|?G;84hUIYIIEj{&8 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/t64.exe b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/t64.exe deleted file mode 100644 index 039ce441b721ee180d373e5590289a6aa9249a51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102912 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 FzX4cTQwjh8 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/util.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/util.py deleted file mode 100644 index e851146..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/util.py +++ /dev/null @@ -1,1760 +0,0 @@ -# -# Copyright (C) 2012-2017 The Python Software Foundation. -# See LICENSE.txt and CONTRIBUTORS.txt. -# -import codecs -from collections import deque -import contextlib -import csv -from glob import iglob as std_iglob -import io -import json -import logging -import os -import py_compile -import re -import socket -try: - import ssl -except ImportError: # pragma: no cover - ssl = None -import subprocess -import sys -import tarfile -import tempfile -import textwrap - -try: - import threading -except ImportError: # pragma: no cover - import dummy_threading as threading -import time - -from . import DistlibException -from .compat import (string_types, text_type, shutil, raw_input, StringIO, - cache_from_source, urlopen, urljoin, httplib, xmlrpclib, - splittype, HTTPHandler, BaseConfigurator, valid_ident, - Container, configparser, URLError, ZipFile, fsdecode, - unquote, urlparse) - -logger = logging.getLogger(__name__) - -# -# Requirement parsing code as per PEP 508 -# - -IDENTIFIER = re.compile(r'^([\w\.-]+)\s*') -VERSION_IDENTIFIER = re.compile(r'^([\w\.*+-]+)\s*') -COMPARE_OP = re.compile(r'^(<=?|>=?|={2,3}|[~!]=)\s*') -MARKER_OP = re.compile(r'^((<=?)|(>=?)|={2,3}|[~!]=|in|not\s+in)\s*') -OR = re.compile(r'^or\b\s*') -AND = re.compile(r'^and\b\s*') -NON_SPACE = re.compile(r'(\S+)\s*') -STRING_CHUNK = re.compile(r'([\s\w\.{}()*+#:;,/?!~`@$%^&=|<>\[\]-]+)') - - -def parse_marker(marker_string): - """ - Parse a marker string and return a dictionary containing a marker expression. - - The dictionary will contain keys "op", "lhs" and "rhs" for non-terminals in - the expression grammar, or strings. A string contained in quotes is to be - interpreted as a literal string, and a string not contained in quotes is a - variable (such as os_name). - """ - def marker_var(remaining): - # either identifier, or literal string - m = IDENTIFIER.match(remaining) - if m: - result = m.groups()[0] - remaining = remaining[m.end():] - elif not remaining: - raise SyntaxError('unexpected end of input') - else: - q = remaining[0] - if q not in '\'"': - raise SyntaxError('invalid expression: %s' % remaining) - oq = '\'"'.replace(q, '') - remaining = remaining[1:] - parts = [q] - while remaining: - # either a string chunk, or oq, or q to terminate - if remaining[0] == q: - break - elif remaining[0] == oq: - parts.append(oq) - remaining = remaining[1:] - else: - m = STRING_CHUNK.match(remaining) - if not m: - raise SyntaxError('error in string literal: %s' % remaining) - parts.append(m.groups()[0]) - remaining = remaining[m.end():] - else: - s = ''.join(parts) - raise SyntaxError('unterminated string: %s' % s) - parts.append(q) - result = ''.join(parts) - remaining = remaining[1:].lstrip() # skip past closing quote - return result, remaining - - def marker_expr(remaining): - if remaining and remaining[0] == '(': - result, remaining = marker(remaining[1:].lstrip()) - if remaining[0] != ')': - raise SyntaxError('unterminated parenthesis: %s' % remaining) - remaining = remaining[1:].lstrip() - else: - lhs, remaining = marker_var(remaining) - while remaining: - m = MARKER_OP.match(remaining) - if not m: - break - op = m.groups()[0] - remaining = remaining[m.end():] - rhs, remaining = marker_var(remaining) - lhs = {'op': op, 'lhs': lhs, 'rhs': rhs} - result = lhs - return result, remaining - - def marker_and(remaining): - lhs, remaining = marker_expr(remaining) - while remaining: - m = AND.match(remaining) - if not m: - break - remaining = remaining[m.end():] - rhs, remaining = marker_expr(remaining) - lhs = {'op': 'and', 'lhs': lhs, 'rhs': rhs} - return lhs, remaining - - def marker(remaining): - lhs, remaining = marker_and(remaining) - while remaining: - m = OR.match(remaining) - if not m: - break - remaining = remaining[m.end():] - rhs, remaining = marker_and(remaining) - lhs = {'op': 'or', 'lhs': lhs, 'rhs': rhs} - return lhs, remaining - - return marker(marker_string) - - -def parse_requirement(req): - """ - Parse a requirement passed in as a string. Return a Container - whose attributes contain the various parts of the requirement. - """ - remaining = req.strip() - if not remaining or remaining.startswith('#'): - return None - m = IDENTIFIER.match(remaining) - if not m: - raise SyntaxError('name expected: %s' % remaining) - distname = m.groups()[0] - remaining = remaining[m.end():] - extras = mark_expr = versions = uri = None - if remaining and remaining[0] == '[': - i = remaining.find(']', 1) - if i < 0: - raise SyntaxError('unterminated extra: %s' % remaining) - s = remaining[1:i] - remaining = remaining[i + 1:].lstrip() - extras = [] - while s: - m = IDENTIFIER.match(s) - if not m: - raise SyntaxError('malformed extra: %s' % s) - extras.append(m.groups()[0]) - s = s[m.end():] - if not s: - break - if s[0] != ',': - raise SyntaxError('comma expected in extras: %s' % s) - s = s[1:].lstrip() - if not extras: - extras = None - if remaining: - if remaining[0] == '@': - # it's a URI - remaining = remaining[1:].lstrip() - m = NON_SPACE.match(remaining) - if not m: - raise SyntaxError('invalid URI: %s' % remaining) - uri = m.groups()[0] - t = urlparse(uri) - # there are issues with Python and URL parsing, so this test - # is a bit crude. See bpo-20271, bpo-23505. Python doesn't - # always parse invalid URLs correctly - it should raise - # exceptions for malformed URLs - if not (t.scheme and t.netloc): - raise SyntaxError('Invalid URL: %s' % uri) - remaining = remaining[m.end():].lstrip() - else: - - def get_versions(ver_remaining): - """ - Return a list of operator, version tuples if any are - specified, else None. - """ - m = COMPARE_OP.match(ver_remaining) - versions = None - if m: - versions = [] - while True: - op = m.groups()[0] - ver_remaining = ver_remaining[m.end():] - m = VERSION_IDENTIFIER.match(ver_remaining) - if not m: - raise SyntaxError('invalid version: %s' % ver_remaining) - v = m.groups()[0] - versions.append((op, v)) - ver_remaining = ver_remaining[m.end():] - if not ver_remaining or ver_remaining[0] != ',': - break - ver_remaining = ver_remaining[1:].lstrip() - m = COMPARE_OP.match(ver_remaining) - if not m: - raise SyntaxError('invalid constraint: %s' % ver_remaining) - if not versions: - versions = None - return versions, ver_remaining - - if remaining[0] != '(': - versions, remaining = get_versions(remaining) - else: - i = remaining.find(')', 1) - if i < 0: - raise SyntaxError('unterminated parenthesis: %s' % remaining) - s = remaining[1:i] - remaining = remaining[i + 1:].lstrip() - # As a special diversion from PEP 508, allow a version number - # a.b.c in parentheses as a synonym for ~= a.b.c (because this - # is allowed in earlier PEPs) - if COMPARE_OP.match(s): - versions, _ = get_versions(s) - else: - m = VERSION_IDENTIFIER.match(s) - if not m: - raise SyntaxError('invalid constraint: %s' % s) - v = m.groups()[0] - s = s[m.end():].lstrip() - if s: - raise SyntaxError('invalid constraint: %s' % s) - versions = [('~=', v)] - - if remaining: - if remaining[0] != ';': - raise SyntaxError('invalid requirement: %s' % remaining) - remaining = remaining[1:].lstrip() - - mark_expr, remaining = parse_marker(remaining) - - if remaining and remaining[0] != '#': - raise SyntaxError('unexpected trailing data: %s' % remaining) - - if not versions: - rs = distname - else: - rs = '%s %s' % (distname, ', '.join(['%s %s' % con for con in versions])) - return Container(name=distname, extras=extras, constraints=versions, - marker=mark_expr, url=uri, requirement=rs) - - -def get_resources_dests(resources_root, rules): - """Find destinations for resources files""" - - def get_rel_path(root, path): - # normalizes and returns a lstripped-/-separated path - root = root.replace(os.path.sep, '/') - path = path.replace(os.path.sep, '/') - assert path.startswith(root) - return path[len(root):].lstrip('/') - - destinations = {} - for base, suffix, dest in rules: - prefix = os.path.join(resources_root, base) - for abs_base in iglob(prefix): - abs_glob = os.path.join(abs_base, suffix) - for abs_path in iglob(abs_glob): - resource_file = get_rel_path(resources_root, abs_path) - if dest is None: # remove the entry if it was here - destinations.pop(resource_file, None) - else: - rel_path = get_rel_path(abs_base, abs_path) - rel_dest = dest.replace(os.path.sep, '/').rstrip('/') - destinations[resource_file] = rel_dest + '/' + rel_path - return destinations - - -def in_venv(): - if hasattr(sys, 'real_prefix'): - # virtualenv venvs - result = True - else: - # PEP 405 venvs - result = sys.prefix != getattr(sys, 'base_prefix', sys.prefix) - return result - - -def get_executable(): -# The __PYVENV_LAUNCHER__ dance is apparently no longer needed, as -# changes to the stub launcher mean that sys.executable always points -# to the stub on OS X -# if sys.platform == 'darwin' and ('__PYVENV_LAUNCHER__' -# in os.environ): -# result = os.environ['__PYVENV_LAUNCHER__'] -# else: -# result = sys.executable -# return result - result = os.path.normcase(sys.executable) - if not isinstance(result, text_type): - result = fsdecode(result) - return result - - -def proceed(prompt, allowed_chars, error_prompt=None, default=None): - p = prompt - while True: - s = raw_input(p) - p = prompt - if not s and default: - s = default - if s: - c = s[0].lower() - if c in allowed_chars: - break - if error_prompt: - p = '%c: %s\n%s' % (c, error_prompt, prompt) - return c - - -def extract_by_key(d, keys): - if isinstance(keys, string_types): - keys = keys.split() - result = {} - for key in keys: - if key in d: - result[key] = d[key] - return result - -def read_exports(stream): - if sys.version_info[0] >= 3: - # needs to be a text stream - stream = codecs.getreader('utf-8')(stream) - # Try to load as JSON, falling back on legacy format - data = stream.read() - stream = StringIO(data) - try: - jdata = json.load(stream) - result = jdata['extensions']['python.exports']['exports'] - for group, entries in result.items(): - for k, v in entries.items(): - s = '%s = %s' % (k, v) - entry = get_export_entry(s) - assert entry is not None - entries[k] = entry - return result - except Exception: - stream.seek(0, 0) - - def read_stream(cp, stream): - if hasattr(cp, 'read_file'): - cp.read_file(stream) - else: - cp.readfp(stream) - - cp = configparser.ConfigParser() - try: - read_stream(cp, stream) - except configparser.MissingSectionHeaderError: - stream.close() - data = textwrap.dedent(data) - stream = StringIO(data) - read_stream(cp, stream) - - result = {} - for key in cp.sections(): - result[key] = entries = {} - for name, value in cp.items(key): - s = '%s = %s' % (name, value) - entry = get_export_entry(s) - assert entry is not None - #entry.dist = self - entries[name] = entry - return result - - -def write_exports(exports, stream): - if sys.version_info[0] >= 3: - # needs to be a text stream - stream = codecs.getwriter('utf-8')(stream) - cp = configparser.ConfigParser() - for k, v in exports.items(): - # TODO check k, v for valid values - cp.add_section(k) - for entry in v.values(): - if entry.suffix is None: - s = entry.prefix - else: - s = '%s:%s' % (entry.prefix, entry.suffix) - if entry.flags: - s = '%s [%s]' % (s, ', '.join(entry.flags)) - cp.set(k, entry.name, s) - cp.write(stream) - - -@contextlib.contextmanager -def tempdir(): - td = tempfile.mkdtemp() - try: - yield td - finally: - shutil.rmtree(td) - -@contextlib.contextmanager -def chdir(d): - cwd = os.getcwd() - try: - os.chdir(d) - yield - finally: - os.chdir(cwd) - - -@contextlib.contextmanager -def socket_timeout(seconds=15): - cto = socket.getdefaulttimeout() - try: - socket.setdefaulttimeout(seconds) - yield - finally: - socket.setdefaulttimeout(cto) - - -class cached_property(object): - def __init__(self, func): - self.func = func - #for attr in ('__name__', '__module__', '__doc__'): - # setattr(self, attr, getattr(func, attr, None)) - - def __get__(self, obj, cls=None): - if obj is None: - return self - value = self.func(obj) - object.__setattr__(obj, self.func.__name__, value) - #obj.__dict__[self.func.__name__] = value = self.func(obj) - return value - -def convert_path(pathname): - """Return 'pathname' as a name that will work on the native filesystem. - - The path is split on '/' and put back together again using the current - directory separator. Needed because filenames in the setup script are - always supplied in Unix style, and have to be converted to the local - convention before we can actually use them in the filesystem. Raises - ValueError on non-Unix-ish systems if 'pathname' either starts or - ends with a slash. - """ - if os.sep == '/': - return pathname - if not pathname: - return pathname - if pathname[0] == '/': - raise ValueError("path '%s' cannot be absolute" % pathname) - if pathname[-1] == '/': - raise ValueError("path '%s' cannot end with '/'" % pathname) - - paths = pathname.split('/') - while os.curdir in paths: - paths.remove(os.curdir) - if not paths: - return os.curdir - return os.path.join(*paths) - - -class FileOperator(object): - def __init__(self, dry_run=False): - self.dry_run = dry_run - self.ensured = set() - self._init_record() - - def _init_record(self): - self.record = False - self.files_written = set() - self.dirs_created = set() - - def record_as_written(self, path): - if self.record: - self.files_written.add(path) - - def newer(self, source, target): - """Tell if the target is newer than the source. - - Returns true if 'source' exists and is more recently modified than - 'target', or if 'source' exists and 'target' doesn't. - - Returns false if both exist and 'target' is the same age or younger - than 'source'. Raise PackagingFileError if 'source' does not exist. - - Note that this test is not very accurate: files created in the same - second will have the same "age". - """ - if not os.path.exists(source): - raise DistlibException("file '%r' does not exist" % - os.path.abspath(source)) - if not os.path.exists(target): - return True - - return os.stat(source).st_mtime > os.stat(target).st_mtime - - def copy_file(self, infile, outfile, check=True): - """Copy a file respecting dry-run and force flags. - """ - self.ensure_dir(os.path.dirname(outfile)) - logger.info('Copying %s to %s', infile, outfile) - if not self.dry_run: - msg = None - if check: - if os.path.islink(outfile): - msg = '%s is a symlink' % outfile - elif os.path.exists(outfile) and not os.path.isfile(outfile): - msg = '%s is a non-regular file' % outfile - if msg: - raise ValueError(msg + ' which would be overwritten') - shutil.copyfile(infile, outfile) - self.record_as_written(outfile) - - def copy_stream(self, instream, outfile, encoding=None): - assert not os.path.isdir(outfile) - self.ensure_dir(os.path.dirname(outfile)) - logger.info('Copying stream %s to %s', instream, outfile) - if not self.dry_run: - if encoding is None: - outstream = open(outfile, 'wb') - else: - outstream = codecs.open(outfile, 'w', encoding=encoding) - try: - shutil.copyfileobj(instream, outstream) - finally: - outstream.close() - self.record_as_written(outfile) - - def write_binary_file(self, path, data): - self.ensure_dir(os.path.dirname(path)) - if not self.dry_run: - if os.path.exists(path): - os.remove(path) - with open(path, 'wb') as f: - f.write(data) - self.record_as_written(path) - - def write_text_file(self, path, data, encoding): - self.write_binary_file(path, data.encode(encoding)) - - def set_mode(self, bits, mask, files): - if os.name == 'posix' or (os.name == 'java' and os._name == 'posix'): - # Set the executable bits (owner, group, and world) on - # all the files specified. - for f in files: - if self.dry_run: - logger.info("changing mode of %s", f) - else: - mode = (os.stat(f).st_mode | bits) & mask - logger.info("changing mode of %s to %o", f, mode) - os.chmod(f, mode) - - set_executable_mode = lambda s, f: s.set_mode(0o555, 0o7777, f) - - def ensure_dir(self, path): - path = os.path.abspath(path) - if path not in self.ensured and not os.path.exists(path): - self.ensured.add(path) - d, f = os.path.split(path) - self.ensure_dir(d) - logger.info('Creating %s' % path) - if not self.dry_run: - os.mkdir(path) - if self.record: - self.dirs_created.add(path) - - def byte_compile(self, path, optimize=False, force=False, prefix=None, hashed_invalidation=False): - dpath = cache_from_source(path, not optimize) - logger.info('Byte-compiling %s to %s', path, dpath) - if not self.dry_run: - if force or self.newer(path, dpath): - if not prefix: - diagpath = None - else: - assert path.startswith(prefix) - diagpath = path[len(prefix):] - compile_kwargs = {} - if hashed_invalidation and hasattr(py_compile, 'PycInvalidationMode'): - compile_kwargs['invalidation_mode'] = py_compile.PycInvalidationMode.CHECKED_HASH - py_compile.compile(path, dpath, diagpath, True, **compile_kwargs) # raise error - self.record_as_written(dpath) - return dpath - - def ensure_removed(self, path): - if os.path.exists(path): - if os.path.isdir(path) and not os.path.islink(path): - logger.debug('Removing directory tree at %s', path) - if not self.dry_run: - shutil.rmtree(path) - if self.record: - if path in self.dirs_created: - self.dirs_created.remove(path) - else: - if os.path.islink(path): - s = 'link' - else: - s = 'file' - logger.debug('Removing %s %s', s, path) - if not self.dry_run: - os.remove(path) - if self.record: - if path in self.files_written: - self.files_written.remove(path) - - def is_writable(self, path): - result = False - while not result: - if os.path.exists(path): - result = os.access(path, os.W_OK) - break - parent = os.path.dirname(path) - if parent == path: - break - path = parent - return result - - def commit(self): - """ - Commit recorded changes, turn off recording, return - changes. - """ - assert self.record - result = self.files_written, self.dirs_created - self._init_record() - return result - - def rollback(self): - if not self.dry_run: - for f in list(self.files_written): - if os.path.exists(f): - os.remove(f) - # dirs should all be empty now, except perhaps for - # __pycache__ subdirs - # reverse so that subdirs appear before their parents - dirs = sorted(self.dirs_created, reverse=True) - for d in dirs: - flist = os.listdir(d) - if flist: - assert flist == ['__pycache__'] - sd = os.path.join(d, flist[0]) - os.rmdir(sd) - os.rmdir(d) # should fail if non-empty - self._init_record() - -def resolve(module_name, dotted_path): - if module_name in sys.modules: - mod = sys.modules[module_name] - else: - mod = __import__(module_name) - if dotted_path is None: - result = mod - else: - parts = dotted_path.split('.') - result = getattr(mod, parts.pop(0)) - for p in parts: - result = getattr(result, p) - return result - - -class ExportEntry(object): - def __init__(self, name, prefix, suffix, flags): - self.name = name - self.prefix = prefix - self.suffix = suffix - self.flags = flags - - @cached_property - def value(self): - return resolve(self.prefix, self.suffix) - - def __repr__(self): # pragma: no cover - return '' % (self.name, self.prefix, - self.suffix, self.flags) - - def __eq__(self, other): - if not isinstance(other, ExportEntry): - result = False - else: - result = (self.name == other.name and - self.prefix == other.prefix and - self.suffix == other.suffix and - self.flags == other.flags) - return result - - __hash__ = object.__hash__ - - -ENTRY_RE = re.compile(r'''(?P(\w|[-.+])+) - \s*=\s*(?P(\w+)([:\.]\w+)*) - \s*(\[\s*(?P\w+(=\w+)?(,\s*\w+(=\w+)?)*)\s*\])? - ''', re.VERBOSE) - -def get_export_entry(specification): - m = ENTRY_RE.search(specification) - if not m: - result = None - if '[' in specification or ']' in specification: - raise DistlibException("Invalid specification " - "'%s'" % specification) - else: - d = m.groupdict() - name = d['name'] - path = d['callable'] - colons = path.count(':') - if colons == 0: - prefix, suffix = path, None - else: - if colons != 1: - raise DistlibException("Invalid specification " - "'%s'" % specification) - prefix, suffix = path.split(':') - flags = d['flags'] - if flags is None: - if '[' in specification or ']' in specification: - raise DistlibException("Invalid specification " - "'%s'" % specification) - flags = [] - else: - flags = [f.strip() for f in flags.split(',')] - result = ExportEntry(name, prefix, suffix, flags) - return result - - -def get_cache_base(suffix=None): - """ - Return the default base location for distlib caches. If the directory does - not exist, it is created. Use the suffix provided for the base directory, - and default to '.distlib' if it isn't provided. - - On Windows, if LOCALAPPDATA is defined in the environment, then it is - assumed to be a directory, and will be the parent directory of the result. - On POSIX, and on Windows if LOCALAPPDATA is not defined, the user's home - directory - using os.expanduser('~') - will be the parent directory of - the result. - - The result is just the directory '.distlib' in the parent directory as - determined above, or with the name specified with ``suffix``. - """ - if suffix is None: - suffix = '.distlib' - if os.name == 'nt' and 'LOCALAPPDATA' in os.environ: - result = os.path.expandvars('$localappdata') - else: - # Assume posix, or old Windows - result = os.path.expanduser('~') - # we use 'isdir' instead of 'exists', because we want to - # fail if there's a file with that name - if os.path.isdir(result): - usable = os.access(result, os.W_OK) - if not usable: - logger.warning('Directory exists but is not writable: %s', result) - else: - try: - os.makedirs(result) - usable = True - except OSError: - logger.warning('Unable to create %s', result, exc_info=True) - usable = False - if not usable: - result = tempfile.mkdtemp() - logger.warning('Default location unusable, using %s', result) - return os.path.join(result, suffix) - - -def path_to_cache_dir(path): - """ - Convert an absolute path to a directory name for use in a cache. - - The algorithm used is: - - #. On Windows, any ``':'`` in the drive is replaced with ``'---'``. - #. Any occurrence of ``os.sep`` is replaced with ``'--'``. - #. ``'.cache'`` is appended. - """ - d, p = os.path.splitdrive(os.path.abspath(path)) - if d: - d = d.replace(':', '---') - p = p.replace(os.sep, '--') - return d + p + '.cache' - - -def ensure_slash(s): - if not s.endswith('/'): - return s + '/' - return s - - -def parse_credentials(netloc): - username = password = None - if '@' in netloc: - prefix, netloc = netloc.rsplit('@', 1) - if ':' not in prefix: - username = prefix - else: - username, password = prefix.split(':', 1) - if username: - username = unquote(username) - if password: - password = unquote(password) - return username, password, netloc - - -def get_process_umask(): - result = os.umask(0o22) - os.umask(result) - return result - -def is_string_sequence(seq): - result = True - i = None - for i, s in enumerate(seq): - if not isinstance(s, string_types): - result = False - break - assert i is not None - return result - -PROJECT_NAME_AND_VERSION = re.compile('([a-z0-9_]+([.-][a-z_][a-z0-9_]*)*)-' - '([a-z0-9_.+-]+)', re.I) -PYTHON_VERSION = re.compile(r'-py(\d\.?\d?)') - - -def split_filename(filename, project_name=None): - """ - Extract name, version, python version from a filename (no extension) - - Return name, version, pyver or None - """ - result = None - pyver = None - filename = unquote(filename).replace(' ', '-') - m = PYTHON_VERSION.search(filename) - if m: - pyver = m.group(1) - filename = filename[:m.start()] - if project_name and len(filename) > len(project_name) + 1: - m = re.match(re.escape(project_name) + r'\b', filename) - if m: - n = m.end() - result = filename[:n], filename[n + 1:], pyver - if result is None: - m = PROJECT_NAME_AND_VERSION.match(filename) - if m: - result = m.group(1), m.group(3), pyver - return result - -# Allow spaces in name because of legacy dists like "Twisted Core" -NAME_VERSION_RE = re.compile(r'(?P[\w .-]+)\s*' - r'\(\s*(?P[^\s)]+)\)$') - -def parse_name_and_version(p): - """ - A utility method used to get name and version from a string. - - From e.g. a Provides-Dist value. - - :param p: A value in a form 'foo (1.0)' - :return: The name and version as a tuple. - """ - m = NAME_VERSION_RE.match(p) - if not m: - raise DistlibException('Ill-formed name/version string: \'%s\'' % p) - d = m.groupdict() - return d['name'].strip().lower(), d['ver'] - -def get_extras(requested, available): - result = set() - requested = set(requested or []) - available = set(available or []) - if '*' in requested: - requested.remove('*') - result |= available - for r in requested: - if r == '-': - result.add(r) - elif r.startswith('-'): - unwanted = r[1:] - if unwanted not in available: - logger.warning('undeclared extra: %s' % unwanted) - if unwanted in result: - result.remove(unwanted) - else: - if r not in available: - logger.warning('undeclared extra: %s' % r) - result.add(r) - return result -# -# Extended metadata functionality -# - -def _get_external_data(url): - result = {} - try: - # urlopen might fail if it runs into redirections, - # because of Python issue #13696. Fixed in locators - # using a custom redirect handler. - resp = urlopen(url) - headers = resp.info() - ct = headers.get('Content-Type') - if not ct.startswith('application/json'): - logger.debug('Unexpected response for JSON request: %s', ct) - else: - reader = codecs.getreader('utf-8')(resp) - #data = reader.read().decode('utf-8') - #result = json.loads(data) - result = json.load(reader) - except Exception as e: - logger.exception('Failed to get external data for %s: %s', url, e) - return result - -_external_data_base_url = 'https://www.red-dove.com/pypi/projects/' - -def get_project_data(name): - url = '%s/%s/project.json' % (name[0].upper(), name) - url = urljoin(_external_data_base_url, url) - result = _get_external_data(url) - return result - -def get_package_data(name, version): - url = '%s/%s/package-%s.json' % (name[0].upper(), name, version) - url = urljoin(_external_data_base_url, url) - return _get_external_data(url) - - -class Cache(object): - """ - A class implementing a cache for resources that need to live in the file system - e.g. shared libraries. This class was moved from resources to here because it - could be used by other modules, e.g. the wheel module. - """ - - def __init__(self, base): - """ - Initialise an instance. - - :param base: The base directory where the cache should be located. - """ - # we use 'isdir' instead of 'exists', because we want to - # fail if there's a file with that name - if not os.path.isdir(base): # pragma: no cover - os.makedirs(base) - if (os.stat(base).st_mode & 0o77) != 0: - logger.warning('Directory \'%s\' is not private', base) - self.base = os.path.abspath(os.path.normpath(base)) - - def prefix_to_dir(self, prefix): - """ - Converts a resource prefix to a directory name in the cache. - """ - return path_to_cache_dir(prefix) - - def clear(self): - """ - Clear the cache. - """ - not_removed = [] - for fn in os.listdir(self.base): - fn = os.path.join(self.base, fn) - try: - if os.path.islink(fn) or os.path.isfile(fn): - os.remove(fn) - elif os.path.isdir(fn): - shutil.rmtree(fn) - except Exception: - not_removed.append(fn) - return not_removed - - -class EventMixin(object): - """ - A very simple publish/subscribe system. - """ - def __init__(self): - self._subscribers = {} - - def add(self, event, subscriber, append=True): - """ - Add a subscriber for an event. - - :param event: The name of an event. - :param subscriber: The subscriber to be added (and called when the - event is published). - :param append: Whether to append or prepend the subscriber to an - existing subscriber list for the event. - """ - subs = self._subscribers - if event not in subs: - subs[event] = deque([subscriber]) - else: - sq = subs[event] - if append: - sq.append(subscriber) - else: - sq.appendleft(subscriber) - - def remove(self, event, subscriber): - """ - Remove a subscriber for an event. - - :param event: The name of an event. - :param subscriber: The subscriber to be removed. - """ - subs = self._subscribers - if event not in subs: - raise ValueError('No subscribers: %r' % event) - subs[event].remove(subscriber) - - def get_subscribers(self, event): - """ - Return an iterator for the subscribers for an event. - :param event: The event to return subscribers for. - """ - return iter(self._subscribers.get(event, ())) - - def publish(self, event, *args, **kwargs): - """ - Publish a event and return a list of values returned by its - subscribers. - - :param event: The event to publish. - :param args: The positional arguments to pass to the event's - subscribers. - :param kwargs: The keyword arguments to pass to the event's - subscribers. - """ - result = [] - for subscriber in self.get_subscribers(event): - try: - value = subscriber(event, *args, **kwargs) - except Exception: - logger.exception('Exception during event publication') - value = None - result.append(value) - logger.debug('publish %s: args = %s, kwargs = %s, result = %s', - event, args, kwargs, result) - return result - -# -# Simple sequencing -# -class Sequencer(object): - def __init__(self): - self._preds = {} - self._succs = {} - self._nodes = set() # nodes with no preds/succs - - def add_node(self, node): - self._nodes.add(node) - - def remove_node(self, node, edges=False): - if node in self._nodes: - self._nodes.remove(node) - if edges: - for p in set(self._preds.get(node, ())): - self.remove(p, node) - for s in set(self._succs.get(node, ())): - self.remove(node, s) - # Remove empties - for k, v in list(self._preds.items()): - if not v: - del self._preds[k] - for k, v in list(self._succs.items()): - if not v: - del self._succs[k] - - def add(self, pred, succ): - assert pred != succ - self._preds.setdefault(succ, set()).add(pred) - self._succs.setdefault(pred, set()).add(succ) - - def remove(self, pred, succ): - assert pred != succ - try: - preds = self._preds[succ] - succs = self._succs[pred] - except KeyError: # pragma: no cover - raise ValueError('%r not a successor of anything' % succ) - try: - preds.remove(pred) - succs.remove(succ) - except KeyError: # pragma: no cover - raise ValueError('%r not a successor of %r' % (succ, pred)) - - def is_step(self, step): - return (step in self._preds or step in self._succs or - step in self._nodes) - - def get_steps(self, final): - if not self.is_step(final): - raise ValueError('Unknown: %r' % final) - result = [] - todo = [] - seen = set() - todo.append(final) - while todo: - step = todo.pop(0) - if step in seen: - # if a step was already seen, - # move it to the end (so it will appear earlier - # when reversed on return) ... but not for the - # final step, as that would be confusing for - # users - if step != final: - result.remove(step) - result.append(step) - else: - seen.add(step) - result.append(step) - preds = self._preds.get(step, ()) - todo.extend(preds) - return reversed(result) - - @property - def strong_connections(self): - #http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm - index_counter = [0] - stack = [] - lowlinks = {} - index = {} - result = [] - - graph = self._succs - - def strongconnect(node): - # set the depth index for this node to the smallest unused index - index[node] = index_counter[0] - lowlinks[node] = index_counter[0] - index_counter[0] += 1 - stack.append(node) - - # Consider successors - try: - successors = graph[node] - except Exception: - successors = [] - for successor in successors: - if successor not in lowlinks: - # Successor has not yet been visited - strongconnect(successor) - lowlinks[node] = min(lowlinks[node],lowlinks[successor]) - elif successor in stack: - # the successor is in the stack and hence in the current - # strongly connected component (SCC) - lowlinks[node] = min(lowlinks[node],index[successor]) - - # If `node` is a root node, pop the stack and generate an SCC - if lowlinks[node] == index[node]: - connected_component = [] - - while True: - successor = stack.pop() - connected_component.append(successor) - if successor == node: break - component = tuple(connected_component) - # storing the result - result.append(component) - - for node in graph: - if node not in lowlinks: - strongconnect(node) - - return result - - @property - def dot(self): - result = ['digraph G {'] - for succ in self._preds: - preds = self._preds[succ] - for pred in preds: - result.append(' %s -> %s;' % (pred, succ)) - for node in self._nodes: - result.append(' %s;' % node) - result.append('}') - return '\n'.join(result) - -# -# Unarchiving functionality for zip, tar, tgz, tbz, whl -# - -ARCHIVE_EXTENSIONS = ('.tar.gz', '.tar.bz2', '.tar', '.zip', - '.tgz', '.tbz', '.whl') - -def unarchive(archive_filename, dest_dir, format=None, check=True): - - def check_path(path): - if not isinstance(path, text_type): - path = path.decode('utf-8') - p = os.path.abspath(os.path.join(dest_dir, path)) - if not p.startswith(dest_dir) or p[plen] != os.sep: - raise ValueError('path outside destination: %r' % p) - - dest_dir = os.path.abspath(dest_dir) - plen = len(dest_dir) - archive = None - if format is None: - if archive_filename.endswith(('.zip', '.whl')): - format = 'zip' - elif archive_filename.endswith(('.tar.gz', '.tgz')): - format = 'tgz' - mode = 'r:gz' - elif archive_filename.endswith(('.tar.bz2', '.tbz')): - format = 'tbz' - mode = 'r:bz2' - elif archive_filename.endswith('.tar'): - format = 'tar' - mode = 'r' - else: # pragma: no cover - raise ValueError('Unknown format for %r' % archive_filename) - try: - if format == 'zip': - archive = ZipFile(archive_filename, 'r') - if check: - names = archive.namelist() - for name in names: - check_path(name) - else: - archive = tarfile.open(archive_filename, mode) - if check: - names = archive.getnames() - for name in names: - check_path(name) - if format != 'zip' and sys.version_info[0] < 3: - # See Python issue 17153. If the dest path contains Unicode, - # tarfile extraction fails on Python 2.x if a member path name - # contains non-ASCII characters - it leads to an implicit - # bytes -> unicode conversion using ASCII to decode. - for tarinfo in archive.getmembers(): - if not isinstance(tarinfo.name, text_type): - tarinfo.name = tarinfo.name.decode('utf-8') - archive.extractall(dest_dir) - - finally: - if archive: - archive.close() - - -def zip_dir(directory): - """zip a directory tree into a BytesIO object""" - result = io.BytesIO() - dlen = len(directory) - with ZipFile(result, "w") as zf: - for root, dirs, files in os.walk(directory): - for name in files: - full = os.path.join(root, name) - rel = root[dlen:] - dest = os.path.join(rel, name) - zf.write(full, dest) - return result - -# -# Simple progress bar -# - -UNITS = ('', 'K', 'M', 'G','T','P') - - -class Progress(object): - unknown = 'UNKNOWN' - - def __init__(self, minval=0, maxval=100): - assert maxval is None or maxval >= minval - self.min = self.cur = minval - self.max = maxval - self.started = None - self.elapsed = 0 - self.done = False - - def update(self, curval): - assert self.min <= curval - assert self.max is None or curval <= self.max - self.cur = curval - now = time.time() - if self.started is None: - self.started = now - else: - self.elapsed = now - self.started - - def increment(self, incr): - assert incr >= 0 - self.update(self.cur + incr) - - def start(self): - self.update(self.min) - return self - - def stop(self): - if self.max is not None: - self.update(self.max) - self.done = True - - @property - def maximum(self): - return self.unknown if self.max is None else self.max - - @property - def percentage(self): - if self.done: - result = '100 %' - elif self.max is None: - result = ' ?? %' - else: - v = 100.0 * (self.cur - self.min) / (self.max - self.min) - result = '%3d %%' % v - return result - - def format_duration(self, duration): - if (duration <= 0) and self.max is None or self.cur == self.min: - result = '??:??:??' - #elif duration < 1: - # result = '--:--:--' - else: - result = time.strftime('%H:%M:%S', time.gmtime(duration)) - return result - - @property - def ETA(self): - if self.done: - prefix = 'Done' - t = self.elapsed - #import pdb; pdb.set_trace() - else: - prefix = 'ETA ' - if self.max is None: - t = -1 - elif self.elapsed == 0 or (self.cur == self.min): - t = 0 - else: - #import pdb; pdb.set_trace() - t = float(self.max - self.min) - t /= self.cur - self.min - t = (t - 1) * self.elapsed - return '%s: %s' % (prefix, self.format_duration(t)) - - @property - def speed(self): - if self.elapsed == 0: - result = 0.0 - else: - result = (self.cur - self.min) / self.elapsed - for unit in UNITS: - if result < 1000: - break - result /= 1000.0 - return '%d %sB/s' % (result, unit) - -# -# Glob functionality -# - -RICH_GLOB = re.compile(r'\{([^}]*)\}') -_CHECK_RECURSIVE_GLOB = re.compile(r'[^/\\,{]\*\*|\*\*[^/\\,}]') -_CHECK_MISMATCH_SET = re.compile(r'^[^{]*\}|\{[^}]*$') - - -def iglob(path_glob): - """Extended globbing function that supports ** and {opt1,opt2,opt3}.""" - if _CHECK_RECURSIVE_GLOB.search(path_glob): - msg = """invalid glob %r: recursive glob "**" must be used alone""" - raise ValueError(msg % path_glob) - if _CHECK_MISMATCH_SET.search(path_glob): - msg = """invalid glob %r: mismatching set marker '{' or '}'""" - raise ValueError(msg % path_glob) - return _iglob(path_glob) - - -def _iglob(path_glob): - rich_path_glob = RICH_GLOB.split(path_glob, 1) - if len(rich_path_glob) > 1: - assert len(rich_path_glob) == 3, rich_path_glob - prefix, set, suffix = rich_path_glob - for item in set.split(','): - for path in _iglob(''.join((prefix, item, suffix))): - yield path - else: - if '**' not in path_glob: - for item in std_iglob(path_glob): - yield item - else: - prefix, radical = path_glob.split('**', 1) - if prefix == '': - prefix = '.' - if radical == '': - radical = '*' - else: - # we support both - radical = radical.lstrip('/') - radical = radical.lstrip('\\') - for path, dir, files in os.walk(prefix): - path = os.path.normpath(path) - for fn in _iglob(os.path.join(path, radical)): - yield fn - -if ssl: - from .compat import (HTTPSHandler as BaseHTTPSHandler, match_hostname, - CertificateError) - - -# -# HTTPSConnection which verifies certificates/matches domains -# - - class HTTPSConnection(httplib.HTTPSConnection): - ca_certs = None # set this to the path to the certs file (.pem) - check_domain = True # only used if ca_certs is not None - - # noinspection PyPropertyAccess - def connect(self): - sock = socket.create_connection((self.host, self.port), self.timeout) - if getattr(self, '_tunnel_host', False): - self.sock = sock - self._tunnel() - - if not hasattr(ssl, 'SSLContext'): - # For 2.x - if self.ca_certs: - cert_reqs = ssl.CERT_REQUIRED - else: - cert_reqs = ssl.CERT_NONE - self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file, - cert_reqs=cert_reqs, - ssl_version=ssl.PROTOCOL_SSLv23, - ca_certs=self.ca_certs) - else: # pragma: no cover - context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) - context.options |= ssl.OP_NO_SSLv2 - if self.cert_file: - context.load_cert_chain(self.cert_file, self.key_file) - kwargs = {} - if self.ca_certs: - context.verify_mode = ssl.CERT_REQUIRED - context.load_verify_locations(cafile=self.ca_certs) - if getattr(ssl, 'HAS_SNI', False): - kwargs['server_hostname'] = self.host - self.sock = context.wrap_socket(sock, **kwargs) - if self.ca_certs and self.check_domain: - try: - match_hostname(self.sock.getpeercert(), self.host) - logger.debug('Host verified: %s', self.host) - except CertificateError: # pragma: no cover - self.sock.shutdown(socket.SHUT_RDWR) - self.sock.close() - raise - - class HTTPSHandler(BaseHTTPSHandler): - def __init__(self, ca_certs, check_domain=True): - BaseHTTPSHandler.__init__(self) - self.ca_certs = ca_certs - self.check_domain = check_domain - - def _conn_maker(self, *args, **kwargs): - """ - This is called to create a connection instance. Normally you'd - pass a connection class to do_open, but it doesn't actually check for - a class, and just expects a callable. As long as we behave just as a - constructor would have, we should be OK. If it ever changes so that - we *must* pass a class, we'll create an UnsafeHTTPSConnection class - which just sets check_domain to False in the class definition, and - choose which one to pass to do_open. - """ - result = HTTPSConnection(*args, **kwargs) - if self.ca_certs: - result.ca_certs = self.ca_certs - result.check_domain = self.check_domain - return result - - def https_open(self, req): - try: - return self.do_open(self._conn_maker, req) - except URLError as e: - if 'certificate verify failed' in str(e.reason): - raise CertificateError('Unable to verify server certificate ' - 'for %s' % req.host) - else: - raise - - # - # To prevent against mixing HTTP traffic with HTTPS (examples: A Man-In-The- - # Middle proxy using HTTP listens on port 443, or an index mistakenly serves - # HTML containing a http://xyz link when it should be https://xyz), - # you can use the following handler class, which does not allow HTTP traffic. - # - # It works by inheriting from HTTPHandler - so build_opener won't add a - # handler for HTTP itself. - # - class HTTPSOnlyHandler(HTTPSHandler, HTTPHandler): - def http_open(self, req): - raise URLError('Unexpected HTTP request on what should be a secure ' - 'connection: %s' % req) - -# -# XML-RPC with timeouts -# - -_ver_info = sys.version_info[:2] - -if _ver_info == (2, 6): - class HTTP(httplib.HTTP): - def __init__(self, host='', port=None, **kwargs): - if port == 0: # 0 means use port 0, not the default port - port = None - self._setup(self._connection_class(host, port, **kwargs)) - - - if ssl: - class HTTPS(httplib.HTTPS): - def __init__(self, host='', port=None, **kwargs): - if port == 0: # 0 means use port 0, not the default port - port = None - self._setup(self._connection_class(host, port, **kwargs)) - - -class Transport(xmlrpclib.Transport): - def __init__(self, timeout, use_datetime=0): - self.timeout = timeout - xmlrpclib.Transport.__init__(self, use_datetime) - - def make_connection(self, host): - h, eh, x509 = self.get_host_info(host) - if _ver_info == (2, 6): - result = HTTP(h, timeout=self.timeout) - else: - if not self._connection or host != self._connection[0]: - self._extra_headers = eh - self._connection = host, httplib.HTTPConnection(h) - result = self._connection[1] - return result - -if ssl: - class SafeTransport(xmlrpclib.SafeTransport): - def __init__(self, timeout, use_datetime=0): - self.timeout = timeout - xmlrpclib.SafeTransport.__init__(self, use_datetime) - - def make_connection(self, host): - h, eh, kwargs = self.get_host_info(host) - if not kwargs: - kwargs = {} - kwargs['timeout'] = self.timeout - if _ver_info == (2, 6): - result = HTTPS(host, None, **kwargs) - else: - if not self._connection or host != self._connection[0]: - self._extra_headers = eh - self._connection = host, httplib.HTTPSConnection(h, None, - **kwargs) - result = self._connection[1] - return result - - -class ServerProxy(xmlrpclib.ServerProxy): - def __init__(self, uri, **kwargs): - self.timeout = timeout = kwargs.pop('timeout', None) - # The above classes only come into play if a timeout - # is specified - if timeout is not None: - scheme, _ = splittype(uri) - use_datetime = kwargs.get('use_datetime', 0) - if scheme == 'https': - tcls = SafeTransport - else: - tcls = Transport - kwargs['transport'] = t = tcls(timeout, use_datetime=use_datetime) - self.transport = t - xmlrpclib.ServerProxy.__init__(self, uri, **kwargs) - -# -# CSV functionality. This is provided because on 2.x, the csv module can't -# handle Unicode. However, we need to deal with Unicode in e.g. RECORD files. -# - -def _csv_open(fn, mode, **kwargs): - if sys.version_info[0] < 3: - mode += 'b' - else: - kwargs['newline'] = '' - # Python 3 determines encoding from locale. Force 'utf-8' - # file encoding to match other forced utf-8 encoding - kwargs['encoding'] = 'utf-8' - return open(fn, mode, **kwargs) - - -class CSVBase(object): - defaults = { - 'delimiter': str(','), # The strs are used because we need native - 'quotechar': str('"'), # str in the csv API (2.x won't take - 'lineterminator': str('\n') # Unicode) - } - - def __enter__(self): - return self - - def __exit__(self, *exc_info): - self.stream.close() - - -class CSVReader(CSVBase): - def __init__(self, **kwargs): - if 'stream' in kwargs: - stream = kwargs['stream'] - if sys.version_info[0] >= 3: - # needs to be a text stream - stream = codecs.getreader('utf-8')(stream) - self.stream = stream - else: - self.stream = _csv_open(kwargs['path'], 'r') - self.reader = csv.reader(self.stream, **self.defaults) - - def __iter__(self): - return self - - def next(self): - result = next(self.reader) - if sys.version_info[0] < 3: - for i, item in enumerate(result): - if not isinstance(item, text_type): - result[i] = item.decode('utf-8') - return result - - __next__ = next - -class CSVWriter(CSVBase): - def __init__(self, fn, **kwargs): - self.stream = _csv_open(fn, 'w') - self.writer = csv.writer(self.stream, **self.defaults) - - def writerow(self, row): - if sys.version_info[0] < 3: - r = [] - for item in row: - if isinstance(item, text_type): - item = item.encode('utf-8') - r.append(item) - row = r - self.writer.writerow(row) - -# -# Configurator functionality -# - -class Configurator(BaseConfigurator): - - value_converters = dict(BaseConfigurator.value_converters) - value_converters['inc'] = 'inc_convert' - - def __init__(self, config, base=None): - super(Configurator, self).__init__(config) - self.base = base or os.getcwd() - - def configure_custom(self, config): - def convert(o): - if isinstance(o, (list, tuple)): - result = type(o)([convert(i) for i in o]) - elif isinstance(o, dict): - if '()' in o: - result = self.configure_custom(o) - else: - result = {} - for k in o: - result[k] = convert(o[k]) - else: - result = self.convert(o) - return result - - c = config.pop('()') - if not callable(c): - c = self.resolve(c) - props = config.pop('.', None) - # Check for valid identifiers - args = config.pop('[]', ()) - if args: - args = tuple([convert(o) for o in args]) - items = [(k, convert(config[k])) for k in config if valid_ident(k)] - kwargs = dict(items) - result = c(*args, **kwargs) - if props: - for n, v in props.items(): - setattr(result, n, convert(v)) - return result - - def __getitem__(self, key): - result = self.config[key] - if isinstance(result, dict) and '()' in result: - self.config[key] = result = self.configure_custom(result) - return result - - def inc_convert(self, value): - """Default converter for the inc:// protocol.""" - if not os.path.isabs(value): - value = os.path.join(self.base, value) - with codecs.open(value, 'r', encoding='utf-8') as f: - result = json.load(f) - return result - - -class SubprocessMixin(object): - """ - Mixin for running subprocesses and capturing their output - """ - def __init__(self, verbose=False, progress=None): - self.verbose = verbose - self.progress = progress - - def reader(self, stream, context): - """ - Read lines from a subprocess' output stream and either pass to a progress - callable (if specified) or write progress information to sys.stderr. - """ - progress = self.progress - verbose = self.verbose - while True: - s = stream.readline() - if not s: - break - if progress is not None: - progress(s, context) - else: - if not verbose: - sys.stderr.write('.') - else: - sys.stderr.write(s.decode('utf-8')) - sys.stderr.flush() - stream.close() - - def run_command(self, cmd, **kwargs): - p = subprocess.Popen(cmd, stdout=subprocess.PIPE, - stderr=subprocess.PIPE, **kwargs) - t1 = threading.Thread(target=self.reader, args=(p.stdout, 'stdout')) - t1.start() - t2 = threading.Thread(target=self.reader, args=(p.stderr, 'stderr')) - t2.start() - p.wait() - t1.join() - t2.join() - if self.progress is not None: - self.progress('done.', 'main') - elif self.verbose: - sys.stderr.write('done.\n') - return p - - -def normalize_name(name): - """Normalize a python package name a la PEP 503""" - # https://www.python.org/dev/peps/pep-0503/#normalized-names - return re.sub('[-_.]+', '-', name).lower() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/version.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/version.py deleted file mode 100644 index 3eebe18..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/version.py +++ /dev/null @@ -1,736 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Copyright (C) 2012-2017 The Python Software Foundation. -# See LICENSE.txt and CONTRIBUTORS.txt. -# -""" -Implementation of a flexible versioning scheme providing support for PEP-440, -setuptools-compatible and semantic versioning. -""" - -import logging -import re - -from .compat import string_types -from .util import parse_requirement - -__all__ = ['NormalizedVersion', 'NormalizedMatcher', - 'LegacyVersion', 'LegacyMatcher', - 'SemanticVersion', 'SemanticMatcher', - 'UnsupportedVersionError', 'get_scheme'] - -logger = logging.getLogger(__name__) - - -class UnsupportedVersionError(ValueError): - """This is an unsupported version.""" - pass - - -class Version(object): - def __init__(self, s): - self._string = s = s.strip() - self._parts = parts = self.parse(s) - assert isinstance(parts, tuple) - assert len(parts) > 0 - - def parse(self, s): - raise NotImplementedError('please implement in a subclass') - - def _check_compatible(self, other): - if type(self) != type(other): - raise TypeError('cannot compare %r and %r' % (self, other)) - - def __eq__(self, other): - self._check_compatible(other) - return self._parts == other._parts - - def __ne__(self, other): - return not self.__eq__(other) - - def __lt__(self, other): - self._check_compatible(other) - return self._parts < other._parts - - def __gt__(self, other): - return not (self.__lt__(other) or self.__eq__(other)) - - def __le__(self, other): - return self.__lt__(other) or self.__eq__(other) - - def __ge__(self, other): - return self.__gt__(other) or self.__eq__(other) - - # See http://docs.python.org/reference/datamodel#object.__hash__ - def __hash__(self): - return hash(self._parts) - - def __repr__(self): - return "%s('%s')" % (self.__class__.__name__, self._string) - - def __str__(self): - return self._string - - @property - def is_prerelease(self): - raise NotImplementedError('Please implement in subclasses.') - - -class Matcher(object): - version_class = None - - # value is either a callable or the name of a method - _operators = { - '<': lambda v, c, p: v < c, - '>': lambda v, c, p: v > c, - '<=': lambda v, c, p: v == c or v < c, - '>=': lambda v, c, p: v == c or v > c, - '==': lambda v, c, p: v == c, - '===': lambda v, c, p: v == c, - # by default, compatible => >=. - '~=': lambda v, c, p: v == c or v > c, - '!=': lambda v, c, p: v != c, - } - - # this is a method only to support alternative implementations - # via overriding - def parse_requirement(self, s): - return parse_requirement(s) - - def __init__(self, s): - if self.version_class is None: - raise ValueError('Please specify a version class') - self._string = s = s.strip() - r = self.parse_requirement(s) - if not r: - raise ValueError('Not valid: %r' % s) - self.name = r.name - self.key = self.name.lower() # for case-insensitive comparisons - clist = [] - if r.constraints: - # import pdb; pdb.set_trace() - for op, s in r.constraints: - if s.endswith('.*'): - if op not in ('==', '!='): - raise ValueError('\'.*\' not allowed for ' - '%r constraints' % op) - # Could be a partial version (e.g. for '2.*') which - # won't parse as a version, so keep it as a string - vn, prefix = s[:-2], True - # Just to check that vn is a valid version - self.version_class(vn) - else: - # Should parse as a version, so we can create an - # instance for the comparison - vn, prefix = self.version_class(s), False - clist.append((op, vn, prefix)) - self._parts = tuple(clist) - - def match(self, version): - """ - Check if the provided version matches the constraints. - - :param version: The version to match against this instance. - :type version: String or :class:`Version` instance. - """ - if isinstance(version, string_types): - version = self.version_class(version) - for operator, constraint, prefix in self._parts: - f = self._operators.get(operator) - if isinstance(f, string_types): - f = getattr(self, f) - if not f: - msg = ('%r not implemented ' - 'for %s' % (operator, self.__class__.__name__)) - raise NotImplementedError(msg) - if not f(version, constraint, prefix): - return False - return True - - @property - def exact_version(self): - result = None - if len(self._parts) == 1 and self._parts[0][0] in ('==', '==='): - result = self._parts[0][1] - return result - - def _check_compatible(self, other): - if type(self) != type(other) or self.name != other.name: - raise TypeError('cannot compare %s and %s' % (self, other)) - - def __eq__(self, other): - self._check_compatible(other) - return self.key == other.key and self._parts == other._parts - - def __ne__(self, other): - return not self.__eq__(other) - - # See http://docs.python.org/reference/datamodel#object.__hash__ - def __hash__(self): - return hash(self.key) + hash(self._parts) - - def __repr__(self): - return "%s(%r)" % (self.__class__.__name__, self._string) - - def __str__(self): - return self._string - - -PEP440_VERSION_RE = re.compile(r'^v?(\d+!)?(\d+(\.\d+)*)((a|b|c|rc)(\d+))?' - r'(\.(post)(\d+))?(\.(dev)(\d+))?' - r'(\+([a-zA-Z\d]+(\.[a-zA-Z\d]+)?))?$') - - -def _pep_440_key(s): - s = s.strip() - m = PEP440_VERSION_RE.match(s) - if not m: - raise UnsupportedVersionError('Not a valid version: %s' % s) - groups = m.groups() - nums = tuple(int(v) for v in groups[1].split('.')) - while len(nums) > 1 and nums[-1] == 0: - nums = nums[:-1] - - if not groups[0]: - epoch = 0 - else: - epoch = int(groups[0]) - pre = groups[4:6] - post = groups[7:9] - dev = groups[10:12] - local = groups[13] - if pre == (None, None): - pre = () - else: - pre = pre[0], int(pre[1]) - if post == (None, None): - post = () - else: - post = post[0], int(post[1]) - if dev == (None, None): - dev = () - else: - dev = dev[0], int(dev[1]) - if local is None: - local = () - else: - parts = [] - for part in local.split('.'): - # to ensure that numeric compares as > lexicographic, avoid - # comparing them directly, but encode a tuple which ensures - # correct sorting - if part.isdigit(): - part = (1, int(part)) - else: - part = (0, part) - parts.append(part) - local = tuple(parts) - if not pre: - # either before pre-release, or final release and after - if not post and dev: - # before pre-release - pre = ('a', -1) # to sort before a0 - else: - pre = ('z',) # to sort after all pre-releases - # now look at the state of post and dev. - if not post: - post = ('_',) # sort before 'a' - if not dev: - dev = ('final',) - - #print('%s -> %s' % (s, m.groups())) - return epoch, nums, pre, post, dev, local - - -_normalized_key = _pep_440_key - - -class NormalizedVersion(Version): - """A rational version. - - Good: - 1.2 # equivalent to "1.2.0" - 1.2.0 - 1.2a1 - 1.2.3a2 - 1.2.3b1 - 1.2.3c1 - 1.2.3.4 - TODO: fill this out - - Bad: - 1 # minimum two numbers - 1.2a # release level must have a release serial - 1.2.3b - """ - def parse(self, s): - result = _normalized_key(s) - # _normalized_key loses trailing zeroes in the release - # clause, since that's needed to ensure that X.Y == X.Y.0 == X.Y.0.0 - # However, PEP 440 prefix matching needs it: for example, - # (~= 1.4.5.0) matches differently to (~= 1.4.5.0.0). - m = PEP440_VERSION_RE.match(s) # must succeed - groups = m.groups() - self._release_clause = tuple(int(v) for v in groups[1].split('.')) - return result - - PREREL_TAGS = set(['a', 'b', 'c', 'rc', 'dev']) - - @property - def is_prerelease(self): - return any(t[0] in self.PREREL_TAGS for t in self._parts if t) - - -def _match_prefix(x, y): - x = str(x) - y = str(y) - if x == y: - return True - if not x.startswith(y): - return False - n = len(y) - return x[n] == '.' - - -class NormalizedMatcher(Matcher): - version_class = NormalizedVersion - - # value is either a callable or the name of a method - _operators = { - '~=': '_match_compatible', - '<': '_match_lt', - '>': '_match_gt', - '<=': '_match_le', - '>=': '_match_ge', - '==': '_match_eq', - '===': '_match_arbitrary', - '!=': '_match_ne', - } - - def _adjust_local(self, version, constraint, prefix): - if prefix: - strip_local = '+' not in constraint and version._parts[-1] - else: - # both constraint and version are - # NormalizedVersion instances. - # If constraint does not have a local component, - # ensure the version doesn't, either. - strip_local = not constraint._parts[-1] and version._parts[-1] - if strip_local: - s = version._string.split('+', 1)[0] - version = self.version_class(s) - return version, constraint - - def _match_lt(self, version, constraint, prefix): - version, constraint = self._adjust_local(version, constraint, prefix) - if version >= constraint: - return False - release_clause = constraint._release_clause - pfx = '.'.join([str(i) for i in release_clause]) - return not _match_prefix(version, pfx) - - def _match_gt(self, version, constraint, prefix): - version, constraint = self._adjust_local(version, constraint, prefix) - if version <= constraint: - return False - release_clause = constraint._release_clause - pfx = '.'.join([str(i) for i in release_clause]) - return not _match_prefix(version, pfx) - - def _match_le(self, version, constraint, prefix): - version, constraint = self._adjust_local(version, constraint, prefix) - return version <= constraint - - def _match_ge(self, version, constraint, prefix): - version, constraint = self._adjust_local(version, constraint, prefix) - return version >= constraint - - def _match_eq(self, version, constraint, prefix): - version, constraint = self._adjust_local(version, constraint, prefix) - if not prefix: - result = (version == constraint) - else: - result = _match_prefix(version, constraint) - return result - - def _match_arbitrary(self, version, constraint, prefix): - return str(version) == str(constraint) - - def _match_ne(self, version, constraint, prefix): - version, constraint = self._adjust_local(version, constraint, prefix) - if not prefix: - result = (version != constraint) - else: - result = not _match_prefix(version, constraint) - return result - - def _match_compatible(self, version, constraint, prefix): - version, constraint = self._adjust_local(version, constraint, prefix) - if version == constraint: - return True - if version < constraint: - return False -# if not prefix: -# return True - release_clause = constraint._release_clause - if len(release_clause) > 1: - release_clause = release_clause[:-1] - pfx = '.'.join([str(i) for i in release_clause]) - return _match_prefix(version, pfx) - -_REPLACEMENTS = ( - (re.compile('[.+-]$'), ''), # remove trailing puncts - (re.compile(r'^[.](\d)'), r'0.\1'), # .N -> 0.N at start - (re.compile('^[.-]'), ''), # remove leading puncts - (re.compile(r'^\((.*)\)$'), r'\1'), # remove parentheses - (re.compile(r'^v(ersion)?\s*(\d+)'), r'\2'), # remove leading v(ersion) - (re.compile(r'^r(ev)?\s*(\d+)'), r'\2'), # remove leading v(ersion) - (re.compile('[.]{2,}'), '.'), # multiple runs of '.' - (re.compile(r'\b(alfa|apha)\b'), 'alpha'), # misspelt alpha - (re.compile(r'\b(pre-alpha|prealpha)\b'), - 'pre.alpha'), # standardise - (re.compile(r'\(beta\)$'), 'beta'), # remove parentheses -) - -_SUFFIX_REPLACEMENTS = ( - (re.compile('^[:~._+-]+'), ''), # remove leading puncts - (re.compile('[,*")([\\]]'), ''), # remove unwanted chars - (re.compile('[~:+_ -]'), '.'), # replace illegal chars - (re.compile('[.]{2,}'), '.'), # multiple runs of '.' - (re.compile(r'\.$'), ''), # trailing '.' -) - -_NUMERIC_PREFIX = re.compile(r'(\d+(\.\d+)*)') - - -def _suggest_semantic_version(s): - """ - Try to suggest a semantic form for a version for which - _suggest_normalized_version couldn't come up with anything. - """ - result = s.strip().lower() - for pat, repl in _REPLACEMENTS: - result = pat.sub(repl, result) - if not result: - result = '0.0.0' - - # Now look for numeric prefix, and separate it out from - # the rest. - #import pdb; pdb.set_trace() - m = _NUMERIC_PREFIX.match(result) - if not m: - prefix = '0.0.0' - suffix = result - else: - prefix = m.groups()[0].split('.') - prefix = [int(i) for i in prefix] - while len(prefix) < 3: - prefix.append(0) - if len(prefix) == 3: - suffix = result[m.end():] - else: - suffix = '.'.join([str(i) for i in prefix[3:]]) + result[m.end():] - prefix = prefix[:3] - prefix = '.'.join([str(i) for i in prefix]) - suffix = suffix.strip() - if suffix: - #import pdb; pdb.set_trace() - # massage the suffix. - for pat, repl in _SUFFIX_REPLACEMENTS: - suffix = pat.sub(repl, suffix) - - if not suffix: - result = prefix - else: - sep = '-' if 'dev' in suffix else '+' - result = prefix + sep + suffix - if not is_semver(result): - result = None - return result - - -def _suggest_normalized_version(s): - """Suggest a normalized version close to the given version string. - - If you have a version string that isn't rational (i.e. NormalizedVersion - doesn't like it) then you might be able to get an equivalent (or close) - rational version from this function. - - This does a number of simple normalizations to the given string, based - on observation of versions currently in use on PyPI. Given a dump of - those version during PyCon 2009, 4287 of them: - - 2312 (53.93%) match NormalizedVersion without change - with the automatic suggestion - - 3474 (81.04%) match when using this suggestion method - - @param s {str} An irrational version string. - @returns A rational version string, or None, if couldn't determine one. - """ - try: - _normalized_key(s) - return s # already rational - except UnsupportedVersionError: - pass - - rs = s.lower() - - # part of this could use maketrans - for orig, repl in (('-alpha', 'a'), ('-beta', 'b'), ('alpha', 'a'), - ('beta', 'b'), ('rc', 'c'), ('-final', ''), - ('-pre', 'c'), - ('-release', ''), ('.release', ''), ('-stable', ''), - ('+', '.'), ('_', '.'), (' ', ''), ('.final', ''), - ('final', '')): - rs = rs.replace(orig, repl) - - # if something ends with dev or pre, we add a 0 - rs = re.sub(r"pre$", r"pre0", rs) - rs = re.sub(r"dev$", r"dev0", rs) - - # if we have something like "b-2" or "a.2" at the end of the - # version, that is probably beta, alpha, etc - # let's remove the dash or dot - rs = re.sub(r"([abc]|rc)[\-\.](\d+)$", r"\1\2", rs) - - # 1.0-dev-r371 -> 1.0.dev371 - # 0.1-dev-r79 -> 0.1.dev79 - rs = re.sub(r"[\-\.](dev)[\-\.]?r?(\d+)$", r".\1\2", rs) - - # Clean: 2.0.a.3, 2.0.b1, 0.9.0~c1 - rs = re.sub(r"[.~]?([abc])\.?", r"\1", rs) - - # Clean: v0.3, v1.0 - if rs.startswith('v'): - rs = rs[1:] - - # Clean leading '0's on numbers. - #TODO: unintended side-effect on, e.g., "2003.05.09" - # PyPI stats: 77 (~2%) better - rs = re.sub(r"\b0+(\d+)(?!\d)", r"\1", rs) - - # Clean a/b/c with no version. E.g. "1.0a" -> "1.0a0". Setuptools infers - # zero. - # PyPI stats: 245 (7.56%) better - rs = re.sub(r"(\d+[abc])$", r"\g<1>0", rs) - - # the 'dev-rNNN' tag is a dev tag - rs = re.sub(r"\.?(dev-r|dev\.r)\.?(\d+)$", r".dev\2", rs) - - # clean the - when used as a pre delimiter - rs = re.sub(r"-(a|b|c)(\d+)$", r"\1\2", rs) - - # a terminal "dev" or "devel" can be changed into ".dev0" - rs = re.sub(r"[\.\-](dev|devel)$", r".dev0", rs) - - # a terminal "dev" can be changed into ".dev0" - rs = re.sub(r"(?![\.\-])dev$", r".dev0", rs) - - # a terminal "final" or "stable" can be removed - rs = re.sub(r"(final|stable)$", "", rs) - - # The 'r' and the '-' tags are post release tags - # 0.4a1.r10 -> 0.4a1.post10 - # 0.9.33-17222 -> 0.9.33.post17222 - # 0.9.33-r17222 -> 0.9.33.post17222 - rs = re.sub(r"\.?(r|-|-r)\.?(\d+)$", r".post\2", rs) - - # Clean 'r' instead of 'dev' usage: - # 0.9.33+r17222 -> 0.9.33.dev17222 - # 1.0dev123 -> 1.0.dev123 - # 1.0.git123 -> 1.0.dev123 - # 1.0.bzr123 -> 1.0.dev123 - # 0.1a0dev.123 -> 0.1a0.dev123 - # PyPI stats: ~150 (~4%) better - rs = re.sub(r"\.?(dev|git|bzr)\.?(\d+)$", r".dev\2", rs) - - # Clean '.pre' (normalized from '-pre' above) instead of 'c' usage: - # 0.2.pre1 -> 0.2c1 - # 0.2-c1 -> 0.2c1 - # 1.0preview123 -> 1.0c123 - # PyPI stats: ~21 (0.62%) better - rs = re.sub(r"\.?(pre|preview|-c)(\d+)$", r"c\g<2>", rs) - - # Tcl/Tk uses "px" for their post release markers - rs = re.sub(r"p(\d+)$", r".post\1", rs) - - try: - _normalized_key(rs) - except UnsupportedVersionError: - rs = None - return rs - -# -# Legacy version processing (distribute-compatible) -# - -_VERSION_PART = re.compile(r'([a-z]+|\d+|[\.-])', re.I) -_VERSION_REPLACE = { - 'pre': 'c', - 'preview': 'c', - '-': 'final-', - 'rc': 'c', - 'dev': '@', - '': None, - '.': None, -} - - -def _legacy_key(s): - def get_parts(s): - result = [] - for p in _VERSION_PART.split(s.lower()): - p = _VERSION_REPLACE.get(p, p) - if p: - if '0' <= p[:1] <= '9': - p = p.zfill(8) - else: - p = '*' + p - result.append(p) - result.append('*final') - return result - - result = [] - for p in get_parts(s): - if p.startswith('*'): - if p < '*final': - while result and result[-1] == '*final-': - result.pop() - while result and result[-1] == '00000000': - result.pop() - result.append(p) - return tuple(result) - - -class LegacyVersion(Version): - def parse(self, s): - return _legacy_key(s) - - @property - def is_prerelease(self): - result = False - for x in self._parts: - if (isinstance(x, string_types) and x.startswith('*') and - x < '*final'): - result = True - break - return result - - -class LegacyMatcher(Matcher): - version_class = LegacyVersion - - _operators = dict(Matcher._operators) - _operators['~='] = '_match_compatible' - - numeric_re = re.compile(r'^(\d+(\.\d+)*)') - - def _match_compatible(self, version, constraint, prefix): - if version < constraint: - return False - m = self.numeric_re.match(str(constraint)) - if not m: - logger.warning('Cannot compute compatible match for version %s ' - ' and constraint %s', version, constraint) - return True - s = m.groups()[0] - if '.' in s: - s = s.rsplit('.', 1)[0] - return _match_prefix(version, s) - -# -# Semantic versioning -# - -_SEMVER_RE = re.compile(r'^(\d+)\.(\d+)\.(\d+)' - r'(-[a-z0-9]+(\.[a-z0-9-]+)*)?' - r'(\+[a-z0-9]+(\.[a-z0-9-]+)*)?$', re.I) - - -def is_semver(s): - return _SEMVER_RE.match(s) - - -def _semantic_key(s): - def make_tuple(s, absent): - if s is None: - result = (absent,) - else: - parts = s[1:].split('.') - # We can't compare ints and strings on Python 3, so fudge it - # by zero-filling numeric values so simulate a numeric comparison - result = tuple([p.zfill(8) if p.isdigit() else p for p in parts]) - return result - - m = is_semver(s) - if not m: - raise UnsupportedVersionError(s) - groups = m.groups() - major, minor, patch = [int(i) for i in groups[:3]] - # choose the '|' and '*' so that versions sort correctly - pre, build = make_tuple(groups[3], '|'), make_tuple(groups[5], '*') - return (major, minor, patch), pre, build - - -class SemanticVersion(Version): - def parse(self, s): - return _semantic_key(s) - - @property - def is_prerelease(self): - return self._parts[1][0] != '|' - - -class SemanticMatcher(Matcher): - version_class = SemanticVersion - - -class VersionScheme(object): - def __init__(self, key, matcher, suggester=None): - self.key = key - self.matcher = matcher - self.suggester = suggester - - def is_valid_version(self, s): - try: - self.matcher.version_class(s) - result = True - except UnsupportedVersionError: - result = False - return result - - def is_valid_matcher(self, s): - try: - self.matcher(s) - result = True - except UnsupportedVersionError: - result = False - return result - - def is_valid_constraint_list(self, s): - """ - Used for processing some metadata fields - """ - return self.is_valid_matcher('dummy_name (%s)' % s) - - def suggest(self, s): - if self.suggester is None: - result = None - else: - result = self.suggester(s) - return result - -_SCHEMES = { - 'normalized': VersionScheme(_normalized_key, NormalizedMatcher, - _suggest_normalized_version), - 'legacy': VersionScheme(_legacy_key, LegacyMatcher, lambda self, s: s), - 'semantic': VersionScheme(_semantic_key, SemanticMatcher, - _suggest_semantic_version), -} - -_SCHEMES['default'] = _SCHEMES['normalized'] - - -def get_scheme(name): - if name not in _SCHEMES: - raise ValueError('unknown scheme name: %r' % name) - return _SCHEMES[name] diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/w32.exe b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/w32.exe deleted file mode 100644 index 4df77001a222c84ff3fef542618b3f45f4c1eb9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89088 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 DO6W+w diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/wheel.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/wheel.py deleted file mode 100644 index 0c8efad..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distlib/wheel.py +++ /dev/null @@ -1,1004 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Copyright (C) 2013-2017 Vinay Sajip. -# Licensed to the Python Software Foundation under a contributor agreement. -# See LICENSE.txt and CONTRIBUTORS.txt. -# -from __future__ import unicode_literals - -import base64 -import codecs -import datetime -import distutils.util -from email import message_from_file -import hashlib -import imp -import json -import logging -import os -import posixpath -import re -import shutil -import sys -import tempfile -import zipfile - -from . import __version__, DistlibException -from .compat import sysconfig, ZipFile, fsdecode, text_type, filter -from .database import InstalledDistribution -from .metadata import Metadata, METADATA_FILENAME, WHEEL_METADATA_FILENAME -from .util import (FileOperator, convert_path, CSVReader, CSVWriter, Cache, - cached_property, get_cache_base, read_exports, tempdir) -from .version import NormalizedVersion, UnsupportedVersionError - -logger = logging.getLogger(__name__) - -cache = None # created when needed - -if hasattr(sys, 'pypy_version_info'): # pragma: no cover - IMP_PREFIX = 'pp' -elif sys.platform.startswith('java'): # pragma: no cover - IMP_PREFIX = 'jy' -elif sys.platform == 'cli': # pragma: no cover - IMP_PREFIX = 'ip' -else: - IMP_PREFIX = 'cp' - -VER_SUFFIX = sysconfig.get_config_var('py_version_nodot') -if not VER_SUFFIX: # pragma: no cover - VER_SUFFIX = '%s%s' % sys.version_info[:2] -PYVER = 'py' + VER_SUFFIX -IMPVER = IMP_PREFIX + VER_SUFFIX - -ARCH = distutils.util.get_platform().replace('-', '_').replace('.', '_') - -ABI = sysconfig.get_config_var('SOABI') -if ABI and ABI.startswith('cpython-'): - ABI = ABI.replace('cpython-', 'cp') -else: - def _derive_abi(): - parts = ['cp', VER_SUFFIX] - if sysconfig.get_config_var('Py_DEBUG'): - parts.append('d') - if sysconfig.get_config_var('WITH_PYMALLOC'): - parts.append('m') - if sysconfig.get_config_var('Py_UNICODE_SIZE') == 4: - parts.append('u') - return ''.join(parts) - ABI = _derive_abi() - del _derive_abi - -FILENAME_RE = re.compile(r''' -(?P[^-]+) --(?P\d+[^-]*) -(-(?P\d+[^-]*))? --(?P\w+\d+(\.\w+\d+)*) --(?P\w+) --(?P\w+(\.\w+)*) -\.whl$ -''', re.IGNORECASE | re.VERBOSE) - -NAME_VERSION_RE = re.compile(r''' -(?P[^-]+) --(?P\d+[^-]*) -(-(?P\d+[^-]*))?$ -''', re.IGNORECASE | re.VERBOSE) - -SHEBANG_RE = re.compile(br'\s*#![^\r\n]*') -SHEBANG_DETAIL_RE = re.compile(br'^(\s*#!("[^"]+"|\S+))\s+(.*)$') -SHEBANG_PYTHON = b'#!python' -SHEBANG_PYTHONW = b'#!pythonw' - -if os.sep == '/': - to_posix = lambda o: o -else: - to_posix = lambda o: o.replace(os.sep, '/') - - -class Mounter(object): - def __init__(self): - self.impure_wheels = {} - self.libs = {} - - def add(self, pathname, extensions): - self.impure_wheels[pathname] = extensions - self.libs.update(extensions) - - def remove(self, pathname): - extensions = self.impure_wheels.pop(pathname) - for k, v in extensions: - if k in self.libs: - del self.libs[k] - - def find_module(self, fullname, path=None): - if fullname in self.libs: - result = self - else: - result = None - return result - - def load_module(self, fullname): - if fullname in sys.modules: - result = sys.modules[fullname] - else: - if fullname not in self.libs: - raise ImportError('unable to find extension for %s' % fullname) - result = imp.load_dynamic(fullname, self.libs[fullname]) - result.__loader__ = self - parts = fullname.rsplit('.', 1) - if len(parts) > 1: - result.__package__ = parts[0] - return result - -_hook = Mounter() - - -class Wheel(object): - """ - Class to build and install from Wheel files (PEP 427). - """ - - wheel_version = (1, 1) - hash_kind = 'sha256' - - def __init__(self, filename=None, sign=False, verify=False): - """ - Initialise an instance using a (valid) filename. - """ - self.sign = sign - self.should_verify = verify - self.buildver = '' - self.pyver = [PYVER] - self.abi = ['none'] - self.arch = ['any'] - self.dirname = os.getcwd() - if filename is None: - self.name = 'dummy' - self.version = '0.1' - self._filename = self.filename - else: - m = NAME_VERSION_RE.match(filename) - if m: - info = m.groupdict('') - self.name = info['nm'] - # Reinstate the local version separator - self.version = info['vn'].replace('_', '-') - self.buildver = info['bn'] - self._filename = self.filename - else: - dirname, filename = os.path.split(filename) - m = FILENAME_RE.match(filename) - if not m: - raise DistlibException('Invalid name or ' - 'filename: %r' % filename) - if dirname: - self.dirname = os.path.abspath(dirname) - self._filename = filename - info = m.groupdict('') - self.name = info['nm'] - self.version = info['vn'] - self.buildver = info['bn'] - self.pyver = info['py'].split('.') - self.abi = info['bi'].split('.') - self.arch = info['ar'].split('.') - - @property - def filename(self): - """ - Build and return a filename from the various components. - """ - if self.buildver: - buildver = '-' + self.buildver - else: - buildver = '' - pyver = '.'.join(self.pyver) - abi = '.'.join(self.abi) - arch = '.'.join(self.arch) - # replace - with _ as a local version separator - version = self.version.replace('-', '_') - return '%s-%s%s-%s-%s-%s.whl' % (self.name, version, buildver, - pyver, abi, arch) - - @property - def exists(self): - path = os.path.join(self.dirname, self.filename) - return os.path.isfile(path) - - @property - def tags(self): - for pyver in self.pyver: - for abi in self.abi: - for arch in self.arch: - yield pyver, abi, arch - - @cached_property - def metadata(self): - pathname = os.path.join(self.dirname, self.filename) - name_ver = '%s-%s' % (self.name, self.version) - info_dir = '%s.dist-info' % name_ver - wrapper = codecs.getreader('utf-8') - with ZipFile(pathname, 'r') as zf: - wheel_metadata = self.get_wheel_metadata(zf) - wv = wheel_metadata['Wheel-Version'].split('.', 1) - file_version = tuple([int(i) for i in wv]) - if file_version < (1, 1): - fns = [WHEEL_METADATA_FILENAME, METADATA_FILENAME, 'METADATA'] - else: - fns = [WHEEL_METADATA_FILENAME, METADATA_FILENAME] - result = None - for fn in fns: - try: - metadata_filename = posixpath.join(info_dir, fn) - with zf.open(metadata_filename) as bf: - wf = wrapper(bf) - result = Metadata(fileobj=wf) - if result: - break - except KeyError: - pass - if not result: - raise ValueError('Invalid wheel, because metadata is ' - 'missing: looked in %s' % ', '.join(fns)) - return result - - def get_wheel_metadata(self, zf): - name_ver = '%s-%s' % (self.name, self.version) - info_dir = '%s.dist-info' % name_ver - metadata_filename = posixpath.join(info_dir, 'WHEEL') - with zf.open(metadata_filename) as bf: - wf = codecs.getreader('utf-8')(bf) - message = message_from_file(wf) - return dict(message) - - @cached_property - def info(self): - pathname = os.path.join(self.dirname, self.filename) - with ZipFile(pathname, 'r') as zf: - result = self.get_wheel_metadata(zf) - return result - - def process_shebang(self, data): - m = SHEBANG_RE.match(data) - if m: - end = m.end() - shebang, data_after_shebang = data[:end], data[end:] - # Preserve any arguments after the interpreter - if b'pythonw' in shebang.lower(): - shebang_python = SHEBANG_PYTHONW - else: - shebang_python = SHEBANG_PYTHON - m = SHEBANG_DETAIL_RE.match(shebang) - if m: - args = b' ' + m.groups()[-1] - else: - args = b'' - shebang = shebang_python + args - data = shebang + data_after_shebang - else: - cr = data.find(b'\r') - lf = data.find(b'\n') - if cr < 0 or cr > lf: - term = b'\n' - else: - if data[cr:cr + 2] == b'\r\n': - term = b'\r\n' - else: - term = b'\r' - data = SHEBANG_PYTHON + term + data - return data - - def get_hash(self, data, hash_kind=None): - if hash_kind is None: - hash_kind = self.hash_kind - try: - hasher = getattr(hashlib, hash_kind) - except AttributeError: - raise DistlibException('Unsupported hash algorithm: %r' % hash_kind) - result = hasher(data).digest() - result = base64.urlsafe_b64encode(result).rstrip(b'=').decode('ascii') - return hash_kind, result - - def write_record(self, records, record_path, base): - records = list(records) # make a copy for sorting - p = to_posix(os.path.relpath(record_path, base)) - records.append((p, '', '')) - records.sort() - with CSVWriter(record_path) as writer: - for row in records: - writer.writerow(row) - - def write_records(self, info, libdir, archive_paths): - records = [] - distinfo, info_dir = info - hasher = getattr(hashlib, self.hash_kind) - for ap, p in archive_paths: - with open(p, 'rb') as f: - data = f.read() - digest = '%s=%s' % self.get_hash(data) - size = os.path.getsize(p) - records.append((ap, digest, size)) - - p = os.path.join(distinfo, 'RECORD') - self.write_record(records, p, libdir) - ap = to_posix(os.path.join(info_dir, 'RECORD')) - archive_paths.append((ap, p)) - - def build_zip(self, pathname, archive_paths): - with ZipFile(pathname, 'w', zipfile.ZIP_DEFLATED) as zf: - for ap, p in archive_paths: - logger.debug('Wrote %s to %s in wheel', p, ap) - zf.write(p, ap) - - def build(self, paths, tags=None, wheel_version=None): - """ - Build a wheel from files in specified paths, and use any specified tags - when determining the name of the wheel. - """ - if tags is None: - tags = {} - - libkey = list(filter(lambda o: o in paths, ('purelib', 'platlib')))[0] - if libkey == 'platlib': - is_pure = 'false' - default_pyver = [IMPVER] - default_abi = [ABI] - default_arch = [ARCH] - else: - is_pure = 'true' - default_pyver = [PYVER] - default_abi = ['none'] - default_arch = ['any'] - - self.pyver = tags.get('pyver', default_pyver) - self.abi = tags.get('abi', default_abi) - self.arch = tags.get('arch', default_arch) - - libdir = paths[libkey] - - name_ver = '%s-%s' % (self.name, self.version) - data_dir = '%s.data' % name_ver - info_dir = '%s.dist-info' % name_ver - - archive_paths = [] - - # First, stuff which is not in site-packages - for key in ('data', 'headers', 'scripts'): - if key not in paths: - continue - path = paths[key] - if os.path.isdir(path): - for root, dirs, files in os.walk(path): - for fn in files: - p = fsdecode(os.path.join(root, fn)) - rp = os.path.relpath(p, path) - ap = to_posix(os.path.join(data_dir, key, rp)) - archive_paths.append((ap, p)) - if key == 'scripts' and not p.endswith('.exe'): - with open(p, 'rb') as f: - data = f.read() - data = self.process_shebang(data) - with open(p, 'wb') as f: - f.write(data) - - # Now, stuff which is in site-packages, other than the - # distinfo stuff. - path = libdir - distinfo = None - for root, dirs, files in os.walk(path): - if root == path: - # At the top level only, save distinfo for later - # and skip it for now - for i, dn in enumerate(dirs): - dn = fsdecode(dn) - if dn.endswith('.dist-info'): - distinfo = os.path.join(root, dn) - del dirs[i] - break - assert distinfo, '.dist-info directory expected, not found' - - for fn in files: - # comment out next suite to leave .pyc files in - if fsdecode(fn).endswith(('.pyc', '.pyo')): - continue - p = os.path.join(root, fn) - rp = to_posix(os.path.relpath(p, path)) - archive_paths.append((rp, p)) - - # Now distinfo. Assumed to be flat, i.e. os.listdir is enough. - files = os.listdir(distinfo) - for fn in files: - if fn not in ('RECORD', 'INSTALLER', 'SHARED', 'WHEEL'): - p = fsdecode(os.path.join(distinfo, fn)) - ap = to_posix(os.path.join(info_dir, fn)) - archive_paths.append((ap, p)) - - wheel_metadata = [ - 'Wheel-Version: %d.%d' % (wheel_version or self.wheel_version), - 'Generator: distlib %s' % __version__, - 'Root-Is-Purelib: %s' % is_pure, - ] - for pyver, abi, arch in self.tags: - wheel_metadata.append('Tag: %s-%s-%s' % (pyver, abi, arch)) - p = os.path.join(distinfo, 'WHEEL') - with open(p, 'w') as f: - f.write('\n'.join(wheel_metadata)) - ap = to_posix(os.path.join(info_dir, 'WHEEL')) - archive_paths.append((ap, p)) - - # Now, at last, RECORD. - # Paths in here are archive paths - nothing else makes sense. - self.write_records((distinfo, info_dir), libdir, archive_paths) - # Now, ready to build the zip file - pathname = os.path.join(self.dirname, self.filename) - self.build_zip(pathname, archive_paths) - return pathname - - def skip_entry(self, arcname): - """ - Determine whether an archive entry should be skipped when verifying - or installing. - """ - # The signature file won't be in RECORD, - # and we don't currently don't do anything with it - # We also skip directories, as they won't be in RECORD - # either. See: - # - # https://github.com/pypa/wheel/issues/294 - # https://github.com/pypa/wheel/issues/287 - # https://github.com/pypa/wheel/pull/289 - # - return arcname.endswith(('/', '/RECORD.jws')) - - def install(self, paths, maker, **kwargs): - """ - Install a wheel to the specified paths. If kwarg ``warner`` is - specified, it should be a callable, which will be called with two - tuples indicating the wheel version of this software and the wheel - version in the file, if there is a discrepancy in the versions. - This can be used to issue any warnings to raise any exceptions. - If kwarg ``lib_only`` is True, only the purelib/platlib files are - installed, and the headers, scripts, data and dist-info metadata are - not written. If kwarg ``bytecode_hashed_invalidation`` is True, written - bytecode will try to use file-hash based invalidation (PEP-552) on - supported interpreter versions (CPython 2.7+). - - The return value is a :class:`InstalledDistribution` instance unless - ``options.lib_only`` is True, in which case the return value is ``None``. - """ - - dry_run = maker.dry_run - warner = kwargs.get('warner') - lib_only = kwargs.get('lib_only', False) - bc_hashed_invalidation = kwargs.get('bytecode_hashed_invalidation', False) - - pathname = os.path.join(self.dirname, self.filename) - name_ver = '%s-%s' % (self.name, self.version) - data_dir = '%s.data' % name_ver - info_dir = '%s.dist-info' % name_ver - - metadata_name = posixpath.join(info_dir, METADATA_FILENAME) - wheel_metadata_name = posixpath.join(info_dir, 'WHEEL') - record_name = posixpath.join(info_dir, 'RECORD') - - wrapper = codecs.getreader('utf-8') - - with ZipFile(pathname, 'r') as zf: - with zf.open(wheel_metadata_name) as bwf: - wf = wrapper(bwf) - message = message_from_file(wf) - wv = message['Wheel-Version'].split('.', 1) - file_version = tuple([int(i) for i in wv]) - if (file_version != self.wheel_version) and warner: - warner(self.wheel_version, file_version) - - if message['Root-Is-Purelib'] == 'true': - libdir = paths['purelib'] - else: - libdir = paths['platlib'] - - records = {} - with zf.open(record_name) as bf: - with CSVReader(stream=bf) as reader: - for row in reader: - p = row[0] - records[p] = row - - data_pfx = posixpath.join(data_dir, '') - info_pfx = posixpath.join(info_dir, '') - script_pfx = posixpath.join(data_dir, 'scripts', '') - - # make a new instance rather than a copy of maker's, - # as we mutate it - fileop = FileOperator(dry_run=dry_run) - fileop.record = True # so we can rollback if needed - - bc = not sys.dont_write_bytecode # Double negatives. Lovely! - - outfiles = [] # for RECORD writing - - # for script copying/shebang processing - workdir = tempfile.mkdtemp() - # set target dir later - # we default add_launchers to False, as the - # Python Launcher should be used instead - maker.source_dir = workdir - maker.target_dir = None - try: - for zinfo in zf.infolist(): - arcname = zinfo.filename - if isinstance(arcname, text_type): - u_arcname = arcname - else: - u_arcname = arcname.decode('utf-8') - if self.skip_entry(u_arcname): - continue - row = records[u_arcname] - if row[2] and str(zinfo.file_size) != row[2]: - raise DistlibException('size mismatch for ' - '%s' % u_arcname) - if row[1]: - kind, value = row[1].split('=', 1) - with zf.open(arcname) as bf: - data = bf.read() - _, digest = self.get_hash(data, kind) - if digest != value: - raise DistlibException('digest mismatch for ' - '%s' % arcname) - - if lib_only and u_arcname.startswith((info_pfx, data_pfx)): - logger.debug('lib_only: skipping %s', u_arcname) - continue - is_script = (u_arcname.startswith(script_pfx) - and not u_arcname.endswith('.exe')) - - if u_arcname.startswith(data_pfx): - _, where, rp = u_arcname.split('/', 2) - outfile = os.path.join(paths[where], convert_path(rp)) - else: - # meant for site-packages. - if u_arcname in (wheel_metadata_name, record_name): - continue - outfile = os.path.join(libdir, convert_path(u_arcname)) - if not is_script: - with zf.open(arcname) as bf: - fileop.copy_stream(bf, outfile) - outfiles.append(outfile) - # Double check the digest of the written file - if not dry_run and row[1]: - with open(outfile, 'rb') as bf: - data = bf.read() - _, newdigest = self.get_hash(data, kind) - if newdigest != digest: - raise DistlibException('digest mismatch ' - 'on write for ' - '%s' % outfile) - if bc and outfile.endswith('.py'): - try: - pyc = fileop.byte_compile(outfile, - hashed_invalidation=bc_hashed_invalidation) - outfiles.append(pyc) - except Exception: - # Don't give up if byte-compilation fails, - # but log it and perhaps warn the user - logger.warning('Byte-compilation failed', - exc_info=True) - else: - fn = os.path.basename(convert_path(arcname)) - workname = os.path.join(workdir, fn) - with zf.open(arcname) as bf: - fileop.copy_stream(bf, workname) - - dn, fn = os.path.split(outfile) - maker.target_dir = dn - filenames = maker.make(fn) - fileop.set_executable_mode(filenames) - outfiles.extend(filenames) - - if lib_only: - logger.debug('lib_only: returning None') - dist = None - else: - # Generate scripts - - # Try to get pydist.json so we can see if there are - # any commands to generate. If this fails (e.g. because - # of a legacy wheel), log a warning but don't give up. - commands = None - file_version = self.info['Wheel-Version'] - if file_version == '1.0': - # Use legacy info - ep = posixpath.join(info_dir, 'entry_points.txt') - try: - with zf.open(ep) as bwf: - epdata = read_exports(bwf) - commands = {} - for key in ('console', 'gui'): - k = '%s_scripts' % key - if k in epdata: - commands['wrap_%s' % key] = d = {} - for v in epdata[k].values(): - s = '%s:%s' % (v.prefix, v.suffix) - if v.flags: - s += ' %s' % v.flags - d[v.name] = s - except Exception: - logger.warning('Unable to read legacy script ' - 'metadata, so cannot generate ' - 'scripts') - else: - try: - with zf.open(metadata_name) as bwf: - wf = wrapper(bwf) - commands = json.load(wf).get('extensions') - if commands: - commands = commands.get('python.commands') - except Exception: - logger.warning('Unable to read JSON metadata, so ' - 'cannot generate scripts') - if commands: - console_scripts = commands.get('wrap_console', {}) - gui_scripts = commands.get('wrap_gui', {}) - if console_scripts or gui_scripts: - script_dir = paths.get('scripts', '') - if not os.path.isdir(script_dir): - raise ValueError('Valid script path not ' - 'specified') - maker.target_dir = script_dir - for k, v in console_scripts.items(): - script = '%s = %s' % (k, v) - filenames = maker.make(script) - fileop.set_executable_mode(filenames) - - if gui_scripts: - options = {'gui': True } - for k, v in gui_scripts.items(): - script = '%s = %s' % (k, v) - filenames = maker.make(script, options) - fileop.set_executable_mode(filenames) - - p = os.path.join(libdir, info_dir) - dist = InstalledDistribution(p) - - # Write SHARED - paths = dict(paths) # don't change passed in dict - del paths['purelib'] - del paths['platlib'] - paths['lib'] = libdir - p = dist.write_shared_locations(paths, dry_run) - if p: - outfiles.append(p) - - # Write RECORD - dist.write_installed_files(outfiles, paths['prefix'], - dry_run) - return dist - except Exception: # pragma: no cover - logger.exception('installation failed.') - fileop.rollback() - raise - finally: - shutil.rmtree(workdir) - - def _get_dylib_cache(self): - global cache - if cache is None: - # Use native string to avoid issues on 2.x: see Python #20140. - base = os.path.join(get_cache_base(), str('dylib-cache'), - sys.version[:3]) - cache = Cache(base) - return cache - - def _get_extensions(self): - pathname = os.path.join(self.dirname, self.filename) - name_ver = '%s-%s' % (self.name, self.version) - info_dir = '%s.dist-info' % name_ver - arcname = posixpath.join(info_dir, 'EXTENSIONS') - wrapper = codecs.getreader('utf-8') - result = [] - with ZipFile(pathname, 'r') as zf: - try: - with zf.open(arcname) as bf: - wf = wrapper(bf) - extensions = json.load(wf) - cache = self._get_dylib_cache() - prefix = cache.prefix_to_dir(pathname) - cache_base = os.path.join(cache.base, prefix) - if not os.path.isdir(cache_base): - os.makedirs(cache_base) - for name, relpath in extensions.items(): - dest = os.path.join(cache_base, convert_path(relpath)) - if not os.path.exists(dest): - extract = True - else: - file_time = os.stat(dest).st_mtime - file_time = datetime.datetime.fromtimestamp(file_time) - info = zf.getinfo(relpath) - wheel_time = datetime.datetime(*info.date_time) - extract = wheel_time > file_time - if extract: - zf.extract(relpath, cache_base) - result.append((name, dest)) - except KeyError: - pass - return result - - def is_compatible(self): - """ - Determine if a wheel is compatible with the running system. - """ - return is_compatible(self) - - def is_mountable(self): - """ - Determine if a wheel is asserted as mountable by its metadata. - """ - return True # for now - metadata details TBD - - def mount(self, append=False): - pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) - if not self.is_compatible(): - msg = 'Wheel %s not compatible with this Python.' % pathname - raise DistlibException(msg) - if not self.is_mountable(): - msg = 'Wheel %s is marked as not mountable.' % pathname - raise DistlibException(msg) - if pathname in sys.path: - logger.debug('%s already in path', pathname) - else: - if append: - sys.path.append(pathname) - else: - sys.path.insert(0, pathname) - extensions = self._get_extensions() - if extensions: - if _hook not in sys.meta_path: - sys.meta_path.append(_hook) - _hook.add(pathname, extensions) - - def unmount(self): - pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) - if pathname not in sys.path: - logger.debug('%s not in path', pathname) - else: - sys.path.remove(pathname) - if pathname in _hook.impure_wheels: - _hook.remove(pathname) - if not _hook.impure_wheels: - if _hook in sys.meta_path: - sys.meta_path.remove(_hook) - - def verify(self): - pathname = os.path.join(self.dirname, self.filename) - name_ver = '%s-%s' % (self.name, self.version) - data_dir = '%s.data' % name_ver - info_dir = '%s.dist-info' % name_ver - - metadata_name = posixpath.join(info_dir, METADATA_FILENAME) - wheel_metadata_name = posixpath.join(info_dir, 'WHEEL') - record_name = posixpath.join(info_dir, 'RECORD') - - wrapper = codecs.getreader('utf-8') - - with ZipFile(pathname, 'r') as zf: - with zf.open(wheel_metadata_name) as bwf: - wf = wrapper(bwf) - message = message_from_file(wf) - wv = message['Wheel-Version'].split('.', 1) - file_version = tuple([int(i) for i in wv]) - # TODO version verification - - records = {} - with zf.open(record_name) as bf: - with CSVReader(stream=bf) as reader: - for row in reader: - p = row[0] - records[p] = row - - for zinfo in zf.infolist(): - arcname = zinfo.filename - if isinstance(arcname, text_type): - u_arcname = arcname - else: - u_arcname = arcname.decode('utf-8') - # See issue #115: some wheels have .. in their entries, but - # in the filename ... e.g. __main__..py ! So the check is - # updated to look for .. in the directory portions - p = u_arcname.split('/') - if '..' in p: - raise DistlibException('invalid entry in ' - 'wheel: %r' % u_arcname) - - if self.skip_entry(u_arcname): - continue - row = records[u_arcname] - if row[2] and str(zinfo.file_size) != row[2]: - raise DistlibException('size mismatch for ' - '%s' % u_arcname) - if row[1]: - kind, value = row[1].split('=', 1) - with zf.open(arcname) as bf: - data = bf.read() - _, digest = self.get_hash(data, kind) - if digest != value: - raise DistlibException('digest mismatch for ' - '%s' % arcname) - - def update(self, modifier, dest_dir=None, **kwargs): - """ - Update the contents of a wheel in a generic way. The modifier should - be a callable which expects a dictionary argument: its keys are - archive-entry paths, and its values are absolute filesystem paths - where the contents the corresponding archive entries can be found. The - modifier is free to change the contents of the files pointed to, add - new entries and remove entries, before returning. This method will - extract the entire contents of the wheel to a temporary location, call - the modifier, and then use the passed (and possibly updated) - dictionary to write a new wheel. If ``dest_dir`` is specified, the new - wheel is written there -- otherwise, the original wheel is overwritten. - - The modifier should return True if it updated the wheel, else False. - This method returns the same value the modifier returns. - """ - - def get_version(path_map, info_dir): - version = path = None - key = '%s/%s' % (info_dir, METADATA_FILENAME) - if key not in path_map: - key = '%s/PKG-INFO' % info_dir - if key in path_map: - path = path_map[key] - version = Metadata(path=path).version - return version, path - - def update_version(version, path): - updated = None - try: - v = NormalizedVersion(version) - i = version.find('-') - if i < 0: - updated = '%s+1' % version - else: - parts = [int(s) for s in version[i + 1:].split('.')] - parts[-1] += 1 - updated = '%s+%s' % (version[:i], - '.'.join(str(i) for i in parts)) - except UnsupportedVersionError: - logger.debug('Cannot update non-compliant (PEP-440) ' - 'version %r', version) - if updated: - md = Metadata(path=path) - md.version = updated - legacy = not path.endswith(METADATA_FILENAME) - md.write(path=path, legacy=legacy) - logger.debug('Version updated from %r to %r', version, - updated) - - pathname = os.path.join(self.dirname, self.filename) - name_ver = '%s-%s' % (self.name, self.version) - info_dir = '%s.dist-info' % name_ver - record_name = posixpath.join(info_dir, 'RECORD') - with tempdir() as workdir: - with ZipFile(pathname, 'r') as zf: - path_map = {} - for zinfo in zf.infolist(): - arcname = zinfo.filename - if isinstance(arcname, text_type): - u_arcname = arcname - else: - u_arcname = arcname.decode('utf-8') - if u_arcname == record_name: - continue - if '..' in u_arcname: - raise DistlibException('invalid entry in ' - 'wheel: %r' % u_arcname) - zf.extract(zinfo, workdir) - path = os.path.join(workdir, convert_path(u_arcname)) - path_map[u_arcname] = path - - # Remember the version. - original_version, _ = get_version(path_map, info_dir) - # Files extracted. Call the modifier. - modified = modifier(path_map, **kwargs) - if modified: - # Something changed - need to build a new wheel. - current_version, path = get_version(path_map, info_dir) - if current_version and (current_version == original_version): - # Add or update local version to signify changes. - update_version(current_version, path) - # Decide where the new wheel goes. - if dest_dir is None: - fd, newpath = tempfile.mkstemp(suffix='.whl', - prefix='wheel-update-', - dir=workdir) - os.close(fd) - else: - if not os.path.isdir(dest_dir): - raise DistlibException('Not a directory: %r' % dest_dir) - newpath = os.path.join(dest_dir, self.filename) - archive_paths = list(path_map.items()) - distinfo = os.path.join(workdir, info_dir) - info = distinfo, info_dir - self.write_records(info, workdir, archive_paths) - self.build_zip(newpath, archive_paths) - if dest_dir is None: - shutil.copyfile(newpath, pathname) - return modified - -def compatible_tags(): - """ - Return (pyver, abi, arch) tuples compatible with this Python. - """ - versions = [VER_SUFFIX] - major = VER_SUFFIX[0] - for minor in range(sys.version_info[1] - 1, - 1, -1): - versions.append(''.join([major, str(minor)])) - - abis = [] - for suffix, _, _ in imp.get_suffixes(): - if suffix.startswith('.abi'): - abis.append(suffix.split('.', 2)[1]) - abis.sort() - if ABI != 'none': - abis.insert(0, ABI) - abis.append('none') - result = [] - - arches = [ARCH] - if sys.platform == 'darwin': - m = re.match(r'(\w+)_(\d+)_(\d+)_(\w+)$', ARCH) - if m: - name, major, minor, arch = m.groups() - minor = int(minor) - matches = [arch] - if arch in ('i386', 'ppc'): - matches.append('fat') - if arch in ('i386', 'ppc', 'x86_64'): - matches.append('fat3') - if arch in ('ppc64', 'x86_64'): - matches.append('fat64') - if arch in ('i386', 'x86_64'): - matches.append('intel') - if arch in ('i386', 'x86_64', 'intel', 'ppc', 'ppc64'): - matches.append('universal') - while minor >= 0: - for match in matches: - s = '%s_%s_%s_%s' % (name, major, minor, match) - if s != ARCH: # already there - arches.append(s) - minor -= 1 - - # Most specific - our Python version, ABI and arch - for abi in abis: - for arch in arches: - result.append((''.join((IMP_PREFIX, versions[0])), abi, arch)) - - # where no ABI / arch dependency, but IMP_PREFIX dependency - for i, version in enumerate(versions): - result.append((''.join((IMP_PREFIX, version)), 'none', 'any')) - if i == 0: - result.append((''.join((IMP_PREFIX, version[0])), 'none', 'any')) - - # no IMP_PREFIX, ABI or arch dependency - for i, version in enumerate(versions): - result.append((''.join(('py', version)), 'none', 'any')) - if i == 0: - result.append((''.join(('py', version[0])), 'none', 'any')) - return set(result) - - -COMPATIBLE_TAGS = compatible_tags() - -del compatible_tags - - -def is_compatible(wheel, tags=None): - if not isinstance(wheel, Wheel): - wheel = Wheel(wheel) # assume it's a filename - result = False - if tags is None: - tags = COMPATIBLE_TAGS - for ver, abi, arch in tags: - if ver in wheel.pyver and abi in wheel.abi and arch in wheel.arch: - result = True - break - return result diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distro.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distro.py deleted file mode 100644 index 3306163..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/distro.py +++ /dev/null @@ -1,1216 +0,0 @@ -# Copyright 2015,2016,2017 Nir Cohen -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -""" -The ``distro`` package (``distro`` stands for Linux Distribution) provides -information about the Linux distribution it runs on, such as a reliable -machine-readable distro ID, or version information. - -It is the recommended replacement for Python's original -:py:func:`platform.linux_distribution` function, but it provides much more -functionality. An alternative implementation became necessary because Python -3.5 deprecated this function, and Python 3.8 will remove it altogether. -Its predecessor function :py:func:`platform.dist` was already -deprecated since Python 2.6 and will also be removed in Python 3.8. -Still, there are many cases in which access to OS distribution information -is needed. See `Python issue 1322 `_ for -more information. -""" - -import os -import re -import sys -import json -import shlex -import logging -import argparse -import subprocess - - -_UNIXCONFDIR = os.environ.get('UNIXCONFDIR', '/etc') -_OS_RELEASE_BASENAME = 'os-release' - -#: Translation table for normalizing the "ID" attribute defined in os-release -#: files, for use by the :func:`distro.id` method. -#: -#: * Key: Value as defined in the os-release file, translated to lower case, -#: with blanks translated to underscores. -#: -#: * Value: Normalized value. -NORMALIZED_OS_ID = { - 'ol': 'oracle', # Oracle Enterprise Linux -} - -#: Translation table for normalizing the "Distributor ID" attribute returned by -#: the lsb_release command, for use by the :func:`distro.id` method. -#: -#: * Key: Value as returned by the lsb_release command, translated to lower -#: case, with blanks translated to underscores. -#: -#: * Value: Normalized value. -NORMALIZED_LSB_ID = { - 'enterpriseenterprise': 'oracle', # Oracle Enterprise Linux - 'redhatenterpriseworkstation': 'rhel', # RHEL 6, 7 Workstation - 'redhatenterpriseserver': 'rhel', # RHEL 6, 7 Server -} - -#: Translation table for normalizing the distro ID derived from the file name -#: of distro release files, for use by the :func:`distro.id` method. -#: -#: * Key: Value as derived from the file name of a distro release file, -#: translated to lower case, with blanks translated to underscores. -#: -#: * Value: Normalized value. -NORMALIZED_DISTRO_ID = { - 'redhat': 'rhel', # RHEL 6.x, 7.x -} - -# Pattern for content of distro release file (reversed) -_DISTRO_RELEASE_CONTENT_REVERSED_PATTERN = re.compile( - r'(?:[^)]*\)(.*)\()? *(?:STL )?([\d.+\-a-z]*\d) *(?:esaeler *)?(.+)') - -# Pattern for base file name of distro release file -_DISTRO_RELEASE_BASENAME_PATTERN = re.compile( - r'(\w+)[-_](release|version)$') - -# Base file names to be ignored when searching for distro release file -_DISTRO_RELEASE_IGNORE_BASENAMES = ( - 'debian_version', - 'lsb-release', - 'oem-release', - _OS_RELEASE_BASENAME, - 'system-release' -) - - -def linux_distribution(full_distribution_name=True): - """ - Return information about the current OS distribution as a tuple - ``(id_name, version, codename)`` with items as follows: - - * ``id_name``: If *full_distribution_name* is false, the result of - :func:`distro.id`. Otherwise, the result of :func:`distro.name`. - - * ``version``: The result of :func:`distro.version`. - - * ``codename``: The result of :func:`distro.codename`. - - The interface of this function is compatible with the original - :py:func:`platform.linux_distribution` function, supporting a subset of - its parameters. - - The data it returns may not exactly be the same, because it uses more data - sources than the original function, and that may lead to different data if - the OS distribution is not consistent across multiple data sources it - provides (there are indeed such distributions ...). - - Another reason for differences is the fact that the :func:`distro.id` - method normalizes the distro ID string to a reliable machine-readable value - for a number of popular OS distributions. - """ - return _distro.linux_distribution(full_distribution_name) - - -def id(): - """ - Return the distro ID of the current distribution, as a - machine-readable string. - - For a number of OS distributions, the returned distro ID value is - *reliable*, in the sense that it is documented and that it does not change - across releases of the distribution. - - This package maintains the following reliable distro ID values: - - ============== ========================================= - Distro ID Distribution - ============== ========================================= - "ubuntu" Ubuntu - "debian" Debian - "rhel" RedHat Enterprise Linux - "centos" CentOS - "fedora" Fedora - "sles" SUSE Linux Enterprise Server - "opensuse" openSUSE - "amazon" Amazon Linux - "arch" Arch Linux - "cloudlinux" CloudLinux OS - "exherbo" Exherbo Linux - "gentoo" GenToo Linux - "ibm_powerkvm" IBM PowerKVM - "kvmibm" KVM for IBM z Systems - "linuxmint" Linux Mint - "mageia" Mageia - "mandriva" Mandriva Linux - "parallels" Parallels - "pidora" Pidora - "raspbian" Raspbian - "oracle" Oracle Linux (and Oracle Enterprise Linux) - "scientific" Scientific Linux - "slackware" Slackware - "xenserver" XenServer - "openbsd" OpenBSD - "netbsd" NetBSD - "freebsd" FreeBSD - ============== ========================================= - - If you have a need to get distros for reliable IDs added into this set, - or if you find that the :func:`distro.id` function returns a different - distro ID for one of the listed distros, please create an issue in the - `distro issue tracker`_. - - **Lookup hierarchy and transformations:** - - First, the ID is obtained from the following sources, in the specified - order. The first available and non-empty value is used: - - * the value of the "ID" attribute of the os-release file, - - * the value of the "Distributor ID" attribute returned by the lsb_release - command, - - * the first part of the file name of the distro release file, - - The so determined ID value then passes the following transformations, - before it is returned by this method: - - * it is translated to lower case, - - * blanks (which should not be there anyway) are translated to underscores, - - * a normalization of the ID is performed, based upon - `normalization tables`_. The purpose of this normalization is to ensure - that the ID is as reliable as possible, even across incompatible changes - in the OS distributions. A common reason for an incompatible change is - the addition of an os-release file, or the addition of the lsb_release - command, with ID values that differ from what was previously determined - from the distro release file name. - """ - return _distro.id() - - -def name(pretty=False): - """ - Return the name of the current OS distribution, as a human-readable - string. - - If *pretty* is false, the name is returned without version or codename. - (e.g. "CentOS Linux") - - If *pretty* is true, the version and codename are appended. - (e.g. "CentOS Linux 7.1.1503 (Core)") - - **Lookup hierarchy:** - - The name is obtained from the following sources, in the specified order. - The first available and non-empty value is used: - - * If *pretty* is false: - - - the value of the "NAME" attribute of the os-release file, - - - the value of the "Distributor ID" attribute returned by the lsb_release - command, - - - the value of the "" field of the distro release file. - - * If *pretty* is true: - - - the value of the "PRETTY_NAME" attribute of the os-release file, - - - the value of the "Description" attribute returned by the lsb_release - command, - - - the value of the "" field of the distro release file, appended - with the value of the pretty version ("" and "" - fields) of the distro release file, if available. - """ - return _distro.name(pretty) - - -def version(pretty=False, best=False): - """ - Return the version of the current OS distribution, as a human-readable - string. - - If *pretty* is false, the version is returned without codename (e.g. - "7.0"). - - If *pretty* is true, the codename in parenthesis is appended, if the - codename is non-empty (e.g. "7.0 (Maipo)"). - - Some distributions provide version numbers with different precisions in - the different sources of distribution information. Examining the different - sources in a fixed priority order does not always yield the most precise - version (e.g. for Debian 8.2, or CentOS 7.1). - - The *best* parameter can be used to control the approach for the returned - version: - - If *best* is false, the first non-empty version number in priority order of - the examined sources is returned. - - If *best* is true, the most precise version number out of all examined - sources is returned. - - **Lookup hierarchy:** - - In all cases, the version number is obtained from the following sources. - If *best* is false, this order represents the priority order: - - * the value of the "VERSION_ID" attribute of the os-release file, - * the value of the "Release" attribute returned by the lsb_release - command, - * the version number parsed from the "" field of the first line - of the distro release file, - * the version number parsed from the "PRETTY_NAME" attribute of the - os-release file, if it follows the format of the distro release files. - * the version number parsed from the "Description" attribute returned by - the lsb_release command, if it follows the format of the distro release - files. - """ - return _distro.version(pretty, best) - - -def version_parts(best=False): - """ - Return the version of the current OS distribution as a tuple - ``(major, minor, build_number)`` with items as follows: - - * ``major``: The result of :func:`distro.major_version`. - - * ``minor``: The result of :func:`distro.minor_version`. - - * ``build_number``: The result of :func:`distro.build_number`. - - For a description of the *best* parameter, see the :func:`distro.version` - method. - """ - return _distro.version_parts(best) - - -def major_version(best=False): - """ - Return the major version of the current OS distribution, as a string, - if provided. - Otherwise, the empty string is returned. The major version is the first - part of the dot-separated version string. - - For a description of the *best* parameter, see the :func:`distro.version` - method. - """ - return _distro.major_version(best) - - -def minor_version(best=False): - """ - Return the minor version of the current OS distribution, as a string, - if provided. - Otherwise, the empty string is returned. The minor version is the second - part of the dot-separated version string. - - For a description of the *best* parameter, see the :func:`distro.version` - method. - """ - return _distro.minor_version(best) - - -def build_number(best=False): - """ - Return the build number of the current OS distribution, as a string, - if provided. - Otherwise, the empty string is returned. The build number is the third part - of the dot-separated version string. - - For a description of the *best* parameter, see the :func:`distro.version` - method. - """ - return _distro.build_number(best) - - -def like(): - """ - Return a space-separated list of distro IDs of distributions that are - closely related to the current OS distribution in regards to packaging - and programming interfaces, for example distributions the current - distribution is a derivative from. - - **Lookup hierarchy:** - - This information item is only provided by the os-release file. - For details, see the description of the "ID_LIKE" attribute in the - `os-release man page - `_. - """ - return _distro.like() - - -def codename(): - """ - Return the codename for the release of the current OS distribution, - as a string. - - If the distribution does not have a codename, an empty string is returned. - - Note that the returned codename is not always really a codename. For - example, openSUSE returns "x86_64". This function does not handle such - cases in any special way and just returns the string it finds, if any. - - **Lookup hierarchy:** - - * the codename within the "VERSION" attribute of the os-release file, if - provided, - - * the value of the "Codename" attribute returned by the lsb_release - command, - - * the value of the "" field of the distro release file. - """ - return _distro.codename() - - -def info(pretty=False, best=False): - """ - Return certain machine-readable information items about the current OS - distribution in a dictionary, as shown in the following example: - - .. sourcecode:: python - - { - 'id': 'rhel', - 'version': '7.0', - 'version_parts': { - 'major': '7', - 'minor': '0', - 'build_number': '' - }, - 'like': 'fedora', - 'codename': 'Maipo' - } - - The dictionary structure and keys are always the same, regardless of which - information items are available in the underlying data sources. The values - for the various keys are as follows: - - * ``id``: The result of :func:`distro.id`. - - * ``version``: The result of :func:`distro.version`. - - * ``version_parts -> major``: The result of :func:`distro.major_version`. - - * ``version_parts -> minor``: The result of :func:`distro.minor_version`. - - * ``version_parts -> build_number``: The result of - :func:`distro.build_number`. - - * ``like``: The result of :func:`distro.like`. - - * ``codename``: The result of :func:`distro.codename`. - - For a description of the *pretty* and *best* parameters, see the - :func:`distro.version` method. - """ - return _distro.info(pretty, best) - - -def os_release_info(): - """ - Return a dictionary containing key-value pairs for the information items - from the os-release file data source of the current OS distribution. - - See `os-release file`_ for details about these information items. - """ - return _distro.os_release_info() - - -def lsb_release_info(): - """ - Return a dictionary containing key-value pairs for the information items - from the lsb_release command data source of the current OS distribution. - - See `lsb_release command output`_ for details about these information - items. - """ - return _distro.lsb_release_info() - - -def distro_release_info(): - """ - Return a dictionary containing key-value pairs for the information items - from the distro release file data source of the current OS distribution. - - See `distro release file`_ for details about these information items. - """ - return _distro.distro_release_info() - - -def uname_info(): - """ - Return a dictionary containing key-value pairs for the information items - from the distro release file data source of the current OS distribution. - """ - return _distro.uname_info() - - -def os_release_attr(attribute): - """ - Return a single named information item from the os-release file data source - of the current OS distribution. - - Parameters: - - * ``attribute`` (string): Key of the information item. - - Returns: - - * (string): Value of the information item, if the item exists. - The empty string, if the item does not exist. - - See `os-release file`_ for details about these information items. - """ - return _distro.os_release_attr(attribute) - - -def lsb_release_attr(attribute): - """ - Return a single named information item from the lsb_release command output - data source of the current OS distribution. - - Parameters: - - * ``attribute`` (string): Key of the information item. - - Returns: - - * (string): Value of the information item, if the item exists. - The empty string, if the item does not exist. - - See `lsb_release command output`_ for details about these information - items. - """ - return _distro.lsb_release_attr(attribute) - - -def distro_release_attr(attribute): - """ - Return a single named information item from the distro release file - data source of the current OS distribution. - - Parameters: - - * ``attribute`` (string): Key of the information item. - - Returns: - - * (string): Value of the information item, if the item exists. - The empty string, if the item does not exist. - - See `distro release file`_ for details about these information items. - """ - return _distro.distro_release_attr(attribute) - - -def uname_attr(attribute): - """ - Return a single named information item from the distro release file - data source of the current OS distribution. - - Parameters: - - * ``attribute`` (string): Key of the information item. - - Returns: - - * (string): Value of the information item, if the item exists. - The empty string, if the item does not exist. - """ - return _distro.uname_attr(attribute) - - -class cached_property(object): - """A version of @property which caches the value. On access, it calls the - underlying function and sets the value in `__dict__` so future accesses - will not re-call the property. - """ - def __init__(self, f): - self._fname = f.__name__ - self._f = f - - def __get__(self, obj, owner): - assert obj is not None, 'call {} on an instance'.format(self._fname) - ret = obj.__dict__[self._fname] = self._f(obj) - return ret - - -class LinuxDistribution(object): - """ - Provides information about a OS distribution. - - This package creates a private module-global instance of this class with - default initialization arguments, that is used by the - `consolidated accessor functions`_ and `single source accessor functions`_. - By using default initialization arguments, that module-global instance - returns data about the current OS distribution (i.e. the distro this - package runs on). - - Normally, it is not necessary to create additional instances of this class. - However, in situations where control is needed over the exact data sources - that are used, instances of this class can be created with a specific - distro release file, or a specific os-release file, or without invoking the - lsb_release command. - """ - - def __init__(self, - include_lsb=True, - os_release_file='', - distro_release_file='', - include_uname=True): - """ - The initialization method of this class gathers information from the - available data sources, and stores that in private instance attributes. - Subsequent access to the information items uses these private instance - attributes, so that the data sources are read only once. - - Parameters: - - * ``include_lsb`` (bool): Controls whether the - `lsb_release command output`_ is included as a data source. - - If the lsb_release command is not available in the program execution - path, the data source for the lsb_release command will be empty. - - * ``os_release_file`` (string): The path name of the - `os-release file`_ that is to be used as a data source. - - An empty string (the default) will cause the default path name to - be used (see `os-release file`_ for details). - - If the specified or defaulted os-release file does not exist, the - data source for the os-release file will be empty. - - * ``distro_release_file`` (string): The path name of the - `distro release file`_ that is to be used as a data source. - - An empty string (the default) will cause a default search algorithm - to be used (see `distro release file`_ for details). - - If the specified distro release file does not exist, or if no default - distro release file can be found, the data source for the distro - release file will be empty. - - * ``include_name`` (bool): Controls whether uname command output is - included as a data source. If the uname command is not available in - the program execution path the data source for the uname command will - be empty. - - Public instance attributes: - - * ``os_release_file`` (string): The path name of the - `os-release file`_ that is actually used as a data source. The - empty string if no distro release file is used as a data source. - - * ``distro_release_file`` (string): The path name of the - `distro release file`_ that is actually used as a data source. The - empty string if no distro release file is used as a data source. - - * ``include_lsb`` (bool): The result of the ``include_lsb`` parameter. - This controls whether the lsb information will be loaded. - - * ``include_uname`` (bool): The result of the ``include_uname`` - parameter. This controls whether the uname information will - be loaded. - - Raises: - - * :py:exc:`IOError`: Some I/O issue with an os-release file or distro - release file. - - * :py:exc:`subprocess.CalledProcessError`: The lsb_release command had - some issue (other than not being available in the program execution - path). - - * :py:exc:`UnicodeError`: A data source has unexpected characters or - uses an unexpected encoding. - """ - self.os_release_file = os_release_file or \ - os.path.join(_UNIXCONFDIR, _OS_RELEASE_BASENAME) - self.distro_release_file = distro_release_file or '' # updated later - self.include_lsb = include_lsb - self.include_uname = include_uname - - def __repr__(self): - """Return repr of all info - """ - return \ - "LinuxDistribution(" \ - "os_release_file={self.os_release_file!r}, " \ - "distro_release_file={self.distro_release_file!r}, " \ - "include_lsb={self.include_lsb!r}, " \ - "include_uname={self.include_uname!r}, " \ - "_os_release_info={self._os_release_info!r}, " \ - "_lsb_release_info={self._lsb_release_info!r}, " \ - "_distro_release_info={self._distro_release_info!r}, " \ - "_uname_info={self._uname_info!r})".format( - self=self) - - def linux_distribution(self, full_distribution_name=True): - """ - Return information about the OS distribution that is compatible - with Python's :func:`platform.linux_distribution`, supporting a subset - of its parameters. - - For details, see :func:`distro.linux_distribution`. - """ - return ( - self.name() if full_distribution_name else self.id(), - self.version(), - self.codename() - ) - - def id(self): - """Return the distro ID of the OS distribution, as a string. - - For details, see :func:`distro.id`. - """ - def normalize(distro_id, table): - distro_id = distro_id.lower().replace(' ', '_') - return table.get(distro_id, distro_id) - - distro_id = self.os_release_attr('id') - if distro_id: - return normalize(distro_id, NORMALIZED_OS_ID) - - distro_id = self.lsb_release_attr('distributor_id') - if distro_id: - return normalize(distro_id, NORMALIZED_LSB_ID) - - distro_id = self.distro_release_attr('id') - if distro_id: - return normalize(distro_id, NORMALIZED_DISTRO_ID) - - distro_id = self.uname_attr('id') - if distro_id: - return normalize(distro_id, NORMALIZED_DISTRO_ID) - - return '' - - def name(self, pretty=False): - """ - Return the name of the OS distribution, as a string. - - For details, see :func:`distro.name`. - """ - name = self.os_release_attr('name') \ - or self.lsb_release_attr('distributor_id') \ - or self.distro_release_attr('name') \ - or self.uname_attr('name') - if pretty: - name = self.os_release_attr('pretty_name') \ - or self.lsb_release_attr('description') - if not name: - name = self.distro_release_attr('name') \ - or self.uname_attr('name') - version = self.version(pretty=True) - if version: - name = name + ' ' + version - return name or '' - - def version(self, pretty=False, best=False): - """ - Return the version of the OS distribution, as a string. - - For details, see :func:`distro.version`. - """ - versions = [ - self.os_release_attr('version_id'), - self.lsb_release_attr('release'), - self.distro_release_attr('version_id'), - self._parse_distro_release_content( - self.os_release_attr('pretty_name')).get('version_id', ''), - self._parse_distro_release_content( - self.lsb_release_attr('description')).get('version_id', ''), - self.uname_attr('release') - ] - version = '' - if best: - # This algorithm uses the last version in priority order that has - # the best precision. If the versions are not in conflict, that - # does not matter; otherwise, using the last one instead of the - # first one might be considered a surprise. - for v in versions: - if v.count(".") > version.count(".") or version == '': - version = v - else: - for v in versions: - if v != '': - version = v - break - if pretty and version and self.codename(): - version = u'{0} ({1})'.format(version, self.codename()) - return version - - def version_parts(self, best=False): - """ - Return the version of the OS distribution, as a tuple of version - numbers. - - For details, see :func:`distro.version_parts`. - """ - version_str = self.version(best=best) - if version_str: - version_regex = re.compile(r'(\d+)\.?(\d+)?\.?(\d+)?') - matches = version_regex.match(version_str) - if matches: - major, minor, build_number = matches.groups() - return major, minor or '', build_number or '' - return '', '', '' - - def major_version(self, best=False): - """ - Return the major version number of the current distribution. - - For details, see :func:`distro.major_version`. - """ - return self.version_parts(best)[0] - - def minor_version(self, best=False): - """ - Return the minor version number of the current distribution. - - For details, see :func:`distro.minor_version`. - """ - return self.version_parts(best)[1] - - def build_number(self, best=False): - """ - Return the build number of the current distribution. - - For details, see :func:`distro.build_number`. - """ - return self.version_parts(best)[2] - - def like(self): - """ - Return the IDs of distributions that are like the OS distribution. - - For details, see :func:`distro.like`. - """ - return self.os_release_attr('id_like') or '' - - def codename(self): - """ - Return the codename of the OS distribution. - - For details, see :func:`distro.codename`. - """ - try: - # Handle os_release specially since distros might purposefully set - # this to empty string to have no codename - return self._os_release_info['codename'] - except KeyError: - return self.lsb_release_attr('codename') \ - or self.distro_release_attr('codename') \ - or '' - - def info(self, pretty=False, best=False): - """ - Return certain machine-readable information about the OS - distribution. - - For details, see :func:`distro.info`. - """ - return dict( - id=self.id(), - version=self.version(pretty, best), - version_parts=dict( - major=self.major_version(best), - minor=self.minor_version(best), - build_number=self.build_number(best) - ), - like=self.like(), - codename=self.codename(), - ) - - def os_release_info(self): - """ - Return a dictionary containing key-value pairs for the information - items from the os-release file data source of the OS distribution. - - For details, see :func:`distro.os_release_info`. - """ - return self._os_release_info - - def lsb_release_info(self): - """ - Return a dictionary containing key-value pairs for the information - items from the lsb_release command data source of the OS - distribution. - - For details, see :func:`distro.lsb_release_info`. - """ - return self._lsb_release_info - - def distro_release_info(self): - """ - Return a dictionary containing key-value pairs for the information - items from the distro release file data source of the OS - distribution. - - For details, see :func:`distro.distro_release_info`. - """ - return self._distro_release_info - - def uname_info(self): - """ - Return a dictionary containing key-value pairs for the information - items from the uname command data source of the OS distribution. - - For details, see :func:`distro.uname_info`. - """ - return self._uname_info - - def os_release_attr(self, attribute): - """ - Return a single named information item from the os-release file data - source of the OS distribution. - - For details, see :func:`distro.os_release_attr`. - """ - return self._os_release_info.get(attribute, '') - - def lsb_release_attr(self, attribute): - """ - Return a single named information item from the lsb_release command - output data source of the OS distribution. - - For details, see :func:`distro.lsb_release_attr`. - """ - return self._lsb_release_info.get(attribute, '') - - def distro_release_attr(self, attribute): - """ - Return a single named information item from the distro release file - data source of the OS distribution. - - For details, see :func:`distro.distro_release_attr`. - """ - return self._distro_release_info.get(attribute, '') - - def uname_attr(self, attribute): - """ - Return a single named information item from the uname command - output data source of the OS distribution. - - For details, see :func:`distro.uname_release_attr`. - """ - return self._uname_info.get(attribute, '') - - @cached_property - def _os_release_info(self): - """ - Get the information items from the specified os-release file. - - Returns: - A dictionary containing all information items. - """ - if os.path.isfile(self.os_release_file): - with open(self.os_release_file) as release_file: - return self._parse_os_release_content(release_file) - return {} - - @staticmethod - def _parse_os_release_content(lines): - """ - Parse the lines of an os-release file. - - Parameters: - - * lines: Iterable through the lines in the os-release file. - Each line must be a unicode string or a UTF-8 encoded byte - string. - - Returns: - A dictionary containing all information items. - """ - props = {} - lexer = shlex.shlex(lines, posix=True) - lexer.whitespace_split = True - - # The shlex module defines its `wordchars` variable using literals, - # making it dependent on the encoding of the Python source file. - # In Python 2.6 and 2.7, the shlex source file is encoded in - # 'iso-8859-1', and the `wordchars` variable is defined as a byte - # string. This causes a UnicodeDecodeError to be raised when the - # parsed content is a unicode object. The following fix resolves that - # (... but it should be fixed in shlex...): - if sys.version_info[0] == 2 and isinstance(lexer.wordchars, bytes): - lexer.wordchars = lexer.wordchars.decode('iso-8859-1') - - tokens = list(lexer) - for token in tokens: - # At this point, all shell-like parsing has been done (i.e. - # comments processed, quotes and backslash escape sequences - # processed, multi-line values assembled, trailing newlines - # stripped, etc.), so the tokens are now either: - # * variable assignments: var=value - # * commands or their arguments (not allowed in os-release) - if '=' in token: - k, v = token.split('=', 1) - if isinstance(v, bytes): - v = v.decode('utf-8') - props[k.lower()] = v - else: - # Ignore any tokens that are not variable assignments - pass - - if 'version_codename' in props: - # os-release added a version_codename field. Use that in - # preference to anything else Note that some distros purposefully - # do not have code names. They should be setting - # version_codename="" - props['codename'] = props['version_codename'] - elif 'ubuntu_codename' in props: - # Same as above but a non-standard field name used on older Ubuntus - props['codename'] = props['ubuntu_codename'] - elif 'version' in props: - # If there is no version_codename, parse it from the version - codename = re.search(r'(\(\D+\))|,(\s+)?\D+', props['version']) - if codename: - codename = codename.group() - codename = codename.strip('()') - codename = codename.strip(',') - codename = codename.strip() - # codename appears within paranthese. - props['codename'] = codename - - return props - - @cached_property - def _lsb_release_info(self): - """ - Get the information items from the lsb_release command output. - - Returns: - A dictionary containing all information items. - """ - if not self.include_lsb: - return {} - with open(os.devnull, 'w') as devnull: - try: - cmd = ('lsb_release', '-a') - stdout = subprocess.check_output(cmd, stderr=devnull) - except OSError: # Command not found - return {} - content = stdout.decode(sys.getfilesystemencoding()).splitlines() - return self._parse_lsb_release_content(content) - - @staticmethod - def _parse_lsb_release_content(lines): - """ - Parse the output of the lsb_release command. - - Parameters: - - * lines: Iterable through the lines of the lsb_release output. - Each line must be a unicode string or a UTF-8 encoded byte - string. - - Returns: - A dictionary containing all information items. - """ - props = {} - for line in lines: - kv = line.strip('\n').split(':', 1) - if len(kv) != 2: - # Ignore lines without colon. - continue - k, v = kv - props.update({k.replace(' ', '_').lower(): v.strip()}) - return props - - @cached_property - def _uname_info(self): - with open(os.devnull, 'w') as devnull: - try: - cmd = ('uname', '-rs') - stdout = subprocess.check_output(cmd, stderr=devnull) - except OSError: - return {} - content = stdout.decode(sys.getfilesystemencoding()).splitlines() - return self._parse_uname_content(content) - - @staticmethod - def _parse_uname_content(lines): - props = {} - match = re.search(r'^([^\s]+)\s+([\d\.]+)', lines[0].strip()) - if match: - name, version = match.groups() - - # This is to prevent the Linux kernel version from - # appearing as the 'best' version on otherwise - # identifiable distributions. - if name == 'Linux': - return {} - props['id'] = name.lower() - props['name'] = name - props['release'] = version - return props - - @cached_property - def _distro_release_info(self): - """ - Get the information items from the specified distro release file. - - Returns: - A dictionary containing all information items. - """ - if self.distro_release_file: - # If it was specified, we use it and parse what we can, even if - # its file name or content does not match the expected pattern. - distro_info = self._parse_distro_release_file( - self.distro_release_file) - basename = os.path.basename(self.distro_release_file) - # The file name pattern for user-specified distro release files - # is somewhat more tolerant (compared to when searching for the - # file), because we want to use what was specified as best as - # possible. - match = _DISTRO_RELEASE_BASENAME_PATTERN.match(basename) - if 'name' in distro_info \ - and 'cloudlinux' in distro_info['name'].lower(): - distro_info['id'] = 'cloudlinux' - elif match: - distro_info['id'] = match.group(1) - return distro_info - else: - try: - basenames = os.listdir(_UNIXCONFDIR) - # We sort for repeatability in cases where there are multiple - # distro specific files; e.g. CentOS, Oracle, Enterprise all - # containing `redhat-release` on top of their own. - basenames.sort() - except OSError: - # This may occur when /etc is not readable but we can't be - # sure about the *-release files. Check common entries of - # /etc for information. If they turn out to not be there the - # error is handled in `_parse_distro_release_file()`. - basenames = ['SuSE-release', - 'arch-release', - 'base-release', - 'centos-release', - 'fedora-release', - 'gentoo-release', - 'mageia-release', - 'mandrake-release', - 'mandriva-release', - 'mandrivalinux-release', - 'manjaro-release', - 'oracle-release', - 'redhat-release', - 'sl-release', - 'slackware-version'] - for basename in basenames: - if basename in _DISTRO_RELEASE_IGNORE_BASENAMES: - continue - match = _DISTRO_RELEASE_BASENAME_PATTERN.match(basename) - if match: - filepath = os.path.join(_UNIXCONFDIR, basename) - distro_info = self._parse_distro_release_file(filepath) - if 'name' in distro_info: - # The name is always present if the pattern matches - self.distro_release_file = filepath - distro_info['id'] = match.group(1) - if 'cloudlinux' in distro_info['name'].lower(): - distro_info['id'] = 'cloudlinux' - return distro_info - return {} - - def _parse_distro_release_file(self, filepath): - """ - Parse a distro release file. - - Parameters: - - * filepath: Path name of the distro release file. - - Returns: - A dictionary containing all information items. - """ - try: - with open(filepath) as fp: - # Only parse the first line. For instance, on SLES there - # are multiple lines. We don't want them... - return self._parse_distro_release_content(fp.readline()) - except (OSError, IOError): - # Ignore not being able to read a specific, seemingly version - # related file. - # See https://github.com/nir0s/distro/issues/162 - return {} - - @staticmethod - def _parse_distro_release_content(line): - """ - Parse a line from a distro release file. - - Parameters: - * line: Line from the distro release file. Must be a unicode string - or a UTF-8 encoded byte string. - - Returns: - A dictionary containing all information items. - """ - if isinstance(line, bytes): - line = line.decode('utf-8') - matches = _DISTRO_RELEASE_CONTENT_REVERSED_PATTERN.match( - line.strip()[::-1]) - distro_info = {} - if matches: - # regexp ensures non-None - distro_info['name'] = matches.group(3)[::-1] - if matches.group(2): - distro_info['version_id'] = matches.group(2)[::-1] - if matches.group(1): - distro_info['codename'] = matches.group(1)[::-1] - elif line: - distro_info['name'] = line.strip() - return distro_info - - -_distro = LinuxDistribution() - - -def main(): - logger = logging.getLogger(__name__) - logger.setLevel(logging.DEBUG) - logger.addHandler(logging.StreamHandler(sys.stdout)) - - parser = argparse.ArgumentParser(description="OS distro info tool") - parser.add_argument( - '--json', - '-j', - help="Output in machine readable format", - action="store_true") - args = parser.parse_args() - - if args.json: - logger.info(json.dumps(info(), indent=4, sort_keys=True)) - else: - logger.info('Name: %s', name(pretty=True)) - distribution_version = version(pretty=True) - logger.info('Version: %s', distribution_version) - distribution_codename = codename() - logger.info('Codename: %s', distribution_codename) - - -if __name__ == '__main__': - main() diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/__init__.py deleted file mode 100644 index 0491234..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -HTML parsing library based on the `WHATWG HTML specification -`_. The parser is designed to be compatible with -existing HTML found in the wild and implements well-defined error recovery that -is largely compatible with modern desktop web browsers. - -Example usage:: - - from pip._vendor import html5lib - with open("my_document.html", "rb") as f: - tree = html5lib.parse(f) - -For convenience, this module re-exports the following names: - -* :func:`~.html5parser.parse` -* :func:`~.html5parser.parseFragment` -* :class:`~.html5parser.HTMLParser` -* :func:`~.treebuilders.getTreeBuilder` -* :func:`~.treewalkers.getTreeWalker` -* :func:`~.serializer.serialize` -""" - -from __future__ import absolute_import, division, unicode_literals - -from .html5parser import HTMLParser, parse, parseFragment -from .treebuilders import getTreeBuilder -from .treewalkers import getTreeWalker -from .serializer import serialize - -__all__ = ["HTMLParser", "parse", "parseFragment", "getTreeBuilder", - "getTreeWalker", "serialize"] - -# this has to be at the top level, see how setup.py parses this -#: Distribution version number. -__version__ = "1.0.1" diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_ihatexml.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_ihatexml.py deleted file mode 100644 index 4c77717..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_ihatexml.py +++ /dev/null @@ -1,288 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -import re -import warnings - -from .constants import DataLossWarning - -baseChar = """ -[#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | -[#x00F8-#x00FF] | [#x0100-#x0131] | [#x0134-#x013E] | [#x0141-#x0148] | -[#x014A-#x017E] | [#x0180-#x01C3] | [#x01CD-#x01F0] | [#x01F4-#x01F5] | -[#x01FA-#x0217] | [#x0250-#x02A8] | [#x02BB-#x02C1] | #x0386 | -[#x0388-#x038A] | #x038C | [#x038E-#x03A1] | [#x03A3-#x03CE] | -[#x03D0-#x03D6] | #x03DA | #x03DC | #x03DE | #x03E0 | [#x03E2-#x03F3] | -[#x0401-#x040C] | [#x040E-#x044F] | [#x0451-#x045C] | [#x045E-#x0481] | -[#x0490-#x04C4] | [#x04C7-#x04C8] | [#x04CB-#x04CC] | [#x04D0-#x04EB] | -[#x04EE-#x04F5] | [#x04F8-#x04F9] | [#x0531-#x0556] | #x0559 | -[#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2] | [#x0621-#x063A] | -[#x0641-#x064A] | [#x0671-#x06B7] | [#x06BA-#x06BE] | [#x06C0-#x06CE] | -[#x06D0-#x06D3] | #x06D5 | [#x06E5-#x06E6] | [#x0905-#x0939] | #x093D | -[#x0958-#x0961] | [#x0985-#x098C] | [#x098F-#x0990] | [#x0993-#x09A8] | -[#x09AA-#x09B0] | #x09B2 | [#x09B6-#x09B9] | [#x09DC-#x09DD] | -[#x09DF-#x09E1] | [#x09F0-#x09F1] | [#x0A05-#x0A0A] | [#x0A0F-#x0A10] | -[#x0A13-#x0A28] | [#x0A2A-#x0A30] | [#x0A32-#x0A33] | [#x0A35-#x0A36] | -[#x0A38-#x0A39] | [#x0A59-#x0A5C] | #x0A5E | [#x0A72-#x0A74] | -[#x0A85-#x0A8B] | #x0A8D | [#x0A8F-#x0A91] | [#x0A93-#x0AA8] | -[#x0AAA-#x0AB0] | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] | #x0ABD | #x0AE0 | -[#x0B05-#x0B0C] | [#x0B0F-#x0B10] | [#x0B13-#x0B28] | [#x0B2A-#x0B30] | -[#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D | [#x0B5C-#x0B5D] | -[#x0B5F-#x0B61] | [#x0B85-#x0B8A] | [#x0B8E-#x0B90] | [#x0B92-#x0B95] | -[#x0B99-#x0B9A] | #x0B9C | [#x0B9E-#x0B9F] | [#x0BA3-#x0BA4] | -[#x0BA8-#x0BAA] | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9] | [#x0C05-#x0C0C] | -[#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33] | [#x0C35-#x0C39] | -[#x0C60-#x0C61] | [#x0C85-#x0C8C] | [#x0C8E-#x0C90] | [#x0C92-#x0CA8] | -[#x0CAA-#x0CB3] | [#x0CB5-#x0CB9] | #x0CDE | [#x0CE0-#x0CE1] | -[#x0D05-#x0D0C] | [#x0D0E-#x0D10] | [#x0D12-#x0D28] | [#x0D2A-#x0D39] | -[#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 | [#x0E32-#x0E33] | -[#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 | [#x0E87-#x0E88] | #x0E8A | -#x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F] | [#x0EA1-#x0EA3] | #x0EA5 | -#x0EA7 | [#x0EAA-#x0EAB] | [#x0EAD-#x0EAE] | #x0EB0 | [#x0EB2-#x0EB3] | -#x0EBD | [#x0EC0-#x0EC4] | [#x0F40-#x0F47] | [#x0F49-#x0F69] | -[#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100 | [#x1102-#x1103] | -[#x1105-#x1107] | #x1109 | [#x110B-#x110C] | [#x110E-#x1112] | #x113C | -#x113E | #x1140 | #x114C | #x114E | #x1150 | [#x1154-#x1155] | #x1159 | -[#x115F-#x1161] | #x1163 | #x1165 | #x1167 | #x1169 | [#x116D-#x116E] | -[#x1172-#x1173] | #x1175 | #x119E | #x11A8 | #x11AB | [#x11AE-#x11AF] | -[#x11B7-#x11B8] | #x11BA | [#x11BC-#x11C2] | #x11EB | #x11F0 | #x11F9 | -[#x1E00-#x1E9B] | [#x1EA0-#x1EF9] | [#x1F00-#x1F15] | [#x1F18-#x1F1D] | -[#x1F20-#x1F45] | [#x1F48-#x1F4D] | [#x1F50-#x1F57] | #x1F59 | #x1F5B | -#x1F5D | [#x1F5F-#x1F7D] | [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | -[#x1FC2-#x1FC4] | [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB] | -[#x1FE0-#x1FEC] | [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126 | -[#x212A-#x212B] | #x212E | [#x2180-#x2182] | [#x3041-#x3094] | -[#x30A1-#x30FA] | [#x3105-#x312C] | [#xAC00-#xD7A3]""" - -ideographic = """[#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]""" - -combiningCharacter = """ -[#x0300-#x0345] | [#x0360-#x0361] | [#x0483-#x0486] | [#x0591-#x05A1] | -[#x05A3-#x05B9] | [#x05BB-#x05BD] | #x05BF | [#x05C1-#x05C2] | #x05C4 | -[#x064B-#x0652] | #x0670 | [#x06D6-#x06DC] | [#x06DD-#x06DF] | -[#x06E0-#x06E4] | [#x06E7-#x06E8] | [#x06EA-#x06ED] | [#x0901-#x0903] | -#x093C | [#x093E-#x094C] | #x094D | [#x0951-#x0954] | [#x0962-#x0963] | -[#x0981-#x0983] | #x09BC | #x09BE | #x09BF | [#x09C0-#x09C4] | -[#x09C7-#x09C8] | [#x09CB-#x09CD] | #x09D7 | [#x09E2-#x09E3] | #x0A02 | -#x0A3C | #x0A3E | #x0A3F | [#x0A40-#x0A42] | [#x0A47-#x0A48] | -[#x0A4B-#x0A4D] | [#x0A70-#x0A71] | [#x0A81-#x0A83] | #x0ABC | -[#x0ABE-#x0AC5] | [#x0AC7-#x0AC9] | [#x0ACB-#x0ACD] | [#x0B01-#x0B03] | -#x0B3C | [#x0B3E-#x0B43] | [#x0B47-#x0B48] | [#x0B4B-#x0B4D] | -[#x0B56-#x0B57] | [#x0B82-#x0B83] | [#x0BBE-#x0BC2] | [#x0BC6-#x0BC8] | -[#x0BCA-#x0BCD] | #x0BD7 | [#x0C01-#x0C03] | [#x0C3E-#x0C44] | -[#x0C46-#x0C48] | [#x0C4A-#x0C4D] | [#x0C55-#x0C56] | [#x0C82-#x0C83] | -[#x0CBE-#x0CC4] | [#x0CC6-#x0CC8] | [#x0CCA-#x0CCD] | [#x0CD5-#x0CD6] | -[#x0D02-#x0D03] | [#x0D3E-#x0D43] | [#x0D46-#x0D48] | [#x0D4A-#x0D4D] | -#x0D57 | #x0E31 | [#x0E34-#x0E3A] | [#x0E47-#x0E4E] | #x0EB1 | -[#x0EB4-#x0EB9] | [#x0EBB-#x0EBC] | [#x0EC8-#x0ECD] | [#x0F18-#x0F19] | -#x0F35 | #x0F37 | #x0F39 | #x0F3E | #x0F3F | [#x0F71-#x0F84] | -[#x0F86-#x0F8B] | [#x0F90-#x0F95] | #x0F97 | [#x0F99-#x0FAD] | -[#x0FB1-#x0FB7] | #x0FB9 | [#x20D0-#x20DC] | #x20E1 | [#x302A-#x302F] | -#x3099 | #x309A""" - -digit = """ -[#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9] | [#x0966-#x096F] | -[#x09E6-#x09EF] | [#x0A66-#x0A6F] | [#x0AE6-#x0AEF] | [#x0B66-#x0B6F] | -[#x0BE7-#x0BEF] | [#x0C66-#x0C6F] | [#x0CE6-#x0CEF] | [#x0D66-#x0D6F] | -[#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]""" - -extender = """ -#x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | -#[#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]""" - -letter = " | ".join([baseChar, ideographic]) - -# Without the -name = " | ".join([letter, digit, ".", "-", "_", combiningCharacter, - extender]) -nameFirst = " | ".join([letter, "_"]) - -reChar = re.compile(r"#x([\d|A-F]{4,4})") -reCharRange = re.compile(r"\[#x([\d|A-F]{4,4})-#x([\d|A-F]{4,4})\]") - - -def charStringToList(chars): - charRanges = [item.strip() for item in chars.split(" | ")] - rv = [] - for item in charRanges: - foundMatch = False - for regexp in (reChar, reCharRange): - match = regexp.match(item) - if match is not None: - rv.append([hexToInt(item) for item in match.groups()]) - if len(rv[-1]) == 1: - rv[-1] = rv[-1] * 2 - foundMatch = True - break - if not foundMatch: - assert len(item) == 1 - - rv.append([ord(item)] * 2) - rv = normaliseCharList(rv) - return rv - - -def normaliseCharList(charList): - charList = sorted(charList) - for item in charList: - assert item[1] >= item[0] - rv = [] - i = 0 - while i < len(charList): - j = 1 - rv.append(charList[i]) - while i + j < len(charList) and charList[i + j][0] <= rv[-1][1] + 1: - rv[-1][1] = charList[i + j][1] - j += 1 - i += j - return rv - -# We don't really support characters above the BMP :( -max_unicode = int("FFFF", 16) - - -def missingRanges(charList): - rv = [] - if charList[0] != 0: - rv.append([0, charList[0][0] - 1]) - for i, item in enumerate(charList[:-1]): - rv.append([item[1] + 1, charList[i + 1][0] - 1]) - if charList[-1][1] != max_unicode: - rv.append([charList[-1][1] + 1, max_unicode]) - return rv - - -def listToRegexpStr(charList): - rv = [] - for item in charList: - if item[0] == item[1]: - rv.append(escapeRegexp(chr(item[0]))) - else: - rv.append(escapeRegexp(chr(item[0])) + "-" + - escapeRegexp(chr(item[1]))) - return "[%s]" % "".join(rv) - - -def hexToInt(hex_str): - return int(hex_str, 16) - - -def escapeRegexp(string): - specialCharacters = (".", "^", "$", "*", "+", "?", "{", "}", - "[", "]", "|", "(", ")", "-") - for char in specialCharacters: - string = string.replace(char, "\\" + char) - - return string - -# output from the above -nonXmlNameBMPRegexp = re.compile('[\x00-,/:-@\\[-\\^`\\{-\xb6\xb8-\xbf\xd7\xf7\u0132-\u0133\u013f-\u0140\u0149\u017f\u01c4-\u01cc\u01f1-\u01f3\u01f6-\u01f9\u0218-\u024f\u02a9-\u02ba\u02c2-\u02cf\u02d2-\u02ff\u0346-\u035f\u0362-\u0385\u038b\u038d\u03a2\u03cf\u03d7-\u03d9\u03db\u03dd\u03df\u03e1\u03f4-\u0400\u040d\u0450\u045d\u0482\u0487-\u048f\u04c5-\u04c6\u04c9-\u04ca\u04cd-\u04cf\u04ec-\u04ed\u04f6-\u04f7\u04fa-\u0530\u0557-\u0558\u055a-\u0560\u0587-\u0590\u05a2\u05ba\u05be\u05c0\u05c3\u05c5-\u05cf\u05eb-\u05ef\u05f3-\u0620\u063b-\u063f\u0653-\u065f\u066a-\u066f\u06b8-\u06b9\u06bf\u06cf\u06d4\u06e9\u06ee-\u06ef\u06fa-\u0900\u0904\u093a-\u093b\u094e-\u0950\u0955-\u0957\u0964-\u0965\u0970-\u0980\u0984\u098d-\u098e\u0991-\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba-\u09bb\u09bd\u09c5-\u09c6\u09c9-\u09ca\u09ce-\u09d6\u09d8-\u09db\u09de\u09e4-\u09e5\u09f2-\u0a01\u0a03-\u0a04\u0a0b-\u0a0e\u0a11-\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a-\u0a3b\u0a3d\u0a43-\u0a46\u0a49-\u0a4a\u0a4e-\u0a58\u0a5d\u0a5f-\u0a65\u0a75-\u0a80\u0a84\u0a8c\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba-\u0abb\u0ac6\u0aca\u0ace-\u0adf\u0ae1-\u0ae5\u0af0-\u0b00\u0b04\u0b0d-\u0b0e\u0b11-\u0b12\u0b29\u0b31\u0b34-\u0b35\u0b3a-\u0b3b\u0b44-\u0b46\u0b49-\u0b4a\u0b4e-\u0b55\u0b58-\u0b5b\u0b5e\u0b62-\u0b65\u0b70-\u0b81\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bb6\u0bba-\u0bbd\u0bc3-\u0bc5\u0bc9\u0bce-\u0bd6\u0bd8-\u0be6\u0bf0-\u0c00\u0c04\u0c0d\u0c11\u0c29\u0c34\u0c3a-\u0c3d\u0c45\u0c49\u0c4e-\u0c54\u0c57-\u0c5f\u0c62-\u0c65\u0c70-\u0c81\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba-\u0cbd\u0cc5\u0cc9\u0cce-\u0cd4\u0cd7-\u0cdd\u0cdf\u0ce2-\u0ce5\u0cf0-\u0d01\u0d04\u0d0d\u0d11\u0d29\u0d3a-\u0d3d\u0d44-\u0d45\u0d49\u0d4e-\u0d56\u0d58-\u0d5f\u0d62-\u0d65\u0d70-\u0e00\u0e2f\u0e3b-\u0e3f\u0e4f\u0e5a-\u0e80\u0e83\u0e85-\u0e86\u0e89\u0e8b-\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8-\u0ea9\u0eac\u0eaf\u0eba\u0ebe-\u0ebf\u0ec5\u0ec7\u0ece-\u0ecf\u0eda-\u0f17\u0f1a-\u0f1f\u0f2a-\u0f34\u0f36\u0f38\u0f3a-\u0f3d\u0f48\u0f6a-\u0f70\u0f85\u0f8c-\u0f8f\u0f96\u0f98\u0fae-\u0fb0\u0fb8\u0fba-\u109f\u10c6-\u10cf\u10f7-\u10ff\u1101\u1104\u1108\u110a\u110d\u1113-\u113b\u113d\u113f\u1141-\u114b\u114d\u114f\u1151-\u1153\u1156-\u1158\u115a-\u115e\u1162\u1164\u1166\u1168\u116a-\u116c\u116f-\u1171\u1174\u1176-\u119d\u119f-\u11a7\u11a9-\u11aa\u11ac-\u11ad\u11b0-\u11b6\u11b9\u11bb\u11c3-\u11ea\u11ec-\u11ef\u11f1-\u11f8\u11fa-\u1dff\u1e9c-\u1e9f\u1efa-\u1eff\u1f16-\u1f17\u1f1e-\u1f1f\u1f46-\u1f47\u1f4e-\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e-\u1f7f\u1fb5\u1fbd\u1fbf-\u1fc1\u1fc5\u1fcd-\u1fcf\u1fd4-\u1fd5\u1fdc-\u1fdf\u1fed-\u1ff1\u1ff5\u1ffd-\u20cf\u20dd-\u20e0\u20e2-\u2125\u2127-\u2129\u212c-\u212d\u212f-\u217f\u2183-\u3004\u3006\u3008-\u3020\u3030\u3036-\u3040\u3095-\u3098\u309b-\u309c\u309f-\u30a0\u30fb\u30ff-\u3104\u312d-\u4dff\u9fa6-\uabff\ud7a4-\uffff]') # noqa - -nonXmlNameFirstBMPRegexp = re.compile('[\x00-@\\[-\\^`\\{-\xbf\xd7\xf7\u0132-\u0133\u013f-\u0140\u0149\u017f\u01c4-\u01cc\u01f1-\u01f3\u01f6-\u01f9\u0218-\u024f\u02a9-\u02ba\u02c2-\u0385\u0387\u038b\u038d\u03a2\u03cf\u03d7-\u03d9\u03db\u03dd\u03df\u03e1\u03f4-\u0400\u040d\u0450\u045d\u0482-\u048f\u04c5-\u04c6\u04c9-\u04ca\u04cd-\u04cf\u04ec-\u04ed\u04f6-\u04f7\u04fa-\u0530\u0557-\u0558\u055a-\u0560\u0587-\u05cf\u05eb-\u05ef\u05f3-\u0620\u063b-\u0640\u064b-\u0670\u06b8-\u06b9\u06bf\u06cf\u06d4\u06d6-\u06e4\u06e7-\u0904\u093a-\u093c\u093e-\u0957\u0962-\u0984\u098d-\u098e\u0991-\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba-\u09db\u09de\u09e2-\u09ef\u09f2-\u0a04\u0a0b-\u0a0e\u0a11-\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a-\u0a58\u0a5d\u0a5f-\u0a71\u0a75-\u0a84\u0a8c\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba-\u0abc\u0abe-\u0adf\u0ae1-\u0b04\u0b0d-\u0b0e\u0b11-\u0b12\u0b29\u0b31\u0b34-\u0b35\u0b3a-\u0b3c\u0b3e-\u0b5b\u0b5e\u0b62-\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bb6\u0bba-\u0c04\u0c0d\u0c11\u0c29\u0c34\u0c3a-\u0c5f\u0c62-\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba-\u0cdd\u0cdf\u0ce2-\u0d04\u0d0d\u0d11\u0d29\u0d3a-\u0d5f\u0d62-\u0e00\u0e2f\u0e31\u0e34-\u0e3f\u0e46-\u0e80\u0e83\u0e85-\u0e86\u0e89\u0e8b-\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8-\u0ea9\u0eac\u0eaf\u0eb1\u0eb4-\u0ebc\u0ebe-\u0ebf\u0ec5-\u0f3f\u0f48\u0f6a-\u109f\u10c6-\u10cf\u10f7-\u10ff\u1101\u1104\u1108\u110a\u110d\u1113-\u113b\u113d\u113f\u1141-\u114b\u114d\u114f\u1151-\u1153\u1156-\u1158\u115a-\u115e\u1162\u1164\u1166\u1168\u116a-\u116c\u116f-\u1171\u1174\u1176-\u119d\u119f-\u11a7\u11a9-\u11aa\u11ac-\u11ad\u11b0-\u11b6\u11b9\u11bb\u11c3-\u11ea\u11ec-\u11ef\u11f1-\u11f8\u11fa-\u1dff\u1e9c-\u1e9f\u1efa-\u1eff\u1f16-\u1f17\u1f1e-\u1f1f\u1f46-\u1f47\u1f4e-\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e-\u1f7f\u1fb5\u1fbd\u1fbf-\u1fc1\u1fc5\u1fcd-\u1fcf\u1fd4-\u1fd5\u1fdc-\u1fdf\u1fed-\u1ff1\u1ff5\u1ffd-\u2125\u2127-\u2129\u212c-\u212d\u212f-\u217f\u2183-\u3006\u3008-\u3020\u302a-\u3040\u3095-\u30a0\u30fb-\u3104\u312d-\u4dff\u9fa6-\uabff\ud7a4-\uffff]') # noqa - -# Simpler things -nonPubidCharRegexp = re.compile("[^\x20\x0D\x0Aa-zA-Z0-9\\-'()+,./:=?;!*#@$_%]") - - -class InfosetFilter(object): - replacementRegexp = re.compile(r"U[\dA-F]{5,5}") - - def __init__(self, - dropXmlnsLocalName=False, - dropXmlnsAttrNs=False, - preventDoubleDashComments=False, - preventDashAtCommentEnd=False, - replaceFormFeedCharacters=True, - preventSingleQuotePubid=False): - - self.dropXmlnsLocalName = dropXmlnsLocalName - self.dropXmlnsAttrNs = dropXmlnsAttrNs - - self.preventDoubleDashComments = preventDoubleDashComments - self.preventDashAtCommentEnd = preventDashAtCommentEnd - - self.replaceFormFeedCharacters = replaceFormFeedCharacters - - self.preventSingleQuotePubid = preventSingleQuotePubid - - self.replaceCache = {} - - def coerceAttribute(self, name, namespace=None): - if self.dropXmlnsLocalName and name.startswith("xmlns:"): - warnings.warn("Attributes cannot begin with xmlns", DataLossWarning) - return None - elif (self.dropXmlnsAttrNs and - namespace == "http://www.w3.org/2000/xmlns/"): - warnings.warn("Attributes cannot be in the xml namespace", DataLossWarning) - return None - else: - return self.toXmlName(name) - - def coerceElement(self, name): - return self.toXmlName(name) - - def coerceComment(self, data): - if self.preventDoubleDashComments: - while "--" in data: - warnings.warn("Comments cannot contain adjacent dashes", DataLossWarning) - data = data.replace("--", "- -") - if data.endswith("-"): - warnings.warn("Comments cannot end in a dash", DataLossWarning) - data += " " - return data - - def coerceCharacters(self, data): - if self.replaceFormFeedCharacters: - for _ in range(data.count("\x0C")): - warnings.warn("Text cannot contain U+000C", DataLossWarning) - data = data.replace("\x0C", " ") - # Other non-xml characters - return data - - def coercePubid(self, data): - dataOutput = data - for char in nonPubidCharRegexp.findall(data): - warnings.warn("Coercing non-XML pubid", DataLossWarning) - replacement = self.getReplacementCharacter(char) - dataOutput = dataOutput.replace(char, replacement) - if self.preventSingleQuotePubid and dataOutput.find("'") >= 0: - warnings.warn("Pubid cannot contain single quote", DataLossWarning) - dataOutput = dataOutput.replace("'", self.getReplacementCharacter("'")) - return dataOutput - - def toXmlName(self, name): - nameFirst = name[0] - nameRest = name[1:] - m = nonXmlNameFirstBMPRegexp.match(nameFirst) - if m: - warnings.warn("Coercing non-XML name", DataLossWarning) - nameFirstOutput = self.getReplacementCharacter(nameFirst) - else: - nameFirstOutput = nameFirst - - nameRestOutput = nameRest - replaceChars = set(nonXmlNameBMPRegexp.findall(nameRest)) - for char in replaceChars: - warnings.warn("Coercing non-XML name", DataLossWarning) - replacement = self.getReplacementCharacter(char) - nameRestOutput = nameRestOutput.replace(char, replacement) - return nameFirstOutput + nameRestOutput - - def getReplacementCharacter(self, char): - if char in self.replaceCache: - replacement = self.replaceCache[char] - else: - replacement = self.escapeChar(char) - return replacement - - def fromXmlName(self, name): - for item in set(self.replacementRegexp.findall(name)): - name = name.replace(item, self.unescapeChar(item)) - return name - - def escapeChar(self, char): - replacement = "U%05X" % ord(char) - self.replaceCache[char] = replacement - return replacement - - def unescapeChar(self, charcode): - return chr(int(charcode[1:], 16)) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_inputstream.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_inputstream.py deleted file mode 100644 index a65e55f..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_inputstream.py +++ /dev/null @@ -1,923 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -from pip._vendor.six import text_type, binary_type -from pip._vendor.six.moves import http_client, urllib - -import codecs -import re - -from pip._vendor import webencodings - -from .constants import EOF, spaceCharacters, asciiLetters, asciiUppercase -from .constants import _ReparseException -from . import _utils - -from io import StringIO - -try: - from io import BytesIO -except ImportError: - BytesIO = StringIO - -# Non-unicode versions of constants for use in the pre-parser -spaceCharactersBytes = frozenset([item.encode("ascii") for item in spaceCharacters]) -asciiLettersBytes = frozenset([item.encode("ascii") for item in asciiLetters]) -asciiUppercaseBytes = frozenset([item.encode("ascii") for item in asciiUppercase]) -spacesAngleBrackets = spaceCharactersBytes | frozenset([b">", b"<"]) - - -invalid_unicode_no_surrogate = "[\u0001-\u0008\u000B\u000E-\u001F\u007F-\u009F\uFDD0-\uFDEF\uFFFE\uFFFF\U0001FFFE\U0001FFFF\U0002FFFE\U0002FFFF\U0003FFFE\U0003FFFF\U0004FFFE\U0004FFFF\U0005FFFE\U0005FFFF\U0006FFFE\U0006FFFF\U0007FFFE\U0007FFFF\U0008FFFE\U0008FFFF\U0009FFFE\U0009FFFF\U000AFFFE\U000AFFFF\U000BFFFE\U000BFFFF\U000CFFFE\U000CFFFF\U000DFFFE\U000DFFFF\U000EFFFE\U000EFFFF\U000FFFFE\U000FFFFF\U0010FFFE\U0010FFFF]" # noqa - -if _utils.supports_lone_surrogates: - # Use one extra step of indirection and create surrogates with - # eval. Not using this indirection would introduce an illegal - # unicode literal on platforms not supporting such lone - # surrogates. - assert invalid_unicode_no_surrogate[-1] == "]" and invalid_unicode_no_surrogate.count("]") == 1 - invalid_unicode_re = re.compile(invalid_unicode_no_surrogate[:-1] + - eval('"\\uD800-\\uDFFF"') + # pylint:disable=eval-used - "]") -else: - invalid_unicode_re = re.compile(invalid_unicode_no_surrogate) - -non_bmp_invalid_codepoints = set([0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, - 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, - 0x6FFFE, 0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, - 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, - 0xBFFFE, 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, - 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, - 0x10FFFE, 0x10FFFF]) - -ascii_punctuation_re = re.compile("[\u0009-\u000D\u0020-\u002F\u003A-\u0040\u005C\u005B-\u0060\u007B-\u007E]") - -# Cache for charsUntil() -charsUntilRegEx = {} - - -class BufferedStream(object): - """Buffering for streams that do not have buffering of their own - - The buffer is implemented as a list of chunks on the assumption that - joining many strings will be slow since it is O(n**2) - """ - - def __init__(self, stream): - self.stream = stream - self.buffer = [] - self.position = [-1, 0] # chunk number, offset - - def tell(self): - pos = 0 - for chunk in self.buffer[:self.position[0]]: - pos += len(chunk) - pos += self.position[1] - return pos - - def seek(self, pos): - assert pos <= self._bufferedBytes() - offset = pos - i = 0 - while len(self.buffer[i]) < offset: - offset -= len(self.buffer[i]) - i += 1 - self.position = [i, offset] - - def read(self, bytes): - if not self.buffer: - return self._readStream(bytes) - elif (self.position[0] == len(self.buffer) and - self.position[1] == len(self.buffer[-1])): - return self._readStream(bytes) - else: - return self._readFromBuffer(bytes) - - def _bufferedBytes(self): - return sum([len(item) for item in self.buffer]) - - def _readStream(self, bytes): - data = self.stream.read(bytes) - self.buffer.append(data) - self.position[0] += 1 - self.position[1] = len(data) - return data - - def _readFromBuffer(self, bytes): - remainingBytes = bytes - rv = [] - bufferIndex = self.position[0] - bufferOffset = self.position[1] - while bufferIndex < len(self.buffer) and remainingBytes != 0: - assert remainingBytes > 0 - bufferedData = self.buffer[bufferIndex] - - if remainingBytes <= len(bufferedData) - bufferOffset: - bytesToRead = remainingBytes - self.position = [bufferIndex, bufferOffset + bytesToRead] - else: - bytesToRead = len(bufferedData) - bufferOffset - self.position = [bufferIndex, len(bufferedData)] - bufferIndex += 1 - rv.append(bufferedData[bufferOffset:bufferOffset + bytesToRead]) - remainingBytes -= bytesToRead - - bufferOffset = 0 - - if remainingBytes: - rv.append(self._readStream(remainingBytes)) - - return b"".join(rv) - - -def HTMLInputStream(source, **kwargs): - # Work around Python bug #20007: read(0) closes the connection. - # http://bugs.python.org/issue20007 - if (isinstance(source, http_client.HTTPResponse) or - # Also check for addinfourl wrapping HTTPResponse - (isinstance(source, urllib.response.addbase) and - isinstance(source.fp, http_client.HTTPResponse))): - isUnicode = False - elif hasattr(source, "read"): - isUnicode = isinstance(source.read(0), text_type) - else: - isUnicode = isinstance(source, text_type) - - if isUnicode: - encodings = [x for x in kwargs if x.endswith("_encoding")] - if encodings: - raise TypeError("Cannot set an encoding with a unicode input, set %r" % encodings) - - return HTMLUnicodeInputStream(source, **kwargs) - else: - return HTMLBinaryInputStream(source, **kwargs) - - -class HTMLUnicodeInputStream(object): - """Provides a unicode stream of characters to the HTMLTokenizer. - - This class takes care of character encoding and removing or replacing - incorrect byte-sequences and also provides column and line tracking. - - """ - - _defaultChunkSize = 10240 - - def __init__(self, source): - """Initialises the HTMLInputStream. - - HTMLInputStream(source, [encoding]) -> Normalized stream from source - for use by html5lib. - - source can be either a file-object, local filename or a string. - - The optional encoding parameter must be a string that indicates - the encoding. If specified, that encoding will be used, - regardless of any BOM or later declaration (such as in a meta - element) - - """ - - if not _utils.supports_lone_surrogates: - # Such platforms will have already checked for such - # surrogate errors, so no need to do this checking. - self.reportCharacterErrors = None - elif len("\U0010FFFF") == 1: - self.reportCharacterErrors = self.characterErrorsUCS4 - else: - self.reportCharacterErrors = self.characterErrorsUCS2 - - # List of where new lines occur - self.newLines = [0] - - self.charEncoding = (lookupEncoding("utf-8"), "certain") - self.dataStream = self.openStream(source) - - self.reset() - - def reset(self): - self.chunk = "" - self.chunkSize = 0 - self.chunkOffset = 0 - self.errors = [] - - # number of (complete) lines in previous chunks - self.prevNumLines = 0 - # number of columns in the last line of the previous chunk - self.prevNumCols = 0 - - # Deal with CR LF and surrogates split over chunk boundaries - self._bufferedCharacter = None - - def openStream(self, source): - """Produces a file object from source. - - source can be either a file object, local filename or a string. - - """ - # Already a file object - if hasattr(source, 'read'): - stream = source - else: - stream = StringIO(source) - - return stream - - def _position(self, offset): - chunk = self.chunk - nLines = chunk.count('\n', 0, offset) - positionLine = self.prevNumLines + nLines - lastLinePos = chunk.rfind('\n', 0, offset) - if lastLinePos == -1: - positionColumn = self.prevNumCols + offset - else: - positionColumn = offset - (lastLinePos + 1) - return (positionLine, positionColumn) - - def position(self): - """Returns (line, col) of the current position in the stream.""" - line, col = self._position(self.chunkOffset) - return (line + 1, col) - - def char(self): - """ Read one character from the stream or queue if available. Return - EOF when EOF is reached. - """ - # Read a new chunk from the input stream if necessary - if self.chunkOffset >= self.chunkSize: - if not self.readChunk(): - return EOF - - chunkOffset = self.chunkOffset - char = self.chunk[chunkOffset] - self.chunkOffset = chunkOffset + 1 - - return char - - def readChunk(self, chunkSize=None): - if chunkSize is None: - chunkSize = self._defaultChunkSize - - self.prevNumLines, self.prevNumCols = self._position(self.chunkSize) - - self.chunk = "" - self.chunkSize = 0 - self.chunkOffset = 0 - - data = self.dataStream.read(chunkSize) - - # Deal with CR LF and surrogates broken across chunks - if self._bufferedCharacter: - data = self._bufferedCharacter + data - self._bufferedCharacter = None - elif not data: - # We have no more data, bye-bye stream - return False - - if len(data) > 1: - lastv = ord(data[-1]) - if lastv == 0x0D or 0xD800 <= lastv <= 0xDBFF: - self._bufferedCharacter = data[-1] - data = data[:-1] - - if self.reportCharacterErrors: - self.reportCharacterErrors(data) - - # Replace invalid characters - data = data.replace("\r\n", "\n") - data = data.replace("\r", "\n") - - self.chunk = data - self.chunkSize = len(data) - - return True - - def characterErrorsUCS4(self, data): - for _ in range(len(invalid_unicode_re.findall(data))): - self.errors.append("invalid-codepoint") - - def characterErrorsUCS2(self, data): - # Someone picked the wrong compile option - # You lose - skip = False - for match in invalid_unicode_re.finditer(data): - if skip: - continue - codepoint = ord(match.group()) - pos = match.start() - # Pretty sure there should be endianness issues here - if _utils.isSurrogatePair(data[pos:pos + 2]): - # We have a surrogate pair! - char_val = _utils.surrogatePairToCodepoint(data[pos:pos + 2]) - if char_val in non_bmp_invalid_codepoints: - self.errors.append("invalid-codepoint") - skip = True - elif (codepoint >= 0xD800 and codepoint <= 0xDFFF and - pos == len(data) - 1): - self.errors.append("invalid-codepoint") - else: - skip = False - self.errors.append("invalid-codepoint") - - def charsUntil(self, characters, opposite=False): - """ Returns a string of characters from the stream up to but not - including any character in 'characters' or EOF. 'characters' must be - a container that supports the 'in' method and iteration over its - characters. - """ - - # Use a cache of regexps to find the required characters - try: - chars = charsUntilRegEx[(characters, opposite)] - except KeyError: - if __debug__: - for c in characters: - assert(ord(c) < 128) - regex = "".join(["\\x%02x" % ord(c) for c in characters]) - if not opposite: - regex = "^%s" % regex - chars = charsUntilRegEx[(characters, opposite)] = re.compile("[%s]+" % regex) - - rv = [] - - while True: - # Find the longest matching prefix - m = chars.match(self.chunk, self.chunkOffset) - if m is None: - # If nothing matched, and it wasn't because we ran out of chunk, - # then stop - if self.chunkOffset != self.chunkSize: - break - else: - end = m.end() - # If not the whole chunk matched, return everything - # up to the part that didn't match - if end != self.chunkSize: - rv.append(self.chunk[self.chunkOffset:end]) - self.chunkOffset = end - break - # If the whole remainder of the chunk matched, - # use it all and read the next chunk - rv.append(self.chunk[self.chunkOffset:]) - if not self.readChunk(): - # Reached EOF - break - - r = "".join(rv) - return r - - def unget(self, char): - # Only one character is allowed to be ungotten at once - it must - # be consumed again before any further call to unget - if char is not None: - if self.chunkOffset == 0: - # unget is called quite rarely, so it's a good idea to do - # more work here if it saves a bit of work in the frequently - # called char and charsUntil. - # So, just prepend the ungotten character onto the current - # chunk: - self.chunk = char + self.chunk - self.chunkSize += 1 - else: - self.chunkOffset -= 1 - assert self.chunk[self.chunkOffset] == char - - -class HTMLBinaryInputStream(HTMLUnicodeInputStream): - """Provides a unicode stream of characters to the HTMLTokenizer. - - This class takes care of character encoding and removing or replacing - incorrect byte-sequences and also provides column and line tracking. - - """ - - def __init__(self, source, override_encoding=None, transport_encoding=None, - same_origin_parent_encoding=None, likely_encoding=None, - default_encoding="windows-1252", useChardet=True): - """Initialises the HTMLInputStream. - - HTMLInputStream(source, [encoding]) -> Normalized stream from source - for use by html5lib. - - source can be either a file-object, local filename or a string. - - The optional encoding parameter must be a string that indicates - the encoding. If specified, that encoding will be used, - regardless of any BOM or later declaration (such as in a meta - element) - - """ - # Raw Stream - for unicode objects this will encode to utf-8 and set - # self.charEncoding as appropriate - self.rawStream = self.openStream(source) - - HTMLUnicodeInputStream.__init__(self, self.rawStream) - - # Encoding Information - # Number of bytes to use when looking for a meta element with - # encoding information - self.numBytesMeta = 1024 - # Number of bytes to use when using detecting encoding using chardet - self.numBytesChardet = 100 - # Things from args - self.override_encoding = override_encoding - self.transport_encoding = transport_encoding - self.same_origin_parent_encoding = same_origin_parent_encoding - self.likely_encoding = likely_encoding - self.default_encoding = default_encoding - - # Determine encoding - self.charEncoding = self.determineEncoding(useChardet) - assert self.charEncoding[0] is not None - - # Call superclass - self.reset() - - def reset(self): - self.dataStream = self.charEncoding[0].codec_info.streamreader(self.rawStream, 'replace') - HTMLUnicodeInputStream.reset(self) - - def openStream(self, source): - """Produces a file object from source. - - source can be either a file object, local filename or a string. - - """ - # Already a file object - if hasattr(source, 'read'): - stream = source - else: - stream = BytesIO(source) - - try: - stream.seek(stream.tell()) - except: # pylint:disable=bare-except - stream = BufferedStream(stream) - - return stream - - def determineEncoding(self, chardet=True): - # BOMs take precedence over everything - # This will also read past the BOM if present - charEncoding = self.detectBOM(), "certain" - if charEncoding[0] is not None: - return charEncoding - - # If we've been overriden, we've been overriden - charEncoding = lookupEncoding(self.override_encoding), "certain" - if charEncoding[0] is not None: - return charEncoding - - # Now check the transport layer - charEncoding = lookupEncoding(self.transport_encoding), "certain" - if charEncoding[0] is not None: - return charEncoding - - # Look for meta elements with encoding information - charEncoding = self.detectEncodingMeta(), "tentative" - if charEncoding[0] is not None: - return charEncoding - - # Parent document encoding - charEncoding = lookupEncoding(self.same_origin_parent_encoding), "tentative" - if charEncoding[0] is not None and not charEncoding[0].name.startswith("utf-16"): - return charEncoding - - # "likely" encoding - charEncoding = lookupEncoding(self.likely_encoding), "tentative" - if charEncoding[0] is not None: - return charEncoding - - # Guess with chardet, if available - if chardet: - try: - from pip._vendor.chardet.universaldetector import UniversalDetector - except ImportError: - pass - else: - buffers = [] - detector = UniversalDetector() - while not detector.done: - buffer = self.rawStream.read(self.numBytesChardet) - assert isinstance(buffer, bytes) - if not buffer: - break - buffers.append(buffer) - detector.feed(buffer) - detector.close() - encoding = lookupEncoding(detector.result['encoding']) - self.rawStream.seek(0) - if encoding is not None: - return encoding, "tentative" - - # Try the default encoding - charEncoding = lookupEncoding(self.default_encoding), "tentative" - if charEncoding[0] is not None: - return charEncoding - - # Fallback to html5lib's default if even that hasn't worked - return lookupEncoding("windows-1252"), "tentative" - - def changeEncoding(self, newEncoding): - assert self.charEncoding[1] != "certain" - newEncoding = lookupEncoding(newEncoding) - if newEncoding is None: - return - if newEncoding.name in ("utf-16be", "utf-16le"): - newEncoding = lookupEncoding("utf-8") - assert newEncoding is not None - elif newEncoding == self.charEncoding[0]: - self.charEncoding = (self.charEncoding[0], "certain") - else: - self.rawStream.seek(0) - self.charEncoding = (newEncoding, "certain") - self.reset() - raise _ReparseException("Encoding changed from %s to %s" % (self.charEncoding[0], newEncoding)) - - def detectBOM(self): - """Attempts to detect at BOM at the start of the stream. If - an encoding can be determined from the BOM return the name of the - encoding otherwise return None""" - bomDict = { - codecs.BOM_UTF8: 'utf-8', - codecs.BOM_UTF16_LE: 'utf-16le', codecs.BOM_UTF16_BE: 'utf-16be', - codecs.BOM_UTF32_LE: 'utf-32le', codecs.BOM_UTF32_BE: 'utf-32be' - } - - # Go to beginning of file and read in 4 bytes - string = self.rawStream.read(4) - assert isinstance(string, bytes) - - # Try detecting the BOM using bytes from the string - encoding = bomDict.get(string[:3]) # UTF-8 - seek = 3 - if not encoding: - # Need to detect UTF-32 before UTF-16 - encoding = bomDict.get(string) # UTF-32 - seek = 4 - if not encoding: - encoding = bomDict.get(string[:2]) # UTF-16 - seek = 2 - - # Set the read position past the BOM if one was found, otherwise - # set it to the start of the stream - if encoding: - self.rawStream.seek(seek) - return lookupEncoding(encoding) - else: - self.rawStream.seek(0) - return None - - def detectEncodingMeta(self): - """Report the encoding declared by the meta element - """ - buffer = self.rawStream.read(self.numBytesMeta) - assert isinstance(buffer, bytes) - parser = EncodingParser(buffer) - self.rawStream.seek(0) - encoding = parser.getEncoding() - - if encoding is not None and encoding.name in ("utf-16be", "utf-16le"): - encoding = lookupEncoding("utf-8") - - return encoding - - -class EncodingBytes(bytes): - """String-like object with an associated position and various extra methods - If the position is ever greater than the string length then an exception is - raised""" - def __new__(self, value): - assert isinstance(value, bytes) - return bytes.__new__(self, value.lower()) - - def __init__(self, value): - # pylint:disable=unused-argument - self._position = -1 - - def __iter__(self): - return self - - def __next__(self): - p = self._position = self._position + 1 - if p >= len(self): - raise StopIteration - elif p < 0: - raise TypeError - return self[p:p + 1] - - def next(self): - # Py2 compat - return self.__next__() - - def previous(self): - p = self._position - if p >= len(self): - raise StopIteration - elif p < 0: - raise TypeError - self._position = p = p - 1 - return self[p:p + 1] - - def setPosition(self, position): - if self._position >= len(self): - raise StopIteration - self._position = position - - def getPosition(self): - if self._position >= len(self): - raise StopIteration - if self._position >= 0: - return self._position - else: - return None - - position = property(getPosition, setPosition) - - def getCurrentByte(self): - return self[self.position:self.position + 1] - - currentByte = property(getCurrentByte) - - def skip(self, chars=spaceCharactersBytes): - """Skip past a list of characters""" - p = self.position # use property for the error-checking - while p < len(self): - c = self[p:p + 1] - if c not in chars: - self._position = p - return c - p += 1 - self._position = p - return None - - def skipUntil(self, chars): - p = self.position - while p < len(self): - c = self[p:p + 1] - if c in chars: - self._position = p - return c - p += 1 - self._position = p - return None - - def matchBytes(self, bytes): - """Look for a sequence of bytes at the start of a string. If the bytes - are found return True and advance the position to the byte after the - match. Otherwise return False and leave the position alone""" - p = self.position - data = self[p:p + len(bytes)] - rv = data.startswith(bytes) - if rv: - self.position += len(bytes) - return rv - - def jumpTo(self, bytes): - """Look for the next sequence of bytes matching a given sequence. If - a match is found advance the position to the last byte of the match""" - newPosition = self[self.position:].find(bytes) - if newPosition > -1: - # XXX: This is ugly, but I can't see a nicer way to fix this. - if self._position == -1: - self._position = 0 - self._position += (newPosition + len(bytes) - 1) - return True - else: - raise StopIteration - - -class EncodingParser(object): - """Mini parser for detecting character encoding from meta elements""" - - def __init__(self, data): - """string - the data to work on for encoding detection""" - self.data = EncodingBytes(data) - self.encoding = None - - def getEncoding(self): - methodDispatch = ( - (b"") - - def handleMeta(self): - if self.data.currentByte not in spaceCharactersBytes: - # if we have ") - - def getAttribute(self): - """Return a name,value pair for the next attribute in the stream, - if one is found, or None""" - data = self.data - # Step 1 (skip chars) - c = data.skip(spaceCharactersBytes | frozenset([b"/"])) - assert c is None or len(c) == 1 - # Step 2 - if c in (b">", None): - return None - # Step 3 - attrName = [] - attrValue = [] - # Step 4 attribute name - while True: - if c == b"=" and attrName: - break - elif c in spaceCharactersBytes: - # Step 6! - c = data.skip() - break - elif c in (b"/", b">"): - return b"".join(attrName), b"" - elif c in asciiUppercaseBytes: - attrName.append(c.lower()) - elif c is None: - return None - else: - attrName.append(c) - # Step 5 - c = next(data) - # Step 7 - if c != b"=": - data.previous() - return b"".join(attrName), b"" - # Step 8 - next(data) - # Step 9 - c = data.skip() - # Step 10 - if c in (b"'", b'"'): - # 10.1 - quoteChar = c - while True: - # 10.2 - c = next(data) - # 10.3 - if c == quoteChar: - next(data) - return b"".join(attrName), b"".join(attrValue) - # 10.4 - elif c in asciiUppercaseBytes: - attrValue.append(c.lower()) - # 10.5 - else: - attrValue.append(c) - elif c == b">": - return b"".join(attrName), b"" - elif c in asciiUppercaseBytes: - attrValue.append(c.lower()) - elif c is None: - return None - else: - attrValue.append(c) - # Step 11 - while True: - c = next(data) - if c in spacesAngleBrackets: - return b"".join(attrName), b"".join(attrValue) - elif c in asciiUppercaseBytes: - attrValue.append(c.lower()) - elif c is None: - return None - else: - attrValue.append(c) - - -class ContentAttrParser(object): - def __init__(self, data): - assert isinstance(data, bytes) - self.data = data - - def parse(self): - try: - # Check if the attr name is charset - # otherwise return - self.data.jumpTo(b"charset") - self.data.position += 1 - self.data.skip() - if not self.data.currentByte == b"=": - # If there is no = sign keep looking for attrs - return None - self.data.position += 1 - self.data.skip() - # Look for an encoding between matching quote marks - if self.data.currentByte in (b'"', b"'"): - quoteMark = self.data.currentByte - self.data.position += 1 - oldPosition = self.data.position - if self.data.jumpTo(quoteMark): - return self.data[oldPosition:self.data.position] - else: - return None - else: - # Unquoted value - oldPosition = self.data.position - try: - self.data.skipUntil(spaceCharactersBytes) - return self.data[oldPosition:self.data.position] - except StopIteration: - # Return the whole remaining value - return self.data[oldPosition:] - except StopIteration: - return None - - -def lookupEncoding(encoding): - """Return the python codec name corresponding to an encoding or None if the - string doesn't correspond to a valid encoding.""" - if isinstance(encoding, binary_type): - try: - encoding = encoding.decode("ascii") - except UnicodeDecodeError: - return None - - if encoding is not None: - try: - return webencodings.lookup(encoding) - except AttributeError: - return None - else: - return None diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_tokenizer.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_tokenizer.py deleted file mode 100644 index 178f6e7..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_tokenizer.py +++ /dev/null @@ -1,1721 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -from pip._vendor.six import unichr as chr - -from collections import deque - -from .constants import spaceCharacters -from .constants import entities -from .constants import asciiLetters, asciiUpper2Lower -from .constants import digits, hexDigits, EOF -from .constants import tokenTypes, tagTokenTypes -from .constants import replacementCharacters - -from ._inputstream import HTMLInputStream - -from ._trie import Trie - -entitiesTrie = Trie(entities) - - -class HTMLTokenizer(object): - """ This class takes care of tokenizing HTML. - - * self.currentToken - Holds the token that is currently being processed. - - * self.state - Holds a reference to the method to be invoked... XXX - - * self.stream - Points to HTMLInputStream object. - """ - - def __init__(self, stream, parser=None, **kwargs): - - self.stream = HTMLInputStream(stream, **kwargs) - self.parser = parser - - # Setup the initial tokenizer state - self.escapeFlag = False - self.lastFourChars = [] - self.state = self.dataState - self.escape = False - - # The current token being created - self.currentToken = None - super(HTMLTokenizer, self).__init__() - - def __iter__(self): - """ This is where the magic happens. - - We do our usually processing through the states and when we have a token - to return we yield the token which pauses processing until the next token - is requested. - """ - self.tokenQueue = deque([]) - # Start processing. When EOF is reached self.state will return False - # instead of True and the loop will terminate. - while self.state(): - while self.stream.errors: - yield {"type": tokenTypes["ParseError"], "data": self.stream.errors.pop(0)} - while self.tokenQueue: - yield self.tokenQueue.popleft() - - def consumeNumberEntity(self, isHex): - """This function returns either U+FFFD or the character based on the - decimal or hexadecimal representation. It also discards ";" if present. - If not present self.tokenQueue.append({"type": tokenTypes["ParseError"]}) is invoked. - """ - - allowed = digits - radix = 10 - if isHex: - allowed = hexDigits - radix = 16 - - charStack = [] - - # Consume all the characters that are in range while making sure we - # don't hit an EOF. - c = self.stream.char() - while c in allowed and c is not EOF: - charStack.append(c) - c = self.stream.char() - - # Convert the set of characters consumed to an int. - charAsInt = int("".join(charStack), radix) - - # Certain characters get replaced with others - if charAsInt in replacementCharacters: - char = replacementCharacters[charAsInt] - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "illegal-codepoint-for-numeric-entity", - "datavars": {"charAsInt": charAsInt}}) - elif ((0xD800 <= charAsInt <= 0xDFFF) or - (charAsInt > 0x10FFFF)): - char = "\uFFFD" - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "illegal-codepoint-for-numeric-entity", - "datavars": {"charAsInt": charAsInt}}) - else: - # Should speed up this check somehow (e.g. move the set to a constant) - if ((0x0001 <= charAsInt <= 0x0008) or - (0x000E <= charAsInt <= 0x001F) or - (0x007F <= charAsInt <= 0x009F) or - (0xFDD0 <= charAsInt <= 0xFDEF) or - charAsInt in frozenset([0x000B, 0xFFFE, 0xFFFF, 0x1FFFE, - 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, - 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, - 0x5FFFF, 0x6FFFE, 0x6FFFF, 0x7FFFE, - 0x7FFFF, 0x8FFFE, 0x8FFFF, 0x9FFFE, - 0x9FFFF, 0xAFFFE, 0xAFFFF, 0xBFFFE, - 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, - 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, - 0xFFFFF, 0x10FFFE, 0x10FFFF])): - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": - "illegal-codepoint-for-numeric-entity", - "datavars": {"charAsInt": charAsInt}}) - try: - # Try/except needed as UCS-2 Python builds' unichar only works - # within the BMP. - char = chr(charAsInt) - except ValueError: - v = charAsInt - 0x10000 - char = chr(0xD800 | (v >> 10)) + chr(0xDC00 | (v & 0x3FF)) - - # Discard the ; if present. Otherwise, put it back on the queue and - # invoke parseError on parser. - if c != ";": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "numeric-entity-without-semicolon"}) - self.stream.unget(c) - - return char - - def consumeEntity(self, allowedChar=None, fromAttribute=False): - # Initialise to the default output for when no entity is matched - output = "&" - - charStack = [self.stream.char()] - if (charStack[0] in spaceCharacters or charStack[0] in (EOF, "<", "&") or - (allowedChar is not None and allowedChar == charStack[0])): - self.stream.unget(charStack[0]) - - elif charStack[0] == "#": - # Read the next character to see if it's hex or decimal - hex = False - charStack.append(self.stream.char()) - if charStack[-1] in ("x", "X"): - hex = True - charStack.append(self.stream.char()) - - # charStack[-1] should be the first digit - if (hex and charStack[-1] in hexDigits) \ - or (not hex and charStack[-1] in digits): - # At least one digit found, so consume the whole number - self.stream.unget(charStack[-1]) - output = self.consumeNumberEntity(hex) - else: - # No digits found - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "expected-numeric-entity"}) - self.stream.unget(charStack.pop()) - output = "&" + "".join(charStack) - - else: - # At this point in the process might have named entity. Entities - # are stored in the global variable "entities". - # - # Consume characters and compare to these to a substring of the - # entity names in the list until the substring no longer matches. - while (charStack[-1] is not EOF): - if not entitiesTrie.has_keys_with_prefix("".join(charStack)): - break - charStack.append(self.stream.char()) - - # At this point we have a string that starts with some characters - # that may match an entity - # Try to find the longest entity the string will match to take care - # of ¬i for instance. - try: - entityName = entitiesTrie.longest_prefix("".join(charStack[:-1])) - entityLength = len(entityName) - except KeyError: - entityName = None - - if entityName is not None: - if entityName[-1] != ";": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "named-entity-without-semicolon"}) - if (entityName[-1] != ";" and fromAttribute and - (charStack[entityLength] in asciiLetters or - charStack[entityLength] in digits or - charStack[entityLength] == "=")): - self.stream.unget(charStack.pop()) - output = "&" + "".join(charStack) - else: - output = entities[entityName] - self.stream.unget(charStack.pop()) - output += "".join(charStack[entityLength:]) - else: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-named-entity"}) - self.stream.unget(charStack.pop()) - output = "&" + "".join(charStack) - - if fromAttribute: - self.currentToken["data"][-1][1] += output - else: - if output in spaceCharacters: - tokenType = "SpaceCharacters" - else: - tokenType = "Characters" - self.tokenQueue.append({"type": tokenTypes[tokenType], "data": output}) - - def processEntityInAttribute(self, allowedChar): - """This method replaces the need for "entityInAttributeValueState". - """ - self.consumeEntity(allowedChar=allowedChar, fromAttribute=True) - - def emitCurrentToken(self): - """This method is a generic handler for emitting the tags. It also sets - the state to "data" because that's what's needed after a token has been - emitted. - """ - token = self.currentToken - # Add token to the queue to be yielded - if (token["type"] in tagTokenTypes): - token["name"] = token["name"].translate(asciiUpper2Lower) - if token["type"] == tokenTypes["EndTag"]: - if token["data"]: - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "attributes-in-end-tag"}) - if token["selfClosing"]: - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "self-closing-flag-on-end-tag"}) - self.tokenQueue.append(token) - self.state = self.dataState - - # Below are the various tokenizer states worked out. - def dataState(self): - data = self.stream.char() - if data == "&": - self.state = self.entityDataState - elif data == "<": - self.state = self.tagOpenState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "\u0000"}) - elif data is EOF: - # Tokenization ends. - return False - elif data in spaceCharacters: - # Directly after emitting a token you switch back to the "data - # state". At that point spaceCharacters are important so they are - # emitted separately. - self.tokenQueue.append({"type": tokenTypes["SpaceCharacters"], "data": - data + self.stream.charsUntil(spaceCharacters, True)}) - # No need to update lastFourChars here, since the first space will - # have already been appended to lastFourChars and will have broken - # any sequences - else: - chars = self.stream.charsUntil(("&", "<", "\u0000")) - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": - data + chars}) - return True - - def entityDataState(self): - self.consumeEntity() - self.state = self.dataState - return True - - def rcdataState(self): - data = self.stream.char() - if data == "&": - self.state = self.characterReferenceInRcdata - elif data == "<": - self.state = self.rcdataLessThanSignState - elif data == EOF: - # Tokenization ends. - return False - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "\uFFFD"}) - elif data in spaceCharacters: - # Directly after emitting a token you switch back to the "data - # state". At that point spaceCharacters are important so they are - # emitted separately. - self.tokenQueue.append({"type": tokenTypes["SpaceCharacters"], "data": - data + self.stream.charsUntil(spaceCharacters, True)}) - # No need to update lastFourChars here, since the first space will - # have already been appended to lastFourChars and will have broken - # any sequences - else: - chars = self.stream.charsUntil(("&", "<", "\u0000")) - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": - data + chars}) - return True - - def characterReferenceInRcdata(self): - self.consumeEntity() - self.state = self.rcdataState - return True - - def rawtextState(self): - data = self.stream.char() - if data == "<": - self.state = self.rawtextLessThanSignState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "\uFFFD"}) - elif data == EOF: - # Tokenization ends. - return False - else: - chars = self.stream.charsUntil(("<", "\u0000")) - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": - data + chars}) - return True - - def scriptDataState(self): - data = self.stream.char() - if data == "<": - self.state = self.scriptDataLessThanSignState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "\uFFFD"}) - elif data == EOF: - # Tokenization ends. - return False - else: - chars = self.stream.charsUntil(("<", "\u0000")) - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": - data + chars}) - return True - - def plaintextState(self): - data = self.stream.char() - if data == EOF: - # Tokenization ends. - return False - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "\uFFFD"}) - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": - data + self.stream.charsUntil("\u0000")}) - return True - - def tagOpenState(self): - data = self.stream.char() - if data == "!": - self.state = self.markupDeclarationOpenState - elif data == "/": - self.state = self.closeTagOpenState - elif data in asciiLetters: - self.currentToken = {"type": tokenTypes["StartTag"], - "name": data, "data": [], - "selfClosing": False, - "selfClosingAcknowledged": False} - self.state = self.tagNameState - elif data == ">": - # XXX In theory it could be something besides a tag name. But - # do we really care? - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-tag-name-but-got-right-bracket"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<>"}) - self.state = self.dataState - elif data == "?": - # XXX In theory it could be something besides a tag name. But - # do we really care? - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-tag-name-but-got-question-mark"}) - self.stream.unget(data) - self.state = self.bogusCommentState - else: - # XXX - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-tag-name"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) - self.stream.unget(data) - self.state = self.dataState - return True - - def closeTagOpenState(self): - data = self.stream.char() - if data in asciiLetters: - self.currentToken = {"type": tokenTypes["EndTag"], "name": data, - "data": [], "selfClosing": False} - self.state = self.tagNameState - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-closing-tag-but-got-right-bracket"}) - self.state = self.dataState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-closing-tag-but-got-eof"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "": - self.emitCurrentToken() - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-tag-name"}) - self.state = self.dataState - elif data == "/": - self.state = self.selfClosingStartTagState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["name"] += "\uFFFD" - else: - self.currentToken["name"] += data - # (Don't use charsUntil here, because tag names are - # very short and it's faster to not do anything fancy) - return True - - def rcdataLessThanSignState(self): - data = self.stream.char() - if data == "/": - self.temporaryBuffer = "" - self.state = self.rcdataEndTagOpenState - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) - self.stream.unget(data) - self.state = self.rcdataState - return True - - def rcdataEndTagOpenState(self): - data = self.stream.char() - if data in asciiLetters: - self.temporaryBuffer += data - self.state = self.rcdataEndTagNameState - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "" and appropriate: - self.currentToken = {"type": tokenTypes["EndTag"], - "name": self.temporaryBuffer, - "data": [], "selfClosing": False} - self.emitCurrentToken() - self.state = self.dataState - elif data in asciiLetters: - self.temporaryBuffer += data - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "" and appropriate: - self.currentToken = {"type": tokenTypes["EndTag"], - "name": self.temporaryBuffer, - "data": [], "selfClosing": False} - self.emitCurrentToken() - self.state = self.dataState - elif data in asciiLetters: - self.temporaryBuffer += data - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "" and appropriate: - self.currentToken = {"type": tokenTypes["EndTag"], - "name": self.temporaryBuffer, - "data": [], "selfClosing": False} - self.emitCurrentToken() - self.state = self.dataState - elif data in asciiLetters: - self.temporaryBuffer += data - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "": - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": ">"}) - self.state = self.scriptDataState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "\uFFFD"}) - self.state = self.scriptDataEscapedState - elif data == EOF: - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) - self.state = self.scriptDataEscapedState - return True - - def scriptDataEscapedLessThanSignState(self): - data = self.stream.char() - if data == "/": - self.temporaryBuffer = "" - self.state = self.scriptDataEscapedEndTagOpenState - elif data in asciiLetters: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<" + data}) - self.temporaryBuffer = data - self.state = self.scriptDataDoubleEscapeStartState - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) - self.stream.unget(data) - self.state = self.scriptDataEscapedState - return True - - def scriptDataEscapedEndTagOpenState(self): - data = self.stream.char() - if data in asciiLetters: - self.temporaryBuffer = data - self.state = self.scriptDataEscapedEndTagNameState - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "" and appropriate: - self.currentToken = {"type": tokenTypes["EndTag"], - "name": self.temporaryBuffer, - "data": [], "selfClosing": False} - self.emitCurrentToken() - self.state = self.dataState - elif data in asciiLetters: - self.temporaryBuffer += data - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": ""))): - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) - if self.temporaryBuffer.lower() == "script": - self.state = self.scriptDataDoubleEscapedState - else: - self.state = self.scriptDataEscapedState - elif data in asciiLetters: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) - self.temporaryBuffer += data - else: - self.stream.unget(data) - self.state = self.scriptDataEscapedState - return True - - def scriptDataDoubleEscapedState(self): - data = self.stream.char() - if data == "-": - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) - self.state = self.scriptDataDoubleEscapedDashState - elif data == "<": - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) - self.state = self.scriptDataDoubleEscapedLessThanSignState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "\uFFFD"}) - elif data == EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-script-in-script"}) - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) - return True - - def scriptDataDoubleEscapedDashState(self): - data = self.stream.char() - if data == "-": - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) - self.state = self.scriptDataDoubleEscapedDashDashState - elif data == "<": - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) - self.state = self.scriptDataDoubleEscapedLessThanSignState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "\uFFFD"}) - self.state = self.scriptDataDoubleEscapedState - elif data == EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-script-in-script"}) - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) - self.state = self.scriptDataDoubleEscapedState - return True - - def scriptDataDoubleEscapedDashDashState(self): - data = self.stream.char() - if data == "-": - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) - elif data == "<": - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) - self.state = self.scriptDataDoubleEscapedLessThanSignState - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": ">"}) - self.state = self.scriptDataState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": "\uFFFD"}) - self.state = self.scriptDataDoubleEscapedState - elif data == EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-script-in-script"}) - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) - self.state = self.scriptDataDoubleEscapedState - return True - - def scriptDataDoubleEscapedLessThanSignState(self): - data = self.stream.char() - if data == "/": - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "/"}) - self.temporaryBuffer = "" - self.state = self.scriptDataDoubleEscapeEndState - else: - self.stream.unget(data) - self.state = self.scriptDataDoubleEscapedState - return True - - def scriptDataDoubleEscapeEndState(self): - data = self.stream.char() - if data in (spaceCharacters | frozenset(("/", ">"))): - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) - if self.temporaryBuffer.lower() == "script": - self.state = self.scriptDataEscapedState - else: - self.state = self.scriptDataDoubleEscapedState - elif data in asciiLetters: - self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) - self.temporaryBuffer += data - else: - self.stream.unget(data) - self.state = self.scriptDataDoubleEscapedState - return True - - def beforeAttributeNameState(self): - data = self.stream.char() - if data in spaceCharacters: - self.stream.charsUntil(spaceCharacters, True) - elif data in asciiLetters: - self.currentToken["data"].append([data, ""]) - self.state = self.attributeNameState - elif data == ">": - self.emitCurrentToken() - elif data == "/": - self.state = self.selfClosingStartTagState - elif data in ("'", '"', "=", "<"): - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "invalid-character-in-attribute-name"}) - self.currentToken["data"].append([data, ""]) - self.state = self.attributeNameState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"].append(["\uFFFD", ""]) - self.state = self.attributeNameState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-attribute-name-but-got-eof"}) - self.state = self.dataState - else: - self.currentToken["data"].append([data, ""]) - self.state = self.attributeNameState - return True - - def attributeNameState(self): - data = self.stream.char() - leavingThisState = True - emitToken = False - if data == "=": - self.state = self.beforeAttributeValueState - elif data in asciiLetters: - self.currentToken["data"][-1][0] += data +\ - self.stream.charsUntil(asciiLetters, True) - leavingThisState = False - elif data == ">": - # XXX If we emit here the attributes are converted to a dict - # without being checked and when the code below runs we error - # because data is a dict not a list - emitToken = True - elif data in spaceCharacters: - self.state = self.afterAttributeNameState - elif data == "/": - self.state = self.selfClosingStartTagState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"][-1][0] += "\uFFFD" - leavingThisState = False - elif data in ("'", '"', "<"): - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": - "invalid-character-in-attribute-name"}) - self.currentToken["data"][-1][0] += data - leavingThisState = False - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "eof-in-attribute-name"}) - self.state = self.dataState - else: - self.currentToken["data"][-1][0] += data - leavingThisState = False - - if leavingThisState: - # Attributes are not dropped at this stage. That happens when the - # start tag token is emitted so values can still be safely appended - # to attributes, but we do want to report the parse error in time. - self.currentToken["data"][-1][0] = ( - self.currentToken["data"][-1][0].translate(asciiUpper2Lower)) - for name, _ in self.currentToken["data"][:-1]: - if self.currentToken["data"][-1][0] == name: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "duplicate-attribute"}) - break - # XXX Fix for above XXX - if emitToken: - self.emitCurrentToken() - return True - - def afterAttributeNameState(self): - data = self.stream.char() - if data in spaceCharacters: - self.stream.charsUntil(spaceCharacters, True) - elif data == "=": - self.state = self.beforeAttributeValueState - elif data == ">": - self.emitCurrentToken() - elif data in asciiLetters: - self.currentToken["data"].append([data, ""]) - self.state = self.attributeNameState - elif data == "/": - self.state = self.selfClosingStartTagState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"].append(["\uFFFD", ""]) - self.state = self.attributeNameState - elif data in ("'", '"', "<"): - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "invalid-character-after-attribute-name"}) - self.currentToken["data"].append([data, ""]) - self.state = self.attributeNameState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-end-of-tag-but-got-eof"}) - self.state = self.dataState - else: - self.currentToken["data"].append([data, ""]) - self.state = self.attributeNameState - return True - - def beforeAttributeValueState(self): - data = self.stream.char() - if data in spaceCharacters: - self.stream.charsUntil(spaceCharacters, True) - elif data == "\"": - self.state = self.attributeValueDoubleQuotedState - elif data == "&": - self.state = self.attributeValueUnQuotedState - self.stream.unget(data) - elif data == "'": - self.state = self.attributeValueSingleQuotedState - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-attribute-value-but-got-right-bracket"}) - self.emitCurrentToken() - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"][-1][1] += "\uFFFD" - self.state = self.attributeValueUnQuotedState - elif data in ("=", "<", "`"): - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "equals-in-unquoted-attribute-value"}) - self.currentToken["data"][-1][1] += data - self.state = self.attributeValueUnQuotedState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-attribute-value-but-got-eof"}) - self.state = self.dataState - else: - self.currentToken["data"][-1][1] += data - self.state = self.attributeValueUnQuotedState - return True - - def attributeValueDoubleQuotedState(self): - data = self.stream.char() - if data == "\"": - self.state = self.afterAttributeValueState - elif data == "&": - self.processEntityInAttribute('"') - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"][-1][1] += "\uFFFD" - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-attribute-value-double-quote"}) - self.state = self.dataState - else: - self.currentToken["data"][-1][1] += data +\ - self.stream.charsUntil(("\"", "&", "\u0000")) - return True - - def attributeValueSingleQuotedState(self): - data = self.stream.char() - if data == "'": - self.state = self.afterAttributeValueState - elif data == "&": - self.processEntityInAttribute("'") - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"][-1][1] += "\uFFFD" - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-attribute-value-single-quote"}) - self.state = self.dataState - else: - self.currentToken["data"][-1][1] += data +\ - self.stream.charsUntil(("'", "&", "\u0000")) - return True - - def attributeValueUnQuotedState(self): - data = self.stream.char() - if data in spaceCharacters: - self.state = self.beforeAttributeNameState - elif data == "&": - self.processEntityInAttribute(">") - elif data == ">": - self.emitCurrentToken() - elif data in ('"', "'", "=", "<", "`"): - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-character-in-unquoted-attribute-value"}) - self.currentToken["data"][-1][1] += data - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"][-1][1] += "\uFFFD" - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-attribute-value-no-quotes"}) - self.state = self.dataState - else: - self.currentToken["data"][-1][1] += data + self.stream.charsUntil( - frozenset(("&", ">", '"', "'", "=", "<", "`", "\u0000")) | spaceCharacters) - return True - - def afterAttributeValueState(self): - data = self.stream.char() - if data in spaceCharacters: - self.state = self.beforeAttributeNameState - elif data == ">": - self.emitCurrentToken() - elif data == "/": - self.state = self.selfClosingStartTagState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-EOF-after-attribute-value"}) - self.stream.unget(data) - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-character-after-attribute-value"}) - self.stream.unget(data) - self.state = self.beforeAttributeNameState - return True - - def selfClosingStartTagState(self): - data = self.stream.char() - if data == ">": - self.currentToken["selfClosing"] = True - self.emitCurrentToken() - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": - "unexpected-EOF-after-solidus-in-tag"}) - self.stream.unget(data) - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-character-after-solidus-in-tag"}) - self.stream.unget(data) - self.state = self.beforeAttributeNameState - return True - - def bogusCommentState(self): - # Make a new comment token and give it as value all the characters - # until the first > or EOF (charsUntil checks for EOF automatically) - # and emit it. - data = self.stream.charsUntil(">") - data = data.replace("\u0000", "\uFFFD") - self.tokenQueue.append( - {"type": tokenTypes["Comment"], "data": data}) - - # Eat the character directly after the bogus comment which is either a - # ">" or an EOF. - self.stream.char() - self.state = self.dataState - return True - - def markupDeclarationOpenState(self): - charStack = [self.stream.char()] - if charStack[-1] == "-": - charStack.append(self.stream.char()) - if charStack[-1] == "-": - self.currentToken = {"type": tokenTypes["Comment"], "data": ""} - self.state = self.commentStartState - return True - elif charStack[-1] in ('d', 'D'): - matched = True - for expected in (('o', 'O'), ('c', 'C'), ('t', 'T'), - ('y', 'Y'), ('p', 'P'), ('e', 'E')): - charStack.append(self.stream.char()) - if charStack[-1] not in expected: - matched = False - break - if matched: - self.currentToken = {"type": tokenTypes["Doctype"], - "name": "", - "publicId": None, "systemId": None, - "correct": True} - self.state = self.doctypeState - return True - elif (charStack[-1] == "[" and - self.parser is not None and - self.parser.tree.openElements and - self.parser.tree.openElements[-1].namespace != self.parser.tree.defaultNamespace): - matched = True - for expected in ["C", "D", "A", "T", "A", "["]: - charStack.append(self.stream.char()) - if charStack[-1] != expected: - matched = False - break - if matched: - self.state = self.cdataSectionState - return True - - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-dashes-or-doctype"}) - - while charStack: - self.stream.unget(charStack.pop()) - self.state = self.bogusCommentState - return True - - def commentStartState(self): - data = self.stream.char() - if data == "-": - self.state = self.commentStartDashState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"] += "\uFFFD" - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "incorrect-comment"}) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-comment"}) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.currentToken["data"] += data - self.state = self.commentState - return True - - def commentStartDashState(self): - data = self.stream.char() - if data == "-": - self.state = self.commentEndState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"] += "-\uFFFD" - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "incorrect-comment"}) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-comment"}) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.currentToken["data"] += "-" + data - self.state = self.commentState - return True - - def commentState(self): - data = self.stream.char() - if data == "-": - self.state = self.commentEndDashState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"] += "\uFFFD" - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "eof-in-comment"}) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.currentToken["data"] += data + \ - self.stream.charsUntil(("-", "\u0000")) - return True - - def commentEndDashState(self): - data = self.stream.char() - if data == "-": - self.state = self.commentEndState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"] += "-\uFFFD" - self.state = self.commentState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-comment-end-dash"}) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.currentToken["data"] += "-" + data - self.state = self.commentState - return True - - def commentEndState(self): - data = self.stream.char() - if data == ">": - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"] += "--\uFFFD" - self.state = self.commentState - elif data == "!": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-bang-after-double-dash-in-comment"}) - self.state = self.commentEndBangState - elif data == "-": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-dash-after-double-dash-in-comment"}) - self.currentToken["data"] += data - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-comment-double-dash"}) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - # XXX - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-char-in-comment"}) - self.currentToken["data"] += "--" + data - self.state = self.commentState - return True - - def commentEndBangState(self): - data = self.stream.char() - if data == ">": - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data == "-": - self.currentToken["data"] += "--!" - self.state = self.commentEndDashState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["data"] += "--!\uFFFD" - self.state = self.commentState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-comment-end-bang-state"}) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.currentToken["data"] += "--!" + data - self.state = self.commentState - return True - - def doctypeState(self): - data = self.stream.char() - if data in spaceCharacters: - self.state = self.beforeDoctypeNameState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-doctype-name-but-got-eof"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "need-space-after-doctype"}) - self.stream.unget(data) - self.state = self.beforeDoctypeNameState - return True - - def beforeDoctypeNameState(self): - data = self.stream.char() - if data in spaceCharacters: - pass - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-doctype-name-but-got-right-bracket"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["name"] = "\uFFFD" - self.state = self.doctypeNameState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-doctype-name-but-got-eof"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.currentToken["name"] = data - self.state = self.doctypeNameState - return True - - def doctypeNameState(self): - data = self.stream.char() - if data in spaceCharacters: - self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) - self.state = self.afterDoctypeNameState - elif data == ">": - self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["name"] += "\uFFFD" - self.state = self.doctypeNameState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype-name"}) - self.currentToken["correct"] = False - self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.currentToken["name"] += data - return True - - def afterDoctypeNameState(self): - data = self.stream.char() - if data in spaceCharacters: - pass - elif data == ">": - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data is EOF: - self.currentToken["correct"] = False - self.stream.unget(data) - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - if data in ("p", "P"): - matched = True - for expected in (("u", "U"), ("b", "B"), ("l", "L"), - ("i", "I"), ("c", "C")): - data = self.stream.char() - if data not in expected: - matched = False - break - if matched: - self.state = self.afterDoctypePublicKeywordState - return True - elif data in ("s", "S"): - matched = True - for expected in (("y", "Y"), ("s", "S"), ("t", "T"), - ("e", "E"), ("m", "M")): - data = self.stream.char() - if data not in expected: - matched = False - break - if matched: - self.state = self.afterDoctypeSystemKeywordState - return True - - # All the characters read before the current 'data' will be - # [a-zA-Z], so they're garbage in the bogus doctype and can be - # discarded; only the latest character might be '>' or EOF - # and needs to be ungetted - self.stream.unget(data) - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "expected-space-or-right-bracket-in-doctype", "datavars": - {"data": data}}) - self.currentToken["correct"] = False - self.state = self.bogusDoctypeState - - return True - - def afterDoctypePublicKeywordState(self): - data = self.stream.char() - if data in spaceCharacters: - self.state = self.beforeDoctypePublicIdentifierState - elif data in ("'", '"'): - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-char-in-doctype"}) - self.stream.unget(data) - self.state = self.beforeDoctypePublicIdentifierState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.stream.unget(data) - self.state = self.beforeDoctypePublicIdentifierState - return True - - def beforeDoctypePublicIdentifierState(self): - data = self.stream.char() - if data in spaceCharacters: - pass - elif data == "\"": - self.currentToken["publicId"] = "" - self.state = self.doctypePublicIdentifierDoubleQuotedState - elif data == "'": - self.currentToken["publicId"] = "" - self.state = self.doctypePublicIdentifierSingleQuotedState - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-end-of-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-char-in-doctype"}) - self.currentToken["correct"] = False - self.state = self.bogusDoctypeState - return True - - def doctypePublicIdentifierDoubleQuotedState(self): - data = self.stream.char() - if data == "\"": - self.state = self.afterDoctypePublicIdentifierState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["publicId"] += "\uFFFD" - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-end-of-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.currentToken["publicId"] += data - return True - - def doctypePublicIdentifierSingleQuotedState(self): - data = self.stream.char() - if data == "'": - self.state = self.afterDoctypePublicIdentifierState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["publicId"] += "\uFFFD" - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-end-of-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.currentToken["publicId"] += data - return True - - def afterDoctypePublicIdentifierState(self): - data = self.stream.char() - if data in spaceCharacters: - self.state = self.betweenDoctypePublicAndSystemIdentifiersState - elif data == ">": - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data == '"': - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-char-in-doctype"}) - self.currentToken["systemId"] = "" - self.state = self.doctypeSystemIdentifierDoubleQuotedState - elif data == "'": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-char-in-doctype"}) - self.currentToken["systemId"] = "" - self.state = self.doctypeSystemIdentifierSingleQuotedState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-char-in-doctype"}) - self.currentToken["correct"] = False - self.state = self.bogusDoctypeState - return True - - def betweenDoctypePublicAndSystemIdentifiersState(self): - data = self.stream.char() - if data in spaceCharacters: - pass - elif data == ">": - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data == '"': - self.currentToken["systemId"] = "" - self.state = self.doctypeSystemIdentifierDoubleQuotedState - elif data == "'": - self.currentToken["systemId"] = "" - self.state = self.doctypeSystemIdentifierSingleQuotedState - elif data == EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-char-in-doctype"}) - self.currentToken["correct"] = False - self.state = self.bogusDoctypeState - return True - - def afterDoctypeSystemKeywordState(self): - data = self.stream.char() - if data in spaceCharacters: - self.state = self.beforeDoctypeSystemIdentifierState - elif data in ("'", '"'): - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-char-in-doctype"}) - self.stream.unget(data) - self.state = self.beforeDoctypeSystemIdentifierState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.stream.unget(data) - self.state = self.beforeDoctypeSystemIdentifierState - return True - - def beforeDoctypeSystemIdentifierState(self): - data = self.stream.char() - if data in spaceCharacters: - pass - elif data == "\"": - self.currentToken["systemId"] = "" - self.state = self.doctypeSystemIdentifierDoubleQuotedState - elif data == "'": - self.currentToken["systemId"] = "" - self.state = self.doctypeSystemIdentifierSingleQuotedState - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-char-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-char-in-doctype"}) - self.currentToken["correct"] = False - self.state = self.bogusDoctypeState - return True - - def doctypeSystemIdentifierDoubleQuotedState(self): - data = self.stream.char() - if data == "\"": - self.state = self.afterDoctypeSystemIdentifierState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["systemId"] += "\uFFFD" - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-end-of-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.currentToken["systemId"] += data - return True - - def doctypeSystemIdentifierSingleQuotedState(self): - data = self.stream.char() - if data == "'": - self.state = self.afterDoctypeSystemIdentifierState - elif data == "\u0000": - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - self.currentToken["systemId"] += "\uFFFD" - elif data == ">": - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-end-of-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.currentToken["systemId"] += data - return True - - def afterDoctypeSystemIdentifierState(self): - data = self.stream.char() - if data in spaceCharacters: - pass - elif data == ">": - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data is EOF: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "eof-in-doctype"}) - self.currentToken["correct"] = False - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": - "unexpected-char-in-doctype"}) - self.state = self.bogusDoctypeState - return True - - def bogusDoctypeState(self): - data = self.stream.char() - if data == ">": - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - elif data is EOF: - # XXX EMIT - self.stream.unget(data) - self.tokenQueue.append(self.currentToken) - self.state = self.dataState - else: - pass - return True - - def cdataSectionState(self): - data = [] - while True: - data.append(self.stream.charsUntil("]")) - data.append(self.stream.charsUntil(">")) - char = self.stream.char() - if char == EOF: - break - else: - assert char == ">" - if data[-1][-2:] == "]]": - data[-1] = data[-1][:-2] - break - else: - data.append(char) - - data = "".join(data) # pylint:disable=redefined-variable-type - # Deal with null here rather than in the parser - nullCount = data.count("\u0000") - if nullCount > 0: - for _ in range(nullCount): - self.tokenQueue.append({"type": tokenTypes["ParseError"], - "data": "invalid-codepoint"}) - data = data.replace("\u0000", "\uFFFD") - if data: - self.tokenQueue.append({"type": tokenTypes["Characters"], - "data": data}) - self.state = self.dataState - return True diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/__init__.py deleted file mode 100644 index a5ba4bf..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/__init__.py +++ /dev/null @@ -1,14 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -from .py import Trie as PyTrie - -Trie = PyTrie - -# pylint:disable=wrong-import-position -try: - from .datrie import Trie as DATrie -except ImportError: - pass -else: - Trie = DATrie -# pylint:enable=wrong-import-position diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/_base.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/_base.py deleted file mode 100644 index 6b71975..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/_base.py +++ /dev/null @@ -1,40 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -try: - from collections.abc import Mapping -except ImportError: # Python 2.7 - from collections import Mapping - - -class Trie(Mapping): - """Abstract base class for tries""" - - def keys(self, prefix=None): - # pylint:disable=arguments-differ - keys = super(Trie, self).keys() - - if prefix is None: - return set(keys) - - return {x for x in keys if x.startswith(prefix)} - - def has_keys_with_prefix(self, prefix): - for key in self.keys(): - if key.startswith(prefix): - return True - - return False - - def longest_prefix(self, prefix): - if prefix in self: - return prefix - - for i in range(1, len(prefix) + 1): - if prefix[:-i] in self: - return prefix[:-i] - - raise KeyError(prefix) - - def longest_prefix_item(self, prefix): - lprefix = self.longest_prefix(prefix) - return (lprefix, self[lprefix]) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/datrie.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/datrie.py deleted file mode 100644 index e2e5f86..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/datrie.py +++ /dev/null @@ -1,44 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -from datrie import Trie as DATrie -from pip._vendor.six import text_type - -from ._base import Trie as ABCTrie - - -class Trie(ABCTrie): - def __init__(self, data): - chars = set() - for key in data.keys(): - if not isinstance(key, text_type): - raise TypeError("All keys must be strings") - for char in key: - chars.add(char) - - self._data = DATrie("".join(chars)) - for key, value in data.items(): - self._data[key] = value - - def __contains__(self, key): - return key in self._data - - def __len__(self): - return len(self._data) - - def __iter__(self): - raise NotImplementedError() - - def __getitem__(self, key): - return self._data[key] - - def keys(self, prefix=None): - return self._data.keys(prefix) - - def has_keys_with_prefix(self, prefix): - return self._data.has_keys_with_prefix(prefix) - - def longest_prefix(self, prefix): - return self._data.longest_prefix(prefix) - - def longest_prefix_item(self, prefix): - return self._data.longest_prefix_item(prefix) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/py.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/py.py deleted file mode 100644 index c178b21..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_trie/py.py +++ /dev/null @@ -1,67 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals -from pip._vendor.six import text_type - -from bisect import bisect_left - -from ._base import Trie as ABCTrie - - -class Trie(ABCTrie): - def __init__(self, data): - if not all(isinstance(x, text_type) for x in data.keys()): - raise TypeError("All keys must be strings") - - self._data = data - self._keys = sorted(data.keys()) - self._cachestr = "" - self._cachepoints = (0, len(data)) - - def __contains__(self, key): - return key in self._data - - def __len__(self): - return len(self._data) - - def __iter__(self): - return iter(self._data) - - def __getitem__(self, key): - return self._data[key] - - def keys(self, prefix=None): - if prefix is None or prefix == "" or not self._keys: - return set(self._keys) - - if prefix.startswith(self._cachestr): - lo, hi = self._cachepoints - start = i = bisect_left(self._keys, prefix, lo, hi) - else: - start = i = bisect_left(self._keys, prefix) - - keys = set() - if start == len(self._keys): - return keys - - while self._keys[i].startswith(prefix): - keys.add(self._keys[i]) - i += 1 - - self._cachestr = prefix - self._cachepoints = (start, i) - - return keys - - def has_keys_with_prefix(self, prefix): - if prefix in self._data: - return True - - if prefix.startswith(self._cachestr): - lo, hi = self._cachepoints - i = bisect_left(self._keys, prefix, lo, hi) - else: - i = bisect_left(self._keys, prefix) - - if i == len(self._keys): - return False - - return self._keys[i].startswith(prefix) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_utils.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_utils.py deleted file mode 100644 index 0703afb..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/_utils.py +++ /dev/null @@ -1,124 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -from types import ModuleType - -from pip._vendor.six import text_type - -try: - import xml.etree.cElementTree as default_etree -except ImportError: - import xml.etree.ElementTree as default_etree - - -__all__ = ["default_etree", "MethodDispatcher", "isSurrogatePair", - "surrogatePairToCodepoint", "moduleFactoryFactory", - "supports_lone_surrogates"] - - -# Platforms not supporting lone surrogates (\uD800-\uDFFF) should be -# caught by the below test. In general this would be any platform -# using UTF-16 as its encoding of unicode strings, such as -# Jython. This is because UTF-16 itself is based on the use of such -# surrogates, and there is no mechanism to further escape such -# escapes. -try: - _x = eval('"\\uD800"') # pylint:disable=eval-used - if not isinstance(_x, text_type): - # We need this with u"" because of http://bugs.jython.org/issue2039 - _x = eval('u"\\uD800"') # pylint:disable=eval-used - assert isinstance(_x, text_type) -except: # pylint:disable=bare-except - supports_lone_surrogates = False -else: - supports_lone_surrogates = True - - -class MethodDispatcher(dict): - """Dict with 2 special properties: - - On initiation, keys that are lists, sets or tuples are converted to - multiple keys so accessing any one of the items in the original - list-like object returns the matching value - - md = MethodDispatcher({("foo", "bar"):"baz"}) - md["foo"] == "baz" - - A default value which can be set through the default attribute. - """ - - def __init__(self, items=()): - # Using _dictEntries instead of directly assigning to self is about - # twice as fast. Please do careful performance testing before changing - # anything here. - _dictEntries = [] - for name, value in items: - if isinstance(name, (list, tuple, frozenset, set)): - for item in name: - _dictEntries.append((item, value)) - else: - _dictEntries.append((name, value)) - dict.__init__(self, _dictEntries) - assert len(self) == len(_dictEntries) - self.default = None - - def __getitem__(self, key): - return dict.get(self, key, self.default) - - -# Some utility functions to deal with weirdness around UCS2 vs UCS4 -# python builds - -def isSurrogatePair(data): - return (len(data) == 2 and - ord(data[0]) >= 0xD800 and ord(data[0]) <= 0xDBFF and - ord(data[1]) >= 0xDC00 and ord(data[1]) <= 0xDFFF) - - -def surrogatePairToCodepoint(data): - char_val = (0x10000 + (ord(data[0]) - 0xD800) * 0x400 + - (ord(data[1]) - 0xDC00)) - return char_val - -# Module Factory Factory (no, this isn't Java, I know) -# Here to stop this being duplicated all over the place. - - -def moduleFactoryFactory(factory): - moduleCache = {} - - def moduleFactory(baseModule, *args, **kwargs): - if isinstance(ModuleType.__name__, type("")): - name = "_%s_factory" % baseModule.__name__ - else: - name = b"_%s_factory" % baseModule.__name__ - - kwargs_tuple = tuple(kwargs.items()) - - try: - return moduleCache[name][args][kwargs_tuple] - except KeyError: - mod = ModuleType(name) - objs = factory(baseModule, *args, **kwargs) - mod.__dict__.update(objs) - if "name" not in moduleCache: - moduleCache[name] = {} - if "args" not in moduleCache[name]: - moduleCache[name][args] = {} - if "kwargs" not in moduleCache[name][args]: - moduleCache[name][args][kwargs_tuple] = {} - moduleCache[name][args][kwargs_tuple] = mod - return mod - - return moduleFactory - - -def memoize(func): - cache = {} - - def wrapped(*args, **kwargs): - key = (tuple(args), tuple(kwargs.items())) - if key not in cache: - cache[key] = func(*args, **kwargs) - return cache[key] - - return wrapped diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/constants.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/constants.py deleted file mode 100644 index 1ff8041..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/constants.py +++ /dev/null @@ -1,2947 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -import string - -EOF = None - -E = { - "null-character": - "Null character in input stream, replaced with U+FFFD.", - "invalid-codepoint": - "Invalid codepoint in stream.", - "incorrectly-placed-solidus": - "Solidus (/) incorrectly placed in tag.", - "incorrect-cr-newline-entity": - "Incorrect CR newline entity, replaced with LF.", - "illegal-windows-1252-entity": - "Entity used with illegal number (windows-1252 reference).", - "cant-convert-numeric-entity": - "Numeric entity couldn't be converted to character " - "(codepoint U+%(charAsInt)08x).", - "illegal-codepoint-for-numeric-entity": - "Numeric entity represents an illegal codepoint: " - "U+%(charAsInt)08x.", - "numeric-entity-without-semicolon": - "Numeric entity didn't end with ';'.", - "expected-numeric-entity-but-got-eof": - "Numeric entity expected. Got end of file instead.", - "expected-numeric-entity": - "Numeric entity expected but none found.", - "named-entity-without-semicolon": - "Named entity didn't end with ';'.", - "expected-named-entity": - "Named entity expected. Got none.", - "attributes-in-end-tag": - "End tag contains unexpected attributes.", - 'self-closing-flag-on-end-tag': - "End tag contains unexpected self-closing flag.", - "expected-tag-name-but-got-right-bracket": - "Expected tag name. Got '>' instead.", - "expected-tag-name-but-got-question-mark": - "Expected tag name. Got '?' instead. (HTML doesn't " - "support processing instructions.)", - "expected-tag-name": - "Expected tag name. Got something else instead", - "expected-closing-tag-but-got-right-bracket": - "Expected closing tag. Got '>' instead. Ignoring ''.", - "expected-closing-tag-but-got-eof": - "Expected closing tag. Unexpected end of file.", - "expected-closing-tag-but-got-char": - "Expected closing tag. Unexpected character '%(data)s' found.", - "eof-in-tag-name": - "Unexpected end of file in the tag name.", - "expected-attribute-name-but-got-eof": - "Unexpected end of file. Expected attribute name instead.", - "eof-in-attribute-name": - "Unexpected end of file in attribute name.", - "invalid-character-in-attribute-name": - "Invalid character in attribute name", - "duplicate-attribute": - "Dropped duplicate attribute on tag.", - "expected-end-of-tag-name-but-got-eof": - "Unexpected end of file. Expected = or end of tag.", - "expected-attribute-value-but-got-eof": - "Unexpected end of file. Expected attribute value.", - "expected-attribute-value-but-got-right-bracket": - "Expected attribute value. Got '>' instead.", - 'equals-in-unquoted-attribute-value': - "Unexpected = in unquoted attribute", - 'unexpected-character-in-unquoted-attribute-value': - "Unexpected character in unquoted attribute", - "invalid-character-after-attribute-name": - "Unexpected character after attribute name.", - "unexpected-character-after-attribute-value": - "Unexpected character after attribute value.", - "eof-in-attribute-value-double-quote": - "Unexpected end of file in attribute value (\").", - "eof-in-attribute-value-single-quote": - "Unexpected end of file in attribute value (').", - "eof-in-attribute-value-no-quotes": - "Unexpected end of file in attribute value.", - "unexpected-EOF-after-solidus-in-tag": - "Unexpected end of file in tag. Expected >", - "unexpected-character-after-solidus-in-tag": - "Unexpected character after / in tag. Expected >", - "expected-dashes-or-doctype": - "Expected '--' or 'DOCTYPE'. Not found.", - "unexpected-bang-after-double-dash-in-comment": - "Unexpected ! after -- in comment", - "unexpected-space-after-double-dash-in-comment": - "Unexpected space after -- in comment", - "incorrect-comment": - "Incorrect comment.", - "eof-in-comment": - "Unexpected end of file in comment.", - "eof-in-comment-end-dash": - "Unexpected end of file in comment (-)", - "unexpected-dash-after-double-dash-in-comment": - "Unexpected '-' after '--' found in comment.", - "eof-in-comment-double-dash": - "Unexpected end of file in comment (--).", - "eof-in-comment-end-space-state": - "Unexpected end of file in comment.", - "eof-in-comment-end-bang-state": - "Unexpected end of file in comment.", - "unexpected-char-in-comment": - "Unexpected character in comment found.", - "need-space-after-doctype": - "No space after literal string 'DOCTYPE'.", - "expected-doctype-name-but-got-right-bracket": - "Unexpected > character. Expected DOCTYPE name.", - "expected-doctype-name-but-got-eof": - "Unexpected end of file. Expected DOCTYPE name.", - "eof-in-doctype-name": - "Unexpected end of file in DOCTYPE name.", - "eof-in-doctype": - "Unexpected end of file in DOCTYPE.", - "expected-space-or-right-bracket-in-doctype": - "Expected space or '>'. Got '%(data)s'", - "unexpected-end-of-doctype": - "Unexpected end of DOCTYPE.", - "unexpected-char-in-doctype": - "Unexpected character in DOCTYPE.", - "eof-in-innerhtml": - "XXX innerHTML EOF", - "unexpected-doctype": - "Unexpected DOCTYPE. Ignored.", - "non-html-root": - "html needs to be the first start tag.", - "expected-doctype-but-got-eof": - "Unexpected End of file. Expected DOCTYPE.", - "unknown-doctype": - "Erroneous DOCTYPE.", - "expected-doctype-but-got-chars": - "Unexpected non-space characters. Expected DOCTYPE.", - "expected-doctype-but-got-start-tag": - "Unexpected start tag (%(name)s). Expected DOCTYPE.", - "expected-doctype-but-got-end-tag": - "Unexpected end tag (%(name)s). Expected DOCTYPE.", - "end-tag-after-implied-root": - "Unexpected end tag (%(name)s) after the (implied) root element.", - "expected-named-closing-tag-but-got-eof": - "Unexpected end of file. Expected end tag (%(name)s).", - "two-heads-are-not-better-than-one": - "Unexpected start tag head in existing head. Ignored.", - "unexpected-end-tag": - "Unexpected end tag (%(name)s). Ignored.", - "unexpected-start-tag-out-of-my-head": - "Unexpected start tag (%(name)s) that can be in head. Moved.", - "unexpected-start-tag": - "Unexpected start tag (%(name)s).", - "missing-end-tag": - "Missing end tag (%(name)s).", - "missing-end-tags": - "Missing end tags (%(name)s).", - "unexpected-start-tag-implies-end-tag": - "Unexpected start tag (%(startName)s) " - "implies end tag (%(endName)s).", - "unexpected-start-tag-treated-as": - "Unexpected start tag (%(originalName)s). Treated as %(newName)s.", - "deprecated-tag": - "Unexpected start tag %(name)s. Don't use it!", - "unexpected-start-tag-ignored": - "Unexpected start tag %(name)s. Ignored.", - "expected-one-end-tag-but-got-another": - "Unexpected end tag (%(gotName)s). " - "Missing end tag (%(expectedName)s).", - "end-tag-too-early": - "End tag (%(name)s) seen too early. Expected other end tag.", - "end-tag-too-early-named": - "Unexpected end tag (%(gotName)s). Expected end tag (%(expectedName)s).", - "end-tag-too-early-ignored": - "End tag (%(name)s) seen too early. Ignored.", - "adoption-agency-1.1": - "End tag (%(name)s) violates step 1, " - "paragraph 1 of the adoption agency algorithm.", - "adoption-agency-1.2": - "End tag (%(name)s) violates step 1, " - "paragraph 2 of the adoption agency algorithm.", - "adoption-agency-1.3": - "End tag (%(name)s) violates step 1, " - "paragraph 3 of the adoption agency algorithm.", - "adoption-agency-4.4": - "End tag (%(name)s) violates step 4, " - "paragraph 4 of the adoption agency algorithm.", - "unexpected-end-tag-treated-as": - "Unexpected end tag (%(originalName)s). Treated as %(newName)s.", - "no-end-tag": - "This element (%(name)s) has no end tag.", - "unexpected-implied-end-tag-in-table": - "Unexpected implied end tag (%(name)s) in the table phase.", - "unexpected-implied-end-tag-in-table-body": - "Unexpected implied end tag (%(name)s) in the table body phase.", - "unexpected-char-implies-table-voodoo": - "Unexpected non-space characters in " - "table context caused voodoo mode.", - "unexpected-hidden-input-in-table": - "Unexpected input with type hidden in table context.", - "unexpected-form-in-table": - "Unexpected form in table context.", - "unexpected-start-tag-implies-table-voodoo": - "Unexpected start tag (%(name)s) in " - "table context caused voodoo mode.", - "unexpected-end-tag-implies-table-voodoo": - "Unexpected end tag (%(name)s) in " - "table context caused voodoo mode.", - "unexpected-cell-in-table-body": - "Unexpected table cell start tag (%(name)s) " - "in the table body phase.", - "unexpected-cell-end-tag": - "Got table cell end tag (%(name)s) " - "while required end tags are missing.", - "unexpected-end-tag-in-table-body": - "Unexpected end tag (%(name)s) in the table body phase. Ignored.", - "unexpected-implied-end-tag-in-table-row": - "Unexpected implied end tag (%(name)s) in the table row phase.", - "unexpected-end-tag-in-table-row": - "Unexpected end tag (%(name)s) in the table row phase. Ignored.", - "unexpected-select-in-select": - "Unexpected select start tag in the select phase " - "treated as select end tag.", - "unexpected-input-in-select": - "Unexpected input start tag in the select phase.", - "unexpected-start-tag-in-select": - "Unexpected start tag token (%(name)s in the select phase. " - "Ignored.", - "unexpected-end-tag-in-select": - "Unexpected end tag (%(name)s) in the select phase. Ignored.", - "unexpected-table-element-start-tag-in-select-in-table": - "Unexpected table element start tag (%(name)s) in the select in table phase.", - "unexpected-table-element-end-tag-in-select-in-table": - "Unexpected table element end tag (%(name)s) in the select in table phase.", - "unexpected-char-after-body": - "Unexpected non-space characters in the after body phase.", - "unexpected-start-tag-after-body": - "Unexpected start tag token (%(name)s)" - " in the after body phase.", - "unexpected-end-tag-after-body": - "Unexpected end tag token (%(name)s)" - " in the after body phase.", - "unexpected-char-in-frameset": - "Unexpected characters in the frameset phase. Characters ignored.", - "unexpected-start-tag-in-frameset": - "Unexpected start tag token (%(name)s)" - " in the frameset phase. Ignored.", - "unexpected-frameset-in-frameset-innerhtml": - "Unexpected end tag token (frameset) " - "in the frameset phase (innerHTML).", - "unexpected-end-tag-in-frameset": - "Unexpected end tag token (%(name)s)" - " in the frameset phase. Ignored.", - "unexpected-char-after-frameset": - "Unexpected non-space characters in the " - "after frameset phase. Ignored.", - "unexpected-start-tag-after-frameset": - "Unexpected start tag (%(name)s)" - " in the after frameset phase. Ignored.", - "unexpected-end-tag-after-frameset": - "Unexpected end tag (%(name)s)" - " in the after frameset phase. Ignored.", - "unexpected-end-tag-after-body-innerhtml": - "Unexpected end tag after body(innerHtml)", - "expected-eof-but-got-char": - "Unexpected non-space characters. Expected end of file.", - "expected-eof-but-got-start-tag": - "Unexpected start tag (%(name)s)" - ". Expected end of file.", - "expected-eof-but-got-end-tag": - "Unexpected end tag (%(name)s)" - ". Expected end of file.", - "eof-in-table": - "Unexpected end of file. Expected table content.", - "eof-in-select": - "Unexpected end of file. Expected select content.", - "eof-in-frameset": - "Unexpected end of file. Expected frameset content.", - "eof-in-script-in-script": - "Unexpected end of file. Expected script content.", - "eof-in-foreign-lands": - "Unexpected end of file. Expected foreign content", - "non-void-element-with-trailing-solidus": - "Trailing solidus not allowed on element %(name)s", - "unexpected-html-element-in-foreign-content": - "Element %(name)s not allowed in a non-html context", - "unexpected-end-tag-before-html": - "Unexpected end tag (%(name)s) before html.", - "unexpected-inhead-noscript-tag": - "Element %(name)s not allowed in a inhead-noscript context", - "eof-in-head-noscript": - "Unexpected end of file. Expected inhead-noscript content", - "char-in-head-noscript": - "Unexpected non-space character. Expected inhead-noscript content", - "XXX-undefined-error": - "Undefined error (this sucks and should be fixed)", -} - -namespaces = { - "html": "http://www.w3.org/1999/xhtml", - "mathml": "http://www.w3.org/1998/Math/MathML", - "svg": "http://www.w3.org/2000/svg", - "xlink": "http://www.w3.org/1999/xlink", - "xml": "http://www.w3.org/XML/1998/namespace", - "xmlns": "http://www.w3.org/2000/xmlns/" -} - -scopingElements = frozenset([ - (namespaces["html"], "applet"), - (namespaces["html"], "caption"), - (namespaces["html"], "html"), - (namespaces["html"], "marquee"), - (namespaces["html"], "object"), - (namespaces["html"], "table"), - (namespaces["html"], "td"), - (namespaces["html"], "th"), - (namespaces["mathml"], "mi"), - (namespaces["mathml"], "mo"), - (namespaces["mathml"], "mn"), - (namespaces["mathml"], "ms"), - (namespaces["mathml"], "mtext"), - (namespaces["mathml"], "annotation-xml"), - (namespaces["svg"], "foreignObject"), - (namespaces["svg"], "desc"), - (namespaces["svg"], "title"), -]) - -formattingElements = frozenset([ - (namespaces["html"], "a"), - (namespaces["html"], "b"), - (namespaces["html"], "big"), - (namespaces["html"], "code"), - (namespaces["html"], "em"), - (namespaces["html"], "font"), - (namespaces["html"], "i"), - (namespaces["html"], "nobr"), - (namespaces["html"], "s"), - (namespaces["html"], "small"), - (namespaces["html"], "strike"), - (namespaces["html"], "strong"), - (namespaces["html"], "tt"), - (namespaces["html"], "u") -]) - -specialElements = frozenset([ - (namespaces["html"], "address"), - (namespaces["html"], "applet"), - (namespaces["html"], "area"), - (namespaces["html"], "article"), - (namespaces["html"], "aside"), - (namespaces["html"], "base"), - (namespaces["html"], "basefont"), - (namespaces["html"], "bgsound"), - (namespaces["html"], "blockquote"), - (namespaces["html"], "body"), - (namespaces["html"], "br"), - (namespaces["html"], "button"), - (namespaces["html"], "caption"), - (namespaces["html"], "center"), - (namespaces["html"], "col"), - (namespaces["html"], "colgroup"), - (namespaces["html"], "command"), - (namespaces["html"], "dd"), - (namespaces["html"], "details"), - (namespaces["html"], "dir"), - (namespaces["html"], "div"), - (namespaces["html"], "dl"), - (namespaces["html"], "dt"), - (namespaces["html"], "embed"), - (namespaces["html"], "fieldset"), - (namespaces["html"], "figure"), - (namespaces["html"], "footer"), - (namespaces["html"], "form"), - (namespaces["html"], "frame"), - (namespaces["html"], "frameset"), - (namespaces["html"], "h1"), - (namespaces["html"], "h2"), - (namespaces["html"], "h3"), - (namespaces["html"], "h4"), - (namespaces["html"], "h5"), - (namespaces["html"], "h6"), - (namespaces["html"], "head"), - (namespaces["html"], "header"), - (namespaces["html"], "hr"), - (namespaces["html"], "html"), - (namespaces["html"], "iframe"), - # Note that image is commented out in the spec as "this isn't an - # element that can end up on the stack, so it doesn't matter," - (namespaces["html"], "image"), - (namespaces["html"], "img"), - (namespaces["html"], "input"), - (namespaces["html"], "isindex"), - (namespaces["html"], "li"), - (namespaces["html"], "link"), - (namespaces["html"], "listing"), - (namespaces["html"], "marquee"), - (namespaces["html"], "menu"), - (namespaces["html"], "meta"), - (namespaces["html"], "nav"), - (namespaces["html"], "noembed"), - (namespaces["html"], "noframes"), - (namespaces["html"], "noscript"), - (namespaces["html"], "object"), - (namespaces["html"], "ol"), - (namespaces["html"], "p"), - (namespaces["html"], "param"), - (namespaces["html"], "plaintext"), - (namespaces["html"], "pre"), - (namespaces["html"], "script"), - (namespaces["html"], "section"), - (namespaces["html"], "select"), - (namespaces["html"], "style"), - (namespaces["html"], "table"), - (namespaces["html"], "tbody"), - (namespaces["html"], "td"), - (namespaces["html"], "textarea"), - (namespaces["html"], "tfoot"), - (namespaces["html"], "th"), - (namespaces["html"], "thead"), - (namespaces["html"], "title"), - (namespaces["html"], "tr"), - (namespaces["html"], "ul"), - (namespaces["html"], "wbr"), - (namespaces["html"], "xmp"), - (namespaces["svg"], "foreignObject") -]) - -htmlIntegrationPointElements = frozenset([ - (namespaces["mathml"], "annotation-xml"), - (namespaces["svg"], "foreignObject"), - (namespaces["svg"], "desc"), - (namespaces["svg"], "title") -]) - -mathmlTextIntegrationPointElements = frozenset([ - (namespaces["mathml"], "mi"), - (namespaces["mathml"], "mo"), - (namespaces["mathml"], "mn"), - (namespaces["mathml"], "ms"), - (namespaces["mathml"], "mtext") -]) - -adjustSVGAttributes = { - "attributename": "attributeName", - "attributetype": "attributeType", - "basefrequency": "baseFrequency", - "baseprofile": "baseProfile", - "calcmode": "calcMode", - "clippathunits": "clipPathUnits", - "contentscripttype": "contentScriptType", - "contentstyletype": "contentStyleType", - "diffuseconstant": "diffuseConstant", - "edgemode": "edgeMode", - "externalresourcesrequired": "externalResourcesRequired", - "filterres": "filterRes", - "filterunits": "filterUnits", - "glyphref": "glyphRef", - "gradienttransform": "gradientTransform", - "gradientunits": "gradientUnits", - "kernelmatrix": "kernelMatrix", - "kernelunitlength": "kernelUnitLength", - "keypoints": "keyPoints", - "keysplines": "keySplines", - "keytimes": "keyTimes", - "lengthadjust": "lengthAdjust", - "limitingconeangle": "limitingConeAngle", - "markerheight": "markerHeight", - "markerunits": "markerUnits", - "markerwidth": "markerWidth", - "maskcontentunits": "maskContentUnits", - "maskunits": "maskUnits", - "numoctaves": "numOctaves", - "pathlength": "pathLength", - "patterncontentunits": "patternContentUnits", - "patterntransform": "patternTransform", - "patternunits": "patternUnits", - "pointsatx": "pointsAtX", - "pointsaty": "pointsAtY", - "pointsatz": "pointsAtZ", - "preservealpha": "preserveAlpha", - "preserveaspectratio": "preserveAspectRatio", - "primitiveunits": "primitiveUnits", - "refx": "refX", - "refy": "refY", - "repeatcount": "repeatCount", - "repeatdur": "repeatDur", - "requiredextensions": "requiredExtensions", - "requiredfeatures": "requiredFeatures", - "specularconstant": "specularConstant", - "specularexponent": "specularExponent", - "spreadmethod": "spreadMethod", - "startoffset": "startOffset", - "stddeviation": "stdDeviation", - "stitchtiles": "stitchTiles", - "surfacescale": "surfaceScale", - "systemlanguage": "systemLanguage", - "tablevalues": "tableValues", - "targetx": "targetX", - "targety": "targetY", - "textlength": "textLength", - "viewbox": "viewBox", - "viewtarget": "viewTarget", - "xchannelselector": "xChannelSelector", - "ychannelselector": "yChannelSelector", - "zoomandpan": "zoomAndPan" -} - -adjustMathMLAttributes = {"definitionurl": "definitionURL"} - -adjustForeignAttributes = { - "xlink:actuate": ("xlink", "actuate", namespaces["xlink"]), - "xlink:arcrole": ("xlink", "arcrole", namespaces["xlink"]), - "xlink:href": ("xlink", "href", namespaces["xlink"]), - "xlink:role": ("xlink", "role", namespaces["xlink"]), - "xlink:show": ("xlink", "show", namespaces["xlink"]), - "xlink:title": ("xlink", "title", namespaces["xlink"]), - "xlink:type": ("xlink", "type", namespaces["xlink"]), - "xml:base": ("xml", "base", namespaces["xml"]), - "xml:lang": ("xml", "lang", namespaces["xml"]), - "xml:space": ("xml", "space", namespaces["xml"]), - "xmlns": (None, "xmlns", namespaces["xmlns"]), - "xmlns:xlink": ("xmlns", "xlink", namespaces["xmlns"]) -} - -unadjustForeignAttributes = dict([((ns, local), qname) for qname, (prefix, local, ns) in - adjustForeignAttributes.items()]) - -spaceCharacters = frozenset([ - "\t", - "\n", - "\u000C", - " ", - "\r" -]) - -tableInsertModeElements = frozenset([ - "table", - "tbody", - "tfoot", - "thead", - "tr" -]) - -asciiLowercase = frozenset(string.ascii_lowercase) -asciiUppercase = frozenset(string.ascii_uppercase) -asciiLetters = frozenset(string.ascii_letters) -digits = frozenset(string.digits) -hexDigits = frozenset(string.hexdigits) - -asciiUpper2Lower = dict([(ord(c), ord(c.lower())) - for c in string.ascii_uppercase]) - -# Heading elements need to be ordered -headingElements = ( - "h1", - "h2", - "h3", - "h4", - "h5", - "h6" -) - -voidElements = frozenset([ - "base", - "command", - "event-source", - "link", - "meta", - "hr", - "br", - "img", - "embed", - "param", - "area", - "col", - "input", - "source", - "track" -]) - -cdataElements = frozenset(['title', 'textarea']) - -rcdataElements = frozenset([ - 'style', - 'script', - 'xmp', - 'iframe', - 'noembed', - 'noframes', - 'noscript' -]) - -booleanAttributes = { - "": frozenset(["irrelevant", "itemscope"]), - "style": frozenset(["scoped"]), - "img": frozenset(["ismap"]), - "audio": frozenset(["autoplay", "controls"]), - "video": frozenset(["autoplay", "controls"]), - "script": frozenset(["defer", "async"]), - "details": frozenset(["open"]), - "datagrid": frozenset(["multiple", "disabled"]), - "command": frozenset(["hidden", "disabled", "checked", "default"]), - "hr": frozenset(["noshade"]), - "menu": frozenset(["autosubmit"]), - "fieldset": frozenset(["disabled", "readonly"]), - "option": frozenset(["disabled", "readonly", "selected"]), - "optgroup": frozenset(["disabled", "readonly"]), - "button": frozenset(["disabled", "autofocus"]), - "input": frozenset(["disabled", "readonly", "required", "autofocus", "checked", "ismap"]), - "select": frozenset(["disabled", "readonly", "autofocus", "multiple"]), - "output": frozenset(["disabled", "readonly"]), - "iframe": frozenset(["seamless"]), -} - -# entitiesWindows1252 has to be _ordered_ and needs to have an index. It -# therefore can't be a frozenset. -entitiesWindows1252 = ( - 8364, # 0x80 0x20AC EURO SIGN - 65533, # 0x81 UNDEFINED - 8218, # 0x82 0x201A SINGLE LOW-9 QUOTATION MARK - 402, # 0x83 0x0192 LATIN SMALL LETTER F WITH HOOK - 8222, # 0x84 0x201E DOUBLE LOW-9 QUOTATION MARK - 8230, # 0x85 0x2026 HORIZONTAL ELLIPSIS - 8224, # 0x86 0x2020 DAGGER - 8225, # 0x87 0x2021 DOUBLE DAGGER - 710, # 0x88 0x02C6 MODIFIER LETTER CIRCUMFLEX ACCENT - 8240, # 0x89 0x2030 PER MILLE SIGN - 352, # 0x8A 0x0160 LATIN CAPITAL LETTER S WITH CARON - 8249, # 0x8B 0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK - 338, # 0x8C 0x0152 LATIN CAPITAL LIGATURE OE - 65533, # 0x8D UNDEFINED - 381, # 0x8E 0x017D LATIN CAPITAL LETTER Z WITH CARON - 65533, # 0x8F UNDEFINED - 65533, # 0x90 UNDEFINED - 8216, # 0x91 0x2018 LEFT SINGLE QUOTATION MARK - 8217, # 0x92 0x2019 RIGHT SINGLE QUOTATION MARK - 8220, # 0x93 0x201C LEFT DOUBLE QUOTATION MARK - 8221, # 0x94 0x201D RIGHT DOUBLE QUOTATION MARK - 8226, # 0x95 0x2022 BULLET - 8211, # 0x96 0x2013 EN DASH - 8212, # 0x97 0x2014 EM DASH - 732, # 0x98 0x02DC SMALL TILDE - 8482, # 0x99 0x2122 TRADE MARK SIGN - 353, # 0x9A 0x0161 LATIN SMALL LETTER S WITH CARON - 8250, # 0x9B 0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK - 339, # 0x9C 0x0153 LATIN SMALL LIGATURE OE - 65533, # 0x9D UNDEFINED - 382, # 0x9E 0x017E LATIN SMALL LETTER Z WITH CARON - 376 # 0x9F 0x0178 LATIN CAPITAL LETTER Y WITH DIAERESIS -) - -xmlEntities = frozenset(['lt;', 'gt;', 'amp;', 'apos;', 'quot;']) - -entities = { - "AElig": "\xc6", - "AElig;": "\xc6", - "AMP": "&", - "AMP;": "&", - "Aacute": "\xc1", - "Aacute;": "\xc1", - "Abreve;": "\u0102", - "Acirc": "\xc2", - "Acirc;": "\xc2", - "Acy;": "\u0410", - "Afr;": "\U0001d504", - "Agrave": "\xc0", - "Agrave;": "\xc0", - "Alpha;": "\u0391", - "Amacr;": "\u0100", - "And;": "\u2a53", - "Aogon;": "\u0104", - "Aopf;": "\U0001d538", - "ApplyFunction;": "\u2061", - "Aring": "\xc5", - "Aring;": "\xc5", - "Ascr;": "\U0001d49c", - "Assign;": "\u2254", - "Atilde": "\xc3", - "Atilde;": "\xc3", - "Auml": "\xc4", - "Auml;": "\xc4", - "Backslash;": "\u2216", - "Barv;": "\u2ae7", - "Barwed;": "\u2306", - "Bcy;": "\u0411", - "Because;": "\u2235", - "Bernoullis;": "\u212c", - "Beta;": "\u0392", - "Bfr;": "\U0001d505", - "Bopf;": "\U0001d539", - "Breve;": "\u02d8", - "Bscr;": "\u212c", - "Bumpeq;": "\u224e", - "CHcy;": "\u0427", - "COPY": "\xa9", - "COPY;": "\xa9", - "Cacute;": "\u0106", - "Cap;": "\u22d2", - "CapitalDifferentialD;": "\u2145", - "Cayleys;": "\u212d", - "Ccaron;": "\u010c", - "Ccedil": "\xc7", - "Ccedil;": "\xc7", - "Ccirc;": "\u0108", - "Cconint;": "\u2230", - "Cdot;": "\u010a", - "Cedilla;": "\xb8", - "CenterDot;": "\xb7", - "Cfr;": "\u212d", - "Chi;": "\u03a7", - "CircleDot;": "\u2299", - "CircleMinus;": "\u2296", - "CirclePlus;": "\u2295", - "CircleTimes;": "\u2297", - "ClockwiseContourIntegral;": "\u2232", - "CloseCurlyDoubleQuote;": "\u201d", - "CloseCurlyQuote;": "\u2019", - "Colon;": "\u2237", - "Colone;": "\u2a74", - "Congruent;": "\u2261", - "Conint;": "\u222f", - "ContourIntegral;": "\u222e", - "Copf;": "\u2102", - "Coproduct;": "\u2210", - "CounterClockwiseContourIntegral;": "\u2233", - "Cross;": "\u2a2f", - "Cscr;": "\U0001d49e", - "Cup;": "\u22d3", - "CupCap;": "\u224d", - "DD;": "\u2145", - "DDotrahd;": "\u2911", - "DJcy;": "\u0402", - "DScy;": "\u0405", - "DZcy;": "\u040f", - "Dagger;": "\u2021", - "Darr;": "\u21a1", - "Dashv;": "\u2ae4", - "Dcaron;": "\u010e", - "Dcy;": "\u0414", - "Del;": "\u2207", - "Delta;": "\u0394", - "Dfr;": "\U0001d507", - "DiacriticalAcute;": "\xb4", - "DiacriticalDot;": "\u02d9", - "DiacriticalDoubleAcute;": "\u02dd", - "DiacriticalGrave;": "`", - "DiacriticalTilde;": "\u02dc", - "Diamond;": "\u22c4", - "DifferentialD;": "\u2146", - "Dopf;": "\U0001d53b", - "Dot;": "\xa8", - "DotDot;": "\u20dc", - "DotEqual;": "\u2250", - "DoubleContourIntegral;": "\u222f", - "DoubleDot;": "\xa8", - "DoubleDownArrow;": "\u21d3", - "DoubleLeftArrow;": "\u21d0", - "DoubleLeftRightArrow;": "\u21d4", - "DoubleLeftTee;": "\u2ae4", - "DoubleLongLeftArrow;": "\u27f8", - "DoubleLongLeftRightArrow;": "\u27fa", - "DoubleLongRightArrow;": "\u27f9", - "DoubleRightArrow;": "\u21d2", - "DoubleRightTee;": "\u22a8", - "DoubleUpArrow;": "\u21d1", - "DoubleUpDownArrow;": "\u21d5", - "DoubleVerticalBar;": "\u2225", - "DownArrow;": "\u2193", - "DownArrowBar;": "\u2913", - "DownArrowUpArrow;": "\u21f5", - "DownBreve;": "\u0311", - "DownLeftRightVector;": "\u2950", - "DownLeftTeeVector;": "\u295e", - "DownLeftVector;": "\u21bd", - "DownLeftVectorBar;": "\u2956", - "DownRightTeeVector;": "\u295f", - "DownRightVector;": "\u21c1", - "DownRightVectorBar;": "\u2957", - "DownTee;": "\u22a4", - "DownTeeArrow;": "\u21a7", - "Downarrow;": "\u21d3", - "Dscr;": "\U0001d49f", - "Dstrok;": "\u0110", - "ENG;": "\u014a", - "ETH": "\xd0", - "ETH;": "\xd0", - "Eacute": "\xc9", - "Eacute;": "\xc9", - "Ecaron;": "\u011a", - "Ecirc": "\xca", - "Ecirc;": "\xca", - "Ecy;": "\u042d", - "Edot;": "\u0116", - "Efr;": "\U0001d508", - "Egrave": "\xc8", - "Egrave;": "\xc8", - "Element;": "\u2208", - "Emacr;": "\u0112", - "EmptySmallSquare;": "\u25fb", - "EmptyVerySmallSquare;": "\u25ab", - "Eogon;": "\u0118", - "Eopf;": "\U0001d53c", - "Epsilon;": "\u0395", - "Equal;": "\u2a75", - "EqualTilde;": "\u2242", - "Equilibrium;": "\u21cc", - "Escr;": "\u2130", - "Esim;": "\u2a73", - "Eta;": "\u0397", - "Euml": "\xcb", - "Euml;": "\xcb", - "Exists;": "\u2203", - "ExponentialE;": "\u2147", - "Fcy;": "\u0424", - "Ffr;": "\U0001d509", - "FilledSmallSquare;": "\u25fc", - "FilledVerySmallSquare;": "\u25aa", - "Fopf;": "\U0001d53d", - "ForAll;": "\u2200", - "Fouriertrf;": "\u2131", - "Fscr;": "\u2131", - "GJcy;": "\u0403", - "GT": ">", - "GT;": ">", - "Gamma;": "\u0393", - "Gammad;": "\u03dc", - "Gbreve;": "\u011e", - "Gcedil;": "\u0122", - "Gcirc;": "\u011c", - "Gcy;": "\u0413", - "Gdot;": "\u0120", - "Gfr;": "\U0001d50a", - "Gg;": "\u22d9", - "Gopf;": "\U0001d53e", - "GreaterEqual;": "\u2265", - "GreaterEqualLess;": "\u22db", - "GreaterFullEqual;": "\u2267", - "GreaterGreater;": "\u2aa2", - "GreaterLess;": "\u2277", - "GreaterSlantEqual;": "\u2a7e", - "GreaterTilde;": "\u2273", - "Gscr;": "\U0001d4a2", - "Gt;": "\u226b", - "HARDcy;": "\u042a", - "Hacek;": "\u02c7", - "Hat;": "^", - "Hcirc;": "\u0124", - "Hfr;": "\u210c", - "HilbertSpace;": "\u210b", - "Hopf;": "\u210d", - "HorizontalLine;": "\u2500", - "Hscr;": "\u210b", - "Hstrok;": "\u0126", - "HumpDownHump;": "\u224e", - "HumpEqual;": "\u224f", - "IEcy;": "\u0415", - "IJlig;": "\u0132", - "IOcy;": "\u0401", - "Iacute": "\xcd", - "Iacute;": "\xcd", - "Icirc": "\xce", - "Icirc;": "\xce", - "Icy;": "\u0418", - "Idot;": "\u0130", - "Ifr;": "\u2111", - "Igrave": "\xcc", - "Igrave;": "\xcc", - "Im;": "\u2111", - "Imacr;": "\u012a", - "ImaginaryI;": "\u2148", - "Implies;": "\u21d2", - "Int;": "\u222c", - "Integral;": "\u222b", - "Intersection;": "\u22c2", - "InvisibleComma;": "\u2063", - "InvisibleTimes;": "\u2062", - "Iogon;": "\u012e", - "Iopf;": "\U0001d540", - "Iota;": "\u0399", - "Iscr;": "\u2110", - "Itilde;": "\u0128", - "Iukcy;": "\u0406", - "Iuml": "\xcf", - "Iuml;": "\xcf", - "Jcirc;": "\u0134", - "Jcy;": "\u0419", - "Jfr;": "\U0001d50d", - "Jopf;": "\U0001d541", - "Jscr;": "\U0001d4a5", - "Jsercy;": "\u0408", - "Jukcy;": "\u0404", - "KHcy;": "\u0425", - "KJcy;": "\u040c", - "Kappa;": "\u039a", - "Kcedil;": "\u0136", - "Kcy;": "\u041a", - "Kfr;": "\U0001d50e", - "Kopf;": "\U0001d542", - "Kscr;": "\U0001d4a6", - "LJcy;": "\u0409", - "LT": "<", - "LT;": "<", - "Lacute;": "\u0139", - "Lambda;": "\u039b", - "Lang;": "\u27ea", - "Laplacetrf;": "\u2112", - "Larr;": "\u219e", - "Lcaron;": "\u013d", - "Lcedil;": "\u013b", - "Lcy;": "\u041b", - "LeftAngleBracket;": "\u27e8", - "LeftArrow;": "\u2190", - "LeftArrowBar;": "\u21e4", - "LeftArrowRightArrow;": "\u21c6", - "LeftCeiling;": "\u2308", - "LeftDoubleBracket;": "\u27e6", - "LeftDownTeeVector;": "\u2961", - "LeftDownVector;": "\u21c3", - "LeftDownVectorBar;": "\u2959", - "LeftFloor;": "\u230a", - "LeftRightArrow;": "\u2194", - "LeftRightVector;": "\u294e", - "LeftTee;": "\u22a3", - "LeftTeeArrow;": "\u21a4", - "LeftTeeVector;": "\u295a", - "LeftTriangle;": "\u22b2", - "LeftTriangleBar;": "\u29cf", - "LeftTriangleEqual;": "\u22b4", - "LeftUpDownVector;": "\u2951", - "LeftUpTeeVector;": "\u2960", - "LeftUpVector;": "\u21bf", - "LeftUpVectorBar;": "\u2958", - "LeftVector;": "\u21bc", - "LeftVectorBar;": "\u2952", - "Leftarrow;": "\u21d0", - "Leftrightarrow;": "\u21d4", - "LessEqualGreater;": "\u22da", - "LessFullEqual;": "\u2266", - "LessGreater;": "\u2276", - "LessLess;": "\u2aa1", - "LessSlantEqual;": "\u2a7d", - "LessTilde;": "\u2272", - "Lfr;": "\U0001d50f", - "Ll;": "\u22d8", - "Lleftarrow;": "\u21da", - "Lmidot;": "\u013f", - "LongLeftArrow;": "\u27f5", - "LongLeftRightArrow;": "\u27f7", - "LongRightArrow;": "\u27f6", - "Longleftarrow;": "\u27f8", - "Longleftrightarrow;": "\u27fa", - "Longrightarrow;": "\u27f9", - "Lopf;": "\U0001d543", - "LowerLeftArrow;": "\u2199", - "LowerRightArrow;": "\u2198", - "Lscr;": "\u2112", - "Lsh;": "\u21b0", - "Lstrok;": "\u0141", - "Lt;": "\u226a", - "Map;": "\u2905", - "Mcy;": "\u041c", - "MediumSpace;": "\u205f", - "Mellintrf;": "\u2133", - "Mfr;": "\U0001d510", - "MinusPlus;": "\u2213", - "Mopf;": "\U0001d544", - "Mscr;": "\u2133", - "Mu;": "\u039c", - "NJcy;": "\u040a", - "Nacute;": "\u0143", - "Ncaron;": "\u0147", - "Ncedil;": "\u0145", - "Ncy;": "\u041d", - "NegativeMediumSpace;": "\u200b", - "NegativeThickSpace;": "\u200b", - "NegativeThinSpace;": "\u200b", - "NegativeVeryThinSpace;": "\u200b", - "NestedGreaterGreater;": "\u226b", - "NestedLessLess;": "\u226a", - "NewLine;": "\n", - "Nfr;": "\U0001d511", - "NoBreak;": "\u2060", - "NonBreakingSpace;": "\xa0", - "Nopf;": "\u2115", - "Not;": "\u2aec", - "NotCongruent;": "\u2262", - "NotCupCap;": "\u226d", - "NotDoubleVerticalBar;": "\u2226", - "NotElement;": "\u2209", - "NotEqual;": "\u2260", - "NotEqualTilde;": "\u2242\u0338", - "NotExists;": "\u2204", - "NotGreater;": "\u226f", - "NotGreaterEqual;": "\u2271", - "NotGreaterFullEqual;": "\u2267\u0338", - "NotGreaterGreater;": "\u226b\u0338", - "NotGreaterLess;": "\u2279", - "NotGreaterSlantEqual;": "\u2a7e\u0338", - "NotGreaterTilde;": "\u2275", - "NotHumpDownHump;": "\u224e\u0338", - "NotHumpEqual;": "\u224f\u0338", - "NotLeftTriangle;": "\u22ea", - "NotLeftTriangleBar;": "\u29cf\u0338", - "NotLeftTriangleEqual;": "\u22ec", - "NotLess;": "\u226e", - "NotLessEqual;": "\u2270", - "NotLessGreater;": "\u2278", - "NotLessLess;": "\u226a\u0338", - "NotLessSlantEqual;": "\u2a7d\u0338", - "NotLessTilde;": "\u2274", - "NotNestedGreaterGreater;": "\u2aa2\u0338", - "NotNestedLessLess;": "\u2aa1\u0338", - "NotPrecedes;": "\u2280", - "NotPrecedesEqual;": "\u2aaf\u0338", - "NotPrecedesSlantEqual;": "\u22e0", - "NotReverseElement;": "\u220c", - "NotRightTriangle;": "\u22eb", - "NotRightTriangleBar;": "\u29d0\u0338", - "NotRightTriangleEqual;": "\u22ed", - "NotSquareSubset;": "\u228f\u0338", - "NotSquareSubsetEqual;": "\u22e2", - "NotSquareSuperset;": "\u2290\u0338", - "NotSquareSupersetEqual;": "\u22e3", - "NotSubset;": "\u2282\u20d2", - "NotSubsetEqual;": "\u2288", - "NotSucceeds;": "\u2281", - "NotSucceedsEqual;": "\u2ab0\u0338", - "NotSucceedsSlantEqual;": "\u22e1", - "NotSucceedsTilde;": "\u227f\u0338", - "NotSuperset;": "\u2283\u20d2", - "NotSupersetEqual;": "\u2289", - "NotTilde;": "\u2241", - "NotTildeEqual;": "\u2244", - "NotTildeFullEqual;": "\u2247", - "NotTildeTilde;": "\u2249", - "NotVerticalBar;": "\u2224", - "Nscr;": "\U0001d4a9", - "Ntilde": "\xd1", - "Ntilde;": "\xd1", - "Nu;": "\u039d", - "OElig;": "\u0152", - "Oacute": "\xd3", - "Oacute;": "\xd3", - "Ocirc": "\xd4", - "Ocirc;": "\xd4", - "Ocy;": "\u041e", - "Odblac;": "\u0150", - "Ofr;": "\U0001d512", - "Ograve": "\xd2", - "Ograve;": "\xd2", - "Omacr;": "\u014c", - "Omega;": "\u03a9", - "Omicron;": "\u039f", - "Oopf;": "\U0001d546", - "OpenCurlyDoubleQuote;": "\u201c", - "OpenCurlyQuote;": "\u2018", - "Or;": "\u2a54", - "Oscr;": "\U0001d4aa", - "Oslash": "\xd8", - "Oslash;": "\xd8", - "Otilde": "\xd5", - "Otilde;": "\xd5", - "Otimes;": "\u2a37", - "Ouml": "\xd6", - "Ouml;": "\xd6", - "OverBar;": "\u203e", - "OverBrace;": "\u23de", - "OverBracket;": "\u23b4", - "OverParenthesis;": "\u23dc", - "PartialD;": "\u2202", - "Pcy;": "\u041f", - "Pfr;": "\U0001d513", - "Phi;": "\u03a6", - "Pi;": "\u03a0", - "PlusMinus;": "\xb1", - "Poincareplane;": "\u210c", - "Popf;": "\u2119", - "Pr;": "\u2abb", - "Precedes;": "\u227a", - "PrecedesEqual;": "\u2aaf", - "PrecedesSlantEqual;": "\u227c", - "PrecedesTilde;": "\u227e", - "Prime;": "\u2033", - "Product;": "\u220f", - "Proportion;": "\u2237", - "Proportional;": "\u221d", - "Pscr;": "\U0001d4ab", - "Psi;": "\u03a8", - "QUOT": "\"", - "QUOT;": "\"", - "Qfr;": "\U0001d514", - "Qopf;": "\u211a", - "Qscr;": "\U0001d4ac", - "RBarr;": "\u2910", - "REG": "\xae", - "REG;": "\xae", - "Racute;": "\u0154", - "Rang;": "\u27eb", - "Rarr;": "\u21a0", - "Rarrtl;": "\u2916", - "Rcaron;": "\u0158", - "Rcedil;": "\u0156", - "Rcy;": "\u0420", - "Re;": "\u211c", - "ReverseElement;": "\u220b", - "ReverseEquilibrium;": "\u21cb", - "ReverseUpEquilibrium;": "\u296f", - "Rfr;": "\u211c", - "Rho;": "\u03a1", - "RightAngleBracket;": "\u27e9", - "RightArrow;": "\u2192", - "RightArrowBar;": "\u21e5", - "RightArrowLeftArrow;": "\u21c4", - "RightCeiling;": "\u2309", - "RightDoubleBracket;": "\u27e7", - "RightDownTeeVector;": "\u295d", - "RightDownVector;": "\u21c2", - "RightDownVectorBar;": "\u2955", - "RightFloor;": "\u230b", - "RightTee;": "\u22a2", - "RightTeeArrow;": "\u21a6", - "RightTeeVector;": "\u295b", - "RightTriangle;": "\u22b3", - "RightTriangleBar;": "\u29d0", - "RightTriangleEqual;": "\u22b5", - "RightUpDownVector;": "\u294f", - "RightUpTeeVector;": "\u295c", - "RightUpVector;": "\u21be", - "RightUpVectorBar;": "\u2954", - "RightVector;": "\u21c0", - "RightVectorBar;": "\u2953", - "Rightarrow;": "\u21d2", - "Ropf;": "\u211d", - "RoundImplies;": "\u2970", - "Rrightarrow;": "\u21db", - "Rscr;": "\u211b", - "Rsh;": "\u21b1", - "RuleDelayed;": "\u29f4", - "SHCHcy;": "\u0429", - "SHcy;": "\u0428", - "SOFTcy;": "\u042c", - "Sacute;": "\u015a", - "Sc;": "\u2abc", - "Scaron;": "\u0160", - "Scedil;": "\u015e", - "Scirc;": "\u015c", - "Scy;": "\u0421", - "Sfr;": "\U0001d516", - "ShortDownArrow;": "\u2193", - "ShortLeftArrow;": "\u2190", - "ShortRightArrow;": "\u2192", - "ShortUpArrow;": "\u2191", - "Sigma;": "\u03a3", - "SmallCircle;": "\u2218", - "Sopf;": "\U0001d54a", - "Sqrt;": "\u221a", - "Square;": "\u25a1", - "SquareIntersection;": "\u2293", - "SquareSubset;": "\u228f", - "SquareSubsetEqual;": "\u2291", - "SquareSuperset;": "\u2290", - "SquareSupersetEqual;": "\u2292", - "SquareUnion;": "\u2294", - "Sscr;": "\U0001d4ae", - "Star;": "\u22c6", - "Sub;": "\u22d0", - "Subset;": "\u22d0", - "SubsetEqual;": "\u2286", - "Succeeds;": "\u227b", - "SucceedsEqual;": "\u2ab0", - "SucceedsSlantEqual;": "\u227d", - "SucceedsTilde;": "\u227f", - "SuchThat;": "\u220b", - "Sum;": "\u2211", - "Sup;": "\u22d1", - "Superset;": "\u2283", - "SupersetEqual;": "\u2287", - "Supset;": "\u22d1", - "THORN": "\xde", - "THORN;": "\xde", - "TRADE;": "\u2122", - "TSHcy;": "\u040b", - "TScy;": "\u0426", - "Tab;": "\t", - "Tau;": "\u03a4", - "Tcaron;": "\u0164", - "Tcedil;": "\u0162", - "Tcy;": "\u0422", - "Tfr;": "\U0001d517", - "Therefore;": "\u2234", - "Theta;": "\u0398", - "ThickSpace;": "\u205f\u200a", - "ThinSpace;": "\u2009", - "Tilde;": "\u223c", - "TildeEqual;": "\u2243", - "TildeFullEqual;": "\u2245", - "TildeTilde;": "\u2248", - "Topf;": "\U0001d54b", - "TripleDot;": "\u20db", - "Tscr;": "\U0001d4af", - "Tstrok;": "\u0166", - "Uacute": "\xda", - "Uacute;": "\xda", - "Uarr;": "\u219f", - "Uarrocir;": "\u2949", - "Ubrcy;": "\u040e", - "Ubreve;": "\u016c", - "Ucirc": "\xdb", - "Ucirc;": "\xdb", - "Ucy;": "\u0423", - "Udblac;": "\u0170", - "Ufr;": "\U0001d518", - "Ugrave": "\xd9", - "Ugrave;": "\xd9", - "Umacr;": "\u016a", - "UnderBar;": "_", - "UnderBrace;": "\u23df", - "UnderBracket;": "\u23b5", - "UnderParenthesis;": "\u23dd", - "Union;": "\u22c3", - "UnionPlus;": "\u228e", - "Uogon;": "\u0172", - "Uopf;": "\U0001d54c", - "UpArrow;": "\u2191", - "UpArrowBar;": "\u2912", - "UpArrowDownArrow;": "\u21c5", - "UpDownArrow;": "\u2195", - "UpEquilibrium;": "\u296e", - "UpTee;": "\u22a5", - "UpTeeArrow;": "\u21a5", - "Uparrow;": "\u21d1", - "Updownarrow;": "\u21d5", - "UpperLeftArrow;": "\u2196", - "UpperRightArrow;": "\u2197", - "Upsi;": "\u03d2", - "Upsilon;": "\u03a5", - "Uring;": "\u016e", - "Uscr;": "\U0001d4b0", - "Utilde;": "\u0168", - "Uuml": "\xdc", - "Uuml;": "\xdc", - "VDash;": "\u22ab", - "Vbar;": "\u2aeb", - "Vcy;": "\u0412", - "Vdash;": "\u22a9", - "Vdashl;": "\u2ae6", - "Vee;": "\u22c1", - "Verbar;": "\u2016", - "Vert;": "\u2016", - "VerticalBar;": "\u2223", - "VerticalLine;": "|", - "VerticalSeparator;": "\u2758", - "VerticalTilde;": "\u2240", - "VeryThinSpace;": "\u200a", - "Vfr;": "\U0001d519", - "Vopf;": "\U0001d54d", - "Vscr;": "\U0001d4b1", - "Vvdash;": "\u22aa", - "Wcirc;": "\u0174", - "Wedge;": "\u22c0", - "Wfr;": "\U0001d51a", - "Wopf;": "\U0001d54e", - "Wscr;": "\U0001d4b2", - "Xfr;": "\U0001d51b", - "Xi;": "\u039e", - "Xopf;": "\U0001d54f", - "Xscr;": "\U0001d4b3", - "YAcy;": "\u042f", - "YIcy;": "\u0407", - "YUcy;": "\u042e", - "Yacute": "\xdd", - "Yacute;": "\xdd", - "Ycirc;": "\u0176", - "Ycy;": "\u042b", - "Yfr;": "\U0001d51c", - "Yopf;": "\U0001d550", - "Yscr;": "\U0001d4b4", - "Yuml;": "\u0178", - "ZHcy;": "\u0416", - "Zacute;": "\u0179", - "Zcaron;": "\u017d", - "Zcy;": "\u0417", - "Zdot;": "\u017b", - "ZeroWidthSpace;": "\u200b", - "Zeta;": "\u0396", - "Zfr;": "\u2128", - "Zopf;": "\u2124", - "Zscr;": "\U0001d4b5", - "aacute": "\xe1", - "aacute;": "\xe1", - "abreve;": "\u0103", - "ac;": "\u223e", - "acE;": "\u223e\u0333", - "acd;": "\u223f", - "acirc": "\xe2", - "acirc;": "\xe2", - "acute": "\xb4", - "acute;": "\xb4", - "acy;": "\u0430", - "aelig": "\xe6", - "aelig;": "\xe6", - "af;": "\u2061", - "afr;": "\U0001d51e", - "agrave": "\xe0", - "agrave;": "\xe0", - "alefsym;": "\u2135", - "aleph;": "\u2135", - "alpha;": "\u03b1", - "amacr;": "\u0101", - "amalg;": "\u2a3f", - "amp": "&", - "amp;": "&", - "and;": "\u2227", - "andand;": "\u2a55", - "andd;": "\u2a5c", - "andslope;": "\u2a58", - "andv;": "\u2a5a", - "ang;": "\u2220", - "ange;": "\u29a4", - "angle;": "\u2220", - "angmsd;": "\u2221", - "angmsdaa;": "\u29a8", - "angmsdab;": "\u29a9", - "angmsdac;": "\u29aa", - "angmsdad;": "\u29ab", - "angmsdae;": "\u29ac", - "angmsdaf;": "\u29ad", - "angmsdag;": "\u29ae", - "angmsdah;": "\u29af", - "angrt;": "\u221f", - "angrtvb;": "\u22be", - "angrtvbd;": "\u299d", - "angsph;": "\u2222", - "angst;": "\xc5", - "angzarr;": "\u237c", - "aogon;": "\u0105", - "aopf;": "\U0001d552", - "ap;": "\u2248", - "apE;": "\u2a70", - "apacir;": "\u2a6f", - "ape;": "\u224a", - "apid;": "\u224b", - "apos;": "'", - "approx;": "\u2248", - "approxeq;": "\u224a", - "aring": "\xe5", - "aring;": "\xe5", - "ascr;": "\U0001d4b6", - "ast;": "*", - "asymp;": "\u2248", - "asympeq;": "\u224d", - "atilde": "\xe3", - "atilde;": "\xe3", - "auml": "\xe4", - "auml;": "\xe4", - "awconint;": "\u2233", - "awint;": "\u2a11", - "bNot;": "\u2aed", - "backcong;": "\u224c", - "backepsilon;": "\u03f6", - "backprime;": "\u2035", - "backsim;": "\u223d", - "backsimeq;": "\u22cd", - "barvee;": "\u22bd", - "barwed;": "\u2305", - "barwedge;": "\u2305", - "bbrk;": "\u23b5", - "bbrktbrk;": "\u23b6", - "bcong;": "\u224c", - "bcy;": "\u0431", - "bdquo;": "\u201e", - "becaus;": "\u2235", - "because;": "\u2235", - "bemptyv;": "\u29b0", - "bepsi;": "\u03f6", - "bernou;": "\u212c", - "beta;": "\u03b2", - "beth;": "\u2136", - "between;": "\u226c", - "bfr;": "\U0001d51f", - "bigcap;": "\u22c2", - "bigcirc;": "\u25ef", - "bigcup;": "\u22c3", - "bigodot;": "\u2a00", - "bigoplus;": "\u2a01", - "bigotimes;": "\u2a02", - "bigsqcup;": "\u2a06", - "bigstar;": "\u2605", - "bigtriangledown;": "\u25bd", - "bigtriangleup;": "\u25b3", - "biguplus;": "\u2a04", - "bigvee;": "\u22c1", - "bigwedge;": "\u22c0", - "bkarow;": "\u290d", - "blacklozenge;": "\u29eb", - "blacksquare;": "\u25aa", - "blacktriangle;": "\u25b4", - "blacktriangledown;": "\u25be", - "blacktriangleleft;": "\u25c2", - "blacktriangleright;": "\u25b8", - "blank;": "\u2423", - "blk12;": "\u2592", - "blk14;": "\u2591", - "blk34;": "\u2593", - "block;": "\u2588", - "bne;": "=\u20e5", - "bnequiv;": "\u2261\u20e5", - "bnot;": "\u2310", - "bopf;": "\U0001d553", - "bot;": "\u22a5", - "bottom;": "\u22a5", - "bowtie;": "\u22c8", - "boxDL;": "\u2557", - "boxDR;": "\u2554", - "boxDl;": "\u2556", - "boxDr;": "\u2553", - "boxH;": "\u2550", - "boxHD;": "\u2566", - "boxHU;": "\u2569", - "boxHd;": "\u2564", - "boxHu;": "\u2567", - "boxUL;": "\u255d", - "boxUR;": "\u255a", - "boxUl;": "\u255c", - "boxUr;": "\u2559", - "boxV;": "\u2551", - "boxVH;": "\u256c", - "boxVL;": "\u2563", - "boxVR;": "\u2560", - "boxVh;": "\u256b", - "boxVl;": "\u2562", - "boxVr;": "\u255f", - "boxbox;": "\u29c9", - "boxdL;": "\u2555", - "boxdR;": "\u2552", - "boxdl;": "\u2510", - "boxdr;": "\u250c", - "boxh;": "\u2500", - "boxhD;": "\u2565", - "boxhU;": "\u2568", - "boxhd;": "\u252c", - "boxhu;": "\u2534", - "boxminus;": "\u229f", - "boxplus;": "\u229e", - "boxtimes;": "\u22a0", - "boxuL;": "\u255b", - "boxuR;": "\u2558", - "boxul;": "\u2518", - "boxur;": "\u2514", - "boxv;": "\u2502", - "boxvH;": "\u256a", - "boxvL;": "\u2561", - "boxvR;": "\u255e", - "boxvh;": "\u253c", - "boxvl;": "\u2524", - "boxvr;": "\u251c", - "bprime;": "\u2035", - "breve;": "\u02d8", - "brvbar": "\xa6", - "brvbar;": "\xa6", - "bscr;": "\U0001d4b7", - "bsemi;": "\u204f", - "bsim;": "\u223d", - "bsime;": "\u22cd", - "bsol;": "\\", - "bsolb;": "\u29c5", - "bsolhsub;": "\u27c8", - "bull;": "\u2022", - "bullet;": "\u2022", - "bump;": "\u224e", - "bumpE;": "\u2aae", - "bumpe;": "\u224f", - "bumpeq;": "\u224f", - "cacute;": "\u0107", - "cap;": "\u2229", - "capand;": "\u2a44", - "capbrcup;": "\u2a49", - "capcap;": "\u2a4b", - "capcup;": "\u2a47", - "capdot;": "\u2a40", - "caps;": "\u2229\ufe00", - "caret;": "\u2041", - "caron;": "\u02c7", - "ccaps;": "\u2a4d", - "ccaron;": "\u010d", - "ccedil": "\xe7", - "ccedil;": "\xe7", - "ccirc;": "\u0109", - "ccups;": "\u2a4c", - "ccupssm;": "\u2a50", - "cdot;": "\u010b", - "cedil": "\xb8", - "cedil;": "\xb8", - "cemptyv;": "\u29b2", - "cent": "\xa2", - "cent;": "\xa2", - "centerdot;": "\xb7", - "cfr;": "\U0001d520", - "chcy;": "\u0447", - "check;": "\u2713", - "checkmark;": "\u2713", - "chi;": "\u03c7", - "cir;": "\u25cb", - "cirE;": "\u29c3", - "circ;": "\u02c6", - "circeq;": "\u2257", - "circlearrowleft;": "\u21ba", - "circlearrowright;": "\u21bb", - "circledR;": "\xae", - "circledS;": "\u24c8", - "circledast;": "\u229b", - "circledcirc;": "\u229a", - "circleddash;": "\u229d", - "cire;": "\u2257", - "cirfnint;": "\u2a10", - "cirmid;": "\u2aef", - "cirscir;": "\u29c2", - "clubs;": "\u2663", - "clubsuit;": "\u2663", - "colon;": ":", - "colone;": "\u2254", - "coloneq;": "\u2254", - "comma;": ",", - "commat;": "@", - "comp;": "\u2201", - "compfn;": "\u2218", - "complement;": "\u2201", - "complexes;": "\u2102", - "cong;": "\u2245", - "congdot;": "\u2a6d", - "conint;": "\u222e", - "copf;": "\U0001d554", - "coprod;": "\u2210", - "copy": "\xa9", - "copy;": "\xa9", - "copysr;": "\u2117", - "crarr;": "\u21b5", - "cross;": "\u2717", - "cscr;": "\U0001d4b8", - "csub;": "\u2acf", - "csube;": "\u2ad1", - "csup;": "\u2ad0", - "csupe;": "\u2ad2", - "ctdot;": "\u22ef", - "cudarrl;": "\u2938", - "cudarrr;": "\u2935", - "cuepr;": "\u22de", - "cuesc;": "\u22df", - "cularr;": "\u21b6", - "cularrp;": "\u293d", - "cup;": "\u222a", - "cupbrcap;": "\u2a48", - "cupcap;": "\u2a46", - "cupcup;": "\u2a4a", - "cupdot;": "\u228d", - "cupor;": "\u2a45", - "cups;": "\u222a\ufe00", - "curarr;": "\u21b7", - "curarrm;": "\u293c", - "curlyeqprec;": "\u22de", - "curlyeqsucc;": "\u22df", - "curlyvee;": "\u22ce", - "curlywedge;": "\u22cf", - "curren": "\xa4", - "curren;": "\xa4", - "curvearrowleft;": "\u21b6", - "curvearrowright;": "\u21b7", - "cuvee;": "\u22ce", - "cuwed;": "\u22cf", - "cwconint;": "\u2232", - "cwint;": "\u2231", - "cylcty;": "\u232d", - "dArr;": "\u21d3", - "dHar;": "\u2965", - "dagger;": "\u2020", - "daleth;": "\u2138", - "darr;": "\u2193", - "dash;": "\u2010", - "dashv;": "\u22a3", - "dbkarow;": "\u290f", - "dblac;": "\u02dd", - "dcaron;": "\u010f", - "dcy;": "\u0434", - "dd;": "\u2146", - "ddagger;": "\u2021", - "ddarr;": "\u21ca", - "ddotseq;": "\u2a77", - "deg": "\xb0", - "deg;": "\xb0", - "delta;": "\u03b4", - "demptyv;": "\u29b1", - "dfisht;": "\u297f", - "dfr;": "\U0001d521", - "dharl;": "\u21c3", - "dharr;": "\u21c2", - "diam;": "\u22c4", - "diamond;": "\u22c4", - "diamondsuit;": "\u2666", - "diams;": "\u2666", - "die;": "\xa8", - "digamma;": "\u03dd", - "disin;": "\u22f2", - "div;": "\xf7", - "divide": "\xf7", - "divide;": "\xf7", - "divideontimes;": "\u22c7", - "divonx;": "\u22c7", - "djcy;": "\u0452", - "dlcorn;": "\u231e", - "dlcrop;": "\u230d", - "dollar;": "$", - "dopf;": "\U0001d555", - "dot;": "\u02d9", - "doteq;": "\u2250", - "doteqdot;": "\u2251", - "dotminus;": "\u2238", - "dotplus;": "\u2214", - "dotsquare;": "\u22a1", - "doublebarwedge;": "\u2306", - "downarrow;": "\u2193", - "downdownarrows;": "\u21ca", - "downharpoonleft;": "\u21c3", - "downharpoonright;": "\u21c2", - "drbkarow;": "\u2910", - "drcorn;": "\u231f", - "drcrop;": "\u230c", - "dscr;": "\U0001d4b9", - "dscy;": "\u0455", - "dsol;": "\u29f6", - "dstrok;": "\u0111", - "dtdot;": "\u22f1", - "dtri;": "\u25bf", - "dtrif;": "\u25be", - "duarr;": "\u21f5", - "duhar;": "\u296f", - "dwangle;": "\u29a6", - "dzcy;": "\u045f", - "dzigrarr;": "\u27ff", - "eDDot;": "\u2a77", - "eDot;": "\u2251", - "eacute": "\xe9", - "eacute;": "\xe9", - "easter;": "\u2a6e", - "ecaron;": "\u011b", - "ecir;": "\u2256", - "ecirc": "\xea", - "ecirc;": "\xea", - "ecolon;": "\u2255", - "ecy;": "\u044d", - "edot;": "\u0117", - "ee;": "\u2147", - "efDot;": "\u2252", - "efr;": "\U0001d522", - "eg;": "\u2a9a", - "egrave": "\xe8", - "egrave;": "\xe8", - "egs;": "\u2a96", - "egsdot;": "\u2a98", - "el;": "\u2a99", - "elinters;": "\u23e7", - "ell;": "\u2113", - "els;": "\u2a95", - "elsdot;": "\u2a97", - "emacr;": "\u0113", - "empty;": "\u2205", - "emptyset;": "\u2205", - "emptyv;": "\u2205", - "emsp13;": "\u2004", - "emsp14;": "\u2005", - "emsp;": "\u2003", - "eng;": "\u014b", - "ensp;": "\u2002", - "eogon;": "\u0119", - "eopf;": "\U0001d556", - "epar;": "\u22d5", - "eparsl;": "\u29e3", - "eplus;": "\u2a71", - "epsi;": "\u03b5", - "epsilon;": "\u03b5", - "epsiv;": "\u03f5", - "eqcirc;": "\u2256", - "eqcolon;": "\u2255", - "eqsim;": "\u2242", - "eqslantgtr;": "\u2a96", - "eqslantless;": "\u2a95", - "equals;": "=", - "equest;": "\u225f", - "equiv;": "\u2261", - "equivDD;": "\u2a78", - "eqvparsl;": "\u29e5", - "erDot;": "\u2253", - "erarr;": "\u2971", - "escr;": "\u212f", - "esdot;": "\u2250", - "esim;": "\u2242", - "eta;": "\u03b7", - "eth": "\xf0", - "eth;": "\xf0", - "euml": "\xeb", - "euml;": "\xeb", - "euro;": "\u20ac", - "excl;": "!", - "exist;": "\u2203", - "expectation;": "\u2130", - "exponentiale;": "\u2147", - "fallingdotseq;": "\u2252", - "fcy;": "\u0444", - "female;": "\u2640", - "ffilig;": "\ufb03", - "fflig;": "\ufb00", - "ffllig;": "\ufb04", - "ffr;": "\U0001d523", - "filig;": "\ufb01", - "fjlig;": "fj", - "flat;": "\u266d", - "fllig;": "\ufb02", - "fltns;": "\u25b1", - "fnof;": "\u0192", - "fopf;": "\U0001d557", - "forall;": "\u2200", - "fork;": "\u22d4", - "forkv;": "\u2ad9", - "fpartint;": "\u2a0d", - "frac12": "\xbd", - "frac12;": "\xbd", - "frac13;": "\u2153", - "frac14": "\xbc", - "frac14;": "\xbc", - "frac15;": "\u2155", - "frac16;": "\u2159", - "frac18;": "\u215b", - "frac23;": "\u2154", - "frac25;": "\u2156", - "frac34": "\xbe", - "frac34;": "\xbe", - "frac35;": "\u2157", - "frac38;": "\u215c", - "frac45;": "\u2158", - "frac56;": "\u215a", - "frac58;": "\u215d", - "frac78;": "\u215e", - "frasl;": "\u2044", - "frown;": "\u2322", - "fscr;": "\U0001d4bb", - "gE;": "\u2267", - "gEl;": "\u2a8c", - "gacute;": "\u01f5", - "gamma;": "\u03b3", - "gammad;": "\u03dd", - "gap;": "\u2a86", - "gbreve;": "\u011f", - "gcirc;": "\u011d", - "gcy;": "\u0433", - "gdot;": "\u0121", - "ge;": "\u2265", - "gel;": "\u22db", - "geq;": "\u2265", - "geqq;": "\u2267", - "geqslant;": "\u2a7e", - "ges;": "\u2a7e", - "gescc;": "\u2aa9", - "gesdot;": "\u2a80", - "gesdoto;": "\u2a82", - "gesdotol;": "\u2a84", - "gesl;": "\u22db\ufe00", - "gesles;": "\u2a94", - "gfr;": "\U0001d524", - "gg;": "\u226b", - "ggg;": "\u22d9", - "gimel;": "\u2137", - "gjcy;": "\u0453", - "gl;": "\u2277", - "glE;": "\u2a92", - "gla;": "\u2aa5", - "glj;": "\u2aa4", - "gnE;": "\u2269", - "gnap;": "\u2a8a", - "gnapprox;": "\u2a8a", - "gne;": "\u2a88", - "gneq;": "\u2a88", - "gneqq;": "\u2269", - "gnsim;": "\u22e7", - "gopf;": "\U0001d558", - "grave;": "`", - "gscr;": "\u210a", - "gsim;": "\u2273", - "gsime;": "\u2a8e", - "gsiml;": "\u2a90", - "gt": ">", - "gt;": ">", - "gtcc;": "\u2aa7", - "gtcir;": "\u2a7a", - "gtdot;": "\u22d7", - "gtlPar;": "\u2995", - "gtquest;": "\u2a7c", - "gtrapprox;": "\u2a86", - "gtrarr;": "\u2978", - "gtrdot;": "\u22d7", - "gtreqless;": "\u22db", - "gtreqqless;": "\u2a8c", - "gtrless;": "\u2277", - "gtrsim;": "\u2273", - "gvertneqq;": "\u2269\ufe00", - "gvnE;": "\u2269\ufe00", - "hArr;": "\u21d4", - "hairsp;": "\u200a", - "half;": "\xbd", - "hamilt;": "\u210b", - "hardcy;": "\u044a", - "harr;": "\u2194", - "harrcir;": "\u2948", - "harrw;": "\u21ad", - "hbar;": "\u210f", - "hcirc;": "\u0125", - "hearts;": "\u2665", - "heartsuit;": "\u2665", - "hellip;": "\u2026", - "hercon;": "\u22b9", - "hfr;": "\U0001d525", - "hksearow;": "\u2925", - "hkswarow;": "\u2926", - "hoarr;": "\u21ff", - "homtht;": "\u223b", - "hookleftarrow;": "\u21a9", - "hookrightarrow;": "\u21aa", - "hopf;": "\U0001d559", - "horbar;": "\u2015", - "hscr;": "\U0001d4bd", - "hslash;": "\u210f", - "hstrok;": "\u0127", - "hybull;": "\u2043", - "hyphen;": "\u2010", - "iacute": "\xed", - "iacute;": "\xed", - "ic;": "\u2063", - "icirc": "\xee", - "icirc;": "\xee", - "icy;": "\u0438", - "iecy;": "\u0435", - "iexcl": "\xa1", - "iexcl;": "\xa1", - "iff;": "\u21d4", - "ifr;": "\U0001d526", - "igrave": "\xec", - "igrave;": "\xec", - "ii;": "\u2148", - "iiiint;": "\u2a0c", - "iiint;": "\u222d", - "iinfin;": "\u29dc", - "iiota;": "\u2129", - "ijlig;": "\u0133", - "imacr;": "\u012b", - "image;": "\u2111", - "imagline;": "\u2110", - "imagpart;": "\u2111", - "imath;": "\u0131", - "imof;": "\u22b7", - "imped;": "\u01b5", - "in;": "\u2208", - "incare;": "\u2105", - "infin;": "\u221e", - "infintie;": "\u29dd", - "inodot;": "\u0131", - "int;": "\u222b", - "intcal;": "\u22ba", - "integers;": "\u2124", - "intercal;": "\u22ba", - "intlarhk;": "\u2a17", - "intprod;": "\u2a3c", - "iocy;": "\u0451", - "iogon;": "\u012f", - "iopf;": "\U0001d55a", - "iota;": "\u03b9", - "iprod;": "\u2a3c", - "iquest": "\xbf", - "iquest;": "\xbf", - "iscr;": "\U0001d4be", - "isin;": "\u2208", - "isinE;": "\u22f9", - "isindot;": "\u22f5", - "isins;": "\u22f4", - "isinsv;": "\u22f3", - "isinv;": "\u2208", - "it;": "\u2062", - "itilde;": "\u0129", - "iukcy;": "\u0456", - "iuml": "\xef", - "iuml;": "\xef", - "jcirc;": "\u0135", - "jcy;": "\u0439", - "jfr;": "\U0001d527", - "jmath;": "\u0237", - "jopf;": "\U0001d55b", - "jscr;": "\U0001d4bf", - "jsercy;": "\u0458", - "jukcy;": "\u0454", - "kappa;": "\u03ba", - "kappav;": "\u03f0", - "kcedil;": "\u0137", - "kcy;": "\u043a", - "kfr;": "\U0001d528", - "kgreen;": "\u0138", - "khcy;": "\u0445", - "kjcy;": "\u045c", - "kopf;": "\U0001d55c", - "kscr;": "\U0001d4c0", - "lAarr;": "\u21da", - "lArr;": "\u21d0", - "lAtail;": "\u291b", - "lBarr;": "\u290e", - "lE;": "\u2266", - "lEg;": "\u2a8b", - "lHar;": "\u2962", - "lacute;": "\u013a", - "laemptyv;": "\u29b4", - "lagran;": "\u2112", - "lambda;": "\u03bb", - "lang;": "\u27e8", - "langd;": "\u2991", - "langle;": "\u27e8", - "lap;": "\u2a85", - "laquo": "\xab", - "laquo;": "\xab", - "larr;": "\u2190", - "larrb;": "\u21e4", - "larrbfs;": "\u291f", - "larrfs;": "\u291d", - "larrhk;": "\u21a9", - "larrlp;": "\u21ab", - "larrpl;": "\u2939", - "larrsim;": "\u2973", - "larrtl;": "\u21a2", - "lat;": "\u2aab", - "latail;": "\u2919", - "late;": "\u2aad", - "lates;": "\u2aad\ufe00", - "lbarr;": "\u290c", - "lbbrk;": "\u2772", - "lbrace;": "{", - "lbrack;": "[", - "lbrke;": "\u298b", - "lbrksld;": "\u298f", - "lbrkslu;": "\u298d", - "lcaron;": "\u013e", - "lcedil;": "\u013c", - "lceil;": "\u2308", - "lcub;": "{", - "lcy;": "\u043b", - "ldca;": "\u2936", - "ldquo;": "\u201c", - "ldquor;": "\u201e", - "ldrdhar;": "\u2967", - "ldrushar;": "\u294b", - "ldsh;": "\u21b2", - "le;": "\u2264", - "leftarrow;": "\u2190", - "leftarrowtail;": "\u21a2", - "leftharpoondown;": "\u21bd", - "leftharpoonup;": "\u21bc", - "leftleftarrows;": "\u21c7", - "leftrightarrow;": "\u2194", - "leftrightarrows;": "\u21c6", - "leftrightharpoons;": "\u21cb", - "leftrightsquigarrow;": "\u21ad", - "leftthreetimes;": "\u22cb", - "leg;": "\u22da", - "leq;": "\u2264", - "leqq;": "\u2266", - "leqslant;": "\u2a7d", - "les;": "\u2a7d", - "lescc;": "\u2aa8", - "lesdot;": "\u2a7f", - "lesdoto;": "\u2a81", - "lesdotor;": "\u2a83", - "lesg;": "\u22da\ufe00", - "lesges;": "\u2a93", - "lessapprox;": "\u2a85", - "lessdot;": "\u22d6", - "lesseqgtr;": "\u22da", - "lesseqqgtr;": "\u2a8b", - "lessgtr;": "\u2276", - "lesssim;": "\u2272", - "lfisht;": "\u297c", - "lfloor;": "\u230a", - "lfr;": "\U0001d529", - "lg;": "\u2276", - "lgE;": "\u2a91", - "lhard;": "\u21bd", - "lharu;": "\u21bc", - "lharul;": "\u296a", - "lhblk;": "\u2584", - "ljcy;": "\u0459", - "ll;": "\u226a", - "llarr;": "\u21c7", - "llcorner;": "\u231e", - "llhard;": "\u296b", - "lltri;": "\u25fa", - "lmidot;": "\u0140", - "lmoust;": "\u23b0", - "lmoustache;": "\u23b0", - "lnE;": "\u2268", - "lnap;": "\u2a89", - "lnapprox;": "\u2a89", - "lne;": "\u2a87", - "lneq;": "\u2a87", - "lneqq;": "\u2268", - "lnsim;": "\u22e6", - "loang;": "\u27ec", - "loarr;": "\u21fd", - "lobrk;": "\u27e6", - "longleftarrow;": "\u27f5", - "longleftrightarrow;": "\u27f7", - "longmapsto;": "\u27fc", - "longrightarrow;": "\u27f6", - "looparrowleft;": "\u21ab", - "looparrowright;": "\u21ac", - "lopar;": "\u2985", - "lopf;": "\U0001d55d", - "loplus;": "\u2a2d", - "lotimes;": "\u2a34", - "lowast;": "\u2217", - "lowbar;": "_", - "loz;": "\u25ca", - "lozenge;": "\u25ca", - "lozf;": "\u29eb", - "lpar;": "(", - "lparlt;": "\u2993", - "lrarr;": "\u21c6", - "lrcorner;": "\u231f", - "lrhar;": "\u21cb", - "lrhard;": "\u296d", - "lrm;": "\u200e", - "lrtri;": "\u22bf", - "lsaquo;": "\u2039", - "lscr;": "\U0001d4c1", - "lsh;": "\u21b0", - "lsim;": "\u2272", - "lsime;": "\u2a8d", - "lsimg;": "\u2a8f", - "lsqb;": "[", - "lsquo;": "\u2018", - "lsquor;": "\u201a", - "lstrok;": "\u0142", - "lt": "<", - "lt;": "<", - "ltcc;": "\u2aa6", - "ltcir;": "\u2a79", - "ltdot;": "\u22d6", - "lthree;": "\u22cb", - "ltimes;": "\u22c9", - "ltlarr;": "\u2976", - "ltquest;": "\u2a7b", - "ltrPar;": "\u2996", - "ltri;": "\u25c3", - "ltrie;": "\u22b4", - "ltrif;": "\u25c2", - "lurdshar;": "\u294a", - "luruhar;": "\u2966", - "lvertneqq;": "\u2268\ufe00", - "lvnE;": "\u2268\ufe00", - "mDDot;": "\u223a", - "macr": "\xaf", - "macr;": "\xaf", - "male;": "\u2642", - "malt;": "\u2720", - "maltese;": "\u2720", - "map;": "\u21a6", - "mapsto;": "\u21a6", - "mapstodown;": "\u21a7", - "mapstoleft;": "\u21a4", - "mapstoup;": "\u21a5", - "marker;": "\u25ae", - "mcomma;": "\u2a29", - "mcy;": "\u043c", - "mdash;": "\u2014", - "measuredangle;": "\u2221", - "mfr;": "\U0001d52a", - "mho;": "\u2127", - "micro": "\xb5", - "micro;": "\xb5", - "mid;": "\u2223", - "midast;": "*", - "midcir;": "\u2af0", - "middot": "\xb7", - "middot;": "\xb7", - "minus;": "\u2212", - "minusb;": "\u229f", - "minusd;": "\u2238", - "minusdu;": "\u2a2a", - "mlcp;": "\u2adb", - "mldr;": "\u2026", - "mnplus;": "\u2213", - "models;": "\u22a7", - "mopf;": "\U0001d55e", - "mp;": "\u2213", - "mscr;": "\U0001d4c2", - "mstpos;": "\u223e", - "mu;": "\u03bc", - "multimap;": "\u22b8", - "mumap;": "\u22b8", - "nGg;": "\u22d9\u0338", - "nGt;": "\u226b\u20d2", - "nGtv;": "\u226b\u0338", - "nLeftarrow;": "\u21cd", - "nLeftrightarrow;": "\u21ce", - "nLl;": "\u22d8\u0338", - "nLt;": "\u226a\u20d2", - "nLtv;": "\u226a\u0338", - "nRightarrow;": "\u21cf", - "nVDash;": "\u22af", - "nVdash;": "\u22ae", - "nabla;": "\u2207", - "nacute;": "\u0144", - "nang;": "\u2220\u20d2", - "nap;": "\u2249", - "napE;": "\u2a70\u0338", - "napid;": "\u224b\u0338", - "napos;": "\u0149", - "napprox;": "\u2249", - "natur;": "\u266e", - "natural;": "\u266e", - "naturals;": "\u2115", - "nbsp": "\xa0", - "nbsp;": "\xa0", - "nbump;": "\u224e\u0338", - "nbumpe;": "\u224f\u0338", - "ncap;": "\u2a43", - "ncaron;": "\u0148", - "ncedil;": "\u0146", - "ncong;": "\u2247", - "ncongdot;": "\u2a6d\u0338", - "ncup;": "\u2a42", - "ncy;": "\u043d", - "ndash;": "\u2013", - "ne;": "\u2260", - "neArr;": "\u21d7", - "nearhk;": "\u2924", - "nearr;": "\u2197", - "nearrow;": "\u2197", - "nedot;": "\u2250\u0338", - "nequiv;": "\u2262", - "nesear;": "\u2928", - "nesim;": "\u2242\u0338", - "nexist;": "\u2204", - "nexists;": "\u2204", - "nfr;": "\U0001d52b", - "ngE;": "\u2267\u0338", - "nge;": "\u2271", - "ngeq;": "\u2271", - "ngeqq;": "\u2267\u0338", - "ngeqslant;": "\u2a7e\u0338", - "nges;": "\u2a7e\u0338", - "ngsim;": "\u2275", - "ngt;": "\u226f", - "ngtr;": "\u226f", - "nhArr;": "\u21ce", - "nharr;": "\u21ae", - "nhpar;": "\u2af2", - "ni;": "\u220b", - "nis;": "\u22fc", - "nisd;": "\u22fa", - "niv;": "\u220b", - "njcy;": "\u045a", - "nlArr;": "\u21cd", - "nlE;": "\u2266\u0338", - "nlarr;": "\u219a", - "nldr;": "\u2025", - "nle;": "\u2270", - "nleftarrow;": "\u219a", - "nleftrightarrow;": "\u21ae", - "nleq;": "\u2270", - "nleqq;": "\u2266\u0338", - "nleqslant;": "\u2a7d\u0338", - "nles;": "\u2a7d\u0338", - "nless;": "\u226e", - "nlsim;": "\u2274", - "nlt;": "\u226e", - "nltri;": "\u22ea", - "nltrie;": "\u22ec", - "nmid;": "\u2224", - "nopf;": "\U0001d55f", - "not": "\xac", - "not;": "\xac", - "notin;": "\u2209", - "notinE;": "\u22f9\u0338", - "notindot;": "\u22f5\u0338", - "notinva;": "\u2209", - "notinvb;": "\u22f7", - "notinvc;": "\u22f6", - "notni;": "\u220c", - "notniva;": "\u220c", - "notnivb;": "\u22fe", - "notnivc;": "\u22fd", - "npar;": "\u2226", - "nparallel;": "\u2226", - "nparsl;": "\u2afd\u20e5", - "npart;": "\u2202\u0338", - "npolint;": "\u2a14", - "npr;": "\u2280", - "nprcue;": "\u22e0", - "npre;": "\u2aaf\u0338", - "nprec;": "\u2280", - "npreceq;": "\u2aaf\u0338", - "nrArr;": "\u21cf", - "nrarr;": "\u219b", - "nrarrc;": "\u2933\u0338", - "nrarrw;": "\u219d\u0338", - "nrightarrow;": "\u219b", - "nrtri;": "\u22eb", - "nrtrie;": "\u22ed", - "nsc;": "\u2281", - "nsccue;": "\u22e1", - "nsce;": "\u2ab0\u0338", - "nscr;": "\U0001d4c3", - "nshortmid;": "\u2224", - "nshortparallel;": "\u2226", - "nsim;": "\u2241", - "nsime;": "\u2244", - "nsimeq;": "\u2244", - "nsmid;": "\u2224", - "nspar;": "\u2226", - "nsqsube;": "\u22e2", - "nsqsupe;": "\u22e3", - "nsub;": "\u2284", - "nsubE;": "\u2ac5\u0338", - "nsube;": "\u2288", - "nsubset;": "\u2282\u20d2", - "nsubseteq;": "\u2288", - "nsubseteqq;": "\u2ac5\u0338", - "nsucc;": "\u2281", - "nsucceq;": "\u2ab0\u0338", - "nsup;": "\u2285", - "nsupE;": "\u2ac6\u0338", - "nsupe;": "\u2289", - "nsupset;": "\u2283\u20d2", - "nsupseteq;": "\u2289", - "nsupseteqq;": "\u2ac6\u0338", - "ntgl;": "\u2279", - "ntilde": "\xf1", - "ntilde;": "\xf1", - "ntlg;": "\u2278", - "ntriangleleft;": "\u22ea", - "ntrianglelefteq;": "\u22ec", - "ntriangleright;": "\u22eb", - "ntrianglerighteq;": "\u22ed", - "nu;": "\u03bd", - "num;": "#", - "numero;": "\u2116", - "numsp;": "\u2007", - "nvDash;": "\u22ad", - "nvHarr;": "\u2904", - "nvap;": "\u224d\u20d2", - "nvdash;": "\u22ac", - "nvge;": "\u2265\u20d2", - "nvgt;": ">\u20d2", - "nvinfin;": "\u29de", - "nvlArr;": "\u2902", - "nvle;": "\u2264\u20d2", - "nvlt;": "<\u20d2", - "nvltrie;": "\u22b4\u20d2", - "nvrArr;": "\u2903", - "nvrtrie;": "\u22b5\u20d2", - "nvsim;": "\u223c\u20d2", - "nwArr;": "\u21d6", - "nwarhk;": "\u2923", - "nwarr;": "\u2196", - "nwarrow;": "\u2196", - "nwnear;": "\u2927", - "oS;": "\u24c8", - "oacute": "\xf3", - "oacute;": "\xf3", - "oast;": "\u229b", - "ocir;": "\u229a", - "ocirc": "\xf4", - "ocirc;": "\xf4", - "ocy;": "\u043e", - "odash;": "\u229d", - "odblac;": "\u0151", - "odiv;": "\u2a38", - "odot;": "\u2299", - "odsold;": "\u29bc", - "oelig;": "\u0153", - "ofcir;": "\u29bf", - "ofr;": "\U0001d52c", - "ogon;": "\u02db", - "ograve": "\xf2", - "ograve;": "\xf2", - "ogt;": "\u29c1", - "ohbar;": "\u29b5", - "ohm;": "\u03a9", - "oint;": "\u222e", - "olarr;": "\u21ba", - "olcir;": "\u29be", - "olcross;": "\u29bb", - "oline;": "\u203e", - "olt;": "\u29c0", - "omacr;": "\u014d", - "omega;": "\u03c9", - "omicron;": "\u03bf", - "omid;": "\u29b6", - "ominus;": "\u2296", - "oopf;": "\U0001d560", - "opar;": "\u29b7", - "operp;": "\u29b9", - "oplus;": "\u2295", - "or;": "\u2228", - "orarr;": "\u21bb", - "ord;": "\u2a5d", - "order;": "\u2134", - "orderof;": "\u2134", - "ordf": "\xaa", - "ordf;": "\xaa", - "ordm": "\xba", - "ordm;": "\xba", - "origof;": "\u22b6", - "oror;": "\u2a56", - "orslope;": "\u2a57", - "orv;": "\u2a5b", - "oscr;": "\u2134", - "oslash": "\xf8", - "oslash;": "\xf8", - "osol;": "\u2298", - "otilde": "\xf5", - "otilde;": "\xf5", - "otimes;": "\u2297", - "otimesas;": "\u2a36", - "ouml": "\xf6", - "ouml;": "\xf6", - "ovbar;": "\u233d", - "par;": "\u2225", - "para": "\xb6", - "para;": "\xb6", - "parallel;": "\u2225", - "parsim;": "\u2af3", - "parsl;": "\u2afd", - "part;": "\u2202", - "pcy;": "\u043f", - "percnt;": "%", - "period;": ".", - "permil;": "\u2030", - "perp;": "\u22a5", - "pertenk;": "\u2031", - "pfr;": "\U0001d52d", - "phi;": "\u03c6", - "phiv;": "\u03d5", - "phmmat;": "\u2133", - "phone;": "\u260e", - "pi;": "\u03c0", - "pitchfork;": "\u22d4", - "piv;": "\u03d6", - "planck;": "\u210f", - "planckh;": "\u210e", - "plankv;": "\u210f", - "plus;": "+", - "plusacir;": "\u2a23", - "plusb;": "\u229e", - "pluscir;": "\u2a22", - "plusdo;": "\u2214", - "plusdu;": "\u2a25", - "pluse;": "\u2a72", - "plusmn": "\xb1", - "plusmn;": "\xb1", - "plussim;": "\u2a26", - "plustwo;": "\u2a27", - "pm;": "\xb1", - "pointint;": "\u2a15", - "popf;": "\U0001d561", - "pound": "\xa3", - "pound;": "\xa3", - "pr;": "\u227a", - "prE;": "\u2ab3", - "prap;": "\u2ab7", - "prcue;": "\u227c", - "pre;": "\u2aaf", - "prec;": "\u227a", - "precapprox;": "\u2ab7", - "preccurlyeq;": "\u227c", - "preceq;": "\u2aaf", - "precnapprox;": "\u2ab9", - "precneqq;": "\u2ab5", - "precnsim;": "\u22e8", - "precsim;": "\u227e", - "prime;": "\u2032", - "primes;": "\u2119", - "prnE;": "\u2ab5", - "prnap;": "\u2ab9", - "prnsim;": "\u22e8", - "prod;": "\u220f", - "profalar;": "\u232e", - "profline;": "\u2312", - "profsurf;": "\u2313", - "prop;": "\u221d", - "propto;": "\u221d", - "prsim;": "\u227e", - "prurel;": "\u22b0", - "pscr;": "\U0001d4c5", - "psi;": "\u03c8", - "puncsp;": "\u2008", - "qfr;": "\U0001d52e", - "qint;": "\u2a0c", - "qopf;": "\U0001d562", - "qprime;": "\u2057", - "qscr;": "\U0001d4c6", - "quaternions;": "\u210d", - "quatint;": "\u2a16", - "quest;": "?", - "questeq;": "\u225f", - "quot": "\"", - "quot;": "\"", - "rAarr;": "\u21db", - "rArr;": "\u21d2", - "rAtail;": "\u291c", - "rBarr;": "\u290f", - "rHar;": "\u2964", - "race;": "\u223d\u0331", - "racute;": "\u0155", - "radic;": "\u221a", - "raemptyv;": "\u29b3", - "rang;": "\u27e9", - "rangd;": "\u2992", - "range;": "\u29a5", - "rangle;": "\u27e9", - "raquo": "\xbb", - "raquo;": "\xbb", - "rarr;": "\u2192", - "rarrap;": "\u2975", - "rarrb;": "\u21e5", - "rarrbfs;": "\u2920", - "rarrc;": "\u2933", - "rarrfs;": "\u291e", - "rarrhk;": "\u21aa", - "rarrlp;": "\u21ac", - "rarrpl;": "\u2945", - "rarrsim;": "\u2974", - "rarrtl;": "\u21a3", - "rarrw;": "\u219d", - "ratail;": "\u291a", - "ratio;": "\u2236", - "rationals;": "\u211a", - "rbarr;": "\u290d", - "rbbrk;": "\u2773", - "rbrace;": "}", - "rbrack;": "]", - "rbrke;": "\u298c", - "rbrksld;": "\u298e", - "rbrkslu;": "\u2990", - "rcaron;": "\u0159", - "rcedil;": "\u0157", - "rceil;": "\u2309", - "rcub;": "}", - "rcy;": "\u0440", - "rdca;": "\u2937", - "rdldhar;": "\u2969", - "rdquo;": "\u201d", - "rdquor;": "\u201d", - "rdsh;": "\u21b3", - "real;": "\u211c", - "realine;": "\u211b", - "realpart;": "\u211c", - "reals;": "\u211d", - "rect;": "\u25ad", - "reg": "\xae", - "reg;": "\xae", - "rfisht;": "\u297d", - "rfloor;": "\u230b", - "rfr;": "\U0001d52f", - "rhard;": "\u21c1", - "rharu;": "\u21c0", - "rharul;": "\u296c", - "rho;": "\u03c1", - "rhov;": "\u03f1", - "rightarrow;": "\u2192", - "rightarrowtail;": "\u21a3", - "rightharpoondown;": "\u21c1", - "rightharpoonup;": "\u21c0", - "rightleftarrows;": "\u21c4", - "rightleftharpoons;": "\u21cc", - "rightrightarrows;": "\u21c9", - "rightsquigarrow;": "\u219d", - "rightthreetimes;": "\u22cc", - "ring;": "\u02da", - "risingdotseq;": "\u2253", - "rlarr;": "\u21c4", - "rlhar;": "\u21cc", - "rlm;": "\u200f", - "rmoust;": "\u23b1", - "rmoustache;": "\u23b1", - "rnmid;": "\u2aee", - "roang;": "\u27ed", - "roarr;": "\u21fe", - "robrk;": "\u27e7", - "ropar;": "\u2986", - "ropf;": "\U0001d563", - "roplus;": "\u2a2e", - "rotimes;": "\u2a35", - "rpar;": ")", - "rpargt;": "\u2994", - "rppolint;": "\u2a12", - "rrarr;": "\u21c9", - "rsaquo;": "\u203a", - "rscr;": "\U0001d4c7", - "rsh;": "\u21b1", - "rsqb;": "]", - "rsquo;": "\u2019", - "rsquor;": "\u2019", - "rthree;": "\u22cc", - "rtimes;": "\u22ca", - "rtri;": "\u25b9", - "rtrie;": "\u22b5", - "rtrif;": "\u25b8", - "rtriltri;": "\u29ce", - "ruluhar;": "\u2968", - "rx;": "\u211e", - "sacute;": "\u015b", - "sbquo;": "\u201a", - "sc;": "\u227b", - "scE;": "\u2ab4", - "scap;": "\u2ab8", - "scaron;": "\u0161", - "sccue;": "\u227d", - "sce;": "\u2ab0", - "scedil;": "\u015f", - "scirc;": "\u015d", - "scnE;": "\u2ab6", - "scnap;": "\u2aba", - "scnsim;": "\u22e9", - "scpolint;": "\u2a13", - "scsim;": "\u227f", - "scy;": "\u0441", - "sdot;": "\u22c5", - "sdotb;": "\u22a1", - "sdote;": "\u2a66", - "seArr;": "\u21d8", - "searhk;": "\u2925", - "searr;": "\u2198", - "searrow;": "\u2198", - "sect": "\xa7", - "sect;": "\xa7", - "semi;": ";", - "seswar;": "\u2929", - "setminus;": "\u2216", - "setmn;": "\u2216", - "sext;": "\u2736", - "sfr;": "\U0001d530", - "sfrown;": "\u2322", - "sharp;": "\u266f", - "shchcy;": "\u0449", - "shcy;": "\u0448", - "shortmid;": "\u2223", - "shortparallel;": "\u2225", - "shy": "\xad", - "shy;": "\xad", - "sigma;": "\u03c3", - "sigmaf;": "\u03c2", - "sigmav;": "\u03c2", - "sim;": "\u223c", - "simdot;": "\u2a6a", - "sime;": "\u2243", - "simeq;": "\u2243", - "simg;": "\u2a9e", - "simgE;": "\u2aa0", - "siml;": "\u2a9d", - "simlE;": "\u2a9f", - "simne;": "\u2246", - "simplus;": "\u2a24", - "simrarr;": "\u2972", - "slarr;": "\u2190", - "smallsetminus;": "\u2216", - "smashp;": "\u2a33", - "smeparsl;": "\u29e4", - "smid;": "\u2223", - "smile;": "\u2323", - "smt;": "\u2aaa", - "smte;": "\u2aac", - "smtes;": "\u2aac\ufe00", - "softcy;": "\u044c", - "sol;": "/", - "solb;": "\u29c4", - "solbar;": "\u233f", - "sopf;": "\U0001d564", - "spades;": "\u2660", - "spadesuit;": "\u2660", - "spar;": "\u2225", - "sqcap;": "\u2293", - "sqcaps;": "\u2293\ufe00", - "sqcup;": "\u2294", - "sqcups;": "\u2294\ufe00", - "sqsub;": "\u228f", - "sqsube;": "\u2291", - "sqsubset;": "\u228f", - "sqsubseteq;": "\u2291", - "sqsup;": "\u2290", - "sqsupe;": "\u2292", - "sqsupset;": "\u2290", - "sqsupseteq;": "\u2292", - "squ;": "\u25a1", - "square;": "\u25a1", - "squarf;": "\u25aa", - "squf;": "\u25aa", - "srarr;": "\u2192", - "sscr;": "\U0001d4c8", - "ssetmn;": "\u2216", - "ssmile;": "\u2323", - "sstarf;": "\u22c6", - "star;": "\u2606", - "starf;": "\u2605", - "straightepsilon;": "\u03f5", - "straightphi;": "\u03d5", - "strns;": "\xaf", - "sub;": "\u2282", - "subE;": "\u2ac5", - "subdot;": "\u2abd", - "sube;": "\u2286", - "subedot;": "\u2ac3", - "submult;": "\u2ac1", - "subnE;": "\u2acb", - "subne;": "\u228a", - "subplus;": "\u2abf", - "subrarr;": "\u2979", - "subset;": "\u2282", - "subseteq;": "\u2286", - "subseteqq;": "\u2ac5", - "subsetneq;": "\u228a", - "subsetneqq;": "\u2acb", - "subsim;": "\u2ac7", - "subsub;": "\u2ad5", - "subsup;": "\u2ad3", - "succ;": "\u227b", - "succapprox;": "\u2ab8", - "succcurlyeq;": "\u227d", - "succeq;": "\u2ab0", - "succnapprox;": "\u2aba", - "succneqq;": "\u2ab6", - "succnsim;": "\u22e9", - "succsim;": "\u227f", - "sum;": "\u2211", - "sung;": "\u266a", - "sup1": "\xb9", - "sup1;": "\xb9", - "sup2": "\xb2", - "sup2;": "\xb2", - "sup3": "\xb3", - "sup3;": "\xb3", - "sup;": "\u2283", - "supE;": "\u2ac6", - "supdot;": "\u2abe", - "supdsub;": "\u2ad8", - "supe;": "\u2287", - "supedot;": "\u2ac4", - "suphsol;": "\u27c9", - "suphsub;": "\u2ad7", - "suplarr;": "\u297b", - "supmult;": "\u2ac2", - "supnE;": "\u2acc", - "supne;": "\u228b", - "supplus;": "\u2ac0", - "supset;": "\u2283", - "supseteq;": "\u2287", - "supseteqq;": "\u2ac6", - "supsetneq;": "\u228b", - "supsetneqq;": "\u2acc", - "supsim;": "\u2ac8", - "supsub;": "\u2ad4", - "supsup;": "\u2ad6", - "swArr;": "\u21d9", - "swarhk;": "\u2926", - "swarr;": "\u2199", - "swarrow;": "\u2199", - "swnwar;": "\u292a", - "szlig": "\xdf", - "szlig;": "\xdf", - "target;": "\u2316", - "tau;": "\u03c4", - "tbrk;": "\u23b4", - "tcaron;": "\u0165", - "tcedil;": "\u0163", - "tcy;": "\u0442", - "tdot;": "\u20db", - "telrec;": "\u2315", - "tfr;": "\U0001d531", - "there4;": "\u2234", - "therefore;": "\u2234", - "theta;": "\u03b8", - "thetasym;": "\u03d1", - "thetav;": "\u03d1", - "thickapprox;": "\u2248", - "thicksim;": "\u223c", - "thinsp;": "\u2009", - "thkap;": "\u2248", - "thksim;": "\u223c", - "thorn": "\xfe", - "thorn;": "\xfe", - "tilde;": "\u02dc", - "times": "\xd7", - "times;": "\xd7", - "timesb;": "\u22a0", - "timesbar;": "\u2a31", - "timesd;": "\u2a30", - "tint;": "\u222d", - "toea;": "\u2928", - "top;": "\u22a4", - "topbot;": "\u2336", - "topcir;": "\u2af1", - "topf;": "\U0001d565", - "topfork;": "\u2ada", - "tosa;": "\u2929", - "tprime;": "\u2034", - "trade;": "\u2122", - "triangle;": "\u25b5", - "triangledown;": "\u25bf", - "triangleleft;": "\u25c3", - "trianglelefteq;": "\u22b4", - "triangleq;": "\u225c", - "triangleright;": "\u25b9", - "trianglerighteq;": "\u22b5", - "tridot;": "\u25ec", - "trie;": "\u225c", - "triminus;": "\u2a3a", - "triplus;": "\u2a39", - "trisb;": "\u29cd", - "tritime;": "\u2a3b", - "trpezium;": "\u23e2", - "tscr;": "\U0001d4c9", - "tscy;": "\u0446", - "tshcy;": "\u045b", - "tstrok;": "\u0167", - "twixt;": "\u226c", - "twoheadleftarrow;": "\u219e", - "twoheadrightarrow;": "\u21a0", - "uArr;": "\u21d1", - "uHar;": "\u2963", - "uacute": "\xfa", - "uacute;": "\xfa", - "uarr;": "\u2191", - "ubrcy;": "\u045e", - "ubreve;": "\u016d", - "ucirc": "\xfb", - "ucirc;": "\xfb", - "ucy;": "\u0443", - "udarr;": "\u21c5", - "udblac;": "\u0171", - "udhar;": "\u296e", - "ufisht;": "\u297e", - "ufr;": "\U0001d532", - "ugrave": "\xf9", - "ugrave;": "\xf9", - "uharl;": "\u21bf", - "uharr;": "\u21be", - "uhblk;": "\u2580", - "ulcorn;": "\u231c", - "ulcorner;": "\u231c", - "ulcrop;": "\u230f", - "ultri;": "\u25f8", - "umacr;": "\u016b", - "uml": "\xa8", - "uml;": "\xa8", - "uogon;": "\u0173", - "uopf;": "\U0001d566", - "uparrow;": "\u2191", - "updownarrow;": "\u2195", - "upharpoonleft;": "\u21bf", - "upharpoonright;": "\u21be", - "uplus;": "\u228e", - "upsi;": "\u03c5", - "upsih;": "\u03d2", - "upsilon;": "\u03c5", - "upuparrows;": "\u21c8", - "urcorn;": "\u231d", - "urcorner;": "\u231d", - "urcrop;": "\u230e", - "uring;": "\u016f", - "urtri;": "\u25f9", - "uscr;": "\U0001d4ca", - "utdot;": "\u22f0", - "utilde;": "\u0169", - "utri;": "\u25b5", - "utrif;": "\u25b4", - "uuarr;": "\u21c8", - "uuml": "\xfc", - "uuml;": "\xfc", - "uwangle;": "\u29a7", - "vArr;": "\u21d5", - "vBar;": "\u2ae8", - "vBarv;": "\u2ae9", - "vDash;": "\u22a8", - "vangrt;": "\u299c", - "varepsilon;": "\u03f5", - "varkappa;": "\u03f0", - "varnothing;": "\u2205", - "varphi;": "\u03d5", - "varpi;": "\u03d6", - "varpropto;": "\u221d", - "varr;": "\u2195", - "varrho;": "\u03f1", - "varsigma;": "\u03c2", - "varsubsetneq;": "\u228a\ufe00", - "varsubsetneqq;": "\u2acb\ufe00", - "varsupsetneq;": "\u228b\ufe00", - "varsupsetneqq;": "\u2acc\ufe00", - "vartheta;": "\u03d1", - "vartriangleleft;": "\u22b2", - "vartriangleright;": "\u22b3", - "vcy;": "\u0432", - "vdash;": "\u22a2", - "vee;": "\u2228", - "veebar;": "\u22bb", - "veeeq;": "\u225a", - "vellip;": "\u22ee", - "verbar;": "|", - "vert;": "|", - "vfr;": "\U0001d533", - "vltri;": "\u22b2", - "vnsub;": "\u2282\u20d2", - "vnsup;": "\u2283\u20d2", - "vopf;": "\U0001d567", - "vprop;": "\u221d", - "vrtri;": "\u22b3", - "vscr;": "\U0001d4cb", - "vsubnE;": "\u2acb\ufe00", - "vsubne;": "\u228a\ufe00", - "vsupnE;": "\u2acc\ufe00", - "vsupne;": "\u228b\ufe00", - "vzigzag;": "\u299a", - "wcirc;": "\u0175", - "wedbar;": "\u2a5f", - "wedge;": "\u2227", - "wedgeq;": "\u2259", - "weierp;": "\u2118", - "wfr;": "\U0001d534", - "wopf;": "\U0001d568", - "wp;": "\u2118", - "wr;": "\u2240", - "wreath;": "\u2240", - "wscr;": "\U0001d4cc", - "xcap;": "\u22c2", - "xcirc;": "\u25ef", - "xcup;": "\u22c3", - "xdtri;": "\u25bd", - "xfr;": "\U0001d535", - "xhArr;": "\u27fa", - "xharr;": "\u27f7", - "xi;": "\u03be", - "xlArr;": "\u27f8", - "xlarr;": "\u27f5", - "xmap;": "\u27fc", - "xnis;": "\u22fb", - "xodot;": "\u2a00", - "xopf;": "\U0001d569", - "xoplus;": "\u2a01", - "xotime;": "\u2a02", - "xrArr;": "\u27f9", - "xrarr;": "\u27f6", - "xscr;": "\U0001d4cd", - "xsqcup;": "\u2a06", - "xuplus;": "\u2a04", - "xutri;": "\u25b3", - "xvee;": "\u22c1", - "xwedge;": "\u22c0", - "yacute": "\xfd", - "yacute;": "\xfd", - "yacy;": "\u044f", - "ycirc;": "\u0177", - "ycy;": "\u044b", - "yen": "\xa5", - "yen;": "\xa5", - "yfr;": "\U0001d536", - "yicy;": "\u0457", - "yopf;": "\U0001d56a", - "yscr;": "\U0001d4ce", - "yucy;": "\u044e", - "yuml": "\xff", - "yuml;": "\xff", - "zacute;": "\u017a", - "zcaron;": "\u017e", - "zcy;": "\u0437", - "zdot;": "\u017c", - "zeetrf;": "\u2128", - "zeta;": "\u03b6", - "zfr;": "\U0001d537", - "zhcy;": "\u0436", - "zigrarr;": "\u21dd", - "zopf;": "\U0001d56b", - "zscr;": "\U0001d4cf", - "zwj;": "\u200d", - "zwnj;": "\u200c", -} - -replacementCharacters = { - 0x0: "\uFFFD", - 0x0d: "\u000D", - 0x80: "\u20AC", - 0x81: "\u0081", - 0x82: "\u201A", - 0x83: "\u0192", - 0x84: "\u201E", - 0x85: "\u2026", - 0x86: "\u2020", - 0x87: "\u2021", - 0x88: "\u02C6", - 0x89: "\u2030", - 0x8A: "\u0160", - 0x8B: "\u2039", - 0x8C: "\u0152", - 0x8D: "\u008D", - 0x8E: "\u017D", - 0x8F: "\u008F", - 0x90: "\u0090", - 0x91: "\u2018", - 0x92: "\u2019", - 0x93: "\u201C", - 0x94: "\u201D", - 0x95: "\u2022", - 0x96: "\u2013", - 0x97: "\u2014", - 0x98: "\u02DC", - 0x99: "\u2122", - 0x9A: "\u0161", - 0x9B: "\u203A", - 0x9C: "\u0153", - 0x9D: "\u009D", - 0x9E: "\u017E", - 0x9F: "\u0178", -} - -tokenTypes = { - "Doctype": 0, - "Characters": 1, - "SpaceCharacters": 2, - "StartTag": 3, - "EndTag": 4, - "EmptyTag": 5, - "Comment": 6, - "ParseError": 7 -} - -tagTokenTypes = frozenset([tokenTypes["StartTag"], tokenTypes["EndTag"], - tokenTypes["EmptyTag"]]) - - -prefixes = dict([(v, k) for k, v in namespaces.items()]) -prefixes["http://www.w3.org/1998/Math/MathML"] = "math" - - -class DataLossWarning(UserWarning): - """Raised when the current tree is unable to represent the input data""" - pass - - -class _ReparseException(Exception): - pass diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/__init__.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py deleted file mode 100644 index 5ba926e..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +++ /dev/null @@ -1,29 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -from . import base - -from collections import OrderedDict - - -def _attr_key(attr): - """Return an appropriate key for an attribute for sorting - - Attributes have a namespace that can be either ``None`` or a string. We - can't compare the two because they're different types, so we convert - ``None`` to an empty string first. - - """ - return (attr[0][0] or ''), attr[0][1] - - -class Filter(base.Filter): - """Alphabetizes attributes for elements""" - def __iter__(self): - for token in base.Filter.__iter__(self): - if token["type"] in ("StartTag", "EmptyTag"): - attrs = OrderedDict() - for name, value in sorted(token["data"].items(), - key=_attr_key): - attrs[name] = value - token["data"] = attrs - yield token diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/base.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/base.py deleted file mode 100644 index c7dbaed..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/base.py +++ /dev/null @@ -1,12 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - - -class Filter(object): - def __init__(self, source): - self.source = source - - def __iter__(self): - return iter(self.source) - - def __getattr__(self, name): - return getattr(self.source, name) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py deleted file mode 100644 index aefb5c8..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +++ /dev/null @@ -1,73 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -from . import base - - -class Filter(base.Filter): - """Injects ```` tag into head of document""" - def __init__(self, source, encoding): - """Creates a Filter - - :arg source: the source token stream - - :arg encoding: the encoding to set - - """ - base.Filter.__init__(self, source) - self.encoding = encoding - - def __iter__(self): - state = "pre_head" - meta_found = (self.encoding is None) - pending = [] - - for token in base.Filter.__iter__(self): - type = token["type"] - if type == "StartTag": - if token["name"].lower() == "head": - state = "in_head" - - elif type == "EmptyTag": - if token["name"].lower() == "meta": - # replace charset with actual encoding - has_http_equiv_content_type = False - for (namespace, name), value in token["data"].items(): - if namespace is not None: - continue - elif name.lower() == 'charset': - token["data"][(namespace, name)] = self.encoding - meta_found = True - break - elif name == 'http-equiv' and value.lower() == 'content-type': - has_http_equiv_content_type = True - else: - if has_http_equiv_content_type and (None, "content") in token["data"]: - token["data"][(None, "content")] = 'text/html; charset=%s' % self.encoding - meta_found = True - - elif token["name"].lower() == "head" and not meta_found: - # insert meta into empty head - yield {"type": "StartTag", "name": "head", - "data": token["data"]} - yield {"type": "EmptyTag", "name": "meta", - "data": {(None, "charset"): self.encoding}} - yield {"type": "EndTag", "name": "head"} - meta_found = True - continue - - elif type == "EndTag": - if token["name"].lower() == "head" and pending: - # insert meta into head (if necessary) and flush pending queue - yield pending.pop(0) - if not meta_found: - yield {"type": "EmptyTag", "name": "meta", - "data": {(None, "charset"): self.encoding}} - while pending: - yield pending.pop(0) - meta_found = True - state = "post_head" - - if state == "in_head": - pending.append(token) - else: - yield token diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/lint.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/lint.py deleted file mode 100644 index fcc07ee..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/lint.py +++ /dev/null @@ -1,93 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -from pip._vendor.six import text_type - -from . import base -from ..constants import namespaces, voidElements - -from ..constants import spaceCharacters -spaceCharacters = "".join(spaceCharacters) - - -class Filter(base.Filter): - """Lints the token stream for errors - - If it finds any errors, it'll raise an ``AssertionError``. - - """ - def __init__(self, source, require_matching_tags=True): - """Creates a Filter - - :arg source: the source token stream - - :arg require_matching_tags: whether or not to require matching tags - - """ - super(Filter, self).__init__(source) - self.require_matching_tags = require_matching_tags - - def __iter__(self): - open_elements = [] - for token in base.Filter.__iter__(self): - type = token["type"] - if type in ("StartTag", "EmptyTag"): - namespace = token["namespace"] - name = token["name"] - assert namespace is None or isinstance(namespace, text_type) - assert namespace != "" - assert isinstance(name, text_type) - assert name != "" - assert isinstance(token["data"], dict) - if (not namespace or namespace == namespaces["html"]) and name in voidElements: - assert type == "EmptyTag" - else: - assert type == "StartTag" - if type == "StartTag" and self.require_matching_tags: - open_elements.append((namespace, name)) - for (namespace, name), value in token["data"].items(): - assert namespace is None or isinstance(namespace, text_type) - assert namespace != "" - assert isinstance(name, text_type) - assert name != "" - assert isinstance(value, text_type) - - elif type == "EndTag": - namespace = token["namespace"] - name = token["name"] - assert namespace is None or isinstance(namespace, text_type) - assert namespace != "" - assert isinstance(name, text_type) - assert name != "" - if (not namespace or namespace == namespaces["html"]) and name in voidElements: - assert False, "Void element reported as EndTag token: %(tag)s" % {"tag": name} - elif self.require_matching_tags: - start = open_elements.pop() - assert start == (namespace, name) - - elif type == "Comment": - data = token["data"] - assert isinstance(data, text_type) - - elif type in ("Characters", "SpaceCharacters"): - data = token["data"] - assert isinstance(data, text_type) - assert data != "" - if type == "SpaceCharacters": - assert data.strip(spaceCharacters) == "" - - elif type == "Doctype": - name = token["name"] - assert name is None or isinstance(name, text_type) - assert token["publicId"] is None or isinstance(name, text_type) - assert token["systemId"] is None or isinstance(name, text_type) - - elif type == "Entity": - assert isinstance(token["name"], text_type) - - elif type == "SerializerError": - assert isinstance(token["data"], text_type) - - else: - assert False, "Unknown token type: %(type)s" % {"type": type} - - yield token diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/optionaltags.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/optionaltags.py deleted file mode 100644 index 4a86501..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +++ /dev/null @@ -1,207 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -from . import base - - -class Filter(base.Filter): - """Removes optional tags from the token stream""" - def slider(self): - previous1 = previous2 = None - for token in self.source: - if previous1 is not None: - yield previous2, previous1, token - previous2 = previous1 - previous1 = token - if previous1 is not None: - yield previous2, previous1, None - - def __iter__(self): - for previous, token, next in self.slider(): - type = token["type"] - if type == "StartTag": - if (token["data"] or - not self.is_optional_start(token["name"], previous, next)): - yield token - elif type == "EndTag": - if not self.is_optional_end(token["name"], next): - yield token - else: - yield token - - def is_optional_start(self, tagname, previous, next): - type = next and next["type"] or None - if tagname in 'html': - # An html element's start tag may be omitted if the first thing - # inside the html element is not a space character or a comment. - return type not in ("Comment", "SpaceCharacters") - elif tagname == 'head': - # A head element's start tag may be omitted if the first thing - # inside the head element is an element. - # XXX: we also omit the start tag if the head element is empty - if type in ("StartTag", "EmptyTag"): - return True - elif type == "EndTag": - return next["name"] == "head" - elif tagname == 'body': - # A body element's start tag may be omitted if the first thing - # inside the body element is not a space character or a comment, - # except if the first thing inside the body element is a script - # or style element and the node immediately preceding the body - # element is a head element whose end tag has been omitted. - if type in ("Comment", "SpaceCharacters"): - return False - elif type == "StartTag": - # XXX: we do not look at the preceding event, so we never omit - # the body element's start tag if it's followed by a script or - # a style element. - return next["name"] not in ('script', 'style') - else: - return True - elif tagname == 'colgroup': - # A colgroup element's start tag may be omitted if the first thing - # inside the colgroup element is a col element, and if the element - # is not immediately preceded by another colgroup element whose - # end tag has been omitted. - if type in ("StartTag", "EmptyTag"): - # XXX: we do not look at the preceding event, so instead we never - # omit the colgroup element's end tag when it is immediately - # followed by another colgroup element. See is_optional_end. - return next["name"] == "col" - else: - return False - elif tagname == 'tbody': - # A tbody element's start tag may be omitted if the first thing - # inside the tbody element is a tr element, and if the element is - # not immediately preceded by a tbody, thead, or tfoot element - # whose end tag has been omitted. - if type == "StartTag": - # omit the thead and tfoot elements' end tag when they are - # immediately followed by a tbody element. See is_optional_end. - if previous and previous['type'] == 'EndTag' and \ - previous['name'] in ('tbody', 'thead', 'tfoot'): - return False - return next["name"] == 'tr' - else: - return False - return False - - def is_optional_end(self, tagname, next): - type = next and next["type"] or None - if tagname in ('html', 'head', 'body'): - # An html element's end tag may be omitted if the html element - # is not immediately followed by a space character or a comment. - return type not in ("Comment", "SpaceCharacters") - elif tagname in ('li', 'optgroup', 'tr'): - # A li element's end tag may be omitted if the li element is - # immediately followed by another li element or if there is - # no more content in the parent element. - # An optgroup element's end tag may be omitted if the optgroup - # element is immediately followed by another optgroup element, - # or if there is no more content in the parent element. - # A tr element's end tag may be omitted if the tr element is - # immediately followed by another tr element, or if there is - # no more content in the parent element. - if type == "StartTag": - return next["name"] == tagname - else: - return type == "EndTag" or type is None - elif tagname in ('dt', 'dd'): - # A dt element's end tag may be omitted if the dt element is - # immediately followed by another dt element or a dd element. - # A dd element's end tag may be omitted if the dd element is - # immediately followed by another dd element or a dt element, - # or if there is no more content in the parent element. - if type == "StartTag": - return next["name"] in ('dt', 'dd') - elif tagname == 'dd': - return type == "EndTag" or type is None - else: - return False - elif tagname == 'p': - # A p element's end tag may be omitted if the p element is - # immediately followed by an address, article, aside, - # blockquote, datagrid, dialog, dir, div, dl, fieldset, - # footer, form, h1, h2, h3, h4, h5, h6, header, hr, menu, - # nav, ol, p, pre, section, table, or ul, element, or if - # there is no more content in the parent element. - if type in ("StartTag", "EmptyTag"): - return next["name"] in ('address', 'article', 'aside', - 'blockquote', 'datagrid', 'dialog', - 'dir', 'div', 'dl', 'fieldset', 'footer', - 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', - 'header', 'hr', 'menu', 'nav', 'ol', - 'p', 'pre', 'section', 'table', 'ul') - else: - return type == "EndTag" or type is None - elif tagname == 'option': - # An option element's end tag may be omitted if the option - # element is immediately followed by another option element, - # or if it is immediately followed by an optgroup - # element, or if there is no more content in the parent - # element. - if type == "StartTag": - return next["name"] in ('option', 'optgroup') - else: - return type == "EndTag" or type is None - elif tagname in ('rt', 'rp'): - # An rt element's end tag may be omitted if the rt element is - # immediately followed by an rt or rp element, or if there is - # no more content in the parent element. - # An rp element's end tag may be omitted if the rp element is - # immediately followed by an rt or rp element, or if there is - # no more content in the parent element. - if type == "StartTag": - return next["name"] in ('rt', 'rp') - else: - return type == "EndTag" or type is None - elif tagname == 'colgroup': - # A colgroup element's end tag may be omitted if the colgroup - # element is not immediately followed by a space character or - # a comment. - if type in ("Comment", "SpaceCharacters"): - return False - elif type == "StartTag": - # XXX: we also look for an immediately following colgroup - # element. See is_optional_start. - return next["name"] != 'colgroup' - else: - return True - elif tagname in ('thead', 'tbody'): - # A thead element's end tag may be omitted if the thead element - # is immediately followed by a tbody or tfoot element. - # A tbody element's end tag may be omitted if the tbody element - # is immediately followed by a tbody or tfoot element, or if - # there is no more content in the parent element. - # A tfoot element's end tag may be omitted if the tfoot element - # is immediately followed by a tbody element, or if there is no - # more content in the parent element. - # XXX: we never omit the end tag when the following element is - # a tbody. See is_optional_start. - if type == "StartTag": - return next["name"] in ['tbody', 'tfoot'] - elif tagname == 'tbody': - return type == "EndTag" or type is None - else: - return False - elif tagname == 'tfoot': - # A tfoot element's end tag may be omitted if the tfoot element - # is immediately followed by a tbody element, or if there is no - # more content in the parent element. - # XXX: we never omit the end tag when the following element is - # a tbody. See is_optional_start. - if type == "StartTag": - return next["name"] == 'tbody' - else: - return type == "EndTag" or type is None - elif tagname in ('td', 'th'): - # A td element's end tag may be omitted if the td element is - # immediately followed by a td or th element, or if there is - # no more content in the parent element. - # A th element's end tag may be omitted if the th element is - # immediately followed by a td or th element, or if there is - # no more content in the parent element. - if type == "StartTag": - return next["name"] in ('td', 'th') - else: - return type == "EndTag" or type is None - return False diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/sanitizer.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/sanitizer.py deleted file mode 100644 index af8e77b..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +++ /dev/null @@ -1,896 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -import re -from xml.sax.saxutils import escape, unescape - -from pip._vendor.six.moves import urllib_parse as urlparse - -from . import base -from ..constants import namespaces, prefixes - -__all__ = ["Filter"] - - -allowed_elements = frozenset(( - (namespaces['html'], 'a'), - (namespaces['html'], 'abbr'), - (namespaces['html'], 'acronym'), - (namespaces['html'], 'address'), - (namespaces['html'], 'area'), - (namespaces['html'], 'article'), - (namespaces['html'], 'aside'), - (namespaces['html'], 'audio'), - (namespaces['html'], 'b'), - (namespaces['html'], 'big'), - (namespaces['html'], 'blockquote'), - (namespaces['html'], 'br'), - (namespaces['html'], 'button'), - (namespaces['html'], 'canvas'), - (namespaces['html'], 'caption'), - (namespaces['html'], 'center'), - (namespaces['html'], 'cite'), - (namespaces['html'], 'code'), - (namespaces['html'], 'col'), - (namespaces['html'], 'colgroup'), - (namespaces['html'], 'command'), - (namespaces['html'], 'datagrid'), - (namespaces['html'], 'datalist'), - (namespaces['html'], 'dd'), - (namespaces['html'], 'del'), - (namespaces['html'], 'details'), - (namespaces['html'], 'dfn'), - (namespaces['html'], 'dialog'), - (namespaces['html'], 'dir'), - (namespaces['html'], 'div'), - (namespaces['html'], 'dl'), - (namespaces['html'], 'dt'), - (namespaces['html'], 'em'), - (namespaces['html'], 'event-source'), - (namespaces['html'], 'fieldset'), - (namespaces['html'], 'figcaption'), - (namespaces['html'], 'figure'), - (namespaces['html'], 'footer'), - (namespaces['html'], 'font'), - (namespaces['html'], 'form'), - (namespaces['html'], 'header'), - (namespaces['html'], 'h1'), - (namespaces['html'], 'h2'), - (namespaces['html'], 'h3'), - (namespaces['html'], 'h4'), - (namespaces['html'], 'h5'), - (namespaces['html'], 'h6'), - (namespaces['html'], 'hr'), - (namespaces['html'], 'i'), - (namespaces['html'], 'img'), - (namespaces['html'], 'input'), - (namespaces['html'], 'ins'), - (namespaces['html'], 'keygen'), - (namespaces['html'], 'kbd'), - (namespaces['html'], 'label'), - (namespaces['html'], 'legend'), - (namespaces['html'], 'li'), - (namespaces['html'], 'm'), - (namespaces['html'], 'map'), - (namespaces['html'], 'menu'), - (namespaces['html'], 'meter'), - (namespaces['html'], 'multicol'), - (namespaces['html'], 'nav'), - (namespaces['html'], 'nextid'), - (namespaces['html'], 'ol'), - (namespaces['html'], 'output'), - (namespaces['html'], 'optgroup'), - (namespaces['html'], 'option'), - (namespaces['html'], 'p'), - (namespaces['html'], 'pre'), - (namespaces['html'], 'progress'), - (namespaces['html'], 'q'), - (namespaces['html'], 's'), - (namespaces['html'], 'samp'), - (namespaces['html'], 'section'), - (namespaces['html'], 'select'), - (namespaces['html'], 'small'), - (namespaces['html'], 'sound'), - (namespaces['html'], 'source'), - (namespaces['html'], 'spacer'), - (namespaces['html'], 'span'), - (namespaces['html'], 'strike'), - (namespaces['html'], 'strong'), - (namespaces['html'], 'sub'), - (namespaces['html'], 'sup'), - (namespaces['html'], 'table'), - (namespaces['html'], 'tbody'), - (namespaces['html'], 'td'), - (namespaces['html'], 'textarea'), - (namespaces['html'], 'time'), - (namespaces['html'], 'tfoot'), - (namespaces['html'], 'th'), - (namespaces['html'], 'thead'), - (namespaces['html'], 'tr'), - (namespaces['html'], 'tt'), - (namespaces['html'], 'u'), - (namespaces['html'], 'ul'), - (namespaces['html'], 'var'), - (namespaces['html'], 'video'), - (namespaces['mathml'], 'maction'), - (namespaces['mathml'], 'math'), - (namespaces['mathml'], 'merror'), - (namespaces['mathml'], 'mfrac'), - (namespaces['mathml'], 'mi'), - (namespaces['mathml'], 'mmultiscripts'), - (namespaces['mathml'], 'mn'), - (namespaces['mathml'], 'mo'), - (namespaces['mathml'], 'mover'), - (namespaces['mathml'], 'mpadded'), - (namespaces['mathml'], 'mphantom'), - (namespaces['mathml'], 'mprescripts'), - (namespaces['mathml'], 'mroot'), - (namespaces['mathml'], 'mrow'), - (namespaces['mathml'], 'mspace'), - (namespaces['mathml'], 'msqrt'), - (namespaces['mathml'], 'mstyle'), - (namespaces['mathml'], 'msub'), - (namespaces['mathml'], 'msubsup'), - (namespaces['mathml'], 'msup'), - (namespaces['mathml'], 'mtable'), - (namespaces['mathml'], 'mtd'), - (namespaces['mathml'], 'mtext'), - (namespaces['mathml'], 'mtr'), - (namespaces['mathml'], 'munder'), - (namespaces['mathml'], 'munderover'), - (namespaces['mathml'], 'none'), - (namespaces['svg'], 'a'), - (namespaces['svg'], 'animate'), - (namespaces['svg'], 'animateColor'), - (namespaces['svg'], 'animateMotion'), - (namespaces['svg'], 'animateTransform'), - (namespaces['svg'], 'clipPath'), - (namespaces['svg'], 'circle'), - (namespaces['svg'], 'defs'), - (namespaces['svg'], 'desc'), - (namespaces['svg'], 'ellipse'), - (namespaces['svg'], 'font-face'), - (namespaces['svg'], 'font-face-name'), - (namespaces['svg'], 'font-face-src'), - (namespaces['svg'], 'g'), - (namespaces['svg'], 'glyph'), - (namespaces['svg'], 'hkern'), - (namespaces['svg'], 'linearGradient'), - (namespaces['svg'], 'line'), - (namespaces['svg'], 'marker'), - (namespaces['svg'], 'metadata'), - (namespaces['svg'], 'missing-glyph'), - (namespaces['svg'], 'mpath'), - (namespaces['svg'], 'path'), - (namespaces['svg'], 'polygon'), - (namespaces['svg'], 'polyline'), - (namespaces['svg'], 'radialGradient'), - (namespaces['svg'], 'rect'), - (namespaces['svg'], 'set'), - (namespaces['svg'], 'stop'), - (namespaces['svg'], 'svg'), - (namespaces['svg'], 'switch'), - (namespaces['svg'], 'text'), - (namespaces['svg'], 'title'), - (namespaces['svg'], 'tspan'), - (namespaces['svg'], 'use'), -)) - -allowed_attributes = frozenset(( - # HTML attributes - (None, 'abbr'), - (None, 'accept'), - (None, 'accept-charset'), - (None, 'accesskey'), - (None, 'action'), - (None, 'align'), - (None, 'alt'), - (None, 'autocomplete'), - (None, 'autofocus'), - (None, 'axis'), - (None, 'background'), - (None, 'balance'), - (None, 'bgcolor'), - (None, 'bgproperties'), - (None, 'border'), - (None, 'bordercolor'), - (None, 'bordercolordark'), - (None, 'bordercolorlight'), - (None, 'bottompadding'), - (None, 'cellpadding'), - (None, 'cellspacing'), - (None, 'ch'), - (None, 'challenge'), - (None, 'char'), - (None, 'charoff'), - (None, 'choff'), - (None, 'charset'), - (None, 'checked'), - (None, 'cite'), - (None, 'class'), - (None, 'clear'), - (None, 'color'), - (None, 'cols'), - (None, 'colspan'), - (None, 'compact'), - (None, 'contenteditable'), - (None, 'controls'), - (None, 'coords'), - (None, 'data'), - (None, 'datafld'), - (None, 'datapagesize'), - (None, 'datasrc'), - (None, 'datetime'), - (None, 'default'), - (None, 'delay'), - (None, 'dir'), - (None, 'disabled'), - (None, 'draggable'), - (None, 'dynsrc'), - (None, 'enctype'), - (None, 'end'), - (None, 'face'), - (None, 'for'), - (None, 'form'), - (None, 'frame'), - (None, 'galleryimg'), - (None, 'gutter'), - (None, 'headers'), - (None, 'height'), - (None, 'hidefocus'), - (None, 'hidden'), - (None, 'high'), - (None, 'href'), - (None, 'hreflang'), - (None, 'hspace'), - (None, 'icon'), - (None, 'id'), - (None, 'inputmode'), - (None, 'ismap'), - (None, 'keytype'), - (None, 'label'), - (None, 'leftspacing'), - (None, 'lang'), - (None, 'list'), - (None, 'longdesc'), - (None, 'loop'), - (None, 'loopcount'), - (None, 'loopend'), - (None, 'loopstart'), - (None, 'low'), - (None, 'lowsrc'), - (None, 'max'), - (None, 'maxlength'), - (None, 'media'), - (None, 'method'), - (None, 'min'), - (None, 'multiple'), - (None, 'name'), - (None, 'nohref'), - (None, 'noshade'), - (None, 'nowrap'), - (None, 'open'), - (None, 'optimum'), - (None, 'pattern'), - (None, 'ping'), - (None, 'point-size'), - (None, 'poster'), - (None, 'pqg'), - (None, 'preload'), - (None, 'prompt'), - (None, 'radiogroup'), - (None, 'readonly'), - (None, 'rel'), - (None, 'repeat-max'), - (None, 'repeat-min'), - (None, 'replace'), - (None, 'required'), - (None, 'rev'), - (None, 'rightspacing'), - (None, 'rows'), - (None, 'rowspan'), - (None, 'rules'), - (None, 'scope'), - (None, 'selected'), - (None, 'shape'), - (None, 'size'), - (None, 'span'), - (None, 'src'), - (None, 'start'), - (None, 'step'), - (None, 'style'), - (None, 'summary'), - (None, 'suppress'), - (None, 'tabindex'), - (None, 'target'), - (None, 'template'), - (None, 'title'), - (None, 'toppadding'), - (None, 'type'), - (None, 'unselectable'), - (None, 'usemap'), - (None, 'urn'), - (None, 'valign'), - (None, 'value'), - (None, 'variable'), - (None, 'volume'), - (None, 'vspace'), - (None, 'vrml'), - (None, 'width'), - (None, 'wrap'), - (namespaces['xml'], 'lang'), - # MathML attributes - (None, 'actiontype'), - (None, 'align'), - (None, 'columnalign'), - (None, 'columnalign'), - (None, 'columnalign'), - (None, 'columnlines'), - (None, 'columnspacing'), - (None, 'columnspan'), - (None, 'depth'), - (None, 'display'), - (None, 'displaystyle'), - (None, 'equalcolumns'), - (None, 'equalrows'), - (None, 'fence'), - (None, 'fontstyle'), - (None, 'fontweight'), - (None, 'frame'), - (None, 'height'), - (None, 'linethickness'), - (None, 'lspace'), - (None, 'mathbackground'), - (None, 'mathcolor'), - (None, 'mathvariant'), - (None, 'mathvariant'), - (None, 'maxsize'), - (None, 'minsize'), - (None, 'other'), - (None, 'rowalign'), - (None, 'rowalign'), - (None, 'rowalign'), - (None, 'rowlines'), - (None, 'rowspacing'), - (None, 'rowspan'), - (None, 'rspace'), - (None, 'scriptlevel'), - (None, 'selection'), - (None, 'separator'), - (None, 'stretchy'), - (None, 'width'), - (None, 'width'), - (namespaces['xlink'], 'href'), - (namespaces['xlink'], 'show'), - (namespaces['xlink'], 'type'), - # SVG attributes - (None, 'accent-height'), - (None, 'accumulate'), - (None, 'additive'), - (None, 'alphabetic'), - (None, 'arabic-form'), - (None, 'ascent'), - (None, 'attributeName'), - (None, 'attributeType'), - (None, 'baseProfile'), - (None, 'bbox'), - (None, 'begin'), - (None, 'by'), - (None, 'calcMode'), - (None, 'cap-height'), - (None, 'class'), - (None, 'clip-path'), - (None, 'color'), - (None, 'color-rendering'), - (None, 'content'), - (None, 'cx'), - (None, 'cy'), - (None, 'd'), - (None, 'dx'), - (None, 'dy'), - (None, 'descent'), - (None, 'display'), - (None, 'dur'), - (None, 'end'), - (None, 'fill'), - (None, 'fill-opacity'), - (None, 'fill-rule'), - (None, 'font-family'), - (None, 'font-size'), - (None, 'font-stretch'), - (None, 'font-style'), - (None, 'font-variant'), - (None, 'font-weight'), - (None, 'from'), - (None, 'fx'), - (None, 'fy'), - (None, 'g1'), - (None, 'g2'), - (None, 'glyph-name'), - (None, 'gradientUnits'), - (None, 'hanging'), - (None, 'height'), - (None, 'horiz-adv-x'), - (None, 'horiz-origin-x'), - (None, 'id'), - (None, 'ideographic'), - (None, 'k'), - (None, 'keyPoints'), - (None, 'keySplines'), - (None, 'keyTimes'), - (None, 'lang'), - (None, 'marker-end'), - (None, 'marker-mid'), - (None, 'marker-start'), - (None, 'markerHeight'), - (None, 'markerUnits'), - (None, 'markerWidth'), - (None, 'mathematical'), - (None, 'max'), - (None, 'min'), - (None, 'name'), - (None, 'offset'), - (None, 'opacity'), - (None, 'orient'), - (None, 'origin'), - (None, 'overline-position'), - (None, 'overline-thickness'), - (None, 'panose-1'), - (None, 'path'), - (None, 'pathLength'), - (None, 'points'), - (None, 'preserveAspectRatio'), - (None, 'r'), - (None, 'refX'), - (None, 'refY'), - (None, 'repeatCount'), - (None, 'repeatDur'), - (None, 'requiredExtensions'), - (None, 'requiredFeatures'), - (None, 'restart'), - (None, 'rotate'), - (None, 'rx'), - (None, 'ry'), - (None, 'slope'), - (None, 'stemh'), - (None, 'stemv'), - (None, 'stop-color'), - (None, 'stop-opacity'), - (None, 'strikethrough-position'), - (None, 'strikethrough-thickness'), - (None, 'stroke'), - (None, 'stroke-dasharray'), - (None, 'stroke-dashoffset'), - (None, 'stroke-linecap'), - (None, 'stroke-linejoin'), - (None, 'stroke-miterlimit'), - (None, 'stroke-opacity'), - (None, 'stroke-width'), - (None, 'systemLanguage'), - (None, 'target'), - (None, 'text-anchor'), - (None, 'to'), - (None, 'transform'), - (None, 'type'), - (None, 'u1'), - (None, 'u2'), - (None, 'underline-position'), - (None, 'underline-thickness'), - (None, 'unicode'), - (None, 'unicode-range'), - (None, 'units-per-em'), - (None, 'values'), - (None, 'version'), - (None, 'viewBox'), - (None, 'visibility'), - (None, 'width'), - (None, 'widths'), - (None, 'x'), - (None, 'x-height'), - (None, 'x1'), - (None, 'x2'), - (namespaces['xlink'], 'actuate'), - (namespaces['xlink'], 'arcrole'), - (namespaces['xlink'], 'href'), - (namespaces['xlink'], 'role'), - (namespaces['xlink'], 'show'), - (namespaces['xlink'], 'title'), - (namespaces['xlink'], 'type'), - (namespaces['xml'], 'base'), - (namespaces['xml'], 'lang'), - (namespaces['xml'], 'space'), - (None, 'y'), - (None, 'y1'), - (None, 'y2'), - (None, 'zoomAndPan'), -)) - -attr_val_is_uri = frozenset(( - (None, 'href'), - (None, 'src'), - (None, 'cite'), - (None, 'action'), - (None, 'longdesc'), - (None, 'poster'), - (None, 'background'), - (None, 'datasrc'), - (None, 'dynsrc'), - (None, 'lowsrc'), - (None, 'ping'), - (namespaces['xlink'], 'href'), - (namespaces['xml'], 'base'), -)) - -svg_attr_val_allows_ref = frozenset(( - (None, 'clip-path'), - (None, 'color-profile'), - (None, 'cursor'), - (None, 'fill'), - (None, 'filter'), - (None, 'marker'), - (None, 'marker-start'), - (None, 'marker-mid'), - (None, 'marker-end'), - (None, 'mask'), - (None, 'stroke'), -)) - -svg_allow_local_href = frozenset(( - (None, 'altGlyph'), - (None, 'animate'), - (None, 'animateColor'), - (None, 'animateMotion'), - (None, 'animateTransform'), - (None, 'cursor'), - (None, 'feImage'), - (None, 'filter'), - (None, 'linearGradient'), - (None, 'pattern'), - (None, 'radialGradient'), - (None, 'textpath'), - (None, 'tref'), - (None, 'set'), - (None, 'use') -)) - -allowed_css_properties = frozenset(( - 'azimuth', - 'background-color', - 'border-bottom-color', - 'border-collapse', - 'border-color', - 'border-left-color', - 'border-right-color', - 'border-top-color', - 'clear', - 'color', - 'cursor', - 'direction', - 'display', - 'elevation', - 'float', - 'font', - 'font-family', - 'font-size', - 'font-style', - 'font-variant', - 'font-weight', - 'height', - 'letter-spacing', - 'line-height', - 'overflow', - 'pause', - 'pause-after', - 'pause-before', - 'pitch', - 'pitch-range', - 'richness', - 'speak', - 'speak-header', - 'speak-numeral', - 'speak-punctuation', - 'speech-rate', - 'stress', - 'text-align', - 'text-decoration', - 'text-indent', - 'unicode-bidi', - 'vertical-align', - 'voice-family', - 'volume', - 'white-space', - 'width', -)) - -allowed_css_keywords = frozenset(( - 'auto', - 'aqua', - 'black', - 'block', - 'blue', - 'bold', - 'both', - 'bottom', - 'brown', - 'center', - 'collapse', - 'dashed', - 'dotted', - 'fuchsia', - 'gray', - 'green', - '!important', - 'italic', - 'left', - 'lime', - 'maroon', - 'medium', - 'none', - 'navy', - 'normal', - 'nowrap', - 'olive', - 'pointer', - 'purple', - 'red', - 'right', - 'solid', - 'silver', - 'teal', - 'top', - 'transparent', - 'underline', - 'white', - 'yellow', -)) - -allowed_svg_properties = frozenset(( - 'fill', - 'fill-opacity', - 'fill-rule', - 'stroke', - 'stroke-width', - 'stroke-linecap', - 'stroke-linejoin', - 'stroke-opacity', -)) - -allowed_protocols = frozenset(( - 'ed2k', - 'ftp', - 'http', - 'https', - 'irc', - 'mailto', - 'news', - 'gopher', - 'nntp', - 'telnet', - 'webcal', - 'xmpp', - 'callto', - 'feed', - 'urn', - 'aim', - 'rsync', - 'tag', - 'ssh', - 'sftp', - 'rtsp', - 'afs', - 'data', -)) - -allowed_content_types = frozenset(( - 'image/png', - 'image/jpeg', - 'image/gif', - 'image/webp', - 'image/bmp', - 'text/plain', -)) - - -data_content_type = re.compile(r''' - ^ - # Match a content type / - (?P[-a-zA-Z0-9.]+/[-a-zA-Z0-9.]+) - # Match any character set and encoding - (?:(?:;charset=(?:[-a-zA-Z0-9]+)(?:;(?:base64))?) - |(?:;(?:base64))?(?:;charset=(?:[-a-zA-Z0-9]+))?) - # Assume the rest is data - ,.* - $ - ''', - re.VERBOSE) - - -class Filter(base.Filter): - """Sanitizes token stream of XHTML+MathML+SVG and of inline style attributes""" - def __init__(self, - source, - allowed_elements=allowed_elements, - allowed_attributes=allowed_attributes, - allowed_css_properties=allowed_css_properties, - allowed_css_keywords=allowed_css_keywords, - allowed_svg_properties=allowed_svg_properties, - allowed_protocols=allowed_protocols, - allowed_content_types=allowed_content_types, - attr_val_is_uri=attr_val_is_uri, - svg_attr_val_allows_ref=svg_attr_val_allows_ref, - svg_allow_local_href=svg_allow_local_href): - """Creates a Filter - - :arg allowed_elements: set of elements to allow--everything else will - be escaped - - :arg allowed_attributes: set of attributes to allow in - elements--everything else will be stripped - - :arg allowed_css_properties: set of CSS properties to allow--everything - else will be stripped - - :arg allowed_css_keywords: set of CSS keywords to allow--everything - else will be stripped - - :arg allowed_svg_properties: set of SVG properties to allow--everything - else will be removed - - :arg allowed_protocols: set of allowed protocols for URIs - - :arg allowed_content_types: set of allowed content types for ``data`` URIs. - - :arg attr_val_is_uri: set of attributes that have URI values--values - that have a scheme not listed in ``allowed_protocols`` are removed - - :arg svg_attr_val_allows_ref: set of SVG attributes that can have - references - - :arg svg_allow_local_href: set of SVG elements that can have local - hrefs--these are removed - - """ - super(Filter, self).__init__(source) - self.allowed_elements = allowed_elements - self.allowed_attributes = allowed_attributes - self.allowed_css_properties = allowed_css_properties - self.allowed_css_keywords = allowed_css_keywords - self.allowed_svg_properties = allowed_svg_properties - self.allowed_protocols = allowed_protocols - self.allowed_content_types = allowed_content_types - self.attr_val_is_uri = attr_val_is_uri - self.svg_attr_val_allows_ref = svg_attr_val_allows_ref - self.svg_allow_local_href = svg_allow_local_href - - def __iter__(self): - for token in base.Filter.__iter__(self): - token = self.sanitize_token(token) - if token: - yield token - - # Sanitize the +html+, escaping all elements not in ALLOWED_ELEMENTS, and - # stripping out all attributes not in ALLOWED_ATTRIBUTES. Style attributes - # are parsed, and a restricted set, specified by ALLOWED_CSS_PROPERTIES and - # ALLOWED_CSS_KEYWORDS, are allowed through. attributes in ATTR_VAL_IS_URI - # are scanned, and only URI schemes specified in ALLOWED_PROTOCOLS are - # allowed. - # - # sanitize_html('') - # => <script> do_nasty_stuff() </script> - # sanitize_html('Click here for $100') - # => Click here for $100 - def sanitize_token(self, token): - - # accommodate filters which use token_type differently - token_type = token["type"] - if token_type in ("StartTag", "EndTag", "EmptyTag"): - name = token["name"] - namespace = token["namespace"] - if ((namespace, name) in self.allowed_elements or - (namespace is None and - (namespaces["html"], name) in self.allowed_elements)): - return self.allowed_token(token) - else: - return self.disallowed_token(token) - elif token_type == "Comment": - pass - else: - return token - - def allowed_token(self, token): - if "data" in token: - attrs = token["data"] - attr_names = set(attrs.keys()) - - # Remove forbidden attributes - for to_remove in (attr_names - self.allowed_attributes): - del token["data"][to_remove] - attr_names.remove(to_remove) - - # Remove attributes with disallowed URL values - for attr in (attr_names & self.attr_val_is_uri): - assert attr in attrs - # I don't have a clue where this regexp comes from or why it matches those - # characters, nor why we call unescape. I just know it's always been here. - # Should you be worried by this comment in a sanitizer? Yes. On the other hand, all - # this will do is remove *more* than it otherwise would. - val_unescaped = re.sub("[`\x00-\x20\x7f-\xa0\\s]+", '', - unescape(attrs[attr])).lower() - # remove replacement characters from unescaped characters - val_unescaped = val_unescaped.replace("\ufffd", "") - try: - uri = urlparse.urlparse(val_unescaped) - except ValueError: - uri = None - del attrs[attr] - if uri and uri.scheme: - if uri.scheme not in self.allowed_protocols: - del attrs[attr] - if uri.scheme == 'data': - m = data_content_type.match(uri.path) - if not m: - del attrs[attr] - elif m.group('content_type') not in self.allowed_content_types: - del attrs[attr] - - for attr in self.svg_attr_val_allows_ref: - if attr in attrs: - attrs[attr] = re.sub(r'url\s*\(\s*[^#\s][^)]+?\)', - ' ', - unescape(attrs[attr])) - if (token["name"] in self.svg_allow_local_href and - (namespaces['xlink'], 'href') in attrs and re.search(r'^\s*[^#\s].*', - attrs[(namespaces['xlink'], 'href')])): - del attrs[(namespaces['xlink'], 'href')] - if (None, 'style') in attrs: - attrs[(None, 'style')] = self.sanitize_css(attrs[(None, 'style')]) - token["data"] = attrs - return token - - def disallowed_token(self, token): - token_type = token["type"] - if token_type == "EndTag": - token["data"] = "" % token["name"] - elif token["data"]: - assert token_type in ("StartTag", "EmptyTag") - attrs = [] - for (ns, name), v in token["data"].items(): - attrs.append(' %s="%s"' % (name if ns is None else "%s:%s" % (prefixes[ns], name), escape(v))) - token["data"] = "<%s%s>" % (token["name"], ''.join(attrs)) - else: - token["data"] = "<%s>" % token["name"] - if token.get("selfClosing"): - token["data"] = token["data"][:-1] + "/>" - - token["type"] = "Characters" - - del token["name"] - return token - - def sanitize_css(self, style): - # disallow urls - style = re.compile(r'url\s*\(\s*[^\s)]+?\s*\)\s*').sub(' ', style) - - # gauntlet - if not re.match(r"""^([:,;#%.\sa-zA-Z0-9!]|\w-\w|'[\s\w]+'|"[\s\w]+"|\([\d,\s]+\))*$""", style): - return '' - if not re.match(r"^\s*([-\w]+\s*:[^:;]*(;\s*|$))*$", style): - return '' - - clean = [] - for prop, value in re.findall(r"([-\w]+)\s*:\s*([^:;]*)", style): - if not value: - continue - if prop.lower() in self.allowed_css_properties: - clean.append(prop + ': ' + value + ';') - elif prop.split('-')[0].lower() in ['background', 'border', 'margin', - 'padding']: - for keyword in value.split(): - if keyword not in self.allowed_css_keywords and \ - not re.match(r"^(#[0-9a-fA-F]+|rgb\(\d+%?,\d*%?,?\d*%?\)?|\d{0,2}\.?\d{0,2}(cm|em|ex|in|mm|pc|pt|px|%|,|\))?)$", keyword): # noqa - break - else: - clean.append(prop + ': ' + value + ';') - elif prop.lower() in self.allowed_svg_properties: - clean.append(prop + ': ' + value + ';') - - return ' '.join(clean) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/whitespace.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/whitespace.py deleted file mode 100644 index 0d12584..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/filters/whitespace.py +++ /dev/null @@ -1,38 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -import re - -from . import base -from ..constants import rcdataElements, spaceCharacters -spaceCharacters = "".join(spaceCharacters) - -SPACES_REGEX = re.compile("[%s]+" % spaceCharacters) - - -class Filter(base.Filter): - """Collapses whitespace except in pre, textarea, and script elements""" - spacePreserveElements = frozenset(["pre", "textarea"] + list(rcdataElements)) - - def __iter__(self): - preserve = 0 - for token in base.Filter.__iter__(self): - type = token["type"] - if type == "StartTag" \ - and (preserve or token["name"] in self.spacePreserveElements): - preserve += 1 - - elif type == "EndTag" and preserve: - preserve -= 1 - - elif not preserve and type == "SpaceCharacters" and token["data"]: - # Test on token["data"] above to not introduce spaces where there were not - token["data"] = " " - - elif not preserve and type == "Characters": - token["data"] = collapse_spaces(token["data"]) - - yield token - - -def collapse_spaces(text): - return SPACES_REGEX.sub(' ', text) diff --git a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/html5parser.py b/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/html5parser.py deleted file mode 100644 index ae41a13..0000000 --- a/.tox/py37-normal/lib/python3.7/site-packages/pip/_vendor/html5lib/html5parser.py +++ /dev/null @@ -1,2791 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals -from pip._vendor.six import with_metaclass, viewkeys - -import types -from collections import OrderedDict - -from . import _inputstream -from . import _tokenizer - -from . import treebuilders -from .treebuilders.base import Marker - -from . import _utils -from .constants import ( - spaceCharacters, asciiUpper2Lower, - specialElements, headingElements, cdataElements, rcdataElements, - tokenTypes, tagTokenTypes, - namespaces, - htmlIntegrationPointElements, mathmlTextIntegrationPointElements, - adjustForeignAttributes as adjustForeignAttributesMap, - adjustMathMLAttributes, adjustSVGAttributes, - E, - _ReparseException -) - - -def parse(doc, treebuilder="etree", namespaceHTMLElements=True, **kwargs): - """Parse an HTML document as a string or file-like object into a tree - - :arg doc: the document to parse as a string or file-like object - - :arg treebuilder: the treebuilder to use when parsing - - :arg namespaceHTMLElements: whether or not to namespace HTML elements - - :returns: parsed tree - - Example: - - >>> from html5lib.html5parser import parse - >>> parse('

    This is a doc

    ') - - - """ - tb = treebuilders.getTreeBuilder(treebuilder) - p = HTMLParser(tb, namespaceHTMLElements=namespaceHTMLElements) - return p.parse(doc, **kwargs) - - -def parseFragment(doc, container="div", treebuilder="etree", namespaceHTMLElements=True, **kwargs): - """Parse an HTML fragment as a string or file-like object into a tree - - :arg doc: the fragment to parse as a string or file-like object - - :arg container: the container context to parse the fragment in - - :arg treebuilder: the treebuilder to use when parsing - - :arg namespaceHTMLElements: whether or not to namespace HTML elements - - :returns: parsed tree - - Example: - - >>> from html5lib.html5libparser import parseFragment - >>> parseFragment('this is a fragment') - - - """ - tb = treebuilders.getTreeBuilder(treebuilder) - p = HTMLParser(tb, namespaceHTMLElements=namespaceHTMLElements) - return p.parseFragment(doc, container=container, **kwargs) - - -def method_decorator_metaclass(function): - class Decorated(type): - def __new__(meta, classname, bases, classDict): - for attributeName, attribute in classDict.items(): - if isinstance(attribute, types.FunctionType): - attribute = function(attribute) - - classDict[attributeName] = attribute - return type.__new__(meta, classname, bases, classDict) - return Decorated - - -class HTMLParser(object): - """HTML parser - - Generates a tree structure from a stream of (possibly malformed) HTML. - - """ - - def __init__(self, tree=None, strict=False, namespaceHTMLElements=True, debug=False): - """ - :arg tree: a treebuilder class controlling the type of tree that will be - returned. Built in treebuilders can be accessed through - html5lib.treebuilders.getTreeBuilder(treeType) - - :arg strict: raise an exception when a parse error is encountered - - :arg namespaceHTMLElements: whether or not to namespace HTML elements - - :arg debug: whether or not to enable debug mode which logs things - - Example: - - >>> from html5lib.html5parser import HTMLParser - >>> parser = HTMLParser() # generates parser with etree builder - >>> parser = HTMLParser('lxml', strict=True) # generates parser with lxml builder which is strict - - """ - - # Raise an exception on the first error encountered - self.strict = strict - - if tree is None: - tree = treebuilders.getTreeBuilder("etree") - self.tree = tree(namespaceHTMLElements) - self.errors = [] - - self.phases = dict([(name, cls(self, self.tree)) for name, cls in - getPhases(debug).items()]) - - def _parse(self, stream, innerHTML=False, container="div", scripting=False, **kwargs): - - self.innerHTMLMode = innerHTML - self.container = container - self.scripting = scripting - self.tokenizer = _tokenizer.HTMLTokenizer(stream, parser=self, **kwargs) - self.reset() - - try: - self.mainLoop() - except _ReparseException: - self.reset() - self.mainLoop() - - def reset(self): - self.tree.reset() - self.firstStartTag = False - self.errors = [] - self.log = [] # only used with debug mode - # "quirks" / "limited quirks" / "no quirks" - self.compatMode = "no quirks" - - if self.innerHTMLMode: - self.innerHTML = self.container.lower() - - if self.innerHTML in cdataElements: - self.tokenizer.state = self.tokenizer.rcdataState - elif self.innerHTML in rcdataElements: - self.tokenizer.state = self.tokenizer.rawtextState - elif self.innerHTML == 'plaintext': - self.tokenizer.state = self.tokenizer.plaintextState - else: - # state already is data state - # self.tokenizer.state = self.tokenizer.dataState - pass - self.phase = self.phases["beforeHtml"] - self.phase.insertHtmlElement() - self.resetInsertionMode() - else: - self.innerHTML = False # pylint:disable=redefined-variable-type - self.phase = self.phases["initial"] - - self.lastPhase = None - - self.beforeRCDataPhase = None - - self.framesetOK = True - - @property - def documentEncoding(self): - """Name of the character encoding that was used to decode the input stream, or - :obj:`None` if that is not determined yet - - """ - if not hasattr(self, 'tokenizer'): - return None - return self.tokenizer.stream.charEncoding[0].name - - def isHTMLIntegrationPoint(self, element): - if (element.name == "annotation-xml" and - element.namespace == namespaces["mathml"]): - return ("encoding" in element.attributes and - element.attributes["encoding"].translate( - asciiUpper2Lower) in - ("text/html", "application/xhtml+xml")) - else: - return (element.namespace, element.name) in htmlIntegrationPointElements - - def isMathMLTextIntegrationPoint(self, element): - return (element.namespace, element.name) in mathmlTextIntegrationPointElements - - def mainLoop(self): - CharactersToken = tokenTypes["Characters"] - SpaceCharactersToken = tokenTypes["SpaceCharacters"] - StartTagToken = tokenTypes["StartTag"] - EndTagToken = tokenTypes["EndTag"] - CommentToken = tokenTypes["Comment"] - DoctypeToken = tokenTypes["Doctype"] - ParseErrorToken = tokenTypes["ParseError"] - - for token in self.normalizedTokens(): - prev_token = None - new_token = token - while new_token is not None: - prev_token = new_token - currentNode = self.tree.openElements[-1] if self.tree.openElements else None - currentNodeNamespace = currentNode.namespace if currentNode else None - currentNodeName = currentNode.name if currentNode else None - - type = new_token["type"] - - if type == ParseErrorToken: - self.parseError(new_token["data"], new_token.get("datavars", {})) - new_token = None - else: - if (len(self.tree.openElements) == 0 or - currentNodeNamespace == self.tree.defaultNamespace or - (self.isMathMLTextIntegrationPoint(currentNode) and - ((type == StartTagToken and - token["name"] not in frozenset(["mglyph", "malignmark"])) or - type in (CharactersToken, SpaceCharactersToken))) or - (currentNodeNamespace == namespaces["mathml"] and - currentNodeName == "annotation-xml" and - type == StartTagToken and - token["name"] == "svg") or - (self.isHTMLIntegrationPoint(currentNode) and - type in (StartTagToken, CharactersToken, SpaceCharactersToken))): - phase = self.phase - else: - phase = self.phases["inForeignContent"] - - if type == CharactersToken: - new_token = phase.processCharacters(new_token) - elif type == SpaceCharactersToken: - new_token = phase.processSpaceCharacters(new_token) - elif type == StartTagToken: - new_token = phase.processStartTag(new_token) - elif type == EndTagToken: - new_token = phase.processEndTag(new_token) - elif type == CommentToken: - new_token = phase.processComment(new_token) - elif type == DoctypeToken: - new_token = phase.processDoctype(new_token) - - if (type == StartTagToken and prev_token["selfClosing"] and - not prev_token["selfClosingAcknowledged"]): - self.parseError("non-void-element-with-trailing-solidus", - {"name": prev_token["name"]}) - - # When the loop finishes it's EOF - reprocess = True - phases = [] - while reprocess: - phases.append(self.phase) - reprocess = self.phase.processEOF() - if reprocess: - assert self.phase not in phases - - def normalizedTokens(self): - for token in self.tokenizer: - yield self.normalizeToken(token) - - def parse(self, stream, *args, **kwargs): - """Parse a HTML document into a well-formed tree - - :arg stream: a file-like object or string containing the HTML to be parsed - - The optional encoding parameter must be a string that indicates - the encoding. If specified, that encoding will be used, - regardless of any BOM or later declaration (such as in a meta - element). - - :arg scripting: treat noscript elements as if JavaScript was turned on - - :returns: parsed tree - - Example: - - >>> from html5lib.html5parser import HTMLParser - >>> parser = HTMLParser() - >>> parser.parse('

    This is a doc

    ') - - - """ - self._parse(stream, False, None, *args, **kwargs) - return self.tree.getDocument() - - def parseFragment(self, stream, *args, **kwargs): - """Parse a HTML fragment into a well-formed tree fragment - - :arg container: name of the element we're setting the innerHTML - property if set to None, default to 'div' - - :arg stream: a file-like object or string containing the HTML to be parsed - - The optional encoding parameter must be a string that indicates - the encoding. If specified, that encoding will be used, - regardless of any BOM or later declaration (such as in a meta - element) - - :arg scripting: treat noscript elements as if JavaScript was turned on - - :returns: parsed tree - - Example: - - >>> from html5lib.html5libparser import HTMLParser - >>> parser = HTMLParser() - >>> parser.parseFragment('this is a fragment') - - - """ - self._parse(stream, True, *args, **kwargs) - return self.tree.getFragment() - - def parseError(self, errorcode="XXX-undefined-error", datavars=None): - # XXX The idea is to make errorcode mandatory. - if datavars is None: - datavars = {} - self.errors.append((self.tokenizer.stream.position(), errorcode, datavars)) - if self.strict: - raise ParseError(E[errorcode] % datavars) - - def normalizeToken(self, token): - # HTML5 specific normalizations to the token stream - if token["type"] == tokenTypes["StartTag"]: - raw = token["data"] - token["data"] = OrderedDict(raw) - if len(raw) > len(token["data"]): - # we had some duplicated attribute, fix so first wins - token["data"].update(raw[::-1]) - - return token - - def adjustMathMLAttributes(self, token): - adjust_attributes(token, adjustMathMLAttributes) - - def adjustSVGAttributes(self, token): - adjust_attributes(token, adjustSVGAttributes) - - def adjustForeignAttributes(self, token): - adjust_attributes(token, adjustForeignAttributesMap) - - def reparseTokenNormal(self, token): - # pylint:disable=unused-argument - self.parser.phase() - - def resetInsertionMode(self): - # The name of this method is mostly historical. (It's also used in the - # specification.) - last = False - newModes = { - "select": "inSelect", - "td": "inCell", - "th": "inCell", - "tr": "inRow", - "tbody": "inTableBody", - "thead": "inTableBody", - "tfoot": "inTableBody", - "caption": "inCaption", - "colgroup": "inColumnGroup", - "table": "inTable", - "head": "inBody", - "body": "inBody", - "frameset": "inFrameset", - "html": "beforeHead" - } - for node in self.tree.openElements[::-1]: - nodeName = node.name - new_phase = None - if node == self.tree.openElements[0]: - assert self.innerHTML - last = True - nodeName = self.innerHTML - # Check for conditions that should only happen in the innerHTML - # case - if nodeName in ("select", "colgroup", "head", "html"): - assert self.innerHTML - - if not last and node.namespace != self.tree.defaultNamespace: - continue - - if nodeName in newModes: - new_phase = self.phases[newModes[nodeName]] - break - elif last: - new_phase = self.phases["inBody"] - break - - self.phase = new_phase - - def parseRCDataRawtext(self, token, contentType): - # Generic RCDATA/RAWTEXT Parsing algorithm - assert contentType in ("RAWTEXT", "RCDATA") - - self.tree.insertElement(token) - - if contentType == "RAWTEXT": - self.tokenizer.state = self.tokenizer.rawtextState - else: - self.tokenizer.state = self.tokenizer.rcdataState - - self.originalPhase = self.phase - - self.phase = self.phases["text"] - - -@_utils.memoize -def getPhases(debug): - def log(function): - """Logger that records which phase processes each token""" - type_names = dict((value, key) for key, value in - tokenTypes.items()) - - def wrapped(self, *args, **kwargs): - if function.__name__.startswith("process") and len(args) > 0: - token = args[0] - try: - info = {"type": type_names[token['type']]} - except: - raise - if token['type'] in tagTokenTypes: - info["name"] = token['name'] - - self.parser.log.append((self.parser.tokenizer.state.__name__, - self.parser.phase.__class__.__name__, - self.__class__.__name__, - function.__name__, - info)) - return function(self, *args, **kwargs) - else: - return function(self, *args, **kwargs) - return wrapped - - def getMetaclass(use_metaclass, metaclass_func): - if use_metaclass: - return method_decorator_metaclass(metaclass_func) - else: - return type - - # pylint:disable=unused-argument - class Phase(with_metaclass(getMetaclass(debug, log))): - """Base class for helper object that implements each phase of processing - """ - - def __init__(self, parser, tree): - self.parser = parser - self.tree = tree - - def processEOF(self): - raise NotImplementedError - - def processComment(self, token): - # For most phases the following is correct. Where it's not it will be - # overridden. - self.tree.insertComment(token, self.tree.openElements[-1]) - - def processDoctype(self, token): - self.parser.parseError("unexpected-doctype") - - def processCharacters(self, token): - self.tree.insertText(token["data"]) - - def processSpaceCharacters(self, token): - self.tree.insertText(token["data"]) - - def processStartTag(self, token): - return self.startTagHandler[token["name"]](token) - - def startTagHtml(self, token): - if not self.parser.firstStartTag and token["name"] == "html": - self.parser.parseError("non-html-root") - # XXX Need a check here to see if the first start tag token emitted is - # this token... If it's not, invoke self.parser.parseError(). - for attr, value in token["data"].items(): - if attr not in self.tree.openElements[0].attributes: - self.tree.openElements[0].attributes[attr] = value - self.parser.firstStartTag = False - - def processEndTag(self, token): - return self.endTagHandler[token["name"]](token) - - class InitialPhase(Phase): - def processSpaceCharacters(self, token): - pass - - def processComment(self, token): - self.tree.insertComment(token, self.tree.document) - - def processDoctype(self, token): - name = token["name"] - publicId = token["publicId"] - systemId = token["systemId"] - correct = token["correct"] - - if (name != "html" or publicId is not None or - systemId is not None and systemId != "about:legacy-compat"): - self.parser.parseError("unknown-doctype") - - if publicId is None: - publicId = "" - - self.tree.insertDoctype(token) - - if publicId != "": - publicId = publicId.translate(asciiUpper2Lower) - - if (not correct or token["name"] != "html" or - publicId.startswith( - ("+//silmaril//dtd html pro v0r11 19970101//", - "-//advasoft ltd//dtd html 3.0 aswedit + extensions//", - "-//as//dtd html 3.0 aswedit + extensions//", - "-//ietf//dtd html 2.0 level 1//", - "-//ietf//dtd html 2.0 level 2//", - "-//ietf//dtd html 2.0 strict level 1//", - "-//ietf//dtd html 2.0 strict level 2//", - "-//ietf//dtd html 2.0 strict//", - "-//ietf//dtd html 2.0//", - "-//ietf//dtd html 2.1e//", - "-//ietf//dtd html 3.0//", - "-//ietf//dtd html 3.2 final//", - "-//ietf//dtd html 3.2//", - "-//ietf//dtd html 3//", - "-//ietf//dtd html level 0//", - "-//ietf//dtd html level 1//", - "-//ietf//dtd html level 2//", - "-//ietf//dtd html level 3//", - "-//ietf//dtd html strict level 0//", - "-//ietf//dtd html strict level 1//", - "-//ietf//dtd html strict level 2//", - "-//ietf//dtd html strict level 3//", - "-//ietf//dtd html strict//", - "-//ietf//dtd html//", - "-//metrius//dtd metrius presentational//", - "-//microsoft//dtd internet explorer 2.0 html strict//", - "-//microsoft//dtd internet explorer 2.0 html//", - "-//microsoft//dtd internet explorer 2.0 tables//", - "-//microsoft//dtd internet explorer 3.0 html strict//", - "-//microsoft//dtd internet explorer 3.0 html//", - "-//microsoft//dtd internet explorer 3.0 tables//", - "-//netscape comm. corp.//dtd html//", - "-//netscape comm. corp.//dtd strict html//", - "-//o'reilly and associates//dtd html 2.0//", - "-//o'reilly and associates//dtd html extended 1.0//", - "-//o'reilly and associates//dtd html extended relaxed 1.0//", - "-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//", - "-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//", - "-//spyglass//dtd html 2.0 extended//", - "-//sq//dtd html 2.0 hotmetal + extensions//", - "-//sun microsystems corp.//dtd hotjava html//", - "-//sun microsystems corp.//dtd hotjava strict html//", - "-//w3c//dtd html 3 1995-03-24//", - "-//w3c//dtd html 3.2 draft//", - "-//w3c//dtd html 3.2 final//", - "-//w3c//dtd html 3.2//", - "-//w3c//dtd html 3.2s draft//", - "-//w3c//dtd html 4.0 frameset//", - "-//w3c//dtd html 4.0 transitional//", - "-//w3c//dtd html experimental 19960712//", - "-//w3c//dtd html experimental 970421//", - "-//w3c//dtd w3 html//", - "-//w3o//dtd w3 html 3.0//", - "-//webtechs//dtd mozilla html 2.0//", - "-//webtechs//dtd mozilla html//")) or - publicId in ("-//w3o//dtd w3 html strict 3.0//en//", - "-/w3c/dtd html 4.0 transitional/en", - "html") or - publicId.startswith( - ("-//w3c//dtd html 4.01 frameset//", - "-//w3c//dtd html 4.01 transitional//")) and - systemId is None or - systemId and systemId.lower() == "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"): - self.parser.compatMode = "quirks" - elif (publicId.startswith( - ("-//w3c//dtd xhtml 1.0 frameset//", - "-//w3c//dtd xhtml 1.0 transitional//")) or - publicId.startswith( - ("-//w3c//dtd html 4.01 frameset//", - "-//w3c//dtd html 4.01 transitional//")) and - systemId is not None): - self.parser.compatMode = "limited quirks" - - self.parser.phase = self.parser.phases["beforeHtml"] - - def anythingElse(self): - self.parser.compatMode = "quirks" - self.parser.phase = self.parser.phases["beforeHtml"] - - def processCharacters(self, token): - self.parser.parseError("expected-doctype-but-got-chars") - self.anythingElse() - return token - - def processStartTag(self, token): - self.parser.parseError("expected-doctype-but-got-start-tag", - {"name": token["name"]}) - self.anythingElse() - return token - - def processEndTag(self, token): - self.parser.parseError("expected-doctype-but-got-end-tag", - {"name": token["name"]}) - self.anythingElse() - return token - - def processEOF(self): - self.parser.parseError("expected-doctype-but-got-eof") - self.anythingElse() - return True - - class BeforeHtmlPhase(Phase): - # helper methods - def insertHtmlElement(self): - self.tree.insertRoot(impliedTagToken("html", "StartTag")) - self.parser.phase = self.parser.phases["beforeHead"] - - # other - def processEOF(self): - self.insertHtmlElement() - return True - - def processComment(self, token): - self.tree.insertComment(token, self.tree.document) - - def processSpaceCharacters(self, token): - pass - - def processCharacters(self, token): - self.insertHtmlElement() - return token - - def processStartTag(self, token): - if token["name"] == "html": - self.parser.firstStartTag = True - self.insertHtmlElement() - return token - - def processEndTag(self, token): - if token["name"] not in ("head", "body", "html", "br"): - self.parser.parseError("unexpected-end-tag-before-html", - {"name": token["name"]}) - else: - self.insertHtmlElement() - return token - - class BeforeHeadPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("head", self.startTagHead) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - (("head", "body", "html", "br"), self.endTagImplyHead) - ]) - self.endTagHandler.default = self.endTagOther - - def processEOF(self): - self.startTagHead(impliedTagToken("head", "StartTag")) - return True - - def processSpaceCharacters(self, token): - pass - - def processCharacters(self, token): - self.startTagHead(impliedTagToken("head", "StartTag")) - return token - - def startTagHtml(self, token): - return self.parser.phases["inBody"].processStartTag(token) - - def startTagHead(self, token): - self.tree.insertElement(token) - self.tree.headPointer = self.tree.openElements[-1] - self.parser.phase = self.parser.phases["inHead"] - - def startTagOther(self, token): - self.startTagHead(impliedTagToken("head", "StartTag")) - return token - - def endTagImplyHead(self, token): - self.startTagHead(impliedTagToken("head", "StartTag")) - return token - - def endTagOther(self, token): - self.parser.parseError("end-tag-after-implied-root", - {"name": token["name"]}) - - class InHeadPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("title", self.startTagTitle), - (("noframes", "style"), self.startTagNoFramesStyle), - ("noscript", self.startTagNoscript), - ("script", self.startTagScript), - (("base", "basefont", "bgsound", "command", "link"), - self.startTagBaseLinkCommand), - ("meta", self.startTagMeta), - ("head", self.startTagHead) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("head", self.endTagHead), - (("br", "html", "body"), self.endTagHtmlBodyBr) - ]) - self.endTagHandler.default = self.endTagOther - - # the real thing - def processEOF(self): - self.anythingElse() - return True - - def processCharacters(self, token): - self.anythingElse() - return token - - def startTagHtml(self, token): - return self.parser.phases["inBody"].processStartTag(token) - - def startTagHead(self, token): - self.parser.parseError("two-heads-are-not-better-than-one") - - def startTagBaseLinkCommand(self, token): - self.tree.insertElement(token) - self.tree.openElements.pop() - token["selfClosingAcknowledged"] = True - - def startTagMeta(self, token): - self.tree.insertElement(token) - self.tree.openElements.pop() - token["selfClosingAcknowledged"] = True - - attributes = token["data"] - if self.parser.tokenizer.stream.charEncoding[1] == "tentative": - if "charset" in attributes: - self.parser.tokenizer.stream.changeEncoding(attributes["charset"]) - elif ("content" in attributes and - "http-equiv" in attributes and - attributes["http-equiv"].lower() == "content-type"): - # Encoding it as UTF-8 here is a hack, as really we should pass - # the abstract Unicode string, and just use the - # ContentAttrParser on that, but using UTF-8 allows all chars - # to be encoded and as a ASCII-superset works. - data = _inputstream.EncodingBytes(attributes["content"].encode("utf-8")) - parser = _inputstream.ContentAttrParser(data) - codec = parser.parse() - self.parser.tokenizer.stream.changeEncoding(codec) - - def startTagTitle(self, token): - self.parser.parseRCDataRawtext(token, "RCDATA") - - def startTagNoFramesStyle(self, token): - # Need to decide whether to implement the scripting-disabled case - self.parser.parseRCDataRawtext(token, "RAWTEXT") - - def startTagNoscript(self, token): - if self.parser.scripting: - self.parser.parseRCDataRawtext(token, "RAWTEXT") - else: - self.tree.insertElement(token) - self.parser.phase = self.parser.phases["inHeadNoscript"] - - def startTagScript(self, token): - self.tree.insertElement(token) - self.parser.tokenizer.state = self.parser.tokenizer.scriptDataState - self.parser.originalPhase = self.parser.phase - self.parser.phase = self.parser.phases["text"] - - def startTagOther(self, token): - self.anythingElse() - return token - - def endTagHead(self, token): - node = self.parser.tree.openElements.pop() - assert node.name == "head", "Expected head got %s" % node.name - self.parser.phase = self.parser.phases["afterHead"] - - def endTagHtmlBodyBr(self, token): - self.anythingElse() - return token - - def endTagOther(self, token): - self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) - - def anythingElse(self): - self.endTagHead(impliedTagToken("head")) - - class InHeadNoscriptPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - (("basefont", "bgsound", "link", "meta", "noframes", "style"), self.startTagBaseLinkCommand), - (("head", "noscript"), self.startTagHeadNoscript), - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("noscript", self.endTagNoscript), - ("br", self.endTagBr), - ]) - self.endTagHandler.default = self.endTagOther - - def processEOF(self): - self.parser.parseError("eof-in-head-noscript") - self.anythingElse() - return True - - def processComment(self, token): - return self.parser.phases["inHead"].processComment(token) - - def processCharacters(self, token): - self.parser.parseError("char-in-head-noscript") - self.anythingElse() - return token - - def processSpaceCharacters(self, token): - return self.parser.phases["inHead"].processSpaceCharacters(token) - - def startTagHtml(self, token): - return self.parser.phases["inBody"].processStartTag(token) - - def startTagBaseLinkCommand(self, token): - return self.parser.phases["inHead"].processStartTag(token) - - def startTagHeadNoscript(self, token): - self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) - - def startTagOther(self, token): - self.parser.parseError("unexpected-inhead-noscript-tag", {"name": token["name"]}) - self.anythingElse() - return token - - def endTagNoscript(self, token): - node = self.parser.tree.openElements.pop() - assert node.name == "noscript", "Expected noscript got %s" % node.name - self.parser.phase = self.parser.phases["inHead"] - - def endTagBr(self, token): - self.parser.parseError("unexpected-inhead-noscript-tag", {"name": token["name"]}) - self.anythingElse() - return token - - def endTagOther(self, token): - self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) - - def anythingElse(self): - # Caller must raise parse error first! - self.endTagNoscript(impliedTagToken("noscript")) - - class AfterHeadPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("body", self.startTagBody), - ("frameset", self.startTagFrameset), - (("base", "basefont", "bgsound", "link", "meta", "noframes", "script", - "style", "title"), - self.startTagFromHead), - ("head", self.startTagHead) - ]) - self.startTagHandler.default = self.startTagOther - self.endTagHandler = _utils.MethodDispatcher([(("body", "html", "br"), - self.endTagHtmlBodyBr)]) - self.endTagHandler.default = self.endTagOther - - def processEOF(self): - self.anythingElse() - return True - - def processCharacters(self, token): - self.anythingElse() - return token - - def startTagHtml(self, token): - return self.parser.phases["inBody"].processStartTag(token) - - def startTagBody(self, token): - self.parser.framesetOK = False - self.tree.insertElement(token) - self.parser.phase = self.parser.phases["inBody"] - - def startTagFrameset(self, token): - self.tree.insertElement(token) - self.parser.phase = self.parser.phases["inFrameset"] - - def startTagFromHead(self, token): - self.parser.parseError("unexpected-start-tag-out-of-my-head", - {"name": token["name"]}) - self.tree.openElements.append(self.tree.headPointer) - self.parser.phases["inHead"].processStartTag(token) - for node in self.tree.openElements[::-1]: - if node.name == "head": - self.tree.openElements.remove(node) - break - - def startTagHead(self, token): - self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) - - def startTagOther(self, token): - self.anythingElse() - return token - - def endTagHtmlBodyBr(self, token): - self.anythingElse() - return token - - def endTagOther(self, token): - self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) - - def anythingElse(self): - self.tree.insertElement(impliedTagToken("body", "StartTag")) - self.parser.phase = self.parser.phases["inBody"] - self.parser.framesetOK = True - - class InBodyPhase(Phase): - # http://www.whatwg.org/specs/web-apps/current-work/#parsing-main-inbody - # the really-really-really-very crazy mode - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - # Set this to the default handler - self.processSpaceCharacters = self.processSpaceCharactersNonPre - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - (("base", "basefont", "bgsound", "command", "link", "meta", - "script", "style", "title"), - self.startTagProcessInHead), - ("body", self.startTagBody), - ("frameset", self.startTagFrameset), - (("address", "article", "aside", "blockquote", "center", "details", - "dir", "div", "dl", "fieldset", "figcaption", "figure", - "footer", "header", "hgroup", "main", "menu", "nav", "ol", "p", - "section", "summary", "ul"), - self.startTagCloseP), - (headingElements, self.startTagHeading), - (("pre", "listing"), self.startTagPreListing), - ("form", self.startTagForm), - (("li", "dd", "dt"), self.startTagListItem), - ("plaintext", self.startTagPlaintext), - ("a", self.startTagA), - (("b", "big", "code", "em", "font", "i", "s", "small", "strike", - "strong", "tt", "u"), self.startTagFormatting), - ("nobr", self.startTagNobr), - ("button", self.startTagButton), - (("applet", "marquee", "object"), self.startTagAppletMarqueeObject), - ("xmp", self.startTagXmp), - ("table", self.startTagTable), - (("area", "br", "embed", "img", "keygen", "wbr"), - self.startTagVoidFormatting), - (("param", "source", "track"), self.startTagParamSource), - ("input", self.startTagInput), - ("hr", self.startTagHr), - ("image", self.startTagImage), - ("isindex", self.startTagIsIndex), - ("textarea", self.startTagTextarea), - ("iframe", self.startTagIFrame), - ("noscript", self.startTagNoscript), - (("noembed", "noframes"), self.startTagRawtext), - ("select", self.startTagSelect), - (("rp", "rt"), self.startTagRpRt), - (("option", "optgroup"), self.startTagOpt), - (("math"), self.startTagMath), - (("svg"), self.startTagSvg), - (("caption", "col", "colgroup", "frame", "head", - "tbody", "td", "tfoot", "th", "thead", - "tr"), self.startTagMisplaced) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("body", self.endTagBody), - ("html", self.endTagHtml), - (("address", "article", "aside", "blockquote", "button", "center", - "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", - "footer", "header", "hgroup", "listing", "main", "menu", "nav", "ol", "pre", - "section", "summary", "ul"), self.endTagBlock), - ("form", self.endTagForm), - ("p", self.endTagP), - (("dd", "dt", "li"), self.endTagListItem), - (headingElements, self.endTagHeading), - (("a", "b", "big", "code", "em", "font", "i", "nobr", "s", "small", - "strike", "strong", "tt", "u"), self.endTagFormatting), - (("applet", "marquee", "object"), self.endTagAppletMarqueeObject), - ("br", self.endTagBr), - ]) - self.endTagHandler.default = self.endTagOther - - def isMatchingFormattingElement(self, node1, node2): - return (node1.name == node2.name and - node1.namespace == node2.namespace and - node1.attributes == node2.attributes) - - # helper - def addFormattingElement(self, token): - self.tree.insertElement(token) - element = self.tree.openElements[-1] - - matchingElements = [] - for node in self.tree.activeFormattingElements[::-1]: - if node is Marker: - break - elif self.isMatchingFormattingElement(node, element): - matchingElements.append(node) - - assert len(matchingElements) <= 3 - if len(matchingElements) == 3: - self.tree.activeFormattingElements.remove(matchingElements[-1]) - self.tree.activeFormattingElements.append(element) - - # the real deal - def processEOF(self): - allowed_elements = frozenset(("dd", "dt", "li", "p", "tbody", "td", - "tfoot", "th", "thead", "tr", "body", - "html")) - for node in self.tree.openElements[::-1]: - if node.name not in allowed_elements: - self.parser.parseError("expected-closing-tag-but-got-eof") - break - # Stop parsing - - def processSpaceCharactersDropNewline(self, token): - # Sometimes (start of
    , , and 

    ryLBu$Rn>Rn$z&LZ6Kdj`ueEv9vE^spGNK@ff)d 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Ν(AMH3~RS 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

  • @7PUvIT=h9u+jMlHr}y1 zw+AF2T9MJIw^HwqM%t-Tc-wvv`7I;zbY~z>OM~73@6JG;rciJ@%JC#IH}EL@DOe@e+nNyZ6vH!=59c-6#N3k0+^NX&?B03X|~w*5ly-@ zx8!`V(WJZPD;;i(yY)~!(WJ|A6;CwjvOLB2hJIOG@kgS3x@-GHlkTqa z(X*tyFmyZ8A^9#Z()qsVI6U?!&Y?%bC}2h&*_+ld(WJ{ueH-B9I}_zlUZ&z8nsj-0 z;cZ)TPfY0^y_7F8rF-bATaJOWhpIXsF{OL-Q993puShAr7GW#;EB*(RV#NT(Co$Yr z3{*TZr7H$0o|w`VgB4Fq>56K_FMxhBNAWAk#}vOCb(?e)KaB3W1c@n~)FrqXJ)x&A zHDXHl?4a~dL)v=PsT!Vu((g4t`ME6EIixpj(NsM9O+73guf!0m9vz|eqIlv+_f4v>#F4I2jV;U%^7qTixgK>Lj&}vWwCGu+ ztvC<7-R~s(I|vqWr2G9vtzInRNcTJ0<;kkw2uIN3Q$_g(&SY&nfM1!xi@=2BhcgU( zO5iY*IMO|Lr8sU9NqwumF0st}>dYDU$ik|GSSh$EfqDMGci zKYe?fo$8;% zTsK?9kxmT|wMEtxmYzCFU11SNIyG3-)>r^_GEzgtz&eXK(y5{1bB0A6>C`YW&|>*Y zAPg5_lU0ItkQyanHe1AzPK}W;TP@;9r|Lv)o6M%EdJ(o;#F0*o6`{={j&!O)geR?0 zSgEBNMc83=WkM&2>7A%fW-?41>C{ADcVx9^QwlJ2IEq)bI#(18mGOD%P(Y<&zB-Xn zX*fiLgi6B#5lU1V4i%w7rD356RjL#giBPQy>o5^&E#gS07K_kegg2p2q?Y)8L2*x0 zIMS&jVv|q;a$J;J<&ZZl;z*}fJ3~v^(1B~4Ix6xZLdL8u%=pnFBrM`cr`9C?j&4w5 zjc2nsR^q9!4ug@@aUxV%#F0)NFG97|bt{CmBGg*Mkxrc;LW6~Guoebn0BOw$1`?q&A3f ziuD17jd@?82+k-Zj&$n0&a9qAW+8E;Qx}NdcC+v{rr~0-*Jc(HM>@4hq$kZn;z+0d zTEr1xhgrzIPO4Roadw)8pD^5|(OMMVF0-&416FFYgxeV^B#w0I3Xyh&3W+0~x>BUw zp~BUS;p#B=PUMt)Mt(f%<2Ab3xaSlKUi#XD$HzmU*7ICCgZ)GP@re)U2%)~n)bhm!s zaP+RIRanH4PJJXoZ;Lq6sgFgdvWO#{`Xu*Y#8Yh%M>_SX2(=b*q*I?sW*RKwNT)s* zp~>n@wXZ~&Vevs~YL5ub7ICCgUyHEFB93(GU+&8=y}}}nbn54Vk07*I#F0+@Dr%do zR~gT5lAO)KHVTG1jNKX}j&uq*(gRWb+ky`>o<79@^z3OLf- z>OL7Hj&uq*($_8ir*3g%J*jx=rV4iZN?1srMG+!G{@bP71q zlzvPQM>+)@X-YWqAdYkjIMS?L+g!>11{`ThF&+!^Iaom(64QhX%fjh5BTO9W)O9|# zgK!0`q;Abw1aI43hF{tKo()EA5;K#H+Q$~(ih?Og;V2Ip7ICCg zX)h2}^rpva7 zBb|D#oI=bZj&$mUjts(`9*u{~INrbLBX8SG9L@#tn@b$&6mX=O@Lb|Zr+_0J=t_Uy z#gw*J3?{@MIDU>mz9@P||1N40CXV!gkZi+z#E~A*QMtc|2nTdhe7=cC=4x%>;~DNC zTe%ZQdQeF5&!Z6!((4QaH3sVyTLiT+c!<(D6vaGvsN(w|4TIB)Cyw;s{S_aAoxxKT z{{-z!Q#^5`2Ol7Om^ji2JO2yG=C{ly3yynQRS9fAMwmF#iBL`+oNc=hzfx7Hj26SF zGZi0kq!Z&+Lc0h1V5GaH2`+6Gu9+pW=xloj6SK zd?U14udsMZRIL}O#F4Jni_~+_1ctcku_|$-hw6nOainWLRjVrENT)AWi$dZ^r#C5{ zIMV6AD!%tL@U4m`j&%A`#S=$5eVO84rT*oLzq%Rx6^bX0boxrg6Gu9|Me!r4bCu$W zBb~ll@x+l%U!!>9NT;t=JaMGc*D0Pj(&-x%PaNs=jfy9ZbowU66Gu9Iv*L*(oxVl! zkM0kCo8pgb0)MOGx6sb*iYJbA`VOs6ojVmz9O?93ia&(u->&$ZY4dKy6Gu9IkK&0V zoxWG`#F0+lr+DH>r|(xhair4^D4sad=?4`*mT72HJaMGc4=H{lbskncair6aD4sad z>BkjM9O?8EiYJbA`bovV#&kZVc;ZN>pH@6^q|?tRo;cF!XBAHz>GX4oKkFdy&nuod z(&-lze<5w|P&{#@(=RHXIMV5VD4sad>6aAGFJ7i!Ry=W})2}K1Mf8RA>xy5^vfZV4 z;z+08Rs6r0p7#__9O?A?iYJbA`UAxiM>_qX;ti(lBgIc-8a`G$air6`6;B-L^e2iZ zj&%A{#S=$*m>ztt!RRwAqWT?iq=)Iv7;&VBzoYsQaimAg6P>A?LVS3tYSdnuH=+l} ziaz*_^Xzjrn2;Qp%8#7T`A(ziW%-LmwGO|&L3wc5+>s-!?<~tOMlO=QPVqP3W24sC z+n^*za-)t>M{<^l32W4`PERapY{N$!=~2gbxlb&fL5o;77^Bun`iccddej-V4^xk_ zvR+#un8TkbpawumELw?u@PF>(%+o6Wjq_T5Q_!c1Owgr0C8LiXxbiFMmL1$uQyiV(JlBVBit z2r-K|(sgT!7{0_Jj&$8IF&+kPvxp;IcU;kV2-;>5N4oC#lBb}yr;zLAx)a1ewOL3U z>AH0iYpq#G9O=5hh}2*fZYYH2dP!}QSvZsy&k<>cX%x^h4N9R~MgfcKwY_rBSbaQ; zaN-tU>H4tjBy5W~ z()H1JrOkB*7jgBul8d;t1QzNGf()N1B#v}_LVOZdA#tSZ3q|UPR5FDpLQPWL1y9Cd zbH~^``+G)RgBCG1Uq?+G>9L8#?`VHG+(vgATdbq5L~LU_iCV%Uj`Y~lsN7Go=AjFZ z?V7`DPfgY$`jm^$8tVp>&e$H}v(*@>aHQ)y+xz!Iv_7W3izE>j!_YPA)t=mM5l6bd zLZY=Tc8dC*B7`mCNZ0o&_95A^1BfGC-@6O*1sv&O!I5qV*%#6{aiklXTJx*;Nh zZ4pPhAu2-5B93%Jj_j)vMzP>XH|E+O(839bw=qvAZvy&iqpM4WIMR&;g+GX z*ikkU3F{2xy|GiYjXOZ2XH{cGDBT;Th$G$DQ?|$IfV#1l2)68C8~ch7ldWlEN(4Op zMu9Y{y?=>p-5UpqPlXXCj&$Q-A5-aj0@c-+E@m{vf+O9yfA}KC$vSDA+L4=4)twus zb>fc4wumF$cz_5os~?;i=Q!NWCXA5^N4jxRtXCyMAq7U`WL*Npk#1}f!EX^qx^YUJ zqp58XN4l{&I2EzREaFHv&JQzuRUvVt8xN5%RptRW>2Ex=Ge-*aIO0e*E-Yh1*lZP! zhM~qqrEHCDR$+gZ;$da1$F?jyT!Af;Zo9TU62hu5aikj$_c61+3(zbYkLWZC9@9H* zUd#9j zlqVLi_gB*5WIJh$1f^;DMrHX+$e)5b)5I)o*xWN2?-OnFhmVD0*1h=Y6G|FopsZUU zTnlCkC`z@CPr{|+OZe%%R0q#mhBV>3(0n%r_fZUU=W5yih zZoMuRUti2POyYWf0W+^kWxcIl8Ou+_x!Rv%oJF7Y!pncF z{lh85cv;sx$}j!7ORN(bl6j&(i&1om$vdc8g6^2hnZf~nvyD#;@wXUZ`DeCXKiI3W z0e;!xeTV{m3#4jnfPVlZn}EB~V?cS5f&u7rrT+sJ6JN+o^zAu+^-qV zLp7B2rus79%w*lRBIgojj5o>JNp&LoT*iFd0Il`ZXFCZFOpTOsJgxLwodJ}>#nlyf=@B)P45YnJ1!}z(Lo)2j*sIPGZ z&ST)((T~-%-@(rra6S!$zs`3-_0-uq0|xSG?&l93ga`vI+V$JTSUkf4*)yxqMft;z z9cFi*tAbHsUr(d+X_Y{~^bD_{;Tis%XZs^3SHtI4M1KP)YZC+`Cu#f)Axbs>ZE%?g zmqt)N$DbEHD;^V-QbnW>_`?n@ax6L(>L-I_EV>@dR#3&hLH3SI*>7sIdR*dr(74{p zWE(nTrpKVl z|7--xbrUMV5a0|_G_eW;$4Tv!R(VR^@NWceZ0Ehn^N#7+fi{kUjUU@7-R~)RlY$pfFWr>G=(=xu zO5XH?7oXaB|KfRj^Nr!mYu6D1TRZ_7E5{^^@yuSE$@U}Km)RaKzR0$hBQG@#y6~yA z*i+gY-D2%sh{Og?Yp2`l>3S*G2Av{3B$RVxI;cBmQ@qk%rCm?=I%R8eh_`4+`nz(O z(j}HO3P5Vnkn~qQ2i*(da1v+;*E*gNYZnLRUjD2j({Md8t1o^}c9O<&P*zt63v!dj zEKrn+{zkaG3h4<@=>ZT{V5zsX8q>;j2&d;E22kHaw2yxQn18}$2MA*;2dGUt`KHHY zI@7WK$gMDyy+v#M>EIF=rG2YVC{IHj6(wIL2pp(AxM=%Qd04C1x@D-GVugMO{8Kxf z07{J|4fo!6wR87oGOkm#Khi#P)MHT3^P5cvcHcDILZ?2AvoMm#}Bz^&G+}D#b4m?11M+D z_<#`^>Md`&sO8N-H)-?(MN9C`jas5;pXG2}0y;QxuuAnWl4)5hMK08C$S?{De>qJE zKRsi;L|MNM;jgCkbs6j0=Y6=o1B%?+&Jx=y7EI8+B4epkS?YwGw z@EBK|G#WtJy|l(Klr*dE1Zm?oRzS%Qp*K@|hqZx%Gz@$SkL3uw6g1$6Khg642*(TH zdmc#l)P>rT{g>Uiq4j`64}r!N&XlpN(YYNWAl=m*w41K>TY)Fn=F-+>0{1 z3lu5U8mJaOrc@kfl?LJ8hH5{D%3%mUK=E5D-}WEM$s+h4uANmgFpS3;unRo;cSO?# zMNa&WfPpsMUK@`GI12(G0U_TxdLzvta4qJXSG3YJC`E_2Z#-)efGhgI=k4tDS1KXj zd2g3Wemy&WU1M`$XNtBXt5J!iPWvu}?@`)UhT)KJg`VTFLeNS~@87(59=utVtQXIv z?Ue4;mQ-VBZXR#v`?hDI^^rd&^>wYpESu=U>@UaTmj%Ks_cH>&wzE^NR6@RY%FF(c z<(0Z|FumhFrK|QS-xt~`t?-ooqwsX)9SchrDkip1x}BVk_{DUK zSGC4bCvu&#&1ag!&}fTfzT4*O&RMKT=DBUYAtK29cB}FkEz{?%zQN*i0WI9>tEUj# z#%b_*pS)z#XVEi=@1H(>EaA1Mn85(A`sD1T2M58_AEa9FHtE_~h8G`9RfUKahrlWVZe~ z3d=G<=-S}x!DZQT=)FrogLs!3;fBz$Unh+Gpge&$In@!7b?faB}wBD z(Aew$jwD~_^Sz?8k+W`Gz-T}Y)OuozDz`hJdOIlcuvSwYiW5H6&!f7WyIk+fVv65{ z>P}E}7krf=?cpa~TDy`3Rhgg6_t%lT+qft$3j8N$;r&-nDtcfiG^Qq)|dQPoR1 zi~UQj%3jWo%25Z)38$xSw>Khy(f=M+-%MS7(^d8TY^wS*TVJpDs&A&Rgf-QK^iBY& znwsgWViqrg!x?mxnwsgWrDM7)j?h49X@;|W@(k`hIJ^w%Z~>#8t;&CWx1@12=@Qn| z9ObC%tyxJk$}sVRI^0r;(G9o3S9R3Wm1W&gwS;ySLreNO6aN`X>jK1ZE-2cR zX=mE!J-EINii~TQ6HFgi;_SBold*QqFjyYTpSi#n`l1eNz9rBqsz@3MP}Up>4Pfd) z6<$~`i2rE#E{D$&Q1Y{tXl^=xU9{2LV9Yd4Fr7Jh5h42SVU=JFRJGvBioB~%AxIgi>kc9$-0qq=@>!tMo@3^v9N#)Y}fwV z;h$3eUT6kN40gIevo7Qp5#WqJ#u_}{ z;5w+r4V+5d5=Ofgqog7V=ySnF#glwax|nPKyno8 zne^|V$&tRSN5>+UFX)K=bb(uX0gS|k1&jdx`!B@Lqp;Qn>U$-GTKM?4fcXtBKZ7Dg z^{O=34^^9bUEBW@rC0`4<-?*p8nN%zzJJoBoKkH|&L~EG%%QDDmAQF43>8Tc*ZAaV zLy;71jjxJDTO=h~$q^O?1}Ip$}o z_B$BtJxx1v6h}TnKHKXd#+d#LTJAGTw2s&F%+`gC-bqTiPagOT?S)_fy5cIy2Q=JOL*NOIIzVN(m>B zw_$xJqm|`DiLWmmhxASwy+C<);Z=BOj-cbaaCjBenKou>%SKZ@mvX-FdN^k7z|X;z zXvmnyFzZ248t}gbm$xD91o=OO(6?{W=mGNo0AVAT zvp{S76Om`$KF42aK7@4$eB3y+#UcoAL*;c)VLvR^sg;hD938buzdPPsl@~<_Zv$_{;|$_ltGctTsKuU;vQ_7YBx}z*1g`+zgUe) zm|aF5hA^{K0*z@Z+`C?bY@I(D9a^5l&a&iG?=Ps`HJ~A@o6u0TzOiB~+S?o}oV6LQ zzrgzkP}ceFh0`DmNhOW`peXhIH^Jo$NPhwO?}6|tm=`HL2BExv5+Jz{{sCbXnB}0- z2hj$$A+R$EZSq_A+yK|>K#>D=TD%rl`VCZfK{ZX)z!cyNLhX5~p4d*6XLF^6t5Hl? zSuUh%K2*a4uo(eGUT>!gdq%Prs@G}99=ezwVzBp+m@x=43KZC;HDYK&SHqWyLQL5Y zYWGfXm%;or-AvK4!`iPW+h8v(u(y1n41|2A+^^Oq`1qOj9t7P4stEQ&zQfyXS{7WaANAAO55k4}l1p-=? zd1zK1YP~3{Kb|P{9??#Pqd*mI9;Vp2KQ>k8Ea=lL}t~o zt5tazJ>nUsw59Ih>lMccOYQoN{%A~PAXsiZBW@`SZu! zL7a_L#$Pcv&?( z+yRt&>n*=g4O^OY6_HHsMYoS%PyJSTf5El z(zNCSwUR|D-mXM!&zk0Qh<{5(=sontg1T1bd8xc z;Q++Mr)8JG*2N%sTJ`{#`zXlMGBEFgq6{NX%j^;8gP;MtKIED78rI$?XO&Rt1;Srx zAyUzd@Cy;2zcYlX@MxlEvNxpSDY{@)xfuuR`azm`L~!^S58Or zxv9PjI=6siQ{A-|10+Z`)klIk0u*H!*;L;O=?0KIh4M@WJO*_rf81bqhxzQmI?_Mi zV3%XuX=BEqDjRHLB(~D9-Zu@OJ&cnZ?1^w~1Vys-3U_bg9HZ@XgMAvTC?Bk4d>hxD zU}W#7y}ib%&MndKQ6_uJqOSnV1)y(RGCLmRMD&jjCBvpDNn5`68r5}U&5ENw? zsnYN$^nQ?3sb}&(tF#|f`hxHm_))i7UKtsKIGJuafAwwLy_RbwvvF26S{mh%=8&phgdeK#f`PGsgI<1gDEcqS{rBJIwxMH++fPh18ZY*_ai2& z)a0@N@%L|JM4i1~V9JVSGt6HG!l6Cl=y;IleUZxN6YzS3-qP|4v^8rThpiSfbP4pO z<^2wwe}kmum5;$iV34%DiD1Tqq6{M~Z#ATqAZdA?$^UG5mq6uW5dH$Qbi`~&4WeiPf@ zRpv-(+x1DKC#b{kZ16{_h4UsjTtLTzH^BUnrkv8f42S3G_$||Mq*=z`-Nz=4PM{7K z<6b?mJ>|;%$#6IcloP|78%G?B{&FKv+m13jF`*rvLC>Qw5b56vwQE2|PAznAfUeq> ztW%xo1$aFJimrgKYOLBP)PP0>LdebV`#ux$Bo(p_ej`B99hs2Y=RCNc3yKtZr?hGT ziBdCgwyNU)i?Z@O^q!=ZTKW_qI#c^}YQ$A45dQE%Y5b09VX@3N%@SQbhtm&#W-G5Z z&6et!Z+7}P0jFuRrDEorRU%GRRWjckLvb<89tu)rxZjrG zB&fR=r`NVVLOH8KU(mkLAuy?5A;=dXqx)i=*07`$<0?|xp{XZQxKtH@I}Xp|Kt}hY z_EAk|RF^5$$xxdps(;a{A#HVGMs>MTT@AIBRGsh?hVvd;-RChW9S+&-n)Ny~E`jdF zpo)Dp{2#&h0r=cUYld;`<)ujbEIep9a3|-O$>2Cp6iMk%HWMu0A}RaHW-k$>GfXx| zP>4w@o}x;;iz>h=ssLlsY9X)y@yPZ{Y)P=?G$yFN_)un1`0x4H49mRoNq5@(1SxwL zG)zYLPX^MhX*?d?frfE_|D=vicR{=b)RnLJo1e+iRL2QPeC`ZxCHPEL(?Qp`Z@SI>OOsM!3j-5f0CRa*WXdqZ@-f#2s*+DWBenO~xS)D5nL! zi<{vq{iQ%nE-T@)3=}zhqAD?O4K(C3RAG_l*o3e!*gfk$xZVu?t)Q%J5PVHI27}N* z{jFL*!=MD^&#W`QN7QQ>T!NjBV5fqz@6{ggrtmECV`2p5ZR>G!Y2)qWByWY zJzpC=9R_8?x&|6Yf#jIKTx)riC7ahv;rlmGWY9is#t7tT7j9m!fko6hfYURZS1(d; zf1u9Q*`kcVFS-D@b${0jx=25WGP3X1mNPs13eU?pVdikev{N?rRijmR?d6qKD=S6~ za64tw`y^7{2Aar)lBaIPhM0UdB9N?yJXLSb>X=y%O@hh<5dKbN zY@>A=Opo!(7!gPdI1m*lZZjkQZg?D5P zQwd1LQgzD)3BNVlNlg^$Zjm>kdNNqOuq8#q6-|>WdK*e_f{gBq zbQ-gD(UmVmImoJLuBwcgN!$;DX3l2Ve0LFiWg=W8^WdQeBVC}Jw&4NeYzCEjTrPX8 z;H;$a3p}GSl&>mVL!q#{*E>4vIAGtv@+M3>=~zHX+`52*oU%fa*C`yK~EVtab;R zovqVJccm)}6|~Ek_NmbA^7%{})=T3G&BaM0DAHFeGB~Ul-Oti-c`f=!hLje4uC(YB zLiGk24P20~^jee0c(a~4&lv}QS(C4W`U#+leU)TQel>iy(4bL&gN~c6Y(5Byl3}7A z@Apeacok#4c;GrlgPz;CmFIw+{hijjN*4$7v(8+^g=d`_gqdVDpw`KRG*||XI=M4y zO!{dUG>4e{_>{>c43;5eNH4w{-bpr7HL{m7CO^!xflj8$`C_mvxjV^_s_b=2a#9#P z??beWPD9D7fxn9kMxA8)Tp}Y*C)qWZNZ3xYSuT;ia*vfTtVW+M?IwsWYJ%u-3Vo%A zcUR|1J+7jQ3?BX4PXbE7zUk47|A6-XO27oB!VYZjrvwyX6(`oJ5vm5hlzKq!TkpfJ zRc6t*QF%{-WPW{hUeb6BRO-WQ(=rHGGoa@8L%3o-mM$QF6vEeFJ_9w-_D9-whVjmw z%tvxJG8Qh~(uZK10g@=^f|&!#{!s^26Sn}-8reIv<2Kz6aKLKxendOoCyx3R@Wwor+`O?>`z|lNKh8aiGY7T0`{; zJRZw21_z9*sJ9+^XF=z5P_zoJ{)^!97^H_l&}@d=+tj=c?&c!QEYxhF=ADcKF5^Iv zH}=MX;Shh(HtIYEoipKo3Mgt+!{r}vc@5G_ApBMFCEGnZ@N0CzpV?Zo90kc2`+FXS z!4f2|*cksPE?kC!`Vb!3`)Qx2GL_2( zTlQ|;7UyGky+2FxrTs-()f)r}_wD}<9;YI{lR$D^Zk^ULYmqN=i$C%$;>tc%yZ-5f zm%T#!a;?pglPxUZMfVC)R)VPLu?kzo3$-%corkp`=X6yZk9KI6o>FEkwIv8Vj)xi8 z`tj7_K_vBlkWs}&DCcedsRE+@cIJzRh#x@dJy3Cy8GxBU3 zj%Mp4D|ELW1+Cs7>3t&)$1V&spZ&F~4rH!iiETGUBX22GN!(gJ0On?pi~_r$btA0G zD6o84(l`txqrih;?gq&yuufYwJSL(Ok5S-aCW@m#_HvvYfFzc_U@Ae`=jfo`D8TB- zUZEYmQ2WVy=YszT{Vynva)&TLYTf%nlM!)WBvt3}7KJ`=;CEAix$P0aJMYPlJjV`fd^AY)A7xC2l` z{zmB~!_8)xYz4`1^E#M+Qs8jou1Fd&kPJ5q!OQ`brqJ;>Bk)7Wj|@3}4mpp(>k*Jq z%AsZl{J(|23?-k#c{iwU3w(^Bh?c`i`4Q;DAcWwcQw8^dNWTmz^Wc6ksP8@SX=Vrx zE4RSq22dnhpWAtT#puhysD*kQT0Vo$hYY<3t~=<;;brJbZ2v&=SH->19=%xcO4@9_ z4hfJ))2Bo6WKi!Pw2t2Aa%G?wMUC8oRq3bH-_eo7X9R^So#O*LxhemChZehMGM5J`t9V14VbhRUUlb4e1V0`pT(SU^%r= zyNhbP5Iq!XgFunj+o_=tRXQ)%j)uqdljeak#uesGYjiqSBK!)Fq;oTv%Rm+T29c5S z3HUq$l5@_xwesK|HXs+7tF*w2%)7Oc94!3tA~T{6)VEX3LnER+t=j$~ zGYkdhXjL9pq_wKLkiqBA`XV#?%qp#@(yz|H8u@jFwz+vyYR7pM(t66Vs1ANlVKT~P zEJ(hz@EDj|De&V9x39zTHb_3QaOp{SuN{=L4Ifx|8i|k(EKK|h0)wJ-m5(d5Lb?cq zCc#BY$vhRY=`kI=6yW0uQKTWem)7{xeja#9C!9Audq5qfB)jv#ZtcO3D~wkj=%$&0 zlAXD}K%1t{Jf(vHw0BKAXV~N5D;qeq^PhrQ{j^FQiv@4J4bH)4-epic)Rw*MNF& z)xrPxl`{Dp(01)*cub~L@j0OFUNUch(d!rsKL_*@m={46`v%$jIUvu+@|cWOeh%mn z9p|6c6Y6o3_Sc^S(krF*Ur%%Y-2<0DK;w?ha|>{eLK=5Mp4-?NOIlD#Zlb*36?g*` z+o)qMEhA@7A)HKM=u@Wbl9U!)1K^2!J%CE&FNty_R$?^>+;58Od=erR4s_BM7D({~t zzZL&UotO9$_n_|lI16I`TcZ5SlWk{sH2uMmFlW;q&z*!Nfymz8};4s4=xgR37 zd+=13)Hg5g)+f*%LG~+QpK(tCh@k2!S1`Hn5q^r*nJNPAGDugV1>c%CvX1{!E-}@KYKPF zFocM~?(ZL54i6(l40ivZ&|}mJeF`=IU=d;=VzB$GMM#8BMt}1U5uqeR40iue5h_Br zz@)!MgsKoR*!^h{szW^(W|#=IA!4xmYei@X5rf@7QiP_^B_Rl-M3@mG2D^WZdo+wT zhls)MuaB>VuqZ?fc7KDUdPOK3RpM_HVRfhp^QnJa2XsthO^6um{)xE~G1&dHLs$+O+d}K9HYd9h!uHVU&Jda7BSef zf`zZbF`F3d{$9}z#9$BFE1?jy=@DjyFpU(e!5ttXb^#kd3VDhN}%rH1@dR2A7KPb1!jD0{ z0PQ^o-{Qc(=pd%1xQI?s0<8x-i(VAHzzB9x?gU!5E2C^q(Zf-(b|2wmyU>^{;L_4C znl*vetq;&7LdAK15hsBhcle?}HW0GUMjSz#RvbK-G_rw^O{XXkvOAP1^O!J<4k?uc zB4l?MtoWZ1ZHF4+Eh1!xi{e;+7#0z-!^QCn$yXr$$kf88kwc3J*^ycCk73`Z5VCy= zA=`NrK2acKGto97s_mQs_9)a_hzQv^gF^H$LYJTha|VmxN2-gUkV~yF(?1K0)T9aM zZ$uHhJUS6h(UXv}*k+YtB4o#|aL$E#w3Is6D4mn3bFvfuUBdz1^k_)c z@$rluBm8nmwee;o$N}E;7Dx^8d+7(f>1UA9ra1AY9pFvB3BMU};?z38n|={~&2i#Q zJHVTM71E+O@unT%O}_;!Qiio32HHt&0Ul`O zo4yEAOPqMq4)CU5fV3%2ylDq`)9=IP=J*B-Fb?ph*$21AhhSK9fH%#O*cK<=v~!Y~ zdo)69j}vd&0p9cy#Mc%l-n0X}=?<{+WSn@@4)CT~N;~4jn|6RVJs5sF4jfH%zw!zZtrh_Q0S~H(`(+=>anQb6lent^^(@aK_nSUO$vssBV%=~XL zS~$R)rf;*E&n!E@o2Ix3Sd}a#+&8AU!pz^!W(T}!Hl{UZKJlg<;7!*eyX(w+;!Qi( zDPQ1C2W>WS>*t%`y3F?kcsJp!2(bZ&q%|KAy$ie%BHpyKQgR+MEaFW&t9*~ZD`-=} zB2ct*otuU11Z`rr7cef{pdG`ns3yVen|fP-qMbWqkHfQ& zK+(=!9XJ^ph5R~=vt4S_E+kO2bGIt?5Y|$LbB_p#5P_nd`()HC2@xpTxnG2`(D20& z9_YZ)vm!*GXy-wP(Nu+Ayc9y42-P71MLQ3PP#YppwDYi}paE%T&Mg8(JCFF7e2YNQ z&SNgn$p&I3)YbifTAgFi$6|H07bLwZjTcv+5u2B z{o3LLigo}LP3g&aZ>AGK(Uf+?&*uODplC`v;{=L!02EDWSDZl64uGO5?T!;D+5u2B zr9E*1MLPhBru1VzfubD%MN`7?O`vE8K+((+hHnBzI{=ENFNSXdMLPhBrkF5|7=fZ4 z07bK5bZl|}6g>*PD1JI?xWtTb>@ea4igo}L%|Ld%lu}nSm%~OZPM~N9K+!UY#0eDb z04SQJTM{Qwv;&}Mjvp2A-Sh)cH2tdL1d4V56wN+R9p3{tC#hnnjbBFzK+&|>V8jR% zjdh&whA`5Y!16703e!lSXa_*iDvjTj`8Xs1MN7fOAAc4SfTAhE0)e6(07VlKx?{`%Q1s8VfNPb81EA=g zAzC0%v;&~%5b|Uju{K2R04Vw;XvY4JvNr*5s@mGe_eq-O971!_^t4UWLQ9#NKp+ey zC8bb8nPe)1fQniW6cq%)0UQu#6bEnu5e4<)1+N3@RdGf|5ik9M>&5;R5(IOni8p2WZg_7CwY-ZewM7Y!0pQ8%VQFI|3MbnoP zp59sA7jnAt-1D0pHF$7hEci{%6Tiuk=r=hQOmP$)t~0sevgjx}+&|3iowDdCI-D-_ zlt9bcg<^;63+J&HEINt~H;7sUcJ?5{0G)#P&0er#zK;sk6a_-ur&)xa7qyigqbj4L z=%RwQm*He+meEmkQLyd35JF}AakC;@Z?UcWN8-Egke-e(IskS;2B$n6MRS`|_zPzS z97V50OyMe&sSu8$ML3x;a1<>99Yq(yQM3qj6kP~M(IV`|xu+10qPgWMq@(CUIEtnq zXNf#)(`@X$m;#QXe?cxK5$8AG5QJObV%Ryqmz@A!S#%Wb{2_wr&{4Fb3^_rCR6B7L z?fhy}v;A?$CJ0L|2c0rFiY{&pzeANWIEpSFEIc$K#Z5i~ zmA2?8x_D?QdDqG?u@X{k$0Dc@;c{lPnP!BKZrpX6k!~6&sp3Q2G*yw}e%2Y#=>SL3 z#dSr((ouAAgMSqYR82?G#Th>~OTQFKXL&9BC2C@Ii99YvP}HE&~pm)M$bgC;Kt zX`YUvOA0klN6{r=&C^kINs;F1D7wVaJRL=s6l;D1%2`sPc{++NDb+k3MPo0{nG>X= z=+bH#g24tZH64YQ>x;!GtF3}`6kS>uJ_%9~OSp=3*Xnc>9Z3l9H>Yx7(@}I897W53 zrlaUGIEtpw_E6-tUCiY@hJS@quvOL4KBA*j0%H*o zQ9(M2E^n(1axk<K_=<~1yR_jI&(#3Oi z53NHN&mDVfz7c6V_R&0DJa_D?`50Erj$V@mV246oDtEa-Q#HBT4M zokE)5jfUw|sQCtlyLG3FXE@1bhX>bV48t+D@O1IqIiPvEcghc2GG zjMY3{Ja-wV`6b9J92DNu2>oza9<@Qbc<$=jr;F#VHKNmzPd>ld1y6_|T|C#gO-L8d zHAiZbbn#qsl;-K;8D6QS2s~WG;+m(6=XhC^kDVZ0Jjcs5PZ!Vec6#d2#dEw$^FJZm zcuc3Ii|1~7n0V;oxx3FEjb8Q?U^*tE#V?|4e)Bba%0v4zFcJBf2PMROiGTpzHJ9v4 zw6h+-wVFkD&58Ezofh3SC#v+FmPL2Xi4G!|7Tq-`s^wxNWYJx7qNDrx>dKf-qE=l23A3>RUmMR(1K5h852=&m_2QiL5= zH48dgOz%W@vXUOUYfg;uev6DsniDP7q_S+UP8UU`D?URX&2<@$5h0|@FjItxF2gJl zs&pBS6`@9#;W!bJx)o-NP^TN~co7;cx@%6HAi@acp}Xe9iC%gy>!jT^Cr%EPqeHAV zY^{Zb8?4k zp)F4``>f7%*POUb;(oR|(_M37V^B6yZ7|4MP~cA5U322~5c|oZyXM53(r0dO?$jM< zmE4HJzEyT7v_cl$H7DM2WC5~>(Ry$vU5vcwdCh7Tq-`J`lAU zYe5qXd@4eBi|(2epNWvP=&m`jCmcgQb=KKjwf2h8XwhAB;&Z9Y2#fBT6JLnXY|&kF z;%gD6TD9!XeIm42bl05tMugdLV((RnA4_hA>G>94ickEf^gakHtQq*B;l!_^w%U4= z`TQ=$S?_G6p!8klMu+a26L8nuAJyCJJjtTMT{D;9Ee<^>Cg84_&yuZNHG#WkrrYI&DZyPcZSHpHt~mjB&5YaU&|Px^?wTq6 zTul5%0`8hA;o_l@S;P$KUDN2o`385*>}$Ad_M06rCEN0lOT&8sx zJ`*o?p%Aj@t~v2?1(Wc+MdO}MT<>4;lJ}b|oZn;zh3Kw10e8(TxZivTK|wlW?op{9 zmvqM5(~_f3kj|KUR_O2#VXkL8&C?lkQttwSJT>+*b$AfP=w)f1&X{|-I|3wCz1>|E zoiX?BuXT>aqS8C9c{*e6JwWqx#@u_N<}KLiJxTM=(axcoe;T`z-jjv*&>3@)SxnD= zIL6{r9_2hY>L%vsP#!vCF0$;$MQaHQy1-aUXXtbT0;GA9p*+JBB{) zc9PDR`GE#@uhO-v7`Ub83~|z6B2hzgqKj#++KCc{*cGt<^l8F{f_S zJe@J8ZqhuRF{jpPenSiRn>GK(Sn#)Kp3az4w`zVcb^fAxI%7_4&^(i8$V@}Qm+DyJ+(v&C?lk>S4`yWPKmeJe@J89@RXZF{d8W zJe@J89@jjbF{hr;{BV|GtL86ay`I!OoiV4L(mb6pr=He4oiV4L)jXXsr=HXN_iVTA zntzMs{D5Mt`qUPz0IrWm}>5Mt`vgWU)%^jMjGv?GQ znx`}7)T^4OGv?H5nx`}7)a#n3Gv?G=ntugzA@#QAPhs2c(mb6pr#{d;-;YmysChbL zPJN_#I%7_Kta&c{*cGeWrOjV@~bXJm1kz?a@4)F{k!w{yEI4I(PB8 z4XaOGfu47C#$4wfo9K+W|ND9#(HV1khUk=-_0`sI)mVG~m}02$p$oi5puyjA>c4_NGqlAK`p zpX>uAM@*imw^3D&*qo!KPO7GF53lm)H6l$W5F7~nnI@u^`sC7$r zuHk>sz7<($CpVNr{+;+_6>U2ZIqJWBxDvlr4)@49}8b1p4i*a^u~JQB_k{=6IjNQ z`WTcvAH#O0vSJQ+y!3?6ZttLjl9@Gz`7cNgf1EUfcM$I6U~vYZ?wPelTSl4Ah9smL zbzI0fuRElhv=ng$#vrZJnpMtIBhXjtbzF_|e1}S8I+T1MnSRDhhrMN}Naj|ojn-% zcN->0yTdO5GMlr8Ut<~X(GohgM-?{Od5y?26VJa6>ahfWgdz4a8ru_ly@oB=7oCu& zO3X}8i!EaPm!mydDy@SoIiV5R$9g^&+1HIkaLW217hG4&>WFr|#p$O_4RE!q%uEj- zCt7v48{yQxSAgZIelw2TY6JI?50md7U`Evo`haf;(7LKQb!@I0nf!NPA~uNrnPX{u zdScg2W;N!Zo$_LR!TVybLO(zDGE>DS;PGR|jvmQTcQ`)V#2Rq23dEiP-!^vDRE)aV z<@gN7N=F#*ds>bMR45k4{4b34Ku9?DIV=~&wv02B6T1qjieqmbf=jK~Q^>tEwhTIv zSlcm%DpMsjnK4$EIBG7vGBzT;ZOMQe7j5AP({0i$Z4$D|>QKw^B1EhcINByiBUaJW zq1MScQ8>d$ z;tUZ`Dl;?7dX1(C_0Al-zsHZa_A+=wKiD}zv@sAunYmW5TQ>M49jueilcfB@B(uO8 zNS)U??iOl`W%K5%%qeADU`(xlsziiTNmXW%byiM)vDUX_LY<*)>I7%%1lAv2VfHN9 z7DSl(9P8m+>ZNY#?kx4WZfdFhc~aJpHJvf%iy)~lvVP8`zPNSjWvx?R(mM5}+0>ED z*$_=T_@k=#=qSSu%fdGd>jGLuNMUda@-qT6uU@>H)pU zwR02K*4womU7Np&5VE>(WxYcLv?SIqtA?qiEjH^M%J?htnR~K1n3=y@gQ#;X_9vP9 zbq;KmE!KPn@4zN3^N>55Mdx8R<87l5^N930MvR$x+`2et=ZUNxGxL;nQ!e=F{lU*# z+ym%Q^qel4s;bG1_VJlsUC+*&7~m>YeKhNIM1V8CI>V82On_6i`dcnu#|1d&s?Wa= z6XnDJCr$Na&hYsG&Xnq3IQ35paC%fPWUHMW;56tkY~BKuxgfwHUcI^}!j}g)V5`?K zuayA~zYZghRhd-*j-~20Ou9C}VN%_ZGy3KLM?m!uPUzbL?CB1Z7A#hoI|J;|>PNBB z$lM!X&s8tD7tQoQfc;RN?2Yh818nc=^H{~L0XA~=B`oH)0NbznbEe%MV56y;sd)Ul zkCvD7FYk#pc?}*aMr@WmTJFYU*&ExA2TWe<#!9ZqFUGhg2N2?qHDcRh#{P|PE7pR? zPn*~_gal&!u;FVP+l5DIL2L!WgRwV}%8r%5W+*lq8?VAxJ)ZR8m>-%&v0Cs>Y##C| zj-3h3l2{W$N@M4MkHj8;owAsX*l6q}=$FUNKx{?qH^jD!HKQc$IS}8mHly^i;=EhR z&5yEXb7Z}z2NMU}E^8N5tkc=WAGl+cE7XVX3UxaB^&^SEcnf7dwY*8!b!3WsqqEhs?OUy*C)jr)NWMQ>XEDK% zLs9&n^nliN`8it`GxJ~TYU=Ffv-a2QpbusKupUBi*I9E;Q5js_$&=if$w6coZsLki zCeN^T<A{ooDigCW^dg3e$yf#@id1M5%WNO=Ob)pd7pvl;VHGqkv2zW86 zRS^nvw#|%VSakgEh_zx@O;wngh+&x{E%O*t$@oQ(n z-l*Y8II0-VO6~+%@T6gNW-zktWjKp853f2St?7g~@KQPs zjc8`lhP4p392vp&I&aBjpkZC=W-`bqx-gq}#;|UszO?2Lqx8mX#4xl?E@HS*vMF1v zLk#PiT*RnsvA$rjMjNsin_Z7NWs%B^G1~DUgJMN8&4$$lhajB|-qg{3`y_Y46O586 zP;(Pa%q0qCCL7k6T%sv%B5ixBRx>$njzE>6))m*wnQ6KNN^2e2N~^`N*3g)Y`{{1O zXtf!w)MgnLPitE3*aOs#%c@mHGH?5MimJY!75I06t6%j8TpT|Ra4o6c$jQDZz(u2a zFelnq0WJvDK`y4>2RQSq8`yQf1USPxOvLLtnco7Oyp^|cA@&#n&eF;=xhL`)0nW|J zD>)Pki~wg~WrPpouo2)qt2~wYl^6lepURJEAZi3SODfOjqZ7CMoEeqB`0*&hyLg-p zm1V=RNW_i6QxMvZJ$0_i^e_S()9ojof+tXKBfzm*Y4KT5X9PGxD+{;)4ln|TQ|Ny_ z3^W=6j!tC1$*nvSR=sERM~=Ua%Ped;0UVxmOHbJFJIV;K$19Jx3c@ikO`$JtxiYhj0J~3hzYYtz``DRh51Xn z2j%66TWDCT5$OyYgw&^GN8J7WAf2iu)47o?b()rB_AEB6dzi@JbN7r^v*&EX;!#U{#WDmLPgnoVnbFuvH{Fc%h`EI28BK%+ss87{| ze64;JU_i(_grNUC&!ROxAm z_k-$~-a1A%l(Ce6(<|CI2`*4D9!ZsXCUMf zNQ*)B7eE+tDICRt>Q_K`14Og8G0XtDtzr<|93E< z%K&u+)jbX2tz3x_ZJb>4Lmf)|IwDfg=mYA%2f{)yb1A$JVLOt!*u=j zx!A{ri0+1JAgxiS8Xj{~orB+Oj;UTLQ9!PtMG%rnF8J^4jBwQ^$~@_W|kzO zGh3fEkoh@G64aS<3P|R`m}HJr!CI!$SqC%OtV23$o>YuNxqTXv5${2zVO|ksrqO7m zSnj%2Qx?}-23&8`lv|V{m0g|}9m?OcB&8;Xo7Ulnhe;_Qj+*FTk(4rwNYj#=F&IE) z?aacVKi#1e$(im9r4JKQYF}jNO@C90}pt+b-PbVzsc{SxD5R~V^F=;#)9~UfAJ~gq*t-|v#;#0^+nH*J`Rpxy; zKF{ok!-Y@XP8D-@jt>EK=D$0HDbB=g%m5W!=&N-P`2(P@p5Jjw%I{LDV|-uXKHPH% z9&PzG6^}u=Z7WD@e!PSx1rnRzz05LLC*S*F1Q8OOpD1VH1rnRTTA~FKn}2;dRRt28 z|D^B*<|u>&8fih}Vl4&)1sCh@W&RtBvQ1p9zmI<}Y$|(RAs+@7Qx&;e~i!G2ZiwaCe_}F1Ampft$%)O|8A#t$Q2K1j<^=HNO{?ZWC?G!Q#VJxY`IRQr3<57sfKD+LT8b6edu%O?%M`bF{Xp)Zqlm z1`=>%ssNx_289Wl4R+F55i}d@t&2m@Y%ryHf@XvD!sE*djQ>c{3&_qhx)=B|=ilTB z1hk{hH{=PXwaXp6E20EU8=6#h1ga}w+R%~CTI72mn6`vq+CqS7S+SsiX~TWZpP*+G zOdIZJF+$k{(}q(bw+Exg$brDTCZzDFm2Jz00yz< z)VWRT5KLQim)2qSMR$u%3Bj~Q0Mj!2Qhy#7oZ;=gYhX4~J`6%+X%vs6$R&rMc9EK) zs8{5D@OhEhi1lGP@tgsz1M#;(!QVP3gx-W1dnw|bIU%-*vT;sO&fK!=Q34ZhE@KF< zFdX1-84&%2k-*=+3_(SSzjc7W<%o?$iN6KxR?JjIk3{t#wWraVDDk%r@V8;qF&QQP z)&c%D38^kRin#-SI}K7}v<3PO@V6@6sP4{3gs_*)0~+c%JIQIz;w2l(3rO20Hp{H+80Ep0A~ z5`XL9X~@1<5hecC0si(;NUNj7-#WnG?tsnpQQ~hM;BPr)Hb#lRb%4KROKgr3f9n8$ zI}<}?OO*Iq2l(5m$Zui~Zn!F1gnCH~d{{i~Z{6|pr&Iq|m+zWd^P!bzi? z_*)0~+gT9njB?^{9pG=j$12xolzTV;fWKw6M;PUwQw08&#b`FliNAI51sKJtMmh1f z4)C`WTa0qzZyn%oDb6;^iNAG#zoj_eDBr?ihi}6;m=+o3#NRr=-*RFsHOh&zw4h8+=8?nQw6b+cKI@4z2^QY~pX71yXYtf9ovt{tZzDCKW7ZE+AZI zQ^~gy{4+k=G1!j+wI`zlgzMa1QiKpJ`uG$D4mDA5wFts>{#Mdov<79h*i!qoTvdW_ zojdHAqIv>V_adLgSyc_fb?z*=P!yI^ft|NzzXCzH&RxZ~iNYOJU{SYb6=a4g0pU8E zgZ~t*SE0pU8&*sp-cxWT71!agv%X2R`7 zyCC`@gbE1Pc{b$1Xf7~Kd{#y9v0qt(aGlTXPNEUVrlptKduS9Bz5`+u3%-t^*J*rR~w~|9}J#E~On&f^Z#xa4GGK z5`^mjgiC2xlptIOAY4kjqXgkP0O3;F7bOVS0SK4U&*cQ+IsoBPQbsvJxDG(LtS;7Y zgLVMIWh~Zkf^Z#xa4ANxB=5wqb^yZVz^HC^0K)Bwi4!FV*QqiJxOS*0LAb!)N+L5# z5Uv9dE|-l^lptIOAY4k3Xqf9dF8bpXQM3QdO~Tn8Xr1OE$5KR&DYOlr^8 zK(;8S(`bY$CAKqTx#5usjTdTY2q4@Bi5-GZSs1tp(o>#W{Pugr5<$2QK)Ao%hMltU1%0}w7BJ`O>+4nVj!N}5}lhQ_#+*`LNO3qiOJK)77d9fEKjfN=SY za|pt90K)x9tn8tcjTl|rytruz!gT<`^`V^#%m6;6Y}~@=d{|Pq9t7b!0O5*hf^Z#x za77>p*TL03pNI}YxDG(LQk=6nG6BLBfgoH5AlwC#*`jP_+>f;9c4vQ%${`5X0SNad z(fvzSmpe(V%hex6=BOz!xl|UIoF@e)M`D4=u@Kx1ovPwGle;dPAl%~qVeaviU5Nz6 z>B3{97#8*}ES z1mTtxwEYpM9&71ijFW@Nf0hzk+RRW?;pvRBlL8H(HQJF1mQXW;c~B2_{$I| z5Q*ymiMs^RC96;{2S{8Ih{Sb(#1-Lr6wCn;E&aWWC^2PEMbS$C5W$QRiCYRJF55n&ItmiE z^jDjjoq)tG1rpZ_zB7@yr9k4&pos#L7*iLC>kx@s3M4MWN{GZQ1rqms2nFWx_^b#; z(!M*v*hJz+>WesDl}#jWWPk|#-X}81_cC-Ufy9k8hF4If5=h+0VBw(=i8T4XqZJ}? zBSTBcyHN7+%jA9MBLf6;Px8@M+Ep`ArTN#(htJEZpB5wI2}z&BbgBRfohZ?vQE zau4$q6pB=s0N-d`_(4b&HRYAoAK6lrSGlElegIIk9c+%Mh~qQ<1EA#&Sx~3OpE9*l=o$>8_$@Cm~^jBa=4T|1KmeG;}LO zzXSxSVx-}piBeTXM}H2@LyRDe)L=rgX3nqp60KsC;bpKqt!CMh5>(d`9OmKMn;pJB&C`@p8 z`+r6Fa1Ik3-u?~Y1svWkA;Zx3927swrib2iq_1ovw!;L6SB9&OrY(ZQE5p5nuLNIJ zEIJjT4sEOy#+5y~jaPLDw0#6)SlRvp2yI2c8`cw!F;s^FZxPhO1e15@s_hd@ULDpv z!Q|CNnkSgN+R^-}7(pG~@(@hkQP;bos#BSDH}mB%?i6*~>AEu^l-rDmC?6~S1XyVs zPBRRuP940MVSLDXm3FdgpFBmXP$$?o1~ny|bR_VM5Y7_YfUV zU<6>?;i}~r4i(8RrPh3W$08-`64CR^?$HE|a`*H*ltN{YkEDow_)rKPN|~g}o`vUr zmzvN=C?e-p83H|Hs1WmZ1|KH&y-ROhutpTJOCQY>``)Fm=81jpQmc7l-@EkFJhAUx zQkp0By-S_uiGA;CYkmRwkmiYf?^>vNV&A*ET}AABSGTLyw?RSO?jiQQCZP3+eUA;* zLvJ*?IW|Uzw`KTP%@g|`8>e|<-;0C7dx(864$BU=!2AFihlzlXySWenAFmP31pBJM zT!C2|CIY^j+hat)cRNxWCIY_OQJNu@6A6J=5Eyux>*3lrs<=Z+=O zPCvegfKOCuo(T9vOs6FRzK5O*f`ISolf_98@X2U#3QKl@*?>>kF^>n+UOx6>{2^uv z0t$(Muh^ArXH~Vsupt6I*46uoSPj(lf(Ix^unGm7LCIUX$Lxd4F5%9^RJT97TBH)v~Bxb5j1bniO&04qE zM8GHeirQ=&-%6{bzKox569J!0iP|EY2>4`wF|gDo0zR3Rm}NE*@W}=-u)_9MK^Q2) zYMTi7WJc1gw~2sHHc6U|HWBd2p`x}~_L9kAB5bjVfKLt=VXI99d~$>c+wBaVSILng z?68S|PmUJTJJFqdCJF*RImSB;Rjp`FwpfqndUd)eDqZmz`d&OH@LnGjmCxlglN|Y?}!99eid0MD87-Y{&2cEJJ_dvdz?Khdv?^2xg(XAAe z{x)G_ln8kIhP^D7o1;X)CxL+9i@~rZN(6io2zWkAwnmA7PXYnY+n()FBH)vFH|}<5 z?uZfrpRCg9c1DSSPXYnYbi1NNz$bx#r_J3_BH)uiz%y=NlnD4F5b%_KE++y$2?RVP z-1-p#p9BJ)djZo(a=rlpPYK^@;>rS3(#J1bE=I%3KE_4BCpURH4g>+8yvJUL=mK*C zKII1JX)yYpB=@k9fST_}WXBH)uR zS1<`LJ7`=G@X1%a}}giGZ)2sCgpbYbR;`Iodf?^G~DyYbOgY2>24S*wc|UGVv*oa$ef#Cg$kS2>24q zt`V&s)Z$nep3`De>Py1{lgEZIaquOhbas=WS~6Pm#KD)i+a==QOWf@eaquPXcIjpq zD{0pH#KD(L&^&SQCC6*NBNpX;?v98!_YI(Pd<9DM)1 zdKW|-e0r7M$`J>jUafiJ;L~d~PaJ%Dt>%e?Pv59{;^5OaX`VRv^g7LNXaRq-=81z( z-=cZq;M2EielT_ZqIu%r(;GBT9DMpV%@YTo{;TGRgHLbLJaO>pziFO0`1Bo`Ck{S+ zr{;-+Pv50^;^5PFYku2A@S8PH9DMp7%@YTozEAVh$AQ1!)u+w_nkNoE{h;P&viw^# ze-~{&qaUr?+dKIQaBGG*29S`gzS02cLdH^TffY|EYQ6 z;L|T^o;djQOPVJRKK-)hiGxq?&^&SQ=~pyQ9DMp!%@YToeogbl!KYu>JaO>pw=_>2 zeEMz8pTf4?rFr7u(;sM_IQaC3nkNoE{gLL0gHL~~dE(&HpJ<*q`1GfmAHyRkDnh5qxziV^ z0f&iDWB=NKG>6MVo|N6(fFsHuhUq%2SbQ(2!0ZJnOj!Pa_w}?UEWcrf6gk0_DvUP~ z)W92y_CT?~+=2~p(+>Qjf>p|Ak4n;jKXVqx30p3**Bh5d8}CMjn6Q)Dyng*lrJbS`^IG^ z5vSV9C9ah2Butq7V88A#!t4jT z&zK)ks=@jhQ-vLR)kSt$X%Sp~<@le6QCSKf>Rhqr&oS2yKg?VCGuAGS<0*W~T(}?q+LE!<4=)7w2KB+~t6y6kXlMb%IiS904aD}`HDRa~ zr{PuQ?<}kKQUpJS_(wqfRzcW-nAB=8A0lKIsBQybqfBg@g zfnvUE862ovpVCD=O`_0bYwd2Bm2co%QK)p_2H@pAb zpwt(rCxXz6mI=EW?wG4#2x9|65HQ@gA0}G{EfW*djU8=_aQK}8O zQf;>?S*npM@J2N#U5~c|k**I*^$r4F0o5;a4X{+_A*qyV>AVgHmg;6#>(5K|5=*r? zfl}S2OSOKhZmX*>nfPa{U4dBLEO%L*7hv+Wtb|W?Q2H~x(1djTcmrH>6^=iwOK4hs{G)@H`Z;)=J{~{MwlM1yuVh^k!WLXYruguOVEv zDy9~JYCnXqcr{#{f@=Q-Ves|vQ3|Tv4x!tcm?{TlXnIHqOb+RQkG{-zx0^4P4CXuC zG9=H>p#DBc@*H;qTrGkm&-cN+LVd_w^d^7? zK$3U;h9`BGu%C}XO{JfAeyPWnYEZ3)fkc_^z?A-L>g`557?rC3M;w6HxYOcsZTHPw zSF@J7tFN*2?Gp-757NDQjn$LAde}OY45WMY8mo~VIDLIgjRXzkQwBLSGw__7W9m52 zprQAs(W}>4a!q;FEirW-XsC>zRhFEDkG?gg#)EYKuWsG{*B{jX!6$UNv22`*e%NRQ zFG0DbFVtV)at~IdFGfJ<2a>+1+7MH1LDClmx52v|1@`|xAv_L}zF7QMj0{kQrVr}> zh?_4K6y}@l|A8B^D1ju;tHE4MfnzR)Rks`@dA<(jc?!&P;_YZHkmUIWnCC$mnw9=P z;cqcD8>IVxlbbL5{{$pHp#SyiGf6cJaYrY${^u~Lf7&(D4#Qw$)=14By;!KGRc>k- zCByRg7(o5Fcp3=|$l4S;T)E#e4I13)LO=e74Fdm+wUJ&JqGx|B zDy0;zLpxmoO8a%XczXo;?ue-$7+Ciu61`>iWlbJO-~*tc+*TRyn6e@0aA!=l1NAuu z%f2Z$7{@@I0va`I!2)GWwv5qBfnyrejE^?3-G_*BV~AD80)7U)Pe2XrX6r%O2ld0^ z?>U{F;K5c5KCjP0=1oT*uN9<)3rr?1FuAS`Tg!q!ZR*y(3OVT3e%h?!azC8=K13%) zIN@UyeVf^x&(h&i<85XGYdlSUhF^dH?TLyZH}pKApKnW)Zdw9+j$S1%!AT< zM!?di{uBcrxHqPjfznd&&-}eu@PGe3rq+XWm+kgp?6`taRE z1j?Q@_GnC1f`&df6s7vcFD-o+0#-9H%nj4GI*aQci>WI?y|%I!zVjFVu8Vs{FS85< z`Q9J88~YbL=@t)d9u8YS_)DY{9*0kD(3tu2^3^4MI0pGZoo!aIH&Rc_rH4XqxE6?&a16*?8x=7O3B zT#l!Kqo`-h$#Qpr)5^)7i(c#7ubjZY^Lg7?=`jFipMZ z2I5xiWEj26jLd-1S{hA1iB%L-OXDqIjsj(yxX>*uTk~xR$EI)J7jBC-Wb48O zRo2@}|B-F%!9i?WZlL=;{28i+bzNbW7ohoTha>7IROCxgZ5qP-r()_@P;COjcVPBV zsDd!(>6n@U%Fw`&NeCHoG(N=o&8~H9kZFCp-}o8_M@jZ2l6(S^tPb6VQ3H~!9s+X@ z1!mRx87zFD3=O1ceL19aK`G{v_bi^I5c7llm7ze%>Ba zUx6lm2!TsN>T58k{UfGM0;PV1@I9DUDfkB|b;Jv3VNl9}5cp?IeM6xGg#ItWvpXo& z1H!LDBlW;$rn2nbat<*Tbw*b|I|;KiIgbTXKL+rW-AECvHKQd1CdFVbxW zO{jD=+ySrZcipZV|2Q=M1yE-Mjyz4jyWyuG9Cr@4YOQl2-K(_#!_?hmrd9n8H=Yl& z*Ig@oj7>6+zr)? z?l&fy<=xWm>hJ+N_g^5HvU6XKsbfGgWq$_qDFv<$kL`%5`#>2QIB0da!nKYK6s==* zD4=yF8~6(5G)Pv5jbLt~z=f#tRh&sclGW8<&Ie^^KvsvLui+>FlGR}=mp#(_)$XZ1$+Cg(&S4X4^|(Qwn(0n=y4bNQ!QamYuwn>-m3t-b!^%o~rNfHrtgg z0J@0gBv%s}qB%h{*;`zT4$E7)V-Ya%AG_%`AVVLvbo!Q8%A zZx?9hEEMn?w^eyh)2x#pbb|!HMD^J=q^WsXQ_FJ8QU`bOq>*d?)CevL>({heV*j2s zlG`gb`P`Pf2S(~utCeh5R<|bmd~KTUZpY+QBd-8+M=STAmC82|u;xCa<62au=yop=D5+8Aty5^VF!3tv+kOHt0Ogp|W3 zad$pSpOK8?Fr;k)7jNFRur^5x_< z?*lx8Kz*cfhw8vPKEeecs1Lejm=5akX-vKQ34-K=H!NRHct`DtsmUOH!W)(^2cpLj z@F-~Lx)0IN!*z0FZ%lo_KsjKK$d_Z^^v`2zI7pubN931sXkPmTZiPVlEI2Y>&a%V4 z#EA!_&w_{KA9NNRm7hBcj@f*CzG@zV!<)>5h#m#poANYQ=HGvsYd!&cN%WLH&2`gb z>;q)-4oFtiW7cKY|Mk!{2Kpo4qB&&|?fDfhLP4^;9tvh6C_^<_sn3UWCa7uA4cdg9 z^DcAk9k6VduFqz&i<$KFM-D-uB$JO};X{yQ(&lTNYe5;RNhWoWlAsBVu8FMOrVegK zk8xGX)`H96X)rB&to>)RZ2o_CHseFEhg$-@_B5?hq>a%&Vs9hx-i~nYKJBX);=WJ{gKD$XL z=3x~Hvm0XX>52~~Y$0s|g>hk=nD1332g$F>g7yAIrdla}AEB`j8%0RLgYXZ|qfqStf zV9o$#Xzk#=*m5^7*^Axd3c0=5>Vx)Te3s)0zmt1`3378cHE-p1JlWm-Sk?fxqw;6G zonO%o7e1}_V+X59n1(G?pikx=WN=2Hs5(MYxgrG`UE6)3%-x304PH>v73g}8#Lkh zKeOA-9p;AGOuJv_S9BicmiGoEx*jBUp9J#+C_^=|`xT^5K@%psCJrd?*|{mXi*|?j z+b*PC-Uf~T0ViybG|EaamxD4?(>uMD?&Q%sJsHa0wYgC?2i6Mwp%=2Hd;y97L2ESq z4VbTKEd(_wW&0mvssuD4?V32Cl*i@lHqx%)cRJ#lP6~Do5}geayBomV3d>?7j-= zdC-J4e`fdjoZb1fdsBYo%&gr$Kj9Gp61#_inF7jCP3&F-X$fe;4}WGiLI+FuGt_$8 zy&^yITGsAoNc0Iv>=yitQ2@$NP3)#2^#)BC;+i<19gfY}-9fvn@*~|wWJduKT@Mnw zPl9;@l%bl~{R+~jpb1z0ncaJHb`@`G{+b^-KWlf~FBk+#m8r{^q z*Dy!w^`AG5lRUgt*?6svO{wbg;o`wm!QOQK?5(sr7{pbJ7<&*~NvbW3s9>*{hTK?5t+= zoNRRN+)|&NoQz(cjm}*MHQnh>5INRlCmdV(!L087ORDU=Ve}i>=>3;N+2POVAF|Q= zFNdwmtnN`ZxRV#7xzy{7fx2bx5 zRyB9w)Z}q*KjnzlzvU{7{)9d$v^=f{B?gTA8EZR@#z{fWWQlw^hRw&|pAD)%&DDJa zb^1^;;g9njs_L(IBY5OAksPz*pmS?7Uo|}FYOzVAIriU{_g~DzOQkN-*2i>_Zp;;_ z17CQPuOBP(`|_OfE{gLiC@sgZ%KRn<9{FEvS3&xFrmFltJgB{kfLB2SPn)ics{A4R z?(wi+@jWwWsJv%Tt#|T|A>a|vxH;79m@n@ecvdzK?u0LhLi+q0V+ciH}gd)|R zfT)j=W*4aTNC;hii>V4wZ8L;h!CX&a2!!h2V=4lw?FZpzFsncrS{rgYLWW#`k0Y3s z<+jp(u5-2>@crP|W87?`f509{vKaE5!u%fW=admwJwdwj3-bpu@Kyv|&pa#<|&!^u^V1 zkYsx*n7I^~?K@!pMS_g8!}aA9Hnd=l`<@79+2_7(J?I{zKUjzxIb*=X>*Oc?~oJrKp7Ev`8~NDB+a;rg9hpD&)40*1R-aE#&PQVb?@T~*d_J< zaSOx-_zXqCz~@&W6ZDAZz@LDDPgT`ac0jepoQZ1v=rcH`*FSP_wf;FiJEnj1^<=d+ zAorU=x>`T_HTeS>OAeY#b(9!F9BuWB9U>gwLwHUm?2kFM5=hjq0~LwA?4_Q8qSYVGm$W?{cT z?jM8nRNdptFmP&{xEc%6HQ4Kub^1*Nya;k@@P)3y*g#y321yOR++PD(luO-aMfRMR z`+UJo$Y18=sYr7&NG8aGVD6;A3DU1^Ty+P@1i2r~-zac(>|KDN0m{(YLG!ZS%?eLi zmuo#QFU)3p9g<%Il5C#>^DqTw8xO`+Cy-=&7MRm0Fx!{FYzIv_*s{#aYC8_NwL33Q z1G50saFkn!|A%=gV-u_LVmHbEH8EGaI=ZW`IT<7PUES47A3C_JZ{d5``b9~fTpd1$ zg53$yUHz_a0K2*_6jwb!x~t#QUHu>e?gY7A{l4z%9);)_kaYE~gSy)94mCsVI0aq( zkuP`+@|UhY6lunTq|H}>xts#qyd)e~Z9&rJ*MeD2fo<*-#Z?TYgUcn{F! zT6gvQY_^vp`ErnC`w*CWC@|X&4kjo_vRw#fE(K=$445ZCQx3K)U0qfjS4ALMg6D!c z9@H?_EyVwiu0GyP@_%*pGFL};^Zg4@+0`W_akvvhpj;hq^Y!A@@lpgVVxU|dKjZ7ptK+>0_z)yd@6%TSd6t?n2K9a`1>E>S(W?rTx^Y=`T*|8o`Ue!8xE%L513eG5S? zvIw5;>&l_<8H)HmNY{Ol4jf+*S0h2X?u&gf4uwY$a32Gu?q~QqvF@GQ#o@FzSNF4Y z-7i7N#UQEs*{$kc?sf+I{Q?x_f2%wCy_c)Xe!pE*53c(KsC%||rS8N2emC9*o2lz= ze2YXQ=xhuj#jNV^9siN&&imRxSouEMX{N7^Z)2)q?YW+e^%>lo8O?`hQ;zkOG35xL z1IGHgF#JwFk@IIj+b6%G*?9I4SRe0`?^7Bjs|h~)A!LO&CPOegY$d;+yV4`C zh#D^)oz3G)kK{32UJt#}(~XApOOjW52JU}J@=DJL?#zbEJA^Ad#f{iR4F8q$eubw~ zj4|>u-U?5Dn$}Nt6mr|`=z?k9ko<(mv`gLCS>D1nx!7Z~u^ZjkdEVj>V;|zd zbH3N%Pm!o;54o{tc%}c;w2$3@3%$Bw`Aa&+Mcx9AoJRiYi*d2nz8!*^<~dT=_j;{5 z^0eu5;0Zyis%gXA*p1#$NedMDbC<>@Z!s4FJ<@M?TY2Qkc+b*XzYT7P!`fN#*yO?e?Mkd0qfp~r^iNz0AIE4jn+WYjiBxf%@5(_KSEmoXww z#_h=Y{L*}+PBCqtTbLVK6$ZRC!^4QvZvm{!E95$*roEU8`fHvndTQFPT+khEQ1+X6 zS5(uyEOjXs5#yg(LnXPO*RnyeT+mK8$TjruJo!OcWPb=$*pwgTIs9oCHSGvD;EQa) z95>*HY`|7pt?GlX(G6cIVZ==D@k#or&a8YaszF~le@wJ-AlEM2S9&Rv1b8JF@)g~V zY(_4ag_bS!74C(=UV@2EJ{h@OeeXui@Dr$rDKHRGJW@7}x_4DQokGun~hMmNx$}D%q=MDGp z`#Ykdvpf-wcdb0jBZm>auFvwM_OI)+Jj1xI+!oYs=2ZJ8|-C8{sKs z&pYko>JB_{HOOFuC&qDJ*)gt0RU=T|co^Xsz^6&5dt61kAyD2}AK@9swm70+T>Vgs zKzSj3q$kYjd}lpQJ!u5WBWI+iibcC`7_MuEB2XSZBRxG?#IkX5m&$QLOArOxcco#2?zoU7$&PVm43ASF2{= z)z<(7V{)nl|1Lf+uFe4su4%!pW}dDBe!2mw#xtIRlc8RlM${hYd<1HmVI`Q0DG*j|UmRB!sQxoI z^?y;nE09jt8&~c44rmEqBH)|5zq?B2jY{36mE352OEp9_482e{QZeFTK;m$J&~g5s z1uH3a;}RX`QK3Uo>N~uJb7#7xo`!Nw1&wE^rL^lItz~J)xT#p$H1u<&)o(xKli~YxmgjD7;dYkiN<_VloZkQ)DBOS;XBmzy zpz-HJ$S`5*ui%;x)Cj_W>5lQR6ye9s!X0!1!UYIF3zVvZ@CBHUK}T@qie93N1{Z-Y zhf6y7Gam64jDmsMbD=i&5}bNLwWmNh1`3l}+@i{0?N0}Ca4iq>j?m_6?Aa_t8p$v)-5cD1hOFawYxKjo{uq za|Wnsw5ua4e8V(Xsz)ZeML|$K}N}U(EkQ>fH0mzMuy6igA>cJskj1P zM}gd~-MutBS+iUhw;2q_7g^1$IGQIT#Uzk)?O9;Xpun!Z8O%Bg95&B_*#>IJKUbR_ z?zW8pp1dpNEi%jdcuRI}O$fPFZQb?mT>tpuY%AUCG#dJ<2MjZ^d0A?&MP^ti~IhQ~FMTnuUmxNA6{ z;kh2>xp65{y~|X!5YU5-_;(jl+yRo=xXB$G9+l z$h&F|N;XTk@O=C$T^UyeAenh>7i9Z+DU11&r{F~vGmZSOfX+prrcSPon62;YN}PG0 zK-cY?`tRL!ii>z2vXn3QlY88!Q^VQrfXc1$W;RMq;{C;DWPc+|dcH2{75Mi9a{n${ z(${nIavw`-dkap7x|FoyDhxtU(-*FeF6pnX#1V9*lt}La3l`}*>s=tPWvcM&W;AYyGjZ%|%MYJB-Z(~V^>yl2uzlN)^nF2{k?{F)Jm5?Rf>nXSi>e5Uz zq0<6t+UDx$W_sO~*h~-XFKN@K2Q(A!WI{*etH4Rfd?EzQyrb~%Rv5eyRPSA=TeSt_ z;wFDpTWISlS1YsS&v*u1Y{MH5$OwQ{dE?0j34i zFx55n=Tl?6G5gCH1(r$*!7dRVyvlsXK;>DOWf0i|X_Sa)4qtpue` zhH%^}|#K&51H;(&#&|!kRVQ*d3Xx^**@e@UO$9R(G3-LQw)Z7>IX#p zf9$Qvu-(M_esa)i+xv$S@E=Y@Y#P76EOqf^Zc9 zZT}s@!wAOM%TcQxr?xTHpM@%}0yvE5eF(9e0sdHv*BJ-{>TkqX9WPO>Vj0boFeo1P zrfg_NmCi%b?scWclL)=$0My-rCn|(qQvhy&uo|H%sB@o*!FN9L;Zdi}>NV%LDKL$y zz)EGAX*VU(Hb`3S^R3d1aohkJr7b1v26ziO20o31(WmH?M6Zmy2eCJjkB-LKdA|3<`UVgFy6$(u;3X=DdVa0GUOUJ0 zaZ=3kmix~*?!;wjzjDO5VZ6oal_KE)s`ehj=&pb6e{S>D>Bz+8e}vg=BqZI2Jsbpe zfxWJ$b<0RdeqD|^*&9A(f$r~8WGF$9{;r2Gl7RhvHiQKP?C+Z(tU*xyJwvw=n6S_- z=3Cy-leEV!-UFpw%ykT4e}9eGub9IA&c7WmtP$cgApLzR(0BwC!He^1U4+M2&LZ}E zQ*tqn%EkFGv>rr|i}M`_ZxZn04Bvt0X@u(QbZ%aNXnK5qPWB?WBV$zktmjWY2=<0i z3=~l?s=m|ly^}ah=PVMVxAhs90^PZMxh zdtV6txGsb=l=Nc!sF+QND2gTDEnf@~F zL}wyY4?J5ry0LXGzG7OBT$^zcHFg_7JyeGyjM)r;HrtMWR{&p%Aj_1c+6;EQkk8EX zqzpn{S*H9OI&UG=UZ-_rnKE`4Oc;%AjAoXx8zAGZQX`Bodbid~RHEum9kCTYu7J8u zsCq=lKa2SFN8@Y%spC~=@uf)x3aURBP4EVQIeyFm{No;7)sS;k^6k+Z9+yJ^t!Oi`E6Gsf~=UNd}|cOKk+3IJ}ufPc&2%Gn69 zHv!&<@HT>6j8pV_*EAARSJa<><|Srg0Kcb z*`BFy6PA&Xa%mWU=1Nca6!<8%_aMVAT3FbKJrxLF63}+~2JE{di0w)Uy%CJ+!Mexy zqZJdwe=J{t8dKXCTUqt10Z{du@NYJ57(a(tok!u5#bk5o`9j~qfzQL`4nI(&1 zCR3T|fPc@y#4`xe@n`BRXl$sOgFGqYpe`N%1#~_`m{vb(xtVR=(1!!sJc$0A5e)o$e*ah-N#gdFU+>UGh+!V(a1|>yma=( zEgh1OS}v8}yx}ic2X=PxMx5G1kPaCR;Y0#<$b1O%2u=aG9>R49IGDFs%@4gn%aNrZi9c#^gX?;nGI;x9njjq#Et0 z*~uHKMP;OoF4$CREJKhsx(mV`1Z<-hA?zVw8+{GoD}?ILwb}pv%$C^Bz>@ChS`Rbm zI^khU1GKCn;qq9%eqWCIoqawUco;iiyu2rfv`m;gkZSJtgbuS- zTrIV`4{IWXV*!^=wTO))s4Zb;lqJ(bL^UIzv&N%@{o3C?h~VFfWhiz>?NX#LkG$Et)jZ#>hW^{4tLYLboSVUpUW6*dX88%`)=wPcK&h2jV67X%5v zhM-AevyreFzTby%8ec;tw5%2>p>MwJiOB1y{m^{};pmHNjxl|S4F?K-N{K-=oT#li}SBL+C&MOEMX4zjp~MD7UBP8 z-HqNJz<2Un^vi3HQO_#XTdB#2?R6K;N{A@n*AU>$@T2+jof2Esvt z$pB*>E;U9V^coGY0mAJBg8+Vq@Do8L!0<;(jll@L$^hmro#{c(H!$yeR z4=@bEK!h>d05~FI&qH_wF&n6|7hu3vG%v!~cL7$xN{0(^$$bcL6=GK+7-RnjXfKk^ zy9h~N1METca|p5D0NOqZ9fWbtC0I|)RRbyUR^kp?Ym0;npm82TW#)g;in)k<1*v-w zMlaDe*vaTf_?Ueoo^*9A2GC5jb`L8h0C#!~L{iqaQX>idQ#cD-8uGC*;9!i+V8Rpc<~p+#)#fd#d5p;+ z9%?!w_P6NGu#mpxn`=8`J<)h8>v=?eLE{lzNvjYVg}d`ex#lItySlt(%C^eo(XcRa9$fB1?PvUEB2#u9rp?ZH5(AgQl)d-4?#WdT} z39w}@Q}mgZnV@4?GDVu!qXvL6McUS@k>XlOQZ3r^=~5$#ptx4rs7U_~%##R%WO(^h z+p?stHnF-k^3veH|%v(z{rVbD7? zG^6lagO6_AGjn zfy@JwAWTGvQ%$~WemT&^2&atFCWas*ir{Y7937=74kmKGc;;$V&{3&9dYFIaN;4&Q z1qvmp#+R^o2ti0S(w{3eQW1nyV+4d@1hr6G2;nROl4`7lum<6zL>URoep zHNxnw+CZYUg~4I;pRF!8gEt>*_0K9|^$0BfNUIn8$*K&LoNE$S>ngTxlj$CWP3gDE zdrFN-2-0tVh42@IIMq~N_10Niv5w4Wv9^QOrkU=5%k{9kADK7N8i&N|5MHA-s)?88 z3wZ5z#|av@65{MgiW+cvpWe z7kkp`1IU17oWA-`mgUsDdXO<&y<`(20omMGv*f>Jmz5R1XuD;ZQI+UpKI}KO6lzp` zqI;Lsxl+YDo;58Ldx}#b(LYqWFQHVEnA)on%}m=bC6b$3k`t2(bAOviUanhA{Qh}y z8>9AGeci}gt|v6$%_I*!k8X85gA=V>yHh92l2Cqhm=lZs^^mEHd1pLi^2TlQc+xbX zEI1Tm#57sO9V+4?Zu;7Hpz)={cw_1iu4?wHT#q2v3^@e9KkeR@T>A@{Yg#V{x%T(! zhnu3Z@Sd_Tc`%nP{}c-cW~u9=fTr@Faxl_BuPSOEkB#-!zN%x2rn+UD;nMHDaCWR-sO^_S-JU%^!uG2N2W}YkPMt zu?qfy1AGXl^K0VUFt&*+u^`zx3ag zK$js%|NR5PiwM$xJ9J^#z|~Ts$@$2#hb7bG_s~C#Acb{%z0@d25I4?*Fq?q=w;ICL z2q*p7SgZbfU6=D;`)`9z{6F;{+SaJuuXCvWs~m_6?N;f(^^d6Q@5#h?T>ENE|J_>3 z$DYUG>E995W6!Nsd=5zY7ryR*p!)RIk-R1+1D}j=g1Y2xlPZdwSdEf5N{tQ(sv6hUu^Nkk7b56t{7tH{2NAmvq#D;Bt;RCldhCc5DDeMM z4Lm^Hq_e5sxS~I*aj8_}@I$H^U$#`E_HT)5Tw1^{#C!)YzCcheU)qZed1UJFlH90=-d+49&E+@ZE6)8MGrIoJhcHXBC7?2sqHA z`*6??A9Yu`w-$F{Z}oWx^8$kIt)@W-9(S1~Y;*U=xH>3D~qhLpY2OXMX9e)Ar-Z7D0Mz9fX?^q__6!!mtghrPjUm z5KE@X=b^t7K??J}TWTC3;0<#$Ks|yucrJvq5l;HEu~xnHkuK-I_SQo>@&D9YGShvj zbEw|B@C5YM9OrOv zI}C#KR`apFwO<#5bp?BCLEz^bbZ<2v$0!78rgI^jjnKerOPcf+pqmil%qP9{HqcuL z(n|?Y{edpv*d{sp`sLWWcMp!>BRY#}lUt^sO{PejEZ_3yHsSuWT76BC)t&i1zH|m3 zRGUnZZ_L*qt}lXalWEc>S0UmG1Zk7$$F@msOPkcQO=brCC`AUy!^rU- z5iuAM)Bcku@`)G@(=NsC3*xa%2kYI!B>?#*SG=A}TXN-__aQ>%$~QB-iCpI1B*5#(*}FA%;!sM@SeaSz>w z5!{1ttVrEU!NAercv`*6<^9#DezjGW|E-=lt&8mhQ8(sr>!U`m_K8-Y>QfC^cQ4#wW#mnmr>$X0-Ph_<`KmIb@rxE`s3FfR zU3C^YzUX-FKB`L|;HpNg%0om$T2zgyi(8pEvn5`Ndsv$Q&3voOm$WDuRnN7`{6I^* zWPY+$`FI|x`k|HTzm8SCQ91H%Bmzg&AU=!+!(DyJ3sk{J3W)bpE zjW&azAKixKQMd4X&J9EHZZOH1+qXA#5pwr=Gv|Kt176x9&{In!x|eQTnPuykE7xUwXa%k^ULKpBaD!j<<700j!1;uv%J}Jf5P35A$Nim zYTg8!4DEZm&7IB%12jV3DVcK%52C#ha&1p`^A@a%83w@0d&xi}f1kASFiZxTRX0VNLTT?}uPfC}ev z8t5mW(&@-N)dFf9zOM4t2&i)=v(Nzo>YW=MfVhAO&Yl23ZN|AU+UN|}4=^~q44}#R zaf4-e>%{A3r!9KJJ5<0zrygzOJu&$tdZv{L|(cW$HClf<13 zP94iR%^8k7Tb#?NHo0v%z&2+f?zrAY@ok3_N0fJ}%|?38uomvOj3i&yTZnACnVnM> zNd6VA}-JKm2k^v-$>CwX+HZ-h@$&+LN^_;|3nTiW32WV z5N$@JZ%0I6e35Cixh(J@;(am(0-rHvrNjgtYzO&rB_Bc^ec67F4gd2{&&0YR)$sc9 zFMwIV@a1GPDsYf`d7>Al>W4u|!} z7!poS`b84uy9*5(DnlQ&&9_poKp8%pRzl^BYOkUK?a^(?h06RTogjBtF8tB~a!kp; zqS)jrk*!5=$DbWO2ZpTwL2>?^@ZTtxp!}4vSudi7);`3iObUO7B0XMj`nz<{`w*Ht z^c+$GNggp}uR(j-sXgsD`pqefpjmo5tc~H^h#pLh3Gl+}Y$&8r%TNC&L6Dv_jX*w% z2;LePfvCWR@GQ7qd3-%g2X6~q1@%CC>fEh#E~d_ArNiQb4~S0a#x{^$QxZI;wHWy@ z|7?d@k2h&kNBG&co5u)-W(U7UoU20AXtQvSrJ~# zo}6l?4g{(sYq1fUW`^bg)r1@2P-watx&x>#{5aEQn30!I(faUr8)0Rp8Q71s3E>ym z180~SuOY25T#WG(I@5ID0%{6x!vqwXV`jb!)Epjt7xK+F0|$|BQTXfUkam_CszHM- z55M*f&;n(1MfjXofEJo**F$qvc=^A8&NkCt1zHpC#S#{o;g4W*eVA_~LQBkaUV|IL zeK4(smZ_H565fU%D-K;~rk#r%+rp2Y0(6O)at6xV5k7oBd|6?Jl3`^}IEDExS8cX8 z{1txXJam;AiXm-Zcqq};W?C)Kf$$=Xq0lvERvFsv^Kd%iLf4vEy@3vguOPb4%(@)t z=g2QF1O3gE9yH9z?QDwc&D8JMp=M;_>wq_yX${B|G$XV30j@FAP6Kq!$ct?K8+9L= zkuAFcZ!!aCAhpDd+{YHU*-X6?u)>V&W_PSLQ+N$knvs4S8|%z~53N;WMl241TU52{ z%*Ypnw<?u+faL%Awm8Y%(Jcu$Asmu-S}knA zWG>1J-D9TJpeL4_kwtp|H>%VXCN4J)aqHLn5j)qj8*+vlYIZn)9U0B@1CMerJ2zud z8ahixZ_u!2u`&xh&mzfZQ^Bfcvu@15FC!r)8K0SK(QF7V1;ZNpDirR`C>Djz2?dTa zQP5fsoQ%=1DPy>3jZSEBY#i0ns!KS)?@K*bRF_e89?H2Qp=wyW>C*ifyz+haEmYvu zcK=a@D=-g)Hb=IL!qZfstFI>%T)E<{)7XGp0`H5~C)8p&M~>0bF3s2j)rSIY(E~m^ zh)+@N1mVx#+k4Py^`Wi7T}aI0+nLa#$-`mS$eK5Gwh`K<24ogb`GmHsW_NJJ!U#Pk zz;!BMAoPUHno;Lu`uL=PLZ|<1fTxl&BNV4^sI;OTdP>W^Qj+0_SuKlBWK zuTn1-t;-Txx3_4CRZ-1}nxVtaEzoze-bAJ!f*hlUvy>Cvj{kyuGpNws@U@%(LJI8*KTDLR(1GwvZ1Au`pNBoP z8ByqP*k-$ADD-pWFTAKT6~gp=BMZz@Rl@Xb(oT*_#q{0C#?DpH#SxT!oWI+d9uAD$ z`cS^<#Bmjc|H>YYnkk$+jPMvZzL*JHtUSwRlKgtOwT3^(OehH zH|G-i*fAB+T@pTi&+*kY;p2^L=L$2Ob5hUztTc2M^j%jyw71fof`zIGF=CCvW?&l z6dvkldR~WSa1Oma!3>5mZD2)*&up%3+~LS*1o^%@RAUCaOKK%kxz8HLb!b{72S)d%V~q_6Q#>Z&%KsB-A3t_N5GjL;};x}Nhc76DSuyG&^?BfKL9pCA~m-C4$w zIYxt%S;Mhr?7_vwI5YB~=sudzeW^uP?t4C)qXsulj0K;~ z>%?bsB>HTQ1^aVcO3}1Rn+q=Idg!F}N#jD-aPpCy);DBjK+8D*x6`UZ^Vkc{#Z;>n zH5YacqQK-5G@8%u1}paas8C6Ia**pZhd*YY?w7T*ku`J1LL)uJe+8Zl?W_d^0slh) z!K~@?rWxs}YKiUqeJH-_5R}O-3ZwmCCus7Lf7tYJnG^bjSH?jzdo@x**aI>`hcuYa zlrJ=Rk=O239;H^z*1B4Q&+*(7TI0#!k|*>a!R-pjvxFDRv{bCUm}8Fzw+XJM!oMdC zM7;AYhF$nb)@;azGXdU&{}5n@UG#Stzw*Uq4;t+_QljDCQmL6YbD9yxj~j&`=LfF0 zjIf1mCz|ltv56@tF~f^i6skg46J&X+)~h zIaCd2G)8Ttp8%UWCnUWKovbq|j7Uw|zp0XSMmHleKxAmRk=i5^m3F?tMsQ?MCS`49 zuviHi{*j0ZAzq%@QkkbNsaH#$p*jzgjL3;PPt=X{b{0dY{n^uuNM*W+r_Vjdh*bM- zfI}U+EJbl~A1lz|dbC_*h>wnT$U*~0hWS{WDtKk0;7r3hgli=-+{3a1qtT?15qV4w z%tY5^w3QJV@Su(v$x3dA{>ktwc@0KGMv9X2QD84Vjk$yi#-C6xq6T0IZd#y$VQ0bVsy4x2ic`?RJhcYD}LVO3^=<_fIc2JET7>MTX&_(I| z19CxkCD$NtK@TPWg!&isRB|WGm<7F*ydC{s&|ArzXbWOW?#1{@CC`9@3l$-Wv5M23~2PLF@g^1*DW|>CDf%10F zR&1*|L6lUUr}wlHeK4QxHNuh;BMei3RhQCsBPLA5?&V7W7bDSahng|h^Mq`X=Tta3b2fc^s3I8pRz zd0g_WcP>YZm)A<34Ngivz#viEBKNfN!2-597qJnC2-x8a$K9^HPQV@~j^#!9Pyu_L z4s>+5nBIr(WF@Ul7#`&#Jl~?AjQa9MXKYrYSEq=gp(;LAJ(?>YrU?itAEpa%l@Bun zM3oPx3n)=O%oI?eTA@imrE08M0&1LHhv4^Y0de10$o z9pbcQYb^*-Hk`k+9T$dt?YKyqHQgvbC*@4!3_5qP;^zu*oyoY&%NMzSMl`y-||b^UIjZ7 zobhz}GJiQhqcegXdAa0ia-O0)R|sf!reanrzf!;=rYY5Q zeJx;u(~I4CSU{sQp6+}jpvgIy>oLlI%(xAvo1HhGL!rNBJ`AwRnOYCE~8&J5*SfKSvDfWDbap9*zU6gd_UF)LuyT*;V+IhtQKD zs7JMyn~gxjeh>{4E#DQq85&M|cEHQheuh)Y4tP16_f*?CneFg$F+tFIjcTvvG7F!# zXxu8~eE*t6)wJ zKZLoi?UWpWBNb{D5a3f|H(SLA;6^t`$**9DcGD{YWHq|$RaFYwx_cj`gRkHk-TNxJ z3w-F_Psu~keBH+=*@2zzW0ky{cE&0BS*%LBj~CgRo9Z#r?Z_HjV|a|kr`*c<+^CwE z_j|+gQp-twO0=G%7H{$IwrI&yx~K-ehcoHJR6*mRls;U^zoJ3X^%ChfG(x&wBE5i$ zr0XTpZE!ffUg?)of3%Wsq0L!JF2Ho$L$8G%!ocjImy_IM=%JUBSE6ToW~euKe1Pwz zmu%zEfV~f?_0P!3_=?*NYWWs88S)w>`zAuZNy(kZL0+rm-%y#@IwhYm0rD+MevA6I zD*3KP$hRr^kCBjXSMuYO?@;mp>fEX1Abq$?$#o||zFWzCM?=0x$vaMkyiv)6PJ_Hj z$#a?aJ|%CXZ}%(tBTaTa~<# zHXl{;bo#$d$(w0&yOOJD=P@N0u)dEgc{cMtq2xWR3wcqU1|x^HnAPjW+ix`AXL1H6@=!`JYODhJL=TPd;~J_Nh!!*WH_p*N;s@Fmd&HUtLFM;M(jvRdfpG z8GOhMfB7(tP$|s0MncBW8W>E>5kN zTR5-QBu^#ww~&L?i|mO|m2I!;^VGJNW8!vHy*N~sftlS1OrL2Q)l2hdip3uI3}97Y zR4*6*?6>EdhFiVD-rQp4GHvCiq0m~H{V)=2=K?J1t1p*ZXwdMUC$`Y5Mj#W*y6V-1 z&r1xA1TMf#)8D6Bh?~0o^>qFtyy~x}bN>)z{R7JS0pClWfj|bD@Pw2o<7G=BT6k0; z2swZ+XBj7Cw`Y7{QW$cM$Q>VRkE4Z-$p-xMc_DMH;VHt=3}gL|sD?UQlrmkNE!v{b z7WIcS{99oqA3s}!b~t{v==j;9UKj_*&lbsicl>P8@v}w8&lVj&TXg(vk!&2;$IliW zKU>73p~ue_sdF^P&laikPsh&|@mc@)*`niTi;kZy!cNZdvqi_x7GXo~_}L{r5$?JgQXN!1f;P~01<7bO_(CGNtqT^?aj-M?$ezxfN*&@t^a$xBA*&-uw z{A`grdvg42k!pwIXN!)XE&BiCY*A5O%h{qopBFOMzJ`-XC5N*>Y?~aSjISXK>A_84 zqtjM>xab2!cX~>LuK-Fv(cl+=GO|f0@|59MEbU**$i6o6I~;<-Um1T$>%>}|ZxV1a zNZN2X>Lq;8uAH9w#pv7~2bvga)@OJA9mGitHMeD#Cpf2K;G8mQUf?mPj9+jJYMxLm zjhLa1K^@lqtRKWeK+fb#HbSIWYNIHYx+;pLu8Lx*q6R9>_CVgKx+rEuX{s-T=FJWF;rdm1)cEb=VbJ$wt1U|8f?vU@u(LbfgPEZH#uL5n;~ zcBKH9hS+a);SZI-F$v!dpZd75B zMV=*lL>f*x8p|#6EZHMdPY1ZjBF~aN%3c9$7hB|6vKvy@0Iaacvt*x~@(|QkS>#!= zCuZ_{HES&LEZL`KZ3b9xk!Q)CB<^gm$g^Z?o+XPsOSa}&vdFV!H;QjNtT=4iQ|(7! z;5ksdfM?0^WuaQeS>#!=%L2p6vy^O;SSs0OLYN&!zcTtjVC+1A;pACLw#oi9oIFd( z_C|=J`&>dd9kFjAM+IXB@*|&p%rEf;W!)4a_fp#t=}#fnOYWt%mj(DWqhuKu11Wk* zz|?l7M0-iV)b?^ElYl8X+fRdG(i8Q*-?OT0&G;_dPIi)2i+PN@1dNxDT2u-aE?6~4Q>6K35)cYU->u72%HzJffcVc zl_`rQ#kO8909Yz1errSyz;%)mv>su~O`bW(6SnSQ(F$Z(j~4^n9DWXEx<;uT*pf7x zC0>gODDY62g@9m-;9&t?(B%d04_yJB9+!7S^aG_Lmv?~th>zZ)A%u1c#K$1)U|I@p%@Gtoh*L;Re+)JVQ6VW}gSgqW$$Q;(?Hiqv7w zo)$|Za-_OqX{0UjVrf+V#VA2p+Ly4@72n>^hoySYO^A}~<@-dM52NM}fPsuzP)?4o zAUMAGO~quJ1GStSUqNtuG0IDhuTY^H!Q}V~byuVO7j#@Gretz_g{njjk)J3nJG=yj zLge^L%L(5^nH*o~W3zZ!hRE@iJ}HbJvoN|Uj<2qY_j+M zRx$`*r7wFQvbU@WsY$pc3N6^eIfzraGxGwsFn6Zp{)^-*lzjh|eA6Xg-Xj?pv6;m| zelg2RJ7^l29WyA)#X^d)5H&JOJT#VfPe&A)SsEnYlF}{{nawOrWFcx~cJ}a_!+F9= z=FSdwKs~MHFzKEdWS1BgS;^cvSs%AW;l|mDmCOYz86*7UadN>*mW@6z{A49_!Aiz? z*Y%T?%mphM%|!i^Fphxoh)VoqC3C?_b|6b1uI!S(i;6_C3C?_HXf+SPgXJ) ztYoJGHT%g*=7N>13HcWJ$x7yemF#KMVY#2IWG-0AXmf?1tYj`&$s$0j{A49_!Adp~ zXpNt&WG-0Aro!fWKUvA#1S^@JtYj`&$=DKG{A49_!AkZcVz>FpO6G!4cvXZ%AC8HblW-(dG-1Q1hFpJ4b=7N=ssf}haS;<_mk`XqU z#bhOO!AeHhY!;K1%mphM2h$?6n5<-O3oBVMS;<_mk}(ymWXU#%c!;cI?p)8W82hEJ z+w5=vTQZvG2M)2JEV7chXGzV2Mu@Cr?g9_Lppdtx8)WyY;6&zW8wI#Jm$G3k?(Z?& zRnqIWl?Q4R7SkUDWJw8 z!4f!^$Ci^c0uwm#D>Ul=I#n! zCmC+S=ZJfcQ3j#a^U(Mrb*pGRflo2Hw?#`08=gXRzf9dPS|28~I1Q7Y-ZIR*3{YgO3BEy;c zvjEp3!Sk!O#pa`-v;ca46YLUh4!M%3gd!-}UnbHQ*%w82k?GZzeJ zL|gp3s0oHMUb@@-WH@udaK^M9elnc7U^pY%<0r$J3x+eIy?!#BxnMXW+UF<3nG1$9 zq62<1oVj2)Bl_G=hBFroXGDknWH@uda7OfVF&WNWFq{$LRzQX`7Yt{t5^e=1?SSEo zskjx8;mifY86g3A$aTSR=E1b@C&QTwhBM_OPa(QsI8#27;mifYnaoMx zox;7$1;g1Z$^sb92GIf;&Rj5@v8nJ7w+jdiXVP$fGMu?!I3o%g(Ic!L7|w#oHz??W z;p{wGAj6pphO?94qTwgQnG1%q6+pHT-GO_O3x>1N(2SDd%mu^QwE)TXjrbhFo0ock zjgsNatpO{nq&~`2uA9`%7$w7*3x=~-CG`z_%EipJl)9Mtgd3E(CQ61g7Yt|r5nVDa z$rR4Dj?(2MXhg|y=7QmjH=igO&Rj5@b%j#0O$H>f&lSSt3@@JX{0mykt0Y!EkniXsn|Kr!=mFR5@}tQ1u|gnG1$9F-?Xu z7Yt_t$Z+O@;f#00C>hRNFr0}y%Q!N@a3+8ZXD%4dyy*L6n;R=q7?(A&%spD75hcT! z3x=}_(d8E}MVAXwrOVkLRyb;K<3u+n+q_PaZH~lbn`0qQ7|yaPZ7$v{GMr`gN#jxx zT;Xsft8eH49zJdB06H_PD#Tg_Ei#;CRg0PnJ59(soD65lHh*j*PZ-X!lY?CIS!6iN z_RBiN=uU>S>=b{WjxgDs3}@K^|73t*cQTx1r>f<;MTWEN1jAXf{Wy$9$#CX^;fzbB zax$E`U^ok+gz_8UlM9A30c1FH!Eh#k3}-GF&IFL*%mu@l05Y7pU^wF%sGJOEE*Q=T z!mQ!NFgw5~zmqw@aJC3AWaFEsIq9L5FsUE3axw!iAf;@?9CTpW==s=JEnC!N;z8@; zc_tpTnh=9u6Iahw?d}d7qVoJ=*e`nx&+um1==NwIqqL;mgHA6zpmd+MaFNmO;pE}a zFs$FuitVKmhjuEKDW=TpkGE0yL3q z(`r{m02d_zTpkGE7*|dLxI7TRb%kEC9l>X5Fu!lo$q+0Oz~xt^FG z6Oxudr#lGX@@vvgrAl`Yz~v7R85(YWZPKl@LISw_L79}bmBC^q2>MJ!J%D(5pigC< zx+L-_sXRk<9w-_4C+a-4Zhmja&BQVQ1aSG4=^~N3t4-R04_i7V+DGU04{%s zkB;^r0bKqtAB$53m%xY=oC#___@6)A!?L}jF05@02fVGG6~?K zekGFtE}Eib62L_RN>0V~A5B$qTQqqzsALkrMMFv^0bDdq$s~Y_rYo5QaM7@mNdOm( zD47Is(F`S%04|!TWD>wdT_uwMu6+l&LcJt_YhNI;>=R{Tzh?kw`eCwtWttzzO9D7> zk@14|k^l}|WRwSa3)0M_o1rnd_c^9fkYi@lpyj+)o-ue7CbNQ=j_~9dgYWl4qo0m2 zvyH*^3lLG0h{!Sqk2DZ5C=mgxr4(2;a`S}v;eCl8Q=asn~^PK zrg8|n{;xn1Q!v!@RUuo{Kl}@5o@fSWqy%I49QMy|Cm?c|>7nE0WUng#d!0;HWUng# zdmTae6ckmECA+;Y{*{xxt^n+HjLQ@Dy25exBmjAYEF7=)LoBk_6`qv55ecs0C3{_w zUm4^`J`d3{p#CttWUnh4k~0fYUb5E}z2Wi(=Ouex(VHTNE*$`C~+Oy(O$I09k$}MZX)x9X~&4tA$wg(Mx2dqh(pnxNKeTvTR-N>#^ZimXpc^*9fyBGayP`F@rtQ6{+n#-4Nwn ziFPO}RArdZD=QMYw4`&U^H{=eXSbDI3_T{eR^?_qj&_uekD@zSN+=(tboWN66j^6$x1HSp2-&DN+j!qT&^aP z?Qe0RdP%GY8XXw|B-ZOzB68l~+c9Lil?6}34M>K0x6U592Cc#Kp;ewb4GBT32~Wx0 zx&(MVy4HPn0CY`Z-$acm{FiJqe~8AqRd{kC=kcGZ@qId!02R-nF-cf6xwZ!pLto&)X~RWdmSdv;QJ$uZbVUCbeJ4E9zWgQ0K-$aAt^LACPIA=|w#w0~rS zrQu%H`y$=2Mh}nC`{E3~w(x>*8+{eaj$o=r4Q+hNiZ&NQP(Bu-jgis;5ktsJ*lbpY zg1LC5Aj6MfU5M&6bu>Q$BnF1=U z>uUjAxx8zv`w4Od)LB>50kjjfddr}JytaGc)CB9P!2tOJPPUd2bP%;ht8NHDp;WlZ zDrqo{%2EMmT7RK|G6Bt215I}p0}HLs>2-N<3cOxaG<6U_7n#Mdz$`rwYv&w@qS7Q| zjOFQ;BpG8YD!^-zj4{?;fNhbCF{a5FEs`6j~%>j1>zg zu}H=k>nNbJMKZ=%iGT`=WQ?&+0(x2`V~nY)Ra!hS9aB~7XOWCC)>+hQERr$C$_3O~ zBx8(q5m0B5j4@Ur_r-dPWQ?(Hk}|;}8Dp$RDr?u-qaUW2~>FtguMN7^@Zot1J&}#`+6bW08z87MDEhEs`; zm)6G`o%7o#dUc8@8mi(`WgywghiL+W%7^I!T;;kfW4>JW+s8(naP^lVg zmVg?IWQ?)d0_sTq48P9se2b=;s>m2)^Miv5;9Og_)`Ada!y*}DY+|6n^MKZ?NB6lmU{isDU#@J#hr^K2CBe5j{DlC#Q#+C}Gv`EGnTPC2! zA{k@sd;xV9$rxi7O6$~HBx8(S()L=|nP82l)0&LYA{k@sa>>(Vk&H2Rg@9&@WQ?&Z z1uU{i#u&RwtSu+!uMxXiz$Mnl1gq0Ojbg7}$QWbSe}U+S6o=v9+>J&}59Ub%7WfPm?jm)=NH3#u&RzkS1e{-7ZLzF~;ulbJInW zF~;teG)=}B+Ype4nzk5ZE8*}|MaCHWSCIW=k&H3+mh_qK&3&o^Es`~DU@W4vHeovsKxhuv3F&fDzr$(7<*qpk;S(yu@6M8#3C7E>{9`qEs`YXT5(1fuUaEZ19teF_s`> z^plJ+1~SHl7!2F|Bx8($jFGE{9e$EA#z4l%y|F!hk}<{-WQ=~2F~*`Q-#$Od7-Jw~ zWWED_k}<|W#z>o=`$@(a0~sUJ4*N;Q7y}t2(a*&sV~l}}kqCRFBx8($jFG)-n~Qk8 zfsBy|WQ^FZFTiS?tAin^u&i*87$K4|#x{C54nifc5_>RpGLn<+8Tgd_vWp?8U8R;g ztlId>6EeowuHf^~u(;J4ds(?+k&H3+ayI?4Es`lyHHL4WkRHBkrvs!(gGVj<41jb2g)r(uJ@g?J!XCm?s#KU>9<53--5Wb#4w(+gQ- zHLCS<2KgYX`zRgqL00!wGWj5@`ze|GIn`s7Og_l!u}a=eJL8m0KFI3vBIBnYJ@`SQ z$e@mFvSIj?C6w&4Nf!-AKKzmjwVc#5L~A~^I2>0(IJ(2Ac6q(zgUlYL3K|ck?BPl# zA7r*(@skfSTd(-Z2brx`{N#hou2=e{)E}*6@&@w|_|Y?r&I)_gBlapq2X~K(-7<*W#0Q|9pASj#_6vkCfsJ<}a~sz*)8a9R*aN zF%F>wFLzS=>s2z@C;RJXF|tqg*Uw^PpFAN$oh>2zWQ~5_A^YTjLuzGA_R07S>e+|v zlkqi5Ci`UkCMA=7GQL*HJRu%mr)08E#&1zF*(c+-D*3KP$hRr^kCBjXS2Ecr<98@| z0CnzEGTA5NcPW|dlkvNiO!mq6JxV6~WPGEN$vzq1q-3&B#_v-y*(c-oE1B$*@y$vm z`(*q9C6j$JzD3DopNv1KWU^1jA67EiC*yzD`qbH~WU^1jA64>n`oB%dWS@+0S2Ecr zq;j3Wc*)BCi`UkZ6%X^GX9Q| z7qV>+D7g*$?gJ&0eKP)`lF2?9|47MXpNxO3WU^1jKT$H-C*z+gne3DC&y-B|$@u3= zCi`UkppwZx89$`t-MFR(>Zy+GlLJ%K6;JlbfojhoZ+|abQ?;XmlRM)o=UeXDG3o_@ z)f-2AYR6_V!M1Mk0gRKBpj9~lYU9;oOZVn^3yj*6)P&xB&aAmc?F2QUcb_w5kx_fH zfD-GsYUDXZrilt!xYkb0nE}(4m<)Jo5=T7CFc;FD+EYE0y(Gr0eP1r|(p7^Z&gybK z5e>@F6OmJkEyheKA!tn)!k2pj!dBKGfGh#7m0JgpEg;wWifTCmqE>Gj$Q4j%&1Q;v zoGh`%G9^#@`@)F;`2s4fZA^&@sIgud4A5Rcoi&N&s0Yn@>jPRVk)r?;EMF6Tg}9Tb zHCh{)QYxUyDjp6{CZO5MV@kQ~Y%H?=U^!hRWw~{D7(jPPS%Kf}A?o3|813gJW$2)( z(y>z(8i*ie=-_qfkD;}278alRn4yigAq3?upM1z`B`+yM2j3F;L{xX+)5|wkgV*Qs zE??>nNp?!Qpv}31KP2(qXwHI}#*h^0d<=^ymN)@vKb(fSsR$_5^Ain`Z?vvSb|~_M zZ*=G)yNSm55^CsqdW?~8bm-y`_lRu6OTN*eOY;{(E!nQYrxz;+W9V|JT%Pca4qahC z-eTo4ZH0WJLsw?+K!RGoo51C*6xu=dl5ccac6-L-_h%vJDESMl ztcH8TZ2i1o9(U;`*_T7fn!Us{Mx2()Hz$Vm_BQ~N^$=Y)&@x6esv&CRH6oKcVurng znXbb5=MgjI8OE^Ie~V1B1lZPx=&=!J2nZTOCgTp=XpWd`b6ecv%6Y_m8CQnIMfHdU zV%@ebf!>I-1^BJM(TQ^e1g(c?d{H*@N3Dx!;JhH;^=z>|$^lrCJs$q-u%^Mg5lf?2 zLhW#ozZ1auVxZD2TJ|+8ESFMi%%V52vo_))L3L)))!36BahZ5qZx;2X#VZ9(FpV%R z)1a)P@pD9Mu60LoX>epXX(zC?_$SL48A+vVbf0q8Ok-q*{J;i}K>rI3K4dBeb<`T! z*6z^_>Vr|}$Yl9d48wYHoN0{o%VV)^jc}0?2=ioW(Bc!xNVQ%KTW7$+$V?yeyG2h# zJ;q2i-?&!MA{-+fsV1CUcu5ZjLQTBR$Kf#8+&e1W-p-<{Fgiv>bkQBqjH6t42TH@M z-F6;hRE{pX9HotFCu*)W57*YH_5mK>japNa0Xn4eRB*l3#FS!5S!8WO7mn&EDI1I- z4|PCWct+;gncYz=7xE+Xr9*IT8kfmPwZY`IzKZ~qNU^q+4HF|v1^BH&=!}tNIlEDv z;Ix^u&NN1L&S$+U@Lup`6dbL0?2~EytUMD(FZHPEfE}Xx6altXlMfIO5VW4g2&qq% zO#;`*tA-OL4QciUS~wr&HmHXI!y4WZAVasxq1#NOAv5bR$_rZ8FeO)>j9qI5q8i!- zp5b-|UIsOkI7SbcdIH10p;Y#I)a=zzCcu{Mn1-$bg0j!j&|Lt|e!-UpwUHH-eW-@s zl2U?SV8cjmhQe77yq!8eQ- z5VX3r2be7Hu3clut!UoENev@|U(*CUFd9bb4tkZj>IHbMTd;rD&=BUdY+JXZh=xX= zi!4EF_vNVSG(YoK6rF}Q91YVYPlY)RFLE1B&*MyiE6$HDX_#5afw0~x8i;|>(A1uz zafemZgRMBLko~wL3BM8sTMT;aCfi9p@meZWkGZSiOb;vTy$*gi%x~8Q38ntZWM>ov zD|@8|@kH9{Vh#|kXlt!=6IvUMj`uY~D{jsd zt;Y0Lw$>%IYK)Ex&xFl zzAaict+i5n>y~IRI*vtidv7-X5Um5DR1D95wBwbsOh)>Nb8 zyXYD3YvwS~GPG95H(2v8b>8*rbcFhf!VQVM!;Huh9QN=!rukRNT+>?Zsf5}9Bl0Gz zUS^t`MeRUpD}O&psGVR$CQ@yvX}%$9>szb&W4iL4j7XAdZu2)$Yt(8TFGi1=*XQu+ zcRcla40Zeh^)PRc5ro);t_i=*HS#?H$5WRWZ(IbQohT^9sF(pc(umF5@gK8~6Ja*b>QxtHwb_U}zP4%^&9}5M%ql18BUGSGS0rsmrbiLl6aXB6@E$=X zK%37?4KIR`^$2VY&?Zb{Jx$a&{_7FjW*0tsL#Z=DI#WEaBj)cwn-Dzj0rWgrYIH&H z90a%;!UY811DtTE)Tl;iFstb7f%B&aAnev9m27+l4In=}gcgw2FpL}eKr;%hCghun z&^D|!zIhg{VUG1KFnbol=YFU`XPsmk2k3LD!vx*tf1Dp_)6YuIx&pI)(N-| zuF}?{NK&&sJ5eq+Z20cv$ad6-GrOWS(`48RGw?p$;2ll`!GoMV`u+p;7Y`DLk5i{MUYR66rK5BMZP-Mx>Xr2p6+-$q{AhgF7- zUzHl|5dy2$wK1MY#eA8ap!S39Fz;DNX+}u7P8Wmr2m0L8_6LuV)JbdghSmzD#jh{h)jB?o__il$FbaT`T#C=Jj_0f&v4f323}mTy zr>UI(HmTk)J62;L>>Y~aO?G=$y7G(}=Mi+d7J1SJzhe>f=Uc?3wz=6(%0h&TirhHto>b2iP@5x&eQMmKp>_wrt3!$-Sq@?k2|27A1BL zw+W0+-||)yNerG768R!_l&UIU#O_XDbh?16%p|QmwnaI~?s!x=$?l_+&*Yu`2cJw5 z=7lZFKloZH|KQWgukuFwj#hr7Mfn|{jA7-*JH8&YjEQTZVZQ5=iK{*4nfH7$&$Lrr z^O;Ysb$I&%S1b=}n+s|ZReRW1LNm^jc+@brs=V^Ez2>7n*=}*xzJru)zBFV(N8Pvt z=xLu!Tm}6Qr@C&ZPxtqzmZ;|wQBzx@cIhbH-!J%N4l{6DJ7WXPPEp<+_#+)r{BFAZ z!-C=2THG$(Y*b*1FNf~-{~z3d5hCfFDW~}|qz;}6y|{{0<3*D>JrNyEL@#Ie&PYU; z=xE=H!6^K6Rd?g-QsYZl_7xQ(a;Azrgvh-JKE4_^n^a`rn^NP)!GR#>jD)(F5 z5)qcoI17|8G&CY5*!`F#-Kz$$8W#+w0sh4McMtNCGK`*q>ikSSfkV5x%cGjMbF@FCwLgRWn@M{axLUh#%v1H% zKcs!PXwOGp(vJBh@L`haG~cM;WaPgkq5Wa89XeV7^7o03h;CCUNu+Lp#1cT@ph!_E zb4W7t2-;?{Qf)f`R@Ty(q=XX zyY=b%su{rS0OS@V76P(c@51sCA{U@AvoAQGfchaI@P}iNcD1r*3xQ^;-VlfVws~fG zZCzRaN?}iY!f6i7U9{-wP5<;UO1mtBdIN_p%J;WK|4^v1YKT9s1hQW1rM9)YB+<7E z9j#!^6#6vC|19)5um%(52dDGc8k#8Qg4Bmse}h=vos!MG8U4Avws9_OIW6=X$d+uW z#4;dFw2*CHwpD9YR^uc#9j3Djo^@PcbrLqcF*QN6QD1ADkRJwlxs&UiBvVl9heU)8k1gJxa#kUj7%BRZ>u0gt4+r52!VMt*=6W zv{5uhw)0vOX+$*FrOUqOI+~3xamW=y_D-ciroHa@uOj;kfcUtpFrReL#QMM0SGj;- zDV9tX9h_01kM0^vz*z_g+$r`^(4%oxX1^sk+!3OsPE;c1J9yKMLV;%tSg#<{PC%46 z=2TEl0Q(7Gb&_0f!a1Kno*Tibhw}9kHnlS@FP`nM)K;hPL<(m_{AYCah8~8aJfQ*D zZJt4SfP6>ZkutNv?Ep?&fLRa7JS1iTvX7(xl%wWTpu}tj&U2tX0|OWZa3s2)o>m)p3u#B1%5y>kZ*!VhQa`v9qkWuzTVA`QKK=^}M^S8y778&88u zyW{~Njda`VrC1|xCgqX&u9~JYT$dUPj%r7JjGlD7rwyLs;cmX!r{Uf zdfG6D3%}V@hYC+?LS`-YNbFW*=-9R2pyluq53dRA2XL5SEY*lM@D}0JrdYmJ5W0+H zEc5W0t394Lw|RJd(fRaHAo*T1?-CsM*^iUcmw9rj0`{Ar5Q6O}R+YzqrEPx@q~|@h z?oNlqq_m63r0ouQr$e4k1-;;q*EtoS+rP$(9$s+Ryz+fXkhY{}hbKVQ&)Z7|@iO*x zk1RzFCP@DglC;Ceo(TC5xl+h-o@+nz@LEJ91cSsPNYth`h>c?&eto7!?JKUvit7hY zoGv%#^&k!P$&x=kyfhIFhF8j{VZTCa6t_2<}xzBqJD?mUy<6gRG$H! z3?laYv%cyC2%ebXQ7&{>9k#u7*m^l^fsh|wg4hcH70kKbqXs}Wt=>o2ArABKt7$l7 z3+i6wD|%f!=?I1rf9ri3`56cgT(6&TrrLf+BN~EyI7iDJDtT_uepRjD*7&GvF%3=k zM9I=`Q1l@{qbZNzjbV|lO6j6e#PuHg8`$Q#4PuS{s;?RX`pyU9|4=gh#g^#8aq#`S zW6mI+`3Lhx*;k%a2kTlve6JxWU>J?E(=o;_6M7oxg+ixOBj{Fs$3|jmlClO#1{##d za0U#=PGmU4@gPk7t#ZU|B*`n3Bq{SG4uuR7Q~fTdfqI9I*T5T>12T9J-C^MygUf+(Zp9k zxQmE9ijjuz2{s3xwMN zdKmBIF@vSodDP|}SeV?Gk4^Mf7C*l~29f_#-d<$;VJm|M%NAx4UKc1*!E$8jMp<~U zJ!>%JiIqpbNtsErtzfNb2-jvJJ9pRgN%y^PuVR8r0ijSG~&Tn40z zbd=fVmfxIs?u{r^!9%cUPET|u9+;zgVBP_1UL)mz?rRV5D`de_mB5oPD z1;h>F*ucow6GKxsoCk;!SJzWG3qYL*KwrCZkFIGaHcPCgfVJufryn>2p__a$6*)Qy zeME8&m#+bO1#JTcx$J*Xo5?7XE*$A{+jw~Yz8_`&2M{RPy_Z>u#inN9aLP52Yb77FF3aTZ- zo(cAs4tu{ujj|p{V*l;1XUlgKmG!!?Dc*8>Q{|xi%sDYV>-K7iMs1Lxdp@p8B$2 zS@GJCoD0HiBGN4>W1W>jFJEl{;eH}|sm}LXyk`CqgiisvDR1auAeCLOR2G%aC%c>V z@Lt0%QW*dh+ydjq5}U`%Et)+ZtTBM-32^m-Q#jGmna&6*l!qXU+9x7O<*@-|fQ z*7|o)PXhuWGsY%3gSB-~ETgUUH(bg7w7OFMW5SqPMm5(*57?THO9why*UIRKUAx|z zj<)is684aNU|*^Ghdq8SB6O@qWN$Lbk^|>rKdn*vS;jQjv*iyRVVJ1+HpI_~Lb z)g#RpRx85Gtq4)xMGw$Qr-3jL5a(0wfzp9N*bfMn-QiIm!$Lh(UZzXVPbtD{-tfdv zQl?WkYr7EW0P6&@fuTL|hA_w`N4hwl_GW3?{9eCl^Ebmz`ZFpAU+$QnrhEP*6gdPC z$MH{w#g7xZ1d3D#Kz!8I%82UO-3Z8h1}9cdP8@GhPM?|iA#z3uG53Q17z7^%6uz~o zO4!R5;B6p?R{s!E=3)HvUx*zBDE~iV<7?=*u+uiff5r$)g;oZc93)qywqkp5l$Lm^lS1v@^Tv(6l3HJwRZ%NRk~> zAsy_6df%TA@215YK(v^|=O>Ai*||<5J0*RV$l6n9?Tc)^DeJbRtW;9wJ_N24&K`AW z6`Y@K*~LT9Y@dQvflSi@QR0|KLHQNfF981<=>#-dCmfi$ZxTjW;o$2~)R^rpd(UO0 z53JHu)BzABj(HT6vB1Uv%#%P?A+Z$Dh@#0+<4&YvWzGuaX=%AGDpIbNX12#BCatsCX_e~j=nZf&=PPlMW3U@iN31HyAC4P0`TYe ziKEX6uSO5U=XXl@7>N`nX8toCHUn3Xr=EdWB^2ES$amx&Df1O@cY*UVfUD(5m;F}}reuI$zHbI;|DYpR<(lGrM ziAr;iQa`cMeyOu@b9T0>OaEp2a`JsSb#P`bh0mIZxefuZV;f5at|+evET_YTpsN|n zU{6r`r?b-Ls|WtEViO7Rf@E^y;6?5xWY7`kA8vi@y8?Rj-1>*R1}z@xlFDCho;vgu zle2E#wySzQXyJHR@=*`g`3_g*`)_i-BTl{#X#@YR+n|Tr#;HWUcip_Dr}Ey{`BcAB zS{N?UMQr&g%JGCRl=7cZ`PL}(EWSsv$jy(?J0m{Y12Xt{Vv(C4rLP6y1^~^0OWl0i zW_?$$({lY*H!trer5C9y0Q&TBnMi{0IlxP=E*tAL@#l;p z^&KD>zSX0?ALb0Qce;7T8W1m1y#OuhAJ?@w2niWz15<=1I0jy*@DGOyUhb~ZDmEbd zeE^kL11x>2e6MCbIW>lK^GV4gZaxq$ z%EV>>pz^Ly=zc=8RBnajcEWQs^@i0EqV)`r~$&1(R9fC`E@J}xdPXLvPU za@Tqsne)$Q@Bp<78eRhM0Od&h?*R1&M9xrQn9uf4Rq9bG1bfG2n1439Gfs}csCpQz z+SQ9x4M3DQ=5bIi2R0C3{zW;FcnH9&ne7QRrKF~@8Qe;0Xf^X+$Q%MhiNo_uc2<$9 z4&VXV$!RJl<&3*D&s0K7{`m~9?P}gcQ!<30`TYmNQ`vmnb}0;H=4>} z+UF?B^uyr$A$}hq-~=QE3d#DniUQgX5RunG*7Fh+G`UwpbW2?MeiS-wg{-rJWMhCU z6(MA|8jH%mXW+OtL8lRvjw*NrZRNC4p&lHu@a_i|-~Up%gG7N7_m4w~4zGP~-cIa6 zRd!Q##)_m9_nG@}Yw!aZuMD*XpQANayQ?k0c;z_?){n^a9l-Nx5)vgb^E4<0*;w8J zcunf4G1Vbb^P($r9MnV!;nwN~!Oj3)lRCmqYjuNY)yiN2#O4E(-~V%zT1X`(!Q?gR zZ(?}GwT{QN(;#oXCA`LP*rQOc8<6Lf3u@-FPW%RgvSF#9&j^i6sZuvTS@cR6g>mX1z|c7 zOX-Apin}FEVPAvrDIj;Y6qTY&Qj@N5#@LyuP=Yu=%!u!U|ujxf}f z&Kj!F&3DIY<5qBeXW6u$!aQ9JZ%LxO^htN?Xa0P!mhNsv2WzR^c``Id^*=xdaetbI zF&DX-)4u;tvkuGEA!qz)@@-K2EERCpl#6=2Jg{`Pz&TVpEsBmnM|iC0IARvC4$gMO zyl@11S}H3%V)DIDdl8=U8Q*G!wWrY)ly6Nwv7~w(HQ9l5+xe);?yF(*@!d}*53cfz zIDxS}f>ARU-%V!=drV%oE|>9aQ(_FEb+bO`+GExu(>5Zu*8nb}`tLFMPUDriMQSi0 zBS5v=V|F4ze_oMt0WwmExL4=C4uo+4Iu6+q5-k9R~oy}{Bx66s3#$M zoW!>$iO)eXyqSJn9E_7elx4ha+AcVlH`9&kVC@Kq5{Ea_D}gNs@MiiYB%T5AV#ZNp zsR~kq4fMkCvY4q^7fTmFlsLSY833#wfTuwxr&n#EoLIn2M$RZ9JPpo);Pn8W2CIZA zQk3co(W+_iS%^Iiz%%lb|Bq?#J*o0JYZ~4=A9p;YoK!nqj-tKux(TS!GgFoN6lHt@ z$Uk3-_s*)YNc{~iFV!3gGodlDRKwo66Er52I1H|JT`0)|@KViD;!OTkH7%}hJ7E3 zA9?Tmtsu_c`Fv>@mm?yy_^6HW<7LNGXK1&&3Y#9?4`a4G|HLpPy^7X-q__|7q6gt2 zlwk~Z&BL^Ovt*`m11`~z`g_xY5Ua-?w3yhUhnn(Fbj%!fn!J(@oAgk##pG@1ZE*E` zK*m0Lz_Z0{NP|FDJrD?%Yh^q{4gsMbAP%Fp>S5(^pbrrVXR%xLpzm(7olDNpLm948ZUMLJTJCR^%agnM6XiaT6P88!D zdnJ0wf_{TtLU0Q^%YvBy) zDY11JII<{c@r%%=RM7%qSw@SD%I@<#+=flVyQK0gRNex03jr681;r>uVWw&?+N4JsbHl zNl+WF=QrNO=zF&m828ZXx1SCSC0TGJ%YQ~Cos#Qey`Nb??X4OWslQMa4vc;ln1IhahWI&@umKJVc z=8&`X_*5$66Yq3NwHnz(HIeZ_HQPk@hXbOB9@%I`0keQdLoPL-n~Mg(kk*+u3X*!L zDbOomXEZ8IXnuk;dqnfPgl3P)Z@k&8*(dcWj#9->xp+SkmSYkeeDR-ANrx#qnoha+ znRVmFxXuO0U@fOyynmVn!c_phefZU-_hL;j69e=!=wDrYaC#XC{Q$u-90YZQa=rHd z)5V*o7s1&E2n=)%q2yq|swo6|+&o+#@aX1kER6F{eVl1)%%!wF+@f((Y;3 z0?(!aftlaydN|P^EQ9#%3GuI8JTJ|J=nN7cdcOE%h`*W;|Hj2Tsrw;%4~f5Vp18G4 z-1Y(nwr`LP#TpkRh9(*otw%(J&P4uZ5jw9_)^VZl1w9wOCX4A*#<@;KG9fAN1IUz# zj2<7ckF%Nx_bYHGXs&JUPb^LxMYIc8DWcRX7mFfZkE2LstrspW^zTm;qkK;Z{YMnw z|6CAS!zJ5_CshsUcGY$rNQQ~iS>0c^yLg|T%JH(@#T#_p#a`4Qp^9&($3dH1d|Gni zsBXHEx`$z7{>cDzN2i7TYP5=UJzB@OtERPVV-+hd1 z@CmIsmA{rS$a->=_Oo+Dt+y(;v|NLRqM5qt<=<-Mw$aw?id21o zuKG;v%{M^UK}2@(EEm7lF|>7&>Iu;PnB^)XfBXQ#A%J&eFBCgRSAA-mB6STw_r5tU zKBB4w;SM5l@0;t&BvX!qaD<3_3NlZ-bIirqgaU$-7h!&z3D5Cy&syEb_JH#WAi54* z?Ni~XGEBSR;GAPWco$GkUI0F%eclrMrhvdqi3su{x`Xnq6F>1|f-Qp3V}gOuAyU>G zLZ^;3OX&I#QZFi?$@*MmsAH{7JLvQxHuja`tQhPT_gx~{jao;?)rSR z%6sqrB0^`j|FDSjr~>1FZ?$l(z0kH(kO+_q;BZvNHrFPue&7xEg)U_sNRk@#uTuCv zn*WGMIX%^>Jl!axZ)(iDn9jjQxiAQ0aVwtiC3;=)DeBJMUB)VqwtS-_b8UkCKE@Lr z20dMV5}A&snhel~VZB^@7`7XPokZmAMsFQ&Mq8|HiMWMkp58A0x@;d1F9ie@VxbL` z>sT15V__>ePXGed#ZD&{f@KiDDj_~pi~j)8qa@xiNgU2rz89n-HObrW2-29EA3D(R zwpn%V@J$kX2eT9B4mUf86aK$Ms0a$lC@SU3uV@K$t6^;ULc8rxul5^ueK#vLfIezy z+@^m&gf0pW;AwBU{`@cB`s8b%%MD%;(5+A1UzZy^F&4MOBM*S~^a_JLeIE#S6R|6b zG*)U|pMvlq5u0uRag`>vx&+4q0D5kY-|M6=Ft%!6q#6Tq|04#Ay=pfm7`@F~VI&TUFK(VKzhazNDFa#MIBdV$D2{@|_VrJu2~85(|VV>v3US zf~?0mD_+7?zH5(Y8(An=u>iBp4X}0eWUQvXHu$i)H|%T+2%Z49Uxm2!Cxaj9Tb+v3 z@5C&HTN@IS-74H$!Mzy}EC;s|2VmN*!u3MXIqVzI`tdmaR}-N&^Tr^DuHRL9&lBAN@M>F?1BNA!diy&Ga{ zS#-FBjV33>8+P&@Tf$4RJtpTGX`_ zI=zZrB6N~37dlOS9hlDVBU|}W3!3dNuafum7enX>%jek7UM)#-n6*q0T0=gdv)g!D zF3;V3o04RGtCO1}Sc>jj^F|oIold|0HsqkFOb&{ywPL_HR4@!VU2z_19U1gBe9Wm! zKKz6~--2`WmqY(F$l@bTAx`~&B;h;Cz%YSINS5di|smL+VjLV6{j}JSeM|5NI*d2HBiIaa2x+ ze+N|2{UefE6tcFNU$u(haW8+JXmt9BHl&f>>%0pi-XTM_CK-Y`5FO^IP@GD9pQuEc zZk;p8cZ%}sDJ_vzURNH%|zuJl*INuBnUm<@a<0GSce3m z>$*Ew3tiW>CP~M;5&r*NlkxtJ^TgV^F^PRzv#EdkHVK`(;@e4xbwm&s{wiZqQG*Rym#9%C9yx1cd&MM8`6wG}$s z_Lv~F*!ArcoX9RhfkbM#nZxV7S8Tnff%42m*3f>DA zvJaAmBWq6*ySKyc?~GQ~7fI~N4!c!?{j0F4#cp%hA0%2VE}=wqd|0z-r1mvQ8kT$= zl93)sIefzeVXsU`7P~eXc}x&~&!f20KGdSiduFv#vQ(cIKkkfjZ3;?#R0%_ z43B?aA~w(RQw=_L8V}YOK;WP#qS0q64CEf|SZu20H=sw4GBWGJ;wT~9qaQ-fb%1QT zceWo?KiE~h_!qEF0Puib9_oJ{sMzi@+L=oR+NfU&^ zSrw0<$1Q^mK5FPCc^W2MJz}xr>cIv-G^o`BPx1lu{f@x~KQp)&=Y>`zX+5#U z1+YULy)IQo4jF1>wujy*A?%Pg5Nr?!J=uO9lZyD=8(r(0)BmOfgcR)5+1|wG^(c`Mo%J?XQoc}URd>-IC zB3XQ|Bg}pkBnAX-#cZp5TZEQF0;y7^MAthcSM70^!U)n+)o1lZug_52I4W+N{`~e$ zMooG~dADI$w+iPT=G0hV+_@B-$K$DW$mW6HQy;zDC~Sbok7kUkanj)b5EX}S!#9xl z0^4v7*_wTdR2b0YEcs_Re`W6_;77bzqCi&QlLzerh*#1H_#NU7k5bY$cgDK~-o z2q2J~o(JAW z2j9&(;>$nK9XLM`@lUTnzr~4pOOE&B@X*%)-3MB76wVodLu-JJ_lx*oKYbu>_yKgh z4=~q>UXJ(OP-&a%oOs9jSUtGh3CDK4%=r#^j{pM4B%>3K!TpeaFCpE9rSk^i#U(&s z{D<27gmf4qk3w-e)cdmZ<&Ydq(l?$bZB3EFXu+R>Tu?(Bi^W224;Qx5WZRr3%T#Cd z-ylNdXWuD7_$0ZS6hql(IoX|?w36M*5g{siWuj>RMM-%%?wk;ke7Z%+q1>WTRZ8tO za3_uR4Y)-Qy{}z@r%3!~ROYP2ugvl++901M(R<*FRRC_AQZQ|Eo3xGZwB)8ehc1f* zxU8TmB~5+CU_5ePqvw_Kw{>C9Bnm6I9j>IA1R^{-rVlPssep_ho0vpw@L29tC*51M&e9@BI(*892X#`WqnM zQR^t{O`oK7t?1=@N6PDk`0;-&$Ynq%%2)J4B+w_kmGzvk#)9<^tN@#qo#5j?+`ytm zDAt~Rsyu*ik5Ikof*ze{{VEEkK|uyQNcw5NmG&Rqs=Qo@(f7;AzZ?WE{1^e!3yptp z=HworqhJXrytn{?kI9?UBSRn!sReCrxk0++?2o7!2kRf^>&)&RVHm1jM@;4J=CW8h zoY2=iSzq&HeJzvqU8MEt=DWl&=Dn#ap!!Tf$8e`>y*WQ<>XF1)H+-!Vtm%3Io;$Qi z)dc8ZO*fiTu#Ny>C=oeW(~T|^tWSZk383RLF4kODr2YXhjb4_+uLW?hnk%-=OQVnX zx~ppf7M9vltV4JIsBOxmF9k0V1Mwm>9)i1T8?h)1^sEBwMrfW5@N5Ed5Qz^6SqG%v z<+!g3h*BPNJ192+n*uQR0_ijiSBU`T2S7F>@cEf*&(KiZQUtb9E@j>FJSxwk+Y;dCrSHM(oP>?o_=1o!<4NJ82KY`(f|l7JTF@| zeW-aIydPKt(cVD1K&%sq-jyUu_Gi-vocBYtIf-5YWD>+ClISlr2TYuLfWGK)%jlJtji8Lg;L=S~`XGza`wY;F49KLGjgM$_7w-qxXSx?x1R$ zkH}h!ZoT2FZ-ZzvI+%L7^8GG4dE{)l7watd@4Sav{;uxl(8zyA<%f4+R_2NFcYX@H z9qxM;a4G%5k^6VPNbo!GlYk~Xg#O9HNtcnB`v7%mC+*fhwu)Ink0_>LI3;Dif_B+0 z#UcpiVni{F*xe}B^8r{3pyLLB=PMwuA+ZY(B{B0SP|gDT6VQm>LUz=ciBw~!9`$|p zEu@mZDUd%3#|MCXN8XX*?+aW8&JckAlo)l+_XT{$d)h-!!trQ_Z6fp%(7h<2svT^z zMPez|n|@2cS5LBPufKtvnfnXvb(sgAcdV_fS?PHF3w~{8J`9=%&|d$dWCSLxSAf3= z&|W{pUQfLOyDotC`d3VY*UNYYJ8CSKg4)q1$lrEmAGH%7#c_WV`|sUwP|C$vS3|?4 z08b{6Wk@UmWYQZ`P9Ds)voLVRec2yTrfJcnE-M}@Y?~RL^WrCQUPo>z?=_cI}*$zDaN$xT*pUhFRxeY(lI(5h@BH(9B4isMcdDtF!IG}%UOvVO3#7eF`JMsBiI zz;6ZUCVMow$sRkm$+j9!3GL{U_*Y1Am_w+^w#05mX`V6Qd<}J90z6ZJl zkIRNC(ca15is1gLtjk0Zwf9rH0GV@av%`7qT}$-o_I{Vz`&Mpm^@r}F8xrmP%Kc7z z-^x3&n^DF20NviVHlVR?5AdA;J=WdEO`JU*J2rqG>y}Him+P_aPGhkY)Q*1KprIh> zsjJcKt7D5$sAm;8tD)gGfM*?$ACdSL5G5&d6DTbw;Is;0ZU-_2iOB$dp>3?F#7o`~ zHoo!N14$>noxc_`s{v8s@C$A40(*yY(pj;S6Y)ej@j_c$(XLszvX7P3VcYwbM7)(Du;i$ml6HGSlIVqlRK~1>|<18RbMDr9Vy@7QAm_`}y zULx^6AweKnlduW|WM=`{0{Kf}gP9HFWl*046pjS4S!{Jyz?;@XY7`g)uEymgK;UJO zpx#Dq&8`P-&TNl*okSY|nFq1!0V=x{uyU|Y600qcw?KZKv~+!2_X^TNy)C;ZxXU40 zlg#P|#4{NuSAaljk|-5uJth{=O_^2@*E-}N#`l46>6B3UZxD=*b09|t*@*G8w5#pU zjk90&)bA1le@5j|^i4=dd>rWJ<)jU*}p68Jl_TWCO~)D zf!sZ7UxTk-0P4~!%kDwZp%~v>D>~PumzLdw&mFi&7>+IN)RkzkceIBvG0s7g50Bjs zyF97jTn>eU0iI$Y_aL#BkXk@KM&f-yYkFteQQ%Trpuos-Tb_O(N2b8108eKiU6JSn zh?0mo0+ji{ZU8i*7pTXI4MrlBtG%QQx7+GV2HgU&jgWr`a4xa|oVP)JlQ?UD{DQ;@ zK)$2aQC58`xYb{#f8L^hKE^-RR4MyI^u1h^q~lFm*}p`%-#)52)9LAtIsFjC=#*RE zCGJAT(UgFRW)hN4CTH`w1ZvHz!N{13vjIThE~mm0-2S>rR#4e8GgK4uVHkH%8+ZP0 z{KeDc}8)QBM=M(IC;9<8X^Gu5uh)`NBg^9Jc1en>H}8B|r}nts7Eo z&H{cNVDRTl(W^y;OC6$!xj4mh9Mo-KKMlyFCqRyfTjkKq9yaWIQA(5$b3gc}A^0=E z_q^z$r$Ihj);&J~L7)0ocy!PWpV+1?b0L^5kJH|&9#<(xro`=uD&=i-s#K4w)NmTs zWB^^IdR(Q6z{dgxpM~*`3YQAwxY=El;t9gaN5I|yXiX2791*wb1rZ##T2V@v$H4mm zLWco`r-2L*b83q@TOLO1{|d(NYjKVQ@C_A-KTuEWYC-4`*xe9CO$~f<`#K?e_DSGD z+XS*>i!iEE&KQb^T|YrVz9Zq#tCNXvZ;|9AUt13+6`KloQL(t|@|uw8;T!$6ya!KP z-7)raFB#*U@xrKl92xZx7UMnaTGVbeK>Inyd)SYFzXw=k&_hN?2VQzVPaA%F*;5RO z=yZI81TbWj2c%y&U2)avLRr*R&)~VVs~~35ZwhLuf-;g)L;E#^KQ1!5k!Jeoy~ZgRFoe+f<+_|E z9gP>FNkK0`S`D2x3rH=Ui@xKobJa3>kmR2=nfZt1Zgjvlv~OncJSM%p&gGX|_-kQoB-Oa*ce5_bYx(~prknY^k3nT%VprMeyD zAHe?x5GAU4KPVT?Kv4km2_TD*xC!8^DYo;w0`&#S#$tKC45pZ6t(HPh-G}h6qWgym zy(Z{YLo$!CYDhO>(hk=*RuDQDYUP~#5{I(Um$rM-6q6(KFMQ5_xZCqM96HLpLv&IV`JqIvp_Bf5i&xFt{(r6~e7Jx~!$vh-x0kRJR*^gz$ z1COCKz6SCUt~Q8Ejke*oZb34dT@xfpLKC&lXv z@Qu@EfTzRJkRJs&7oi$00d)~^sIHrl*aXNwU(vtLjrU5qG&i<{yD&(&an6NnM9&H5 z-{wUY(Kq0dW=7SNMz7`adSCU{*01&0PQ`y2){y( z$l5CsJb->G2o0d0X(MR>{aVQXGk}KWegW3#lJYvn+-)?3HTmb$odNW2QON_SH|gp^ zU*wVjv>@sBf@(^0VVO{RJEc@UNL8k3a49NtGgYXw$nZ3Hs~|iLHl>ZtA-M&Caf$zo z%J36VLEle(4cT`Aavd3`GN({T)qdu0i2Mb>nbH4!v!^Nl9+BMHs+%Z_e$0x0kEmcy zk*W>gpCTHG#4v!>LNd@#5eY0z7vESyF-H2!LlJ5OpKIt$YJ@Js_**qqhOfPk=me6W$^NnBM?t zxDamv11>vBc}&$AuMyph$Oo7KAm1bLEnswYARhWnuKY#tAs{;sl;yaI*LXAhR|v#x zf`58|)eWGsF9Eg_{83xLx)sQLkgoxlcLC|L7#kyi`7n^hNZbI(ei}%4KHeLLPV;#n z$3Q&_P}%fzHf3PlORTqmM3!KE2vCLevo`ZT)gDWe)_9G?J_VyIM7ofe^^-W2?rR(a zJ26_?=ApzV>Z^$!5{kfb2uU}^x@u=a>=F^Hk5RWMNlaNYg+pHg>CYTwTqhZ6F-)iL z_<=KA@cB%eO!q!iHvK-(WYljp@>D-ghW{m$>SvJ%yeHDyYRW-B)w2#cx^G2QBS5C3 znv(!sYXaEy@Cy}=i7~!S(3IHIx4UiMan@*gIfpiA7 zBOq{vj z!AcV*^}Sybbx^(%q4Re&x(kvxo7$Lobya`I)bEqpjzAfS+E)EyLmxaep$8z1sNLuX zl*(cH1618xf%Jme?EzhBQ@S4<^KK+Q1?59Pix;KkS3sV0W6Kk`J*h2t3zSVijTFWO z^`A-WW+3%%#q0&R_(dQcL`Ov0-J~CwpAPOcKwv;pZ1Kv$dR6)gxy61eQLgonL^u5c zQi;%$-x{5Rb;e5~LqA00ds`6t=@07{L4HQz!;`dTNcq&8t`quP$loP&>PrtZ9et@H zsW0h`CHZzR^{8vbEBxf^DM4sg^uCk%L1$-Vy`RMX#bK{>*!~I9ei>x=KX=xT!9Z+0aP}9VPHR4pA+i} zAVWaz2MDy3x49{lrowh>pBT~%-aid-i823|Lf5xfsn4Tp^YEp=6`=UJ`^Bygp0pp<&SH7lg$M1o?O`%xp?;`Jebc%HFQS|DwRk z!Oy~H^eM~7P`3vF{3t$cB`ONw2k+M-aUFnhTN2P5|(V zidgcm^;j!RIl|?oi)y+bAr$^uR{#d{pHVq{8!B)ZtjybSkOSZk&0dB?A42{D=N%;8 z1n^OIu4urz9p7xF56$M12692lYP2aJN*wmXKw$j=><1^OsdiFM_#p*3qlB;@Dj+x$ zzTW6&jzB1HBf0eC6xOk zkUs(GV?ba|QiU;u{+;n7sLROD&Y z^#3DBB3{qP`UK?;km^#zeV`R{)LB!7@dPydASJ>d*778}8zCs(wl)c!zQNN#=z2<^ zYbvs?rQTqrh&d!V;D04${ipnQC&}r+pb3Vxu?%-D-Vdoib(mG{hxYD7=b-&i{=L|+ z!Q;Fi`rodsTJ|7<55SwFM>b%i3E<69 z{fCQ`8<4a)dVC{Zw*>I!=o=&s1A>$B4C|s75gv(cP_0MsoB@FF0B^`k2oKr<^#iFL zfVV)^A1zYp0Nw%(L81>Jcmnb_LKkm;UI68JfC}c^=}~KmOk1DBAbmmP+zbEGj&Zg< zFOmptd$J$HN&uj&d&PIOqxlMK@-&4J!mn!E^For457t8H-?lv`MT{0|xk+NmsxO96 z{B~o`|F!K|eO8;y+n!)A)axe5^Oh${nBMN(C{o&5>ZKLn<-UyS(N?Dus&+9Tx*SyA z<~$7S0YL7DlCvu^(ceWokcYN7UxE8MAh;iSPNPiT-ef+G3yXk2#^2g59f@$nYew&TWOnb3Ja5(J* z@;yr0Xe09{@|`AarE8&$HZGl>z~KQP;1O-Q1<=^mREbck`YTmsSOX+JY2)&Z(9hqv zTqQERahW3sZ(P<3LK~O(&V=RGUZGQeC>8o#SaGS?MZKY%>HqJIOF>e@Sfd1?t;a1+ z=Bka${3P~c4!dgOk|mMyFB_MpM>@hB;m=X}tA3q$E|U`>Kc#{)cW1obmWJWL4v zbo{{0m^=aeqw@D6v7C@1a4y|~hz9Vl#-BjqC?Ord>GdQ|f&jsCG}{#@gMTr8DJVAs z0?#Ey^i-H)%@6`jRC6GXHsy)Rzd{(!NdgaEyc=;QojHnsE*|2&v8JZ?U?#g_T)jbw zTDE@$wWJ^JehsDX0`NO9o~^hcMhN{*_ZT1}0l}QRasB~$e*fiuQ0@T)Hj7RQHnw=C z5Xj<&5KmaVL>N=cbf}PY)2CbFl*6OV!k3Ns(QRhYF0tglhT#{lzvAlE*H0}z1u z1&~un{6xriKzcrnfe&Dw0%AUcr5TXk#zjEzK6UPLuPz`%>sN=V7CGSdgJ=(c|3Q(U zg3;~qrakMJFG9KlDR>rVodEw^ zlKU(x)^kj6T>MX{cLZ=X{$8jrwyj4T^&_BQD1g;Jjl@<$Nd4zXd<^g(I#<0lRn1em zr~sd=^mb2oQ8`vuk)rny_h>_CDbbH^?OEf5Nv|G$eIC;n_G!=YgWyp5X58Zk)QH3; z(F3e51#qDXEvbcLRzQvKBcVgJao!B5@owr;Pv972+(d|JmkF=Z%G2$^+?U4M~4J? zsdh$IA6Q4wcbpLqy^P0$1X)KiChdWBF9J~Kez2Or9F&qZa6M`V$h*~DJv3*Wp$M|3 zWMr8bJ_zF3uw>o?4f1bKs8k*rux zyhQ`Z`^*~;Jw8Dxf|7Od(08Z~LA$=GSvAVxZ9v}DW;|;yoJ^2c!xsr17^D-I$5^d%lp^Rm2)T#0!6Q;YyJ?ZoeYKS$Xg4S|L`NC~#ZBX( z3uoYb6;Rv+{ul~>07^Q>Lm#1m2nPD&p+j{IMKH)8&st?0iXgApn-O|&pi%@y7sj&= z!l?v(UqG#IN7E5BYX#qoL042jCq3|-CKLARG zrDko%JzRoj9gNh_V~Aven%~DmrD$A&PPoi0Vtv{oea;3}6QXj&sDl%5Sk0maQD zp~5&GPXIbrq=vRa2f@Hy3o^k3|;+v>zP_72n}f1WkLShEg#G6Lj8DBeeG+EGGe- zUrr4zK)Vn$%8Q1+!v6&A=S8vtMOe@Q;?2?bv*2ffM&Y=+5oh0S^$Ol$@);{J)TYeE zuVFqG#Q~ZF}k?DoAIB!3?i1#G=qJ1yaz8 zk>++?%F~*WGCP7gxXT#nY!9bG+cMJ2UTXts$H*Z2^&pV;>DNJNx!v|NARS|KfQ+?& z-H5mQIxK04^l!~moGPf+6& z1*`o5FL`}aAmH^8BZV4_>^*!Wp6U9{< z0paN$eIA71fC58#76%W5?&TN=eoK@kObI?&1L>tYeGGNw|??|pD%LUO3l(&|qA4MelN`e$l!HH;CUjt5u4LPX z!p@4`$RzIuI5bj(HuBeUg>FF^Uiv{K6)7Q7ZA}W+MzdAR*XnPohx7&7gx_g~ z5#jrS-9ZZ80L#Mbw8eKob@=|sGKdFjlgvX}WD(*jL5UV%3|d(C~}1nIR>nA>;>YDHqug&qgU+YBhYfC5zIri2gUYL z3rsN5L7k16ODLHU}Iz3FaSlaGBWakO^)^1fPB{&!BXU#5j(ycyeUTHW;m=O z_U=JoQ?<@TvFZN-HqA)=9HlRhReS*KS|c?b`PRgmPzf`PSbgYR7rPAuOk|e9-#+dkTdIAw zKlbBh@Rk{ox!@g$bs_9FBXudTL$Mi%p$IKfz;8)@SY09|9GZU7oL(%vBNua!15 z(zfgcdY2L03T~m1_BeUqZX@(P&{899FEvM{5qKGBb0e)4#l}5Gum`oHk>;WRxK~%Z zvyt{aq4#MsdKqaesXFU4I><;niP0i*zedZAwD!;#S+CKtM%rfb(gPZujH_%Eb`R=c znqj0(LV1ygjnp#4N`;X&<8`2qXzn5d-Hk%r^~WYqCz*SZPLD?>+Z4byNAoqo=O~!% zyJtgU3P*2PxyDgtrkbyU<$Jvmd=ps~E`$ede-0S8Wm8(&GuxOdvYg}JXIDd)imYHi zhf(ZFWcB(;w~G`+R+>a{wWij2B)uE*dwqTIZw58Y2tb??%GKo^2t1m86%em)D*j~w z3RV^nsm+5CRF9>vVyU%`6opuol!(rve)4!|2aE0|(W_C;`;Mq`?In{orGLo+M@WD= z?WrmOJdIP4C(;!B?)7=_FPl^y30)Wu9Ij#14qJkCSgM$$sGJVxNQp_KUx(<{U~d*3 z=!i~Eh>|C?sPA>OeXq!~;Q(SUbL6#SROGp8-Jn-xUOjTWifq$yojGyzBo%pHx1L>2 zv9_I&xLpbbkr#RJ&9MiQjW02hZ?_o_WJfg`gbVGr?f~*~go-J(>20^jPDYyBpH%|c z#Ymame0QBYk6 z&}Soi!k2M|k@&azlyiiYD+U82--qV1#7+2@Rjx@$>9BbdV{qh$(1R@Xs3S!qkS>^g z<{Cn=@MGu=mfG(~eV348tt^_AV?<8aM<8!!euPY?!xW>+o=xNBuZ;NYtBCU(BVoJV z7eLN161T6Rq4Re}a_lGG0`dnBxP^ATcY*vFDucFCdmoKPe=*YBj(h^-EF)!hyS+gE z=0UTwz4;9w|1hUl?C^&`l)<_O#aizNW@xNDb}L!u(%9J88~cEn8k-!;CqKG1HX~M# z473c^SrPk_BHUweyDo}_F~vu`nzuYg?|4LPoo`L79fhu6W9wpJs!TPFZHz6)ax{{n zu`RJZBpJ~2%(mF?WM@$GcE(JyGo-QCW5r}=SY!KRt7rg-XzW1jRl-s=b}05HIXtGZ zqcM|orfKX%%twAn*Vvh~1=OiCG=^DVEft6_6p-673mBv)OLH*`l#{cwH5xZm_yA1< zH4KviBfD3mmSHbOFN)nvEu3QnXzWn2zSPTV>rB2_ZNhSmR2nwIv6bY(JdMR;sWh18 zYwza7ekLy!7-=+q6vmDcua4%G#u||!b&W9ff#$IjC?--*mrxdags}QrXJ_n|sb3cv z<}V1*>^N3|_M2p5-4MtP92-wjd^L1zTuXi~HKH^og;h9}rtn6Fc?a@A!-a+&K<|yU z#v(h?Si4HaO7;M2B94pgp-673F=+T3Wk;GB<^j?Wj;7RtvRIvFpOX za1hW7m`{aw!a-p{hJ$OIsR!x*8!G(Zek<&qcZ!X*9=$AE6fLZltwF zHm~mz{F`wSO-{=n$$K|NaStPHI7^Hs39^kALAo5C4X$PbhmdD`it1i8?qV&$<$O+@ z-bNbDh~XCr=_BUMp~&nj$Y82rKO^leF6=$0Fj~>XX@y%=q6%L~Yn1**+8LJp+mWTU zsFvk<&+DV8@%m_}^!liuV0+E~QY`q6qATU3HuurG&AtONsV!1zy{zn75K3(sS(pwf z`w+}dy(n@uwSqmL#9Fgh9NJ2ewOS#Z=Jm}$()T4QR2Z!mrsW=gU@w}&OAwWL<>+ZD z8b~S0fmG&HLV_uMfrK-!xO$X|hV)9^ex?iVmV|k*%YoAQ&=WSO%Rgn9v|5V%PCes0 zqdHGccfzK~F+r{&&i8`6L49|bsl{58w{8>UD7H_LHD)?3eZ zD@UoAVR#22T`Pz~pP0*tJVz?LKGJH2-J9UlaDVi{nAb3g7MYEIVzv=Ifd9R|9r!mr zoYvBE!Cbrd4~9y+C`zHK>^^A7v{sDxNakWIA2OK}N>y4}>Zc@F@ViKH!5PYR z41Fc7n@ME{saK|TuSx9Sm1w$jKSyNHL><$s>2wXWPkM?@uR%1V2Xwj?3QP~`bO-^S z9@1$)T%I1*>0@Yv^oUL$L|N&nI(7pbIz5f_r0Mhq*qNTL(~U_cL#H1@ z<6ucoJtt^Ee?~6HW3V;o8F`%MQ;?moHKc+)pfaO*>N8|{VZ4@2k2rZF5YN%OTKkPw z=-;(N)bw%t@rL*}*H33cIm*?FuzKcO$P>g2qTXdtk&> z@D4aHD@9k1B56Iy+@SxcU?bvn%A(WB;Jt7{)`vW(1zSOP)<>LnEo=*IC8_Vg)Ra9C zJnZC0o)O5O?bj8HVNai(nlp@aeGMOEr#9krEu?FtX_@t?UCp{W{W2<3D^;g+kf~Nw zr;8z9E2h)eqR<@C-=5OC9>FE3N9}wqV_;~gU7*u55pcOhI(-cETygr<7(a8h(}S15 z-MJ04%v(t3U7*ut$eVYePXC7b=QY;pdKhl=n&|ZN2%5a6I$cCE&2+j6(VOe^XvpV> zbb1PDEM-x>Ik;m%6V*2PlyGj)naN)wKLV*jA^5ZkulKTb=Hjof zx72)*rmrRt3fFBFZjJo*j8DO6Ek|GU^BQ&A@KobdzW>~h!%rDEw?BH`rRw$!--|-a?0bmQE1Q&cwujsVPVX>n zczW3f(O>KKsYcu3L3Skyt=l(+jwQ-rd>X`EWJuk9CfOT&18r3(@%0yS6ke|V{Sn%~ zaF|Yi2)pV@d%gwV*Q>ATm!qxfXI3Y(gPSoZ)z8xD%b>G<4LvBer*w`^|AyGCUr*;< zg}g<&54rXrU2KKA!4<9m2D*~!X_Ii0>Ge&+zq}k;ghZVGxf(*?ECZq1&v^2ceyF5| zJ+L~Q7)D7YHO2GwQQwjrM(|_V=qn|)8S&Yp3CZP?tFT>d3y?fn7}O1>xGC`w9$wNYFzdvX?#M$8#x--r|Gk_$sr>vH=~ zc)z4Ei;cB=llSz&>tuWQ8xU*8Vl(UqNUQ}bsIa>erzLY1*|QKdC9PS(a$Hmd(uR>W zb`ILKq#fs3XD>z6m9*zP8|?s|pODCx+^Hv2|$Vkbs++TE~@DCx||>vlT> zoGy&)w{ywRZmjwMnv*K&dJN%F(%oEzrcLivQf{A4wCV^JRJ!6L^`VEhVU#{`(l%Vd zNL<@6nvooB!x%;iwGCG?QmVZ$mXYS#S>qTfv-cc>-QyYQtXyj_6qHOb={a!z@NrXd zd|Yx(_(il1ABUApjZj+I&yXLdMK+=heVOB~P$km?6Ol7)KR^|~j*+-M9AjX~jQ9Xl zGKYVitYjvaQ)rKal9E}Bl-k2d*=$Cd+qoNo%weR=?s*)sIG2&mb`x^r4eXs>_F#11 zlAHX?pl6UhfQ(+8QUavh?oJK4l=F!Rz_ynttqmXv9=0+pjUDm zBRARqCEHd+FNX^j6@-q$f|WI?dBz$ATV8{&ZfCh|Mga{vC3mvEokl?eYSA@}y>1k| z(+HAxRUe6}?>7qmBAY7tnCgI0@Ezs5C-?-McgQHHgTbd{9p^h>7hK{7c0Xf>?1C$a zx1O=1cEL0%VM7Y-5l`3!$EY?BG4G6Ba3QAel8r%LqWTeJ2KrF`@M%+V)LZgFnA*wC zp$_*kx0$r&0o{Q7neCEKGJ7DZ@`e|_8c0ujxkbZFQpdzo-5PY z?nhzs10%icnk06dkwJD7YR(gkl-mQyoSzvPYk!w*s*+#R+o1}R?T>b&&_6Qz0a;>d67F%O~Oy&H|=B$hDBt+@M=8duckFoCnkE-b2zjrrfm)vAGg}a+VSb87}gk2T_ zY#=1m&_Ztl0R;g?P!SOkuzjLf06|a@K?PAh6s*{>popU2Xa6i%uowJPY$*TtJu`P% zV)^}fo)gZQIdkSrpF4NnyRLVkXR2fV?RihqRktacJM*q)`=uz&U3uxuxRGh`QGQR} z22KLS>R4lc-kC4JN=T)9Gp`{_(p058n3qGTnTq=??^Nc{Ld6}*7FLp<$KFq2NXnx3I4V~5hJP5YvFs3cxY-X}CG62Ve6J%q z-SZCq%H#d7VAMl!VzCj?@a#avgxWsqkD~&;P1peYr2Y(VIU8VK0XGL8?^xEuzLpgH z-UC#7xrj;lBunG2=A7>jxXI(GOa8Kf{Eu;dE;HS9Jl!)6L0MVo_w5?1<&vL_Zts;R z%B(|JS=tw=@DE|GeIvy;gd=5YiWd6lycc#NBNYD}?Tl3X)7Y{_MhWja!{;_~Jq^2rSfU>I zD@*xsFsh2V-W#qIYI%K=5S;Frioenji@+!?R;4--%K8D$ql#`J!6Br34e7i#}AcoIHHutwa^${GuPt>V+igTF!X;gR6iDgG!5)A=UF zpEd^kdd0s%{hJlPsSf-`#UC3C{uaeQLjG38_oU8kiucopO^WX~8vJI(cO3@)cE#^H z3H%+3?>!OxR>hyewEtH8PWrY@@uR78m*O{#0DrgQpBWB*yW-EO1;0b_x6;nNil00L z{QX*=Iu9uR4%&QB@u$%Lor=GUHXl-aH`;kv@y%G?M-)GkX&+Vm9+vSj#lOtDeO&Q_ zScgw2zAt^)rTBlbTu&-~1$CZMd=u8s(~9rRws=`uV)#Q>njK z@$K2}FDQO5`4<&`K7HP&_+{h3zohs}X!B*oucpoYioc3wIiUE_jw);TwN9fOoir-HEKT`bntn-f*e+~5yDc+!O zpD2D1efU)IZK(5^;-93=&lP`w_4bA0pTn3c*OSj?%s%CrYTUifaQ#f#7ZX>P_tiK$ z4P&$G6wzrm+u%b63e@eU+-1!S1YUJl)4A0bNjE@QpMIn)XF?lQ*dsH< za5-;zGD%?v74Rh!qenp#hG$L4179e-#hUvZfjB7If{!Rwdh_0cy3AaPP}3DC8BGlBS3@3x#jZD{baDlXG_cD`DokYue-Sj~|OR$F-+M_XqI{)}Yd9 z__@Y$-Pm}aLVODpKEMnn$O^k+Cw{yE6#j`}lO!zk5MVc;u>8Wxq!u){0rGN&@jGDV zq$tCtJPbq*s4aeDW>Qavls;bSYM3)+wX$5uLQe=S!bVW zn3v0=vN){+ zf7XlNJ&AVF>WiSRvhRRf*k^+u3WOKd!Tp)ao?i^$RwCR|IX~`YAwo~!3*(@&gIbYR z&Spv{0GmkpcX1-+6OytoQdKkMcS$MdF{KmWq@MBz{SepOIYx}mt1%q+=}W1m zQFk+HVvbdSr{VH@5VIMH)`7}5L+JVxh9{^CwYolzkjEiC3hKHS!cSm6pzu0`&z}aC z3)J;P2$w$t;4Y}^H;e&u2-MAw!4i+-&n}od6{D_ePYBI+<5RGp*o)fLQHWtnp$f`Y zC-rewNj!)Y21fEqCT|2`0+Nmem36JJ+6J*@P{kZ$bZrk|4b-ls>fj_*R!V#@V(Xxq z5r*mz2nV3H4^%N8g5#JUs{GgWBm_2i7T@aumAzBHh9j@(+Fb^R66BErNpP-BkQ%&cTifWmC!39 z&*|_#5Pqi$*YmadP8Db6#UYk@5ww5O+6_7YNujM^=IxQG=NTw$_E()cmFrHGaF(?qr>sdaYLcK%82;=kyGbPZMKon9>+(GHFZ#AvVr;Oy9bAyr2OjiK);o!50cq1x37bu$_I+7-|A|G)9O4r*w=w8Wdp9% zZ`iF0SJbL$lYTRCYESBNPIf>3tRJbOB-pPJKJH1XKsZrSq|U>0`UN-Qu?E!TK(Ma^ zR_Y9}lF{={Tw*t_OHH6KUO8K#FbtpC;GB);GXA@Muts5|{sRglZ6GuqD8_K|CqOY= ze_&xrYZ*{60?TmKU?8QH6itG1dJ;q7=? zFXV$?nJ>x4;mIQHTE!1S9i**NI#UY4UsoVHyBdLCa~$fCwpOwcs7KoMh0M}*QV2R5 z3WU!>o2K2>Ncc@?#P%LKf`*Wn+myIiU^Jk=ZX-jW zBIzAGycA#&Dv};ezY^gs2 z=$r^l$t5r)2f!3oMh1}~p4^U}kr-+gfhoD2yo@j`0#kB3i;#knwS__&wPXOz0VDm! zG<*c6MKcwG^zmHJ7G)i|G<;`!~2FRg=j9US{3OG=p)e z6i-FgQ|J>7YyF)dR9bbImK%<57)3SrvtC7;Hatm$G1g4FGeLyumc@K#23UgmhL=5P zGgzrL+(AoEsf0HJi`{P_uwh{z2o0BD4mKNJUW4XqSkfB}*YJJtDGjG1HWd@^Ux0No z1gvAv^xJ4vYYD8_r~BCf42xhLdshCN=v=sWrocKjz&Z>F5Z+(|tdoV2VFU=)u>scM zSPljV*0BNBp_x!%0vv}_OsOP5u#OF|&RR@MWdVY9Y=Cth!2jie0n8m>oev>Z2I`=1 z1FU0Xto92$!Z?6+x}&?+1_;)%0oECUxG{m}EySH>+Pn-=7a&;223V&C()0kqIyS&M zoO|a42-dLy);S63<_8GYu>sb(7b%tm2-dLy)}hU%0fKdGfOWi(mIs!+3JGAHDoASs z1nbxU>x_cU4FQ66YzM3pAXvu+Scf&SJwULI4X_UHrtJ(6tYZVL^B&Ug3J|Pg1FW+M zHunSw*0GnVI@=#0SjPrf=T5}E86a5423Uu84i5(AV_ew)>#Rrap9Kiku>sb(1JdCD z!8$g;I)6a=Irz&yNC4}w!3;AbfeY`60BoyP$JOY1nbxU>oB&?3=*tk1FS=Fx)~%`#|Bu3;v6%$ zlidzr9d@SqX7CKGH+BN76C_y223Uu&0PA=>?BW8}vCnXSgHe+owC8x)fi3CHXJ);} zin0jSvCoo{Yp{-ew)+c2We{r=ojqAK4Z_ z!{edt6#6ZQ9ebsl!GhSa@37~K$|C$NpvqOCLNbORcI-Rt>mhhNH{-7;u*Zsm)*@oZ z-fBM~TDu)BR`_u(txCj>{cqnFqI#IBoG*_#stU1VZ?iMdE*?)d{uW3d0HZAsv18xW zFf0lYD$rFxl67WOHw3X`Z_gSgT4Siie9k;UOB*C&$G#`)0#W4#PE^+=RB2wRW(Z=( ze!$-ar6?j|$JU6QA|iI|ol@zZA|iI|hg1_<+-TYlix9Mk*s&j#$vb2bv131`XL2HT z?8h^>0+(1s?AT9aGn+Dth#h;E2;~+LJNA0e_`r^T0@X3Wd88^@8Xg2o=PR{j7f}c#r35{B5)ze~v3F#E$)??@rO!j=y5^ znS_?=Hbm^$U-|Zn7B8EL7N;R)YasI!#E$*7?}%s}b+j6yijDVs z?ASm0*+&hFh#mWg2p)@w9s4H{{1y>A_Rk^&Eh2X8UqlF5cfAPVSDAH7tkwr0{N_6y z*2*j*cI=}flv_mX*uRTVX%Vqw|DmQ3i-;Zjn8efuh}f|WQ*4h35V3=w=oG0gK*Wv> z#14I(9@zUlBp`Mu%?S{(V*{~6X?}o+9UF)p`mrQH#EzY&E?6uL5V2zevBS9K0U~y6 zAazI~0M~$tGgQ24aUDqj9Yb#LoTb z2!YGk!XY!0bB7TiV#fwzhlxA^B6e&bc0w2h{s0j>HV`|Mf&n6SYzMIuAY#V`Vu$lb zNq~qQyQN0#1c=zNf!N^~C=VP)HZ~AD%%L)H2PGhOXtN)X0vy*s?C|1#0MSN(h#ecJB?}>WjO<+=h(PT0 zL2xz^J2ntImqGA&uEO6&T)YYgA|Zf6Uc^?K{!J3Qm9gA6$xsDwg@%CGd0Jwh$6p!p z+)Js!%m*j_Yz8b5v10?V^R4LqNL@}F-0LV^PJ)2hPz{J3E_dzqB6fnAR_hkfEh1tkm}T+Zx4(#pouE%`*DWG; zf(~NG`;)U_gon98@abJ1rR%@L(C86|DO5)7>kIV{6F&F1#ehH?BpL4 z!4n{2C*LsTY1MCp1hJEU)JM%Gr=D!&1F>@n_@+ecSMDLgcS1-(+|(h3nf1-%30wUs_%#cz0rBj^%@%hR2YY5JvZNu=qo(?H26sL^Sf z1q(WPzlKh8Aa)AMbA=^hr=TL8Zzoz1u~Sf$&H}U`VyB>QIvs71&+$GWo!P03e+MTS zYs5~$KsWRD4MV>z7*xz?9}zo+4Wvip?D&83N6JGu~V3-cp`QRvlLInPN7fn zMC=s$6))S7Y{e6?Q<$T8B6bRM6;H%YVV>fN*ePtNcp`QRZN(F@Qy5S@5j%xJ#S^hp z)Kt2luL9vk&4ic3sITyh>Nk8u>=c#fd;lrGq)}sUYa30&r-4Qx^=NAmvD2uDk4+!6 zh}db=v;jw7NFjC_wRZoE#6B1^8iiF}MC>$bE4=ID3IJH<O^T}+@C-}`#hrD4yU=L4&4NZ;2bcv$%UYaH z7gss~`9OCV2*&X|d&$hPt^Dd5rh-D!|=+%2HyYmBr_8;Z?*f3pVO zOPO|H1GmvEL(~l`JrjZ@g2!+TI~iZy%5+a=T7tluwNm~N1O^}!Tfs*V7=Td169m>g zPw@nS0TdviX2;1&895j4E4s7&+;T^FwV&?{Rualb`B zu0Tt+Y_9B@Sgl&N5I(=8Rlqw1X{0V%1(WQyD)2KRXqDfEPTfj|S_mDJxwsm);$1Iy z2PpW6Lu*y4OcRIJN>3%kp|w&|iH|t6R_&AyacCtG#aAM2NmTK~p_O!0JaK3xF~vWG zsj#Gz;)z2m>8$t|!^;&<99nCi;)z3R?N>Z;XsxpqPaIlnUH!zN0kXkM>JYk=SwtNxJ1%s5I|NEF7>As>1GLs-7@Q0M5Be<`Z5sVw}?gyx69%T zh{^p{2<WPVG)fMcF<@UFKxsl zXSl|{hk8V#g$LwigEuUq(ZU0L-1U`MM5BcViBM({jTRm(-jrKJqlJg~HzU(Zi)gfP zZ4r(2vxr6u5A}2PthIXx~UJvOIKcA5uIKXzg38v_znl zsR1ttv<^uKv`9h2nT=SzbMRMo(U*WJls{LZju3MN0~Gl@K{8kMKl7SL+vEF#b%K%hZwxI`4OhR-G)0hAQ|Jb%>{YI9VN|Dj!Y}A*g(qDndy4FinIK<-@5Wl&M;n zE<(AgtQjIyT122lW{RK@Xpz(0Q{heEGD|U9JIZ>+EduhIK#dac=f)&CoxK zfQX6A%WQ>-!*AWnf}blw(3*tVFET$k4229?yp9@KAo-M7Ghifgz6fR3BpO>NLb*i* zTI2!|DlH<=B8x=mXAyxGxln4S)*=Eea!G@&urtOY0xhBuXciG@k!6x*xtQBdGSxN+2~y14AIoi?|KK#RODLJNxsw8#gdR$>u>7WqVkutfw~1Ppv7WqnqT8jv@$hRVlv4}v692TL@8bx=$6JfeV1X|>X-5o`k zV-bNC`87}rVYx*FTI8sxt+j|ii~J$(YzXY4V5m1JTLMI&MH~cLfC#h*5NMo&cLs<+ zivWSfg>YAZ2($r zAkY|hI6wqi1PC-rKL?3GivWQ}2}hJfphbW{W9xd%FvlAZXq5bXm-BcNJiKzDdl(ff zn>CFI(Nzt1X|=-e>p19YQhHCr(Cg! zK#S~?WeP8hSr7YK(n-HX1X|?fA|~O<42=r{Epot3-s7QjxD0{#Y$DJiK%miak7pEu zd|4^D0ohnBmqeg-^va=#j|jAmMJk*Kw2qAwPXt;_ZH|2FF-kh&Ymb;)ciG?chV_xZ;UG>pWcXM4)vZq4?)$XQbkZK}` zK*bY*7Sub(qo{J17SuaOBG7`hN}mX{;4sA#ffk&hcp}is^0bHx*Z7XL!=M4(mZ$%hEEicB@`UT3&| znj`|P`};DE@|X8$=$+pN^DR%@df569!P^T$KvoRDHKs3wpa^+Zes2i*A_T3Xeh>;o zD6+n$TA>Ibs}l_riO}4d$(Tkmm6uo}7*i|)-Zs`iXe>gxwUaR+5h|^h`aozRLO*K) z^JywVt@Qz|mB`!QF;@C?)9BG!V(P3r7}G|C=~hcjeLYG=m}3<)rmcLYWWIHb`LvUm zCD!2q5F!$@)Nl=<6m`#RjVb-K6!24|_F8kg^x+DKQF&ADM%0$avmAd5_>N{5m_m86 zBY*gyX84HBt6bmkMNz#Se|^N}Rc^MY(XC3_4Xv3XSs8y7`9cYy5g)O6)#)1|Ti$Xi&O9H1nE~=tY>59|FH1nyyU?G8MG6O97tTdgvAYIQDb#gs!GUh?0roQR9?uH=EuiKmFop7G3c3bj zwjvwS{HNn6-W{mNzZo*>_(Fs$b$!^%VvJk}1zOv+gUEx+{?()6yAn4qM9?wk@&RUZ*{bwPz?E*VHP5k^ClBT4Z_ah9yO565;}pXj zB|=CpznG&%D6#TUE9Myc4&+#79nOa^R;;110`SQk=dOhVjVsM-T;37waY#c~mb;WM z0m*)aOF0vG<93%}u5>8}+KU6%x|9d)#e-E!3bp6`8*{aiN&;=@!*wos;42FhVsM#j zl$CNL`#V&#xz^==n^nV;yEEa1R9lKsHV{L=%uLUlj4-deu4Pi~UXLJY(oN7?z#MQB zW2xv>YE)8LK9k4N3wb1mA8c!(l6P3nf>))R++S8shCBEdmA~+8-M}(z$7jt(h4xC9 zqDFzkY72@E)4B&Yt=C5hug!v$>b>5FT5h2BNtMjrBB6OH%VPKtw+Wb8&gY8p}A8`63O)9{E3UPc#noZ3Q5%36w1MvqIi^M0-RV?y;mX;Mu+pjH8@T&*=#(_uwyQehZJb)ad~?gOIn z#WXvFvR6eBH64kjfT|hOt2;s-gtP3Diq!X|pP{4@8ZdaJza@eTkMT7dfh4*l3kI_saMBaSdTpz8s3Y^r|9lr^SS zNx2;(AWI9i$ngjqV-1`OrE`*$VpnOwj}+3c%Z}TN4%O9EgvimTAX=EG)SN~X9|qjw zj0OIdd(>&1)<`x_l3~2;H?*J8Z?)Ao( zqfK@AWoeD1k4uMNmeyVb>8i`pDn*dqe`Q*Ly`Lj(x$3RuXHA8$LJ4Kxa{5^5^v)%^ zcj{5MR&^)*0{v8W;z7!ZGJd`g|Nfg8JE6|FqCKAq@;+faT5UKeE*=a@E29U`AmCw8 z_jA$lhooh2sgRDpb&@jINQ@fBy(psU_~X*#Jyo~8fYpMG9$)I59o5trRF7hzG3(NN z+$c_g+CFLdhWOo_(W~OZEUBBv1#5OonYc=M4bYqaZL3xg!jSx2h@*==4)?`bLesM z&m7<~MSu2-rN%5!e_D#J)(K8V9hJd8ieZ*xWMGo7aoTA%d!^C)qa}v%gmwzQ7N)tT zVjT@KF)eiy9sCYzH^BZ%Q1lJ0bv{h25%U-u4&IDw2}Z&PTIVum6P=@_YauFaWuF{b=Bl2w(={md4h&s+3T!8~O9lnqwS7v}Yx{Mt3HT$%{Le*r{sh%j~Zt#6m z(dEnaxH|_ue28pW%G1Jp{usi$w}_7OrJAg1UDaf+Ra5rDAbI4>KoyuR5~b#JcQ-xb4=b~DmSWE-{* zU!FkySGYNfeQ6nUk=c0&JO@;}>i~fB*iKg5$k-e;knTs!-Hbhq*j0#)ptN~ud9vwv z3BQzxxCnkVvte3*KD0nkGf?kM=(yKvhw#&5n#*;1MP6F)^>Xxz_n=k-{eGY--aDQR zW)_8KAgltjlEQ-!9tE=#6x*zgZADXYcu9-OIv~^XFzih*RyY+onl2;s3dTyqw8F(G zK~)b#{Qyhkm&Pl4BIK^W@D@YPmaS(W!PPqDrWO1%{b~M|(5U(le;Vw^k0pZoIQov(&~FgyUa@OYbdO`YcYfo??cVA*v5Ds{~auX6UsDkt)0y%uNVh4I1`u2)ht{ z2@>_%2H_Y&e*qcM$=Wij@J8hft8ktUW)gZQ!*)jDag`~H+_vU8ii zA(afRpHg#WXq`RRFn>uc+Kp#Sqr;^fKA)zVTOn*1r<&y=@cd`4%ZcmZ^J!{Rrma0t zYSe&a%l3Jy>|EU|HY|?FLi$B&1De?cg_}SYR2^HiI7o{YC*jQLbx5wt)St1lFXzUOK2v`-LmQsf{uDeHc_t zl@W&#vN-mt&VInns#A8P$0R?l(pXhfnqw(mzd4yI8qti2qe|vm`ODb)65?(RUQ2i-y0;=aUqz+plYh<>KI$EIwHx{ zu`szhuGfOGt+6Jhg0fi~91` zs#EcUG^+NR%}4Da{Z@B2(|-ydH-Wmt&fRXY<6g1lg2+6)w7T1!%PcR)>CG%qWX37j zT5WgBv(bS!(LX?u8F>0|OV4}ZZA{f5&d@vDne2=wzf)>_{$DgtD2greJ#J}=vp*^| zT7fEfT!la%n|Z<~rN&55#W$t!{$8c|3j!WuV3gzJUZwfL=cUH^po(XgLi0Z5^F7~` z8n1i}6E&=>WhtqL+Ngq$yq$e%PfBW8xe6Hd2p`PWr)Jbv?n2{L;dE4J~)3 z51qF_)r{%24IyPe8JsjWM8JJ_y^vYyri>HL3`S zr>eQXH=`T)7wcB3;&k!Vd4ei`@7XtD1D|MBhYPBdhUrPk{IwEahgu7@sw?rQ;5R%F zgQ}K5s0LF3iY?FB5D=P ztfbuu5FP^aAcfu#4uW|HBo@BW7VwIf7S_AX>tLZjE%awfNfA7XPmF=aOh-uBQ>f7y zU@8#O4OHpU)xkx0F$)^|L|gq)EyEHTy;_&a+=3GbWP(0pVizp?ZB*_-sqK`~Js8W&e3M_S!n#*1|!m? zTH{L*tw7SHhJhIfGGaS*!JJ{khZ5Coq%G$5b6WE-3S~A*$((_LNo(GX^tXegHFJ-Z z8W|vIn+w3q28o4_2P+Hc;Vc(ga|A5ZZ%v@ib3oFX+gUKS=BWsoOgy>~yIlKmLhIe= zlohr9FBnyg%{J^{)I6*sd1z4+)1_4HQ+H3Ak&3xmO_a@2>P?i*Q)Hri7&&hTMNY<7 zSyF<$a2hwmMjMdKlN-XSU@1oEUKFflN_K8n7xL$LimsG2d-sXL{IjdmdE)LZljZK~Vl8l;oOef?pxFI7b7vN-zxdxi(3ylBErX zrC#O@8)t)L4IHD(;Wmu>(fbCZl)i{*TE@tl24Uk`ko1ZJVD^EksU|%kKO<~-K{7>5 z)n=SEa0iUYc=-=B4uE9590hX(WW>h({Tj%TyHoG9T}Bzb8k$miW{vi0v=ugng2b!M zU^alNsU}|i0qK7r8M#XkItmHJla-la<4TZt@-diqK(XBe{(j^x>#O3NE?#e;KA@AD z#x6QJCMB~NwJ!_xu&l5#5F`urMld&0;I``sm@h!GP?r(hg?}dAi^BpIYA-C*Tc{V| zrS^Q#IN5gT6kYXLl0|zTVxN;&-?2}$PbVze%bdnRhw6q5PFS?>OYX>D>Uz(I=G6L{ zmTogy-UsWtVJ9_e{g0;^?FXal$z#t%wVD_E!vIBxjambbE|0;QK4wl45Z_|NoDWi` z4EuS58~RrDWee5Ov8@hDV@uKd729a>|gG9X3)xa>~#-Cv0>8$z!!+CJi52 zg&F6R;WETu2$DYYI+*>SYN|+|DbEcXO+nIU>JWMb@|Hdm&BLw&BzHm0Oiz7( zHQO)gdSaiE^9uD$qy}7L-sr_Y96-^<87aBF2kEYTKaAfE>d!@~n$hB31KdIQ1Ht0n zeuTD00&#C0V%CDhy|=-<0*VbDqH_2v_X-A`;NG8}S$b*jFu7{ZC*H!}Gg30|qNjXj z>1CrbNqlyh0p?T+e0Et0=1Nd(xK7^z9Yi`@NIkk>g8N-JwsfScb%n`9nxzx*i2M*T zLqg8D{KT#i?X9;sELRFT8^XQr&zuK>ShgXh8?k)uqDH33vONIKK?V6FvKQ%zdy2S^`+)Ybu^Zy=$x)^owI@gzuE zD?dMsAK*kiP1BpDziO?F*x$C6%pV`=Z3m`FdbuVga}`P@GtlL*eIZC@ps&FkqQDtw zcmaACNGu%DE39dRw!s2spvACIZwA@}?WaKUs89zznRNn%C;+7?~}a7ln;Hkjxf+8^HufW(&tmnz5W_oY`Ux z;#YvAfj@|FfZvvJs%1(F8d3g&iD?5Hl}Uo~*-#0ED1 zG+R8X6|h2Vhl_Wn*yj(`{qTDj{~9E2R))ex98^s;aq~_{w}HgXT7*tQLUHpLLVp2? zn?rHysXr(-U(XDG<>u-Cu!ZFT#5$c8a~i#TFvVMh_LF}2By2wfl785tX&6{s-4B<6 zxez4%Fe9-N9;OBK!*p1v*AMws-CvPH9YE~R{cs3E`-9M*mTNzg`(e!+y0ge^Q?2V$ zW}EM|FbdsoGO|moi!v?ZmHc(ZdTSj$U-$5np?ZN*m5GTb{EsJ%;B^v*c`01B$ek#p+S5*K}K}dWJiy-zwE7p!OJ5YY#t? zW~?58iS4wh=i#U^MP6uqg{Tifk$IC(XP~@mKeah_#-JYib@z03Zu1h>Q&MH2{t{ZB zgDOAPnye;_UZb`WUuoEsQ1>Wxe~Yk@1*&|sqbi}J-opt{!8n0RB=xGKF(ivJ>As|- zd~MX@=`xilpsSz|WmL6grOJhplaOo-lfJDrom^|@z{#3~dZtpp4yr4u{$-LnbBZq2 z0eoFE1<7a!%Xf5LQuu=7;jx`Me2z?ET&Os?iPP`vQaDY#KjDR6d9fcJyhty;ODZpq z&U)lm2kn-d~YdX!RE(&NZSh`G4@QxF`X-Tf) zR47aBVWlm|s14zs%qfZJDiu8fQNtMB zLMcEMldx8pBUIpQ1f0ge@~;s%QUz{9z#R;fR|lg~Wr!R@z^4ox&0I&Tz~a^@HmG76 zJ`QG%QGpk>!MFicbOc_<9IFDu;jrNcRUE)EfjLeE&S@JqMt~}Q@gVtl6?k7ejA~HD zZ>{j=;UpFKb9+3DfGXPKKCd}J1(tUR8%3asE_7+4a(-F_t01T%XB0FiDa{uUa4)E~ z?AbJ9`e;;_T>7|Kb+Ua?oY8=)8LL`e$7FO28|k3&6@6518-cWFh?Es?E=)5jQ-`V0 zLE6G{8Lu6)_7=)1y$atwWN%nq15Q- zPFM?_k~i>GjozyAxCkkiFpo`tnTOW80~)t8k6p=m>`{3*VNM=-W1T#1Q+e!1%9ohO z-oMO4YyAX`ADPFYOahtIoI!CR5rs~_2H9g?5EM`sf|7yuQ$Vw z!{|;>HDhEmoZkgw9weLLnO(!iDInPlJ7!W1|1&V-Y=$33{CyzVWqP}z9zoSqkzM9g zNFzbA%dA7_ZsaYy%qDT{^+2-A91mtRDAq#nW&UcH*+FlKoa2@gHp9G%P^%SO#s<20 zT57WwPtqm56~=D@RWn9PdIZu}ASvmBim)*kBqepsq!|Zk#wqDu#6JU)lIG*)dM>D% zDpJxjAx#BINkhBSjJuJyl+@iLY#c+3l(Ygu7f|egehKqeCGD-3(!VX~^}3|E){30W zGg6Bln4n8~DU2@$RWn9P`Z}bSKvL4m%CONDBqepsq#Da<#wqD?#9slDlD-e-El@R8 zq@>ZFVWSkJ9&iwPJ@S^4-iXjOASvl4qdFpAMG? zj%Hfm=JJW-O3^M!;cp~`4@nCDHYxn9r0{fXmb6FFHA&%(lfoZO3h$g0{!UW(kfiVw z-6-_))THosI-G@EoD@DLNq0Xii5%oO|a zeimj->WU>7P-m>#iPW?hs_K??s9ppYUj*(&SJ(xrW{kWu z=~;~-3F<9ZE!rqsxOAbp3>f7_LjMMWFb1o=$rOwzH zWJ#}LbbURoHB4gz>+8~#%z;yMNpFLN^`L6TNPYbX>1&X@V_K#kO^UUn-=m(TU}Jkj z10)4=v`oX{98VJkTLj&OASu|bU^asK)K`~+J&%~@K(Vzt^S>yVTrg?U$(cMH&g0al zbHU^=?0mzV>T5VJPFrgm&O0VqQ%}}s1~|~*vDo~S%uXkxzIect-v=uLsG2b{|DFYD z3P|SP)qTUpH6WRP9W$xML7H*q-$RIhA0$=Lu^-;(fvTw@#a{|(2}rFpI1I~2-ZK9l zM(9@{nSa~#4;w8(u^0Z~fN9o09WZe`98Q$94hJgcqbZH1ouYfjTo^wcRLvOa8Sg;a z50akoo31!#_m_!u(lh4OV6g>B&v3L%!{PqaGj4?L^&qK^U0@yu^{KBeRr3jAJ_f}+ zdg}hWp0QG&72`nKIW?}|GcpH+jSNtq`WjBpxS{?l^?(rp}O%8HqS`2RrXWsuZB=0Lnx165N^N<9=( zZ;*6|GTfwSgM`u{K0xUEAn6bd2H~{`D7IO@#rdlR`ICC@Cyu|eI*JG5S^-E# zhhqj;LTSbs9cLhZI!G$xF)$B;s;MHCkv|0015&#agmy;WQW>uy^Z-aI!&i&e1;tYT z;bqNDan+bkFFIkznTysg;g=Zk4?h+0AY44+&bjHJD2&%!Dvu6wc#7z2-sqY;@Ro z9n|Y$2rrKb8#_QJT@7KMK5vwn%JDGWDBB4SJGi|EPt|RaG7j&J#AkkAGW7uPm zcEM&Hqn?8BC4xVv&71YJ8~4>bh#0mXv4^306;)q@kT(q{exS-b^uy2b>}y8qNkg{$ zA8KJ0Ce?e8nkI4bP%}+;0(sonmn@v72ZAJDqy;8FtdjGl-O(hSn$f!AB!Sym?yy&G zjk!u*lJ0a~l13NkXxgikXu)~3O}f7{$w@WFNma8*M>B`mJ-TudU3;mcr^p`yf36Qd1H_M2MZQO%*BWt&lDQNlD8d!-*~OmXf|Z3y<_5DQVyg>{mgt2mYa?_x@ict<|sW z@ynse$=sHj+4l@x(n&Br7F5j`Dd|o~TR>9M=VynFr$JIu$4siRfo7bN=FfqTASvl| zFjGL)RFRVIf^;89N_r5XZIHK=bl92bParAjm0*^FV(0xsNlX5(l7{ppRvbw1`t6e` znH^^9lD-P#FM+BVBPDHn77n>UQqtP9ap(tAkn&SP2 zCFRAk(sRN_E0DakoeE|$1>PRm2$$sHwm)m;Z7l_GE2Mc%)3VHkoM7eqs!S?vfi#IJ(p3-tpDfsUNc8KABU-qAaQ;J zn6(t>e1mht#!(1jp-vyd;h9)FzW^5MIll=hZU)IK=Y!A_hkroGHz3T0yR{#VgNx}P z&w5|iGp)<;?}dY9seztn!a*MKR?o*99FQFTt^{)>Xc*6ZYoYoTypV(BLkRsZs3t|f zBs+eP{E}XEOk)X+I|s=porh`$9Y08Bv^q%sKqpB|bjb(Fy?GROkIv>e7eHb7&#Xyp z_#nOK8QO)&U@-_Kr{#y6wK58`w~zNXbpV>^qo zH^qzZXQ*Dd59Xc+NkgVDz}YiM8nPNp1xOllq~27R#$j4OFPsDm^&0YOXkQ7EUg)Ga zp%>nZ*d3tCsoEZUA)C{PeUa1vSWqQYvc5ncXJY`ofUJLVdmEyM$`E=Jrd|h$^X~Jp ziKD{ zrqN{_runbk-Ul29uSL>jAaU>~FyB(3gOe}7BnA=(e@zsz@lF6xv5X;@}eK ziGu?c;kgwA2OrXY{K>(I3G>@&{*x5%*>iObu0_&SAaU>&FfUP{gISBih6f}Lu1r`s ztR0*P3-xMnEVM_1r1_l`&igKLb`fG1f+}y-_Vi8-&d=5%j`MtT6z!vr)Ht42B173| z9l!JYa8mRRCwiR&9;#Vhng=7e$A;83+4{j-gp8!!V@-wLU`WhVEo{Kvt)@}(9lAkD zz>DZaeP~9YJJCxVyV0kUqHl4c z6SrV$eELj+*+$E?@NbmlInkAUc6721=ehIyI(!idJ6^9d;`5WqLV40gIC`VLJ;;)` zKqE<$)H)Y&qI-2T0lF0ut#bWIhcnlaIvlx1XXtaao$zv=GN-S9^E3n(e*$`ne+CLy zCmB37X%D_lCG@(tB>Xs_qxU1(Gb$OaP1chP-FQb^qZYVG?Of+~+R~;>lvPe&3 z(!6Vuu99s_Butb)s2?Dh|9>S~pEdoJ7c~x;i8$8i75ZV1E~R54kQRQ^u^f9LDO#e& zI5nU?BgGj}zF>6B=+ur7YfQI-h~@G(WHx2F^3+)nr0dALQL$?YV?UtKc#vnditDuQa5TD>x&@^2a zx@yjF>u)D{JpAp2PQS2}#k!PyBx5OyRVlm3{n3zHK4xchYDQJBTY&N=50t3tb^BO* zNi&gd^J>FM_oEE7gOOCgrp*%fvG-n zsl0&1IHbPZ)wNvi%YWyRE3PQc&4eD`=rVcZ)m(Bu(xG*3bTwr2)5MLg#>}|OicPpZ zbd&mU*PuqwQ$Y2NF8OjymvcMe#?dV<)fEPnF!5bt*u1BQjh`+E^#%Wp_CQ-pI9s( z-MP>uAKgh=vHXd}@>!axI%l_0_7e6H7r9b~4(pVSb+6G8IOA`gtfdW5EGak%n zkoqjmc5MPLeQ08-%e$8*_%WFqp|qN*_*t4GU_Jv4-vMFEC{qIqJpGN3+1)05wMc_`tC@iJ^);Yw|U!dLx*sO*bze*;wY z4TLMfECE$htyjuQywkh{moGs*b09QJxHgAoMw`CjSWl|rh*}AqD?wH5A$$PlzZ9B7 zsJIkohM?;GwAmLS3n0w{4IKd?WyK{=EIw%xxQoUrzlTkSP`N+NaKm`784wFpLmfNwQ)@SLnzitI(BIBv0XDziERPTqli!Fed8&U!$wXsPesw zMm|%LaJQf@cSax6u}pZij&%}8-%X0#T0iplq{uz>BZEo)9I79=B`K1RAZmlE9F9Gg z6qy`>zWvb>!}vv40KVFUrZShgQqN_V`VLX8(FiR-(RAGt`9-4{V*k%yG|JXGmqEwq zJ!K7gqz=K44r&gIi2O6JbfrGQTxLUUGIE#%inY~R7TQTyc1_MWRoC*Z3i;sUdq^iA z5j@t|nD{W-^pMdi^kbywkyPiYAG_f1SGS|Y*%Z}F3&-J5~OCA*{%+p zT>_WkzzL*gmor@rPB+mbSDaFQ?li+ZOU*4kS-OULD7tV{1@*STm3kwx?9UR#8tXV! zl95O*<>C7>^x0wV@68dYBX+rLt=S;K>G{zx&vT`|MvIx4Y^&V(GYoFkf{dCjI+fJQ zqRV<{Quir!oN;#I*ZAYjbU<#Nr?uy@>rtI@~yQ2t|G=7 zbu-xf6HT)=pql^2EC#bsdoc+P#8*cqnnhe(e3t|JfehlZeVb@DuS2U|b|r2Rf%w6a ziDn1dpRoe158{VM>eP=}J-8}tYy0gR@Ffmv?3k^?s zb5D6o&M|nz#$9M+Jc1eHF8^s}4l|CxRtYFNsYsb%_wqxBW-j1>V$$fTjgDu~RmaNo zR6mngizZ6bnE~aan4AHlL7hVjczk-ohEa1!mxNn=U;s9y86P56jid!;A=|{YqB8nK zP#Nxknf);DTb1H{pPYy>w$mD@-gjO2~wH{gx%Rux-9o`k=@8m={E0dl{Yea9=I{enq z`3W5(Iw+|E*XnSm5@S~-MbalH0yn8qZ>ukL>h0R&^=9U)qR^Lbv^`Znd=oFN`=f4| zDJVu7Y^W||L|wYoS+&h{xKp*!sE(xFJ|{#b>~_;CXCVE=B)k2R?4Ex@QZ(5Z-5vha zfoiv-h;1)(n(S89WR2DWH3o|I(B)(yUP#Jpm=0%C{!fShMN>}GYHZ2||59~;omF&s zQuVbe`xzrc=fGC zPRB-cLW?~9Z?Iq&>-34nI6olOi9h7a4mnDKfbUF}b3AW3E6;@mCnlS53jH zbVgB1K|OZs;uMHexSDi1G-bg(Xv&k>BhY#XRQa~nq;+ht4QYsNIuQ2_SdH(Sncu>I z)a8dr^d3m+vS=Od?0}>$M}Zjzl7^VBJEv(JOlpXgh+aZ-b&| z>x8W2eaQ59L!hE#7wK3wlXx6r6LI-c>!J~zrd?lvk=6wDlSuD%f8VLOR0ouk@q4c{ zJKl8Nbqc5HV$c0uhpkp=r)Lj5}znSu+>|XKNqB8k* z?Qf<$ExT77UL;R)f#Wp!&@eW=j!mwP;IpmuD@!5Z#uGa7vb+Pc97V8N!7*5 zb*c(jemM9VCX5OxZ<;zP_ydmq0E*1O1~bhiKP7YadVpa;wRK4G0&-Jbvrrux>_W_= zpvne%no>=OWx1tZPn-wFG-f8fx{*tc-F`;0BTQPZHJKDszfrSVuT$5ee9@=0umM6T zZ0HQ4AL(%Ry=n%CQ3#5T)%C_=G`Q+`+fPjjZ<-W- zW>R?9r0@%p!iOb=U!D{`Gbwzv4rg^-loY-(Dg1_{@NG%q_aucsloY-{nO$vWEDLe<2&XSkDA#9|A#84Pa8wxZu6wDA%w7oXM;&z4uY82>7idE=XXQow)UGhvjQWxVn z^zVfyq?esB-&@?QRbGY4Dy@P!B-$fsS=*t*6TSYmq)7VYM5v|da=pRD(u7AK^D)zV z#d2MF=b}{Su$Ww3)`7W!0?WJ`%o8A4nyyP&*iQ?3kC3+!*VRChxC@xh6qtAln3F)! zjXEJKY&tSklZ#Vf+jXo{Ve>+aNo?a#>O1tnXZkHVz3jndW_~qkGT9}uYVs-9Gx-Oo z!#8y*?mREn;k0(-Pu4aj&;RJRPT#*t&-2`;luG#V3Xaw!O-B9dM`k7U_NnzFha^Q_ zR6o+4)Sx%lk8F|@`Dne!nlE*vI{X=qKF*0wUel!GY=b{GG$|cFAZNx+)8x745Iph6 z%{)Hw^GrN$7W1LLi#+sqH|3}Pj86aN-Zslr2Mm19W~wYR>Ge*QDZj@<6Io^}F(GFm zezS;YA?4>9X14kfypyM%g`f0@nr2sidcL{oN3`=UsIA&+A>fo>d3gVk8OqCpWEgkh z%!vQYb!*XjQ+X)xQ8C%w=x29>risTNwc;to!?)n%1vC}jeAJQ7gl`2p6LcyLDGtf^ zQV&9Un<01|b4ZRTI^Bjb4>}d67KdyeT08^kafSfte<+_JjW*$d3v?=8(0n5AXC8ob z3#exh8?4NR%3GY&-im?ZF}=53i=oyYQP*w8Mh;Zf0>U9M?}MTtoq(NdDO8h3Z|v)& z$m9r>*WyH8yO@`0X7)pMNM4<82MPitd2Il*5)|#3WbTK0c}3gW%5yrB4LiyCMF%BC zwyPHzJ2NRVIh7H8K(`&oTb(46@i~2qPQma+%A9=u0cU(eacc2*_RxFrl4`~$?29j& zCTI1T=s_pxTCdg0i`jM);6Q#YK_gA*nUWUo0Y~Xoe&O-#=&&XePT2?E6 zT;VF44vgM{%_)cS2jlVl3TSt#rMKg0)Mca}42GBGwn{H-^6?xXbaaA64hCE}OE)_Rh z-o&0R@BKz>!{H@p_J0;2&FO_qb06gGASv)zovCRoVS(p(yCP31aOkeEQ4ETmtW^>P z=60VoR&%+I;qMN_4r;;qS&6g#YI#Gye20acVwwwJn>}obUwYV_t8gfsa<05Z-!NPi zzAxsp|3})JfJaef?c-J53BAy%>ZMZMopcr;kU$dBkOV>}K-hN;h=L0eK?Ph81(BdA zu7f%%=%}cuxDJepxTCn>hKM@Cj3Vy1j3RF6xZwVK-*az==*;&$-~ajNd2Z*Nd(S=h z+_i31oq8|-%vBZF8pg3ahbHGVxi1<8TZSPVbJQub5Ld}1`~vVx5l(sy4+C@B1U~v5 z@c%&Q&BJzb7TbeEg2jH;$>ranw6o1)^^1TLcqGsdx>&rnd#RI=bC$E?8dU#Cq#S!U zwo(W~j|X!*h@1b&3}cpwi;zr=_~GY)*aexl5Qbj{Cb=FDj}eAn3#J*wAOtyhCZkQj zdq1c!{XXj&7R!TYW{GPVsoRZQfV$U7y!D*X0?0)`OgqW z{!wcG!86$uxF2gx?XO<42hYUr!Rn8o4xV{bi|xCe!}q@)JTq8}$c@W*&Cn&~BpAja ze;NkOvmJ!$-_}g~OSujQ&rJC%+HJBH$llRyf~MhXkT3*>4MxCAAuU4Job0^9{jKiV z&#@|bFqG7koD9nY-UsxXKRu9Z7itaMg%&7T4)C!b>v-8+ocID>CFD$z(Hd@5qjh$+ z@mC#pU3RoikL+#%sI;G1{;Sy z52+KO{CI?+AAq?M#1&+AfY}J*VT7?q>g?5ZD6Mw1=6*l}9RV%-8V${eTaf3&sQF$jE-)X!jCT=K3l{fb3wFH^`x*q* zg2hAGf(yXUMNloMj&$4teiMRfL3OgDXT|8=JQgUYt8UO1)u7#UgAP{>T4^SZQk{DO zPr}-+?Zn*vCl-jF&S$I8h>swp`u-}TC&JM8z#I=^4w+ZLTn^$=GS7k83StYwFy+r+-9|3)*p ze^aAh-qZxV*#nF?#CdvJwscUpn%gjvYB#IzI7rlqsB-2WR!a8iNTjN#^Un1dA7#ata?fefnH7{mAs6S%Q=zGkF6x zBE~6eq2D`0F1OzJ4JbsCXB0AZ{;P2&Hk}0eRAV7GQR%RQT!!(h{PLVhy6n^2=eVh z@x%DY3tOf`|Gok~a!46r9W;SW}$xp**8 z1**{lK@J8w0K|AQJQ!#`h?B|iV4!P2T#ZmaTB}tD1F0*tY}BUE%d17Fmg=I4(JRBd zBH;<-eT@01YKaE1mru=c4eYKX<(j@oGdz}O81l0Td7->e$I}m~cD-hJ@Z0GkgeKbC zzN&EV$VbIzK=cJI%FF+?S<$Il)EN7!PL}0nAssMx>6rey66UIDH>0)a*Zmo)@IHb% zbATVBv~I-a7(qO}4M(*(wqm@0g!ATT-C0ReVF)jtsAgP?OB1?W72d=Rt=#G?rE zK~Po$4#mWS!}bq?ypI9U3NkXeR)Dz}VHic!i7)ac&{D9)C{Mlw`TzoNBgmIP4Uglg zJ3{?1?Htj*3+wP5Taix7esId~*m!Tlx-8-Y&%OE)%oSKR`Dd=W@;20tZzgs?`6>i? zXHobh?(h)g4aJ!t79)tS+24AouEC}SPp#=|w((YIps(4Zka-Y6e9byPg-4bM;%hbs z#7u-?>ybx%%^m`GAAej3gz2uAHYT7;fv2O^mZhrIpf6FlWqnCf8caeqwAbV&Tu9}>r&s}p6iFXC}q+m28TvRcL! zM^+u~J>PV0)n^UoNn4L0<^hBj1ADDKC_qlxDtQKRE!5GxQ%S05xl?J-@p3}cJk2QcN>N%iW<$GqyJ#K{R67a9%|Vc()}93M7=k`n z4Yu-NHP5raBSmaWGi<#I8Rby5qY--~0xmQiY`ts0t=l@-`fLYVKksO3#gVF>Vr$zJ zEUXNJHYM7M@aTYH(85UD7;$#A?UX^-t05HCCfYJ}cwUN7lu0b+ zF7ObT@3l?4?Y2goHij^2rnC6_H6DW@5cP)I?txhhqmPX&eh`nS7y=)ep)+n+kGBj6 zV~w_->J5XTd_bhln1dcf7!z>XdgDJs*Xl&uv{~>@M(8>h@o>s!=vJLLgFDzU&_C8# z{N-1M!BG6HC%*VJyr^I({h#w!QWz!(b?hN81cEIz!h!PTQYn!j%}I>!FdhSI|og zV{B*ff*){ahA?g^dTIn3j-eYew4qdnZhf7_nSSV6gyNk!@wUYm!Ce@kVtQn8J!T?< z`!6%H_y9C1!^rC~1}}hqhLHz)5{rjn9x;qO0?gAO7)JU%k;T=xwPG0A?1{D&&BN$H z=uwquJ9{u3@DK)-N7@>OVJn6(=$OdjN#o%?i7;{w3b_IUgJEQ&C(?HR)p%rv(7h10uasoZ4k*mM zrjVkZ5M!7feQ&3hQpD?9?bs+S*73O~N!-<;*ism}V=2 zI&^9lX0$b(g$@y>#kwW{W~eYztt}Rq;qL2D+G-7X3(QF8T`;q)@38Q68ZB1Ovx4aK zPGf{wV6~u)I*sj&?=p==){AKVP7|V!qHasAeQ4uO2iQ-8ImhaZ^iBu*{{?O5T5l!5 zOtj&&V=S}gc82Oh^K1w#w=M}G+;aTvO$ME@*15l8?4xQ7f(hC2GRtouF zfgvG36LQ&Mv`df2kpD$6;fr8a$o~^b1Eq!houE==yMPec7-H*?IlvfCCC0kHF3}7F zJY6t2{1ak@NQ@lP9nSMKH%IaCV{y&lf1pDs;XlU4ioL$;k#3}?vDb1$0S zc?K!rT(79gTgmo})cMy#&MM1idjwb;!@35&8R;)f4y;}VfqY8k(*74fNKe5NzXZia zZ?rZdDsna~i>_7{Uj^0CnTJ*CpR+f7&HF_ zX0$&fmnWCL0`62ZIuG2+WIan*WIE?T=j!BTSf662n=vlgYmx)7D#n(mmRO(MfalV& zv(0D%LuEtqp~JwPXXb^_TAPx4?}9DM%*dV4xh0v$d>5-W+m`(NZlqmmMs^}?XL1a= z%gpG%!0k#dg09%*W|FJl?qm#cu`A5vYvA@K|4i;LX0i&?bYH;_FM+$#lpZw9f}7bC zSDE%-*r8^@;r|4CwHf^ydBSGFahNQzm1gueunDtZD_j2>-G^qu`scu2Yg!=`Q(+d| z$riZIv`2tVn+4CYJ64%_Nw5uOK@-Qu^`^B3z1nORcsKxVP}Lr77JN$fMrB5eS#UY4 zvs$rJ&4Pc!^4Lv^Z8Zzn`LUZ7JKHR{o2_(?*t`G-uqC7UWNRvD!@BMaNSq?0H*9$3url+# zMi``4ot}Z5`IO1qf7*})ZK?-G~D5S zE>i!_N^xxLm(rrAbAaDzCy*BM7vnd@6{tEZYIvTbNq4yeL|`xlINJ``FYsq99kF%! zhlxNd1!(GmtU!^>c+Zh+!1dNrk-C6VEa%4GNokXg*#gmftvf{Yo~-EBc2TNVqIp}; zX)Un_!?Q4Giuu7n?4i!+|tdqIs z{UA)KweCeQKgvp3Vf94qV?Wu~LR;E;p3BJ3!ZcWs*TMWEOtUqVYsRm#+KsmE-U{Y7 zNoh&G|0)>66x~yk1Gj-Q71x@)gw}Z!H#@oYd2n9E%}bWC9di`7DA|(+=9;2&Y4RtI z@J^=m>#}4Rm-CoUr7cfh$Avzi@~un`<7~wm#qCY{ z*)Fc)_7$AZNgY=lmhWp=U{X~H%eP5Ag(?-xcPkq^rPu^kiJJMP>3QyO8T@M!9T+lb5pvyD2V_jB*t$Q>|N?{EDsA-OT6u zQIXuuv>qxgo$NzH%FQt6K!e=7#Coa{n)$Vr5$mONj>ZL!^SaXXj>rEliCDE6=#IIU zEa#fvJ8R=N9A7nA8?SjDT-uCrO$wt`dF}0EdiN>~wPs)zH4Jg!D9UPrBru>+}Sq-lR8so&#Q zrabpQYRYrxUL>W1NXfwYEi6MVC{K^u}{fUz0B51_ema#ErJ}*A8*Kv`HjWz9w zl4lC@P#JeI`}1g9hH&*6XWCrRV;LWQ#+&)P#>LjM2PT;LSBsYGspTk)F78`&-s?Du z4>0o|7KtY)!6l8m7gdg24OBf2W6K_>Rkv{6ZPCozOqpor^NJV)u9^{>q|I5vk$I42 z4rL7|oB2J^DItFqex)#OMT)pJ-Cv>+tHtP#9c<=L64|L)S#BbgtX%g(evX=upG#%P z&v_E^b0miR91D57QQ1s*Qr z6tM*KT!gIQ3gij-{{b@ZT~w$dzjK)TG>hkqqlw$kfz%j4Wb=4Qp@vWB-oZPajXWsWW0$hBY#6Yej$ zAA+#Hh5_!c$#gGF+fV)pKVHZn>EvLP1AQTG?ZCa zc?{QMMj})Z@>8ofoO2iFD!r6kpXp_sa|V9gfEnuxxsX4B-@R!alZJy0MqjPt(=NY5(K*)%X)p@!n;{5`J=zt!l&NSi;F(HqgyU>Ua^fe%B zdG9k&+)y7YP<|E6ijVTq&~omqYmqn7cG~X()lMOB#g*a zTfh>F~RIu*T|;DQ)wg6^UnLVGS40&UgNf#`zVFCo|& z_t26baz`P5aZpv#L40wv^iS0F0UDw>+DGUT&?WgIQy4A{2Bt&K8Xxo;rJX|yIKC}k z9+;3Ye#0|qCQ#Dyyp0fxaB!EFEB#NP@?D~eE=3_-Vv4SU{w|K9Peprn)%FZ0t?FG^ z+ASG)jpg!os#}3>r>pRAzgwZrgoKgHihm4J*UfW(4N|*!@1q?T!OU)Dstgk=OSkSq z7gm(T15K{hTbAgcx2zz{goM?w4y#7Fdg6eUfTeg!$`M!L?F@m)Vhs7RN~L-aRF~;7 za}rkYGBsu*!!Sb1dMlY1L3i(~=w{^YUaRQu(PiE16x|brbgx(R!x*;R`zgATGW``@ z&-eyK9|QRwwxUlV9ai*i45S_rMGs`WZvHdSEj@Jeuf`NC*G)bf_Lp~7@)y81yvC5> zG#*`7F+s(L7=M7GZ^rPcI8f1NqAbS}+S3eqCn`II$mP)AQ|mt;!=-11$W%~q$bSJY zaFMMrrRWouo=3G^wqPfmh z6{(p&oOG$8zen>|^;CJUK;CLKvOSwY_s+G^*@h<%t4U2kel;EqhWxeom2JQ%5JmE{ z9YRQ%fQax{b4;UfS4~mCEx<4eqokT*xrH>WUYL+IrNZP`M`1YBbP>jH9Ydz8Jl6?Z zoiV9vy6LNLIaA6+tki12GwYh}!jxG{KLOK2m

    JI z0asatO@Gyg_bBMxnSL)%HcX$NfmP;SHVt;HxsI=`40e!@c=4&7;tHLAM(U6-GV>$ck0G7N_>Z!WEJ1Gm z1o!W7H!^V@_k759r0iqncpEJHxZ{uQ9Y`M{mCcNY)9s|cE5o9Eo^sj6VihLpxwaF3 zxjol*@^u*Z`GG8VE}r-eV&~P|Hm%?TTgKoc@MnzAdtP*|(^UWoD<)E>N&NC z?d-wll=Vr@|DNa6#4pfBz)fGXtk=U`Pg~ZxaNTp3H3`~BEo&+qf84UB!xs1!X#LBw zD&ek$qpVqQ-A6`Qv*CnKkFu_XlfF92ng`c^eU$ZXxOVd>>n50nx58NaC@TW(UyibB z;l`b#tUKWD7e`r*aMRIIRtwyA=4k8vu=CQ<)`wu^U8AjaaO?ch)+gb_meJN{VMW_$ z>jAjugQKlYuyyTd>#K0?1EZ~n;pSd0KyX|CXzQ~#=$(jXsJ#>;a8&*AWl65VN{QV?r9_;(qN!Ghz+bbtoH^ByVk`;jy zux}KO{ibCl4x|4sEi2vkoZ7JyK2JLTpzvOJPHh;VTwWwU|AYh2sdDTa`sZ^hb$FB& z_{=`l`l``Z5N@H|?9c8~LE=rpHW>Q+KD7&4U)ZP0J_R4xr)pptZiI=4_Nkq+5BJLP zFYi-XaZl`1m7lh(Omd%ECwzRL+5zJ~*rzJu9RJxqRR`@~>{IJye<$(4*l+f!F`ps6 z-|tgl81CPv+F|U)eQNw?saG%vBQNb!^I!}{VDROAYAsB_&CnXyr?$Z`+$HWX15azFbNxA3dUd>Zh#rM z1!m!PX#H!SO2Yu`gf<+2L0I;A>+s~m^BpnXzC4ahzWJb-^#1v6tZstv|Z&ZsTW8izj^fMpx8M_ERNVd#vE zS}*%&XVhMpI)~#A;{VkdH4}zjlTi&Y_S%fv1XB}87e-!Be9)SdQFFgYy3^1PW`h~k z0|PTMs`5+lZG?x>%8c3$t;;fM>?XJ%qZY$>IHNYh=nWZ_6)w!EiihB$jH-jl8%Y<2 zZss_Q!LeUP4`{>4;*44Z?OTZl2H`dsgL_~c_R0Qj0tI(XHeQ2EUCR zX)mI%0fxSV9fXe&-@~N;L`Lm~A$T07zfXR)kj@V%FPMEYqb5Fr9e;=&VFo5(bUXHj z*`H#!N6{mdQ7tg|bL;}tW21a0{k8*=nKk>*u9NUf_up9>ehJG;cJobiRxCJJ�xXMHA5ys$77&%Tm0khEl0e1Ws zc7&lWt0``bI z9J?Jo&fc%eVHD1V30Mcya4odX*{?Rj@QnQ`15?oYG5#y}GZ&t8;361&2kF5u+zb=5 z@b?qy1so3pR}eo;UAbR1z;tN8S_gwy?N^&%csBNenK}Da*-r^qMgCyyYRU&@;93~D zhWKS4?tsy2u`jgdQl2UFfe{#-hd&q!Q|{va?)~aG3@k+NpRvD)_+a2B>;ls_?^hFl zj$Lk{JYaMQ^#P_~28M3OPQO6UJNBzq7{3cWcaTqL!z7#m& zS1}ld8(`=opRx+zhjD8?+ukKNy33FbyaD zH~HI0y@5$s2dxM9s|1X|9kTyL$_EDF5pjosUBm+?!33;?_9pBF({P;}e~9vx<8Y_& z%aqG+vF}%~4~)S|XeG#}?8B(+e|5iF4?}P>jKl3P1NXw<*QjSO3A|KH1B|HpeX$PLAT>ehG1d}iZtrsW{7=}CKINSph|DYcHnS8v6 ze;9d*^9v@9V>cN57kd7M{JcWGU{p~*VdmrmYB#h_J)p+!C0%I4G^~QLaR*ccrpgYe ztLippL-gjsvQ)oAAFn zpju#P=K&Rm!C&JK27ZGbW&bJ4=OA{2OJMZr18N%#K65}Fht{){OAr44azM4h$le2L z3yeR9U14lL=^SFe^MG0lV_lRhjCNBGVCLWfHRdq!^q@CP!XQlbk}nwSKcF%&{56NdhdePQ&411byS|2UvRebnb8*ae1O8%oz zHu60{ewLD-qv#7GFcaxeo1t}khf2dFoN$bCT-Kp#U>deTtA_YsxR(3~>qzgP=nH4S zM16;9fT26kPu$_UEi_@xoBFL&agTsY4~jeRYQ#fRVc?=U0gTo(>g; zp;pp|u{HRE*83<=Xv01jhhr6b-iy6q;6B0$@9$8XgfZ*~Lm!}AVe})EqczIP!Wx+T zD0;xyI_e7ye~fY%HOflEN*MS!@xd%y55u3J+{Jx8@?=S`jUVOEA)l&oum)LzoFb<_P4}a#{Ta*)I^woGhhbJgQ4GJ4;V;OPlSIUoVdfl>F5K? zVG4$z^+)uFAsCh8aGe~72|4~0ddhK_hQZy0I|IGoVrV^$-J$&_%31cGAw3w{L%lhZ z{5;p8w!mP9`~`@AKjjO92e1dUJ33SrrVgU-S@00?z-%w}J)3;>;SZ+!$@e+LpCz9# z{&)Pt=nI_pF#He74+f85m+_?kB6`B~OV}UAUZFm~!01j@{%Uw~r`iD1r**2du&h(r zuOZ$uI#mm_Uel>EF!b6^HR-kJIiXY4!N?mrRXYs5u~UtmfPWZ*DYyuxVI9oCHkgHR z7=2Tx+75%~5-&`{BQRxms>;{leqN_q43ls@jGy1Bk}&q>PPH4RU>^)j>QrN1Pk!M< z7>AWG1H;goO!{&hCSU??hw%%@#~X+TR>J5M(i4_}T0nX*3MWh^T$udA z8e|{FV5Ww80b>o6KTN@_?5{+R z3rTMkdcr8IfpORhtwzop7=c^mI84D9+zpek52m1X5$VA3Fc8HKFbHSD^xfDICRzyx zGwCg%oJNo^C@`ow77AAI}C(Qhk za;rqoosvxnF48n{Yheu%e_t^U~_F*NA!g(+a z8({E{gop9nxp+ zSr`a&{2g5?2*a=nCSe?=;bs`TjBVT>=y4_X zgrQKEYKIA!hLNi%ADEs^IV|M(9O7Gqdlhzs*45M>7`vuRZGtJ-F2}FMKMc$zpEnZU zb@+p^ci|64=XI$b7{9(tmET1CFa$&M(GzB2o47B)4$yix9dc z@J8z2V#31;7=|GjxCy&L8@9qATrbCA0!CmvjKZBT2KT}^%)%55+=9QGu{*RDQ=TvZ z*TLW|goi1Zf#LUH&-V}yw4rq?`GEG4E|r4u+px#2gj+^=!9)%9c?te&(Hq8L2xj17 zabH2cWgkwujri)Z4-CQ>jKBm8-@*9_Gthc3cDR%C7sg>2MjFsp+*hJ646Z_7n1vIU z;@(L9U;>6=G}@&$z!=;j$M3=(Fw#uJ79$#CZxsaJRUB7`xPv z?nj6p+8^coglX6VLm%UKE%APwb_@nT!Eu;a-^Ker#P=!mT~2sd39V0)9*n_tvL8nu zIS$h>3y;YDXQ*#0*oQM=^f~MXQ*f8KZy=pI{C%GCg;`h!V_(1?Fz^8N z114Y(3~i*|)uZo&_=nLiq7Mvg!fr79WzxNa@CoV{jBcj>!r(V3&pQeKFz2Um3+D+; z!EG@42>Qd|qtwp^_P<5>z%-0PYb)gd<1hgeuwC50Lq1>xcEarMu+vK1|A;+d`f1t; zn1O*+_qH~*!;R3|OZ+hYSI&nh{+{DJhrxZ=64$MLmG&gS2lj(L=q3;lsq&L_B>Qhsl19!^rcTFU{!l zcj_Tby?~uz^a%Pu`z7+zLVPcGsYNh$6n$anpR^Ou`WNZ1CfqC70|u>b6^HhyZnazX zPwG|^?k4^*-D(lc!gVlna<|$6gQs*W>mKwN+pQ{K{M2r>7^cQ`tF2=j7hceA`w4do>A=)`&>Lo#cJuBT;Ue8C3WK+Is}u~w-7wKed>^Tf0%r4KyMiMJn70lOu^I_&|mf+z}_EW|53uj z$hXi72DXykM~UY<)EgL05-&_VPCnL=?hm_F0>)vx?Ejd0`7w_FgmQz~pP@grenB`G z+KE0NNB`gBA12e33yk~``+kD(unO9L?p84vKGdyt!Ng(8Z9V$*lTVm=f%ss0fcQR1 z`il5q_N0Sq%%@1_RR`5P7$193Z4!<W%+F(|cO6tqVDvrc0Ry)lRB0H4 zSr}eM{9hm(Y=g1dgK7s%!wgI=C!Y_H{}l(-Vi>vOpo$9bBt962yI>k-VWx$2H&X6x z2btG~zYmaa82t!(JV^aocTlZ^_QwvY?J)3h!pZ(84ys9CB%V)l99kO>sy#6HFz#PM zzb)7k#veVXHpB4NgQ^o|zRmGX=+}m)W1#qoOeN#vbOY zk>2DUbp+a%_NdTT$S+(AqgVE*G_*oJYJ39!*Yv0wXkXu>+F|zHJ*x7n>@Vz5>tP&j zgTX~TY8OnvF<&E|8++7Tn1L~vxT%NvXoOqL@vn3ImL63FQ@8b~1WdoTN9`8(NROJh zneu=^7_aG38)2rdM|HwbeUA!!19w;nV|VnZILzMJqf*dnARd@%>{0eNiMP3j`Dvuz z+N1VDYfXBIDs*ymg1=Z8IN9n8WVF#6LT=B<$q z+yd=XkJ=6sFaxtc>rs=wO}>BLqrxx?<1qRQ$_-}V0JMKY{NJIzJl&(V!W29XvvB-( ziEj`3!|b!93xj_p-%0f8qMktOZ=?&8uN1DN?|kFp-8o*$J{t-gVrH+9Hw7&NX>nMcuzT`8ekS~hSs=4%pW5hTm+M+9b(=Xc0BWtD*qn-;ar#u z98w!$8YW@t>_ckC_X+=|LuwNY!ldwg(u0u;4yno?P@ZreOq7!zOiewc_Q3E(htz~^ z#5e7bS^~pC;ul_WNR>T_elQGUm!c00yoGQu2`B!La4-l%Z#$&wWFKyTiMJn8yI~gg z!B{2f{D|Z4ARjP#`61?8!7I^I+(U;{>vqz;?vQGS$@zy=7Dg8wQsaM2_{HQ8#$ghs zR+9ctNOu+ahY=Wtb|dM-AlxGEZHLqmalh{n>z1 z@*$Ogk3u8}Gp1;8T z7l+hdX#Me!s@OrgunlJ57MO+GW&bI{!N6aM_rI_M+yFz*9a1S6g}Y&(i+ukQJ;okZ zYhf5}gqc$ht9F=$J7IF%VRZy1PCKkBe?_>m!zu!;GY+dwFmxvVU;_5R;8};&)}6S+ z6pX;#Fb;cQ8U}uizq1dkNiYU0VG_=R);Wh&3rxWT%)o8X{@r1<3#MU4_J5CFFb2o| z26s3S+Udh82&1qHrr=^2_`_k<03$F4lW+sH{&-kzfnm5ECSV$7VW+r1byy9+BrN-H z(%XGl*)aU{VKoEVe>%*(DZ)K-SS^8B7=@ud*cHa%M%jOs_+bR5VFn(7_FoRGx?RKv z+hAfZ$6*%siThsG-gE2Vf zccc#|!q9&50TXZ@v<@6rH829(U>a_a{SL|%X5kJP>paZ7Dyc{0114bE@6oH9a)l{4 z6NV2SR*PT;Ho#~Pc7fI*>JN;=c4!}_d|?uH!cgyFbsVPQ_%!MFk$;$lRWR01{$b#6 zPb2M*mL!|A4<2$UjUTq5NRp@F!Q=zm4)^j2>&$tzo}Pkhw*c9hZ(z9Rs4zkpVzDEpnZO?O28;g z!}ObbRrxd6_kv!v4rXB*1}^Mno)vb4i(wMRp>+}Zz$`oh0~Nh$?6c$pPK4oUqyv+1 zEeuR2Js5@CVfFp(7 zFbJcU;Sa`O6vp9Nn1CB$=5peN_AK)8SK_~-SGB>!RpbLE;a-@6S(t@^=g@05c7ZmW z3Bzy+jKUTenbXVsE9?ii$?+=Ufk`+316TJl4~y`y90uV`n1wYkdOdcQ$5L^$#Fac9A1v79rv_43FVDgj1--A1BgTYTxZZHNrVc^r$-$R6li(neo z!3=DJb{u_R5N?K1xDCeOE|`KDn1)AS;4|d!F!_NYXnhvFp$*$$5XNB?ZiQ(W=;iq5 zdetPDgf%d@fqDj`FaJiNRj(P;c9hB2QU>E5hfrqK@Fwu)%(E2<1f06Uy zAJk76dWrIb>6d%eyqAdQq&~F?T4Vdv#Fyczeazc}r}e3AFmrmJvImIoj6PKdV`uiM z1hn7Ur;)r5NmdoJr!<6)@2Pc4Qq*b0Mp_NkpP-O$IpE8<;A{4lzz zPpyNgyZY2_VN;))WR120&3$SfOu)4;*n%D~3irSyJOX2@`_#-)qpk4W_=6d^6Grdp zQ)Q#shl^pjwNGt^ku`lP1JkhLq|sLBedq^MFe&@@_Ng8ihhxW(P8 zYw-^gaEI)FqEBUIAC5VBH1!?-FbL~p|8wXKv#^}^71JAt2U?%+Q|smZ#V-)<6!e1= zU>sIJ`vLsPK5T`-jif7luutuU$uCi!V~H2GKx-5Bgh99&#^4^9d5CmRB_ChzQxTYe z8=>`;KIT=S&sRxz9CrVDpPB)K-ylAi{3hu^YYXLj8tK4FXg^9iFa$Tj2uupM_Nn7A z{B6=H!>-9bwG{^2v8(LE;OT_>UZ0A=7~Blga3>5uN&Ptke{eC3ZtqhYUm=v zhF~WQ{*?H5|24S}cbM*`-mpM{eS~s`v6K2$%USpz)34&tI=NqMg;}^0W?t2=I$`3J zer27F{$u;qM3{kk+?oAq zF0=!r4^wcHxSxf8*@rzaaZbM)GoE-~-LGtzf>pBrntoLW6L1|&!UW916wJK7UyXk? zdQI$CF=)N1U+sc%SoRv+&+TXZdh7=m!HC_j+M#`3Kl8P)6RdbG@t)tWBG7&_@yI?* z!T6+p)dz!<`_+UA9KWDn&4U@(3L{gnBaD|59}G>!-|Ns9Rzmy2ezgR~U@OePO)zj# zKl8OX4tKyX+yi5<4+bmx)uh)GKdge`Y5l4VCNH79gzq4oH{gC*zY4<$tby6f`F6|`>e|NmG!ANa_o^Woo}WLKE&bm(f+Hf^s8QufER4WdoC zyPMr)ceCpv2%@eEQbI2cQc{LpD<$lxAatvPAV_Pl2!g?uXoG2mE?si9+cw&@d-H!b zO?%$&b7yuko6UOL-}}zzGx^SW&Nc7|3Jp?e(Zzp1GEE;4*C!EU($cc zhXXM5E8^@R^gcqIK|97cz|f<_D-1sVvFe6lxDgubiSr`TP!~QyoWS@CAFI{E7e7`B z=)A=I`5Ja@z&;pyg?yNRago1@pP||Fu}VS<&OMm+p$@~a7)D@)q+i2+X#Iw9hsJMd z_Ym~D*h(&xm(q07>6A&0lT3C6VQd5q4p{2!62MlOg^lDdSI)v zVC2(VRSd>pFARQms|p@YxzCXgwfwEB0qU?B8gQND!yd{1{8qI|(qG!DN{=A@<*mwu zAy^A7*a#ii292+5RqJ5_I+DNtR#k8$`Otug1Lzlw9Y}v*^q{S31jb>o1pP%@d5#G? zp#gPR1>-Ob6JJ9=G!8~T)DGFI<{gE6{#I22Lx*lvbR3r*-i3ywe==2c)f)L{Y^L*snn8-}3` zqi{8JVHC#exAJ@#?Oi}zEk)mj*a5X4Y*ia!5N?5C8+(?)iaWBfx6w}+yPa`|dK=>+a@YqgH~_2=sE>HD$Ar2a$1BaC#?9~k>3adI5(JxV^bpbf*1ZB-j!;&I03c=DgXk1+Nm zeu3eqh-Vn=VjVky{y__dpT>S@Jwx17(H?As(Qe`r+HvN`iRgQY^$kW~7Yx2kKD0K_ z&PkMe4f~6-vzE1nlfqB)Ge*=HOD6D`nSOd*B86W7tI5ZOYL-JwC zDYW}L`U^w9Cq7~LE#mxC^81K47>8{z0Xt#zZN^XJ@6g_9l>Y4Xr<7Ka9dQk;6_H+{8FQ9d3e=_Zi>QDc6tvF!mww4&!h=Ou!y!|A~G;^Uuu3 z?_&RE?0~Vq5Qmcf8}^-n9#{cmutw4Y^cO}xqJJ>>ckGcg?3DCB@DsFPA9SG$qaPEm z7J9d$4<@z|uh1T3JfJy5dFT#f|C#uCg!W+sn$Svee1bNN!7$taL)+00gA>Hj_oxR$ zFbu1q^-tP?p?|S%Kts{rv(Te$Q|&M`Yn#fg#XcBH)7c^iLR>3%| zgDz}>+7a7S1X{2Q#*W;kHi^81cA)_azKCbYTpJzP(M2KdYjq;6L79g zKTp}F=ELZz+jvfl`lk^WFj9kF7&{&NME+g$UPS%xGmbEF0se#W3(*G?HvYL7J7Fb^ zUqm?=xtRV#>xc9Qh8ni1I5gn^wBaO-UPApJq6eDLg|*PU6nkI zLhVZ8{Zj0JrO<{AFag_O{3_xEx-bEw;cY5-8R@GTAK_2X4}&+NPtrFr9*yXW5a-ak zd7J8lVHk(zt&H1`=npJ{_HEl#8H~Vc7`mPQ!|)y3cuoyJz}(BxyAFTB=+7B9sNaP> z(EbJUKooDFpRg~{0UZDOQ<)ICuF!%xS1x=`h(ep3*0Ym>L zJ|JJ?i%ce1<-{d82y&3TA^0zsyGaP z2fHMFjH^nnqrTy)1hnC17>B`T(hFQw3Zt+Fh8DT16FP7JM#`xF6Z*HW6Oa8mB8Qtq4qcI7Nq^Qdo>#eQJq*J>=t39jVfq!pemEa$SK}WTfvqrhjjKAKu?qjd z@M>38-c0{tJ#?>S{GoZBtGZyM8GE7q6UvMHdi4JkIV^(l8}J8oVLQ}Xs0S_B2cvKR z25%znZlS%k*bjp@yQ)EW3;uyNOu#rCfKDsrTPc65tBPR+R=_B%fx+9cQ}WwrNAlqS zbYbqT*m;M`@5#|$SPB!c8iwwqT^NNCsQrw%f;Q}d5x5D);Uo;Lqo21?9+pAt=dP-Q zakv_qci~Uy!d__qf^m>EoOe5nVlUM0c6lC;@qsPSfE_RndtvBam*1PCTsv_DEm#G^ z_v0U^ceqNsgL*I@S}+8|umU=;R`?)s24fG={+;NDMKA$NVf0~Fg<-gp_<=6$h4IJm z^UrAiaoUAZ*aBng8GmR!fnV2A?@7iFI~Q2zz`UUF3<)LtgOVFbpY zy#f7Df5laKQTQtUfx#a74WlptBd^h~yJ`2g_ytCLsRx}m@W(yqf0OYRCeRC`zhmA) z^DXSWmvXQgT7C2rx-bGmZ&Mz|V6X5U=1n{O`2&7~v5l;s(0-TpBn?Mk=sn8ahaOlA zBY#9c)Hk6Y#$W`R@6!+Hzy!2EU>%2AKmEO*daw`%9qflLY!Uv6@q~%LkpBSre)*Bdw5#b=?3+*9}9}i(CG+<~1yPySIVFa#+ao7i4I0Btf;^ATXHO6`dV@cLu z7>6-vOi&I6C(+wU|Nf0XU{D)W8=>hNR3*Qp9;}7IoI##bq~4rCwMpc8gZyuB;&#tL zRRbe?4XS2n`UiPl5q+N;R7vQ<`H#?UV36k(sTU+4y88^O&Cs4V$nWHlzwe+bg^AA( zsumb5802^H@WcM(KT5sALH<`b?Ho9$TA_K+pz4CbBJ6=SoP_bOVb^2SI~coQVm|E& z4<#QO-xyTYkK>s!C`q!Vl0~ zJg6Lzmk;thBX%tvR1Hw8#2)AzM}M9|PZjM$_e9FWc=ezv>Y}}xK^2CP?@}JxXAbha zbnvV}wHjLIU>7vMkN=)QUXNd3{0D_t6Slx8?1XU`hYswM z^bZHs+-~%(8RY+)VYQQ1g$#; zl?!9Pp#1ZcgC-<^RV@s{Mi_zXBz-sbz!=;l>3fJ1Xu!EIpbzRW0V|>N0C6Sq4*DZ$ zn1I2D@MD~Qb~298e1v*0(tZp-K6p(?96EfPFCdBJDxrr9m|!{55g=Yy9{saVva{ zcA)e6pelF;4i2h1sE-e-0hsv0kScx^`B#S2dKg|bq_iILPZ&}rj8+ZtyS~V)hg899 z*mK5^suP|wq~b7Y52?AoVf-!{QYA1BYoUATkec^f^jtBd>Y>v##P6$-zM68q)V~Hj zFt}<+t%f#?!q95kgDxC^=CwmA_jTHbh0uitwAT#rd?5Y3Zb&u5P&4*RKHLc7KcU_m z)W3d66+!)mAyoxqun~q^hEzKY-Z-RsVCbeHH3_3@DgP$=Bb0~Q&6J1wPth;Dg?30I&N`GJ+)4V147Nh^{vj2E zQ8)m#2e7Y?cA*Y+SPVlQL;Oyf%m?a22Sz0QApU^ihv*-SL+x$qKTNyO_$B>=<|DKN zEx1AQ9~)A^chLJJ{(|OHL#hLYVKMsqcUZ`ytQu*)FKAaErU(+vWzy@f+W*CEU7=L9*jll4$_~Sk7 z?7{yq4sEEth995-W6=2>{r@BU{g5h!_FL$OE?f=6eb^0yZ(|RPKv&Z5Fi$p-h9xlg z2mB&w7?$)#;z-i4N7C;O@%wC~Veoy@?=em=0;?tcNBS*k7?t!U{3K~OAnErR=MPB3 z5Db1moJ$%uO1hu8k~EA<+QGk)hI##@Kg5490!qf&WGA&^hg>uNct~Bs!h_cThf1}zNBI9hqMdxVd!r|sthKe4ebH!hEdoJ-H-6E z$p211|AgHi;}>Ya2z1>cwF!m?8Mi+Z4@1m*7=ope9wr{31v_A31iLq5&p7^qao7lr zf~ zgwcQDC+Pm0_MoGfcYni9ZCF)6BWIZB3u%9kVYNllP#Yj0=0h!SSj~q~SOe`nhgCat zVGoS$HLQw0qCNkxYKGy!uqyaF`aV6ZiXk_mRU>p@H?;Q|Rs$lRH>~FUgLa?+?avOY zE=hl3nCJiKPXX;g<4eOT48vcc9*jZlW7>!L(AI}l3Dox=R=vRmq z!>U7gFzswZ-~3?}fwBL=9vC?ceJ=W-0iz-6!O%C*2aO|!RqY`DKa&1I2ew1Kg!<4p zYMAE%u^Wb8)*kM%)E!Y6Vuo=cp#!>Q*qrEZmVGWGIR;V419%#bcaoUBYP&;9m=M9m= z7LmgZ(1nvQST(GIN$i4!FbYeBC*p4yI|;u@el`Avp;Kr_(x)*_+tL5sVO0l%*05R+ z?eF3D3G9VM&^QafKnvDDy%s$phutEF2^fZ(VH74|9M1hG{)9zPKYLh}NgCEl`W(gs zM&UZBor^!A1^Zwex=^n}&m{U`5sbq!sDGdSi5xaT2ev`$Jo*8nun%hW#QVR)GL7KUya=6T8-o{wbQ zXOn+B@dmXv`~<^rgQV{u&gSH35m*6T7>4GZj2pCmM%?a^!~IX@3v^&H)YnlS+OP)3 zVFPqw3p9UDe}#83PxHwC1?wJ+M6nx&?@Kt`rBbO0<~W3n@9Vw5Qg6xRyK^o2-N!MH#Fb| zXuXYH`{Fkkg8Dnm8)(2f=xiKTosxc+{=+ET0=4%T$IsF~7=jM0g4Q4LucYBRNpE6Y zB@H)A`hEKGInr=Gv_7C8P}_{1P>0RXfKkbZU6TJ7>gALFSKe}v!B!!Fnf^|>P|4o%nx z!_b8ZIQJ{~~%L;dq3ssl!04-9@`L~Ry%0sh&a zcE2>DN}&U*q50(z)d1r#0;4+pgw}o|DzA`n`09u%gb8RsYyS~d3qyt21+@c4)J7Pa zKcWf_Ablu$p#^OigB>t@Bzg{H9AKHSg!Z6u)QE~n8oDsJnDILZ{jdz$um*;q4I^+h zj4h!a)XT9KCMxhl5$UDa2@O~U%@xE8v|$%?SJJPqk#FJ$7&@MDgC>kX3${ZWc0v6F z#s|h=-of|{>M&TvctQi3B8LqybQ1lAao7jVlNqN&@JluRfl+8c;}rZT@>B66)L|4_ zunUG^FO0*@(1nvwJ8eV-=hHqcgeEM75m+VZnh_O-iPJ~;eLeJjm->F=TFfdw#pF5?P=bt7sWG|nTwgy&<=VU)jsxP{s!#3>BI zI1Ir)Xu~Zq4EfO#?q?J4(1pd&xRh~*vCHrWG#lwZ4E~6E(1Lki$4*!P9as#_%jq{X zu3-G24Le}GiFz>j;}Mnn4eG-J7=y)7yApe$86Ht>FnIL{zmtc(*I?H-k*{K$U}!b| zgvPaui^#7-Uorh?#*fgro_uKCK))s3g1;rbmi)u9Bf|OvgE!L-48v|1g$bztl=Tam zaPAT0!$KH^B`|Ue`eCS*bp==LgOyVOByC%@E7QpGz=YuJyFI5I(K6~bnjtYpnfm?geIJXVL0zw*l{28 z0a_0bC(wNmy^?;2`3(~=_-)#K82vB?O{jMgk1zrwQ2QnE2yK{v4s<2`E7q}6(lOQt zXg@l_^Q4r24FA9g+yeE-@#A;U4{M;YeuU>mX&?4N>j}p3XzYWfF!U7T2g6vVS=)eJ}eMJ4m@b8Q#4E_Uq zq5U!KKo|B%{xvV&HmXLTF?&>1Eycb$qpAf){i8ewO8I?9 zRnao^e0h}TKdE=%sM-KS2aT!$m^frql`Kd8jZvQaq@5#2RbeIdzcZ@B&^&rnb;9^D zl!p$Sgt{@x@B85wSPT=e3YrV42lYjxDglkMQRTuYoV${8un>k8k17MkpasKAMpXpr z<)f+>#w$jZb}W8cI;!Tw*s@Wc^Q8UCQPl>cE6@+)E3pUa$BwFe6FsmPM$J)G3lmkN zJnu>V$)hUoIQ(5bs>)#Glu^|TV{jd`Peq^bv{6-XJpP9z!ZXQ-_Bo?!3rs-m1oWRz zf1!3EcEiLE=wB7~T{NmHVEAJE3AKh%6@xC^41AKI`AhG89aVH4Ev#vW+EPH4joFbp?B7mh&f9`w~v z9u~pay`!og#$gz0?ZgMP;Rcw1j^y7*`={fN4$4F0A^Zp9up8QsFn-^q{-dKR1mmzC zMjxYJl71XNN_stU0PQE}{~7e_NyYj*SH!f)qO{_pfd_z&!c=EwB29y_)&KG1R*XJ`&G-!8z;A>s~(hiL~!N3i=s%ENgu zqF4`Lc+QyG1cQ5wsk|THS6Bpt^Tt#obYK^Z?mNcwoa94J68U}kF*Oe+3deY!lXedn zQw=Z-TP1zam`Xqk4!{_kgrTA_6}$*NU!xv04<1vig@<4V)aH-zJAn8J=3Y$wL&tc& zllq5^sdX?C8dDB*;3TxaKBfwONWE{2sZwY_6Pm@?0fUE+sko$%pgfEmIi^Y)u)73% zp?=huYJujr##B_~a6Pn2>E|V+7oraui^llfK-wuAQ(X_;ko;IfPoAAr&^b6`|jH!*#I1BlYv9}g~K!~84Zxnn%f3G2pG6V%RQ{9yQe;^8XntS2A37mO(zCN4xDw12?(!k9g# zD#Q5UBH{{K7mx9Kf|Q4IuO|P8W2y$)4cHHZm*5{5f=S7T`PY!XlsJJ2*aXeXumc7g ziHlX}g+(xO`Izc}i6+Xgrr%eNsd}hg#kj&4+yoL>9CJf%jJb?ym6gg~%*6qY2 zOu$W&e+PQ5NAJ%m4@375htR&CalV1}9~$HNQR@GS`p|fkbpcv1w*~*ed>DcAVH6rr zdyINehjq|^P0)f77>4aodmO((2WmHxUXMLchegnUrO<*V48vL&g^e%{Tc87@PaQ4ktzaB=hbjmiD0uU04sz z?lJx!GUZ^0q@TmTFbYSY^*nxx(9Vn44K3IP6R;N=FVX*-Y5!&70Xnc2hJH;sk-vgp zeu};x;t_^k!%pb_mURtUud`0vf`8ti9*q4SKfpNbfm$DafX3U{-%7c6CZAioy67 zk>82_{l}FB6L2-u4j5NmFnA#CK;xisRrE9T6^*L~XdO&_7(QfNY3tB)=(wtc(Zj}7 z80y92suu}z*4A{jw>6+U_{d2p*D1IA$-YKzC!M&T0t4_&C=gCEMV2Zmu4jKVso zSB$F`Xu%H2Uq=5Wy_|CQQV!M$D;Zy?tr%B5!egE;9nRy9eZH- z49eY)9EM=TVmu@bYhdtuv!>H` z^T$;|2j%N22cxhSY8T*t;f2^G`~h(aZJ75U^fial(D0*+jJ{W~<(7GM@W3UZBK;sU^9qM;7KSd5F zVH5@*#}BX&Mt+7pP+!OVgYM6Xb7+w4*gw`+UKMY5)8)|pcJ~Uvb$YC7D zVIQ>aq5cz;yO;S3^>*eRH15ML7`}g8&3}@9JwW@y4&=~ykhpsaJ7EK~9zrj4;oL6j zJ&fJZ=%gM@zz*obZjt{A`(Yf;eVX^6uV&@c0>I!{0l9Z_YD1p1u(Rp ze!?*95IO9IQJ8>nxEThYp!~CxhaqUfG8lzTFb*Tof$dOxl5vJQ?1f>t1%{r&U)_|4 zA!v3no-hF$q5U**24ipl>d&ywJcnIShx)Vl8EW0kBjIz{3*&GA#-1PN|0QGZi}(*( zupY)>7-}zZe1H)chvqBes`v%U!3t=@8kl&Ma?pVt!XCyO8o$BcamxLcc?6AK%EQp> zlo!51e?|VgasE#-`ukX4Vep-Cm4uP^h=-Rb_ebo5;rHy8 z#uMtB8BZAe3+12%6EOT&j%ORNZ-8=8|2ySi6vkojAH*AsL+#g;gZa>f^P#o{J7Ex3 zK?Bx96NaG$TVWV>!1%}LgTbxD(JR;qBhVeBpOPLTUZ6cpyu3<(N6-snqr?StVH^g> z@F%q3+#c$|5*QgLo}dfYK|4u#k#8s7p*F!heGNG@p#xXL$Uli2s86z-#c}f2N zG5*~%sXAeNZc@#Coql{O$?tfg4>m$GKzlG0OsWx)@10a-Zy=wSRB;&DH>r}){%lf} zyh%Ix=!N>{ld2oWp$pwFpf^GLUreehXcZ)R&X)RLPO9}V`jsTVe~DdsQWgG=^83** z7}`InTA^K-RJ|~E0R8wq`3ELdDGVNzR3>y_i^z+x3u*@^Rq!qBfQ8V4r7#L>VDONn zS_eaiCY9EQU9bRZhhZO#z^J4{NwpE`a0|3x?%UY&b;`rwH3~W4FjVY5xPt{W8h#R+0~6(Eb(ql7>b7 z^#75hs)iBR3?0}7tr+nN6R^Oc|BohB1+-xp#$YFO;YMga#&~>)y>LE^!7Av$CTKpM zR6Q`b9{>Ca|H3k8Jb^x_Kbce;pbbZ04C;SI{uFv(1U5sXi}-^vsBK2y)3gUoSPf%v zH4Ht&ct{#f!r-&?_b=#&RnUR0Q17N348tuVhxvb{{BucVKpWOW^Lgxpp%?JS-mwKRSCn}i6a>KXHq%PQrP(s<2`3Pzbi?*du`|UBeCz(+xh>&)Zcr% zsu7+<`X97^@^+s4q`$BRMqm>RRd44xP}0za!Be)Y;1=40Wzc~(G)~>FT45A+LA!3d z+6=YxxAQzG?OwE<--V<+j6(b3?fgGs@_)EpR7>_ac$sj6UH{x2t(W^y}8` z%7o6n+f_``_ig9@0ux^y+f_9*)^ArGF!~Dijlj3CZvp{q}*uwtCP zI-%k)wEu*ftL17&;e={}`k}NpE0^Cnno#vH8k$fJw7x!}LO$}3nozAUe$0dl<{&Sh z;CCBIubANf;pTFkaYEJPB0mNFFn$L0X6JGpa6(njp`AMV0rm4H_&>I}np;1iD)-3c z{~b;6dy161c!KBsa{2x~{oIp$SOG(qPN)tTybM1zj{KghKcL33&wAl;P(+}59ZIsuC@3RMqv!fYo7O)f6aFJ@!G7$;H)ps z-6JnDYmcDF3wVcf`_&=oGJ=`Q^RLIqlk&!r4^%=51%gWg`O7}-zbr4T9rJ~6AN!f6lgNTHne7hVPZV0wH>vZPgX6C~A?hTQg@tpk&n^<$=hooa=J-3X~wjYm~{1 zCB5Y*Qh4{G&)lzH$xq9Qz8ig%X%Qc-k+@nlyF3ue`Dm8sb9|KwB8t}X&SROHw|~F7 zFE>?pt<>Gcma>#BX3mB5YX(zzO7|llIgAJmW(RKtMv9F#?bIC9&;OxLwUf4yqG=nc zn)7B}D)ci(F8Avc@1$<%>;0-p`o~DG^7;O@S0Jy#znH&xLG&jm)AEge6_zpg;+Tdv|?F0fS34vEt$l!9sZLgBynWF;wR9v{kOAiYw5Z4EXy{T(-qWhII3SQO~+cc z{}#(w(yz=|n!ejIPRbt1C4S99S1Y<2k7iDPDP>2tuBo`Fkg-@6NX*F@&D|@oan7QE z!+U_YJEz?5i_SPew2)etlC;r!TE8mF`=mC!*jpBe_;U7_Vcj+M%KbUjvjc5DGZ6Ki z2^UgUlXb8fKh&Ppuj=`%l?B4HeBWb`7WgHvfxIsA&dTJS;^oOSh>$n8wqJcl@_6aI z+mYoXdr$=4xHFtGfU*`b?y^qzP^O(S7f6}qfuLwC^VjjW!Y_IU$R8nJ)+l+2Y!aDq zcE4KgNm8=l9Ofl5nV<5Kb-WN+7qTySlGGomUy3}ATtZo1A~TV7BSW?K5?O7!{uk3S z@j)Z94U{`oWL}?|uyv6?OtO`{ymR{1yv+K-T-;@SDQ68mmenP7P{^zX<^J<`U2<0V zeM@&O%0b}nnWSQK{vP=A+xvbUY zfy69dXZB*fz#E@t>Xg;>t4~QCUeew=WX3dE3|Z+k*#=}K(_|Zw6;G3GK^B@O(}@51 z(`56I6-|@LJSjw$?T=Dq`m}N;vVv*lYLVq<$#nYGh-@CREBTxn|C2e2oso*^1^!h3 zDPw2VleS~X>XCg`>hY4j#0F%I$Z}cx#NRi`+MSLUq9eVZxN_R@ezD)TZWob-q{2J4 zEc1?}%ltWa$%4l*gkv1K%K~{TWDU`I%WLO-mh3gw%x=lOG3O>?SL`j~z2&&6J&?#6 z_SCeE=k=?v@L66mADWSEMs|=0j+3?h!~oq&&42Qe=Nqtp`5#SS()0@weQ6DSwampTyr~{ssI!mYtGkZ=8BH7xb&UsV4Q-_!y^E zIZI^4Juh>JEBDKKwuQ0|WzS~qmpJ*v{YG?;oFC7;<}a4<7oV5Phl{7yI)kK%Z1SRh zRhL=2mS$p+EkSxeS`{#IZX>RyZve~vCFp2HM^Qt+dQ^OYoj3Y8hNt&2#Ph1z%L2|U z-()H*GsoejULORaxh!Sh2jb+Z&JSV^8dVinDX6M{O9Fkl<#f&&&xZM-}K}Eth^WhEWlf? z>{qwV(BB_tx?AS?x|Fh3xS!v`PmR-BA7h=~Gji_HGJCoBdQoc68205vXO1UUyVQQT z1%0uf^sC=w^i7T3G<_?HfSikF)+bv{Z-2cBeW6?W)tA!i;#!#-*?ZcRS$i_Rus1$) zEO_x=iO%@}{@m8DJ~xBDW2f)e(Rb3!_IZ0SStpv%muTx({A-8wagtz8pVKU3hAhS& z9TC%-5KF~(j5_P?>{rL7=hs@_3hC3anRAAzedbCIwK@Ko`{enkf@ZZ(6R+#~)ta;o zGw(H5rsj+7yLiUgvefVSyAoaQ&pH2)#nD?|rulp7eCFgpWOmLE+2+qM_dNfIZR^k% zeXL(yow041^mVE9)!S2N>x<9w-8-YY3cu(YK-cES`_+4&sB4+@Q~c)ZnNinrZ+$9e z@oRjdUrnMnwLTH2+2>iu1x(+C)0QWqNY*x+x}{I{^Zz$Kp)L!z9C5RjHt)F7DU0q? z{pzS0;^jDY4`*kG3oDXIafdo{yQX~DB5P?n#u_s7d7*!5DdXH|WhR3YiA9-&EOIim z#d~vndz$lBK5Hihg0&pOL|%#9MqVm%j)!NYkB7C$+mPQPa_`tC`|@(X$=?Nj_B{Me zodKLojnv$2qfYKK{p#^_oX>PF>-*I-KXEovLA>weJI?OJZ3F0Q=$_iE%U)no>_t|_ zXRTcJ74_J%!Y{{UsZ+2I@kjoSy}YaeA!O^2@$YNWW6wEz_SiH3d@PhZog%W;!q;ih zVsAFf1QdN?^p!r}uO_79yPY%MdH0Gybg!I?W}eU98mglrfxa!TaPG+Gl&@u9$;Ls> zl_(WLJVKd@S2;(XA&$z^8;7ZNr`#{TD&mB!wWnVln$cT@ua^5O(qmjfemnUWrSsRw z^_f*U$Fq4_mI@%R{mLC@;NssV>bTSa-b-W=5|haOCoK~nwIj=atzSKyws+?JtsISa zy5z9H?|UE7qO40L%e=K<1bvOa=~qvs^`-YgTr*3rE8ZIF`Mivo`~gb=5_T`y=jse# zBeod?{+8eNtA{>Omv;Q#<82W_1F8=RpP4?Wbe1* zTF2=-+`Q=JSJ=+4%2^}RsF=4)oqFob7kg{vnwYm9u*qGOd*+TqO~uQv^h&kdH90L* zl>K?pz7&6hIWP5OOZ-=cpOxB{Bzetm_N#Axj)WJ(Q^)P8>lNv13GVEiBlZX+*&BrC zRKbM-B>$W_sw@0Ctx|R|Wh>KVX`+y~yr!LdxU*O7v1U%o>>G1$%2_M@m3W%Z`=Z4= zpMQ*CZ~k9*zNVMQ2~{z&FQ<>~H_2Wh`<$ByST(0S;N<2k#MtQ@SMPXQL|Z0$=6=+# zI{7T~Z;fwdYVRMCB|r}4%mc0fN?bQlHbU9^XV_0n^BdRyX6L*$vzNT%rReKLpSz`B zEl97K>0|kd%-&$?c*!)Mopbff`Z$`iF7hs5Jl(DR>gjZB@3IEVT6ZT?Ec;ls#6Pvv z5esZw7WsWQqzVygDN&ifEHzm(hd9}A%W)$@o272QlG{xZOX>Z#7mX{p;&E5@F>Z;! zDo{}sFpm#ZEC?8$PZQMNGR(QKEZSZy?sgC2`QVC~uc>BysuTR3$^Sq4bWF0*SO2f< zW1(EjIy1FC)2i%MS}8L?nGQZnA8wRu@Y%;0uH(vKxrh}j34W!_qs5u}bU4!SD; z-OvBGO6f}PfxWfPi!pDlOJ8G-&d#alTH*|QGVhu-sXL$@&#THi_&N z5qR-2wSIAwOYfBz`?-0N{#@p7r|1CnTK8}iKl74~3-4O{lpm(%hIh5{>Ok|XGA_C= z2(-;w6o|qO-mzJW16{Kg2I9PXcqe96bG)pc(Pdm+dj%z25%rXmWhq&Nk|iivfRY6$ zITIzAwVHQ?i;P?LbkqxJAFh?L&pv0#w$t#P6{uJiFc$`@7Y3|_fw~0&dtsn)A?g;; z^a7e*I^$?^a-q#U`Q>Cs*4KP4niTpSbu^z->sYz0V~l0yc8_L}Wl*k^ayMkwFwd`) z%RZKR@l_VEd|flTYN6lv_Zc(F{4(b4v{4suvewjPscRfMN5}lK^kv}M%x4MKF!eT3 z&!L_zW6nM`y&g^*bMH96l4J98m@wlp_$OqPz08{b3R{3)wiB*M= zE?ewp0$EL!?93+*cmdM|_i zx?Ft|zq7H-EVgBSD-{M7!!mmf-+H*w=e1#dnfa0LsH>!nQ!@ADxE4NjPfl)L77<`O zwNW7_Mmx2!z+ateqav#fIbLj_jq1-kYR=B%>&5xB@%6U%G&jQ%zr-)|KFCGcf-gAg zRz9=O3(A>VrT=tquP^6lGPmZDRYJK|%B_@g4XJCNVvC8q7x}qj%juc@B|C&wxxSz6 z^)f^73Qp{mOPj2l`HQ?Q!t!+2rZ$}=R9}ZK_lu7DYPw&$>_5r_w(nKEwDbPMi_wkL z-CW?PPiK5Gwcbzp#Ea1iv@D&`C3JQ^b`481*FdY{cTty#9OJ4qd^t;eedu8&TC2xs$|E`$4`~!B) z6JMF+%{}lx^OckjQ@-Y)|Ga#R@|{JFT04u%)5aoiYAn2ax*>`@_a96^jzcROjgc$#6KmJnK$1_T|4l~T<%@FV5!xr$g3c)BvW7RS1grV z4BoxU2GPHpe4RS2QqsD5c?f|jv%$-Z)g zviTwAjg;jj%wzE@L*}g)Q*p(S>_=JkWyKd)p3lq zfyg4ilKe5rUy(VVNv(%#QtCKIs_>t@?C zUe2CQwnywnrd=OFnY3%6Yksk#PWF+=w%w3R8&l3S$Znymb%dk#lXm|XzN(~J0v(k{ zI%<&5TBV$SbBvaKYskmt#&mnjcJfu7992z@saz%Dv^4EE&gdmB^aEKZ(RYdHn|8h- zcj)rDZpip8@zV_5<6|nus;O62;wW9}@e*D2$V_CXi(tC0smrVt*}9}&JM|i=H=_;Q zkxVzda(cZ@)QeNkJC;vxFCEqx%pJuYDpGdN<0fp;QU9HtG8ZbTXHxG1=^xHu-H|7A zmicP}GQG5V@}uO}Wb)4^yUe@A$rWHPRt@r6DYubweNqm)cX#|WCHy7sm`y||CFu=u zCv$uwIvT#koDm(oWL?=J?ISxu;>)vdIop0abx7qZMN6RipJji>ooQLpy*0g;ypX{@Kb?04d2(S``aVEjJ9+=4`j(c&&`M?@ESCnV-tei7u1?o-?*h>P9a$EYu zfWWW*5D1~59}siY~DmY3{B<{pfHk!=*gN{L^&(0L2-!BY?N^ks0t%YnQT=$6krM=qtj zwb)T>qFyGaRx;p0i}1d|qZw z%OT6VZ`48gKFZ&lUXy1yS21(;W&<>BGc0Xwrfx-rqwbukt+O(1$@1^nHt!Jj7nCo` zjAxc@+#*S@H{KqLu+qw;{Ic}<2Y#5k4(+=qRhr{adOfu%yKXthq4XTgD!V37R2c}J z=JnuvnR?uGs-%q$>a|y;A^ZBB9OA`{tf@)# ztzYS=Yx$h=|I~FPdGa>Bu9r<;8$&pB?y>(}J&CtE>eW(@+qd3J=5iA<3t3nsSuro= z+sNCHRbFJB$l}O$+#3;D9NDI6<@%6qM8=`edr4aZ$VQNTS0rAn%APd!JYFseOU#+` zbn=>ZlUGV!d^dU3t4^8E4dhjj_iV-%-)R`*#k%CTl0WbX`RmDVK7Qu<;*&n| zi%xLV9-^O@$Oe!VPLoX{)3ao{l;s9j0kVhroSxGwux+7V{xU%6M-=W+7W3!l^aZ+j}qL@@vjX`(z)8xZ5;` zCpPrVk!i;szc9r7z06VPc!~o-IbO5ltCY4&r7iNi$lq}vXNI*Y=9AlqJ1s?CxO=g= zn)*doI7)7x$*Y8S8?s_#>qOwKcgJS#0dR>=uBG#Y7mM*uIv0D-Qua}|jk??p@?O>a z9YEHOY~>9574Mn^dwRLQW##P4L1g--YJogSJ6-7A^9rK7?CZ3571sk&&3XHcYGkd* zP7|4TOjwq>52nk;Qx2svoft&&wIIt+>r9^y&|A5clx}^QpY!|l=LP<=cYKsM z)4##Kb(N#8$=D=~a;aEMV(Z36tYDc}w=hPgM@|=T8`AYwpsSiv1 zQnrb*_O<`_vNHENC_8VBqbxqlv4SlW9yvim(3?9w(a+H@A$waO1vUwFY#CKfjv-}{|rw+d8t!M9s9qmV^gR1zo=u-PCIpq znjLjZ4hiPMP4b*s_PtqeuU#H6y*s3#X(t5bp05YcvHAvLRN~)@NA{?4UTFCq&WwHf zoOK=>gu1nkTAGO&;&fF`1$VEUOj$P8Vw*wPmI&ABrL4EcP&U1fV{IyUrp%r!!M3cxruG6WE8H>(SYGyQ41ik=VuOhR;O_PsK6H zoDXvC|BY;=Eb21%lIU1}$JF(rRld}@s2s=_`(^Sh^OrMutmv?;QR%^~a)SvPuj$j#@N-y!}yuMR`a`{%*)J+n~FU&5#%8L$1NnSzTwa6N?WID1&WDUsP&#bFCXJHLX%t`!R=sk0^ zjxwP~992tsS?f7+aLn+QG;jUsCO=I6N11r#8h`rPHt%$xHQT8-u8FDav359QvJa&PVZIJHj6FJ|}s+LcF_>^&zt|bHE#W zT2Fl+jt4cThMEYJI$K2fla9J4Q^z~6^WsIm8dkbfI4t%{9i0m(O8_jnv|WIq)RUG_EM_B$8)Vb`qqnxi+J} zkT$)0G1JzDY0m=5GiiM@t_*S)L)8Yg68NcJSL= z--)yDoRg}Xy+%#5qdXAz<-CwHqb0I+_VyhX`YK;9OW3l2&Lg{%vJPcA)OpXBn&`;q;|An;J&rO&?#C_cWT~Cw)nFTc?t6DW6%Jy;%TzUbp0LWq|d>li5JTKNR)Z8w%KTOUjoZE8ZdVzOR)!j~D+} zkyk<9XQVJMk<}rqLbk6bNw5FNEM!^V=S_McmfD1Q>qC?>-EU6a%gn3~As?5B^YJ8y z6V`39t(US!;{RS&>`78~17-EJJuU&ZT z-^mKMs?MgdB$FJwvpGqo4obp<-N6QJ(&{;^6JTBYly=G z`kCpuGJw1l`AU(epVyFh*O*kj$Yp;jw#yEu+%F-&*xQ5YUhhxet;N;Y88bj=tu%9VOo>OzHEk zg>daCeJo!du+L82Tv)oYqYX~nl<^9cHS{xEgjP5hR(ka$2QaUkDa zkZ&T0Tt~iT26+kcc^h{vZz3<9CYSN7LtcwKGru^cma7KR#%l5gW~j3cdGOtt>vWOV zN?x|T(oO<-H}WW-y?MNdc9y2v*+QQ2-mZ0W7hxar>9&bJoxCmN?I-%Ybt|?1me?sJ zPy6Gpc~VsTTtj}4{Cy=3c!|tLR*W8X&q7=<0mmQCmJyS9$6?X{PMdXVAr+4Y9SLjKfX8qt55EyhIj4)`?6$ z%S+lUL)L-pbP>!P?;(udDHfN?k9lP8J*g@>Bk1Zz*B3<>FNu$KWIf1E6hVC;DEl5M z+l@Tv>|8d1tN_{BQno2oR>o=oc>{7wXPu{z^SrS>f)TRH~=lD~%vX;s*G4;3?#l&w-)C+#-s4l6;^O-GjO0?r1 z7}m+^&cd)b{cu?3p@`$;F|wuU$H-VC#D*Sptwz^1qKkT2_H#5zUvOOJ=W<>8n89Ko zHfT$@PE0*-jJ>gApOyWrwOlD=4(&8n3%E3})7q69yGnFvf0{bRiN7plbCDHETf7(s ztpQmPvcu9bntd*@OwJ{^E!`NXX3w-dP`!YNUo$OuuwBNi8$H24Pd!7k#>e;Uz3&-c zxTDA3zG5@wN+?$%26$sHw_7T`=aCFVxeQ!2`P(Jm8$a(H&pVft$GbD*Aos;MMldGc zV5WvAb-b!T$GpwXF283W{jL@L^9yTf0?c4R%s zo=DeE-IwK3ksSM%``NTkeJ49X*_ywk=i;$};E$Lq5$X*fZ%6LWtP4}m15WMl)6XfJ zvgey&+q}&Cp3bgUWXkjxb5CuxKjOMef6 zqy3G!#C-N|-IQ?y*Vi$l<0`!G8LUTF^>&`|$>`ecxe?z`*e~Z{wi+{xf_MK~$DG_{ ztbcobsIKO7YJSLf<~Vbb_+qSNt`$+Hfijn+%Ve!D=LYgQVWDU#c_!t0DK{bIc>ZW+ zU&%95ayZBgs&~FDeu_}P#s8tYz(>OK6Lb2eoXQ!``>dSDXYSfUzd`j)=!$*nL-lnT zx9l}BB;TCO=LrYS^p?x_FES_E3}E^P3RqV~hrXQo82I1ou+UM9j*d@%s9yWT`0+hD z%_lr7V@(q+kRLzT$#JsJmUXR%HsvfXntY@vY|E<0D+H0@9 zx6|QU?4ILo&<$NUW6x2F%AM$dK!nVhk zrobGq=b^Mgv$WR9DE1s-e?=+CyMb3fea6PxAT^0g$?|5|VwwS2`(X&2L2y3LZ_Qf} z2Q!COx%P_wA7;E4`#LeMTyE^nB;OFP6PwGVpO@fOo_6|-_FF+ef7-T$ub)jmGtj5o zp?~I#zc(+^{y5!Tg>00fa@KBZ+1A{nwdZ%hqYoY|MVPtf%bYzw415f@)Q~=j5}SX@ylj^vf^H1Eov9mq~-+>)+`BYm;4?DCwV zsD!5KQuHA-=kctMV70)u0aJVFBbi07jpkdyGOKvLXVnCtE8@arfZ}roi%{BAZo0=99Pg*Z5J_0KenGf$d`YKRidD6SQ}@-{t)Fi7)2$ zyN0s-zzWmF2}fzdS#(^K089M`H5PP^NKm z?PbWq^JloToF7J)2K_MDQdNT`&KrsBx%((JP2GodgF?$Apk|3{ z#7<#)W5%Oi(%AXp8SlS+TO+7LBNyh(99NG1;^fsOu^BewqU8H9{MI&6FV{xuC9i!A zKlXk-Ir)K=8U=FM8I?F0IzKn#(QTxMwc|qF&e-s4c{j$pKRk$crv3BAQUutYaVUR3 z?#vibV(zLo?t|C1J7+vx@a7}fFtGkS*ch;VA(+a10N50;4k@TSIV|W~)ZtfG#nz#* z%hXp(UV{Go`iyt``Df$j>_6rv7|$^>)M#w(c6hD*{*0H9453{^=cf{A?rf%J%?sUg zlXlg(XDYf5vJrSJ!^6xqu+svaEhEXAU5z?1#XVD{W{q+Jy3EAc^~4*kr26J12fW~} zj#$Om-SCcp8cf;NUcs33gBiO=u;_+g>8TmJ zX9IrD&uQW=wEe{O8)D7LOTt`b0N;3fY~1FCvhG5Uj9JUf z!21lm_y2mv`?9aAsAYTB^JjhKLKqM;jOtBpvZv>q21>&t^K$y%Z)d#kIUel!*-uNL z1FU(k*$E@Qv)-s`Xm&tzbZN$0t#&s$(ogrhwg$|+Qm0|6YU~d8{-^c!@Tiy3XzIh5F0>Ng!%Rdj8&UiO*7 zu7Yy|@|vqCUt-p~Ag0ZY-5a)h+7rJeyMBJ9-LT%s!Vqbcl+1b?qxmHWH++tJ zB)@Mj%x|;NtCR35T{Y{UFMkgD#^{6;WvzS#OH9x{A=2)*TiuE7m42)Pr*HMFS0xBUNu+vgakW}9E4xXgJ$oyepFr#LpuuX-zzVbU6jA{{^un{UfQ5N z4DIcqx=SZ$CaEy=hxBDHIBUde{5&hP*jXxc_t|pB2xG z4Vvmetrh9KBTmd%sXR}RPWmyk-fLD$hq2PFBWqjYU*h$tU1O-ehWSa&toMg<7#kZP zZr<#4^H_26LS?#8Nom?=+Pw#UCC{Ao?&Y`m<&8awNNhEhgY1S;X!b+XE_s3`Y#%w_ zMVDf5BR)fFV;$&I&>nf#tRM5UE5S&nu|0jYKdQ2@>OVJYFNWJOz61K|S7Kj5e}2NI zJuDsVVrvyQ>3mxR0l(Vv!0>M_yU~B9<^5;lwRc92*#aR8!Ym>ZN$XDF%tX zwJ|ZqcH4$B!4gm(Vzf~^9{^_xoDaG_6hChIWAHQM<;m_l)dIlU`dNFnAhnbDy|ox* zBd+1y;pfeIn^pgMM_pst7#yVK8~_3l;!8~MnSX(MZae7s?GtnxQDVg?pN@Y~Tm z>kYXw#oObu^G+bPX_`N}d?b09P<}VfdXIH&=JfKGke?`%TY2*BX{@6)(3ZXmJ+pb% zdo|D2W|rB9)*`G+V|gv_PxJmi^*-?p6Cjh~F$4Ti+iWh@vGT1Du{DanW=Jt}{cdnd zFLt!h$X@6JHVJGM&-zGahk+df_CzP|@pFn?3H&*Una9^bKLP#WEwlG4Hcxpe!FMtR z-J^NdN3d#OSzvnBC&hOyuxVg731DPX9)Idc@oJpQp?YiwXWb>UURQvV;jM|YknHyI zekbpLtM{f)Q;uQn`wjW>SS5+fcH7E&qMh9OV-CTq{mjq3r?~b$%X!{rw-`%HF)FIX z_{B?U_(}5hNbxf3mgu|i9vdAxv^w!WR@?Y>Z{)WYk{0L>Tsmug!N#UHduC(_;7fI8 zJlJaI9pKh(o#hT9TL)oT=bSiqMtJhe2zo@y)zBG84nW^?`K|j!ZZ--!#U{*uW-9clPNq>}I$5_=hYtPOwV-)`UT}kxEKuL2&%QY44 z7n_3?<=G2ZHkI{3+XC%rXs>pC_pCZOlbDLthUP557!kchD}wcf^^fjS|2#t4i&xKj zPvKb~$=DRIl51u|=N%Y%q@QV##?D|{%C`8=glgo#hQ9hWwCe+)?|^>r0nqP({>a}* z->LFLU-HUX@6WD1Vr}$a(7`xz%O4Anj&}eGhou=0LIla)B~X7oa@jrWeOwhD*e22a z6_^GQW{t*I7G`hek8Q9Rg5PQQ9r5!^pLTkYy-~qgY^31lm;H!VMfec2zh8Z33Vz*x z`nmT=-$n?|rZ4aj_a@8Y%{O}C$73bWj5#UN(I;;$sy93rm3&G+p83ts{jpBJ`?jNR zUp4D}mFJ?UzT6Skml=%W1QW6Xx{_+VurH@Gn!tN^cP!b+1Oh ztA4}jWfBb8PCqlhYvgs+YsquZthbkEwQYEgLgbjU*f{crXO_FMD_wI`p-85pS;Zm1LJ32HpnzA_vzQ zTWfiq0^SYW*v>(n>DDtl8%v<0^~9Le27c)c^w-zSdVjs|@nEAa_Ih-@QE7ZlYv9)b zzq;4XdLLH4%-P}zjAOgrEnB6J_Xl{tPw!3sh<&uaw?HYe#}cSjR-j3i_CvS!hFR}@ zqT{2sJp$|?Fw)bEpwFSqNix|lsJy~c4IleXPwxDy^<{#C$V zZ8!n{F6!ZYpZ|(u`X*w;liyR}3d>;TY&G!HC$DesE)I8Y-m9#Vx2J{jlHzwqFZM;R zYk%5gfODWz30Bi2bFNSB1gGouv);dfFB!0LjsEfgMzpq;H<*2kb^$og3~5xXb5&nnH7lK|5c+LBs8 zO}TxYr=dA|^Q_nJ@*S+NC2q`3f-8Bq<_*~Wx8U~^9v{sK)4qLkf~!a7K5|de0Hg4Qg`*xnUn_CgJ9{Bj6l-%dGcD;aqdpwI3Dn z+p$vY_OegIYx}LU_Pz-t3oK{LQEuCavBt*EsxHglh<)9U9i?;&>asmC60S?<56?ie z?rpQ&7iwwZ?LIdT?oA$u?{ao7J`Atau33*PYrdV*-bwk*q~peUH^{p$>mB9r+bpg9 z0BT?Q6?H7!NpP#*IqQAP$93_>=|o=`H>3AEkRNa-^h}xETqKCWML+0VjEt^6N#{+w zX)o#WMtHOgxp`q;y}7~F2p>ki6GR&?wG+DC(7jk`ciX5P+2JF=4+8(W;P5N3-PG!1 zd6o}(Q5znEw)0)H-esaS^<-kgiG$S0%|K+TiTFlaV?`OzN^Zpdg65l|G5I%p+8C8N zi;6aInQo1^cdjzaF_g>BMO)xe@@~dkr&G=<2kpsiE6IWS-3Yu&hiAPDl^;HJe8+)R z0qc@%GXA^vPh4+Gv|iU7FnsPxgobsq-Z2f`y4z;G4o9c{##HMrv&B%zOuI6$EPWHA za69tl@*nm+(CThZiX5(Thk%=}4B#=I`jMaZ?%?T2RH zduP4>@zZ6@a`(4J($zFNU;dEy7I++iN6*NtSMQH|v|o5Vg$N`C<*JZ@WINS%uis~#5B&hR%O9Eb9_;HWvv0)IGYdw#k|3yO z^q^#F5t_-5&PHO|&Hy_G?0nwqBfLr`vlGB_eyM(7HNcJn`-c*K1Ue!wR)7{xUMtza z1wq&GZ6!{*DQvkm&C>HRS+9#}-@@$n#ERb=H5uwGydJWGEl-co&K68Jc9 z<3}@f>E;XOq5;?QS)s)ic0U@*L|1+j>&;`ccE8qH=*YUGYcA7Vvk|(XPt1CITzkao ztJf9iD}|zjE&q+$$q|_^(smj6?}h)-PtJPB+!zz~7X^Jp+n|3`SkrDyScJ#6an@$w zC%qVzYqBE6h+Inss%}RAf;%8wK7!Q(tNW)}kL4!wspjuGVEw?Z5JcmZHb^@?+`+pe zyvwcUIUCEJiP)Z)2+JsIv#S4LXr@1l4@LY;{pZH5Yy29wr)Kk#?8^Bjx+Bn4e{R-$ zr|1IxZPE(O%eIt-baoolGtl)y_sbYM=_^8df_~)6mA(c0XWy*7*EO6+a~8iHUoKYg zvt6q<`Rj(J2by;%oiI&WJ3gH#tv4}IwqS0|ABFBPboV+sYfm{Fy4jqignij)_Ng8P zcgN>vy-x@?Jl{gwcK}-CeaRPQy?>AD*`N zf7Y9i+CXMr6U0U4*2>IzxrJ&FW4j6c*jg~xYAM6rR*x!0)WdVIW}_DlllGaf&}UU{ zK9bc*V5R>Y^=B^vtIC6&0hR)`+ECiH*vhwH_X7KvV0pHO*`u(DStWD*NY6zO)gRiR z?T7Y4)iE=LJP3k<6NBYOXhS?^A#f800}%qwYI|L*0k#5ZGyKYU;Ddycd+R$n+vB;6v?%e<9x ze>1!mmA6i4(l%{xj-1*FpcX^8hx5fR~lME{>zxz42E1*T2o$ zm{I!uK;o9WWEWQPu8VhTzlB|>`eKaIDZhgE0q+L>qCEI+;KRU;{mMRdLPm^@GY)(b z__u^_Teh3=M3;n9(;QdWq2F?75GV>^K}49$eeYf=}^Q?w^;$H5lFKx z_=`Yvcu1syY<&%q-XiI3Q+ii$wjFJ*em@F4eK+g*g4=$NZw!aR#Y_tU9pZgI?=L9k z2QpD$f6`jM{h3MpCtae@mBqML2YKn+X}9mp+OvO2%il|zPTYYApv@R?8x=|Ao}sIU zE(6^e=>Ct(!)@}|4ePFJcfU&;W}z;Lh$uET7(lxd+M@4LJ}F@GA8*&7HWGUDZE-~EX<3HOY-hkc9}<9zogUZOkMJ4xb{(z}OsH$Sf!slz&_+2vJz z2=`N@%^I{w5`nO=#TZ-*8C{TUo4%pCXv1Ji9h>#z=fm*|rjP1EB^_N9sS84Cp&f#@ z?%r9u|Hst7Z?iHix;p17Pum@7i!G4=Xim?!O{8*8!fOw_PVuaI4g0qc0393>*fpEP zGx*t-e+b&;q17_j9pYOzNdNxPtoIQ&mc@@ZPUr70PW*}Mo*FrCw9(xe)mSmb^K|i* z=-OLj^>h==W* zTfK>UVs#oP?gPh^q?y7dBl|N`q;Z-wrhY!_{eox3U&;z+c7Tj$f^wjW1$V=CXyW6OtFUpYDJ z4JP4*HIPh#t#y2+hb(c)Puo(48;xiEZ7RFo{I$>aFZGUHYBBAz2@%;;)&tA!@Si@# z`nu#q^Tqdry{U|uF?E)}y$;JTGy9B7060sj{JpvW=L!Q+_&}4nr3sVS)aevy?f5M* z5^iiMu(vf`{$8Fcc57i(@1i~aIP1y2ReOZ>IE!=k9=|W<(VDn}h+@~al%jUN-S8X# z?^*AV;}`a^!Y>!^QAKS>vX zL~z?~F8_)SrkkKE%8*vgyXgOpU$*V{yD8ZDBT)xT2{~5SOYz*W&E8!iZ+o9H#m<pfbRz0B$yc| z=ymSAAVs0#_MrntuHrF%i7a&E&}|l-sb?+4x0=}GA{>Ipc{ihX#Jz=eotf*XMNzML z=aQjzBM_VfK*C*xgKTZQyOq-((&;Xn^Pa49_?Y$w)(`BT1Tgv1anaVV(E@0c_m$;y z-kPzYBZ!4T0G;trSy_nL-(jvT$!0Ui`<&Cl1;DBd8<*$?C zGfjiG<_?QQlqxUdydU8`E=$+n%(|BIx;o=uXY#v8(Hw_n8XDQRwthh;Vn|)V zbVogydtK1Ipmg%B+>O0bIcLwVpv-RE4CZrE_;`>aZM|Ltb7bt>qyalmLX6(+h5ztF z(Ywl%sZ+B?M8@p7y%-HaJ8YIuH2B$U<|f$X)DMDA&DlCX0?+D)&4tdU$@z@~Jzlx^}pzCtuNqEi6jLSy85?55zZ>h+<+}KTK^-HtC(DFv&TNE`6VrpEpoxF9v z7ygf!^L{0JC#Xv^#+W+{wy@!0t44jO5k62T*2c0O74=;8Y!hTKjl9K8dUqa3$(eQE z3DTRsV9t91zt!F@<{bqn)oUHnvX3Nh%ix{{_k|93KzA^sJGLPSHNdLh$9P>m7moF1 zo=E0s5mX0bv`sSu-gfXlQf4Q#P_C!X8EoxTsA>O&*o)n7R0$A;P15m-rH z&D~{Ia8W|C8r1bnnI@n+4Ba#Nt@7u}q|BA z_y>TEgO`I<0Xqt8FR*4IF)ro&jMKo6=fO2DEd#H5?3_KbkMw(JG)-8=ziI^gfpC5ZIFhGi{})-}UBj z>@=V~ydUBHX7}Dd_cVo#;QBEK<>Vf%{6n)J8jT%R{&PN*!0u6Jspa)DxRc=G3dqCN zGPQ5BnEcm#0C{}eoL4MdJ}Of^usUE@83;O`|82nffn|hf%A{*}HMe2G05Me$+bDMn zs;dr^o#5|IVc!J!U*=^~*;a#&3mPKERYpX{8msS=&H?DA9zW-OUUWu>26jO1P$6Ro z@LFZfg5Pn`oHydq@olwC@+t(`6?UVEgRlG`_D#*4Hw<004(VXslg`)X|?^5b|C8xLY&J*X5AdIuF0?eD}ihC_Hm} zPUHQAGWib{cFRW9W*T)H?yKhXfcy?@V)s;ERVcHT+ByFYBtO*J(_}c_Gx;Q6`tW5Ydeyv|61jzev$*6dY!Xy2ZIq%LWkJgG5 z6K@yGvdJ7@X4f6Lgc-Qap8B$QOv7UzJU$iWL3?!j={1IUn8|yHhvc+o597g8=j@ti z5PQ;Ek;X9e%c3!cg3_c?$V$5tx_0RHM$=|IVp{8`AyKkY+*c$*luRXKaTi1I=Yhmyclmz=na9 z8i=j85nw~W4hUxYw<$9=*g(lnTg#MggNfd^CEZxI0XX7k><7u^6g*0v?&g%dcqMYV z6ZjJFHNd~0u)Ob3Oma8|l}h#33fpCC)EBP(5tsYH*cW&#-ouN+1J}(M-9nPRAE6$e zG3UM8PajJv9IF%fE##s3PV5{WZuRgw1h4(iob#R)l?~I5p>_YpGBl}9`^)LX6tv6G z9(dNAcNfp`raZ`6kTyeiGT(6&5h&fafsWG$yl%vfd9*%VDvb$uMV)N|*& z=bTGjXA=LlQeCSqYDdwF^>hBYw<%!jfK>wfHP6z0I@bszLRZEs45UanUEmxC2NiDY z5^HBL!)Gq6dA{`RAUGY*b8Ug`LI*^LpeGqE3147l%wO=7kNx1D0rw)F^-=vC0apEd z${B4FjX6?s5pn)dx50|p>D2+fpF8n4*^$u=p$Gou!F!ZFc1st0Coh}Q$w)rz@~wT zzdoIO`+=PT_Ce>Ty(4rdP@exScO-}tx?N*NLHs{^EJ~9$XCd0Z0U`TnSlTFRwrBea=8b&#J^((4)X3~)Qo3sWT$itfB9u|-bTM2^5Qs* zUUus)oD+E{8JiQcE}=f%A$~8Nv*)v$yaYBXW4244BYMFd1a}DBZ}{~Rj0xM?koxpK}s%(HE8lPx%;=_Jrw91u9cWsiy z+&zJf0s0uU!&lGQ`_qGZw6tIIX&be0;)s14V49t|MV1oGmg^ z>=2^#DnCj6LGvr+HAv6uw!8fFkZYbHL!L}}lJ7QX_rG$^+vLko(2j9^`NbWfDHn>C z0meTg=eH-gG0(-FH~VXH?OgGsi}BKVz8<@OVcnSjJ_VDh_?wvp1OiKy5eu~YjadSVor@*~bxUa9M)Gch{c@%iv zPUcC1(+0Ww{6v%G-8k>o=^b`L&Np-h_^}vx)n}-mJh=MWTHvX-IN3lFv@Fc+xcqhJ z-}1hf_suRH#bYb|Zs6lF@SVV?^WYkbMu1npb%w3~UAE$#b?VZzbq1O> z{d0Z{eHWzLfK>zgX@Vc*|BjGNW9~U5hSZ;9b?GwI`ocLD=R;$!#=Nk;ql2U|@^eii&WagHdZAsdUjj+*wHgh-0_1bad zd)J)zSf2Hf++~2R0k&BHBX^RDMzg1(lXvaBJLBH%(p=N-+m#c~>Jl6k;ynaz%{zm+ zmSCg6QX!bq+pqM18TmKqv36Z*ZR-i%b@7g+ahDg}T!Hs&Gk+P2I{`0&GXYMCFI$XJ z;W!^!f^#0;foQRs#XH)M`e;=Uas+~xE();Ybvuh$JBQ}H6Uu`bKh50Tj@P$RYCC4O zC^pbN%PnEnw}+ukzbjZHcWXzOE!X+gbxE1qQDug1W?D`diHpx^ilP+!rr>o1Ua#g^ z_IuD*FVT{c>6d4~seCu{CgF5hU84S1^;yaSd{%JEa2s>uT&$_TCWuQlvM|wL_M$VI zQeInUW__j}7Txfhf}hz7aE)*OP`}te&NWLNn`=j1ooJcDj2UClo_bF(9t|i++FxFH zxthKx!}ln7b;I%NO0xS<;wegDrQ00Tqm0_0vK_nNQT{pfAw23_zYW`XE`Bdo5&r(+D)Gkv1;;Xt?svv27Pym~)0 z=XI_u?-{e&NKN{^ntf9^1tZg(hO#&1K{guxonL_ehv&QteOWhWTEH!cvC)pyh^(8P zz!6AG8N;t2NSUu$QdG|&_@_TI=e^gjEA27I<*R|3S&8)hG&uXf`HOJ!WYNfr)%X8q z3*gI3Q<-AvNizhY4#Og4Wh3)N?D>x}KTsL@$llooY-)7Q-o=#YF$PyH@a@3cKZc)0 z^=xKMef!e)~|`@c9%dPI`P~sh?=TZ`hjgC4$+2Me^H+y6=L2=YHz{6U2A; zWq^OYuUFd^F;(gd_XRbXBg@&6Kx>8D1C8278iz?^?Wb4^E8z$2>-s|w6Go-%THR#t zJHv1BBaFtFiqdk4*~?VR*NR-l9{7VhY2^Fcybz z?ayJ-9{Vi1oV-~1$n9Nz1JYsb&-G4+L>)Ujz19Qe1xe=qz?zl6?n{N34szE9`gum`W%#2@-&yE&d(+KciS8v}l8_%6e< z>dP)3Nqqt(yV+Pq^gG^H--*8F{WhLeui+SaED&d=aLq;T#uLy)*A879bhk$7sEdIT znSVAL8_TZCu>eoHVFa z)$OR4uaWohHr z8ddLWaWj^s{+V$CUQO_ojgrVzluBOff!BR?&O0P{AUCv zS6#y5+C^yl>~#AmbX{L#4dz^QG4~ww#Oro5mr$Nh!LR-6ZhmO`bRe@q-)t$%fLqPt z&H-?b_<1({Q3l2(ex6ONv&+8;Vs_8Wm^C(a!XxvIIqz%Yktf?`KEbG_dxkYr@MXJI zVeAntXy)J2gZtpOAAaTxE0cc{JI5VzHg@j)VLiD1KF+~|pW3GAAoJC4&e?t4h9^03 z>mypF&*>{R7}-ZiGJNZy+Y4Q;Y)(HKotz+o*kN;;Rp^-`=5kCVr#s=1I!s(tw0(oI z+xY!kG(exaZBBy5;9h z{Hnjo`o&#A`NDeX{L~)DPpS{4Y4GFlR~^}YZ~6uOK5*%1L13-&BjNbY zocC?v=JmIPTd!bPFt(TY4TC=heom$yNS*J7-*FgK9%Y@@)kS#UMG!wM*MNGUZ|QF? zV+s+0Y}BfJ#Q5J>c8i5zAyG0)(Q38^Aph`bb+*QpQ8sDv)cdcjn}2uCyU`yvslQ!G z({E^29fl-bU?r4_R3F_7&CvJ4b{W2EdsbQyQ)R3tr+;WG(H)0w>3-6wjjK@V9p87p zBXZ(mxTvFRZHF=Qe``l&z#RqmMbJqe2F!6zO>EmJHS1Shyg$TyRByOnA}{!UBm-!C zYOkdXXQwMQxyOd$I|^-P0{x)6GWqar6X!`IBdsgjIdII`Kc+rT!LR5Ca~`hWudQDifOzu0&59oC8#xDXKnzU)RaDg)dSlB?8ydV^V z2kcRz;Un4W05%Bhasf==H*#*;9bcr|s}Q+L-q;(vq1y*tv*=tL>pC9CfoFl6v5$3+ zVV&o_D`|X)GLml#cN$AYq&@&h{z?D4$UC&jn&oAeuCe-yyT zGh(0ky!9y%9U#3{2hPEJ-MXs7Nwe>{{$&-Jt!8?M@^k`}0lypko*%h2L{k^R80);b zrVE5!blZ&(;-G_GW92wJj=&>#H|z0h@3X+B;Q(YokzoA-IHZ{s%ihj)W_tUcNBK|D8C(t=^y{j-X51m z*cK1+YsPl1S$rTizl`k~JNLqC&rjyOgRA*Le%;uaS9br5wZV8ZaAR4rDE^HMEVXO- zzo9RWJ0G&?N6zn=cSb0vMO}Q?fj{>1u#blA7xDfLjp=`gE#qc6^kdoz?|Ch0jFCq9 zf8nF!+4iHrW>puk>eK3<32-yu_N`=N7+;9<4K9_~111Zl#OPnO;hJwTUd_yTmz3DF z3v3p{uhrUTy~&Q1d?6}F54?8FlQ*7iIgIU!Lyd9Z+MMdQeRTxfqu{E!^^uH?13MCe zX?!>Y>@cv5vme9byOCq^H?TVSIPw))x@pzM)d-}~#O{~hg?+sk_?y$Dkpi|4n5lmw z6S=Whv9@-)vMF?SvUKP+Xr`dKglEl}-hu)(mC8?*We4v|PX_6zu7`k?0L$si@IEYK zZ!&f$*I`#|Bg^m+=bYm|39o8+J(}P8RPkK|Rs(FS0O(a+1g5+e9pNYNEv43>mW%p+@oY!(zrwxpd*L+&uUvT= z;du~P7MSr{kT1u-)t}?i<05y+-;q~&%uOXjMHr_OzjU^h(S>NY!u7ycSZd!!v|egT zgZ*bC{IJzj?soXC`PH2F%VK^6x+>2f=X4eRI1I~}&d>dckdMOa@F`+S9ItR4=42xA zle}`Vp9=`%EGG;k^v+!C!}C1aY#nWKqkzs=Mibyu*#)WCC^xOfHRS zq5I~?d7S~b^EXbI%Q+0P;_$IFRsmAA| zopi?jfu`oSbD^{3+&n3r_`a_=Ok1f789Uajr|*WYd}+?!BhX2;YvC5zQa<+aZa44V z?BpRFL#*8o^hdS2?UL9k>i5&o9RJ;%_gv+j_EGGI%D4=?&BEH9_iD>RYc2AVv5_(Bz5U&Pysf!a2lH9e{`{TLAn@q7&ETw@yZYS zKg=F<_re75+bpaj+iSl|yy}0u^(^k^4fZ4@-sjVAD0>-v@1g?P&a#cHaVRIWYK!gA zcm0oxVRH9FO9u}E9|Ha=o;6-vO_Q7Bgcvo{SNHOMiuWwnnD@+3F#oNcb(nYCmxFb0 zHwK#ZP#Pk4ZfBnQ;#~KA(N;>qx?E1!Kh61PP%0+AOQ*$17#P5$chlgM|F5%;k%h2d zTnFSj>1$G0kb5>ea5NJ`7s)kX&Rgk&&k^`ks&b4>#pzw7I$1}n=F611UB{ib;?J7Q z5UV^+!n^OxoY&8DNCyXgC3C-;^DAW%ZE+42wfCCuV-LW`!~>DXu>PfP?Kx0dzYHr^ z6ZK%n`A+C7{}P>Z^a3jfrh3pP#di=`DKJgP)Hhi3RTG;!%-PuE;OqtGeBtn^LL z{XAQ}Va`Rp3|xjz*H4+K3wHwCN-v22*+tXBSGe1JT=b%Fm%-g}j<_{Hp#R0=vfA(K z3R8#e;I1pm`Z0+b$Gd@b0DBA1l1FFTh4)lv*cXu}Ml8QXAnOaPy$tLQ!+R&Z&Dnsa zKL+z`#60meR3Z>sf!^0t_S&e1wDXt}9P=H;S^uuUg0*IB&*0uL9iClZIBQ`2faSY- z=Hhu{a%0&}^4UWg-HELCu~oJX!gGndxCJSljj?GEtb&^;CUH)v>@10Wqk#S{l3XPH z!3Sl%?QZM{&qwptbv0K*USf*E_NINjpgQu(xUnon8g2J5K9^=gXPn4xa=rjEqJGs2 zPTPaCeoTwTg+X8~z*=}NdSylBCVJ9t9!G)q1Am{NXLO{SUj}uy*{*H3Ya4n@)ijqe zz{c#zG6PJEF}7Ko>|^+#U1is#kKw01FKg!!fxH<%3^rM{6*TsyItpE{I%x!V3f$b>Equ4# z*?e6)p({E+YvYGG>ru9u_>BOs2Tt=xZKaesTg6T~TeME(3@02IM*l%~47#8BbiQ82 z=jif`;b8P1xPuj0d+rCN@pWapRtExHwO!4Rkk5x??R>!0U#q`H6p0?wim`1wnI}fx zyP%zbc8l`FNA0--SZQU}d$|A?YrNx3l!m*oo(B>cKqE?z_o(Qz*an;Erk^P^4X`jO zA)A87Bs|K+gOBWjQ^1Y^`;q|MBNdKIV~UiE9b?%mV!(11PVOWTJ6_kZ$kg)CtUc$| z$Rk=Wc?))mgaSuA>^s0|e0bLS#Hh2d?cmSd7{MYlHM18w0x|ZI_>IHw2>gELbU~P( zu|>#&mLymV^e297Wzf8pzUhMuzZCqI;kWG(E9)w?`r=Mm_{1&d!NRH{X zs{amXw_T9+&ooj$+zzZ4SkCV_ta0Dnuci6RP`Dc+LDkTVL9??uYxiH^w|EVvu?}g| zyFWU9@Lk!i>2zvVr8fY)@%Nq@f99vmH!PZ zwBakFb-qb+S+vB!s$C_+$=eb-RwL3VIS$ns9o{n-V(fC;u353Y; zj1A9zOZUUqmB--I`RJ^7Jz18$ge`d$)xw!{6{Q-7mw3OA_qjXA!~1^&zpRNDQsoc_ z9WzES4)2Z~R5q2Fvp!=;6t7xG`n^A4KK2-=qw>m`_%!9QaUERp~1+=G<0hom$iEznAWmB#kM^A?hNlTG4Ishs(*^T!n<4C z{KVNSW)2aIy~eM>5K@}_9lgK4&?+*q-RC! z9fkiS{4w)#a?dy|BZ0r>5;wcfEIo7@+`cDf?R~;|GN`urT)4KWw6)OGGN>MS61v7O zdr1C1<(Jp&J4=Dz0e<$$S$lRbBQ{~~7<PG*r$9vlEcKgE zA2^-hv_JLieEPxJ2hM9qSLKqs%LJ4nxw-u81!p;glV6w0^HFdbpBC`3IGf?t}(f?NIctT!ZFqq9{DjS6H$0%YrMG=ABA;Przy;Nw|& zQR|tbvYfmq{V8y>F}V4%rSwaVW6%6U*1w-%Krz&C#5|z`;ZCM4gtr#F{os92>H9KB z;mNDbrCmqc243wmvR>BVVV5ufX)hb>EFyCf5pcO%jkC2JX}3v z%`m}qdZj^|F5C-K=hE2|@R?3$z5nalF3v`h8#`jJY&Oy5*hute(x!2xCe562&Cltd z&&t|8;Jl0Bmq}_9Yh<3z;D|^?hWO3qe6+9~X7ap_boxo7ye{iKRpSh+*eG!mq#_s$a6EQaVxe!av1tE&&hfxlKdc#;dynSS6%#XSMm|@!&Fn5#;EdN zU~fGyYhzHaQF)192*-n?9C6Upw%)~=(09`pCaA9;NK$mxW?m)0PkOTpp5@Qa`hLFf z+$-^8zdf}CYwWh&;GcRy)?4PcVmODD2N#bfqr=$;+Uj=~Ik=k~OsL7MiOyUFvPpQ1 zugiLG6%YKZ$TMTUd9VtT$z?sS&VX0+!mPI_Jd>8`>n27a@m@bIY!Q;eookW;RsE~} zzv$o4?i4LHOQc*k(=>9RSt= z>)A>j>vTwNDCJGz8W0CKWRh;0bx%ulB}j5U zPWppa<2O00oV#_VOmbLqUg)PGj0Ik&;nmX3{5po$Mx8f6T&90+etYu8TGuY*W$$6k z%%FE(o%PSt5dUq!jsm;IwRgNfEmv1EH)7ah(Mv|h;B}^l_HewM?-1SS$MR-$s6nLn zLAwUp^-%9C^zF<1qn`^sNt!Mq%X(evF%-MjVi1cGKuf{I)rgg{bCZ_J@3x? z``5$gM+AOesYGUR`Fg?i@#>RIao&^l&QHM5=oS;pOB~N|iP0^tk9TPqGM|SVyF1}g zd0W=r4*`#un67pmJe@ywOE2w#_5id@<4pR_*J8#(>1KR_fnK7mGcLnK% z*BQ-76iJVDDbbex5`A<>*1Omr_l&PMOqYf?N0gtUXuS$cI1fu|n_i;PQJK+{JUmP5laeFmi5u z+rVxAz`5b}fm`yy`^J?l>;?BAxaYgJ3H#k73%EZ6Szw%&Z8rtY$cM5v?%vdgX%plJ zpMk3mmNT3AVGTXb@Xi@`Eznn=LLT;Hy=_kZ!~Rb*uSEVsHu8$|%0_r~!>jfq;rTsn zlbh3BXS0JX*IFjGB|ci7*DKaIh^%7{1fPBINqscyeeZmJAm8zGU1L{YTETv>-7?%) z@X5*#dIo-D<5};2c(!(llbN()^j#%wGC9GlGzPHopVs{vf95~kf4c3^r9XTB>Gndm z{5Q}Yhwkv_?tgk!zabuJ-~Fd+gRcGa_n&SMy6P|7f4W1^P2W#C>7diljen7Ok*}{@ zyJr&r;(2JWE)=Z1R*+{0fv zH{9AK?6ZG9H{5OD9{rbd!|exm;^2Mbn*I;&v9D&mhm_DTXYc>qc~hKx{#p8e4J^*U zZ}->HOFY~D@5Zgvt8=Q*#Prtu4tW9Zu}=SwV&+P(1F`HigikB(Q^ zCcv&xOc{q#uFrP{VU<|F(|+hreKTv%kqz`ZYb6Oht4?PzKj;AeIJirPng2eFA3=S^ ztzm5>4C1DW<>Gek{CPS5*DEZ-i&dW-{tvtQ-_wtNl=bdS=6GW-thDzble{P1A7k&n z8-&-;PqN;PKCd9oCC`Vc`dvY-HuM$dCX`xZoGeq(i#6?$!W&3nXDgQKLWfO z*bZQA=jZAG-^oht+n)T!N>!i}(_`FyoFcRfY$;2TmHp&v?Qe*$ zQ`xB#*0a-=2?AxKu$CK#yUJq?@Rv(yA|GV z=Y1{jxA8vVWHdadi1-?k&!#H!uL8uYJ0$PMv10`CR%_d-AcWZ_GK0!Su#=kXZk7>c5F+Tn=QT4*qq(T7a2Y zE+fC}g0TBhDUg#?4vLWpXT`S3oIST4y7Zs2q5E{8%h`cUqolpC{Wh8 zME^ot^1oT{>S(_X=3}N`C+?+2s3X4+Sp2jr-$m%_{+zXU2t@i^;*g(B!WX2xU8Y&q zaLz^gqZWlEJ86u?ab^1`O z70X7`@_%b5Fd^gBppHVmM@jb@A-pvy+HJ;poh30ZsD0kN2Z`Pnn$`nYk=`&4T%c zkuB9*$)Au9@K?LKR6AD#%T~_k-wkitxwYb0N#f3MJ9GLTG;Pp~J#^lC(8F!I1^yNz zqs-Wn?JSSv-$~J0mb^U%%*daDoj!ScS26>ucdZ&Oxh;7+b2ODh_Uh-a4)(67-%OLI zH8u0z9-dWKf$Uw0pmVM@ivgR=y%8K@#`7iIkS!-VB5!;tssF`Zf&QOFZ|X9byCIE! zm%ZA5HoMYTK_M`T+UkO=8y<`Bcz$#)N#Av6S(&+{A9M60WTtR5MTLGo_Ck+eF+f7;0f2KZa=e=h<&~ykpbLkMW z7fnYxd=Kd~K6T!kd=NhZ+byUwYRErBw4K_IDGg?zUH^mE)H9K9Sn1QncNy3uuwT1! z#LFr&qDJ(y$DPa9QF9TP*^3c@Na_3 z^@8Wkd(S%;+c1;(v){_$p_Q{;2{MgoG44Acoe|PleBrz|eBW&^W%4x1a^d*hY68FG zI+FCnGHFyb&D--*%=v{16C{Y=hRm>=y|nc%@HB?h{FU(w+|Q^Tk;Q^I2og_x*^a!- zpunKU>?s zq;YIj^0o14tS?KxH&HP~8q=h)NE%D4uBUENSI#CP}VSHmrNZM-Fea*|9hlg8xh=e?_(9T&FegEa!(i4tvB-Bzr4USB1` zPx_^W19!4FqR)JNx;46w7~^nYwT`qm8Z=*}8Cyj8+6|vmZw~mx%koCM=YD^2^3Cz} zYxI@mZCdM}$>BueGQXd-nss#>i;E@yW(C_Q0;ZW@ zo2}A?YxwGuXOlQicHF7q{S#gq*dwZ^-b8Ux=PmQ0v;5ExxfoLUe{*vH^uC@6)iDtR zeq1m-)K3q>XU9(XxcV;8Ntz#hg0{k*_B9Yg1cqWH_+Vohg;o>$NNmc5e>I2B?0D+~ z%cuBs!Dsl^2hL|4K70EgIG-i>9D3UWPzT9Z=d%ba<=;aOhMI3aZ=gXkamtCy~!WMtC<$F*QJq(Q}z4iz1`=+3xC-^ z#xpZIFhh1m;Mehy`TRS!s7mc;(b&)Iq)~err6G83FngiwtOZM5<(q;><45Pc{V{pU zi{F<|@vP;mc~EiD_^0N*{uo}tnC;@ZDBqg+k;llf^0othQ=fa_bzcjw!|*zD=e)h+ z#k8}k>HWDq+eBa48J_$$r@-BRfOg_pG7-!LjibZ5YFc!TyYqlBif9a}DJ?E4{mQ)e z(?U8zlwBLNM)vCqo?A1MPsl!-0C+oL~*(x-K%|472{FdN%=m>Tu&$eGUv638tr94$VnEv_gd3)XiwSuRT zIkKXm?YY@?ydUEIJRHL1#Gaz>I%;5yQJ`C>mAIy8ZeB0ct+fyhPgQsKG6^|Sq;xO~STG7*0(Yx80 zkJa!gJ+HXvzz^rWiOzttTx}`t_;?5b6FKhjez}!f2}@{z zXKfCX_-W6KYS{tuBjc(~CJICO+HaqWq zxa2t4zkzXqhU&~=k}OdGeFb{K6qC8OID;`gg#sGx2IqG5ahk`gzxvh4G&3S{x6G7f2Z0X`U4L= z;dMplv~jkp`sH&~mvR1aEnC$WIt0va@E8J9e}_nak@QC{IN>eVSlK9u-#6o^@xkKW zE>1p987S!CT_@--PsUG z;rS|iVI7+>M0%#~p^QIQov^WH^t0hatNQ=Nnn&xXdt3y8o;a z9*j@J`M^0B4CNM6%?)Kr{{Xyt-g@ros}2^Ssk-%qSE7N=j9K)*g1&6d#JN~)_k481 zN_C*})IW^&*mc6&RG#C9I&wamJpC{G`gQSIeuG)FAB5M``%ZYb!78NV(Rzwiv*Bs2 zxeJqw>CcWgXHv?)tNa{=N6q_Bcz62wiSw(uHttP+GG4rG3_;byi;MPr{BO^X>bnCT zS$O2mtSpdMd2a7sg}_ow-$>jjD=z}c>GpB>ZTrj#ufyq&Fh6&mKqh&6KEFnDjY)WO zn-qfbw+z4TeJ8wsb9O?QpR?&QnleT*W3M_2dsNK2$QtbORxuyhf5Oi5Oh2L`a=svUmIQWOgFFIm)V6my+Y#LC>XjIPWAaf8&tvc${?ZBm z{=xxWk&J~Wi@8xpqPzVs%F`KekAeGsp7qfjsqzun17CLZ`FUdObotOFS}tk3Z>dOxdr;Fubl9j zeR|WD2)FKCZI7O7jr;nh5WU)M2>P0TKH*&~c?|44G;^P=Jo!z~T_|GU)@!HP!ts!1&pIR32PTz(7!n2*HYgXJM zH!;)ZOZnSi&f`%(-v(~&5z_T>HFq_~z&R{%c()V0cJO9|7jE;ER-q)drqNX?xo3t} z=l>xL&4)La5u9(`LTh0)3ExHdnzNp$K(q6hH8&)Q99tcLN-;`9O@ zo>T*?0d}Y6o@Tr><6AJl32X+$JNa#mCxs@1jg{+$*Pid5@XFN=dAtJu(FXbSn_2Vu zQ#`NDWonoG@ap`5)7vkVEyH=V;k6NyFSp;fUGc0j*3IO`i39rbnqqs3QmlwNESy)F6WnJ(Zg4cn`6E?;&Dhscs zojE1Q$O3K#UlwqSICxt~7Pe@^y2ELeTv*qWY{*lj(fjWw>|MaLL(G_$)@dn`F^`c& zw6%}M|NfH`-a4lb!afIf%PT=tItvUqWSwF)b8_j%ZfM7Udcu1t&sNS|ys>WAa#`IV zxpdFreU|FSd!auHJ)s&|L$2x|S6|!>zhU^vwW3cK-@U+wfbDxEKh9o`M($EeE^}{saSJ(YAlI6S zTqo#*;!B5B-v-;#$1wh_UiiC}qXT}Y;g>5%nl!cpTLQMj^_Q>=QCG?D(DB0qk!Z%C zS$E!o*TJ)7M`v=T@X)F|Y*u~hfh8+@@~n+fn}ntZnnTXlke^P9z8|F1Xyz291UH{9 zKlgN0XX~IzoxkvRi3?Ca8HQhf#e#RWE2}$Sm8y{nutNYRBZr>pN49(0{ZG*EhyL@9 z-qaPNn-0`#kv~#(Wo~`351U-2?FPS;gK26Wvf#bZ>F8*kWs)z5)Y+!8zHk+`$+AkZ z5!PyfE#^d!6uQU$ZjtLZc#ZX=e!#wB`ea~PD0!-U_}@<^Pr)w@zZa-} z_@vAq#uH#~)ie2#zca067F7}UKn8G4s<`MNI2)q6&)9a4N7l{Ej_(!Ana3jGi;&X`YYBji>#IQGR)H;`=(TmZ?`*A@-cYA~r#-d*OojIe05?@$pVtAJk08cR9Cd zu}16mJ_JWaH!RxWHwwRRMf*fhR?}9#P52V!t+3^pVE#Tf({lG19dVF!N*eDo-$eFB z@@;ghk{Q)hk8(EnmCjQ934P~uHKXviyxcIj%c&~Q-W`(xJqa3Lt z;@;nu2Qt?)MUd1Gs>jTeSZ}&`!5fXXcf2fiCBGdni*|3vFueLN3+vr0C>(<3#v<9m z`@xw2=Ziesy2j67_8#E;b-u!jbC*d`@A98@fw~A?n4Q==!s78&Nkpm*_I_VyG4ZdW--iv8u%FG#b z8Ihc#b`WC?tCFPF@aMO;5ooNx^;fu!cNsuVuV^=|bonUk>qN^k=$a^yDz_mw5jgC$9zbGsSehFRucz zp0?-Jpe9}#n~uY;^5qNOBY4(Yug+EO=kYY~YT&4fJj+D7E&Z|0^8)wJ=|;o@-5 ztey}0KkPwd7HN}?`Ep2Y98eYiY}ZfwoNIyg$jsG z1Fgiv))$UNPBx}Vr}Ncrd?qQ$>1kkn!2Z{ljaGjxfIC-*SDEwi&G?~v7cpLABmf1V zd2!~c^#AMOUt-GwuLyyWw`Nv$?w_ z7}5Q6TgQrfD#nX9F|pgs{{}4{J{cL-s2?7uq^8W;@FILq_bzxWgP8grPGDO(U$ahv z_yQIX%Wj7uw^{?tk-w zN2q^TA5lL}A0bZ(9OJdDTv0Nl&`5eakg$rfac5Boy&-~QY}gFRw6CT8`WCED9gg97 z)LZ=?vDq9EYF+ou(x)=NN!;EQG6Ii1@c3KTgOraccw`?Sk2O!H{cif(%OV-?g2ymC zwCtyk#;_g0_5iz9ZOT43H$RbX|Fo?l1}?_)yZs+6_WVcaj@_~lI+GmliO$(b1$Ksv zM9J@au78%7s*5#C`X$5+#4y;!=l`X89DK`;BY=vs4^vx&z@ z13v?NSa5pFE?q(vlZUmu?gY2%Eel>lwEviSqf89f+l)=t1^zJj{cm0HKJ4(FPK>i1 z)oH#OtCuhx_r{$a3xAbmi8Kz~y5O119F5)$e3rqwrPI6p#mP6u8>q&&*9X7MGw7cK z3*M#CJm>j|oxPhe*9R1uyC$G3Mu*#L22=Di6^q4}vm1RgyV9GP#Wpju zWv61I1FGaplf2d5_2!tjW{jC8AICqk;GfUeLv~IBn*w%`41>J91!J#S3vb1XnEVg} zOUwv}uY6kx9>x|tj2GheZWih zFL)OUPCpu8imqnN@Eze@Den&Oto()T6PZBQMu!^g_h95vkb?Bi6g&pup|CQ2H13}Q z)(`AS=kvpq8yD5>$u{l7+Y}x56$6r(k1e)ci>iMX>&IVTu;7LMu))oZH&VwdNLbk$gvd?IUO^=V8)1ei!xv&-y6+NnlgJ zepk*9Q%-D%f>;M%_L6(q?NZzrBSq|bDNdeQ65<}xa#s3=A84wF{-&)pbhZ#Ev5R%f-?lp zMQ3dfmmesS|$M`k&IzB#iWH2 z|CbetzR48bq;-h2+D|Nai_Z3px1s%dPF@nP%gt)^RB;#eygp9=J4|94PivopKkJtZ z-c_z#w<+c?dM@Nxaq{8$3e$|I($ziCpZ+zrpc^N`b~4&s=YEV8Cq9y=Z}E0RyBFH} z-!6Eqex0ruhsTz%v4tbNie>DNUieL%zxa1qXR3wg zVfdYb-wiz5wxWg!YOZXQuUdY5qL$r!>lC=@ibelUl(cB-X@6iR^-TG~_WGqr&scbH z!OGtbS{*ct(ELM8+Z5=xr6f1FRV;G?X@5yK{~Icnk~*?4MkY6wy#<7qg7^ylvn3Gu zQXcn`-uMNJ-h2H#A};RS2u&|<2a{TaBi~#s*hoNXhe< z4}<%3@#oXRw;I?8u#erh&QyHc#qooLJ&&aJ2UPPD0{@KUst^8?kEJax;>Uf-)mS2# zj!(eMZ&ik)%5TG>_e7rck&SU2*nVKQN$1dCk{8n3@DK`rnRhiC7X3TTRcGbTXFd+> z8$3&vf_0MwgS)FUQq1tW9^3=qa+Fqq++5?E_PB{yb`vGteRJ8Ha*sA1Y$rUr8W+85 z#Dk*2XDsdPA8)X`alWBk7Lhx`CiKBeznozRHkWYJDV3ncg_TJ z_?vxfdw*B?3y2Tcxai;YJHY)GDd|ti3gwnwN`tcxocAa%*R15XG5UZx3c&;`-eHRC z#-0>)7xw+#oV_xEyX*((#vf8!_ekHeLRDX=N*c^LIHaB*3zP}po~kxh`M>?RK<)%v zBL6#E7XACj1S?sG`~$myXMF^#1~v%nsRm-(Yb~%bU}_U9A32}owYg{_L%R*UgWz>K zTJh@vR;SM_J*S{O4r~e7CwMkS7;h?yop$_jK~Ro$p~_6Tr5(e1ykux%XJmND(1MDbT=e zW!e;*LIc|0ocS4keF^Dk+^EXX{tr3niN7tsZt!R{cYvgMcZPRedWY}I)XghR&9vS{ z=?Cy>sn2zQS6AuUgLUCfY)8R+fo})CLG-|{a_}MGdx5{m!F3;t@W+5p#J~>%KOMvW z81S_ZElhV2csKBi9sgW@iW-nt;6_&^7>G$&=~e^J#=z6S*FLNezXkY?7AlCm8C+etmVobzftRjF|2(1) zKLva=23`-m>XC)`?ZAg);61=gE-1wB2fi}~z6bc}82EnR+p7!t90i_@flmYPys!{| z8Te!jypkZ7wnr7>*8)Eh1J3|o_vk|W4&Vo3;Jv`tt|`PH0=_o}J_dZvV+!#P0w0Ni z9|Ki@9NdrF>18)J|ojU3LtC6?sjJ#=_?gC!^_>*=G z1g+!N#GI>myhl zuyJ5-G7!7I+yboX$tS&UqW|*eQ8K-+qOgJD#pS@dYVg}^j1GR98!m#Mxi##4q|y77 zlitr<8ZkbEOmYngMMfA7BFN-{Fw60`MzEBI>Z`Ju_I=t(@3ktMtq<0EFh)5mMB_o4 z_v_Xo7fF7cecr;1uQ>TRvJ+#(8lS(CP<;-@N__L@T-0wEYgTV{o1yLIdD?^9tH%4*bBd$A?1x85NBzq+wCMvA8Jp%#)$H zu(>aUm9K#kv10uyXcVaGpvgdU9GWlitU1g8+on^j$H`P^(H(BqW*{8SLUd127pQ&E zZF|;9@3IPhoV_0LK_`;um#k2a$&ak6ILb*b$C#{45$iRbcm?<-zWz9Av}aCwzb(n7 zv0^-#_8eYH=+fqju4_!_5=DqvZf-K?J=C>ezcw;fyL!J}_p02M4DOtF>zZBHRrEAh z^lmkqA#^=)x^Q*2kE{*CZ>s5}_jD&yw-Kp@KM51aU#Hw%d~?Mf+@NE8$NBE(dywy8 z)&_`}dTudq8+iL#^M7|SQL=mR=8YA<(gBFL%v;H@zJ;Pq^zW9F9xh|oZ^OO?97`v{ zjc(UY>Y&-P>7+e-k+uu3ojCtje?kFFkrXX$FSPqwPulYbpmn}|lZTpT;6&h00E{)uWos z-g`L{wt-UBO8LNlg{zbBUD+*KCtyi@omIGm$4wgw%&ibN#*~3(rK(NC%`fd z-7k5ToP>O4Xi?Re^@B)f*MoZ++(!wQk6>-UiY`0pDNJ9V7QS7;%7I}^~Ai}u1sD`f8^Z-E`Q;3!05|< zyh%nY75Vzh+^wDuTraO{KG4Xh#+Y8x>%9D=cZ<>v>KIwj&TegDA{vU|cagw&kw9{nRmptE#qhvyoTU)x`TF58R@4w|0ToY81OT||0+0Tzg_Dtw&i71lZvXUSz29tU4~(qAKN2eu6C0I;7sT@)W5p(<#r=(`w8W~*6ENtR>J ziwlmMnWM(oZW-=o)GNuSqBM8&csv_+KWr8495!5P*AShF# zs8Iw(tt_?LxmI zW|`GA6h~O0IRMRM4|7#$kJ_HL#f+E?Qpa$gs6RcOY>u{@Pkiac_@ACr+}0Ujhk>cx z^&=a31+YWF9wz{@>J}aD4jIXEC-|e_rL%;`bhdum1biBJmEin{*A`&MV!SS+W`(z5 z#cK?F9(;UUNY*BRF91KzH+f`VRMWnpCb!Ww4|aqOH!A;W=q7tl7T(uw(&nxNF$3-_ zxZ3Ma1~1|p9?dT(2&+z)L8J7UOIUA1)8lANOBHY};P!#Lw18XZ(y6Vwz%76))K#!e zz)r_ts>c>!d0-!RJlZ+Vm|IiR#W~2!YO*-!l~*6Qap<<)fZn|4dvdgsn$9HK%Y>)? z5Cif`49JxjkSj4DSF)$Ql6~F_N#^}umty}s|D=1XTVq7+!HT7max{Tk{(_Ui-Ie@- zKDu4D!LIa$;a$dN8+rf#z%?k2jWq)+*&(_%S@NV4)DAn~yXVCx-5wWtzQAmk4L6^3`&zEg9MPa7YJz48njO%vZER)q_fs&+wT{Ua$2$7CwW93~uAw%ZbaAMS|KzH0?@%4jS22o1m$+9lcZKkH0OkzNWvYW`Iy7^*kH! z=_e#i8FJ~`8g>gjyI*}W_---JOGAvWlfmDG`q18O zU~N{`#zayrc?qj0HpKajR#vQ|dm($;`^>dxsB=$}wc1(2Fkm9m& z35Ov7cK<>VWM#G1C)?n46kgBsV=8{1Qu?aOf~^jv8=w23uOB)YzC$giy7Ywf=@D?F z;LI;?GNI^LXWKV}KMj6zCwnSh4&pu(A2XNL?b1cX#Cnshxcmy{hg~Ow&-%WK$D5R_ zU$maSA-M_LblNRp8MC(f6*XPl*5-~5X}pY*U*?VY783F+v#(eM*Asn`z}VK0>a#rj zw!Hadu+-N*Zm&h<_pypSvPKfPp%bkCyEsp=`(!X5@-n-=WZpGi+8=*na$Bsld3PJU zPQ0aft{4G!yacuv*fg-E)I~pqU~&E#V57kPMRX=lTu_9tiGK^Y1K^$-;_xz{5G99Q;Esb^ z8R8^{oC@%^zySEVJ5IW@3DAh&5U>oe$A@WLUea~r;8uXUMmWY>e4j@rUnm-D$kp!s z6KMOOeSm2B>E`zYu+6|^5<2~dofKcwn$IS+!%04UNglRVE(Di{Anri4(GdcSfBUoW z|Bjq=_hWU0@y2)=;<}N6D$_DdiXU{U1Vrf94JG{5H{nZo=qQWD03RStH)-0G#^m!_^X-t38IAErLQH3u zkgLKu^DGgx`SUDk`$;QZqqN(Ji*o)XMv){6N-2*Opc}hse`sGVT9d!XPo`Z}FMzGp zR~J5Ax*pQyN%tRNI`hdmf0sYjjhwBGr&IfnkgoUrCj+@h^&{9`U_B+U1Hih0{hLua zx+!2gfa%&g{V44TVB1RQ&H~$4LRb52}Tsuqj|_8~V!bkzC2!88of6 zZ5Q|j@LPqqwxzwySBK9+jwsqz4yO$0ZP0do;AC)_r`@VYN^rTa;a@qYwGJ4EW;Zl; zjzIZ&J#ql}DDZ;3OOH$e8v)i5@_V_JOYLwP+$1>jq42l*zVd4PgS9^izWx^eIJaDz zFFK!WTWc9?ZQTjK3G!&?Z~dqoeZUrgy-oo1Z4~Q+Ui7loT75;q?Xfz12nTYt@i^(* z#{F8w+7q+F+LN7(C_Uc{YT8zYN``dPq#GjLGx&DnL;DD=cIHeVwMiw8&T(j7Al=B1 z%3Tkv@4_*&J|`iMEk`bhf3$vj7^tbGTdT>K^fYQt#WM_LDpGa4#MjUyndp5Y2P?6?~iX{CM`1QRE{3eU(5K}N34S{ zN8F~1Y%H^5ko|OuC2m4TGmm|u<`ApEBZMs;<#(Fz12VxiZ}gJKj*k(y5!TiGFmYSC zDJ5@m{EXFFnTbV^)@s&xMGzE-#>PSTcYWON)kb3j9qSb=hE|iB(6&n@HY%9saaW`0;IJ@Ou+Yvd+VNFE4y5|3T8!?mrpc$5Yn! zkvwbJntVirHW05v@LKW7lfiR}>r!%d$i{~1!X9rzH+o)mFzNc#y>1s2dIB%ncr)ed zfmipZu|XFbvo`iaJNexjv*m|5+p4{SVTn>amI+!O&|{YuvzS}YVvftlOs)0Cj8W#a{j_I{88TVR|iTf6>QA52w;+@0-Yt zC;wL6hoI~Z_Iz5|>giz1XKl>{TX+ZfJ;d)3eveYq>C{aGa9e**koTT%oeW-lZ{l;a zsh^N@xhkX{lAX%yncu&6GI)|d3+3g|WT!*>T_%TNAAL7@nbl_g$Q-;Tf8>27ri*N> zGZw>jaT6i2jciJVdaYfNo+SfY^YSRXDt=5IeILg4nypnSSL*d7jVsA^d!Z!G-u50A z;FpJA)3KAmbL$HIbq@QrN5_m3M6tb^#3M_%HKh}kMmsY16)$F`0Rx+J&EM-XcNa86ubPQEJegpIS zsguDU!m(g-TA~}Qe>Im&#g`93ZoxWV^<%u248qmb_$d?Ma_yOX^*$H>*{@Cpzw`c$ zxO~|hQ!HQ4OqMTqU-&+F9sBJ`_dXHwRd%NXytbaN2tuavaL(t_XtZ|`2oF>*<*Vp} z-|tQaUB$8==?N>Fw{v>ZZ%Qs3v&$~m1|_`{`X2hoXX;PHRwU@bXs+>o)1JkyIp>Zc zio73Q1OLlfHsodJVHWGpPbHRYwPGKWdrdZB(|=S{?E3YwFiu+eF29j@ii(-=uKlw4 zDzfABcGKg%xRf*r*PfAaxq!L;9VU;#B{M-7N?y!he7qP109AbUbC>F*~Cgyk>Wr003aSM5w7{o`yxTL+;J zb?H@T6zbaCdgwtj!6*4!F|$KV zZ-w(Kv9+@WVW<^Y54Y-?Dc)u>pS|8@Qd{nYPt${Ef}`SNHddi62|TEGrX4MSmFU}* zwmbvranc)n~oD;{u zVq+uSasiym1)b*42vc4z=L_3Yv83V~^U*j~zb|aUKlZOP!HdpmJNWsaUqJ>5Mdbyv z_h{^uXDsnD-%R)O@wc|l1RwV@96!gaO&E2VIqi_ydUpQ#wm0&6NIyc_%2hML{9CQkKuJQ!E6;7o?9;LJ@vOFD>M$?tdOUxd~QYys4l%M ztm`kC3EwjIerKCwBHi!pt6X~XV%e-Glk!Tgua+%(h&-k`XM!(i(RJ>+py#;aq8Y_k zGGI5l*FVd%SgmWc6J&tilAYG}Lh9Ew6a0HPhc0Sgv}tehm&p~>lGOG(cf+sh*)uMV zfV#wEQm{RI%mZdS%WBo3c&5h(T?)j&EPEJ}yrfeq`q|GUFS`SqyozKraxB}Gq=+lp z)A>xANw=GHPnB%*qjl~EU_Ys;4<7Ou8e9os?feYq?sm7_jNPDPtG}y=)oje(cwhG$YBFi<)SO8iVag8 zGA*JazDu@3+l$bz&zT8cr>Tz7`jR5wt2ekimjCot%=(; zB--Z7q3y$OH;xaHuI}c)EM2|w*i3u}=~{e#TNPx9*I&2>aKj0>HgL`0_JjM1(nWg1 z{D-M4V{_Yu;rH6=&F;JK9+UWNfltfk{~Mnyd=A0qAbhOdqVh1NEq0rnBh}DRdJi$_ z#bfD9@JGGmuje5d%)z4@9u_}ua)SaH(j7g~`k(!$qAQm+RCktXJnwVPO6$Z^5s7u`hu7%efS1O~ zB)ks5>&1M>WYGGYfhZ#wz1<;4s-G0r*nN!)q^o-AOt2+P$E@Mclgp9{i8mEKU98sf zm$LpN-Abi{Ig293uG7aEKpVhs0sp{7bem}Up&1;Q32xV#!|T7MbPaQWM)o?}zugVZ ziI>lWu~U+TabU-RMK;EwHau(36z=ZkaytggRP)sWypG-)@oxlHHGusDY*zLrEY{lnPvy0G@ThD)m6XMvstvD2fBAnbi^aNB zjFYx^*GzaGTm3KzZ20v*2_7hZ{A}j;2(V4iJz6rzTC;54VyqT!a}7(lRyWBP*<2mf zOtp<|cT$bJFn|s-lD?_%1-AZiMT800>6vSjiT0Nhe|`H*@Q*48KPq20uq?1A8pO?0 z{lL0`**>7j8EtBNL@Je+Gu!(Jzm3;8>GqRuQ;gRnu-f67U{tV3W|4xz48)Ks;U!sL zAl(4zeif#(bu@ChB=ya(5G$+Io*5kI8{Rk*yu$kkl4UO4g-PFN`}N*hwC5?*R&0SG zs?L6VgWA*t(XIAYR$m7MSqVkce1;9=J3_vlZ)UvvGH%ti6^ePqQc&AYfZq(h5c{C{ z`Y^D5V9S*T{p6xY+&PyM;I@G)*dN>FgRpj|2)?P?t2uW=JJM=S{s-~zljbTvXOyi& z%!ZZEsAw>)uhtNZyJgTD($|~dw{Q21i(#P!qB3ZoiUN}{$5#rU>;XHO*+aUcq_aJ1 zo7*jhfX3Zgi3iBLOx9FmDLL;6c{TBSjC2)mnQ`%{CLj0-tPROGit`8m&%*^srb zWIaThFZuqC`)Z@LYGEHK{k-I*+$yu5y5Y6&4*F2-$Eq`Z9@Ge=Y^?!sQzJ9M{e3k`{z*L*%f`u%U82{3!SeH!T|bfL3P|EDB1{UFpM&aM(d@1h|DAq;d?BZr?l6 z8O3!lyTaSp_Bcn@Yw+$I|IYv zC+~AWV{EOw)^S2#uBj%GJvz_yQ}t{iCGHDnQDV;rAf?CgAt4d{(n4J4Q8gQ!3!7fWwLAjYv_!ggNN#@c|5^<$cuxduta zlND-kQvu&)QeB9xH)M1{;BQ z0{=Npq%mGLW@w4fA9beRB@Nq1+>it#3S>? zQKqU(`JdahE=cFO8|?zxuPRr797ub}#U7$EE!)QZb3dO6Iu%ftR3>W^zt0cb$8o9J z1)Z>6>zOPPI-pcx*jy-MSfY7B#EiQSjmE{wPEe-GU*qqkNELSfc2UGZW;)bYHePS@zRX9C(?9IPNRp+H5Xw1h)Xrt_rgJJ`(2F25#iH zGr{LWp8G;v54e`!%>){)IdSZzfLRYqH(2Z)p<X*#A`y$Y_Y$W29koRCE5sy_yvjdvV=b&kT&tByZ zO*h{ayoe^94i9EH7bAKYd~Iqr^cx7SbjN{L0gu)agPQW}C&#~)JBUvJU%1aPzQ$p8 z+phSRt>>qoEUSQ~38y-4Fw+@_BA7OQ`{3CH&x7a9x;OaFtuy3Fovdkpc1`ZeqzQEu zy^4+_-V*yHo_%;0?=r zXXC81d;YnU!qyMbyxm0l9O(y1{~5kjmLd6X!+YlKItneHVT6f8WKJz)+elM&pV@F7 zul^kYRtN0op3hD~pvul}vNNd`2`%B(5~?CdtK8&85L!)R_ze8_z~AIfno)gLM9@4Z|&pMwf%S3lHZIj8c`s^V15%7^u;okR|+M@Ce*w>^tzf9B?(w?sg zn}WU)Z4ZB>|8O&bc?O@IKUVx6 znysZ(CQ@eL;^fos$1EFSKK;Ad;6q_PVVNRhc1<<2m(P^)so%Oum#Lj~Z%4v$tGJ_8 zd%VsY1m6SR{I}@Et$J#Ld&H#~rAMS!$Do-k@SyKs2~LOSGTk~ffObd^knS+)F0bT|d(wS)AY?Am&n1f%7kjjH7yD-qo(=vK+P;gff9!6buJaQ| zdKmlD4Zq=kh>sO7H%%$3?`37J9>??FR7!oZn{;PLr?%0L#`rj}1z@*JZdt!A;)|L= z+r|B9Y9?EcogjT%X4c&`YI+$d->!Wb+aIC~(NJ8adwZfkktC*jewUMZKRgP1f_^+R zHt}=3+SS4~97yg*5a(KA-|&#%V>5gjA2}Pa4DxlMo#SV*u%~&O;cF#zX*ca2uN~t| z?R5}-eUF-TXQQ6Q4HCeP0^0`c7s`YB?$SH4WoK2}YPzne>Dg#E{-h2k?L({Wmkm?i zWwWuhtmzrV2yN}V&fe7xyAix!%c^|6r0*jAWBIP2d_DX(0Bkd`XBDq)iCc~K$x>@e z=B{dcI;kON=Mnyx={B`HJ69`AytxvE#!Ch zakIe}!+tVZAeOP{osM_7mIzHRym3Eq;=$6{RolHqb_9N#9`9{L(@%xIihMLy_pqoMk zUJtxR;I#m+k4ipD_Av_n&Gc33`nY>^T|y*vx^{_s&=^Cq@FKmNKhBaz_KCB>`^Z8% zSFWIpRFjhnn~yVZM!!OHQAopZXK^4ByDCE;^rh7w+SAbfUv+U8d5yrU@+q^4u{4GH zqqK@@Umi=-Q5H+n4etebH^N(Yb;fk5#a5cV@AOY^P4h*Bd6+S0&jeBPPymV1#+Rw= zLjkmXE{(g+-Hi7YvwzW>wL3_&?Jr29u`@}UeWdw~A3J`p%XA3!a6WLaMPu3_HBr)T zav+P}(zjrbJasmFGsoLT@UuCBDDP-eFnt&O$<3~qu((4JBh-@f-*v-p8h(@Tc4G=1 z?AHQXg?QpM)tcg6LW|XxERB%1_i3~Da4yOFd>6Z?hxtMEIu5VC=Gg!jsJ9W!e{Au0 zW#f`p2xziqM4-e*ucTKI{AJ9C!ANU0DKl3erZ~W}qK-iQ7tfJY&cICKlJf60Zq-WvN z|IAr;w@{=j6`LH{BnU?q+QvJuAF_T8)D`AwbHBH?>GxG^o5q~h9Wr&vmGqhiH^E~c zJf6(Aewz8+0_+&DPZrBC*6Pb?r(QtE zz;6M+==}lKPd>Ikm;Rx8qrBgVC?D~#P!9It2TQN6Il*?xX%6|hM-6y6 zf?HLFD_7QxRCd&iRo)64cLuooZFK6btk2Z9CSQ#It(*+(SBpwAnL8+_inasV&MmXS z+K`rAldasT$a^e53W?X7FLFP$1Gmiv>qtj?XKuA#ck75F;P!(1P9->NBlNS^IUO~_ zt?56|%aPtP+cpDf)!WH``)u$szMU*>WQzmEC4pvugSN~2ICir zdQ|d}0k;>N*~NzYPs2%{w}8vNYc`C*5G)6512A=|egx|U)(%YiQa^$X0BZwQxZfZP zYzSBu*eu^}?3(Y;<`{+TFr7t1$1azR{?tIuk?aUO^6)5}h4yn}VV#>I7A{KER!wM> zzXsH1ukv+oCp?$E3w`tMza39iPdaZ9z7=D$ZZF2hm#tMS4(H3^09#$%1noGq2cf-K zi6dI-h5qqFah+m0z|qxaCmbWqY0~^jb}r+~za?sRuFX4U=WakNrN4<*Y)YDUZ2gNe z8-MR?@CeDB@97kVjOy7-`W<^_gMEC*(yv30yfaKr z2WCJIL%Z~S(fZBeqfzi)6*~I|ns#WO@9Pzf_4r*Yb_I!^t}CsVt&df%v+(KvK%~#Z z_g?JHSKpG9OSFw++CQHyf0HxEzK|!CvqiL>&^C|XGp%&v7HCJIeGK0f+~1R7j$!*1;QN3dPJkZ*emns_4g72Z{0#8A4;J%RU)R0||3C2WsIQTkoxBN9*mJiv z1--td(#{LS7oKuSnjX%P{_uyGPkegcH>U5R{bRG+k@Kt$x;B?9b$2h)D7;R8cs9JN zL$=mFU@d!RgG%*1vdA9L|N80Q@;{>T|L1J*1#fF5`|3^KwqbC|vO@!xoBAtY-|!#I zf0MJpoqRjFW!<3pugUCV=j&{jf5Qs^ON3>Rc9O37^Rw>$k7%r-$6iu!Us_oQq3eO} zi{hWu)*R9Cr!d0h8w)LW{ZI&TGIt1GQ}D`)m$eH`&i0)fH#mN!6!^*Ty8!J8Xg{eo zv^OlSs>!4`V0wzmog1rXGilp_S@%98WRmOUz=na{&$s<{y&>${!>=?*jy)j#-UaRE zFVBW|nrklE1Z)eiC-AL&k!hl6+cfA!e$D`A#EMMyYxcl z|FM$9t8~Jkh@JU=2PxkP`0Y8w-0Ig3kudT}>$v*BdahQu97A(u z;yB@s-Jqrqd%nG9pdHG~pnR>}(|3^raGg4NYfSXL4}EiZHW=pHwX=4yh;icI_G%iH z7M1=PhHenLTYbHEDL%{lhB>e6?;}o)xO&FiF{Ewc_Xz1Hzd0LR?fW6Qo~D1OryCC> zD~*@wiHFNb79|gF`ebyDQgYYwe%1runhib`_EFU5rYq4D>DwiDxNO7m%GpoS4v==m zw`YUz74J3J8E&&N&Gz;F4eqwf=!9XpqBN&O27ZU&ckrm+BP@*n*u1Ga)bu)_qa16EZ+*9fc;i5&mb@N{aSOc&h`So;sJe945hL^A|9N~r3 zF@DGS<#qb%^q-Qe=iUa~0{_up`o17Pm18%sabQp4TR(!013L)J<_69+V@e_Kh#f&cd z5c4Ipuk*Uo&o8X2w^!P^PHwG~MNlMd>>X!d-9y@z{H%+AvNCEVL(^*#!P}XIW*amk z(9C#wDf17Roo>qlaw!$M^>(J`5IoxEXM>-@&$R{qBrVgG4@Sdn_vL08I)q<$vkZMM z8>iyKtd~gl%SFC*DvvEvcDRN)yGxcLXxWnM$ z>%(op4gr%pRX^&V5nu;_y;Xo>xqVJ3xA-QTKp%v*`7}Drw_kiuUx$Id7hm&XsapS& zrtVjMKh*ep+b*XiV%Yu0f7xFA7tl_qEa-%|Pe=TV)}^#-2C^>F94F1!R3_{9^s5;M zSXXL|^>**;AT-0jVV|J5+_V_`so!4e0WwW6OEj<>KhBKXzkrcnuDbIv2Ty#bx?7Musy|ohC zN<)<0%%Y<{Yjp;`>_pIo)z5dEYm)m7|H*mQS^01K2SS4xh56ct2o`U7uXoEhl)S) zFS-N3_5xFAu6|@|P5~PS)+PXa6%Q}HFW2Tu1;qny=JzagN1(e)bkVrxu4u-eR&@*! z%G9R&jePmc-cr8J``DjK6_;-Vu$~fF53p`vmCA!3rQHmy3s^zl3AO`RXAGwDjRMO7 zo8tQ%GVvv|d_s|M`tvAh7f5So46J|6x5NS_a=mNOuDmNhhCd}8)uj$tJ+L-l8NMaU zgw0pzy9xLP;PZl8+bZUWg^0w(ul+iqsjtkt*m}sMQ~H3d0CtVi**j4>Y05SUAwZJH z9pE>Ezd4jge^#l99j)wn zX!|e7$KFq&Ef^0S{43*7<*5BQ@&wIlzMV`&aRAqnchXxms$VmzDj%8i5I~pA5f;fGqQR-TdZ&bp!kC z68>OJ?R5U5xc%Rxxvj`p=WXB3y71`?Tt-S{x?j39!^Z4h(hMoh3#ChOnKP?#gABvn z-S=zq4_)2g<-@yAx27=D(EZwrRek!vw}Ia*J`yp)6dC;$8UEY`ZXDcugtNNhyOIKS z#V{Ehhh{}>K4=w94>45mZQ=6(@J+x!Ab82V8SSmg;4YdbH7%R%UBTl080icB8MnQo zc~_e)v*o5YGNHP+!K3{FMPu(mYIku#@AQHn2mdvd(dwsDfz+N$185>^gB{RxJ}~cW z5~EQgebBW5`D`HRUTA9T@U}?qPR~;#e99qu(7+#iUyL*JR84f;Wz!DNVjAJ z|1|9Z>q zgPj!06mrK(OkJi)v|aUwrs9#2-i!NreN0#rjaIY_=eEJ(V!}tf&M3dX5wA8TyGD3D z8@{gpZ9PE+wpZe_+OVvVSMXHu-ea|Pk|L|1i_X8 z>jPFLB7OvG2G$#cDW46%#P4536w9X<_zvKOd?X74z;*+Bu4tW3ydITq`gAwA6X3ET z&dnw3z1^`NeAT1TDZ=w3euse70b3`4@pE=y7k?fH*ADJW!bRiL`Uf4aIJqY6;ui@H z9RviLu&wnfT@i_RXD1m?@cwEsZ?ks_GFf)73<{)#w}}IZ!py{b6y8nC{`R~x@IC|Y zJ@6h?xv6D}H4cj-Mx427tdAQ$zoa7bm}q{G{%8W$0PH5or?urJ#ruO7(v~b5iyCTe z^+q80Ys2cfD}UnWAiSy&GfyUFS!_f*c0kQPdf>1#pCiW=E2Dj+bJ0T zZlPCHmlM!#hSq$WN4iY)93b7n$LE7xe7khCjqRmHYF|c*#@YhL&BNXq z?LA1|CrDrSg!1tt+!VOJMR2FVO(x(}rlnuRzWB#{>`auE32#XJ?3Y{5G()=w+WUm{ zF3{@c1Yg+>9U%1I^jR-?^pkFIc|Q1{7BtAu?OGoszagTtRA&?Sow#dxDGrThTAA^S zk0f0DYDsIh(oym`_~d->rV9%B*d4hYio3yQJES|Cwx8dwc%XH9@9E*W zXgolBKRqAV28fj#9lwiUxWc(;$`YRcCXNR!oxpCDtywq2>rmF)3z5upAmfKa8E4Ly z%{K<^+17k8>F4X)b#IApuV_Er>S1TauVgKekg?T6_WWu1ZEDL0@8H|n^YYQG@t&a$ zso;tXzx7|je+k_;egEq0fL%u6C*&q*TA&$TgUv4*+9ZCjt6XSbax;}1K;G8xC(Yiq z`JkU9lKZWxtDrjzfQAsTC0V1vL)=P}{B!5vuyHvn!~ zM|nEUqr1TkfO{?9W)Hu*rmBI@y}(ZcztO{AWj%+oWf7tL4uj9G&j-gGzA5!NP}E#< zbOK!EhI~-(`^vA&S!l)1n~b5Q<3`@GRj*!~K#R@cqC}0E@~Q#mW6O<)r!*RbRnh z(vuG^^mX^^;OHC{hpU!_m~XX{-abg)=H7Jn)FzVtj_r9F<;ioud<$pzv+#nvf5a-*jafPkn)7G z()N9nF9)v;H+bCzud;KBObn8v|Lfhoo5^dEy!y%O!(LXrEfK{~Sh;-+1#|NAcq4=u z@Fi>6qh84#_2o?bi=2ihyk`T{Yhu(_L(O<5-xY`O=R6mGjvv!yHcUKrgDhs?v<^;s zXi|IQ&sM(QPSktM`pz~TA&pGF9@#=B z+h$w&cF)~puR3c{FiI`E~@Fj#9jrJ zlP}TqQJGJ`_uz~3E`Afa+^Lw1_+3Jj8P8_XWVhCqX&Yn9mX7KT#Uys;VB6QRSKwXn z%f;W7v^gr?9%I}uKy1Xtgd_0Ci@m^mF*1?rPb_?U^&rGo$B3_lSbf0nB>9eQW^Uoz z=_bEV+I6uGwer?TKMfwmf2)lfAzdI{)l0m;&2*Zb%aAU_>8h^A7W3!*GvB~oyqB~a zpgnRgXk~K^K)d3We0VpaU_-!izzQ~(>No~$1F)!$b_Rhbk}s+0SyNs|8M>jFZF&UqqQ}s3!tobF9vR4@vl$q9%f0?Oqw>*ypV4O3jde)-jPrPd}_`3(#r@A-1qp|HoO-~LlGPcEg6TEXTV_&eCcQh~CIPtN$ z5pUiQmfq0lE}y0)(~_M-@Lu-vV!zcfU>RUq0_vxo-_yVvfPF=PXs)v}x+U|n=DJ;p znPTrWlf30_#vi=ue0{u49Y25Bl=^&`Qn5LGfVA6Q@&9K|@1bl*;eQdbM$?udNo3G3Ed2 zzn+KcbsQd5+ww){Z_WU#1g2$`exx&(ew#`H8xg?zGubDl^<*=&o1wKBnhlyyIj`sU zqC&qXim=G*x3(JPQ`%C_U$X;#m9M!6elIBDx2kX>1m&cC(X6&^RQZm=Z#Vp2UfgfU zak$=fdosoAU6#~EWeh2$u``?D2`eXop3$M)w&*NJ^f(-%7?TF-0urXj8fc;WL z{0O!mSmW!8VTXWKzCQ2n!tr#+fc2NaP6Imz>}E0JNBk-=GTYyf4{`=^n9wqk?yaKBz1-^;5|A z8}XC*vh2eDRft13{ps!RT>7yIW7pl8*A0&&Z^{R&;71!~5Pow+sT~HuRld0#r#Wgj zxMpx)Uu=C5t!sFfCZ&66n*o)%Le;m^@S1#U6dxtn0ihRL4!*qKA+nfFq+T( z+BKJcCY{ynE+c^?)U_+C@uDTPVMn#{SoVF!$J_J460gVO>%AzCg59D3i3C=>>;3#h z#JcKk^4LKh3-7=O>Fcpm``mtgLdWWjfvm0Z8D*iiYt>tXMf%FZOG_YTZ=8Vt!O?v1 zY4Xxs6kns1)gh~B=7c)5RzIuIdU2<_`ndfE*kAAT`s}*U7i?=uEH?=d>e-!r*bHqS zv{#39r6b~NF=tZeGn9{6qeNIrOEmE-5jX1db%YcBml zq_U{8c9~dFc~{%xxAE$)sUC#o0r)q3l66$*AB}unw)RAKM}FAU?-TpgokL3KaQw4x zAw~J^JuxJW{jZ5=Z#BM$7WI33^^1`KhBh+5wY8}A)qWwQ{@VtRuFv3C_wrEY zdo*2}`W21Dj$t@xSC_`Vsy&XtYx!sK2`M0S(f;#(x10h)6RO=Nn>V4>yj*`{RbmQl z)m3Ep&Hae=)7Rp0fJ9{B8ulv7bk=5Q#-S<`y#YM$vJ2iYSB!(ru01+vW;EkV*T9sWBmQ_Gkd`1hk~t7xKF*? z+iW*m-+iwxIL4Va)Ht&HH^C$GO+P0<_8j!Q=A&)En}PoW-}(`31Xx=MY%j1Jutyt} zqdNd>6EF=g{Vd~m3RoX7TUT3IX+#$XwrZolw@&yh__N>(YY^e7yRAV~=N|A4-}12xq<;k%r5ga=2HeiLSl)`L zyQo@sylDO$0pAIJJ>Oc}ppX?RW-_)P+zxP2tf$=3h^*#l8e8d)LUSCN>s|ULp=Eqz z`FjCe^O1b;&x?&WbcVgnrAPWomnG~>sQk@8!GH5@^qS^GySq>?c$<0S=6~>Q-;K(T zgPV5q>pyS<;2uO$)omSh&hR+|d<*cm32tqoda;G9df|^!d+vkgY)M+d4*{>7D&{Hp zH1MS*aJA1F;B~-#`&jd-^ciq<|AqX3vvZ$J>(8snUSjItm9B>3+YHSVH0$_Q9a7nv zD#>jQ_|or1HoRzifmH#seM4w3roPg9gTQNne?)C)x~fEXM|Pgf-(|90=$aBc&%Nn$ z2wt0i5Z^N`$h;jd^CNUM@tFRTEVKMp{FMETqw%qr04b zzu5IVGmYeJ9Gc1><=x%Cj+eN!DV#q8{t);!@Sov3k{y2ll73a6=b@Q~=9p;EaeCrT z_h$%KHBCIjkG(%eINYXT{4==rW5xATnOcDN15X+Q&EUJiZ~3o$@C&}xzj2$+*2s!* zcoP~tKCM$<$;Jq2SNt>|obqGzb{8iR*|jDcW^;DbOjo78lQ=CoAHs2X9i7g*dnPDH z+!qw>si`n;E+6mc6ZK`|f3qI^@5tA)HAUOfm3ViE%Xe=;i7p4-u_8Ku?|zJM0J;I_ zR{Sga+H4NDj*_+>Ok7sz|y7sc~P)z9!3 z#9%GZH2~WO>{`AhQ{jGbMzNqBrj{5Cd~+(mR1|9_9~Y|h-K3xXE7MDUMoC}$Kb&Ln zG7!J#OTiU>Y_2Z6E5|ssxTFkekCJxTFTGu6<3)3upCj<#H9>P0nj_Fm^DX&|pKH@* zz;$sW!R!5|pA+wJ0^40_+&GkJV^_IqOys~%g1<1rvpi+A(>}_xAABDC=CDqYzR{`L zx5e|Mzr=G7X_{xS$;Feq$B3n5Xl_8uI30En`~djv#XK3s7RRL*2{PnDX=x$WF!4XN z(XMh;9cO(s%N|ZK4@Txz;)VJp#1Ri)t`^el%d-#W%SC%(-LeMeZ`oko;HSY~M;@iN zXoq5uBK>|b7s97MeO{t8+gd_p+zY>oGx^{lm5yIYf2DV)iwmhTOp_-6Cu}ZXulV}I zbdX#hUoX)?Ys%j6vVBSErKVqC51qw#8_rqL`pDLikzV3_ed?=;H9|^j;WY@a;r}g; z;~WMy3hb-k-97xDrB&TsM0>&If@ItwaFrEvW$7e8$H7e`;FN`QR^|UN-!GYSXPt`1 z`DNjFR(Y30*8`o|E&Q!9ngzBA*ki-?HUBWO7oJULvlrh|iIUg6IVgUqxx#x@ndc%o z%4aw50pKdTY>RsS8wa)xSeIaSrthV+%gX8ue;x#P2;9?!W0AErmDBq#9o0Gh1td8* z0nKq}B3mQsw~{y-yW6;4#s+;^qH&RY*Jk`zdS}9x#oidXadQ-Jr8;f?CHByHbIvzJ z{n%f|Goa|+ii!-syTR9ke-GbI$KXbg_e4t8&*c-)?1AR_qM@~kP}K1=YriRQXTY5& z96xH)6TlXL74{s|{%3)m2B!8^JL?S?(bkDA5pQ9W9KDZQPOwKHu@M-))j zzj$_ouRVV*kc_!AZj~;A#u~2(|}UBQSmIr-|PQpZ+5P zlkSeddA>3t;s!U#P4?{B6Ek7QyUo>5H^E>}uOal1|d^ApHil z3w82)BX(ba`Fx06xXP|cVUxZUE&1gV^}zhBF*^#M;rq@7e~{3^C)oxxUk2eNk4*m{ z*%zheFn)RXWgmcE32m+t9bmp9AGa~KBz^rkbbw^AWfu8<&|HAa#rK`Xq1pLaPK8=j zTO@?5Z9l7@G?Ncz?E5rj=dEn*DeL3M<+dm_X(p@v@ECu{T=2B8eIuRg_nvZv+rydn zX*ooQw36e~q}^LT7rr&2Iju6!`~d9GV(k*m(~3EHb)sg3zs7tHUM&rC?v6<6V(SR6 zvo?X-2ktiLkjJK!R5&=5YX`Vx51$L~TT;13fi(epm*`E7@VUf&!iu%$3|Z0CV$X-u z1-Or0#ofO533zRTS9`*|9r+3UyMF!Yk>sv-cXq6pL%ts|7v9gIvbF=;1MC^aZ5XXr z;5UlbIF2Zc7x=+>((U| zS8s~!0nH=Z$YbD%*d}~yugIVAW1n0BCB9=?-G!AZ(|+jBK>tzE^Mu__-o0R4&_CYh z(yo>Ep3&Ih_^191lskdk#mMjvy1IF(@-+VEC(XG%Nmy>;w;tFOu&=Ali7UTd`!Qwf zQ`=Wc_fqFlLy16&GFY3AXWjiR3)bI${?K_lD|e;!4ss(|>>$4tP3R!Loy-;P>d>}@^e5g{gfq1vIHOT zYWWrV>?znKp^TgV3Lm|{+tl=?zh60<-XzgL4V0LatL@&e9q`(`VlMaud{w9TK7v%` zYvT4y8*Z#37z+DsSHm3VBSukIPE<^ZuVl^p?`mP^dd;fJVU<g5)!0e`P+h;H)BOCgm$bQmn{(@6biX_>Dx=DO2;6RP7x8WNU+s|Ur{mxbfqPqq zKWN)?jA3qfT(ZauelA9)={NYZuby*f^I)g(*aoZ}*qjVYZH=1)# z6biSweA&lc^1rC*;?d9bHGSP;L@?m1pce5)34#-Oe(bx zzwQLT2U1;-zX;f~J#00w3xT=y-Z=TLcn9`GC}+_+NvAT{nkbU9{gm|>X_`jof=ib2 zM>OsuIggihxHA2|G*`G^#1-zm$jQOweU+DUtvekt!rks;+-@;m*$VJdfa#@6fUXC+ z7U)V3-IxGN{W`G$IKdZ)MJZ$R$57f*-@px1l%cAO5s8<<#%d*B@a0 z<>w_H&DEOHjKvF4aOtfKtEjb@8J!+mdWQMzgLA<%!}%JVV9R2%7`4A#jK56e=GQ#q@S6JQTyTr;|M=PWRW9Z#t3`iF&_G3&avUdZ z{m15lH~X|@`|Icicb0$|MbmR!-B26(IvW4L{QPm&4}5Da&9Z~3)14(yU$leY1AdwC z*l-tlUrG<~N#JT@{q*p=8Q27{4~6ByZt!OtuwVRp2yDO<6@*I&-c$mzx3h|f%>Ug; z9!JTea{pY=tvup3e3KkW_0Ddm=QSr+{t^57lXIa@+WSb&hv(OmS#5VHr_i2cjjps= z(hh!V&b@KK7)wmcim@my^U!Y64wCl3r{{uatBm-ylkNJ#Jah%(arvF}&s`jOJ;c8#C1!5;vBQu$ds`tu!GUCm6;8p*H zIro0B@iM&|`3~ZGGAEBpbGg=q*9yvY1YSe%x{>b+i%X7tL*{#v=}!UULs|8y`d{oP z($)JmiQC9_UYvcB@O<}lCUw^$g~-CI6J8@xbAUp__J<}c3$9m?P2#$*iRUuJ&ldO#WQL*SnyygZ=V%_FhKLkqZRa1RdWOI!aX^_$`sDl}b| zJAG{WwR`=C;J5GKT<`_YZmi<=zoy~#n+RD5kNc&9d$kdxa}9gD3iiSvDLWqLY!C8C;3Zy$zV?!V^T z{fPW6*fg;264(N;K44ZyPgg~7>waJs!vRdP(Ew~3*z@?VxK_Hk*Q7)H1{yOh;G2Fr z7aS1YpNIHQy^CR=D}BqvyE)B_bY()0sC}KAcZpIxXMGZ z7!0cRK0}_nPqA;wx8!`Q56vmWpVg=75Adc(HSRB?>wPTF3UFu6k+u_j)#*7G_s%_? zynD-xdZ*24{oq=_ZB@SDV*c1G3%aR;cWE?Nk3u^J?d!{EZzz!B1eRH!-ky4CVM28M zc9gUWqMi z_r=Z!u=)F9j{mO0H>%^utvdRPW2e;0MgrZKW5HFi{5Ny%d=mHB_S5Wzc)~_#_JQvP z|M$w*^bAf2}EnF>`PI>&b|=-EcoHy&IK)=7xu?*!J8tL z?r%6RRk81PbHVrdM)&Kb6GIBu3~ux9=Ys$8xWfLc#%d?H<}=<$#9H7c#%eF{O~8AA zo1AlppTB>Q>Gk58ri)D{TwJIEzEa<@?w+?hF<|bJM-Tg|9-+3s*6ZPb@GrB|G-jvB zr|}PS?yX_|7VHGDHemPRTR*D9SzuXUb|aejf zL7Lrvo(q`jERDAhY>qQKM_Xu^Z$;(-WmCT|khUwB3ohroqEF-VT6%V^bVZf=ua4l3 z5%8;o_diyD;75R)jbu85Mk6p)rX~JL?q1T@I=h#-3)+Jf^YPffwPcc$oU45Yz_%@# z5Bo!~Az)cxRX$JYfH7b#z@A@RPcjbY@@(oICG|v4DeW=R_NV^xwATMs=)ZJSKFP~+ zU}M1SK5fYhHiSl#aP8oZgX`wo?4(N~TrarB%H(ugz-k&@* z(ZYrNCcy0n*H^$1Y+t}lfvY+%Io)Y+8^DG3oC{g7K3RGn>IbfHubRq~0k#*|qm+;J zIXhigh;+2cc^3R6_?tX_yKETgBin)Sa_-w`6SNiQ&qs3#A)eZa&yaQpxK429|F?WD zroua%NHJ5YjrT%x8k*8JR{BHWR$MUe<`qkSnH$g&NuNg^nlWhJ485z1XlS??P3?VC z6%AGM?tGl_Q4Dg2qhY)%uNBY?oP$PVx(k{qX#T)=Y)msg6;GDcMq&nyKn}KSw)P() z&BYfV3*=f<`6P#9z=rNKANo(!4*P-a0A{w3mC@Y|E8G!JUn)--aCvaUq`R4KSO4O= zwE(WIPF3Wgxyg^WA=x6~8-lsZYq|*Qy2KvLPN$hoqDr`T6>_9+sGg6#nS?zic^F=z zi&nfqxVyv$p*;Yt#c)Wz6&;MMbWx5GaFt6L7l=&kj&>XOg>_tdBL!$&%bp%~PkkGE zdh5Qa4PZ=_q9r&-uedH&9uMc|TY&eW`^^VqzK-WuyXv*8+SE4^?KkuDNnf@tO;yzY z-F#6zyWrixGYRm`z#B{8>boJ}O~9|<+r~To2(^dgeH`3oaK91GY?o+V>wQ#BI?Ym4 z@iv9$7C}(cFcpa9iL+-o`v%J@9(Ag#op<|>AmV!xX3Mj1!4cD)pinQB!M8 z_pc!95%7D!zgy*Fj7Rt0(gl7Ltqp@A-mnbZ^=Nk#>JkZG2>QDjd^@zAe?RZu2qfS59Yub;@><}{ zPJBY+dad1CwvDvS4=tY`rANoW4T8HS}#Xx!qj)+_1gI_fi4T(^31&Rr`lYkIRziCgc5sG<>`fH0-8a-DNmE#`-}D*;Lk1K8Xh?xo<&L? zZ=oL%OD|!7tzPsTfSl%R!_r51CSzL5^wC-Jo+j`6t6cm@N7X)n`L6`F4A_|%Onuc1 ztnyLwu^2(SmqvC^PuN$~u@l-}Xm>#SU@u$#?jd9$j90;p@v@pj+zxew-=q9a^Lv8d z(@UO<_Xw6nhP)d$lkm+wdfu&btnKXzU2F5B;CjIgk-xRM-0JjghCdg;9R)WfoTbar zXWLw#vHFwz);|#ay=*?%t1_D`TK(E;+Fu;r6+a$Ul-sc(+d!Jy$Ib_TW%I~6`f|&X=iuAWWoa9|kHZ~S zE1wF{UT)4Ffd8K5@isO))AnJsQB<_%rC-`ex0f_MPn-|V@~tu@#MS1mEU4#J)HCkN zqG7|lCO!-BsejUZ`0mR&`AE&xUMJ92hDsl z_WfS1i?3JO1@HslOZjHO)jkA&D!BjUTW##e8FE}Q52ij{E;@|Wc9M0%W8^9G!TG*j zZdbb`>j8PC#3^Cmuc^+$YYbl9|2*&Bo3Zl1t88AjhpFFRUZ7R>{>E{5RIQkIZ&<^l z_}olWYA8OQse{_Ez8?KYn#J0%8T@|mVH+YNveh%B?F3igJt&HD^AyP??* zz1avc-gSRZdo?HHn!pXlaabmW@@@ckI>K2Drgl%WWYGt%_v!QQewva#(5@6Nee8KV z&?m!^?>1f+@t>s6@VgftWAOL^->zLT1LX?$?JC(j0!{ZbSa*lAXZCNThtWxq9@foG ziK1t6-0)E5vliybVjY;wt3UnvC5g;h%^%hWuRZ^sEKkcR_YUv}!JA!Xb28`ku9VKt zuD2-xgHhF#b2bD01oUmsjBLfN#1DmMz|nIW=f|Kq0L|z4rjIR#q0m=n!1ZQh^6Pa= z2GY8RG5>-4jM9bn!A)U1i+3|Ly{)nIUjBvaRQd#57F<8L1a-}a1%Xi7hV z<}97O-JL)C;nBBhKD_@fKAt&zl1_aqKA_!O(kDpM*)|`Z2~s)F0?Ppl$FOe$*?09g z9`=L#F5k}n>2S7qR_a1>NoO!GWk9z<+qXI#Z_PIp&Wqa4WAtG;ikHwP`2) zb**btY;(~JLDREl-o+tXyUUiw_ETQyCDH7I<}fr@@$L9vSP*3Bi(|IZ6f{+9BVU2n z;brzf7ccv^n-xZYh*l(}&CS?tCYxms$9{+3Hj=DtE}jp5cF*M! zuYXyLS2w&GGR(i1{{OLoB^QJ6uf5FsJxb<8Rxb5CV%ecZn`p>|+tdb(vyw$}tJz3yw;Sct6V8Yn%dQoWOzO+OMthQK|UU=+y zR$PD3zr}WPPA_5=naAi4)q9Mz4Og)bqyCJKv!>K1!*RwMECc#5v=!a)Jp}W7Y|!OH zn)lQ;r=b~z=3povCH}qmI;|&tO|pErcimbZg@50FphZXr^M{LiLB&*`E0@#?|ZEi?lCc2Y-jD zaVFfEpw)c*-=pz&JZIkBrx=x?Q~TL}46|8nvf2r4SMPjyua4gnGTMAdyUP5|Tc91h z9)D#e8JVowT7gL-eul)$>e!O>+mb_IOy8+~N8s0T<9zUMUS8w-7h0gE`->#arS{?Al=mX?kzQ zhwbGu9_JYP_gO-ej1i2oA_yKHXCEGg-@@j3cV|5PwKa7G^R71(yuEQ2n&Fo$PNR7= z^BC;4Tl}6Ice`kLdZF%iVzH9}p9Q}O{7OGQT|NZ7${;~{WIyymGxE}T7b`$}l<5## zzLgpf>r6hzNZT?nAJDB{J}kzpq+cv1o4~Lo>H8-SShR`T`#BB2hL=a{178;8KU}lp z7TJVB{87qR#9b@+iEgUo{`R-M4Kxj@V0k0e8u_25JU-~`+bP#}b!Bl|_V#Nuh>UtIQh z);G7azFCal8YS07^{QMu(jD?VQNlBnjRAP>f8%^GS}YrvsD(HAW)EfiZN+u$rA!l~ zuY2=+a6_mU7M(ZN;#g0;8ok?&XMGJyq8-or8ssCVxXkY*iU=!ckLKb3kfv3_f64iU6^g#VB7JB?wzFO~i!!@P89rGpBa;J*d_ zqi>%Nz8==&-1_6il$lJZ!x8>J%Ky{+e}ey2A9PApvQANj;x$a>*j*!sSV@jbY8cx*oC z^mb|Tx>StdxP{YR?$pVg!C3abfk+zA^q?2 z?lB#tx@VRX|MI^1;QQij*SfqG0V_=R}32`VXS8eo(56lA}KOw2jXP9Mdyh zmRv@S?9{91#zOhp>FPCfwGGgZmzPswWM>Kw!Tc{PRq#}Eg1 zUe3hf-zadAvQk5c{}K2f``CQ2`W|HLXe#w<#wSBZrwaK!!(qHF#M~Z9rLTf{(s-3T zG(Cy=e*e6?quy*g#_RUfkc~pSDlU7w-PC zyD%Go4+HN8-paRp_s%WbX7-lw`@j!@xBF7S>zwjNf9I6&N5D@mg0BUC8hjqSX!Rpl zG|M0BC>i$dV;fGl5TvoTpYWrrk-$ZyYMm#X^wPzN%tNFk&({F zGMD%k(#sy;`Y+s)wTYA@nwNLOqyFnY_5mJA=WI5W^*_s=B8k9939o5*ZGzY5mb&r` zVI36q^3tPA!%wmYU3z?iben%TAAC#ctbZum z_H?*^c3WKPn03|PdD7JW$ot^Qi+Ep|^XqhBk>p_MlZiJ3UnQRW2$li130SrC7C-8r z6~Ov_OngOXmzAuci+$|utTqEFaW9}4#ea+V|95eoyTu>aGn64eq8kUc8(1NpC=j%uH61Fb^&gv)?C z49;TIEIo@bnoMPC0ayF;`QR~p>qoF0u;suCcZ4+p>jl;f>{=1QBb0}Xoj7xH#9S+R z9fo!g+6%nBQ5Hvoe6qFk%nJxhVBt7YqKg6}kZU+3qj zbM6c7NL`8YM~k9S$M}Do|M&4b!S{jGWlRw1!!$#JWSJ`2Mt;Z0uOdGm>`{KarR?uT z+gROBd*pP8hhCQBIA<@$cG%5OtNg3%THRabRtmAfa) z@k0#|d{_WMdnegyy!5Uh-fx~*GvA)xr)y_aIN#ylBDK3jt|F$aZb?!M0DL4%`{1?V z6meso*O2T{ADfVV+>%0!oavTh(Dt16G1#UfOoy9}pp(41Ypcfd@4sC3d4T-2>4rpw<6A>ixvT&QqMY`F$DBN(Z1zl=f^ue?DSH)RJ?6`$R~mrczvP1s(mW$ z`|J7OjA+RJ_H+48bI5;!=T!ESbbB|vDt<$3RM=P19NNZ`DZL5-)*z-V3}Ta8rQ1!q zfd%x%V(A`Oo=)q&!=&5y+xf(I3ZlJ(4&7a!!*7?KNFG0Cqe#{op2mFe`}yEvzTLe% zHaBsO@VSLqOhUz%q09y|6xAZ6tCzvs8#Oz(sd)oO1Y?1fkVKb{Jn z=I6%bvKcSkr*KW;>_9L$7I`yM7;aU}($E6sPL78rJC`+{RhQ+@U_YqoRPdp{L0tym zwfoXj;XGefmuMeiEwOPNuTqgY(HJi>(cG&Rsbu<(=dQ~c@?X|XtaE4i*@v*g6+so>{29B2J!cb!FJ zG?E3*v!)Bfae9b9(KHySUxqcOR<1Xv;@3GJ{_Pd7JnH9$$7I;t1D1d|() zK1dRBElXnZ)b;Pk(}yW9C+@7|A|3O?)gdZK+aSu!?S%f<%9XJRfI z8)mo*QZ_c0aUsr`eW!wF{tfH0oVpCccY6P+;ML(Ah1?Zv*_)RX>>?=fNASBB`s}Ap zIeSFwG={gVCgBc&+m?XKfIANE5V()=jZdY0peA=oO*@CF5wXIYUzNo^{q*8A%40b+ z6%*z8Yi->Qt_|EjxjgJ1g~GXArR@XX3I0ZhcW3#S{e{~GZXBGC*KaDsfNG44fm`~S zQ^D7i4tr(0?0tWpYSh{77%pz?9fo!vv?mj2(JS>Nhqle^pfk{J{;aRB*+HDaP2KLs z9OY8p4XvziKbM^MdqRF|j9)vn`=O1-z4))ngr@29 z_m1BQXs4hp=11_N%13>hDBseR$k!K6h3|P5pV`2B{F=DA?tDF2(k%btsn|JR^AE4p zj>yl$Hgfyoo1pDKaPP`H0&U%w7B6oz<(-6P3p5YZ_=#jgzT&HKBx{4`68>*hS$2eF zX*E54hP1t3KIP6Q7N^ygh?f;dyKEKq@SXRLHV5s}gZE6Ep~!>KPDA@fzTI3Qnelp` ziCHvb&~$(0+%yNFISS2tiuksBSx!d6|G}*78o8~k$lh7>IR;okYYU=xqQ|`Tx64^KulMR(C3+>Xw zrFr(dwr3R}e!bA_fF{p(iJYcN`3*z6;hUv$U#v&=Lo)%**NXYscIf+K<0U%qPuP z%5MVPesGa5L(Vuf8P8%U?NRV`-@(4;+l{T%TT~dW4Hv+TfLkpbwn_Yc~hfLp^+J_AHjNood8Dm_9K}X0Crq->KAJds_xDfevu-$ zON!6|O1}r%L*G3W-shnDO(;DutG{f4=exehfSUr>K6NVC!ndpYRS@_yX?`v`1I-?2 zO779nnaFpBBE$~3+Im?#?e)D=?#@%n>h7j#w`kK0_%`qp;Mei(^5a?xoQK}^VX+*2 z&>V;6G2UMgk4wTNxu#%}q|Yl7NL!b;!*-nXQ$IKr+{dTiiL0$>P4xeGdmp$ulj{DT zTv$a(kt(gIQSY`8T&Op?-w$2k&jDeh7?83_SAnSZ{2Z}6|{ z^-WxMht^q6qGMFvK6st`L8SL2FGIi9rtz_)$`n*(+- z29sVt4eSiC%hBs9Q_WTAXXrMEWkQBx=Nd^=^AreRiL@Q&_$f_c>32vmYE= z-yrVb;0QvIXs62iwU@y;a|xV=eZ*V-^j^0===iw2vX4;mv+*8UQ^)Af@AxY>y+mtIJH0D80S1V`@tDeAI15+D#~kf4*hruoD4Wy zE^gcxJ>ZO70%ruAg-hTZ1t;^1jq^GI&cr2fmcTiG37pz%@L&9L5xC%u#O*YI5;%Q1a$7M$q~a5RTp1gEMxAKK-DHC#vk zK_}IyAHlW)yHEye16GK^(%^Li%WsgUaE8F?CeMw^egvGEOW@3bQ&Y1spG9!`FM-1* zS=Ia{aJGWebjA94sf{|p83w1=Zki+efDHkQ&iwUpg>y_Xd*73A$H85?kGRLd?R~&{ zeEm6NzfL>{?rCtJLLP2Djbte!*!9RG>D{Gszuza!R=mf!4U$%9E<7;r?(>M&vfPoX zAa1vG+f~QB-Q+@Bb`W6XKb`#xeOqll_`~&Vwzy3{q^ETfEH-aroq*TGgMIxdTPME@ zz-EAb#P8+Yp_s1;-KQDex8b5oxUGO493n~Dnc+*;N*4c_hFAIq{2TT8%6auo3`yqa zt>CnSGXjpS7qAasWyf~i^h<1ot{<~;GzeZEyrPV#tfRn|fthcl%oeHG*T~x2Q{+&# z=Ri56H%`Or@I&%}Y(dx8F1%|edZQ1}GU>-iAMkx$v3I}*$SpJkn`jt-&Jbr4?FMI? zhoGe01Z(&18<{^F^1)NXezkR9*;x&!18f$Uwu$u9&hHYi8DJk0AZp{XJCVZm)`28(6YrK@D%O|} z?_v`y3+y7ii?+Giz6V$>c(%?Wzqo&eO=%gteu?8hp;7-$K-U1>v-o!X$9N*-NT*sQ zXS1YdNbmLOelI}Y57tR;tO;)cyn##Lsq7cQn*#4K;>V9*4bP|jfIY|{4z?B83^3Cn zz#I8(19lSFPlU(yR(ecOb;ybS*YYlY)%xvL>JZuHL!>W~-X=Ork8F31hr^^_B)zDQ zylo!sMaI`(S-pOiu-<2lB0GN(UR4jz2fIRf=PrPjyZ&%7ZMtAXuGE9!q;{4|)l{laI;={~GRX+ZltT zxEt;DpH1e~ZZVIUoA7r$HXo!_4}K&I?ZDcA-6;U4HyUns@uYpgj{z^rO$*6Gz)l03 z6t1VvX<_s87~Av1KdkT4(4L3S zN%*`~e60PMu2>ss3RY&)kDL4OFI<^-vAB_*i1e4qo_`}RXHVr+>f*h;j-GIZkN6M5 ze-!?9r&}5S1YM8bZDS@Z)AjA*UwNg~Vfdeh{|Wg2M%d4h{6zfi`7u2%G?v`YyXv~h zxbm@W&MB?~zaDtyrA52Vm)`$E{4-mLi3w$1mZm-Ld?LlzI zpO_Ec=k-+SeHIxGRi_bpm>}usr%%NH)*&tFUHxo&tnnB@{>nxRZ@|5;R~G-aBmOe4P& zw`*lH*yX17IE!#jfpY|$gOV{DZ`a^W{ka=&43Z;&m%*ueRzCRUrRyeF?0+X#fykMQ z>mL{Txu-ctnaqt%GwdZ)ff*d5+<=Le79My*huHIC2`%mu)-+YixTY%rp zw!DjrHJyg~7_07KyE7H(DR;kC)vc^Qo|_Nv8<`-y9^bED|7CQAKpJnYQ$D*CAs_vz z$#om~wZmildHHZ(FxoF+H6c<|9ybJr-?44Zsx0&ep`U?%mT#wnEyks*K1~R*w`+Ik zDqH`(%dUM7k4;$Y#wmC-W}`MN)1j$7@q*LxYP&WT2|X90wv&uB>_^{h&jk?u~b$wC7thlQVt0fVx{g#Aj*ZVY9y|Vr3)8L%h z<^2>k2ITzRXY=rR(po$6!PBS~KBI;~bd+r5s+Uk-;13nwNcQOe@H~7*ulJPb=FU2n zF(nX6>Egh1@N3zfclSffg7TdNbt zkB-S(Kc0kNZ+AZ2!^;3a3#V4}8D|~zS-TX50 zzdj%QG}Mn9@E*9Ke#kvvUfr6^m)>@^$$t2b^yb~07Ra7l?%W}P1iHP&gQU-pemVPA z(mV6eoq(<(>|@(k(t7xB=-Q$qiUp|u)>7JkYW!b>{_yil*X|80zK#OBoU*jSs}s88 z_k(T}y3?0Qr?SsMw-hUTKd{rl^1z~tOwWyU}h)t zx9T|ntg)}Oo@wBt!25s~_;z{`16*dMj0P5I!kGrA?S=TH{5T(DzQ`y_(Jc}U=M*?w zU&OpqfcD6XT`@Q1QeR|ds$4Np zZq0Lj@Jip359aR+FXp)$q(>{c+1OLrX5n{ufBq8ZySyJWryb`6ZfIrkx&W`9m*xYu zNG@&X-&Mz>WZm`%1R~n~K4jV3z|nTcou*_Sih9v_aC2k*0C#Wc^i^wuL{( zNn0RoK1|d3CHG#AXlFUyWVs%TOA-noE6*HBIOk zLg$F)3^aX1`QY1ptK5D)$69Kv=2{lDZ;R8g4r&9f<~8hByvCQs>T0otwg#}f$9fYxO z`Sb12sUD|EKSTOk!#=~$J;B>EQJ?i!{}u%(sffEvzxK7vPq$a*E52Jv8zAk~8}Zdu znF)ORp*{NgO1{!P2T044R@8Tb9R_w0SkWgV*fg-(k$iZkfM9dL8e_0QV5fnlfxRUx zXM&&Y^A*M9M0<&{#KVD`s+kbWP-eH+@jP3JLX~db_B#AmZy>+W-;CT;>{pn-nVpJt zj*TJfYU6Qu?LWYp(92PU4@4fBb7f`sbJGi%0Ic`Q&e{j>I_)mR%`@O1YzaTFAS;e{~Ed1H7AOJjJ;lE2) z4I~h_bA@x{UGuhl@UF1Vw%2NVIu+wCw~n8Vwr`;xHNVUHc`P5?%eT`RbiDTg>2h}O z{jo8sHfjaG=^(mO{cdf<%q#y=uKITv1-_NK>}+U1xGjH>kGG^X_o(`q}Kg zL*9iD?wn6-rTP00;5Q4uAE>OBx2^f`>&9-t!(vi77r`AGzi+s;x8omqd)~cWQOY-p z2dCq${@~WW4Ktk2xW9-MFU08>=+GK|G0_p$cc~{gU-X`nCNqGNL0bV0_=3VTn&5_7Z zEZ&uI7xhV({5#Q~ypCaSXCWdOn%H}kr+tL@I{5vT*Mk-7Zpt?H03Aucu72dIFhW1| z(aQ7t%&N{OG6~O<@5%>XSA9($X|b_tHZAco%gkk2!@E)_YX1kaY3o1e2H%}`XH=rP znY`&DZ6BxIQ68sV`v&|M(7j3dnGIlew)I_j|L9fp9VH0+uATELC3BuDdk?(M!|RT) z?0$^e3qxK#Y?pfT&KO_z3Fxx#$p_c_GQ{I1^*a)y`VE>PA z{RlPz>`ajde{0=51#I&l`uT|Wa&JWF1fK)m4%~S1#;V?A&Hz6Hybt(``HsmAbz-U2 z)MYnH@2z8=hL^^z?1q{*Q9fu^MZ+Dh@wqqbdp3VdEC9BN8OV3D>hf>z@w#yBEeQG* zhiWFO^`uG(`X2ZEp5-@8eogPq2QOE9(mSDyG=fQ(JD zSWF)ifAH3!ADRm?CW=F;Z99DG_1u-=2u65mz5vaM|{V?>PA z$i0li5uKnrZ+MHrZN6U31wl=;Py=`55WG}^WV&M%p4%q>?|Al7v;}ych39iiwor1!!rYEA_%-%=qSDF%*OXLbTiPI58$?tt_wden<-5QVMFfA+Eu^4s8HO#)FO15 zKZ^W4(HnZKft%dBd2Chc4{E~7uRA(_r?Ir?0gqz2&#L^*BCqMUS6i2}h|1_`HycPTTkMn_KT)1PY*D|kPWpQWf^R1*0kp2W; zwvs;g)k5%XL)H%<8#8LderWrq^5I>y@%yTDU<>l74Ved|OOL2LAIZD3lxQwH*+~1U zEXPPYK-%@*?w!zm%ZIf8A$y8TgSHZ-5OFl$8DvJg4DHl3u^s|2$HmVgVW0SSvbftr zb6V&OckS6civ0m?v5mq#&NRLj-<--!y1573rjO=>Uspa(hg1#mIS4!r{6^o7-cBIi zVuCw)!u&A{WFdtG*r^M;N+3Md?7BU~>8$fnnlXs^&(4wO=0EjuXI5u0{9SIbI{zj7 z&<3P2e(B3SI)4@45|B)_ybb>qyr%e8`<2MSVQU2jk@MU2g1hx&`QVA+`UKv7ZCJ4; z>#tr$vfC;{720j@avEN>AJ2z(Wxk9|RGxX@Y2X%LU0$BI7xl5TNzQ|N1YFyHE6078 z>q6>Xa(=CWJkq~M`+XwXTU5TSz-ocn+-a}yA8c)aIHxIvA@w0Jld*vD>@qp_aie{n8y97t^DXYcMh6h$k4D2%P)S@&`d(}0@0|Z%+2!YYpk6hZIQHx zyR?RDk&QIpXMryP|AgS=K_-_`L@C4|~C>`Ln!xJ9RfVFx<*+Y&*NL?c6-vPMfr^^W0;*zel;9*mQQk z`JLof*WXTUqENC%((s>ye@~IW)$cmWz{1%r4BYw`oO9re`Eq){JP$bQB{|iJMFjj* z-rC>Co;=3hg8GcMxGVAAJM-mSh1%vwU|VI#pZxA^m7`dCdjS3g_+Rh&`#1L@o1{ax zRNU*-TDZX2Vef}bL)-KhdG{7m(ilRa69@^`C8;nWf8Rj~f-znH3 z{5_->-=o^#y`3)I&%};WLJi%WD&6qP9AE#ONSf@1z?lHY*2vaxI`2oou=;{gt}%WD zoVL&A-CL3-m-aRyZKb>0vZ?d&8IJyw4Sx!ng}?MRAAAoHZ)oeqV<}#Kn8S;8g5Oj8 zp5gZ_zvuWp&u^aJ3;d3EgR=Nu%04}IawP|s9B?to~|8d|ABP74}dnmQ*luK zO(bF=4=MJVz4I?PA*1Zz*nF`ogkVq_#B7*e__d$#aqwXo-8~Y+q>YevGx^FskQaq+ zG`hp2ohHrpQ%SqdN?28u1$CCRGo<~opHt&+bVqYJj?(I{(0ppUxE<4OZI_2f%iZj2 z_`Gq!VfMb#a#1@qydD3+2I(2nXV*zjL!Tpkne= z*AO_f8{nu9j(}79_rwEV!5^k0s{il`F9(|Qj*~uq+V2O@HhV}D{50^x3GgN0lfWMd zj^s`8sgn7Nz^8zJP;k>T%ycn7*p9fK>D1MEX^a61gqRcd6f?8keVpCzWIqFbTcqPn z2ZgrD_rtk;2Xlm<=4G3VLbLdlxSz|@49P0;Du>fp!kq>8@K^J}JNS9VePh0 zJ1zd-@V+J4KkbwO`$u~C1Zfkb?crOt5laOnS-BQTJ3-ppm1gC-nsVVuQ#*mAa#h`d zK3ItM81G;vDBEA}Pn|3)7Ro9O={9Jq{v{uLN_;&3TyYN*{*tkNa3;WcsIRxTDo^6CtWLUIPErf8~Q;RlZ(M`%@pQ z#K-`?UY7jjpxySve6Tg7#a5b7 zJb8HbHf!6x=g`u%d)rqsk^VsRS4N&SQq*^4gP6x&wv}n z!CZy1^y7{4slIt|T7Hxdew%Oo2v+lM+6$Q7-N@h4t4+X$fnCYBYjb(tU0N$?`mw%<~Vu4O|TlUsiGlz}>JT{I8BhI`S4 zzOB7)jkd-g{nxH_7=K*q9)6=CUAta@wmly|hezA{Jzs4qxuM%>cLi>J590yc-}iNj z{HQ5*^VsU}(x*8(2kw>?*3>Ff)L;0>b+wImdis611K?&>^TAQ^HC<(X6e~aTm^`!; zf1e^~!t!i)On`UQVWGQXLaw$y4Zl(N*<47Px>V3XOwRG#B_qK z{jZij>0tN1Jgy#_PxH?dv@JjJHjL3m`;uN4WmwTSGtxulv8!%>sWyR+?CNEB4Z$lq zkA;m!@4bbRN`5xK7yUu{e!gA%$q(+{oNgv<>;IxBy&V(xeTEY?QfZSErEPpSM*8Fq!Xp}E)cBeL{;_v&~n`K%jJ||(Cb@gp}AN$W2<9p=swLw-^o*LYZ zKVPP9XmY>E2MexDS!rlgpOtrjw8mfhb0MmW7Ic0tJxJO(X+=Mkdn4NGZ9gZ^fKveH zOX6*^FWDwGOtS6gp3~q=1^M6~g>#kajXsIj8(Wh#{F_Rh=^ffx{Ax}~hpw2YxuY5j z%B{DzOfuf8R)SA?pGC#KzVTB#e(Q=#b7iOL=ze%iJa8qr%FDnZ-9=&kPJ1NHD+0F5 ziaJ4M=STLyQD~=XSKL^X9m^CX-EtiGdEmQ+Sf)2ww)lPWoy28C`f&u*W$3CNv=ZE{ zfeBs3`z!Q|k1MhF6mN;WZHBRk3(`Hta+4lpdwwd>6UND>#Tw`cb4c~^zusZg*c*61 z_R_DeI6bPmuwOy{o6|<)e4O-Y(%1NQI-+cxQ#Qn@By?o2&V-df_L!brfLHHBSAs6_ zLLZ^ILVdIiP=WMu(r1;9EJb@cGAW#DCM+u({;@Y&vx>g;1H`vO|4>b)rjzi`mBl1i ze*uvwDVv$WW^W8bfA-NUVa&YxdK}miuxIjJwVw@5bdqe7Dd3wQvl8fAKl=YTu-X`` z8Q3XcHNcAJ!$O-cms+A8)RJ++I8B3F0QUm8(Hcr;w76kSIE+{IN7El+A3Sy?_*2QP z$qG6RN&ubH%$R~x%pPu;MaW=`|fdmtW)Or9Km}er7yuj(+15bG#4Mg60X<0Uw{!3+RM4> zD{0*lW82+RI}h!#=F)npJr{t_0oS*F^#6Ha$78TGu#2Al<9s`viXR%IL|Yk{vu1y% zKZrg5#Ff(Xd>Dulm0fixaYd0Z=}CsW!JPv4apK1?>ZhFr-w%8)0e%4ZnKF19{3F26 z1OEWuu3V+^skWX2Xa8@l1Ur4-`8a3#$;H)C#B?}6G4wP>mZ2Ga(xvMn+@=p9fA;}b zb8$Pkoh>VYwWH>?ZrYD=lqRj8v_;b1&$p|Kt(si}`gO}eaC)D-G0qG)3*dadgb$Ox zI>NXAX>f*~vJ#|)gU`8mK79%J2=HeKPQMI$-EtB56mau3lcc_Cz_~mNEUt$HZw9^q zTx}yBw|X8~;LE_{vepCaJg{F8EOc{`6Rffz`eb69GCeO6vY0c%4wRm)BIFBh5mfnO6XhUZ9LXCEIx3S zTK!2MCcQk~Dhqr9cpp4U%9+;Eh=!tju8P^qnm>l2nS7AdUUJ5Z!ou>D}Z~pH5vEL5OtcVGjT%#~NuEu3;K zQE!abEVM_VO+U-`Ntr%%kw4xQ-RVk#`OQNq(Z0XhK4-v>n z^5%~)ex9@9&Z3p&$9_@MF3XO4BCZMZ>#4&8)mo@%`m4@8@M+$*5$IEU0Uz# z#SN%~BBeeM+lM_2?ZxM=1Ro9e$>_&B_1QbTO*?PY84TK?xr@l>^rAtX-3 zluLb-hky63l|bzEBUsI!pud2{^*|G_9$;}jAlwY_1Hd0FVtxc`2R0I;*Ldm$b`V&H zkZ9yFd(>i&hLhc8HA4Dv($(%RT|08!by_=iSVXb+|A4m$-mRhh(UxP?+JkjkG}-mTRK-_ z_giVfmb1H&x=G8CmH|&c(i{E227y^S?5|JXO#Rh9BfzJDzg&o@39Ur;*4;*`8#j}r z7fAns(oILOpX+T*zh>s8?4xBuZ&YkmVuuDZfg;E#@92*rQhS!b_!L_ zlzCrShp9f9kD?E{O6wzdC-9oRmGFMx+Y;a-z=zA=o$xsfd=~gFKX&d)(ccwzr`dhn zcwYVbWO3hN{eXq{&u?;>>_ld*Q|uGd3PnoeE9qNj%`Z4ejU}K`gVSd^}==7eqkBtH@#Dn z(Rp*9EjE$t?qP5{dsc!IA+E(EX;t_SA#Qt}0_)JMjBoC^k;-*{aKTpi?cP;63BS4P zE7m^TccK>)eBR6{YO6fBvp1}`_|>?Mu*;dk#UDFtQupMIoi4d-o!DqBEvi4fnqRQu;sE1i$W+%L&ryNFRhg&3@4bmJ!MEfi9v6?r?$`SY z*%K)<5ol?C7oi)1?q!b-v(SV5w{ZufcF3|<|Dm-09Ze;qK=zLT@(7CWAi(g2U1CNq|LDsVmIH~ zdj`_AC*f23!j<5?%G27%d{td8UIqgQ<(du~XS>CrU4Uj7nkaU#jE0dDr%`=cKEe79 z8rx5`eDLM?H#3vMr85a}k(E7v2i^2^IS`8W2+_kLo_pdnrC+maP)Yslr z&jc>MwV$NCH?IVL$G2-kyz9j?U`)!sayrDRS$L^_(%#SI)Jz4z9YaL=f8-JDH*Bi;_a?dG8A*}oFLsar;4uU|y{ zx696{FGF+qB`d+7B1xKmW!*Lq69@-%1;_ zl761_XdKx&?A<;*%Yy2pFZ;mDy>=ydh1x!v=X8?cwKTh*=XTou+&H*LhF5~SKrJ6z zZ*sV%$gU2*cN^Ua=$7vX-392{fA{k9%N!$K<9^T$Kv%dQbW_lE-+uY!JPY0Q{h(|3 zbLN-(LDvag&+9L*oP%`rD0H*XJtx!?k$y8@h~~2oq9#z0;e6JqxU3S0JH1qj^ZZg2 zXG`VD@4yJ_H{}?EjmVCN74zC3>xt6VXW+d<3 z;558(C3csn#kR}!`^}Iyx>+{e2)M&1tvHF8E^fvr{rQ=;{_C3*fXLlBUBjEOotpumSbsqg*vCbp9NO58P)n9}@ zp(0$kk-R7|Uzz5>bL2Ds`w|Wi zvyQ-PL8tt{O7p%eUrAMv^me7}!H zOqY*uRp=?9CM6PtE|e@Bg!b&8thl?COct&;TT5wEq%E$KHc#5Qb<)m~wzN)Kfwc3a zJp%qtPPE(VX}(h8&%JkLXVpHF`BOz~!Tr%SV>4}*JZdL=w} z9v|PD?xq;t;okiYEl<)6NH^NGh>%{JgU6ANvMvbi+Gs5z+a708I#dz$F=DQN6WhaRr+{kNnQW%N50A*<-c|2k`V%7YPgxZ zp`AZs5WMWi<7;Bo_G95*nELxLIGaD=_vX=Fx`38h#@0f!q)n0bU~enjsW!f&x;u;? zh27W#&?6=8ympJjI1lacCs%^csqQAv(c0a1`d#y~`H7ARH7ovG(6{~-^@FxiLSnj| zeDBn~LU+{c(Y^dA^6);6!@RvaxoLpaO$R5wI?$Zg>kiXLC5KCx53dcjNhhyHe< z8R|oK-exQ5Go)MplCJIHeKEb(PWlDXZEuhCF$+fOuDhC1CI0(KZ~E-|=?6(~BRz?~ z$~{f`IO&h$Tl%`VuRITYDgnL#d@cdL4E#(PTw|$b9(@4(;fZ4@mwJ1AEa7$PgQg9d zh0ig6)$oVOM3Vi|CHv)iVy$0?40IqD9mvJ??8(`SGi{Xy0G=9Wr%u9u>91E}XDJxX z?tN5wWAIIOYI0G)igSx%({)072D;Pp*wa^RR4()BUV~kAEAwhXFroqhAeo=}{Z!X^_)UF-{rr$$ zQXlyH5c{3YRcQ>n_hxGUhW5T^#l0nCbI^_GCLc$R(pC9ez{xJI1n=6g&n>?$PIy-D zPi|c6V~zO(@H>2NCHQ)1ciGw}ve|m*p;wigUAyaMp`C-a^?NJ9`&1UB!N+ph-TnB5 zCgcY^#GNzFepV!2LO1WItG+3@jOam@A&IwArT#53fm_3Hwzm;lNcQo?#&)|~dEkrq zi+{Kh?C^DsuUpFQt5S6Nw-U>{r>?qtQ~gK|;kdPaWPAOP^QWDJchkyBc-Hq&%I{H^ ztz*>Yd2o+{yT5e(ryRj4_mq^3v3Zse4kW0uNQdD zT73W0#nx#5Q|Tk5w~}7exkwrzBTnZwlRioMFzI%e9r75~DJws66A+5VyePRm3GS)F zN*G_8ynlpM@YedySJmgb>N|145Q3#;VLY%&izbz=@k{uJe(e3yHWpHUPw{dZ$C{&C zmHrdf`{Qh?( z_^Q&Qxsg62&RyD&GGdFe!{cnx1@QwvI@e~l5%(K_uZ4XPpHm0^8|~@rs)oPC-*RCk zIO1)LxNRn5?oZ-#fnWEwLo@f&gmpvwi~^-glgALaeLwU5d)KxMG%Bh|m;P)A=Lk5x zKVJ#14Cf=W!z{Kb_2aP2+ePEc&kh;A;Qx?(s1(j*)(-G3zNoz`IXFX^U z_L1`7cLw~{s@34hUiT);xIz(|P?+VC&8=PVScXTsW;Mw9cJ*r%+dC=xnyR0PLM*xa zu-%+ZAR$Bup9z{4GV$vW-5R|6Bf_bVb9 zw?3DZ{Ks**LqFm6i0pd?pKQL<@TjU?4foh&+nfWo8JNX0M0^RJc4x_nosal<8=~>= z@c%+%_d!9E&`#OZKbEcKI=ED-q)nWz=!aMLgH~gEiQ03ywyvMD9U$!(X}<_<72?#B z?E#LhUzz%g^(KW!RM(%q^7-}WuDq`P{FS}+`73V%-Ps)Hl>b9kgSW0XXWKmK=WJdA zT*n|X-J&+md>Q}Y!&ZYHzV(yiw;k9iU|;ch`1Xq48{{5`P5s{bD_Ir1L&6ppEt_oG z;5iA;_NLX~#!^|0^UPUcOUOIxMxb4QcHohe$B(V}Tw8JXO0K$=LbO$yqMdbettDOZ zz?D0~FPrC`?#=x@`ruKkL0xINZH!smio)gJT3+pTi#3~o_VA-u!&phLcXUAlURI45 z^bRtr_L&2><}s^b?5=Nfvz=^TY+rqrrBYezI2~Vrw)3&8;hii#c9a1pIIP^)GUwNbmQMHqx@{Vj_3fPuVqH6j0-5h_rdq z^sTvG_y>W_0kiWA#%oW#+FWV+sd(3la*ICA@2B5=Px#iOU}rr4&3x-edVk6D|9jte zaakeG+wGZSyq4@JFr&V^475wnc9kKijP3u3zw#-o#WzA5q?~0C$sXz_?I>ySvz}?- zBfzJD{}`$@t}nE^pdw-UeCa3M`+{h3WU{@*Tfd}`uEs(Wj4pmlmQ@)+Q^^PgBhJ$*Hp zQyWKbiLnr}lzK1Geav*2uf=4!Cy`}{7|`%cxnqC8xElB#}nvJy0XEE#G(&3UNb zUJZJEJ8sBts``ywor3R&IK`Rj?Odf|W<`RMwY8w?G%o(ng1^dZV?cKbI6Is zPStamOT#*?yWZ7$Tt~?gvy{wUfLH6b)!11{H|El$HGYNpgS0>7+m%J<)>$4&G?D9O zz-{0xfpgB|`1@v18mSM3x*A;NwIAHc=dK2Ks@(gzTY<}DWUZ(9bCk5r&sz=srepZ@ z%w?*)@Eizd8l3ase3oxl9yyb@yYk>cQ+ZB-b1;iuQ698kc#b}o!r<_82Rc$Zq5$r| z_SN85`PNUC-`cOT-U3!;f7zVSO^GJs`h7PIl3A}R{QkIHipy4qcAh6#QfIB_)M!4W- zfgc2}^_BE&@!rrp@Co2g68t)cuQJqr4SfW>s5jMbTYyagyIHt0LT{wsd>girRv@ib zY5XXkZeV#}kzbwZc%MCVXl*>`(~IZIlg~eE-ucahd8fnXk7MxIwmT}P>Ut7b8?a}o zAlKJ7$nPkbSOne=++u9)zDc_ii9)@+zG=_hxX`#Y5hV+5*`sIkA5 zwDY7bDGhtL!k#i4GJF>l^C8g%2OZViM!%*;O%uK>S)QvT7}h_Z+KTt$8?+CiZ3EZ126l^71To>2Kl;n#A*YH*L| z7hl&>zC-fkjXmHN$SE>KcN}@!5gjUyA&5C54UaSMn}=V$*MoZFCYPFV?ayo`oB}vA zH?F$92J0i?yvyOx((0q8ZxFxLi>>M9EWV#??WP<3|JD^NTo|M8P2WIYX0r_yuLYK_ z*~;(F$0NHf!{6iN*Yo_<;CVhjAE(70i_UZP>)FUitjR}ZoQJ0W1+0<6GFsnSU+`YC zyQhMvj*>+Hv{`5`Kzs0})!>+?jki0#03RFP!H7yaBklG@wk@FV`c~cjf!24wHW1MXT=qtVq60UW+~o`MgS& z+DMc1$Z2SgLA%JebXe%`=}-M(I0yPU^#Zv2U%cwx?+#_)eNG0zk!)`H7yL*4s{v0; znye?cQ8D^3ltgo5mWV6bLG3Xpem6&RhIIERux-Gez_;e97t;>X!IQvyfEWEk6?27+ z3(4&!B0o9um?e+gOIF<;O_%zPI{3S6 zBVGAQH{fI9h~FW8mF;#r@DIOMeyh$h-r#va-`0<&L!$XX{djY!^43^ugYG1Bw|F{l z>)9NprG|@;c0Q>6;MTr$HF&zW3*+{Kwf(Nx{&9cxwVGndmf;@XN3kix%6uGt7hbj+ zyjX2*;~a4{8GccHC#$Qg>N~lUNw;=+)4}WIW$4nktp=w(9dR}PxJgD1KhjN`zlDF{ z<=zf8o!|^U=`*FbTq3>Or`sO8(d*q2b}3hUkdZky&iaIRSs_-_kvRZXR~nlQP~E8<$>)L0QJIA#cS)++Rb+BfC%{|m-Xf-@P;r%0} za}N7O(y^f~v&aR1{tx;Y=%vr~ljgS<*l}RC2g6uJH_qc@q3)K8PZM&K>hu^Tz-%E@0KY-^ELECQh>hscUOaH-+p(d zx=Qa!LHTe`imug(TbR6j@xd|>cIdt`5c03F-23mWr*B^k{>tZ(C{sUhw4qE9&N%@n zei4`%{_vCB&%*QE>+vydxK=S=ez#(74kyPCnA~UKcM*QM1CboX+Y$Tm&=q!1j;5!J+)lwBmz*7h#|3zN$n&^M^V*%&Wpk&^ z%__`)B#vgHBKqNV243B7_5Kta8)dv~p0}~VCa~5e2~!Q-O5{ML>mU9qZ|k>N50l4j z>y_8?2+K?3CFH@JE?%SX+WfZ2k6%%D<7IuSWx(mgy3?cLbsApT-(!qzSgw%QHxqf$ zCw=g0I>-88Y&G~E-%iIw?Pz-_Q5|K3D!u|p*_3@%-5Zmdu^*Nr@NYbbkNm!rHK%Ro z1P$Jyw}}$r<^x(JkA~l0b$7Wl-=x0e*2D$ir-0l3uIUf6qcAq&{(oKZR5Jci-`gud z(&g>n!M|{5)y30tUP|rP3+y#7ewuzp}){m{Ppk)6zC zd+Ph0UwaPzjqh3w?oEg%DT~Qt%v4V%Pk|i-lq4$&dFPrbdip={-@h-~Pw{Ii-Djt> zwagf9&e#0j4Q|!sYIv^@@s+P*+Ozjhq`wA9KTP^Q83ko+QXx~!+bzkBVtQQjz`XcP z`~HPr{9Gu)s0ZiLI3Xw_YZ@*~iv4A4p^MO`Kf3DP9Ic>tcYKBPn4jwF%zxqkfW~}$ z{B8XYYz~;MX@O}h_5$1bG1^U+fF#v5z8>hWe!F_1QsKBgqiJ{z9A6D?hn0TR)^orX zfIVISo3|A&!bOtIlUhfgC4GtXuln&7pMSjnqQCk@G;oPgMbmcuO!OBZu5Q4l1Kip zX@B3Y@w0roRi`KJBVyMyOS#TLv-u0F!N2oe#c5Z6*B9egfwa4E0%LeFIIzO+{<0#3 zst=`*BtNis+Fs|@?_zJkqg_0D>eF1ODKp>XFiYAZX=6&mTGFAQ4m(lm-XG{Ez58#H z(wUvL1Md8N#Jvb^|2OX&-{v0?|8(}g;r4(#b02X>!R`LmrTI!{ z&w`r=_ZPk|yiI5OJ>I6vXrryvP4z|~sF={nu)|`_F2HO0-!7f6`gQC7FhAaNX4JxKb%2If5V9x3^>BHmUEgEZV+=7mLgfl!08dYYA4T?P<)zKYwmD_+&VTMQ>Lae{5d#S&2Nb zP4b2^{#*cEhQwND8|B}UPgQ0AlRahcZ;G!Wd|TjU`egYc!u(5`dP1R z`DuOj#ke8I&2{nR8mFX7|HKs^8F@R@Y0;m=-ts3B?zE8($f(~JRsQc0kHWW`Z|z(J zo!Q?hZ zywV7TYZvncM`g*cW)*+`52LuMvVNifQBzayvTk!e*-m&2FRun4sVKkQ4CC5* zSKZB&-_89y>t0y=R9lThzXbgk{1^@W47u1@d?B7C#5Vh~u$Y2h_iDs1zR#%6p;4mFwabH|KV?6Q#}YhF!J~MeZrDeimI1b&e&{3p@H**PcpM--Px|}Bu%wOI!}TJv zS1wNf-J$!wV`~HPI029D!m2wv6paN;0G)5hplzb|ux5_`3H>&HYktD{Qg{^O3#0b2 zTgcpa-Cf7hKFoZe_^DWycIaz=?DzGk$Cylfd=(bz&Q|X!pH6I=E)x#gq-2*w4=*<3%t+(RXkr(sL633YP@gSE-SD;ySuT_Rxu3A! zR{l4vlmFgLrLwtK&LG~iDzZW}$_rCg77=tt1T`(8% zKS#Q@0FTa}5&Ofp#aa`0IGC2K^_qr$He z`F+Jmfu3!QQ`pC29d=l(=TUg2H?4*1u}1hG1GWX&Gx%2gpMo@HznlWzUWU5}EL(=F zwkrT10KQ#3tp5>eY;l#p;b*iDY1#Wy{-NrZsQi_CzB}!{xjuLuu3ih;d_K`T11~8` zOI4P%gW%18cUE}T?yNB@-mOrG(s<$?qUv-C9_=-2&VI8xx%XG3pO#4LCGC0QZ)sY4 zblO#f?o~z?8@2i8*lXau$>SZ;KI9lrfTo8+@$RU5MR7VcKYJFMd1x$FyiETVZ|Y`& z>{K^-+hQ61D%SyM(^sqo*ZBO#QsjeWxQl=7kT-D6sng)~g7+A2hu@|9Y5YFC?e!o) zhaO;W$X&%V737f9pqOIRb2a^P1b+@UR(R(=nLz*gUWk zz~04o6)_h6Z4q6wBFku}9`(8V%Z}%Ha9e+6EqJqV`APG85!e(ki>I-BJM3j;J*=cF zJDmRe1?2>%-*fnWQ>)`GW${47R}_?cvWf0H~gEow#lF2Ha2;f(W;ANLd9Ssn3<^putF zGs*nye2DmU{*rjgN38|9`^fL^OYoZ%zsIfxj}<>cX5um*?Wfp1$a~a&|B}ql_6nuf z&cmNhj#FcGJtP0rThM*21_}$!sUEo-$Y;uzp}V-l-qq z4FT&bgB=9c3+#o4_57c1IXV8?(JZBW5Z0Gls^EdV;W z1-4WM8w8dwgN*{aSOz-+to8||{APePmcizMrORMvfVGstmVmVZi?`baVC^wH)qV4( z>Z%;D;@ZWpHT+rOObSn0RCQL4s%I9O#WLPKz|O~DY48Ss6@ZzZvpMKS<}=RINmDT@ z#cKkb(dN=}a^#?D0$A~^j_{5Hn*^q7N%SMwDPTu{sju~u;dc?(F<{00rTDsDXZhbA zuMZQB_%x)dtLC2=l|f^BE3i|*{>+b^xF5^xc63?whZ%rn#++`kC;>48Nk)d@*W9ue zY~x$8U}N^^my1!^7`4MMY1Ja2P%;ima)13nG>^MYF$ z5tG#0!v2)b=>sSGl(pd4dOC;O!4Eya_JsHFOqAxW1fAnz0M3qXsyf{pof%Ml=iz@i zgU$`hfU%4PFU!aJpY#)?+ddj)^k>4bXXH~Ns1DKFL*%`G!O&))+YAYdHKfX$aZMjp0*ZzyPU?||KJwVd+a`QN@1Crf9?Qu=b-ycNN4Ah zIY92Pd1g^g;x{KqOsqe*wd54_?UxeoHGuDFt6o1Y|-KF=? zd|X-CzNBK9-jZaA@3vs+ua%v{Y*$aMb9}R_E=zX3S5#Nkv||7GzV~-^S&WgbCAt)2 z$U_*_zroC(0Td66+i5=fqwvW7_F8zB*}psK`;URsRbP8OMxA8s6u8si{`q>c7R~23 za;W3&jMfBMYq$N}#s^eaH9c$1y{kz)Q(SLoTlAx)O`Upi%%P^`vfh%bIaEENqNpwQ z!>{exYwm5XG8-Ayp%V;|gK@k0fkR(z(XTWEkH+Vq-$MHW+dMfImEHOWR=+&io)SCL za~I%O_?fV=R#gxr7~kS zxY>|5>cID7k_UzPh*h?h2O%H3S--5uk1>7d0bC9-_P{;xv%u@hwK3Kfyhh;Fx`#FI zrN?U*eu6KkXcV`?PoR39gx9IPYr#{0jX#jvxUEbK?!*eyx-MZIX0a~s-+*5mMH+?Q>DR9XPx9>(_m>y%3z3wU_#BaM(auAAVgx(+ zGHIo^Ej8EF*n`zik)Ibm z;LnJ%FIoLyB)X(hJL+Cv>gltGNn?)G)ayzKO#hxBucHUBkHdPz?E(ym_rxpGVf&^9 zXvW{X7Tg}rC1vt$GHG_1nHHV(XE(h7;kcInw_|HmKP6dFC{|xG*YhikpSP_A<2t-< zf@` z)zBQ$n~}OpB&WBxOS%?X>4HIM8z$C*Sx*~}b+>jgJr%}CvJc)?84~Ny=gz@v_zvvU z(sI~dg5Ud|+LZcKSwVK1PAEV-bLU#{h|+pPtFyLt%s(#sI#(E7K+D|+^=ZaDyCV4V ztX}O8sph`wwcu&%>C4FW(%pW^a~76~`tdNl2H(9Fe4TG+=UPA79IA_e-Wu-{`cdtA z5}Ky>tOX+p@@&46c)Jd*bBz>z)DN$QhU%*B_pJrr;amB~&xDxWN?kY`L-d_icE~km zDDALQ50{mkGTc?S-8DWq@Bt^Zy@tu-EO``t8(L?L16u<2Oy!GTTQ?F5J_UU9WGP&0 zpE=;I!29{GvM~{@^+b1;^kLHN4HIHkZ-$@f^1zP*w|AO2<H(ei(HfI+F~t{B!$it5u`QuR>u_d4m4$294i|7b0EKHsXRUxU#1)U^pm5^Iny zj>Q(epUt54K+^`zYeE{*6??1T2fwP5<52uZ!JPoNOmBIcF`Ig4T;3s4osL5@esnGP zsOQf)gWt0zbqVGiIt$7&!24Hr-;!tUOM{jR* zSOZ6d){vCsWtZ?pd9IaAHsfBI(--SmH7Sd3?7S;h^)@KoEuJbs2eJ~ zwKq}XIssA&fW7iNL4HU7f67lXooU41MSk1();N_+r}^vzUh~JmrBiJ@GKr=>?B*zR zwr~c)Nl&f0_nr(#+V-d6JSN#c49=DhuZ8a{g#L$&4xxGBDcf%p?^Dn%LH8i#kDEfi zopkKp2bFypoHHL;3zSb4>)PU-Fg3r1y;25GgR%v9`cKxvm>k_Dkxu=oD=(gT;bg(N z2+k7UuHLE>M~5^wqwyq<`@uOi9Up_Y+n80EMoC*HZM*2XH|k}iNKPk#Z~Z81X2JPM z^E(SH1I+d?to@{OyblqbqrA?5GXYM#j(}~RSSIZlX^*+|nnSl+yf@JlXAJhiukF{X zs}6q5`+N}E_+BY;UVK}SU=cr0IKkdiNA$jI16J=2vXd7}OHiCHn}mPOjF&TC{#jrd zV5_PS)ZTuuGZv9uRa}>(P9&BeMXUC`0Iwx@T_axn$e!N(aQJ_G&Aqz-|F|t)9J|#| z-c&X+uQHpW6WYQj)`Ig|BwN|aY|6+6urtZus!1%Jtuv0pViJBw{(LR?8{bzI_dnP? z+|He8ujQKcPPQyM>gVjBT|Pzx8*N>>VM@fM;JXBOvOGsV z!^hWx58gMM>yHv!+n$P>3DX;vh4ThchGCSch{Q0%um9P+x z_?eZ|EyY?n*&YUW4%`n4mmleYabWF#wHCZs0Q5}53s4_?P63|)ZtvQgT$TB~qP2=F z?=L6T6a6chUxruzUq|r-f>k||`3l(M_05m;MkBBhU`3r4&H37(_HiB^77s*0(Q}L` z)u9`@%sl!2z^&c*oj!)yNTwcrT6om_BN zg?}?qN_HS_-+0}01e)fPksT)+Wd>L)u*eR>Sg_cH;_D5rA6md&0Cxb~pM`nay3TAW zJvZTpm`pH>L#Ww8|NPxrup)d-+Y^{Hoff{uWxZLOt7LbzfYXrE`2(I+CHiGI<){#mhMca6ZK;Xf8tYG_MEa zwy>U&{&>9o2#`G*|C{+YOIAzpxNvGMyi2y62ThU=ZE1pJ=S%-K9?g%&|N2jB!OPYu z#}`X!QpZdGWVH~Fs{Q1VcYGw<2aV)m^688d2Dsn)VJ1x zf8?8Sk@ok-aThNd?+x{}TLEXm>HfF)ek3;8?-oVcNwUVy0C)$%v+*llJEO6o^l{Qp zlKwQl-PpLrveDpD`V8qyq}#pnHg;S(Q=*mi6zK)hzZ24PCkxtILrV*9_46_~C+>;# ziePMTR-G<`H3B;eOh=dXqdB1&*aEQ2S(B>V{m?B#7wwbkHCp$cxaNjY(kB*6*Y{cA zlfaJy-z6EKzR|f=cHzS?Xx%X7SDu{BV-@B9aB&)o@Hp}BYvH?Fs&5|Hd>O3fO6Fr= zDvy4I*97b&u*Vt1!CHWw1NP7uEDLP8j9(A1^JTCBU`xP?c}R8+0LugW9r3d|B9yjH z?k#S$ntq-Jul7IIg6CA=^@VtSq@4yY4PKSn%fTZcs2YN0%Wu%0@bBB0zdS*4{@rytaS~^bo+d`W1jM-)O!zpG8-r8iIs0w= z?Y{1;^>xH}kDc1N%B^`$g4291dA)y*v_8^I*5RT53&47T#eD#^zgb*KNzz&ze8n!YX%V1l9 zjhDgNfE@%@93MUK>jpLjY&2nRC|jTL2H^ASM_$fO|F!mzN$UJM^Fb?or{R0*zt-IQ zNRe%g7Uew)HW9r;tTXNqlW$}Zx~iqM;IkXbt1bp$Hj*_MpIOvp57q+7jvGfT`0#Ejs;0e8(Jrnot>6uSmkIGu zdDKS!B&$E^BcvDWFBu*Hb_CdaL{lciH`Dl73UuK~|~ z&(TQ7V5l?#J_*i+ANtt76qjn^+*LUif%h+$_DvqxL>a86nfWgUlP{zR*b=ZQzO{~z z=3gBHDatZNSzMMu6>Sf+oj+QSw!@DDCV?_q>DI&0&O+O$`o{Ck$SC$o6k9k>s!rtE z3fp@-1O3GR5WnWfy!YXtEBrg48t(E+#SOkrg+Z1;%&zXH22nb|&@pr#|feiwi3hRtb?(6J*%GuPY z8=c{jw5v|LN+tV0*vFEY_@J`=RLxr_$z$fHexK3$gK56@CT+kHTI}X6m2VlmGvLK- zz^bP(zRO^Zz)k@x?jx$5nt?3f2Uhd5%jbUrx-HPf z`7Z!#2BvT*{V31#z*@^-7lCDCFxe>$Penfi>*w3aj2u)nBQeBjKpD~}NdI`0E>mV_ z9TpU;60>!Bz-jvVS}+meI70#hK|F>@A1D3oQMv|6XK_s-i|=$^}Wxy(}#Z%&r(FKcYKWLW<}cZ=vSSc?1BO6w%8 z@fVe8(oy?K8z9YeqK)0+I#-JnKd0l3RM`%Ldm7w-=G*BrTZd^=?P!SGQHSTz4|H^! z=uSa5{7Y|pTOJ|ZheNvUdQ{KnN4&erR`oRO+km)PecRY6(Xr&CFz4+SkJ|$78F2r* z1edJ^>7I7+b{|>Nd%-owp?i21bJeQmEBBDv=2jCXMVn&nb# zjyIcxRgvz$%A~$orjYRAp=G3_s0E6XT3`)oSq~`GWT>srmVw;a#u4&td|;tO7fk?b z02cQjk9a?rIrxDYg}yq1TT^=#4eZu3-Cn&boEX6g#T-}CMIh-xXU z3#XsZFnFDPD)w3f9Vmkwj)5)w)l z8d|Y;f29x*PQJb@oG$B9tVxaqm2~`0-QRI3>7cC2^B{R%c*q8M%EmlXmH|WN{^pq_ z&kN*vie(N?rBcT z8L!k_9t+T&e`F!%Gb3L5_WJCN33*igHsyI#A=n$rtLaS++j5usP<`%NcbB^NG9bIy zW0J2n=!Ulx!uOiIT(TM(h||d>OUa>QMJ2i+=#DPA`quDSqog2D%yOjy$&D z-ZwEj&CaD+TWbLSMZBq*OVZFRLNl6<#?BZ|+N6c4@?bwVfK&B5%=cFof~)n-PdmSj zz{Y_U<7$1sy7yDx?P_G|E}ASm^mMIiYPtv>o&5H}r~fw!!3z@nVcp>y#eN?#XYUFl zb%JP8st%cy(US20srS<=6y#CZpcHts4qmM&A`7V(k{FKG%Q*(Ds8~%Rq zG#1@?tkgi!|BxoFq#l!r;UKy!I=Z+(ZazlAPmdewh#CT;MUG0 z>Hi^M^JTDup1z1Do|C|igLft0;@RhU9s_wdr!M0~O zuVhl+aD9doy9MwCa9W>Ki1`=IK4H$sr~1B7mTiw%yrziAE!b;Tl|Z*M73-t=G&Pd z;ayhY4k?}&$@qEr)jXx(Y+jS&H%Y`zerleB{X|-Pz0(A&71-shcWnNLt{b|W!*(jJ zQ==1YaxP^_KLGAwaQ{NMrqiN6@Ytx6?OIx>RdKoQtn<1a_+E=gJOPi*Pc6jPD_PbO zcIGh++jA-p>2FXTR&RNXqqT-)p=KNFM{vsGp`9%JUMLF|o1}5n3jSoK5Zvl{Mm9A3|BL+S$CG(&w>!h;;g$KFLhx1<)Z~Y``;hLd7^`_p z*lj!HFPHovGdrye1?Wbg`;ebY;$kMcie{~!9e4c+T`Rm8h8Im>xj zy5r6cMhOJ-T`Pw;5}HT4eG2{uo>i*vj{_SigPj649D{X3y9jIu*l}Mre+JXui7*?_ z>5#MJj2#hb3<|@Vt_0-#UMTVIOe^!{o1r?(Y??~<1*Upw75@5+Ep zpfcpaSqA6PUjE|#Y?zL5ej{7`T%=A#2$yj?b#YsXecw@sgP{b{Zu%&f#sBxbg1cMQ z=^LyhhWIP^hx~^~Z^;&dF_jUSjmK>iV=Pl#?$_KE%ii9NikHW&jppGs1h32S-DSzP z0No^X-z@EiNG`OYz`5*PYOd1sM|n%O+O{)4>?p+c7V%}q-(oTz)z9!P8FpPq9rI;L z_qwyn>@elno-Qjnq_7)urwc!Ei zGrJ4HAB6p2Z5W-Awl$by4ogbiS%(|9ncfN`7|=zUH%`NEsIw3}(({|pX4;`@ySoBb zrLke&uUxg0_0Jx^Rx%xG=WUQaoq@{AiLPPb)F=70kxwf$r=Tg@!=YuvJ*J$lr!N^o zw3%%3A!z5j3c+E%V{L6lb@3p+=Ceugw(c#Izhx)9PlfHtm{z?{f_oO+r+C?k`|xjM zLee`5Q6+ZS+;IV#g{!d5!#-y{A%D7E%jr9*y-xl)*J0kzmT6~vUw!#>1JE7ZcX=`< zyK@S3Jp^YAO$(^`WK04o4{rjYi#^Ico`90k7R#zO3F zE(Q)xh8vh!rDLW@-$wdvqBGrOcSInkQC!Zhl28V8kXuPq^+R$F`a$R)9@<;nU9sN1 z0sXH|RI9smy=)teP@z`ceRJ)*X}=c~V)v~N;`RymIkF?kE?aEIJ+P+mZwD#%Q zKdBg}TFvI1gl-zTb>~U;5j6wjlnA?|gV#Swrev~I8J6I69$tfC8Q49yG7#C|hqqeX ze+tWNuPvR}6E~IiV+L3Yuy{YJe>;Kq05^S-D%3aJduQ2>$kWc9QJLRy3E4+ z1iYiQocvi#`4Sw)zsB+zaJKZv{baE4_oV17w4cfB<)kL=)nZZ5Wf$F}<@x5=MG?iV zQPW-6i}1TOoLeHlQ*>Hmw~qCA*0#SIW|O5%`{B`aYr&lfu{rkgcu0n4;L*50t_O-vS<2Rqa20P)Z6V2tpNaY}X-E-jL5kB? zXrVxWS}WkqOp-}6G|3DzlQadqjsmqRkEmFyqK+sPfvXjdPqLjc(hnypWOe*Ug z$fG*)th+zx?&;IlRivyqZRD1f))S~sJqErs_})}x3~8Os#>8OKD=;irFtk$fJ&-e2 zqW@frwaeon7R=HWfZ# zJz6?#(vqPAYBMI=g*+a8+p~Pvwu!NVxPOGrX5t&WbP}9oHnZM4`C^QJ)6cqhl@^Yl zXrwLli>7tBzs=>5Qh&@ESq)^Zgq+~pF&}sPUbM6FuE(S!ptuMk2J+VppznPL@-5N^ z4zY1?(y`>Pp;lgO=JdNDYw1nT4o;p7!NyLfGT+!U`pLZ$NlfU!qAQg@J_8TYi zw@hihaSd=!7s1h(Ck5Pdz+K?-@md&-d5HH8;H$qoR4$DTw*hw^aAwaCel9Y9Z!kCf z7xph0=MnFpz}q(pUYcW6H()>cFKCc2_Bqh5$8T=a5ub(Uh)5yKIz4?X=592e><908 z-+OlOONG3JXXJSeM!4N+J9Q_fZq!|d`C9@1@a-a9Y`0)&6N}D-%5ei^)qOv&OHp6K zu%2>Y&PTjE!294Rd7lOEf*<7VS0vxykokq^Tz5Iv<3_ufE*FQkFvJAQ{pj%afZaK2bg6?Y2#YM*=v0T?`cpd{! z;K$Dnej2~seql)4PIka?8QTu%vnb!nH(|X1GRoDJY_SwP_kgEVJt5jSXrBaaDZ3Hv zouKV6LoUV7F3`^U$>`ej$!l;vZxpV8w26DbzZCrC*m?4s@je)6%PB)0Xm2TlmezW&25lC!!?lTI!<#_2s|=Z| zK)VgJFMzgmUB~*89pm*hX|!Kn!eM>Loq8qKXP+2bxyvCp1i44<8EKmcH9ZaVA~VOi zAF>+8NY-o>iS^(17~Q>8{1Q8>QL&*RLUl}qUx@4uf| zbcAWft3im!k-W-%gGak_Z`}7Q`&4HA0|OV@>k82VuN^NqpGW1Jbv4?zm+c$;0h(9V z2{MMk3r9IAqlvzi;r)DJrYj+)`xW^6QiQgn^ypWg+i|llBe1+@1GY z@=!ka?n~I~d&T7$dr?^{--7Xpvv2U7hk5kF`i|VQk6kp8XTBx-&!XnPU|JCDS3_3s zYxWHuS<3e2Gay5azXLKdka2a@zQKJA1sXG460l z8VK4MlkjUfow(lE$+*D*P zNaO7nz#9keNXFZw(^-w!KL%d{zgZ_bJ=SK{AZZM-3i#)M*S^c1C!o{H&l4~&tp?8~ z@SN4LkMDmmwvzSDI@(I*sWJtr1KI~c+Xholc;f? zXQZN8ce?>Hvv1uu_(^FC3h&6qTDh#H(#Mx4eHKFO3S#7tKOTjg>YMfrR^d1M1N{d! zsp~Q4Ab&g!`~u+LPI$aHn?J)>@EyQq^a&6CP8#vd2%~=(0T0FEO7Qf9=Pi_v@u9I% z{#*gCEnMg|2e0{V0`GA*?;Gr)$}{m3u97sblrvw(yA!c}#ai;bAq&2%H|`r;Kzzuv zaQ+z?Hk;M-&B@c=q*n<&opsyK{dc>2B{Ke zyhr`OF7O`r?tO#5b^9o*A298ttbZb)W=tyDPSTRKsgE<7vA%NaKE8+A)D3gCf%b_0 z%(=rIsF0-hQqV5AeV_Xc#zG&UkEMBggL%iRa7_-pLGY%*+uplx@MWU6%-u}Pm^xr$ z=7Q<{6X~iOy9(e_HIVTrWGsLGKL5M0Odn|aRA@5k)5W_$yaWqbl`Yu+-n?({gd>p1 z`xk3=a=$CZ)5Al&Ipp{jUSY$DXpf68m?lg7_zEW^WAY0dQ2nL93D;d7n9x%>;lv{k zpV~VCW0J!*PQC>v=qrJvzT}tx{F(b5l_1hPpyzQP-#2(B#csas!oE&^Ul{MXtbwoe zqPIiXTa!@S402!5;eeQi3L;OaS?^9MOE;O-R_#Pe(XnG4uF|j6s_<`)pq`fSx zTa(U%2S^o|0N0k}x6ZI5aW#1F0Pmi=_6=^Gj)d_6V%fXCNvCc-%Yt-&hV{toQFz`M z#C;i5?q?yt`t$n+S9)!SI!rAMZ=T~2oNVtQ&KFI?n?tT0X=zmw^v=65KrY2%Lo4{UHq9=XHt9<;rbqoRd=p^hG_rh=9iR)QC5wteY@sDC!eHKa zFP?X{_>J|COuYM)-oJZ=vj=bKUSHmKR9kSwPF3~7wA`{z7(FF z&-+?@6F2MXsGXMW(4J6V@MFlDk=r-89ls0ekLjbNJucQKVqocMugp99Z4faliuEhV zTjI_Mip8|*HtEXZ#m3!JFHGQqhxpEuyczHc0P?v3|Mw!V_TTOs+#r4OFfmUHSvVWF z04=g*2V5h8o#G;nhqow%hQ2sp`aQB;@eN8uxt^wu$xBm*H9|I=bz#)J5j) z^+zyR*omh7F*I!W{3iP~1bHt&-uwO91JgGxp>rNoCvJy!L+b?E>lWyCKV&uh0plyb zxucOKen?N4w3ph0p;3Z6Ty8FE1Ulf}i+qk-hyJu5V+lVWn0&N9o%s0lHJCrwn>|My zWG|xs1$2D2h}BU+S59AZ`S8s6Mi=VDJ<#b>f5X^l1{BPF(fc9 zoHptB;*BIm%SAa5wZAKF#+8O+Xz(GAoy1WT6DwXfE}b^1t~jQC+N5R0^T$Os$Yp4- zESrW)n2J8fFu3S*`dn>MgfGLk>6!<1a^XJ*b zR-uXC^2rY;mfKcNk6%U?;)aShCb*AidfR2wJ!j{W?j^RZKS&R_cA+~jMfKQsBN>HU-61c-H` z$&)?~6+FXQ%vAX=2yj1S296yV{2e`ljfd=Wp*%NYT-Gr0eM6^8SZATRMn7cS4;f~y z0B7DV!%D$LW~G4dcB;G<`}@G3M|t4>gb?t!Y>v7!b0#u;lhC z!~?ww$NDjhl`%cRNdH2;e8BvsIn52=bB-Gr`~&fU2zT2xAv<)^VSo$FcigDCr$1|c z1X|X|0q%Q$$m>Jn+#f^k4#-tINgwVR|KNovkD-w%<{_R(7trV3Jx^f69>_l{f&TI3 z1A|*>oQw68LO@~x9@lk)apeDv$z=gUiedKCJ!%^VoKQQ~~a9NNSMZO?mhGHVCa z&P`6jUZ)K3w;A(sm7jwfek?lBpvNr^h7n;S&@E0oWHmt6Nv96D=dX*zeI3ST9h!xzcGl4;nxFTnoKp^nsDGN z5k+f0#svSFDlYl~vZb-v@)YLda|Z^mA|JfTJ!grw<`#U1-V+ljr)xyaEAZhB<81T7 zj5>RfWo+Xs8Y6E*K1bFL48BTyT^QTQhu&YRqnWE^P1;aGEV8R$%;n~LC52CDXl&UR z*_rvotS-a{@_d*cnEGw*a0d5{C|e!fz@J|xGqon4tjASY`H#m00wIVImxsI|KIwx8@ZPMFml@Kn5YG^&(sKsn4 zg#6E2kM-*n1A~3;yb#|)l5(2&`}2Mz8$VSv|HbrnUy(v$?~U@vAdi|$4_qG9W=-zF ze#WYS!8el~FD}xC6vj$uQoOjiu+)FUWE7=XMB+LDQ^$W0n1y{i%c zQhjPEtWTzoE2BIkfb2C+0nE>erqGe|k@QBeqyECtWd8fDt|5OnTEK6ge22Iq;+a$Y~*7bCoIe;(c` z_4MT{=u$Uo^W8d%1x#u5;V~X=tVFxFOG61H$L6kHy5 z{ywjlg+xIthE67+WEGaPW3eWb+~?SDM-iXC9{Us53=GCxo5D)6cW3%$V^ey~ve1AS zm5>1ohdihPH?rYfn=Z%qgUJ)_1LRkS|JU4rcv&|vcqe|djW4J3fb{+%y`+JW%5omk zh^{nly#+iO@Vvo|*L;kb_B211p|!71Ba()88_TA>typtf1Nnb~{B-*Of2Y{=Ry|1A{at(ZA#H<1sw%x1Q7Z_-QcAsAXMttbe`9{rJuvuQ{3iV{ zPq_pWltnZ@z_pKb-HVwQtOQ+f{lMTZDhK*YL=Z`(=ry2wi1yk@8qHfo)nPD2HJeM z-wXp6K-I}_!}|_z8yKXvf!kR`vwcS+JmGn_4r|RcHw%LIA@II}c#UnYFmuI~NL~$G z7P!l#{T{NWjgXMj<(kX2H2-AJ(`BmR--z=`r`;MAzNbeE& z@J^=thQOzv;PT%u_%p;`r+=ZizYerNAF%vp`&Y}YuzmxVXUXSS-<1Ntv4_j0bbe6j zW{R9=zQug4QvQ1de#yrk8o!O*tjEpgvArMnp}#N8@_*xlxAk1`Z<^c(0)Kpt;oSlg z|KfCNFT+;|RC*i!?6*vJwZNyJ=JYCoHvN;oVf-S2(SLGU>ApR{=^BChJiU*ff8Y-c z|Mh!@lSS`FN&og)etx0A-9O>9${DY4w&)rCG3)!`9~Ia8w?CBf2|W52Ub>Gz#OXhL zmEq+AAAg?Hsizp;D||nFlGES%BEwS!-uEDkjtIQ_va!+l?8IOER@ zfA~j+At~RipL4oF=)UtXr!N$`MoDWq&i)?b?|h8mvhOnd{r_Wl+{?*oW4e2@^_qmNZPITCpi7Og={a?>)svw zy#C7!_4!NiC3{f6c*w_rj5l?hLS-)ed-wq!_k{k*aJQtdk@Q0^=kZ3DqzifJ_Zwy0 z^NF*WE-iF73EU*`eF8r!@K5_VzyE%gVM^eugFFt>@zdWna$57zQw_K-JSPAC;&1+5C$4lW*fSZNry0vtIxE0K+ef z-5wpG{j@x`eAUmkuhJbJ<$RA4sLvJJ_*<@Hdc~L0U+MhdNcpuqe&x0EvE?^OIsN!I zS#~IuU%B}0BKKRLXZvaXcKpqf_|$T!d~JVzxy0LEyi@Aq{Q|#g)z5!g<+0O8S@}I` z$ydDn+}2OqGru@fdaX}>X??Cx>EC`0+wBMc<&8hZE4>ZXetvq{_^pzU`o~Y6u3Ol6 zTc1*C+usK|t>sm{HLdF;`dp#nAF1VeyB)7Ke$HZV|7O#xT!l8jO|N+Sxy|pFZk2To zjZdXh_>* z1^!mx-vquO@Q4o9=Xim$1kMwxdr^I9B*?iagEd&DQ!@DZKKP($8=GwOoEb`In#1^-Aqwr%%1z8=p$2@NB_r zeCvAc%Nm()q2QPM$oaL5pZ(S?OX1U>=dWdEXPR4bR4o@i{x#O)@Bke=3j}^D>8Xq;L36idq^vRMwM$%Q1ewn1t zko2*Vex0O`lk^)T{c=fPAnD^JeW|2Rkn|c!&yaLj(yx&8HIl{~7RG-mNl%dU4U#@O zFxlXDNV;11KP%}ul73Xur%C!|Nzaz_Et0O1^!p`EuX@wpMnK; zO1e(cSxL{6^minEhNOQY=|F(jH=dI81W7+F>2{%Kt^EJh^>`g09r0tXPj-9oi?8$Z zy#jA9bN*$^FU3D)7w4lIfBtw*f9$*7=VOKUE9Ydf!?6N2KO0v5mHW5R%IQ9p=ij|& z6))fSe!=qpCHKs5)j;4q{5TM|o_7uMRnpg6&y`--h5*}-Hi7PE`Hcrk;qCo8-M{qPkNtwI5ACql ziBzv6&XDoLHn!JvN&D@0)?52(fBYcF$EC7Ar*ai4UdQ$NT%qpw+T#|*UulhRl-_=> z^fr7$HJ9&OjjZQ)1ln}YVdm?FfzZQ_L2aAN>7YRF9kiFo!`o;#dbsp! zD?s#j0)xPo%UBbAp8F!}qk8Z72ur5d+2~L6e>ErF^8N21mk->A^*@r1n~!}30;s;` z3QsL}zohFv$@x7m>4bOqEV=AIc;@eH7hBSN@prwz)dE`ub_?7naI?Uz0=Em?DR8&I zy#faWPI)_*{CI)01jkbB*ebAF;6{O)1#T6% zUEofEy9MqQI3RG!O_IOB*#hSatQWXiV5`7xfg1&G7PwX5c7Zzu?iRRL;DEp>H%tBk zXA7J!uwLM5fvp0&1#T3$S>RTI+Xe0vxLe>}fdc~Z+O7%x;|0zZIA37Bz|{g<1$GPE zC~&jDtpc|T+$nIkz`X(o1Wqv*I0gd83!E)*zQB5cs|B_S>=w9D;AVka1#TC(Q{Zla zdj$>%oU%#EFL1WN`2y<&t`^uTuv_3pftv+x6}VmCPJz1x?iDy7aLT(Re}S_F&KFoO zaJ9fzf!zW(3fwGktHA97cM9AsaIe4tfm7Zs`3syaaK6BLfvW|!3hWlRQQ&5QTLo?x zxKrS6fqMlG2%PdB$zR}Xf%65{3tTO*RbaQkjRH3d+$wOpz?}kj3*0MkK;V>HB!7Xk z1E^w#7-2(Rt91u9= zcFAAhY=QFy)(c!MuvK8Uz>NYo3*0JjyTF|ScMIGra6sUcUddnJY=QFy)(c!MuvK8U zz>NYo3*0JjyTF|ScMIGra6sUc_e%Z(XA7J!uwLM5fvp0&1#T3$S>RTI+Xe0vxLe>} zfdc}kyif8MI9uR+f%O7c3v3nGEpVg2%>uUy+%9mZz}*7(3LFqP<^7Vsz}W)l3#=Eo zT41ZdZh;#GZWg#z;C6vK1@0EOSKxraDR)Tz0%r@HFR)(VYJsf+y9I6(xLM#9?Hiob`j`WnRJgM_l5}FN2GiUgP9}{K zEGeI+EW=K+tBD_Z=%byf8i%rJ4tI9OQchFEC5*IS>6&K~xYuDKmtWI1RJ_{dV8e#H zWyU8k^C_JH9&AlUmY>=&_*QyTHvgBEdAyTqMN36c;aX#fj&Ld(>vZtT>FSI}o7c5RJJ<3KPw~9D zIq(rthJc1dw3~A8h@{$LEl$F;F31yg)`=ujQ7D8qq}6GUbXK=Vld0-xYR;Sjg_<^` zB1t@qB*IPYk;YhSBWiq-+bcpa` z*49YE;G-QKT`9`IX^zD=kUkcbWP`l(@|;-HHIe2NQ75C0s) z${b0+?$J~<+zyHsXMHr)=5%(ox3heaYD7jl;;9Y%SOiy8EQz6!Omra+SSzn%IFShF zm2_GYv5s>q9A~bf5=%K7qLFs81oBTs)byZ>oipSUD+O|kfwXp!J zfl?H!lco;PE*y@Jx%9a-BUO3 z>YhkzRX&%hrgQ4%(G%8(q>u))QXAsv(>Ti-=ZrZObLSSQQkaY8Jgj=P6%|*+!_>Vs zMN;b{)QzIkQ{AaI3^zAN;wf}e1xiyy*Q!cYi_dZD<}ItQ;*hJl+LXu?iOWPKNXFZv zDO6%ql3B?}dn;70an?m5@knP&a-r#>xhPVR!w%Il?Q;zy1qONBl(EKXg8A2xJHsi^ zcH()gtFtAXh(fiBik0RGk)TgTDX7nlb~d+nwIE7FP$H7-qCvn~&a11lJ%XNHm7?C9 zs|vd93K~ijRQDl40>4ph_$H!YcAdbE=AqyVUUI%T*B7B(NDR z(OMWHl7QOO8md?n(Qy;_={Pj1Q7l*B^=;ASHYXKxSh;*A6!P5cJ;GohW0nyo*Mt8<|APf=DFm&=P44!>nXJEh<{oa3|5G+TbjU6O|pKGAC>V zys zlg|1G+AqLxCz=5xqZ3VCp+QYEXUv?eRXaDD@)%8xAdJ_z+!1G}a!EHNBy$abSbIy2 z(-~P`gNC}RGqrH;Jh!g80dAUbqe2*p#+sYE5(zkvN17N#YQ1fz?#L9a1+h<3jq{CQ zqvFNko@hr`htyiCGljz7Lt$qh&7J2|lQY#%#-4MGi;_y|SQ;V26+HTl#i?UP^X87U zjUH}gsd0GZj0{?%3DjUl7b*nLRcL`+`*noZMN(+?lhv(>jv55sPjRjPq0(OMs zabk(NH3@A`1=%u5frSV~4~kI>H7_yAsIWn%z5rbTCIJx9(FNmBmTXre0fURRsW#Up zg^i3`4vjFQxM@XOBJJqF7dBN%lTswWOlg|i(APIpS1$#TApkdWngJES$TmS{ewiR! zMb0U-ehn-|?TZ$~+r?42xHt~FamZQ(3%eR%GG)S@+5~BghXxjx%T)A4q$Ac%T@d@O zBaFccSPSG)bD;idOT@a?qTz#M{K{5nTJsyBnux~LxW;P>FF`oCVR!}MF{2DeO#{h( zZH{%Opi90>(OQ85ONG%V6hN_#XbL^4gXWZFn@saU7hSPr#R@Vjx>xFy3nHPtJpI}u zVKbN-OZ8NyGmLtHk*R0uz=1HO>gvg0IK4Fxu8BoE)%%5`cwTO&Whtpz^czZ83CjGOs`oG^1^$fT4kIGLoQpKo!u@m#L}oa5Nz@c#J~S zZj(h_8ubF6JV9PCrmU^1H3hn=sVdxrp+{3y{8|GN$tsy?08tyiwiXXelqJjnO)Y@2 zSuzrr3eXYmF-UY`!wk`qm|~#qFvEAMd15#oq(d0>#Pl4sI*Mu#p#nOT3%4$X7#ecM z5+;t_A&k+$ZFgZ|8g5V}8m2R29<*n602DMFMozVP+;T%#yO=F}C?S_p4C^kl5=nqKaVLRW>7zU!S4J>m74VTT(6rOLPVq$WP z%+cs!1VwhlxLNxSjx!4R^|6E*5=$3_5qf8e8<7MidMVRAsgGfLH?A8LnYS>4(nv`} z%p@_DEEt(`s|o?=P*ND8QMf}-(~F`@PM}xNF4-j_S8H1@u~DQ*wa$uG?om}Zg?=lI z?A0?A{jZ&y>caF1gA3FC^3am?L`_28W)ZK#%^a?U$=sw9P4OJWG!wv(ahz}~^^L~- z(smaxB+U$>EJZMXDwrf!NSna@KJtnsqHCixf?~HZx}c@k7Rd|8o%_gBwpGGfMg27yj%h`F|z+xl!^D2!H=5`PCkin`i1z57hT!OPy=<|!S889ql$=ud zW!nDU%jNS%Demgm_Vt@yeD1{AM)Z{qpZAadmhrA1k7m5SFV`pX6(4vx<1dx>2^s|d z4pBHemF?Lm`3Eij?8}({mJml!<(D}BNm^jRe^&VGEPm$|%)e0jN9P>2x1J|<4(I$A zDPH*1KA9`ey{+Blw(!Pdm(?7JQ$D z4+wsf;IkG!bTaez3Vxe~51zvKErQQj`0T3~pAmeojej-c?-6`J{G-(8kztFLq|FreU^#?KP_1YTf#TFRfE&iEe+f9Ts@{_OFLe_HUtuX^!0 zsUKgF@}=$a9Xs3PR3rIU{>GbsR{ZlV<^MY4UH?k^@?ph4YT-{}`TE{c`dF^NT7Ks! z*8eWy4?g1M4@mqh7yaTBm|yMhNc$z`@&(I!XcrX=WVN*8(};EC=15bxd0lm?3EQS~ z&Eim!&Ol&qw6-yiZ)`OC4NYcB%F}A5@ySWwQ};m!{NAtE=Qe-lHEbU(uPwJFHPbu_ zT8PR`Y$xmSfln^w$k_GYtXJ-XtVi&j`=?LtY_@}60V)L%ztx*h|1I9MAOA?72dljL z`1$8eS;pJ#Ra->reW$^89n|IQ7q-L)<@3O?m#Q8K?en(ua2a z$<8g$Kd&06{^>cy{S!K)JpUX$PW`j(5cf}DUU~l6m*jRNXbliw?D2K(5cf~!%<}y6 z!Z`I$-P;fC{wH`=dH(tRIQ384A?_c0zC6KdzckrCPWzuNW9*;o?cR9R@+&;p>j&xA zdG+!0&r{>H{(QP?Y}>c-<{#&r^8E9-kAFfRJ}~P}8n3=k*5AH3PW+R;=fKz@dv1CD z`KFJ5UhMH(_7HF1Lg$s|pY7w+KmCWee*)*1=bulFQ~zY%F}D3rZn4)McKdp;#|N1= zc=hocA8a0{{>dHU{s}HB&p$VgQ~yl8@zAb6c767%Kgn_GpSm&j&v+YOrf_hGz5XEkCw{xP{Fa#l0rAh@UL^liKH$~wK=~)MqCEdpA7uY* z`+&Fne*QT^?*Tr@^`~!}SHA=0AG_T8UId>$3j~4|!A!Bo_DA`gqtY$6=*|*4y+`?2 z!8cfR%Y;t9hpKdIEV?%eU57x;H)PQ@3*LI{pS0RDzxLzAaoYc;q`YHwzASUGx4znj z)As#foiDTX@$*mRIQ7q(Lwx)iywn>ne*QW9Ap0lxX>a>!$FcUm?-}FzlfK+*4?ADK z`eW0LRXW$;)yL02FC=D~EQ40YFZTNIUE{<*2de+IzKcNq?9@%&ApFY_)dhKEBtLzjTH;pg<*!uYSXZJz&Ps965#HZAsf9$V+-t6^9x$WD*sy}wU zI%++S19W~BvSE7^~J@%!y@I(`aCImc>#SZ@3ttodQ~DsTPr^UoK@seiVO@%%9K z7Oy?*fY$!`VEM<^$In0ajZ^=09pd#T(CCd9KmUAiocbp>#`P!Is z_>nranF|RCJIVtEf+7(KgW(!{{##y#&PMS8Kxy&?*5#;zfk$968hQ$^--pe5I=1DDCf8B zy@Ur2rWw?M!1asLp!eU8pPAE)Q&rda3g?DKJz zg16N1PrlvTZYiN({kT~6N9}y$`?=qx`HmP${Wwj^otFKB+veX?bk^C6TC^owLgC=l@g2Y5jag$G>Cr{fu(`f3WIj`rY36^z+YgKJ_#H zBG=EUH_znI`y$tu&KleAO^RGVn{*}GHqu<}H`v~_RQ>_fAT*vKuNY>{RpPS`v2P`%> z=@);$-_Q7SO5G>rYQR4#<$SRF{m|*tycA0(2kF6 z2uygC{kyH1zgJsn+eH{|*(`A&>q>n-_gH5op8G$^@s!?Ld|dK|IRvGkLCh z{z=l6g0B-eV9_c4NMUkAvbME77EU!rJ6mHF6^oo?D$&)PN=B}A+G6c3(ayCFVGYTwA_7D*0wLyWgib?yB%F*uo354(6&qq*2?wgCA{|vp=iJt4d*s}ZQJ}Uh zk%?izEwD%r_V>?nrE(-MI$9nnsXRTyB&ToZ~Mtdw&+hKS>+tyo1C54W~P5bg-}^-P6F z2qlCwvPeM(s6(b`O~g82z0PoA162{oN>VH|Hm;4N@*!rqU&8Cad46=(GX>XBgDX;9 z2~^zmZPDg7RNTY}BB#O|IdB}D)DlTHC!+Yt^~uyNl4-&Q~XJU!zokgs*d-kp*4;l$cxzD|pswNe&9lV^3$!aBDaE@96)VR0kXBv!?^ zy114#6x{JxG8skX%WD$|gp+7EQ<1fiL}P-YPFoq#=yGFQ)5?LwF(e3Ic^r1);ixgU z$Vk?}3o$eXhR{KHMtZ`{DO8HcwOwc=5sMV?u|#w&BC(xyt)TFvueYK|P!YAYI|3hc z#!N+sB`Cje6hf)ez#i+DB@!qz8gn$z(N56AQzRqotPZz#MO^eH;Y*TWKL7mlo$7gY zwRLl9hm>|s1u!+vyg5weOH@EJxAx4li%Xh2uf{oRPJ#3Ald4@?q^Eio*DS7id0(O# zNudF7oi>;2xA@c4*{}ota0@z}4p@u@NU2P4)M^%0bv^THTk#j4S64Ns;>^0UURQh0 zg0o)xy0cB;EaJJKj?bM}_qww{JNN9!+}ECYmREI?GP-le;|&R~THfA|DvM8<)E{%} zYUj?7X&1+gPe|{u>`n;+l zYP*ln4qnr>7Dg@}*jzG-$>vx`ygkxG4JR|0LUe9m*A!M6S2q1S{P$zn793zF=mbP$vE1sc&XmQY(b;4k8YKvgt zg8ve0yE-t!pn4S#C(*&6y2TRfoc8Fth||;+ZBNZbk7GntL#C)Q$5(lyKZZ-4&3XO3 zUiQ@(EoEwb1bWq(s@LO}N7QX!iaTIcq6_05lo+Nl5lV$aS*1bo6YKgw=O@9p*0|5; zN6pK5-Fb%RX&}(|=i=j8i!8A14@{TN6rTrV1h0Hb@6JyYp>Q(K+_E1kF0Wzl@On9S zdHFJ*@TN7Ja$)}|Iuk6HV{~-A|KW1=PT>410}T5nGwh$ju;B!TxxX`g{8@&fe@Obb z3`eTPw!eA#RPIRSl%kIx!TMKDVpxh^@n6`;^Rk?jQ=jj;g`aDBhtQ?PKKi`hqSNQ) z!mo+kz&^HEBHPse_ApQ3IF4Q@3rJRA7=iA`hEMO*=|~2 z(;s2{BEi=^@6A7WC*yxD@*Do@#ivETWzB5II;me;zFw(^#|wYA``HgLzLX#SEcxf|VEXJQ8BP<%6CXI${F-qqm*WMYUoPp% z@8svbl75-c?~(M;f}eUD)14scHIhC@(x(VKOW+p4FO>8SNiUOh;C7aGk)$uz=T?F1 zYca!&UKfeAqKld1%st?Jdx!}0V0$m?Yh(ZMLGCBw=dtHBKC+);KRhCQ z!Pk26X~Em_?DY4AKfOpJ!=~W$6GGRpkm>r)E>52ly1FwNpB24}OD+BM8Ih;^KN|lN zEY`nTbdKO{x&e!>+J|n!d)XhFZ=Da_G@;Xc+I;Aa6}styUn9^4GcCF|+XN#_t6ui_ zqvDrbzPJ#mH!~kRtgIY*B@W6WE+BHpAND$6P$Qd(d(UEx8YGSiL=^q$+|BjD*~&02 z>7vBr=wXu9!iu`<9(KIB-3Jy)M&8iGjVjxb7iv>@x2!;lz zGe+%EbA)ECG;qZOff*4O2Rd9)XhTrz8kt$QN=7@Puo15m&`LrpO|OXP!f9w@r z2`idK({M{SsntR=H_ETZNk({G&6I|n$Frko=aBhC0nLcRgRNB%9fc1xCU_BvF=3Rp zczD!QTtf?_W+GQ$YxIv4xL#RmYAd7)GcOuZOyGu7(4;v72_=rB=5{RO3>Qq}C6ZRq zDnnthDflF=Dd@tea0ygPga*|lENdfBJ&!74P1j)cG(Vws;3A?jZUUoSi7S?vI>}b! zmDZLhR$wt0pU7gWUlMFm+#&+H;%JD4AM4(<7lQo>xTZCM_MtnRh+-q7$cWS1d2N?{Gv~*r zc@br%o)Uf?=jeW+jvLAp<4bm+^?$D6ji zYu(9@_g!%h9x+WVLW)k5D{bfV3+tIXX$0T0g!+y-U1trPY2ubkn5&suO#pR~DC7Zd{%(`R1e?l|J%LlzjVz zE^|@we9JZH6%ia-z=X|nIK>R3x;o?0=5_5DRt=d{6$qD|ui_%g5YT`DJmv0AglMmy z_Q^2R#_k#RM1jO=Vtb^sx*ex5s-vkng&SVjpQ9rI*emnf;tFGSWhgL7jbPszBSad% znsFyd9IkY<|L3l5%K4n38)&-XNh4X3NV8dc;nOb{DH9aKV0B^j9Cu4`v2OQubfpM~ zS?{%7v?NNi{8p?=xJwT-yIG5AP$y4-Fipl-9Y>^4&}K6=z&ysmkpw5w5l?L}8e(b* zT`@T4{l*SCyhAfnvJqt$ZFO{v-r}b`;vj(q-fnmE)ePI+B3y28GRKNFH+Ln>nl8E1 z5TYbz<3CxruaA7mj)s6rM$0d9@~W5`%~(E2>DHs2J;joqoj|5}6_R-!3Szm~PfRRm zcc1r>MLvQ(k)jhD$y6-9kWQ#|gnK9m3QBIW=GmnYkI(J18 zt2M`KY35M*JTZ5rFEZj}PR>hW5eFHN*4mhO#TBYW-{bn0&4#M;1hTX_E2 zFv|J&t91XbiTgpFKW2CE_(jiG_rBkYPYYhpSEnP4*WNTJ_#pAU!OCd05_^i{h4`@DRC5U1lGW7v0xg%`$8i~ltL zg+C|qoh^)4{-E%mdp^sryVuK~d5GnIE;`Fd%zVbnpZ*Ht zuaxmzNXoDIhrY`AH_QHbChX-82tFbD)vaN?YhTI#Ya+kzR>r?W$`=&8Bz=M3{P-rd zi^Z7}KUY;VQ?Ux9x9`H+u)oW|kpvcKgn z*FTkNcb^Q^KXpQvKE(XfA@#D_D!f z&hfjindsSnyh(zAf_~V%@r-7X?%w4AOAin@8PsG}$YdP$nyA6WdHF zq4kPZr-vqDm_wQa@i@!MY&|&o16AnU56J2v&m8ci$-6n_T*35aUk?1{94cn>_+?JN zCY|ddi5SmjO$Id6(@aP^C`Co|PH#J*j5}SGlGRk0vqh#z^edc5gg2m|n5SXB40UDx zD9Z|BMhxm{w2v{a*&DAghxYvqy>A1mHQna+>_9Gq8oXxbZvJQR|nfzR5WIrp{mYbzF0(d)2|5XP$y zU?8m%(1ErgaTu7e?$kpZjJ?gggSB|I=9o2wOjTXeyt+EPYD3Hm>*iF@dGOba@Gmf7 z;-txkO*wq(5yDt8?Z~61A6JlAy zDOlW*ZE;YvbTw185UuDO$znRE$6@W(C29}wk^-HeH%lk(S#%bJ0HtQKKnJ5!lUEOV z56m^GAy`F`j7*>*tjsUkpvZ28HKmd23Im`ea`~xMsKU!)Rs1p-72BK~BrjoK8Fdz~ zqmgK8xx_3Hyp&?r7G-*E@W$dsIO_}^)`l|Rw}((=%8{R+xVw_rpX56#71r;tI7p)C z1u(396qH?5!l41!(Y#1#&UhF}A?l>ulB3BXdwaOe!W7w;gVb}xWU#@S%DHB@p zTpz=GYWyOEzGq-wZt}HxAdre_?U0v5YG^5TZK{oHNg34xac4!f>tAn!Y$^o{Hw9Q} z@}WMI%8t0>vm8(sO2ej$I;}T`;IRa~NQC1=X8puS(bgVFKFKAWfm!4DJPh0`?#V>{59-a=#*$Lmz9`rnRQpZ&oi&dq%6^cvXmMUO`kC*W*Bx6-^vG8c}}3 zvp`cc)yOfcYhbbpcZnG+ndqg%ah(`EB$M=Vrl+z|rJ?}{zqpASKrgc)QT^K2;k_x- zVb80Z$FEA!v)Y3E=2Xltxj&KQ(Pe3;kw(xY78`?K(8M#(?v zBbF0#Klp8)U!{M<&`g$KmKlPt68Hvzm3MKzdCL|5m1#M`AVOh={p%Rkbu$ch zF|1rK&l?$r9^?5^uu141=5(f+)4lIun7)l+(w4lmMW=d>7V7&ss*kSU?T~z$ zRF4STPx0x;IS!we`q6MF<8^&6^nJ$vL-5%xjDMdf8vHKf_5B|^|7Rrs4$EGef8{4R zzSsNU7YJV8A8L4p^PeF3hXk+h?^Hg@epC7JAF_V>{!N3#w|X}ycwIjZe#6Tj5PZ3Q zIkIW^`kIz<+VZqK_W82-U-^89o}bZj)k!&QId;14T((zM+8Z0+Z^==5-}RlzlZ~o5 zX~%4N*{`c*Z49TgKVg3;Huqz1TA!B-`yS`=h2A`^T$WMM$sDclHPr4X_QGk?F+cFr zy*s>}OB<3{>7czYnsFy_d>9KpzWu+*f6>lA&~aUU?<&8;UvPxipgXV$iJ`VxC?cvn z9%aPq^;m_tj?O~UP9_fBGqnu2tCD6QRE=HX8s3zjV=e_qRv6K0xKgs|WIT5LqhWq& zp~YF~T>n-hnNIAkgJ>EBskHo?4J}u#dkbj0Ik(eJTW2m-D3zN#tT(5q&E!awrU@>u z_s~8!UarQi0(uIX*?tUgmA)aT_glIa+i+J7gy5o#ve#_|1eBxq8{T&QcDd zWdL+^W{9-*aPzvd#nM4;Wg%NH*fd!57m@HO{m$#Ev@(%=UHgR#zrhqnv1pa=kJUK zWg1-A@#gJ-ewNp;JV7SKG!u3$By~!Vm(c;WObL8L34BWleCiB7hhVFo{R@w??B`>Zj*DKI!+F0^ zN0H7?%Nrk#R=?nDitlgQ<=S8URGuT{)AU%w%wb%f%oK)>z_HF}tmTc`ebmm?)j;sy!gsrGG6Dm znd2F+<;(qo@fBL{Cow*)1rqs}%K4sRz#_)G^I4JKB>dY>_U4~`iu2cY zr(u>CA9#}Sw+esgR4+dJbH=9yA3w#5PYYh#&EQ3hpCskWi2TLEU$>m`y@Jn4`Stu* zZ>3j$Nci>qSne_}J}7uKrys2RGsi(r{MWF6VQ-OJU(&p+2o zzq!B?)K{WivB*c9EVq4YD4~a*UyKLXPq{MVW5fy{UG#-#*@A6y8GPv(eN@aUGTRup8g%fQJnvEOcp<5en-Z&eKKy& z{I4~xw8w9fzoll`$@oeskDUMQe>tZQ^!)=^wRIQJaPkj}aX8`2=l$Bkae3=)35c-X z%#~(w?o`aY;c35MWtMbl4G?SNVcn6C^Kxcw+q~6= zg++bOY=~gV!T0{&;e^Y1QHU?RdRUI@dUHy}%;76tWAwgaHe4R&Y#V3fmFSwr{79gH zSU4Xd-#j%tbOqP4i-96NxJKG6ts8;@xA3k>VSbC8rWlSu;%zfJ3`hGh?rAt!pIK>z znpQERYrA4y=GOGQj^*;#d3PI9Z294quuBU&)yzxscrKPU6Tp?%t*q z;&Mvn(wu&l@TZW>AGLexvEl%Z-XmF1wk`Wi_>3Lb^R+~w^uZGzWFL4d9rVt=aig?1Ms=cBxUoAfI$zWrV_p!~xf^b$2Wz#LhJ zK{XWURIlq{+(q4myEt+95)`moLB!^d?3&jj3N$471vOZkb;`)_ae;sb(zMEEN|=f!9K!ScT&_`Xjvev&8|6#NeapSj-4uVwkE z;CnyDcpdL6z7+hm@HdEjrO!Oa`e}Nv&}ILd^U>!)i|)@tmwua} zwdiIEUC^>~$fA3N(4{Rp$D&g|jTYvtxKKIi`@H4V=cS;^t9*d@gExES^mcGM*UnJm z*#ky}5PkH6}=~HRhE%O5Vt6yO7uHtg+^@YlRi=SovG$(PM75y7BET{LY z3^(~Glz!eDFX?}I(>`pzkLx~BTz_ANQ6l{OGf(0(ZprO^`+?QV_K%yry}m8}sXM^> zxcR@xKmMlekB=UDFOiM5@A-3tK>JCXexzx=moWF8;p0N@SL!Q4r{(B-Y&x{;P!>2?3J?)$9oNbTxZ|DG3r+v^kY?+$Ml)hqkG;pzIt9+?jB&5-5R zzo2E$I`LPvDqzEj{QZzjK)xd~L7+`H&eA-qsHTIAIF%G@HV0m;F|f=$WMo@m?shVl zvf3}ozTOPxV{tmsis=-@VfG_;K+#*SeEJpBCi<9B!5|(s(fZ?Oo=<&~>w_O&??JQi z4+>vyl<#M#yswwYzm)#kj;K5v?kXYw@e=qaOW;f8@2CIkMQ-p3Z~gE4#_;~o@~L0+ z{?|%DXuF_vqlGHR9)ErLSe`f8`#aem4c~649=&DKDZRqF-6DVbG=0QS?$^vsl6K*T zOxGY#iGACbDa;oXsPv_v+B^Oe(d!`Jf8ghzXC$uLN)_NG{FqvR`foZRLhqO9TwZ-t zETi00Cl!0_K2u)1{@t~6rc2}b@yGJ&pHn8CNA|FZk&axv!qP{LZGWB~^YVH1)s&xq zzUbqh{y&uGpGwg`H)eL(KmTZX#|qXRWdAr7#pBBzfB%X7GEyt4|FhGI%O5Ly<;skk zvC8jY%Xv<|OXQcY-ZSop*Kw2|ezM#%=!bvQs;_jMk7#?3X1^-TNLt}GNh{1sT4A50 z73L(ZuwT*&1CPIYW4~JA+VI34vW5&-mwwVTjYTy z;dqj^<#=+8ufO9x5A%(dL^zHutR>DV-7(z3blNF=XBBQq!R}XBzUnQXkD>cp+9DgO z%$J?k<7z2vU(xqjX)n<1->2Ge_tRSbia6g1W;P|wbxn~(1-*VkchQ>Ln28Ar;1cTf z*e%Az%XED#O}Fu-D%KTmbRj2mF$?YN;=Y!Su1>Rijduw3v#jRcTC)kuvwwVjhIFJ$ zfAHQR_Vn--8r~Vkyxu0JH(h8G9rp#13Cvb8SNkK@$30N;qj}z zK9#+)y!w(Zlg^H(QfcSd1KW?6%Ku>F|F7R4Z!U+Hl{0fCakY5`%)F(l2MgxTl@}OM zQ*dc9Reyd@Ouk#bI{#I2yu^pNmN)z4MM!yZ)w`aiek#nL?=l}Q|NI3-#qKgEnewXN z&`a-&XCE;6SJOr2rpP8Kjb(-6aN9ZGb$%6rNSxmk^^odojc5tjnA}$I1!K6-2d@^( z_4Q;uF|53fXRcFsaFU|Ay(@{!dFD_vL>f8O_`;k#!-)iwH`-!WD_Y}RgICeb4Q9vy z$>`~LM>~2te;p6lx$|l(Shl=4Y3|X(we9rozmX3I;Un~^RHS95iao19CVdpX#(})o zn#L999^@W0^Tm7dGdd4*xClB>YaQmh!coYx^yCbhX7hz_G94W?k{4j{2|<1Pk>7=c z0r1){eQ2y2g77UtP8ELbK%*uP{o2Q?_7ra)`=jNxkNF%%_RDwuJ}|PGk)EHf?38iI ztN(AdtA74z^zqMuz7J!p{nHR)|AbCHwEXkI`)8TJx5pQ~W!9gDINQaU$#w~y!Z0W> z-d4OGmhw+Vhs%-JfA6Y9=KDEC8>4Z5yw-q^o%cJWrz3aUA z?D33u@AsEDohn(U1z$=N%|9soe)*@b89skU{5{hAFYV@bT=xkSYP+KPFZkW5=BMKI zy+E6;Q`#M+b3}kmr*ca{z284`t+)J@5~u2)fRx|PNAI@}buho$CoBHd`|;E5UVKpS zrSuyse7ekfKUVo2EIDy0m$RPjYv-$Y`}wx+;`B<_C;rs5AH@9**WolVZm}@qPyUFD z`%p)s?gM=OiN8-|sNKg(S3zG*!j(Qa6pTqTf2*boA1lV~vN$h}yKvk2Iwu;0Vor?< zS@VOm;u^Y|(Lqzzj;@N}L2dG?AV zIHp@(7JP$E*u5C0aOy($yA<3wq8Gf-b>9v?Co|-4QHu!&Ee>WDG!;pqpsVPn9=eAF zH=jpvVKRLtcu3j9?R0ROmQ^B2jLe5-aCyWmbmU(ufKW26>ZmInCetC>(R|IrFY6*+ z5#~-IQo1O=`zlFtLkDg`N<^D+>YYDX+{~xy*JC;r!5yUL#S)277@#^@i`$&&7ALU| zO+&E2Lz5g>6L(;lc@8btpt?{{kd)dv9xdbwCu3B;6~_?zsDhhN>B3W*fawa5N7~Rt z!PPZGOND8Y`9%0AN~bn8S0>SQMWnV_lk%2O8XWaS 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